Учебники

JCL — Настройка среды

Для Windows доступно множество бесплатных эмуляторов мэйнфреймов, которые можно использовать для написания и изучения примеров JCL.

Одним из таких эмуляторов является Hercules, который можно легко установить в Windows, выполнив несколько простых шагов, приведенных ниже:

  • Загрузите и установите эмулятор Hercules, доступный на домашнем сайте Hercules: www.hercules-390.eu

  • Полное руководство по различным командам для написания и выполнения JCL можно найти по адресу www.jaymoseley.com/hercules/installmvs/instmvs2.htm.

Загрузите и установите эмулятор Hercules, доступный на домашнем сайте Hercules: www.hercules-390.eu

Полное руководство по различным командам для написания и выполнения JCL можно найти по адресу www.jaymoseley.com/hercules/installmvs/instmvs2.htm.

Hercules — это программная реализация с открытым исходным кодом для архитектур мейнфреймов System / 370 и ESA / 390 в дополнение к новейшей 64-битной архитектуре z / Architecture. Hercules работает под Linux, Windows, Solaris, FreeBSD и Mac OS X.

Запуск JCL на мейнфреймах

Пользователь может подключиться к серверу мэйнфреймов несколькими способами, такими как тонкий клиент, фиктивный терминал, система виртуального клиента (VCS) или система виртуального рабочего стола (VDS).

Каждому действительному пользователю предоставляется логин для входа в интерфейс Z / OS (TSO / E или ISPF). В интерфейсе Z / OS JCL может быть закодирован и сохранен как элемент в многораздельном наборе данных (PDS). Когда JCL передается, он выполняется, и вывод получается, как описано в разделе обработки заданий предыдущей главы.

Структура JCL

Базовая структура JCL с общими утверждениями приведена ниже:

//SAMPJCL JOB 1,CLASS=6,MSGCLASS=0,NOTIFY=&SYSUID          (1)
//*                                                        (2)
//STEP010  EXEC PGM=SORT                                   (3) 
//SORTIN   DD DSN=JCL.SAMPLE.INPUT,DISP=SHR                (4)
//SORTOUT  DD DSN=JCL.SAMPLE.OUTPUT,                       (5)
//         DISP=(NEW,CATLG,CATLG),DATACLAS=DSIZE50                
//SYSOUT   DD SYSOUT=*                                     (6) 
//SYSUDUMP DD SYSOUT=C                                     (6) 
//SYSPRINT DD SYSOUT=*                                     (6) 
//SYSIN    DD *                                            (6) 
  SORT FIELDS=COPY                                    
  INCLUDE COND=(28,3,CH,EQ,C'XXX')                                    
/*                                                         (7)  

Описание программы

Нумерованные операторы JCL были объяснены ниже:

(1) Оператор JOB — Определяет информацию, необходимую для SPOOLing задания, такую ​​как идентификатор задания, приоритет выполнения, идентификатор пользователя, который должен быть уведомлен после завершения задания.

(2) // * оператор — это оператор комментария.

(3) Оператор EXEC — указывает PROC / программу для выполнения. В приведенном выше примере выполняется программа SORT (т.е. сортировка входных данных в определенном порядке)

(4) Оператор ввода DD. Указывает тип ввода, передаваемого в программу, указанную в (3). В приведенном выше примере файл Physical Sequential (PS) передается в качестве входных данных в режиме совместного использования (DISP = SHR).

(5) Оператор DD вывода — указывает тип вывода, который будет произведен программой при выполнении. В приведенном выше примере создается файл PS. Если оператор выходит за пределы 70-й позиции в строке, то он продолжается на следующей строке, которая должна начинаться с «//», за которым следует один или несколько пробелов.

(6) Могут быть другие типы операторов DD для указания дополнительной информации для программы (в приведенном выше примере: условие SORT указано в операторе SYSIN DD) и для указания места назначения для журнала ошибок / выполнения (Пример: SYSUDUMP / SYSPRINT). Операторы DD могут содержаться в наборе данных (файл мэйнфрейма) или в данных потока (информация, жестко закодированная в JCL), как указано в примере выше.

(7) / * отмечает конец данных в потоке.

Все операторы JCL, кроме потоковых данных, начинаются с //. Должен быть как минимум один пробел до и после ключевых слов JOB, EXEC и DD, а в остальной части оператора не должно быть пробелов.

Типы параметров работы

Каждый из операторов JCL сопровождается набором параметров, помогающих операционным системам завершить выполнение программы. Параметры могут быть двух типов:

Позиционные параметры

  • Появляется в заранее определенной позиции и порядке в выписке. Пример: учетная информация Параметр может появляться только после ключевого слова JOB и перед параметром имени программиста и параметрами ключевого слова. Если позиционный параметр опущен, его необходимо заменить запятой.

  • Позиционные параметры присутствуют в операторах JOB и EXEC. В приведенном выше примере PGM — это позиционный параметр, закодированный после ключевого слова EXEC .

Появляется в заранее определенной позиции и порядке в выписке. Пример: учетная информация Параметр может появляться только после ключевого слова JOB и перед параметром имени программиста и параметрами ключевого слова. Если позиционный параметр опущен, его необходимо заменить запятой.

Позиционные параметры присутствуют в операторах JOB и EXEC. В приведенном выше примере PGM — это позиционный параметр, закодированный после ключевого слова EXEC .

Параметры ключевых слов

  • Они кодируются после позиционных параметров, но могут появляться в любом порядке. Параметры ключевых слов могут быть опущены, если не требуются. Общий синтаксис — KEYWORD = значение . Пример: MSGCLASS = X, т. Е. Журнал заданий перенаправляется на выходной SPOOL после завершения задания.

  • В приведенном выше примере CLASS, MSGCLASS и NOTIFY являются ключевыми параметрами оператора JOB. В выражении EXEC также могут быть параметры ключевых слов.

Они кодируются после позиционных параметров, но могут появляться в любом порядке. Параметры ключевых слов могут быть опущены, если не требуются. Общий синтаксис — KEYWORD = значение . Пример: MSGCLASS = X, т. Е. Журнал заданий перенаправляется на выходной SPOOL после завершения задания.

В приведенном выше примере CLASS, MSGCLASS и NOTIFY являются ключевыми параметрами оператора JOB. В выражении EXEC также могут быть параметры ключевых слов.

Эти параметры были подробно описаны в последующих главах вместе с соответствующими примерами.