【发布时间】:2021-09-14 14:47:42
【问题描述】:
CICS 是否提供了组装 SIT 的程序?我目前正在检查https://www.ibm.com/docs/en/cics-ts/5.3?topic=library-cics-supplied-procedures,但我找不到任何使用 EXEC PGM=DFHSIP 的东西。我自己还没有到那个级别来编写 JCL,所以我真的想找到如何组装我更新的 DFHSIT 宏的示例。
【问题讨论】:
CICS 是否提供了组装 SIT 的程序?我目前正在检查https://www.ibm.com/docs/en/cics-ts/5.3?topic=library-cics-supplied-procedures,但我找不到任何使用 EXEC PGM=DFHSIP 的东西。我自己还没有到那个级别来编写 JCL,所以我真的想找到如何组装我更新的 DFHSIT 宏的示例。
【问题讨论】:
通常不需要组装新的 SIT 表。您可以在启动 CICS 区域时将 SIT 参数作为覆盖传递。我发现大多数 CICS 系统都是使用提供的 SIT 加载模块(DFHSIT 或 DFHSIT6$)之一启动的,并通过 SYSIN 提供定制的 SIT 覆盖。见https://www.ibm.com/docs/en/cics-ts/5.3?topic=regions-specifying-system-initialization-parameters-before-startup
请注意,人们不组装新的 SIT 表的主要原因是 SIT 加载模块必须驻留在 APF 授权的数据集中。在大多数企业中,很少允许对 APF 授权数据集进行写访问,并且在绝对需要更新时会受到严格审查。
【讨论】:
DFHSIP 是主要的 CICS 程序,不用于组装 SIT 表。最好看一下随 CICS 提供的 proc DFHEITAL。这是如何翻译、编译和链接它的汇编程序的一个很好的例子。
但是,不应将 SIT 表与 CICS 存根程序进行转换或链接。下面是我之前用来编译 CICS 表的示例:
//ASM EXEC PGM=ASMA90,REGION=0M,
// PARM='DECK,NOOBJECT,LIST’
//SYSLIB DD DSN=<cicshlq>.SDFHMAC,DISP=SHR
// DD DSN=<cicshlq>.SDFHSAMP,DISP=SHR
// DD DSN=SYS1.MACLIB,DISP=SHR
//SYSUT1 DD UNIT=SYSDA,SPACE=(1700,(400,400))
//SYSUT2 DD UNIT=SYSDA,SPACE=(1700,(400,400))
//SYSUT3 DD UNIT=SYSDA,SPACE=(1700,(400,400))
//SYSPUNCH DD DSN=&&LOADSET,
// UNIT=SYSDA,DISP=(,PASS),
// SPACE=(400,(100,100))
//SYSPRINT DD SYSOUT=A
//SYSIN DD DATA,DLM='<>'
<source>
<>
//LKED EXEC PGM=IEWL,REGION=0M,
// PARM='LIST,XREF',COND=(7,LT,ASM)
//SYSLIB DD DSN=<cicshlq>.SDFHLOAD,DISP=SHR
//SYSLMOD DD DSN=<output>,DISP=SHR
//SYSUT1 DD UNIT=SYSDA,DCB=BLKSIZE=1024,
// SPACE=(1024,(200,20))
//SYSPRINT DD SYSOUT=A
//SYSLIN DD DSN=&&LOADSET,DISP=(OLD,DELETE)
// DD DDNAME=SYSIN
//SYSIN DD *
NAME <name>(R)
/*
【讨论】: