JCL (Job Control Language)
Последнее изменение этой страницы: 02:55, 22 мая 2016.
Парадигма | язык сценариев |
---|---|
Спроектировано | IBM |
Первый появившийся | 1974 |
OS | DOS, JCL OS |
Расширение файла | .jcl |
Job Control Language (JCL) является именем для языков сценариев, используемых в операционных системах универсального компьютера типа IBM, чтобы сообщить системе о том, как выполнить пакет заданий processing|batch или запустить подсистему.
Есть два различных языка управления заданиями: один появился с операционной системы DOS/360 и до - z/VSE; а другой от ОС/360 до z/OS. Они совместно используют некоторые основные правила синтаксиса и несколько фундаментальных понятий, но в остальном очень отличаются.
У другого мэйнфреймового пакета заданий processing|batch системы была некоторая форма языка управления заданиями, названный ли этим или нет; их синтаксис полностью отличался от версий IBM, но они обычно обеспечивали подобные возможности. Интерактивные computing|Interactive системы включают "командные языки" — командные файлы (такие как PCDOS ".bat" файлы) могут быть выполнены не в интерактивном режиме, но они обычно не обеспечивают столь же устойчивую среду для выполнения не обслуживаемых заданий, как JCL. На некоторых компьютерных системах язык управления заданиями и интерактивный командный язык могут отличаться. Например, разделение по времени Option|TSO в z/OS системах использует CLIST или Rexx, как командные языки вместе с JCL для работы в пакетном режиме.
Содержание
Функции пришедшие из DOS и OS JCL
Работы, шаги и процедуры
И для DOS и для ОС единица работы - задание job. Задание состоит из одного или нескольких шагов, каждый из которых является запросом, чтобы выполнить одну определенную программу. Например, передо днями реляционных баз данных, задание, представить печатный отчет для управления, состоит из следующих шагов: написанная пользователем программа, выбирает надлежащие записи и скопирует их во временный файл; Сортировка временного файла в требуемый порядок, обычно используют утилиты общего назначения; написанная пользователем программа, предоставляет информацию в пути, который прост для конечных пользователей и включает другую полезную информацию, такую как промежуточные итоги; после, написанная пользователем программа, должна отформатировать выбранные страницы информации о конечном пользователе для вывода на монитор или терминал.
И в DOS и в JCL ОС первая "карта" должна быть картой JOB, который:
- Идентифицирует задание.
- Обычно предоставляет информацию, чтобы позволить компьютерному отделу служб тарифицировать надлежащий пользовательский отдел.
- Определяет, как задание в целом должно быть выполнено, например, его приоритет относительно других заданий в очереди.
Процедуры (обычно называемый procs) являются предписьменным JCL для шагов или групп шагов, вставленных в задание. Оба JCLs разрешают такие процедуры. Procs используются для повторения шагов, которые несколько раз используются в одном задании, или в нескольких различных заданиях. Они экономят время программиста и снижают риск ошибок. Чтобы выполнить процедуру, просто включают в файл JCL единственную "карту", которая копирует процедуру с указанного файла и вставляет ее в поток заданий. Кроме того, procs может включать параметры, чтобы настроить процедуру для каждого использования.
Базовый синтаксис
У DOS и JCL ОС есть максимальная применимая длина строки 80 символов, потому что, когда DOS/360 и ОС/360 использовались, основной метод обеспечения нового ввода к компьютерной системе был перфорированными картами на 80 столбцов. Позже стало возможно представить задания через диск или ленточные файлы с более длительными рекордными длинами, но компоненты представления задания операционной системы проигнорировали все после символа 80.
Строго говоря оба семейства операционных систем используют только 71 символ за строку. Символы 73-80 обычно являются порядковыми номерами карты, о которых системе, распечатанной на конце задания, сообщают и полезны для идентификации расположений любых ошибок, о которых сообщает операционная система. Символ 72 обычно оставляется незаполненный, но он может содержать непустой символ, чтобы указать, что оператор JCL продолжается на следующую карту.
Все команды, названия параметров и значения должны быть в прописных буквах, за исключением системы UNIX имена файлов Services|USS.
Все строки за исключением потокового ввода (см. ниже) должны начаться с наклонной черты "/
", и все строки, которые являются процессами операционной системы должны начать с двух наклонных черт //
- всегда запускающийся в первом столбце. Однако есть два исключения: оператор разделителя и оператор комментария. Разделитель начинается с наклонной черты и звездочки (/*
), а оператор комментария в JCL ОС, начинается с пары наклонных черт и звездочки (//*
) или звездочки в JCL DOS.
Множество операторов JCL слишком длинное, чтобы соответствовать в 71 символе, но оно может быть расширено на неопределенном числе карт продолжения:
OS JCL | DOS JCL |
---|---|
Окончание всех фактических карт JCL кроме последней в точке, где синтаксис требует запятой (, ) |
Заканчивающий все фактические карты JCL кроме последней в точке, где синтаксис требует запятой (, ) и нет знака пробела в столбце 72
|
Запуск каждой карты продолжения с // в столбце 1 и затем по крайней мере 1 пространстве карты |
Начинающий каждую карту продолжения пробелами и продолжающийся в столбце 15 |
Структура наиболее распространенных типов карты:
OS JCL | DOS JCL |
---|---|
|
|
Потоковый ввод
DOS и JCL ОС оба поддерживают потоковый ввод, т.е. "карты" должны быть обработаны прикладной программой, а не операционной системой. Данные, которые должны быть сохранены в течение длительного времени, будут храниться на диске, до использования интерактивных терминалов стало распространено, и единственный способ создать и отредактировать такие дисковые файлы был - создание новых данных на картах.
У DOS и JCL ОС есть различные способы сигнализировать запуск потокового ввода, оба конца в потоковом вводе с /*
в столбце 1 карты. Это заставляет операционную систему продолжить обрабатывать JCL в карте после /*
.
JCL ОС
Операторы DD могут использоваться, чтобы описать данные в потоке, а также наборы данных. У оператора DD, имеющего дело с данными в потоке, есть звездочка (*) после идентификатора DD, например, //SYSIN DD *
. Операторы JCL могут быть включены как часть данных в потоке при помощи операторов DD DATA.
JCL DOS Просто введите данные в потоке после EXEC карты для программы.
Сложность
Большая часть сложности JCL ОС, в частности происходит из большого количества опций для определения Набора данных (универсальный компьютер типа IBM) |dataset. В то время как файлы в подобных Unix операционных системах - просто произвольный набор байтов, файлы на ОС/360 и преемниках определили типы файлов и размеры, типы записи и длины, размеры блока и специфичную для устройства информацию, такие как Данные на магнитной ленте, плотность ленты и маркируют информацию. Несмотря на то, что есть системные значения по умолчанию для многих опций есть много всего, что должно быть определено программистом через комбинацию JCL и информации, закодированной в программе. Чем больше информации кодировалось в программе тем она становилась менее гибкой, таким образом, большая часть информации обычно предоставляется через JCL.
Например, для Файлу копирования на Unix пользователь вводит команду как:
cp file dest
JCL мог бы использоваться, чтобы скопировать файл на ОС/360:
//IS198CPY JOB (IS198T30500),'COPY JOB',CLASS=L,MSGCLASS=X //COPY01 EXEC PGM=IEBGENER //SYSPRINT DD SYSOUT=* //SYSUT1 DD DSN=OLDFILE,DISP=SHR //SYSUT2 DD DSN=NEWFILE, // DISP=(NEW,CATLG,DELETE), // SPACE=(CYL,(40,5),RLSE), // DCB=(LRECL=115,BLKSIZE=1150) //SYSIN DD DUMMY
Второе объяснение сложности JCL - различные ожидания выполнения задания, что учтено в IBM средах Unix или PC|PC.
- Низкопроизводительные Системные/360 центральные процессоры были менее мощными и более дорогими, чем PC середины 1980-х, для которых был разработан MS-DOS. ОС/360 был предназначен для систем с минимальной емкостью памяти 32 Кбайт и DOS/360 для систем с минимумом 16 Кбайт. A, IBM 2030|360/30 CPU— низкопроизводительный, когда о Системе/360 представили в 1964— обрабатывающий 5K к 13K инструкций в секунду, первый IBM PC в 1981 имел 16 Кбайт или 64 Кбайт памяти и обработал бы приблизительно 330,000 инструкций в секунду. В результате, JCL должен был быть прост для компьютера, и простота для использования программистами была намного более низким приоритетом. В эту эру программисты были намного более дешевыми, чем компьютеры.
- JCL был разработан для пакетной обработки, таким образом, это должно сказать операционной системе все, включая то, что сделать в зависимости от результата шага. Например,
DISP=(NEW,CATLG,DELETE)
,означает "если программа работает успешно, то создает новый файл и каталогизирует ее; иначе удалите новый файл". Программы работают на PC, часто зависят от пользователя, чтобы очистить после обработки проблем. - Системные/360 машины были разработаны, чтобы быть совместно использованными всеми пользователями в организации. Так
JOB
карта говорит операционной системе, как тарифицировать учетную запись пользователя (IS198T30500
), какая предопределенная сумма хранения и других ресурсов может быть выделена (CLASS=L
), и несколько других вещей.//SYSPRINT DD SYSOUT=*
говорит компьютеру распечатывать отчет программы относительно принтера по умолчанию (вычисляя), который загружен обычной бумагой, не на некотором другом принтере, который мог бы быть загружен бланковыми чеками.DISP=SHR
говорит операционной системе, что другие программы могут читатьOLDFILE
мультипрограммно и одновременно.
Более поздние версии DOS/360 и операционных систем ОС/360 сохраняют большинство функций исходного JCL— несмотря на то, что некоторое упрощение было сделано, чтобы избежать вынужденного переписывания клиентами всех своих JCL файлов. Много пользователей хранят как процедуру любой набор операторов JCL, который, вероятно, будет использоваться несколько раз или дважды.
Синтаксис JCL ОС подобен синтаксису Макроса в Системном/360 ассемблере и поэтому был бы знаком программистам в то время, когда много программ были кодированы на ассемблере.
DOS JCL
Позиционные параметры
// TLBL TAPEFIL,'COPYTAPE.JOB',,,,2
// ASSGN SYS005,200
// DLBL DISKFIL,'COPYTAPE.JOB',0,SD
// EXTENT SYS005,VOL01,1,0,800,1600
Параметры JCL DOS позиционны, что делает их тяжелее, чтобы читать и записывать, но проще для системы проанализировать.
- программист должен помнить, какой элемент куда входит в каждом типе оператора.
- если некоторые дополнительные параметры опущены, но более поздние используются, опущенные параметры должны быть представлены запятыми без пробелов, как в операторе TLBL выше.
JCL DOS в некоторой степени смягчает трудности позиционных параметров при помощи большего количества операторов с меньшим количеством параметров, чем JCL ОС. В примере ASSGN операторы DLBL и EXTENT делают ту же работу (определение, где новый дисковый файл должен храниться) как сингл DD
оператор в JCL ОС.
Зависимость устройства
В исходном DOS/360 и в большинстве версий DOS/VS нужно было определить номер модели устройства, которое должно было использоваться для каждого диска или ленты даже для существующих файлов и для временных файлов, которые были бы удалены в конце задания. Это означало, что, если клиент обновил до более современного оборудования, много файлов JCL должны были быть изменены.
Более поздние члены семейства DOS/360 сокращали количество ситуаций, в которых требовались номера моделей устройства.
Ручное размещение файлов
DOS/360 первоначально требовал, чтобы программист определил расположение и размер всех файлов на хранении Прямого доступа DASD. EXTENT
определяет объем, на котором находится, стартовая абсолютная дорожка и число дорожек. для z/VSE у файла может быть до 256 уровней на различных значениях.
OS JCL
JCL ОС состоит из трех типов основного утверждения:
-
JOB
оператор, который идентифицирует запуск задания и информацию о целом задании, таком как тарификация, выполненный приоритет и пределы времени и пространства. -
EXEC
оператор, который идентифицирует программу, которая будет выполняться на этом шаге задания и информации о шаге. -
DD
операторы (Data Description), которые идентифицируют файл данных, который будет использоваться на шаге и подробной информации о том файле.DD
оператор может быть в любом порядке в шаге.
С самого начала JCL для семейства ОС (до и включая z/OS) был более гибким и его было проще проще использовать.
Следующие примеры используют старый стиль синтаксиса, который был обеспечен прямо от запуска Системы/360 в 1964. Старый синтаксис все еще довольно распространен в заданиях, которые работали больше 20 лет с незначительными изменениями.
Правила для кодирования операторов JCL
Каждый Оператор JCL Разделен на 5 полей.
Поле идентификатора поле комментариев поля параметра поля работы поля имени ^ ^ ^ ^ нет пробела пробел пробел пробел
Поле идентификатора должно быть связано с Поле имени , т.е. не должно быть никаких пробелов между ними.
- Поле идентификатора
//
): поле идентификатора указывает к системе, что оператор - оператор JCL, а не данные. Поле идентификатора состоит из следующего:- Столбцы 1 и 2 всех операторов JCL, кроме оператора разделителя, содержат
//
- Столбцы 1 и 2 оператора разделителя содержат
/*
- Столбцы 1, 2 и 3 из оператора комментария JCL содержат
//*
- Столбцы 1 и 2 всех операторов JCL, кроме оператора разделителя, содержат
- Поле имени : поле имени идентифицирует определенный оператор так, чтобы другие операторы и система могли ссылаться на него. Для операторов JCL это должно быть закодировано следующим образом:
- Имя должно начаться в столбце 3.
- Имя равняется 1 - 8 алфавитно-цифровому или национальному символу (
$
,#
,@
). - Первый символ должен быть алфавитным.
- Имя должно сопровождаться по крайней мере одним пробелом.
- Поле работы : поле работы определяет тип оператора, или командного оператора. Поле работы должен быть кодирован следующим образом:
- Поле работы состоит из символов в поле синтаксиса для оператора.
- Работа следует за полем имени.
- Работе должен предшествовать и сопровождать по крайней мере один пробел.
- Работа будет одним из
JOB
,EXEC
andDD
.
- Поле параметра : поле параметра, также иногда называемое полем операнда, содержит параметры, разделенные запятыми. Поле Parameter должно быть кодировано следующим образом:
- Поле параметра следует за полем работы.
- Полю параметра должен предшествовать по крайней мере один пробел.
- Поле параметра содержит параметры, которые являются ключевыми словами, которые раньше в операторе предоставляли информацию, такую как имя набора данных или программа.
- Поле комментариев : Это содержит комментарий. Поле комментариев должен быть закодирован следующим образом:
- Поле комментариев следует за полем параметра.
- Полю комментариев должен предшествовать по крайней мере один пробел.
Ключевой параметр
//NEWFILE DD DSN=MYFILE01,UNIT=DISK,SPACE=(TRK,80,10),
// DCB=(LRECL=100,BLKSIZE=1000),
// DISP=(NEW,CATLG,DELETE)
Все главные параметры операторов OS JCL идентифицированы ключевыми словами и могут быть представлены в любом порядке. Несколько из них содержат два или больше подпараметра, такие как SPACE
(сколько дискового пространства, чтобы выделить новому файлу) и DCB
(подробная спецификация расположения файла) в примере выше. Подпараметры иногда позиционны, как в SPACE
, но у самых сложных параметров, таких как DCB
, есть подпараметры ключевого слова.
Позиционный параметр должен предшествовать ключевым параметрам. Ключевые параметры всегда присваивают значения ключевому слову, используя знак равенства (=
).
Доступ к данным
Оператор DD
для справочных данных. Этот оператор соединяет внутреннее описание программы набора данных к данным по внешним устройствам: диски, ленты, карты, принтеры, и т.д. DD может предоставить информацию, такую как тип устройства (например, '181', '2400-5', 'TAPE'), Объем (вычислив) порядковый номер для лент или дисков и описания файла данных, вызванного DCB
подпараметр после того, как Data Control Block (DCB) в программе раньше идентифицировал файл. Информация, описывающая файл, может быть получена из трех источников: информация о карте DD, информация о метке набора данных для существующего файла, хранившего на ленте или диске и макросе DCB, кодированы в программе. Когда файл открыт, эти данные объединены с информацией о DD, имеющей приоритет по информации о метке и информации о DCB, имеющей приоритет по обоим. Обновленное описание тогда записано обратно к метке набора данных. Это может привести к непреднамеренным последствиям, если неправильная информация о DCB предоставлена
Независимость от устройств
С самого начала JCL для семейства ОС предложил высокую степень независимости от устройств. Даже для новых файлов, которые должны были быть сохранены после конца задания, можно было определить тип устройства в общих обозначениях, например, UNIT=DISK
или UNIT=TAPE
. Конечно, если имело значение, что можно было бы определить номер модели или даже определенный адрес устройства.
Параметризованные процедуры
Процедуры OS JCL были параметризованы от запуска, делая их скорее как ассемблированый макрос или даже простые подпрограммы и таким образом увеличив их повторное использование в широком диапазоне ситуаций.
//MYPROC PROC FNAME=MYFILE01,SPTYPE=TRK,SPINIT=50,SPEXT=10,LR=100,BLK=1000
.....
//NEWFILE DD DSN=&FNAME,UNIT=DISK,SPACE=(&SPTYPE,&SPINIT,&SPEXT),
// DCB=(LRECL=&LR,BLKSIZE=&BLK),DISP=(NEW,CATLG,DELETE)
....
В этом примере все значения, начинающиеся с амперсандов"&
", являются параметрами, которые будут определены, когда задание запросит, чтобы процедура использовалась. Оператор PROC, в дополнение к предоставлению процедуре имени, позволяет программисту определять значения по умолчанию для каждого параметра. Таким образом, можно было использовать одну процедуру в этом примере, чтобы создать новые файлы многих различных размеров и разметок. Например:
//JOB01 JOB ..........
//STEP01 EXEC MYPROC FNAME=JOESFILE,SPTYPE=CYL,SPINIT=10,SPEXT=2,LR=100,BLK=2000
or
//JOB02 JOB ..........
//STEP01 EXEC MYPROC FNAME=SUESFILE,SPTYPE=TRK,SPINIT=500,SPEXT=100,LR=100,BLK=5000
Referbacks
В многоступенчатых заданиях более поздний шаг может использовать referback вместо того, чтобы определить полностью файл, который был уже определен на более раннем шаге. Например:
//MYPROC ................
//MYPR01 EXEC PGM=..........
//NEWFILE DD DSN=&MYFILE,UNIT=DISK,SPACE=(TRK,50,10),
// DCB=(LRECL=100,BLKSIZE=1000),DISP=(NEW,CATLG,DELETE)
....
//MYPR02 EXEC PGM=..........
//INPUT01 DD DSN=*.MYPR01.NEWFILE
Здесь, MYPR02
использует файл, идентифицированный в качестве NEWFILE
на шаге MYPR01
(DSN
означает "имя набора данных" и определяет имя файла).
В заданиях, которые содержат смесь специфичного для задания JCL и вызовов процедуры, специфичный для задания шаг может вернуться к файлу, который был полностью определен в процедуре, например:
//MYJOB JOB ..........
//STEP01 EXEC MYPROC Using a procedure
//STEP02 EXEC PGM=......... Step which is specific to this job
//INPUT01 DD DSN=*.STEP01.MYPR01.NEWFILE
где DSN=*.STEP01.MYPR01.NEWFILE
означает, "используют файл, идентифицированный в качестве NEWFILE
на шаге MYPR01
процедуры, используемой шагом STEP01
этого задания". Используя имя шага, который назван процедурой, а не именем процедуры позволяет программисту несколько раз использовать одну и ту же процедуру в том же задании без беспорядка, где экземпляр процедуры используется в referback.
Комментарии
Файлы JCL могут быть длинными и сложными, и язык не просто считать. (JCL был описан как "враждебный к пользователю".) JCL ОС позволяет программистам включать два типа пояснительного текста:
- На той же строке где оператор JCL. Они могут быть расширены, поместив символ продолжения (обычно"
X
") в столбце 72, сопровождаемом"//
" в столбцах 1-3 следующей строки. - Строки, которые содержат только комментарий, часто раньше объясняли важные идеи о полной структуре JCL, а не локальные детали. Строки только для комментария также используются, чтобы делить долгие, сложные файлы JCL на разделы.
//MYJOB JOB ..........
//* Lines containing only comments.
//******** Often used to divide JCL listing into sections ********
//STEP01 EXEC MYPROC Comment 2 on same line as statement
//STEP02 EXEC PGM=......... Comment 3 has been extended and X
// overflows into another line.
//INPUT01 DD DSN=STEP01.MYPR01.NEWFILE
Конкатенация входных файлов
JCL ОС позволяет программистам связывать ("цепочечные") входные файлы так, чтобы они появились к программе как один файл, например:
//INPUT01 DD DSN=MYFILE01,DISP=SHR // DD DSN=JOESFILE,DISP=SHR // DD DSN=SUESFILE,DISP=SHR
У 2-х и третьих операторов нет значения в поле имени, таким образом, ОС рассматривает их как связи. Файлы должны иметь тот же основной тип (почти всегда последовательный) и должны иметь ту же записанную длину.
Условное выражение, обрабатывающее
ОС ожидает, что программы установят код возврата, который определяет, как успешный программа думала, что это было. Наиболее распространенные стандартные значения are:
- 0 = Нормальный - все OK
- 4 = Предупреждение - незначительные ошибки или проблемы
- 8 = Ошибка - значительные ошибки или проблемы
- 12 = Серьезная ошибка - главные ошибки или проблемы в результатах (например, файлы или представленные отчеты) нельзя доверять.
- 16 = Терминальная ошибка - очень серьезные проблемы, не используйте результаты!
JCL ОС именует код возврата как COND
("код условия") и может использовать его, чтобы решить, выполнить ли последующие шаги. Однако в отличие от большинства современных языков программирования, условные шаги в JCL ОС не выполняются, если указанное условие - true— таким образом давало начало мнемосхеме, "Если это - истина, переходит через [не выполняя код]". Еще более того условие может только быть определено после шага, к которому оно относится. Например:
//MYJOB JOB ...........
//STEP01 EXEC PGM=PROG01
....
//STEP02 EXEC PGM=PROG02,COND=(4,GT,STEP01)
....
//STEP03 EXEC PGM=PROG03,COND=(8,LE)
....
//STEP04 EXEC PGM=PROG04,COND=(ONLY,STEP01)
....
//STEP05 EXEC PGM=PROG05,COND=(EVEN,STEP03)
....
средства:
- Выполнение
STEP01
, и собирает свой код возврата. - Не работает
STEP02
, если номер 4 больше, чемSTEP01
код возврата. - Не работает
STEP03
, если номер 8 меньше чем или равен какому-либо предыдущему коду возврата. - Выполнение
STEP04
, только еслиSTEP01
неправильно законченный. - Выполнение
STEP05
, даже еслиSTEP03
неправильно законченный.
Это переводит в следующий псевдокод:
run STEP01 if STEP01's return code is greater than or equal to 4 then run STEP02 end if if any previous return code is less than 8 then run STEP03 end if if STEP01 abnormally ended then run STEP04 end if if STEP03 abnormally ended then run STEP05 else run STEP05 end if
Обратите внимание на то, что, читая шаги, содержащие, COND
операторы назад, можно понять их довольно легко. Это - пример Перемещения (логика) |logical перемещение.
Однако IBM позже представила, ЕСЛИ условие в JCL, таким образом, делающем кодирование несколько проще для программистов при сохранении COND
параметр .
Утилиты JCL
JCL использует много утилит универсального компьютера типа IBM programs|IBM утилиты, чтобы помочь в обработке данных. Утилиты являются самыми полезными в пакетной обработке. Утилиты могут быть сгруппированы в три набора:
- Утилиты Набора данных - Создают, распечатывают, копируют, перемещают и удаляют наборы данных.
- Системные Утилиты - Поддерживают и управляют каталогами.
- Access Method Services - Метод доступа к виртуальной памяти (VSAM) Процесса и non-VSAM наборы данных.
Язык управления ввода заданий
В системах универсального компьютера типа IBM Job Entry Control Language или JECL набор командного языка, проверяют утверждения, которые предоставляют информацию для подсистемы спулинга – Подсистема ввода заданий 2/3|JES2 или JES3 на z/OS или Питании IBM (программное обеспечение) |VSE/POWER для VSE (операционная система) |z/VSE. Операторы JECL могут "определить, на котором сетевой компьютер, чтобы выполнить Задание stream|job, когда можно выполнить задание, и куда отправить получающийся вывод JECL отличен от языка управления заданиями (JCL), который сообщает операционной системе, как выполнить задание.
Есть различные версии JECL для этих трех сред.
ОС/360
Ранняя версия JECL для Дистанционного ввода заданий ОС/360 (Программа Номер 360S-RC-536) использовала идентификатор ..
в столбцах 1– 2 из входной записи и состояли из единственного оператора управления: JED
(Job Entry Definition). "Команды рабочей станции", такие как LOGON
, LOGOFF
, и STATUS
также начались с ..
 
z/OS
Для JES2 JECL операторы запускаются с /*
для JES3, который они запускают с //*
, за исключением удаленного /*SIGNON
и /*SIGNOFF
команды. Команды для этих двух систем сильно отличаются.
JES2 JECL
Следующие операторы JES2 JECL используются в z/OS 1.2.0
JECL команда | Функция | Пример |
---|---|---|
/*$command |
Вводит оператора (консоль) команда | /*$S PRINTER3
|
/*JOBPARM |
Определяет значения для связанных с заданием параметров | /*JOBPARM TIME=10
|
/*MESSAGE |
Отправляет сообщение на консоль | /*MESSAGE CALL JOE AT HOME IF JOB ABENDS
|
/*NETACCT |
Определяет номер счета для сетевого задания | /*NETACCT 12345
|
/*NOTIFY |
Определяет место назначения для уведомлений | /*NOTIFY SAM
|
/*OUTPUT |
Определяет опции набора данных SYSOUT | /*OUTPUT FORMS=BILL
|
/*PRIORITY |
Устанавливает приоритет набора заданий | /*PRIORITY 15
|
/*ROUTE |
Определяет выходное место назначения или узел выполнения | /*ROUTE PRT RMT5
|
/*SETUP |
Монтирование объема запросов или другая оффлайновая работа | /*SETUP TAPE01,TAPE02
|
/*SIGNOFF |
завершает удаленный сеанс | /*SIGNOFF
|
/*SIGNON |
начинает удаленный сеанс | /*SIGNON REMOTE5 password
|
/*XEQ |
Определяет узел выполнения | /*XEQ DENVER
|
/*XMIT |
Указывает задание или набор данных, который будет передан к другому сетевому узлу | /*XMIT NYC
|
JES3 JECL
Следующие операторы JES3 JECL используются в z/OS 1.2.0
JECL команда | Функция | Пример |
---|---|---|
//**command |
Вводит оператора JES3 (консоль) команда | |
//*DATASET |
Отмечает начало набора данных в потоке | |
//*ENDDATASET |
Отмечает конец набора данных в потоке | |
//*ENDPROCESS |
Отмечает конец серии //*PROCESS операторы |
|
//*FORMAT |
Определяет SYSOUT опции набора данных |
|
//*MAIN |
Определяет значения для связанных с заданием параметров | |
//*NET |
Идентифицирует отношения среди заданий, используя JES3 зависимое управление заданиями | |
//*NETACCT |
Определяет номер счета для сетевого задания | |
//*OPERATOR |
Отправляет сообщение в пульт оператора | |
//*PAUSE |
Останавливает ввод | |
//*PROCESS |
Идентифицирует нестандартное задание | |
//*ROUTE |
Определяет узел выполнения для задания | |
/*SIGNOFF |
Заканчивает удаленную сессию | /*SIGNOFF
|
/*SIGNON |
Начинает удаленную сессию |
z/VSE
Для VSE JECL операторы запускаются с '* $$
' (отметьте единственное пространство). JECL определяет запуск и строки конца заданий JCL. Это советует VSE (операционная система) |VSE/IBM тому, как это задание обработано. Операторы JECL определяют имя задания (используемый VSE/POWER), класс, в котором задание обработано, и расположение задания (т.е. D
, L
, K
, H
).
JECL команда | Функция | Пример |
---|---|---|
* $$ CTL |
Устанавливает входной класс по умолчанию | * $$ CTL CLASS=A
|
* $$ JOB |
Определяет атрибуты задания | * $$ JOB JNM=PYRL,PRI=9
|
* $$ EOJ |
Отмечает конец задания | * $$ EOJ
|
* $$ RDR |
Вставляет файл от 3540 во входной поток | * $$ RDR SYS005,'fname',2
|
* $$ PRT |
Определяет, что характеристики файлов печати с буферизацией "LST являются синонимом для "PRT" | * $$ PRT FNO=STD,COPY=2
|
* $$ PUN |
Определяет характеристики spooled файлов удара | * $$ PUN DISP=T,TADDR=280
|
* $$ SLI |
Вставляет данные ("книга") от исходной библиотеки оператора во входной поток | * $$ SLI A.JCL1
|
* $$ DATA |
Вставляет данные от картридера в книгу, полученную от исходной библиотеки оператора | * $$ DATA INPUT1
|
Пример:
* $$ JOB JNM=NAME,DISP=K,CLASS=2 [некоторые операторы JCL здесь] * $$ EOJ
ISSN 2542-0356
Следуй за Полисом
Оставайся в курсе последних событий
Лицензия
Если не указано иное, содержание этой страницы доступно по лицензии Creative Commons «Attribution-NonCommercial-NoDerivatives» 4.0, а примеры кода – по лицензии Apache 2.0. Подробнее см. Условия использования.