Job Control Language
Job Control Language (JCL) – język opisu zadań, jest zbiorem wyrażeń (poleceń), które są przekazywane do systemu, aby wykonać program, podążając według pewnych instrukcji wyjściowych i wejściowych. Takie wyrażenia przekazują systemowi, gdzie znajdują się odpowiednie wejścia i jak należy przetworzyć owo wejście (uruchomienie programu) i co z rezultatem działania programu. Job pozwala na wykonanie zadania (zadań) w tle pracy systemu.
Wyrażenia
[edytuj | edytuj kod]Występuje 18 klas wyrażeń dla JCL: JOB, EXEC, DD, PROC, PEND, COMMENT, NULL, DELIMITER, OUTPUT, JCL COMMAND (obsługiwany przez JES2), CNTL, ENDCNTL, COMMAND, IF/THEN/ELSE/ENDIF, INCLUDE, JCLLIB, SET, XMIT (obsługiwany przez JES3).
Najważniejszymi wyrażeniami z powyższych klas są: JOB, EXEC, DD.
- JOB - to wyrażenie musi znajdować się na początku każdego job i określa przetwarzane informacje. Przykład użycia wyrażenia JOB:
//jobname JOB positionals,keywords ---- //MOJJOB1 JOB (ACCT),'USER.U',CLASS=A
Inne parametry, które może przyjmować wyrażenie JOB: REGION, NOTIFY, USER, TYPRUN, CLASS, MSGCLASS, MSGLEVEL.
- EXEC (EXECUTE) - to wyrażenie musi występować na początku każdego step, definiuje, jaki program lub procedurę należy uruchomić, dostarcza parametrów. W każdym job może znajdować się maksymalnie 255 step.
//stepname EXEC positional,keywords ---- //STEP1 EXEC PGM=(executable program name or a JCL procedure name(PROC=))
- DD (Data Description) - wyrażenie opisujące wejścia/wyjścia (input/output) data sets i ich własności. Wyrażenie DD zazwyczaj występuje po wyrażeniu EXEC.
//ddname DD ... ---- //INDD1 DD ... //OUTDD1 DD ...
Jobname, stepname, ddname powinny być unikatowe, maksymalna długość wynosi 8 znaków, positional i keyword są to parametry. Przykładowy fragment zadania wykorzystujący powyższe wyrażenia:
000100 //MOJJOB1 JOB NOTIFY=&SYSUID,CLASS=A 000110 //STEP1 EXEC PGM=IEFBER14 000120 //DD1 DD DSN=TEST.ALOTEST1.PDS,DISP=(NEW,CATLG,CATLG), 000130 // LIKE=TEST.ALOTEST.PDS ...
Podstawowe zasady kodyfikacji w JCL
[edytuj | edytuj kod]- Wyrażenia JCl zaczynają się w 1 kolumnie i poprzedzone są
//
na początku linii. - Linie komentarzy rozpoczynają się od
//*
- Od 1 do 71 kolumny umieszczamy kod
- Przecinek na końcu wyrażenia świadczy o kontynuacji poprzedniej linii, kontynuacja musi się zaczynać pomiędzy 4 a 16 kolumną
- W przypadku gdy na początku linii tylko występuje
//
świadczy to o końcu zadania
Narzędzia JCL
[edytuj | edytuj kod]JCl korzysta z pewnych narzędzi, które wspomagają przetwarzanie danych. Narzędzia te pozwalają na kopiowanie, tworzenie, usuwanie zestawów danych oraz wykonywanie na nich wszelkich operacji, dzieli się je na narzędzia systemowe i zestawów danych.
Narzędzia systemowe
[edytuj | edytuj kod]- ICKDSF
- IEHINITT
- IEHLIST
- IEHMOVE
- IEHPROGM
Narzędzia zestawów danych
[edytuj | edytuj kod]- IDCAMS
- IEBCOMPR
- IEBCOPY
- IEBDG
- IEBEDIT
- IEBGENER
- IEBIMAGE
- IEBISAM
- IEBPTPCH
- IEBUPDTE
- IEFBR14