Resource Definition (Macro)
Version 2 Release 3
Document Number SC33-0709-02
Program Number 5686-026
1.0 Introduction
RDO(Resource Definition Online)可以定义program、mapsets、partition sets、transactions、profiles、VTAM terminals、link and sessions with MRO (Multiregion Operation) and ISC(Intersystem communication) systems.其他资源的定义必须通过MACRO方式定义。PRD1.BASE IS PREDEFINED CICS LIB。
1.1 CICS resources
1.1.1 CICS resources Networks Terminals Databases Data files Journals Programs Transactions User profiles Queues.
1.1.2 Introduction to CICS control tables RDO方式可以定义如下内容:PPT、PCT、TCT(VTAM终端、基于LU6.1 6.2的MRO和ISC连接) 表名 定义内容 Application load table Loading requirements for resident programs Command list table Sets of commands and messages for an XRF takeover Destination control table Extrapartition, intrapartition, indirect destinations, and remote File control table Files, VSAM LSRPOOLs, and data tables Journal control table The system log and user journals Monitoring control table Monitoring activity Nucleus load table CICS module loading requirements Program control table Transactions and profiles Program list table Sets of related programs Processing program table Programs, mapsets, and partition sets Signon table Authorized users System initialization System startup parameters table System recovery table Alternative recovery processes Terminal control table Terminal network Terminal list table Sets of related terminals Temporary storage table Special processing for temporary storage Transaction list table Sets of related transactions 1.1.2.1 Application load table 通过指定程序加载顺序、加载程序属性、选择使用共享虚存(Shared virtual area)的程序使得虚存更加有效使用。
1.1.2.2 Command list table
如果使用XRF(Extended recovery facility)则必须有CLT定义,CLT只被alternate CICS system使用,它包括一些传递给POWER和VSE执行的命令,以及可以被alternate CICS system cancel的那个CICS的job name。CLT对于MRO配置很有用处。
1.1.2.3 Destination control table
DCT定义extrapartition、intrapartition、indirect destination。
1.1.2.4 File control table 1.1.2.5 Journal control table 1.1.2.6 Monitoring control table
MCT定义each user event monitoring point (EMP)所激发的动作,以及收集到的数据储存在什么地方
1.1.2.7 Nucleus load table
功能类似于ALT,可以选择在虚存中只读的modules。
1.1.2.8 Program control table 1.1.2.9 Program list table
The program list table (PLT) contains a list of related programs. You might want to generate several PLTs to specify lists of programs that are to be executed in the post-initialization phase of CICS startup, executed during the first or second quiesce stages of controlled shutdown, or both, or enabled or disabled as a group by an ENABLE or DISABLE command
1.1.2.10 Processing program table 1.1.2.11 Signon table
定义CSSN和CESN所使用的用户、密码、安全级别等。
1.1.2.12 System recovery table
定义系统截取的abend code以及特定abend code时运行的代码,该代码可以是IBM提供的,也可以是用户自己的。
1.1.2.13 Terminal control table 1.1.2.14 Terminal list table
TLT可以将终端和操作员代码逻辑分组。CEST可以用TLT来定义或者限制操作员可以进行的操作,CEMT也同样。
1.1.2.15 Temporary storage table
应用程序可以将数据放在Temporary storage中以备后用,但是如果系统非正常终端后重新启动,那些Temporary storage中的需要恢复的数据就必须在TST中定义
1.1.2.16 Transaction list table
The transaction list table (XLT) is a list of logically-related transaction identifiers. XLT defines a list of transaction identifiers that can be initiated from terminals during the first quiesce stage of system termination, or a group of transaction identifications that can be disabled or enabled through the master terminal.
1.1.2.17 A note on the system initialization table and the data
conversion table
DFHCNV用来进行EBCDIC码和ASCII码之间的转换
1.2 Resource definition with macros
1.2.1 TYPE=INITIAL macro
CICS通过DFHVM宏给各个Table生成入口地址,其开始标志就是TYPE=INITIAL宏定义
1.2.2 TYPE=FINAL macro
TYPE=FINAL必须是汇编语句END之前的最后一个宏语句
1.2.3 Format of macros 1.2.4 Syntax notation
2.0 Macro reference information
2.1 ALT (application load table)
所有ALT表中定义的程序都将按照表中定义的顺序常驻内存,ALT是可选的;ALT中的程序将首选被CICS载入内存,然后其他的常驻内存程序才会按照GRPLIST参数中指定组的顺序依次装载。组内按照字母顺序装载(如果有PPT定义则按照PPT顺序装载)
ALT对性能的影响很大:在CICS2.1版之前,程序载入是异步的,且只影响到发起请求的事务;2.2版之后,将程序载入16MB之上是由VSE CDLOAD完成的,这是同步完成的并且影响到整个CICS的载入过程。用户可能会考虑到通过ALT将比较大的程序“预载“。
2.1.1 Elements of DFHALT
ALT中支持三类宏表达:
控制节:DFHALT TYPE=INITIAL
程序装载顺序:DFHALT TYPE=ENTRY 结束节:DFHALT TYPE=FINAL
2.1.2 Control section--DFHALT TYPE=INITIAL
2.1.3 Program load sequence--DFHALT TYPE=ENTRY
DFHALT TYPE=ENTRY
,PROGRAM=(NAME[,…])
[,ALIGN={NO|ENTRY|YES}]
[,CLASS={SPECIFIC|GENERIC}] [,FIX={NO|YES}]
[,PAGEOUT={NO|YES}]
ALIGN: 程序是否需要进行页面调整(PAGE-ALIGNMENT)
NO:缺升值,不调整; ENTRY: ????? YES: ?????
CLASS:该ENTRY中的程序名是指定还是通用
SPECIFIC:该程序按照在PPT或者CSD中的定义参数加载
GENERIC:所有PPT和CSD中定义的以该ENTRY中PROG NAME CHARACTER开始的通配程序均按照该ENTRY中的参数加载。
FIX:该程序是否需要页面修复(PAGE-FIXED)
PAGEOUT:该程序不用的时候,CICS是否将之移到实存之外 PROGRAM: 每个名字产生一个条目(entry)
2.2 CLT (command list table)
CLT用于CICS的XRF(extended recovery facility),该表必须编译为可重入的,且只需要在后备CICS(alternate CICS)中建立该表即可。
CLT中包含了在系统接管过程中的VSE系统命令和信息,比如说:可以通过命令来通知后备CICS在系统切换后保持与原来CICS一样的MRO连接配置。为了防止在系统接管(Takeover)过程中不正确的job被cancel,CLT中还包括了允许cancel的作业名。
2.2.1 DFHCLT macro types
DFHCLT TYPE=INITIAL DFHCLT TYPE=LISTSTART DFHCLT TYPE=COMMAND DFHCLT TYPE=WTO DFHCLT TYPE=LISTEND DFHCLT TYPE=FINAL
2.2.2 Control section--DFHCLT TYPE=INITIAL
2.2.3 Specifying alternate systems--DFHCLT TYPE=LISTSTART
定义后备CICS在接管活动CICS时提交的命令和信息的开始,即使不必有命令和信息提交也必须有CLT定义以确保授权检查可以进行。
Label DFHCLT TYPE=LISTSTART
,FORALT=((applid1,jnmname1) [,(applid2,jnmname2),…])
FORALT:指定后备和活动CICS对。
Applid1:
后备CICS名,该名必须是SIT表中APPLID=(generic,specific)参数指定的
Jnmname1:
活动CICS名,该名必须是活动CICS的POWER JOBNAME。
2.2.4 Specifying takeover commands--DFHCLT TYPE=COMMAND 该宏定义不是必须的,比如后备CICS指定参数TAKEOVER=AUTO且没有MRO连接。格式如下:
Label DFHCLT TYPE=COMMAND
,COMMAND=command-string
最常用的命令是CEBT PERFORM TAKEOVER
2.2.5 Messages to the operator--DFHCLT TYPE=WTO 格式:
label DFHCLT TYPE=WTO
,WTOL=addr
addr WTO ‘message to operator’
[,ROUTCDE=(number)] [,DESC=(number)] ,MF=L
2.2.6 Closing the command list--DFHCLT TYPE=LISTEND 2.3 DCT (destination control table)
DCT包含为Transient data destination定义的条目,Transient data destination分为intrapartition、extrapartition、indirect、remote。每一种类型定义不同的宏。
2.3.1 DFHDCT macro types(???EXTRA和REMOTE区别)
DFHDCT TYPE=SDSCI定义Extrapartition的数据访问控制块。 DFHDCT TYPE=EXTRA定义Extrapartition
DFHDCT TYPE=INDIRECT定义Indirect destination:指向另一个目标的逻辑目标,这样多个逻辑目标可以公用一个物理目标 DFHDCT TYPE=INTRA定义在该CICS之内的目标
DFHDCT TYPE=REMOTE定义被其他CICS控制的目标
2.3.2 Control section--DFHDCT TYPE=INITIAL
DFHDCT TYPE=INITIAL
[,SEPASMB={NO|YES}] [,SUFFIC=xx]
[,TRNSUFX=(xx[,xx],…)]
SEPASMB:生成一个完全的DCT还是只生成Extra destination
的数据访问控制块(Data access control blocks)
2.3.3 Data set control information--DFHDCT TYPE=SDSCI
所有的SDSCI都必须紧接着INITIAL定义,它定义
Extrapartition transient data destination的控制信息。
一个extrapartition destination必须在PPT中定义一个条目,每一个瞬时数据访问控制块都必须定义一个独立的DFHTRNxx表,后缀xx由DCT表中TYPE=SDSCI中的SUFFIX定义。
DFHDCT TYPE=SDSCI
,DSCNAME=name [,BLKSIZE=length] [,BUFNO={1|2}]
[,CTLCHR={YES}ASA]]
[,DEVADDR=symbolic-address]
[,DEVICE={DISK|TAPE|printer-number}] [,ERROPT={IGNORE|SKIP}] [,FILABL={NO|STD}] [,MODENAME=name]
[,RECFORM={FIXUNB|FIXBLK|VARUNB|VARBLK}]
[,RECSIZE=length]
[,REWIND={NORWD|UNLOAD}] [,SUFFIX=xx] [,TPMARK=NO]
[,TYPEFLE={INPUT|OUTPUT|RDBACK}]
BLKSIZE=length:
单位长度-字节;
对于磁盘输出数据,必须额外加8个byte给IOCS;
对于变格式数据,每一个块有一个块描述字,4个字节,其后有一个到多个的逻辑纪录; CTLCHR={YES|ASA}:
TYPEFLE={INPUT|OUTPUT|RDBACK}:
指定data set的类型,input、output或者input且可roll back TPMARK={YES|NO}
是否在数据的开始要写带标(tapemark) SUFFIX=xx:
对应DFHTRNxx的后缀名 RECFORM:
数据格式是否定长(FIX OR VARIABLE)、是否BLOCKED MODNAME:
???
FILABL={NO|STD}
Code this with the type of label on tape data sets.
2.3.4 Extrapartition destinations--DFHDCT TYPE=EXTRA
Extrapartition data 是顺序结构,且被QSAM管理
2.3.5 Indirect destinations--DFHDCT TYPE=INDIRECT
2.3.6 Intrapartition destinations--DFHDCT TYPE=INTRA
Intrapartition data必须指定一个triger level和triger transaction,triger level就是该data set中的纪录数,当data set中的纪录数目达到指定的level则激发指定的transaction。
一个Intrapartition data可以是终端、文件或者其他系统,可以通过DESTFAC参数指定。
用参数DESTRCV指定intrapartition data set的recovery属性:逻辑可恢复、物理可恢复、不可恢复。
2.3.7 Remote destinations--DFHDCT TYPE=REMOTE
如果在CICS语句中指定OPTION参数,则该Destination不必在DCT中定义而直接作为Remote destination。
DFHDCT TYPE=REMOTE
,DESTID=name ,SYSIDNT=name [,LENGTH=length]
[,RSL={0|number|PUBLIC}] [,RMTNAME=name]
DESTID:远程目标的本地名称
SYSIDNT:远程系统名称,必须和CONNECTION选项一样值 LENGTH:长度,字节单位
RMTNAME:目标在远程系统中的名称
2.3.8 How to define nonresident extrapartition data sets 2.3.9 DFHDCT examples
2.3.10 Required entries in the destination control table
有些CICS提供的Transaction需要某些DCT资源
2.4 FCT (file control table)
FCTdefine file that managed by CICS file management. CICS file management processes only VSAM and DAM data sets,any sequential data sets must be defined as extrapartition destination by using the DFHDCT macros in DCT.
FCT also defines the VSAM local shared resource pools(LSRPOOL).
2.4.1 DFHFCT macro types
TYPE={CICSTABLE|SERTABLE} defines a data table
TYPE=FILE定义一个文件的属性,如访问方法、服务方式等 TYPE=DATASET是为了兼容以前版本的FILE定义 TYPE=REMOTE定义远程文件
2.4.2 Control section--DFHFCT TYPE=INITIAL 2.4.3 DFHFCT TYPE={CICSTABLE|USERTABLE}
格式:
DFHFCT TYPE={CICSTABLE|USERTABLE}
,ACCMETH=VSAM ,FILE=name
[,SIZE={100000|number}] [,VSIZE={256|number}]
[,FILSTAT=({ENABLED|DISABLED|UNENABLED}
,{OPENED|CLOSED})] [,JID={NO|SYSTEM|nn}]
[,JREQ={ALL|(request[,request,…])}] [,LOG={NO|YES}]
[,RECFORM=[{VARIABLE|FIXED}BLOCKED]] [,RSL={0|number|PUBLIC}]
[,SERVREQ=(request[,...request]) [,DSNSHR={ALL|UPDATE}] [,BASE=name]
[,LSRPOOL={1|number}] [,PASSWD=password] [,STRNO={1|number}]
TYPE={CICSTABLE|USERTABLE}:
CICS-maintained or USER-maintained data table ACCMETH=VSAM:
Data table只允许用VSAM方式 BASE=name:
为data set指定一个为共享用的名字,为共享data set而指定data set名的文件都必须指定同样的BASE值 DSNSHR={ALL|UPDATE}:
如果多个文件共享一个公共data set资源并且同时打开,则用该参数指定共享类型。在这多个文件中,只能有一个被定义为CICS维护的data table,一个CICS维护的data table在打开后它与原data set的连接就会一直保持。如果这个CICS维护的data table被定义为可以update并且有其他的data table也可以更改它的原data set,那么这个CICS维护的data table就不许指定DSNSHR参数。 指定DSNSHR参数就必须指定BASE参数。
ALL---只要文件open就将共享data set的ACB设置 UPDATA—文件以写方式打开data set,则设置其ACB JID={NO|SYSTEM|nn}:
是否为该条目作journal,以及journal纪录的位置 JREQ=ALL|request
指定对该条目的那些动作记journal,并且指定journal为同步还是异步。 SIZE={100000|number}
指定在table中允许的最大条目数 VSIZE={256|number}
指定table的spaces,以KB为单位
STRNO={1|number}
指定一个文件可以处理的并发请求。如果并发请求超过该指定值,那么CICS会按将后来的请求排队,直到有活动的请求终止。?????
2.4.4 Local files--DFHFCT TYPE=FILE
BUFND是VSAM数据文件的BUFFER数目; BUFNI是VSAM索引数据的BUFFER数目;
有些参数是对于DAM(Direct Access Method)文件特有的,如:
VERIFY:DAM数据写入以后是否需要作奇偶校验
2.4.5 Remote files--DFHFCT TYPE=REMOTE
LRECL=length:指定本地发送给远程系统READ WRITE REWRITE请求时的record data length。
2.4.6 VSAM shared resources control--DFHFCT TYPE=SHRCTL
用来定义LSR pool,该pool在属于该pool的第一个文件打开时建立,这个时候,参数STRNO、BUFFERS和KEYLEN必须指定,这些参数在POOL定义语句TYPE=SHRCTL中定义,如果没有指定,系统会根据FCT中使用该POOL的文件的来计算该POOL的大小。这样会比较慢。
如果通过EXEC CICS SET FILE LSRPOOLID命令改变文件的POOL属性那么可能导致文件打开失败或者系统并发性能降低。因此建议用户明确指定对POOL的要求从而avoid the overhead of pool requirement calculation。 格式如下:
DFHFCT TYPE=SHRCTL
[,BUFFERS=(size(count)[,…])] [,KEYLEN=number]
[,LSRPOOL={1|number}] [,RSCLMT=number] [,STRNO=number]
BUFFERS=(size(count)):
该参数将覆盖CICS对pool的空间计算,size必须为512,1024,2048,4096,8192,12288,1638,20480,24576,28672 OR 32768,count必须大于3小于32768。 KEYLEN=number:
It specifies the maximum key length in bytes of any of the files that are to share resources. If not coded, CICS determines the maximum key length. RECLMT=number(1-100) ??????
Code this if CICS is to calculate the maximum amount of resources required by the VSAM files that are to share resources. Because these resources are to be shared, some percentage of this maximum amount of resources must be allocated. The RSCLMT operand specifies, as an integer, the percentage of the maximum amount of VSAM resources to be allocated. If this parameter is omitted,
fifty percent of the maximum amount of resources are allocated. 如果指定了STRNO和BUFFERS,那么RSCLMT参数就不起作用了。
2.4.7 DFHFCT examples
2.5 JCT (journal control table)
2.5.1 Elements of DFHJCT
2.5.1.1 Journal devices
日志设备可以是磁带和磁盘,设备要选用写入速度较快的。 磁带设备在journal关闭或者写数据到尾时会自动unload,如果有多个磁带用来做磁带系统会在一个磁带写满以后自动切换到下一个磁带。
磁盘journal data set在写满以后会重头写入,多个data set则会交替重写。如果在DFHJCT TYPE=ENTRY中指定参数 JOUROPT=PAUSE,那么该data set在重写之前会在控制台高亮并请操作员确认是否重写。
磁盘日志数据集必须用DFHJCJFP工具初始化,磁带日志数据集则用DFHFTAP工具初始化。
2.5.1.2 Buffer size
日志纪录是块化、变长的纪录,每一个块的第一个纪录是CICS写的块标纪录,每一个日志纪录还会被加入一个系统前缀,Buffer的大小由参数BUFSIZE指定,最小为256字节,最大不过32760字节或者一个Track的容量。(该部分内容没有细看)
2.5.2 Control section--DFHJCT TYPE=INITIAL 2.5.3 Journal entries--DFHJCT TYPE=ENTRY
每一个日志都必须在JCT中有一个ENTRY描述 DEVADDR=(SYSnnn(SYSmmm))
表明日志设备的逻辑地址,如果是两个设备则用SYSmmm表示第二个设备的地址 FORMAT=SMF
表示日志数据是否遵循SMF格式 JFIELD={SYSTEM|nn}
标志日志类型,SYSTEM表示系统日志,nn(2-99)表示用户日志
JOUROPT=([CRUCIAL][,INPUT][,PAUSE][,RETRY]) CRUCIAL表明如果发生日志数据I/O错误,CICS该采取的动作。
INPUT表明在系统运行期间该日志是否允许读取,该选项对系统日志是必须的;SMF格式的日志不得使用该选项 PAUSE表明在日志重写之前必须操作员确认 RETRY表明输出错误发生后自动重试 JTYPE={TAPE1|TAPE2|DISK1|DISK2}
表明日志设备类型,磁带还是磁盘,一个还是两个
OPEN={INITIAL|DEFERRED}
表明日志文件打开的方式,INITIAL表示在CICS系统初始化以后就打开该日志,DEFERRED表示在系统初始化以后由事务打开或者由PLT表中定义的程序打开 SYSWAIT={STARTIO|ASIS}
表明是否在CICS管理模块发出日志请求以后就同步进行日志I/O操作。该请求对用户的日志请求没有作用
2.5.4 DFHJCT example
2.6 MCT (monitoring control table) 2.7 NLT (nucleus load table)
NLT表通过指定CICS核心程序的装载顺序,使得虚存的使用更加合理,以提高系统的性能。该表是可选的,如果SIT表中NLT=NO则表明使用系统确省的NLT,否则使用用户指定的NLT,系统将按照用户NLT表中指定的顺序装载指定的核心程序,表中未指定的核心程序将在之后按照确省的顺序载入。
2.7.1 Elements of DFHNLT 2.7.2 Default load order
没有使用共享虚空间(SVA-Shared Virtual Area)的核心程序将按照地址从低到高来装载,顺序如下:(省)
2.7.3 Use of the shared virtual area
很多CICS核心程序是只读的,可以考虑把他们放到SVA中,此时NLT表中的选项ALIGN和FIX不起作用
2.7.4 Control section--DFHNLT TYPE=INITIAL
2.7.5 Module load sequence--DFHNLT TYPE=ENTRY
ALIGN={NO|ENTRY|YES}表明是否需要对该Module作页边界调整,ENTRY表示该Module的entry point作页边界调整 FIX={YES|NO}表明该Module是否需要在实存中作page-fixed,该选项需小心使用,否则会降低实存的可用性进而降低系统的可用性
2.8 PCT (program control table)
2.8.1 Elements of DFHPCT
TYPE=ENTRY:本Region中使用的事务定义
TYPE=GROUP:使得对CICS定义的事务更容易定义 TYPE=OPTGRP:定义消息保护选项
TYPE=PROFILE:定义SESSION的处理选项
TYPE=REMOTE:定义远程CICS或者REGION中的事务
2.8.2 Control sections--DFHPCT TYPE=INITIAL
DTB={YES|NO|(YES,NO)|(YES,WAIT)}表示该pct表中的事务缺省是否支持DTB(Dynamic transaction backout),具体到一个事务的定义可以覆盖该缺省选项
EXTSEC={NO|YES}是否需要给该表中定义的事务使用外部的安全管理器,否则缺省的使用CICS提供的安全工具,具体到某个事务可以定义参数TRANSEC来覆盖该定义
FDUMP={(ASRA,ASRB)|{ASRA|ASRB}} ASRA表示如果在SIT
表中指定PCDUMP=YES,那么事务中发生数据例外ASRA则产生一个DUMP,ASRB表示如果在SIT表中指定ABDUMP=YES,那么事务中发生ASRB ABEND则产生一个DUMP。
SCRNSZE={DEFAULT|ALTERNATE}表示该事务在指定终端运行时采用的屏幕格式(SCREE SIZE),该参数也指定3270数据流的打印缓冲;具体屏幕格式由该终端的TCT表定义约定 TRANSEC定义由TYPE=GROUP所定义的事务的安全级别,具体有如下格式:
([MASTER(nn)][,SVR(nn)][,FE(nn)][,EDF(nn)][,INTERPRETER(nn)] [,MIRROR(nn)][,ROUTING(nn)][,RDO(nn)]) 含义如下:
MASTER - master terminal facility (CEMT or CSMT) SVR - supervisor functions (CEST or CSST)
FE - field engineering terminal test facility and facility error recognition system (FERS)
EDF - execution (command-level) diagnostic facility INTERPRETER - command interpreter (CECI) MIRROR - mirror transaction (CSMI) ROUTING - routing transaction (CRTE)
RDO - resource definition transaction (CEDA).
2.8.3 Transaction control information--DFHPCT TYPE=ENTRY
有些CICS提供的事务也需要在PCT中定义ENTRY,但是大多数只需要定义GROUP即可,一个PCT中定义的条目不得超过4000条。
ANTICPG={NO|nn|YES}是否要在任务控制域(TCA-Task Control Area)、数据域和应用程序上完成预定的页调整,nn(1-15)表示为TCA和数据域作页调整所要求的连续的页数量。 DTB解释见2.8.2
DTIMOUT={NO|numeric-value}指定一个TASK在死锁并超时以后是否自动被终止,numeric-value格式为mmss(munitue and second),缺省为NO,一个task超时以后会接到AKCS的abend code。
DUMP={YES|NO}-TASK在异常终止后是否需要产生一个DUMP,该选项对EXEC CICS DUMP命令无作用,该命令总是产生一个DUMP。
DVSUPRT={ALL|NONV|VTAM}指定task可以运行在那些终端和逻辑单元上,NONV表示只运行在非VTAM终端上。
INBFMH={EODS|ALL|DIP|NO} (VTAM only)指出从逻辑单元中接收到的功能管理头(FMH-Function Management Header)是否传送到应用程序的TIOA(Terminal Input/Output Area)中,EODS指只有表示数据尾(End Of Data Set)的FMH才传送;DIP指由批数据交换程序DFHDIP来处理该FMH
LOGREC={NO|YES} (VTAM only)指出应用程序的每一个
EXEC CICS RECEIVE请求都必须给以满意的逻辑纪录,该选项可以使得基于2770、2780的应用程序不必修改就可以在batch loginc unit上运行。
MODENAM=modename (VTAM only)为应用中通过EXEC CICS START分配APPC Session时指定modename,如果没有指定或者指定的modename和start命令中的termid参数指定的modename不匹配,那么系统自动从正确的group中选择。 MSGJRNL={INPUT|OUTPUT|(INPUT,OUTPUT)} (VTAM only)表示如果该事务在逻辑单元上运行的时候是否自动journal。 NEPCLAS={0|integer} (VTAM only)为Node error program module(DFHZNEP)所对应的事务定义级别,有效值1-255。 OPTGRP=name (VTAM only)指定该事务所用的Message option group(通过DFHPCT TYPE=OPTGRP来定义该Group)。
PARTSET={psetname|KEEP|OWN}指定Partiton set,在该事务输出第一个BMS之前CICS自动破坏已经存在的Partition并装载指定的Partition set。
PTRCOMP={NO|YES}为数据流定义兼容级别,为支持BMS文本的打印机兼容选项。NO-每一行输出之前加入一个空格,这样该格式就等同于在3270终端上每一行之前插入一个属性字节(注意这个时候可用的打印列数要减少)
RAQ={NO|YES} (VTAM only)是否要求Read-ahead queueing option。NO-事务遵循SNA协议,该模式下只有SEND和RECEIVE,否则就会报abend ATCV;YES-违反SNA协议,CICS将收到的数据放到队列中直到事务发出访问请求。RAQ=YES值用于该事务同时支持逻辑单元(VTAM)和双工设备(bisynchronous),一般不建议使用该选项,如果使用,需要临时存储程序和计算正确的存储空间。
RESTART={NO|YES}如果事务异常终止是否需要restart并且所后由DTB自动back out。
RSLC={NO|YES|EXTERNAL}该事务在访问资源时是否启动资源安全级别检查或者外部安全检查。NO-两种检查都不用;YES-启动RSL检查,具体检查取决于:该资源定义中指定的RSL值;DFHSNT表中指定用户的RSLKEY参数或者终端RDO定义中的OPERRSL参数值;EXTERNAL-使用外部安全管理器。 RTIMOUT={NO|numeric-value}是否设置读超时值。
SPURGE={NO|YES}System stall purge 指示器是否置位。
TASKREQ=xxxx:如果操作员按指定的PA或者PF键是否启动该事务。
TCLASS={NO|transaction-class}控制事务级别,具体看CMXT系统初始化参数。1-10级。CEMS,CEOS可能需要指定该参数,因为他们可能需要很大的空间作reporter。
TPURGE={NO|YES}(BTAM Terminal only)是否置位终端错误清除指示器。即如果该终端发生错误那么终端上运行的事务是否被清除(Purge)。
TRACE={YES|NO}是否在trace table中纪录该事务的活动情况 TRANSEC={1|decimal-value}指定该事务的安全级别(1-64)与SNT表中用户的安全级别匹配校验,如果用户没有签到,那么终端在RDO定义中的OPERSECURITY参数用来匹配校验。 TRNPRTY={1|decimal-value}指定事务的优先权级别(0-255) TRNSTAT={ENABLED|DISABLED}指定事务的初始状态。 XTRANID=hexadecimal-transaction-identifier事务标志(4字节)的十六进制表示。
2.8.4 Special entries--DFHPCT TYPE=GROUP
对于一些CICS功能,用户可以用DFHPCT TYPE=GROUP来定义该功能所需要的所有事务的共同特性。这样避免对该功能所涉及的的事务逐一定义。例如TYPE=GROUP,FN=OPERATORS就提供了对CEMT CEST CEOT事务的统一定义。
FN=(function[,…])功能分组,具体功能见书中详细描述。
EXTSEC={NO|YES}是否覆盖TYPE=INITIAL中的EXTSEC定义。
KEYID=(xxxx)用于FN=BMS and EDF,为相应的事务定义PA和PF键相应。
2.8.5 Transaction description options--DFHPCT TYPE=OPTGRP
该类型控制在支持VTAM的TCTTE上运行的任务的消息保护处理机制,CICS将纪录在事务运行过程中相关的终端数据。同时该类型也用于发生错误以后的消息再同步。
MSGPOPT=([CCONTRL|PROTECT][,ONEWTE][,MSGINTEG])定义任务可以使用的功能。
2.8.6 Session processing options--DFHPCT TYPE=PROFILE
该类型的宏用于定义LU6.1和APPC连接下的终端控制选项,可以在DFHCICSx中找到各种Profile的缺省定义。该宏中的选项可以在前面的其他宏定义中找到解释。
2.8.7 Remote transactions--DFHPCT TYPE=REMOTE 2.8.8 DFHPCT examples
2.8.9 Required entries in the program control table
有些CICS提供的事务在某些功能需要时可以在PCT中定义ENTRY,该定义可以覆盖GROUP定义;如果VSE下支持DL/I那么一些CSDx事务需要在PCT中定义;CICS提供的事务在PCT中定义时不需要指定TWASIZA,除非用户需要更大的TWASIZA,对于这些事务在DFH$PCT中有定义模板。
2.8.10 PA keys and PF keys for initiating transactions 2.8.11 PF keys for EDF
2.8.12 Required entries for the report controller
如果要在CICS中支持report controller,必须在PCT中定义以下事务:
CEMS DFHEMSP 报告控制器的联机事务 CEOS DFHEMSP 同上
CEPW DFHPSOP 将报告写到打印机
CXPB DFHCXPB 打印输出任务控制事务 DFHPSPCT中有以上事务的定义,
2.8.13 Reserved names
CSxx事务是保留支持3270的,不能在PCT中定义
2.9 PLT (program list table) 使用该表有以下几个原因:
1. 指定在系统初始化之前运行的程序列表,在SIT表中指定PLTP1=xx指
定该步骤的PLT,一般建议命名为P1。
2. 在系统正常SHUTDOWN的第一、二步骤指定运行的程序列表,在SIT
中用PLTSD指定。
3. 为CEMT命令指定一组程序,可以通过一次命令就可以ENABLE或者
DISENABLE他们。
每一个PLT都必须使用唯一命名的名字;每一个PLT都必须在PPT中有一个PROGRAM=DFHPLTxx的条目;每一个PLT中的程序也必须在PPT中有定义。
2.9.1 Elements of DFHPLT
2.9.2 Control section--DFHPLT TYPE=INITIAL
该后缀可以用于CEMT、CSMT命令中指定CLASS参数值
2.9.3 Entries in program list table--DFHPLT TYPE=ENTRY
PROGRAM=DFHDELIM该程序是个分界标志,在该条目定义之前定义的程序将在系统SHUTDOWN的第一个STAGE中运行,之后定义的程序将在SHUTDOWN的第二个STAGE中运行。 PROGRAM=DLZSTP00该程序用于支持DL/I的联机系统中。
2.9.4 DFHPLT example
2.10 PPT (processing program table)
2.10.1 Elements of DFHPPT
2.10.2 Control section--DFHPPT TYPE=INITIAL
LENABLE={YES|NO}该表中定义的PL/I、COBOL、C程序是否自动运行在LE环境中。在RDO定义中没有该选项,系统自动判断定义的程序是否需要LE支持。
2.10.3 Processing programs--DFHPPT TYPE=ENTRY
PROGRAM=name;MAPSET=name;PARTSET=name—PPT可以定义上述三种条目。
RELOAD={YES|NO}指定一个程序的新版本是否需要被加载。
NO-----如果程序正在内存中则加载请求将被IGNORED。 YES---每次对该程序的更新请求将会被执行。对于RPG程
序该选项必须指定,而且对内存的FREE是由CICS自动完成的;对于非RPG程序,除非在程序运行完毕以后有办法提交FREEMAIN来清除该程序在内存中的备份,否则一定不能指定RELOAD=YES,否则内存中会被该程序的版本复制塞满最终导致内存崩溃。
如果指定USAGE=MAP则一定不能指定RELOAD=YES.
定义了RELOAD=YES的程序则强制在CICS的
RMODE(24)方式下运行。
RES={NO|ALIGN|FIX|PGOUT|YES}指定程序的驻留状态。如果该程序在ALT中定义那么在PPT中的该选项就可以忽略。
NO---程序不驻留内存,如果RELOAD=YES,该值必须指定。
ALIGN---等同于YES,不过该程序要做页边界调整。 FIX---等同于YES,不过该程序not pageable。
PGOUT---CICS参与操作系统的页管理。可以提出force-page-out命令(FCEPGOUT)将不用的程序清理出内存。
USAGE=MAP:如果为MAPSET或者汇编程序指定该选项,那么指定程序将会被LOAD到MAP的存储区,并且如果该区域没有被使用就会被自动释放;相反如果不指定该选项,汇编程序和MAP SET将被装到程序存储区,那么即使该区域中没有被使用的内容也不会被自动释放。指定该选项的MAPSET不得超过65520字节,且如果指定了RELOAD=YES那么一定不能指定该选项。
2.10.4 Special entries--DFHPPT TYPE=GROUP 2.10.5 DFHPPT example
2.10.6 Required entries in the processing program table 2.10.7 Required entries for PL/I 2.10.8 Required entries for DL/I
2.10.9 Required entries for the report controller 2.10.10Required entries for VS COBOL II
如果CICS要支持VS COBOL II,则一些必要的MODULE需要在PPT中定义,具体模板见IGZ9PPT.A(PRD2.CICSR)
2.10.11
如果在CICS中需要LE支持,那么需要查阅书《Language Enviroment for VSE/ESA Planning for installation and Customization》找需要的PPT定义。
2.11 SNT (signon table)
SNT是CICS系统表中唯一没有后缀的。 2.11.1 Introduction
2.11.1.1 CICS internal security—transactions
定义参数为SECTKEY,该参数和PCT中的TRANSEC参数相互币对,如果运行的事务的TRANSEC值在该用户的SECTKEY中有,那么该用户可以运行该事务。该值范围为1到64。
每一个用户缺省都有SECTKEY=1,所以如果一个事务的TRANSEC值为1,那么就以为着任何一个用户都可以使用该事务,甚至包括没有签到的用户。 2.11.1.2 CICS internal security—resources
定义参数为RSLKEY,在资源的RDO定义中可以指定
RSLC=YES表示该资源需要做安全检查,指定安全系统由参数RSL定义。如果用户的RSLKEY中没有资源安全系统值定义则拒绝使用该资源,该参数值范围为1-24。
如果资源的定义安全值为PUBLIC,那么无论参数RSLC为YES还是NO都不影响资源的使用。
如果资源定义RSLC(ENTERNAL)那么RSL的定义没有作用,表示系统将使用额外的安全检查手段。 该参数可以使用的资源范围包括: Transient data queues Temporary storage queues Files Journals
EXEC-started transactions
Programs, mapsets, and partition sets.
2.11.1.3 Permanently signed-on devices (preset security)
2.11.2 External security
2.11.3 DFHSNT macro types
2.11.4 Control section--DFHSNT TYPE=INITIAL 2.11.5 Terminal operators--DFHSNT TYPE=ENTRY
2.11.6 Terminal operators--DFHSNT TYPE=(ENTRY,DEFAULT) 2.11.7 DFHSNT example
2.12 SRT (system recovery table)
该表中包括一些定义的可以被hold的系统abend code。以及一些系统提供的或者用户自己写的处理这些abend的routine。 2.12.1 DFHSRT macro types
2.12.2 Control section--DFHSRT TYPE=INITIAL 2.12.3 Abend codes--DFHSRT TYPE=SYSTEM
格式比较简单:
DFHSRT TYPE=SYSTEM
,ABCODE=(abend-code,...)
[,PROGRAM=program-name]|[,ROUTINE=name]
ABCODE为两位的abend code。
PROGRAM为处理指定abend 的程序,必须在PPT中定义。 ROUTINE为指定的程序段,可以写在SRT表中TYPE=FINIAL之后,随着SRT表一起编译即可,不必在PPT表中定义。
2.12.4 DFHSRT example
2.13 TCT (terminal control table)
2.13.1 How this topic is organized
(译注:本章描述的内容很复杂,但是基本上按照以下类别分为以下五大系列。在需要的时候再详细察看具体内容。) VTAM device: 3270 or non-3270 BTAM device: 3270 or non-3270 VSE console
Sequential device. Intercommunication:
Multiregion operation (MRO)
Intersystem communication (ISC) using LUTYPE6.1 Intersystem communication (ISC) using LUTYPE6.2
Remote terminals for transaction routing
2.13.2 Introduction to the TCT
RDO定义只适合于VTAM终端和MRO、ISC连接,而且只有VTAM终端可以自动安装(Autoinstall)
2.13.3 DFHTCT macro types
VTAM terminals. DFHTCT TYPE=TERMINAL,... Logical device codes. DFHTCT TYPE=LDC,...
DFHTCT TYPE=LDCLIST,... BTAM terminals, VSE console, DFHTCT TYPE=SDSCI,... sequential devices. DFHTCT TYPE=LINE,...
DFHTCT TYPE=TERMINAL,... Some BTAM terminals, VSE console,
DFHTCT TYPE=GPENTRY,...
sequential devices.
Station identifiers for teletypes DFHTCT TYPE=TLXID,... (countries other than U.S.A.) Response Units.
MRO, LUTYPE 6.1, LUTYPE 6.2 DFHTCT TYPE=SYSTEM,... LUTYPE 6.1 sessions. DFHTCT TYPE=TERMINAL,... APPC parallel sessions. DFHTCT TYPE=MODESET,... APPC single-session terminals. DFHTCT TYPE=SYSTEM,... Remote terminals, for transaction DFHTCT TYPE=REMOTE,... routing.
or:
DFHTCT TYPE=REGION,... DFHTCT TYPE=TERMINAL,... 在TCT定义中,终端名称变量为TRMIDNT,MRO等的系统名称变量为SYSIDNT。
2.13.3.1 Notes on assembling the TCT
1. 对DFHTCTxx的汇编和连接可能产生两个PHASE:
汇编的过程会产生一个文本文件,但是经过连接以后,就可能产生两个PHASE---DFHTCTxx和DFHRDTxx。其中DFHTCTxx包括了原来TCT表中的非RDO定义部分;而DFHRDTxx包括了原来TCT表中的RDO定义部分 2. TCT的重新编译需要在重新启动才能生效。
3. If you examine the link-edit map you can find some unresolved references. However, any starting with the letters \"DFHZ\" are only applicable to VTAM, and can be
ignored。
2.13.4 Control section--DFHTCT TYPE=INITIAL
TCT的TYPE=INITIAL定义非常重要,内容也比较多,它主要有两个作用:
1. 建立TCT编译后的内容的存放的空间
2. 定义一些适用于整个TCT或者全部VTAM、全部BTAM、或者Intercommunication条目的限制。
ACCMETH=([VTAM,]NONVTAM):指定在TCT中定义的终端
的访问方法。
ERRATT={NO|([LASTLINE][,INTENSIFY]
[,{BLUE|RED|PINK|GREEN|TURQUOISE|YELLOW|NEUTRAL}] [,{BLINK|REVERSE|UNDERLINE}])}:指定错误信息在3270终端上的显示方法。
NO---所有的错误信息正常显示在当前光标的位置,没有
色彩,没有加重强调。
LASTLINE:所有错误信息显示在屏幕的最后一行。
INTENSIFY:错误信息需要加重强调。BLINK闪烁;
REVERSE反显;UNDERLINE:带下划线。
MIGRATE={YES|COMPLETE}该参数控制适用与RDO方法定
义的VTAM设备的定义途径。
YES---表示所有VTAM设备的定义不通过RDO方法;或
者只用RDO定义部分设备。作为替代,可以用DFHCSDUP方法,该方法的MIGRATE命令可以把条目的定义转到CSD data set中,然后通过RDO方法来管理。
COMPLETE---表示所有的VTAM都通过RDO方法定
义。TCT表中的所有VTAM设备都不会在编译的时候生成可用条目。而只会在编译的时候产生一个MNOTE的警告。
对于该参数的解释需要进一步理解。译注
MODNAME={IJLBTM|name}指定BTAM逻辑模块的名字,该
模块必须在编译的搜索链库中。
RESP={FME|RRN}指定如果传送数据到逻辑单元(LU-Logic
Unit),CICS如何反馈该请求。
FME(Function Management End)请求处理反馈。等同于
指定反馈类型1,这是CICS处理的正常类型。该处理不适用于VTAM 3270终端,因为对于该类型终端,FME总是激活的。
RRN(Reach Recovery Node),仅对3600系统。等同于指定
反馈类型2。
SYSIDNT={CICS|name}为本CICS指定系统标志。适用于以下
TCT的编译中。
# DFHTCT TYPE=REGION中指定SHYSIDNT会
用到该值
#DFHTCT TYPE=REMOTE中指定SYSIDNT会用
到该值
2.13.5 Migrating TCT definitions--DFHTCT TYPE=GROUP
该宏指定迁移到CSD中的TCT定义组。即一些TCT中的定义可以迁移到CSD中,然后由RDO方法来管理。该宏定义可以出现在TCT的任何地方出现任意多次。任何两个TYPE=GROUP之间的条目都属于上一个GROUP的内容。
2.13.6 VTAM TCT overview
如果要使用VTAM,必须:
1. 在VTAM APPL语句中将该CICS定义为一个VTAM应用。 2. 在CICS SIT中定义一个标志于VTAM的应用ID-APPLID。 3. 在VTAM定义中,每一个终端都必须定义为一个点(NODE)。
4. 在TCT中,每一个终端定义都包括VTAM标志的NETNAME
2.13.6.1 Defining VTAM terminals
终端根据通讯类型的不同定义在VTAM中:
1. SNA设备可以是导线连接或者SDLC连接,用VTAM LU语句定义。
2. VTAM支持的非SNA的3270终端,用VTAM LOCAL语句定义。对于CICS来说,这些终端就像是Logic Unit。 3. VTAM支持的全双工的、非导线直连的、非SNA的3270终端,用VTAM TERMINAL语句定义。对于CICS来说,这些终端也象是Logic Unit。
4. 其他的通过NTO(Network Terminal Option)连接的开关式的设备,比如电传打字机、3101、TWX33/35等,用VTAM LU语句定义。对于CICS来说,这些终端就像是3676的Logic Unit。
每一个VTAM语句定义的终端都有唯一的一个定义的node name。
2.13.6.2 Defining CICS terminals
有两种方法在CICS中定义VTAM终端:DFHTCT的宏定义和RDO定义。
通过TCT来定义一个终端,需要用NETNAME来指定该终端的VTAM定义的NET NAME,并定义TRMIDNT来指定CICS识别的终端名字。
终端还可以通过RDO方式联机定义,使用AUTOINSTALL方法可以使得终端在签到CICS的时候在产生定义。(译注:该办法可以用于对于TCPIP方式定义的终端) 2.13.6.3 Further information 2.13.7 VTAM environment
2.13.8 VTAM 3270 devices--DFHTCT TYPE=TERMINAL
该宏定义VTAM连接的3270设备和SCS打印机、逻辑单元。
2.13.8.1 Configurator for VTAM 3270 terminals
For non-SNA displays, specify TRMTYPE=3270. For
SNA displays, specify TRMTYPE=LUTYPE2.
For non-SNA printers, specify TRMTYPE=3270P. For
SNA printers, specify TRMTYPE=LUTYPE3.
ACCMETH=VTAM:表明生成一个VTAMTCTTE(Terminal
Entry)
ALTPGE=(lines,columns): 2.13.8.2 Examples
2.13.9 VTAM non-3270 devices
2.13.10 VTAM non-3270--DFHTCT TYPE=TERMINAL 2.13.11 Logical device codes
2.13.12 DFHTCT TYPE=LDC macro
2.13.13 DFHTCT TYPE=LDCLIST macro 2.13.14 BTAM environment
2.13.15 Method 1--DFHTCT TYPE=SDSCI, LINE, TERMINAL 2.13.16Method 2--DFHTCT TYPE=GPENTRY 2.13.17BTAM 3270 devices
2.13.18BTAM 3270 devices--DFHTCT TYPE=SDSCI, LINE,
TERMINAL
2.13.19BTAM 3270 DFHTCT examples
2.13.20BTAM 3270 devices--DFHTCT TYPE=GPENTRY 2.13.21DFHTCT TYPE=GPENTRY examples: BTAM 3270 2.13.22BTAM non-3270 devices
2.13.23BTAM non-3270--DFHTCT TYPE=SDSCI, LINE, TERMINAL 2.13.24BTAM non-3270 DFHTCT examples 2.13.25Teletypewriter--DFHTCT TYPE=TLXID
2.13.26BTAM--DFHTCT TYPE=GPENTRY macro for 2740/2741 2.13.27The VSE console
2.13.28VSE console method 1--DFHTCT TYPE=GPENTRY
2.13.29VSE console method 2--DFHTCT TYPE=SDSCI, LINE,
TERMINAL
2.13.30VSE console TCT example 2.13.31Sequential devices
2.13.32Sequential devices method 2--DFHTCT TYPE=GPENTRY 2.13.33Introduction to intercommunication 2.13.34Intercommunication example
2.13.35MRO--DFHTCT TYPE=SYSTEM macro
2.13.36LUTYPE6.1--DFHTCT TYPE=SYSTEM macro 2.13.37LUTYPE 6.1--DFHTCT TYPE=TERMINAL macro 2.13.38LUTYPE 6.2 links and parallel sessions
2.13.39LUTYPE 6.2--DFHTCT TYPE =SYSTEM macro 2.13.40LUTYPE 6.2--DFHTCT TYPE=MODESET macro
2.13.41LUTYPE 6.2 terminals--DFHTCT TYPE=SYSTEM macro
2.13.428815 Scanmaster example
2.13.43Remote terminals for transaction routing
2.13.44Remote terminals--DFHTCT TYPE=REGION 2.13.45Remote terminals--DFHTCT TYPE=TERMINAL 2.13.46Remote terminals--DFHTCT TYPE=REMOTE 2.13.47Remote terminals example 2.13.48CICS terminals list
本小节介绍CICS支持的各种设备。连接方式简介如下:
SDLC Synchronous Data Link Control同步数据链路控制 BSC Bisynchronous双同步 ss Start-Stop开关式
sw Switched line or dial-up line nonsw Nonswitched line or leased line LDC Logical Device Code
CMCST Communicating Magnetic Card Selectric Typewriter Seq Devs Sequential devices (card readers, line printers, and so on) TWX 33/35 Common Carrier Teletypewriter Exchange Terminal
Station CPT-TWX model 33 or 35.
2.14 TLT (terminal list table)
TLT表可以将指定终端和操作员ID逻辑分组,以满足以下需要: # 让CEST事务定义或者限制操作员的操作范围,如下例 CEST SET TERMINAL(*) SUPRID(CG) OUTSERVICE 限制所有DFHTLTCG中的终端都不得使用。 其他的详细用法见书。该表定义比较简单而且在一般的情况下应用范围较小。(译者注)
2.15 TST (temporary storage table) 2.16 XLT (transaction list table)
XLT可以定义一系列的逻辑相关的事务,以满足以下需要: # 可以指定该系列事务在系统结束的第一个阶段运行。 # 可以同时enable 或disable一系列事务。 2.16.1 Elements of DFHXLT
2.16.2 Control section--DFHXLT TYPE=INITIAL
2.16.3 Entries in transaction list table--DFHXLT TYPE=ENTRY
可以用TASKREQ来指定系列事务,该TASKREQ可以为PF1-PF24,PA1-PA3。该健代表的事务在PCT中有定义。
也可以使用TRANSID来指定系列事务,指定的事务必须要在PCT中定义。
参数TASKREQ和TRANSID只能用其一而不能同时使用。
2.16.4 DFHXLT example
因篇幅问题不能全部显示,请点此查看更多更全内容