Учебники

JCL — Заявление EXEC

Каждый 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: