JCL для запуска подпрограммы вызова программы на языке COBOL - PullRequest
1 голос
/ 06 сентября 2011

У меня есть одна COBOL pgm A, которая вызывает другую COBOL pgm B. В pgm BI нужен один файл. Как мне написать JCL, чтобы я мог получить доступ к этому файлу в pgm B?Я написал предложение выбора и запись FD для этого файла в B.

Ответы [ 2 ]

6 голосов
/ 06 сентября 2011

Вы должны включить оператор DD в JCL для шага, на котором выполняется Программа A.

Если файл существует, это довольно просто.

//ABCDEFGH DD DISP=SHR,DSN=your.file.name.here

Где ABCDEFGH - это имя, которое вы используете в своем операторе SELECT в программе B.

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

//ABCDEFGH DD DISP=(NEW,CATLG,DELETE),
//            DSN=your.file.name.here,
//            AVGREC=K,
//            RECFM=FB,
//            LRECL=your-lrecl-here,
//            MGMTCLAS=your-management-class-here,
//            SPACE=(your-lrecl-here,(primary-number-of-records,secondary),RLSE)

Это просто от руки, вам действительно стоит взглянуть на Справочник JCL и Руководство пользователя JCL .

0 голосов
/ 13 мая 2015
  1. Включите оператор DD в шаг.
  2. Программа B даже не обязательно должна быть COBOL.
  3. Идеально разработан таким образом, чтобы программа B была служебной программой - открывает, закрывает, читает, записывает перезаписывает в соответствии с запросом и вашими потребностями.Если эта инкапсуляция предвидится, это сделает вашу жизнь намного проще.

Я видел это, когда B - ассемблер и периодически сбрасывает записи на диск, когда не запускается в интерактивном режиме, но записывает сразу при отладке.

...