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

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

  • 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

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

  • ICKDSF
  • IEHINITT
  • IEHLIST
  • IEHMOVE
  • IEHPROGM

Narzędzia zestawów danych edytuj

  • IDCAMS
  • IEBCOMPR
  • IEBCOPY
  • IEBDG
  • IEBEDIT
  • IEBGENER
  • IEBIMAGE
  • IEBISAM
  • IEBPTPCH
  • IEBUPDTE
  • IEFBR14

Linki zewnętrzne edytuj