Каждый JCL может быть сделан из множества рабочих шагов. Каждый шаг задания может выполнять программу напрямую или вызывать процедуру, которая, в свою очередь, выполняет одну или несколько программ (этапы задания). Оператор, содержащий информацию о программе / процедуре шага задания, является оператором EXEC.
Цель оператора EXEC — предоставить необходимую информацию для программы / процедуры, выполняемой на шаге задания. Параметры, закодированные в этом операторе, могут передавать данные программе во время выполнения, могут переопределять определенные параметры оператора JOB и могут передавать параметры в процедуру, если оператор EXEC вызывает процедуру вместо непосредственного выполнения программы.
Синтаксис
Ниже приведен основной синтаксис оператора JCL EXEC:
//Step-name EXEC Positional-param, Keyword-param
Описание
Давайте посмотрим описание терминов, используемых в приведенном выше синтаксисе оператора EXEC.
STEP-NAME
Это идентифицирует шаг работы в JCL. Длина может быть от 1 до 8 с буквенно-цифровыми символами.
EXEC
Это ключевое слово для определения его как оператора EXEC.
POSITIONAL-PARAM
Это позиционные параметры, которые могут быть двух типов:
Позиционный параметр | Описание |
---|---|
PGM | Это относится к имени программы, которая будет выполнена на шаге задания. |
PROC | Это относится к имени процедуры, которая будет выполнена на шаге задания. Мы обсудим это в отдельной главе. |
СЛОВО-PARAM
Ниже приведены различные параметры ключевых слов для оператора EXEC. Вы можете использовать один или несколько параметров в зависимости от требований, и они разделяются запятой:
Параметр ключевого слова | Описание |
---|---|
PARM |
Используется для предоставления параметризованных данных программе, которая выполняется на шаге задания. Это поле зависит от программы и не имеет определенных правил, за исключением того, что значение PARM должно быть включено в кавычки в случае наличия специальных символов. Например, приведенный ниже, значение «CUST1000» передается в программу в виде буквенно-цифрового значения. Если программа находится в языке COBOL, значение, переданное через параметр PARM в JCL, принимается в разделе LINKAGE программы. |
ADDRSPC |
Это используется, чтобы указать, требуется ли для шага задания виртуальное или реальное хранилище для выполнения. Виртуальное хранилище является страничным, в то время как реальное хранилище — нет и помещается в основную память для выполнения Шаги задания, которые требуют более быстрого выполнения, могут быть размещены в реальном хранилище. Ниже приводится синтаксис: ADDRSPC = VIRT | РЕАЛЬНЫЙ Если ADDRSPC не закодирован, по умолчанию используется VIRT. |
АККТ |
Это указывает учетную информацию шага задания. Ниже приводится синтаксис: АССТ = (идентификатор пользователя) Это похоже на учетную информацию о позиционных параметрах в операторе JOB. Если он закодирован как в операторе JOB, так и в инструкции EXEC, то учетная информация в операторе JOB применяется ко всем шагам задания, где параметр ACCT не закодирован. Параметр ACCT в операторе EXEC переопределит тот, который присутствует в операторе JOB, только для этого шага задания. |
Используется для предоставления параметризованных данных программе, которая выполняется на шаге задания. Это поле зависит от программы и не имеет определенных правил, за исключением того, что значение PARM должно быть включено в кавычки в случае наличия специальных символов.
Например, приведенный ниже, значение «CUST1000» передается в программу в виде буквенно-цифрового значения. Если программа находится в языке COBOL, значение, переданное через параметр PARM в JCL, принимается в разделе LINKAGE программы.
Это используется, чтобы указать, требуется ли для шага задания виртуальное или реальное хранилище для выполнения. Виртуальное хранилище является страничным, в то время как реальное хранилище — нет и помещается в основную память для выполнения Шаги задания, которые требуют более быстрого выполнения, могут быть размещены в реальном хранилище. Ниже приводится синтаксис:
ADDRSPC = VIRT | РЕАЛЬНЫЙ
Если ADDRSPC не закодирован, по умолчанию используется VIRT.
Это указывает учетную информацию шага задания. Ниже приводится синтаксис:
АССТ = (идентификатор пользователя)
Это похоже на учетную информацию о позиционных параметрах в операторе JOB. Если он закодирован как в операторе JOB, так и в инструкции EXEC, то учетная информация в операторе JOB применяется ко всем шагам задания, где параметр ACCT не закодирован. Параметр ACCT в операторе EXEC переопределит тот, который присутствует в операторе JOB, только для этого шага задания.
Общие параметры ключевых слов оператора EXEC и JOB
Параметр ключевого слова | Описание |
---|---|
ADDRSPC | ADDRSPC, закодированный в операторе JOB, переопределяет ADDRSPC, закодированный в операторе EXEC любого шага задания. |
ВРЕМЯ | Если ВРЕМЯ закодирована в инструкции EXEC, то она применяется только к этому шагу задания. Если он указан в операторе JOB и EXEC, то оба будут действовать и могут вызвать ошибку тайм-аута из-за любого из них. Не рекомендуется использовать параметр TIME одновременно в операторе JOB и EXEC. |
ОБЛАСТЬ, КРАЙ |
Если REGION закодирован в операторе EXEC, он применяется только к этому шагу задания. REGION, закодированный в операторе JOB, переопределяет REGION, закодированный в операторе EXEC любого шага работы. |
COND |
Используется для управления выполнением шага задания на основе кода возврата предыдущего шага. Если параметр COND закодирован в инструкции EXEC шага задания, то параметр COND инструкции JOB (если имеется) игнорируется. Различные тесты, которые могут быть выполнены с использованием параметра COND, описаны в условной обработке. |
Если REGION закодирован в операторе EXEC, он применяется только к этому шагу задания.
REGION, закодированный в операторе JOB, переопределяет REGION, закодированный в операторе EXEC любого шага работы.
Используется для управления выполнением шага задания на основе кода возврата предыдущего шага.
Если параметр COND закодирован в инструкции EXEC шага задания, то параметр COND инструкции JOB (если имеется) игнорируется. Различные тесты, которые могут быть выполнены с использованием параметра COND, описаны в условной обработке.
пример
Ниже приведен простой пример сценария JCL вместе с операторами JOB и EXEC: