JCL - Konfiguracja środowiska

Instalowanie JCL w systemie Windows / Linux

Istnieje wiele bezpłatnych emulatorów komputerów mainframe dostępnych dla systemu Windows, których można używać do pisania i uczenia się przykładowych JCL.

Jednym z takich emulatorów jest Hercules, który można łatwo zainstalować w systemie Windows, wykonując kilka prostych kroków podanych poniżej:

  • Pobierz i zainstaluj emulator Hercules, który jest dostępny na stronie domowej Hercules -: www.hercules-390.eu

  • Kompletny przewodnik po różnych poleceniach pisania i wykonywania JCL można znaleźć pod adresem URL www.jaymoseley.com/hercules/installmvs/instmvs2.htm

Hercules to implementacja oprogramowania typu open source dla architektur systemu mainframe System / 370 i ESA / 390, będąca uzupełnieniem najnowszej 64-bitowej architektury z / Architecture. Hercules działa pod systemami Linux, Windows, Solaris, FreeBSD i Mac OS X.

Uruchamianie JCL na komputerach mainframe

Użytkownik może połączyć się z serwerem mainframe na wiele sposobów, takich jak cienki klient, fałszywy terminal, system klienta wirtualnego (VCS) lub system wirtualnego pulpitu (VDS).

Każdy poprawny użytkownik otrzymuje identyfikator logowania, aby wejść do interfejsu Z / OS (TSO / E lub ISPF). W interfejsie Z / OS JCL może być zakodowany i przechowywany jako element członkowski w partycjonowanym zestawie danych (PDS). Po przesłaniu JCL jest on wykonywany, a dane wyjściowe otrzymywane zgodnie z wyjaśnieniami w sekcji dotyczącej przetwarzania zadań w poprzednim rozdziale.

Struktura JCL

Podstawową strukturę JCL z typowymi instrukcjami podano poniżej:

//SAMPJCL JOB 1,CLASS=6,MSGCLASS=0,NOTIFY=&SYSUID          (1)
//*                                                        (2)
//STEP010  EXEC PGM=SORT                                   (3) 
//SORTIN   DD DSN=JCL.SAMPLE.INPUT,DISP=SHR                (4)
//SORTOUT  DD DSN=JCL.SAMPLE.OUTPUT,                       (5)
//         DISP=(NEW,CATLG,CATLG),DATACLAS=DSIZE50                
//SYSOUT   DD SYSOUT=*                                     (6) 
//SYSUDUMP DD SYSOUT=C                                     (6) 
//SYSPRINT DD SYSOUT=*                                     (6) 
//SYSIN    DD *                                            (6) 
  SORT FIELDS=COPY                                    
  INCLUDE COND=(28,3,CH,EQ,C'XXX')                                    
/*                                                         (7)

opis programu

Ponumerowane oświadczenia JCL zostały wyjaśnione poniżej:

(1) JOB statement - Określa informacje wymagane do SPOOLing zadania, takie jak identyfikator zadania, priorytet wykonania, identyfikator użytkownika, który ma być powiadamiany po zakończeniu zadania.

(2) //* statement - To jest komentarz.

(3) EXEC statement- Określa PROC / Program do wykonania. W powyższym przykładzie wykonywany jest program SORT (tj. Sortuje dane wejściowe w określonej kolejności)

(4) Input DD statement- Określa typ danych wejściowych, które mają być przekazane do programu wymienionego w (3). W powyższym przykładzie plik Physical Sequential (PS) jest przekazywany jako dane wejściowe w trybie współdzielonym (DISP = SHR).

(5) Output DD statement- Określa typ danych wyjściowych, które mają być tworzone przez program po wykonaniu. W powyższym przykładzie tworzony jest plik PS. Jeśli instrukcja wykracza poza 70. pozycję w wierszu, to jest kontynuowana w następnym wierszu, który powinien zaczynać się od „//”, po którym następuje jedna lub więcej spacji.

(6)Mogą istnieć inne typy instrukcji DD w celu określenia dodatkowych informacji dla programu (w powyższym przykładzie: warunek SORT jest określony w instrukcji SYSIN DD) i określenia miejsca docelowego dla dziennika błędów / wykonania (przykład: SYSUDUMP / SYSPRINT). Instrukcje DD mogą być zawarte w zbiorze danych (plik mainframe) lub jako dane strumieniowe (informacje zakodowane na stałe w JCL), jak podano w powyższym przykładzie.

(7) /* oznacza koniec danych w strumieniu.

Wszystkie instrukcje JCL z wyjątkiem danych strumieniowych zaczynają się od //. Przed i po słowach kluczowych JOB, EXEC i DD powinna znajdować się przynajmniej jedna spacja, aw pozostałej części instrukcji nie powinno być spacji.

Typy parametrów JOB

Każdemu z instrukcji JCL towarzyszy zestaw parametrów, które pomagają systemom operacyjnym w zakończeniu wykonywania programu. Parametry mogą być dwojakiego rodzaju:

Parametry pozycyjne

  • Pojawia się w ustalonym miejscu i kolejności w wyciągu. Przykład: Informacje księgowe Parametr może pojawić się tylko poJOBsłowo kluczowe i przed parametrem nazwy programisty i parametrami słowa kluczowego. Jeśli pominięty zostanie parametr pozycyjny, należy go zastąpić przecinkiem.

  • Parametry pozycyjne są obecne w instrukcjach JOB i EXEC. W powyższym przykładzie PGM jest parametrem pozycyjnym zakodowanym poEXEC słowo kluczowe.

Parametry słów kluczowych

  • Są kodowane po parametrach pozycyjnych, ale mogą pojawiać się w dowolnej kolejności. Parametry słów kluczowych można pominąć, jeśli nie są wymagane. Ogólna składnia to KEYWORD = wartość . Przykład: MSGCLASS = X, tj. Protokół zadania jest przekierowywany do wyjściowego SPOOL po zakończeniu zadania.

  • W powyższym przykładzie CLASS, MSGCLASS i NOTIFY są parametrami słów kluczowych instrukcji JOB. Instrukcja EXEC może również zawierać parametry słów kluczowych.

Parametry te zostały szczegółowo omówione w kolejnych rozdziałach wraz z odpowiednimi przykładami.