Процедура CICS JCL для компиляции и связывания SIT, содержащего обновленные параметры CICS

#jcl #cics

Вопрос:

Есть ли у CICS процедура сборки SIT? В настоящее время я проверяю https://www.ibm.com/docs/en/cics-ts/5.3?topic=library-cics-supplied-procedures но я не могу найти ничего, что использует EXEC PGM=DFHSIP. Я еще не на том уровне, чтобы самому писать JCL, поэтому я действительно пытаюсь найти пример того, как я могу собрать свой обновленный макрос DFHSIT.

Ответ №1:

Обычно нет необходимости собирать новый стол для сидения. Вы можете передать параметры SIT в качестве переопределений при запуске вашего региона CICS. Я обнаружил, что большинство систем CICS запускаются с одним из поставляемых модулей загрузки SIT (DFHSIT или DFHSIT6$) и предоставляют настраиваемые переопределения SIT через SYSIN. См. https://www.ibm.com/docs/en/cics-ts/5.3?topic=regions-specifying-system-initialization-parameters-before-startup

Обратите внимание, что основная причина, по которой люди не собирают новую таблицу SIT, заключается в том, что модуль загрузки SIT должен находиться в авторизованном наборе данных APF. На большинстве предприятий доступ на запись в авторизованный набор данных APF разрешен редко и тщательно проверяется, когда обновление абсолютно необходимо.

Ответ №2:

DFHSIP является основной программой CICS и не используется для сборки столов SIT. Вероятно, лучше всего взглянуть на программу DFHEITAL, которая поставляется с CICS. Это хороший пример того, как переводить, компилировать и связывать ассемблерные программы.

Однако таблицы SIT не следует переводить или связывать с программой CICS stub. Ниже приведен пример того, что я использовал ранее для компиляции таблиц 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=amp;amp;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=amp;amp;LOADSET,DISP=(OLD,DELETE)
//         DD DDNAME=SYSIN
//SYSIN DD *
  NAME  <name>(R)
/*