COBOL: SYSIN JCL для компиляции исходного кода из PDS
Я только запускаю COBOL и столкнулся с этим с помощью JCL... Как мне скомпилировать базовую программу на Cobol из моего PDS, я знаю, что через instream это будет просто
//SYSIN DD * код код код / *
Я пробовал что-то вроде
//SYSIN DD DSN=the.pds.location(файл),DISP=SHR
но все, что отстреливалось, было мусором и кодом возврата 12, я думаю.
Если бы кто-нибудь мог помочь, я был бы благодарен.
1 ответ
На основании информации, которую вы разместили, ваш JCL должен работать. Может быть, вы упускаете что-то еще. Следующий JCL предоставляет полный шаг задания для компиляции COBOL:
Примечание. Возможно, вам придется изменить STEPLIB, чтобы он соответствовал версии COBOL, запущенной на вашем сайте.
... your job card goes here...
//COB EXEC PGM=IGYCRCTL
//STEPLIB DD DISP=SHR,DSN=SYSP.IGY.V3R4M1.SIGYCOMP
//SYSUT1 DD UNIT=SYSDA,SPACE=(CYL,(1,1))
//SYSUT2 DD UNIT=SYSDA,SPACE=(CYL,(1,1))
//SYSUT3 DD UNIT=SYSDA,SPACE=(CYL,(1,1))
//SYSUT4 DD UNIT=SYSDA,SPACE=(CYL,(1,1))
//SYSUT5 DD UNIT=SYSDA,SPACE=(CYL,(1,1))
//SYSUT6 DD UNIT=SYSDA,SPACE=(CYL,(1,1))
//SYSUT7 DD UNIT=SYSDA,SPACE=(CYL,(1,1))
//SYSLIN DD DSN=objectmodule,UNIT=SYSDA,
// DISP=(MOD,PASS),SPACE=(TRK,(3,3))
//SYSIN DD DSN=the.pds.location(file),DISP=SHR
//SYSPRINT DD SYSOUT=*
... your link step using object from SYSLIN above...
Если ваш JCL выглядит довольно близко к вышесказанному, следующая вещь, которую стоит проверить, - это ваша программа на COBOL. Зайдите в редактор ISPF (я полагаю, у вас есть к нему доступ) и введите PROFILE в командной строке. Вы должны увидеть что-то вроде:
=PROF> ....GEN (FIXED - 80)....RECOVERY OFF WARN....NUMBER OFF.................
=PROF> ....CAPS ON....HEX OFF....NULLS ON STD....TABS OFF......................
=PROF> ....AUTOSAVE ON....AUTONUM OFF....AUTOLIST OFF....STATS ON..............
=PROF> ....PROFILE UNLOCK....IMACRO NONE....PACK OFF....NOTE ON................
=PROF> ....HILITE OFF CURSOR FIND..............................................
=BNDS> <
=COLS> ----+----1----+----2----+----3----+----4----+----5----+----6----+----7--
Теперь обратите внимание на PACK ON (обратите внимание, что выше показано PACK OFF). Если вы найдетеPACK ON, это ваша проблема. Вам нужно выполнить команду PACK OFF и сохранить ваш набор данных. Попробуйте снова скомпилировать.
Кстати... вы избавляетесь от отображения профиля, набрав RESET в командной строке.
Если ни один из них не решит вашу проблему, вам нужно предоставить больше информации о том, какова точная природа проблемы.