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