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

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

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

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

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

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

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


person Jeff    schedule 03.02.2010    source источник


Ответы (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 (полагаю, у вас есть к нему доступ) и введите ПРОФИЛЬ в командной строке. Вы должны увидеть что-то вроде:

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

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

person NealB    schedule 03.02.2010