标题：CICS
国际背景
进入21世纪，美国先后爆发了安然（Enron）、世通（WorldCom）、安达信（ArthurAndersen）等公司欺诈、会计造假而导致公司破产倒闭丑闻，使投资大众遭受巨大的损失。为了加强公司治理，重建投资者的信心，2002年7月，美国国会颁布了《2002年上市公司会计改革和投资者保护法案》（“Sarbanes-0xleyAct”，SOX）亦称《萨班斯-奥克斯利法案》（以下简称《萨·奥法案》），提出了建立以美国反虚假财务报告委员会发起组织委员会（Commission of Sponsoring Organizations，简称COSO）发布的《内部控制——整合框架》为参照基准的内部控制框架体系，旨在强化公司的责任和审计委员会的责任，加强独立审计师的独立性，强化财务披露要求，控制企业风险，提高财务报告的可靠性，增强投资大众的信心。由于该法案80%的内容或措施都与内部控制有关，故也被称为是内部控制法案。
《萨·奥法案》
《萨·奥法案》是1933年以来美国证券立法中影响最深远的法案之一。它导致美国现行证券法、公司法和会计法进行多处重大修改，新增了许多相当严厉的法律规定。例如，延长证券欺诈诉讼的时效期限；加重了公司主要管理者的法律责任；加强了对公司高级管理层收入的监管；对公司内部的审计委员会做出法律规范；强化了对公司外部审计的监管；加强了信息披露制度和其他有关公司监管的规定等。
企业对内部控制的需要
当前，肇始于美国华尔街的由次贷引起的金融危机横扫全球，金融危机的影响正通过国际贸易蔓延到实体经济，直接导致金融机构数以十万计人员的失业，间接引起房地产的贬值和实体经济部门裁员的逐步扩大。这次金融海啸已经使全球的财富损失惨重，随着金融危机肆虐范围的迅速扩大，谁也不知道哪些地方和那些机构将成为下一块倒下的骨牌。
应对次贷危机
次贷危机警示我们：首先，金融创新不能消除风险，只能管理或者转嫁风险，政府监管部门应该加强对像次贷这类衍生产品的前瞻性监管；其次，积极开拓国内市场，有针对性地设计新产品，但是包括金融产品在内的任何创新，其限度必须是市场可以承受的，为此，要严把基础资产的质量关，做好风险控制；第三，现代的风险管理正朝着平衡风险与回报的方向发展。探讨在健全企业风险控制的同时，如何应用信息技术对企业实施风险防范将是一个永恒的主题。
国内规范的出台
2008年6月，在借鉴和吸收国际监管新理念的背景下，中国财政部、审计署、证监会、银监会和保监会五部委联合印发了《企业内部控制基本规范》[1]（财会[2008]7号）。这一被称为中国版《萨 ·奥法案》的《企业内部控制基本规范》是中国第一部加强和完善企业内部控制系统，提高企业经营管理水平和风险防范能力，促进企业可持续发展，维护社会主义市场经济秩序和社会公众利益的重要法规文件。
根据《企业内部控制基本规范》的执行要求，自2009年7月1日起在上市公司范围内施实行，鼓励非上市的大中型企业执行。上市公司应当对该公司内部控制有效性进行自我评估，披露年度自我评价报告，并可聘用具有证券、期货业务资格的会计师事务所对内部控制的有效性进行审计。
优势价值
为了在日趋激烈的企业竞争中立于不败之地，管理层必须在内部控制领域选择专业和技术熟练的个人，聘用有能力而又可以依赖的专业人士。获得国际注册内部控制师资格认证表明证书持有者掌握了内部控制通用知识与技能，具备了内部控制方面的职业胜任能力。
获得国际注册内部控制师职业资格证书，将成为国际内部控制职业团体和工商界人士认可其职业胜任能力的重要凭证，作为管理层的内部控制专家将得到快速的职务晋升和更广泛的认同。此外，复合型人材的内部控制专家的工作也将得到董事会、审计委员会和监事会的高度重视，成为企业最高决策者和监督机构的重要信息来源。
国际注册内部控制师资格认证
国际注册内部控制师资格认证有助于：
⒈ 定义与内部控制职责相关的任务和技能，以评估各项技能的熟练程度；
⒉ 证明个人自我完善提高职业胜任能力的意愿；
⒊ 达到职业胜任能力的认可标准；
⒋ 帮助组织选择和提升合格的员工；
⒌ 激发员工具有内部控制责任，更有效地履行职责；
⒍ 改善和增强组织的内部控制系统；
⒎ 通过专业知识和内部控制实务的技能来改善组织治理的流程；
⒏ 通过改进内部控制流程，强化组织遵从适用法律法规的能力。
认证特点
ICI提供国际注册内部控制师资格证书属于国际公认的职业资格证书。该资格认证体系设立了积极的教育和培训规划，按工商领域内部控制原理与实践来测试职业人员的胜任能力水平。这些原理与实践由ICI认证委员会定义为通用知识与技能体系（CBOK）。ICI认证委员会将定期对通用知识与技能体系进行更新，以反映内部控制环境方面的变化。
国际注册内部控制师职责
国际注册内部控制师是新兴的人才，其主要职责和从事的工作范围包括：内部控制战略的设计、建立内部控制环境、风险评估与风险管理、业务系统与流程的控制评估、内部控制的衡量与报告以及公司治理实务。这些新型的急需人才可以解决企业内部控制系统的设计与执行，建立流程管理信息系统和开展内部控制有效性自我评估和外部审计的人才需求。
由于企业内部控制渗透于整个组织的一系列活动中，内部控制系统建设涉及公司治理、风险管理、质量管理、信息系统、审计监督、企业文化建设等领域，涵盖的知识面广，业务流程复杂，各种技能要求全面，测评方法和测评工具复杂细致，需要整合企业管理、财务会计、信息系统和监控流程等知识和技能。ICI通过定义与内部控制职责相关的任务，收集和整合各种相关知识、法规和信息技术和评估工具，形成了考核和评估国际注册内部控制师的通用知识与技能体系。通过系统化和规范化的培训，使原来掌握某一领域知识技能的审计师、会计师、评估师、经济师、工程师和企业管理人员能系统全面地掌握内部控制设计、执行和保障以及流程管理与评估报告所需的知识与技能。
证书等级
目前，ICI的国际注册内部控制师资格证书分为两个等级：A 级： 高级国际注册内部控制师（CertifiedInternalControlProfessional， 英文缩写 CICP）；B 级：国际注册内部控制师（CertifiedInternalControl Specialist， 英文缩写CICS）。
专业人才区域
迄今为止，获得国际注册内部控制师（CICS/CICP）认证的专业人士不仅来自美国，而且来自其他国家，例如：巴林、中国、埃塞俄比亚、印度、印度尼西亚、约旦、尼日利亚、菲律宾、波多黎各、卡塔尔、阿联酋、英国和越南等国家。
申报条件
目前，ICI 有两种职业证书：国际注册内部控制师（CICS）和高级国际注册内部控制师（CICP）。
一、国际注册内部控制师（CICS) 证书申请者应具备以下条件： 
⒈ 具有公认学院或大学四年的学士学位或同等学历，至少有二年内部控制设计和/或内部控制评估经验。
⒉ 或，具有公认学院的会计、商务管理、工业工程专业的硕士学位或同等学历，一年以上内部控制实际工作经验。
⒊ 或，六年内部控制的工作经验。
⒋ 另外，有学位而没有工作经验的候选人可以先申请考试，在通过 CICS 考试，达到必需的工作经历，经审批合格后授予证书。
二、高级国际注册内部控制师（CICP) 证书申请者应具有以下条件： 
⒈ 具有公认学院或大学四年的学士学位或同等学历，至少有八年内部控制设计和/或内部控制评估经验。
⒉ 或，具有公认学院的会计、商务管理、工业工程专业的硕士学位或同等学历，七年以上内部控制实际工作经验。
⒊ 或，十二年内部控制实际工作经验。
⒋ 或，已经获得 CICS 证书，具有八年专业的内部控制工作经验。
辅导教材
《国际注册内部控制师通用知识与技能指南》是国际注册内部控制师资格认证项目的考试辅导用书，国际内部控制协会（ICI）通过定义与内部控制职责相关的任务，整合企业管理的各种相关知识、法律法规、流程管理及信息系统的监管要求，形成了考核与认定国际注册内部控制师的八大专业知识与技能。书中的内容以《萨班斯－奥克斯利法案》和COSO内部控制框架为基础，对每一技能分类的介绍深入浅出，详尽细致，并配备相关的实务案例、框架、图表、核查清单、治理模型等技术工具.ICI力求通过系统化和规范化的培训，使全球的经济师、质量工程师、审计师、会计师、评估师和企业管理人员能系统全面地掌握内部控制设计、执行和保障以及流程管理与评估所需的知识和技能，成为董事会、审计委员会和监事会高度重视的复合型人才的内部控制专家。此书是一本难得的现代内部控制理论与实务相结合的教科书，以及流程管理与内部控制有效性评估的实务操作工具书。
CICS定义
CICS 全称（CertifiedInternalControl Specialist）是“国际注册内部控制师”的英文缩写。国际注册内部控制师是国际内部控制协会引（InternalControlInstitute，简称ICI）在全球范围推广的职业人才知识体系和认证标准。该资格认证体系建立了全球内部控制职业人士最初的资格标准和职业胜任能力持续改进的要求。它正式承认资格证书持有者具有内部控制通用知识与技能体系（Common Body of Knowledge，简称CBOK）所阐述的学科知识与技能的胜任能力。具备这种胜任能力使国际注册内部控制师为协助组织设计、执行和评估内部控制系统，以及协助管理部门设置控制流程做好了各种准备。　
CICS 是一系列为 IBM 和非 IBM 平台上的应用提供联机事务处理和事务管理的产品，其功能是为商业应用提供一个事务处理环境。CICS其全称是 Customer Information Control System，即客户信息控制系统。
CICS 建立在操作系统、ISO的分布式计算环境 （DCE，Distributed Computing Environment） 和 Encina 服务上，它帮助客户建立三层次结构的联机事务处理应用。CICS 为应用程序开发、通信、恢复、显示、数据管理、安全性和内部通信等提供很多项服务。
CICS 可以与 DCE 紧密结合，以满足分布式环境对于安全性，名字服务等的特殊需求。
CICS 的结构设计也是面向事务处理的，CICS 构建的是一个三层次结构的应用系统，CICS 有效地区分应用系统中的表述逻辑层、业务逻辑层和数据逻辑层，从而使应用系统结构清晰，维护简单易行。
目前，在IBM的全系列计算机系统中均有相应的 CICS 产品，如OS/390、MVS/ESA、VSE/ESA、OS/400、OS/2，并扩展到其它厂商的系统中，如HP、DEC、SUN等等。
CICS常用命令列表
cicscp
说明：CICS 控制程序，可用于创建、删除、启动、停止DCE，SFS服务器，CICS Region和PPC gateway
eneral cicscp usage:
cicscp [-?|([<common_options>] [<command> <noun_phrase> <specific_options>])]
where common options are:
-I - ignore errors
-l logfile - log progress messages to file
-v - produce more verbose output
Specific commands are:
version:
version 
create COBOL:
create cobol
destroy COBOL:
destroy cobol
create SNA:
create sna -d <Control Point Name>
-w <Local Network Name>
-x <；ⅪD Node ID>
-y <Link Station Type>
[-q <Link Station Name>]
[-s <Link Station Address>]
[-b <Local Secondary Station Address>]
destroy SNA:
destroy sna [-f]
start SNA:
start sna [-f]
stop SNA:
stop sna [-f]
create telnet server:
create telnet_server <server> [-P <port>]
[-c <client codeset>]
[-e <emulation>]
[-h <host list>]
[-l <locale>]
[-m <model>]
[-n <netname>]
[-r <region>]
[-s <server codeset>]
[-t <transaction>]
destroy telnet server:
destroy telnet_server <server> [-f]
create SFS server:
create sfs_server <server> [-m <model>]
[attribute overrides for SSD stanza]
destroy SFS server:
destroy sfs_server <server> [-f]
start SFS server:
start sfs_server <server> [attribute overrides for SSD stanza]
stop SFS server:
stop sfs_server <server> [-f]
status SFS server:
status sfs_server <server>
stop sfs_server all
create PPC gateway server:
create ppcgwy_server <server> [-m <model>]
[attribute overrides for GSD stanza]
destroy PPC gateway server:
destroy ppcgwy_server <server> [-f]
start PPC gateway server:
start ppcgwy_server <server> [attribute overrides for GSD stanza]
stop PPC gateway server:
stop ppcgwy_server <server> [-f]
status PPC gateway server:
status ppcgwy_server <server> 
status ppcgwy_server all 
create SNA link:
create sna_link [<Link Station Name>]
-y <Link Station Type>
[-s <Link Station Address>]
[-b <Local Secondary Station Address>]
destroy SNA link:
destroy sna_link <Link Station Name> -y <Link Station Type>
create region (SFS):
create region <region> [-g <group-id>]
[-i <infile>]
[-l <c|m|o|r>]
[-d]
create region (DB2）：
create region <region> [-g <group-id>]
[-i <infile>]
[-l <c|m|o|r>]
[-a <alias> -o <instance>
[-u <user[,passwd]>] [-n|-s]]
create region (ORACLE):
create region <region> -o ORACLE
[-g <group-id>]
[-i <infile>]
[-l <c|m|o|r>]
[-u <user[/passwd]>] [-n|-s]
destroy region (SFS):
destroy region <region> [-f] [-s]
destroy region (DB2）：
destroy region <region> [-f] [-s [-u <user[,passwd]>]]
destroy region (ORACLE):
destroy region <region> [-f] [-s [-u <user[/passwd]>]]
start region:
start region <region> [-d <distributed servers>]
[attribute overrides for RD stanza]
stop region:
stop region <region> [(-c | -f)]
status region:
status region <region>
status region all
destroy all:
destroy all [-f]
start all:
start all
stop all:
stop all
status all:
status all
使用举例：
⒌1版本以前：
创建DCE
cicscp –v create dce -R
删除DCE:
cicscp -v destroy dce
创建Region:
cicscp -v create region CICSRGN1
启动SFS 服务器：
cicscp -v start sfs_server /.:/cics/sfs/SFS_SERV
cicsadd
说明：添加CICS资源定义
Usage: cicsadd {-?|-c className [-r regionName] [-P|-B] [-f fileName] [-m modelId] resourceName [[attributeName=attributeValue]...]}
使用举例：
以下命令在CICSRGN1中增加一个通讯定义。
cicsadd -r CICSRGN1 -B -c cd CD01 ConnectionType=cics_tcp \
RemoteTCPAddress="9.181.108.37" RemoteTCPPort=1436 \
ListenerName="lsnr1"
cicsget
说明：察看CICS资源定义
Usage: cicsget {-?|-c className [-r regionName] [-f fileName] {-l|-s [resourceName]|[resourceName]}}
使用举例：
以下命令察看CICSRGN1中名为CICSTEST的程序定义
cicsget -c pd -r CICSRGN1 CICSTEST
cicsupdate
说明：更改CICS资源定义的某个属性
Usage: cicsupdate {-?|-c className [-r regionName] [-P|-R|-B] [-f fileName] [resourceName] [[attributeName=attributeValue]...]}
使用举例：
以下命令更改CICSRGN1 CPMI交易的属性Permanent为no，RSLCheck为none
cicsupdate -r CICSRGN1 -B -c td CPMI Permanent=no RSLCheck=none
cicsinstall
说明：把一组资源定义安装到CICS Region的运行库中。
Usage: cicsinstall {-?|[-v] [-r regionName] {-a | -g groupName [groupName...] }}
使用举例：
把GROUP1中的所有资源定义安装到CICSRGN1的运行库中：
cicsinstall -r CICSRGN1 -g GROUP1
cicsdelete
说明：删除CICS Region某个资源定义
Usage: cicsdelete {-?|-c className [-r regionName] [-P|-R|-B] [-f fileName] resourceName [resourceName...]}
使用举例：
删除CICSRGN1中名字为CICSTEST的PD定义：
cicsdelete -c pd -r CICSRGN1 -B CICSTEST
删除CICSRGN中名字为ABCD的TD定义：
cicsdelete -c td -r CICSRGN1 -B ABCD
cicsexport
说明：导出Region资源定义
Usage: cicsexport {-?| [-r regionName] [-o outFile] [-t temporaryWorkspace] [-l className...]}
使用举例：
以下命令导出Region CICSRGN1的定义到CICSRGN1.dmp文件：
cicsexport -r CICSRGN1 -o CICSRGN1.dmp
cicsimport
说明：导入Region的资源定义
Usage: cicsimport {-?| -r regionName [-g groupName] [-i inFile] [-l m|o] [-v] [-F] [-o] [-B]}
使用举例：
以下命令导入一个名为CICSRGN1的Region，-S参数表示不使用DCE服务器
cicsimport -r CICSRGN1-i CICSRGN1.dmp-S
cicsmigrate
说明：创建用于移植CICS资源定义的移植脚本
Usage: cicsmigrate {-?|[ -r regionName | -s | -c | -p | -m ] -g fileName -o logFileName}
使用举例：
以下命令为Region CICSRGN1创建移植脚本，输出文件为CICSRGN1 .sh
cicsmigrate -g CICSRGN1 .sh -o log1 -r CICSRGN1
在K Shell下运行CICSRGN1 .sh脚本
ksh CICSRGN1 .sh
cicslssrc
说明：在Open平台察看cics 子系统的状态
使用举例：
cicslssrc -a
cicsnotify
说明：释放异常停止的Region所持有的资源
使用举例：
cicsnotify cics. CICSRGN1
cicsdfmt

CICS 常用通讯错误解释
通讯错误的格式
CICS通讯错误通常在CSMT.out中报出，格式如下：
ERZ027030E/3011 Communications error primaryCode/secondaryCode on connection to system 'sysId' occurred during remote command command 
这条错误信息中，primaryCode是主错误码，其中15a是模块代号。secondaryCode是二级错误码。通过primaryCode和secondaryCode可以了解到出现错误的原因。以下为文档中通信错误的详细说明：
15a00007/a0000100 
解释
Connection failed
如果使用LINK,Response Code是Terminal Error
原因：
在主调方达到TD Timeout后，远端region交易仍然在执行中，没有返回
15a00007/84b6031
解释
Transaction Not Available
如果使用LINK,Response Code是Terminal Error
原因
例如对方交易设置了TD的TClass，且改类交易ClassMaxTasks和ClassMaxTaskLim到达上限，直接被远端region拒绝，主调方报出该错误。
15a00007/8640000
解释
这个错误码不一定都对应A27K
Remote Tansaction Abend
如果本地使用LINK，本地交易Abend
原因
远端交易Abend
#define COMDL_SUB_ALLOC_PIP_ILLEGAL EIBERRCD_PIP_ILLEGAL
#define COMDL_SUB_ALLOC_PIP_MALFORMED EIBERRCD_PIP_INVALID
#define COMDL_SUB_CONN_FAILURE EIBERRCD_CONN_FAIL
#define COMDL_SUB_CONV_TYPE_MISMATCH EIBERRCD_MISMATCH
#define COMDL_SUB_DEALLOC_ABEND EIBERRCD_ABEND
#define COMDL_SUB_DEALLOC_ABEND_SVC EIBERRCD_ABEND_SVC
#define COMDL_SUB_DEALLOC_ABEND_TIMER EIBERRCD_ABEND_TIMER
#define COMDL_SUB_SECURITY_INVALID EIBERRCD_SECURITY_INVALID
#define COMDL_SUB_SYNC_NOT_SUPPORTED EIBERRCD_SYNC_NOT_SUPPORTED
#define COMDL_SUB_TPN_NOT_AVAIL EIBERRCD_TPN_FAIL
#define COMDL_SUB_TPN_NOT_AVAIL_RETRY EIBERRCD_TPN_NOT_AVAIL
#define COMDL_SUB_TPN_UNKNOWN EIBERRCD_UNKNOWN_TPN
/* Values which can be held by EIBERRCD */
#define EIBERRCD_SYNC (0x08240000)
#define EIBERRCD_ABEND (0x08640000)
#define EIBERRCD_ABEND_SVC (0x08640001）
#define EIBERRCD_ABEND_TIMER (0x08640002）
#define EIBERRCD_ERROR (0x08890000)
#define EIBERRCD_MISMATCH (0x10086034）
#define EIBERRCD_PIP_ILLEGAL (0x10086031）
#define EIBERRCD_PIP_INVALID (0x10086032）
#define EIBERRCD_SECURITY_INVALID (0x080f6051）
#define EIBERRCD_SYNC_NOT_SUPPORTED (0x10086041）
#define EIBERRCD_UNKNOWN_TPN (0x10086021）
#define EIBERRCD_CONN_FAIL (0xA0000100）
#define EIBERRCD_CONN_FAIL_RETRY (0xA0000100）
#define EIBERRCD_TPN_NOT_AVAIL (0x084b6031）
#define EIBERRCD_TPN_FAIL (0x084c0000)
EIBERRCD 
This EIB field when EIBERR is set,contains the error code that has been received. The following values can be returned in the first two bytes of EIBERRCD: 
· X'0824' SYNCPOINT ROLLBACK was requested. 
· X'0864' ISSUE ABEND was received. 
· X'0889' ISSUE ERROR was received. 
· X'A000' The conversation was lost.