用于编译和 link 包含更新的 CICS 参数的 SIT 的 CICS JCL 程序
CICS JCL procedure to compile and link the SIT containing updated CICS parameters
CICS 是否提供组装 SIT 的程序?我目前正在检查 https://www.ibm.com/docs/en/cics-ts/5.3?topic=library-cics-supplied-procedures,但找不到任何使用 EXEC PGM=DFHSIP 的内容。我还没有达到自己编写 JCL 的水平,所以我真的想找到如何 assemble 我更新的 DFHSIT 宏的示例。
DFHSIP 是主要的 CICS 程序,不用于组装 SIT 表。可能最好查看随 CICS 一起提供的进程 DFHEITAL。这是一个很好的例子,说明如何翻译、编译和 linkedit 汇编程序。
但是,不应将 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)
/*
通常没有必要 assemble 一个新的 SIT table。在启动 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
请注意,人们不 assemble 新 SIT table 的主要原因是 SIT 加载模块必须驻留在 APF 授权数据集中。在大多数企业中,很少允许对 APF 授权数据集进行写访问,并且在绝对需要更新时会受到严格审查。
CICS 是否提供组装 SIT 的程序?我目前正在检查 https://www.ibm.com/docs/en/cics-ts/5.3?topic=library-cics-supplied-procedures,但找不到任何使用 EXEC PGM=DFHSIP 的内容。我还没有达到自己编写 JCL 的水平,所以我真的想找到如何 assemble 我更新的 DFHSIT 宏的示例。
DFHSIP 是主要的 CICS 程序,不用于组装 SIT 表。可能最好查看随 CICS 一起提供的进程 DFHEITAL。这是一个很好的例子,说明如何翻译、编译和 linkedit 汇编程序。
但是,不应将 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)
/*
通常没有必要 assemble 一个新的 SIT table。在启动 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
请注意,人们不 assemble 新 SIT table 的主要原因是 SIT 加载模块必须驻留在 APF 授权数据集中。在大多数企业中,很少允许对 APF 授权数据集进行写访问,并且在绝对需要更新时会受到严格审查。