0

Does CICS have supplied procedure for assembling a SIT? I'm currently checking from https://www.ibm.com/docs/en/cics-ts/5.3?topic=library-cics-supplied-procedures but I can't find anything that uses EXEC PGM=DFHSIP. I'm not in that level yet to write a JCL myself so I'm really trying to find sample of how I can assemble my updated DFHSIT macro.

2 Answers2

2

It usually isn't necessary to assemble a new SIT table. You can pass SIT parameters as overrides when starting your CICS region. I find that the majority of CICS systems are started with one of the supplied SIT load modules (DFHSIT or DFHSIT6$) and provide customized SIT overrides via SYSIN. See https://www.ibm.com/docs/en/cics-ts/5.3?topic=regions-specifying-system-initialization-parameters-before-startup

Note that the primary reason why people don't assemble a new SIT table is that the SIT load module must reside in an APF authorized data set. In most enterprises, write access to an APF authorized data set is rarely allowed and is severely scrutinized when an update is absolutely necessary.

Leigh Compton
  • 435
  • 2
  • 4
1

DFHSIP is the main CICS program and isn't used for assembling the SIT tables. Probably best to have a look at the proc DFHEITAL that is provided with CICS. This is a good example of how to translate, compile and linkedit assembler programs.

However SIT tables should not be translated or linkedited with the CICS stub program. Below is an example of what I've used before to compile CICS tables:

//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)
/*