COBOL: SYSIN JCL для компиляции исходного кода из PDS

Я только запускаю COBOL и столкнулся с этим с помощью JCL... Как мне скомпилировать базовую программу на Cobol из моего PDS, я знаю, что через instream это будет просто

//SYSIN DD * код код код / ​​*

Я пробовал что-то вроде

//SYSIN DD DSN=the.pds.location(файл),DISP=SHR

но все, что отстреливалось, было мусором и кодом возврата 12, я думаю.

Если бы кто-нибудь мог помочь, я был бы благодарен.

1 ответ

На основании информации, которую вы разместили, ваш JCL должен работать. Может быть, вы упускаете что-то еще. Следующий JCL предоставляет полный шаг задания для компиляции 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...
Примечание. Возможно, вам придется изменить STEPLIB, чтобы он соответствовал версии COBOL, запущенной на вашем сайте.

Если ваш 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 в командной строке.

Если ни один из них не решит вашу проблему, вам нужно предоставить больше информации о том, какова точная природа проблемы.

Другие вопросы по тегам