z/OS Job Control Language - PowerPoint PPT Presentation

About This Presentation
Title:

z/OS Job Control Language

Description:

Title: Der Referent - der Anfang Last modified by: Ralf Seidler Created Date: 9/9/1998 10:41:14 AM Document presentation format: Bildschirmpr sentation (4:3) – PowerPoint PPT presentation

Number of Views:425
Avg rating:3.0/5.0
Slides: 152
Provided by: cps4uDewi
Category:
Tags: control | job | language

less

Transcript and Presenter's Notes

Title: z/OS Job Control Language


1
z/OS Job Control Language
  • Grundlagen

2
Notizen
3
Ziele des Seminars
  • Sprache JCL kennen lernen
  • Syntax der JCL beherrschen
  • fit in Datei-Formen werden
  • Praxisbeispiele kennen lernen
  • üben üben üben
  • Besonderheiten

4
Notizen
5
Inhalt
  • Einführung
  • Job-Beschreibung, Step-Beschreibung
  • Datei-Beschreibung (1)
  • Datei-Beschreibung (2)
  • Standard- und Dienstprogramme - Überblick
  • Job-Steuerung, Step-Steuerung
  • Datei-Beschreibung (3)
  • Include-Gruppe, JCL-Prozedur
  • Diskussion und Austausch

6
Einführung
  • Begriffe

DD-Name
Warte- Schlange
Beding- ungen
Jobkarte
Para- meter
Initiator
Syntax
Literatur
Spool
Job
Include- Gruppe
Kom- mentar
Adress- raum
Step
Prozedur
7
Notizen
8
Notizen
9
Einführung
  • Literatur
  • Bookmanager
  • local im Intranet oder im Internet bei IBM
  • Internetseiten
  • siehe Suchmaschinen
  • (z.B. http//www.isc.ucsb.edu/tsg/jcl.html)
  • G.D.Brown
  • JCL Jobcontrol Language im Betriebssystem z/OS
  • 4. Auflage
  • ISBN 978-3486273977 64,80

10
Einführung
  • JCL heißt
  • Jakarta Commons Logging
  • JEDI Code Library
  • Johann Christian Lotter
  • Jazzclub Lippstadt
  • Jar Class Loader
  • Johannes C. Laxander
  • Job Control Language

11
Einführung
  • Job Control Language
  • //A12345XX JOB CLASSA,MSGCLASST
  • //STEP01 EXEC PGMKOPIEREN
  • //EINGABE DD DISPSHR,DSNX.Y.Z
  • //AUSGABE DD DISPOLD,DSNA.B.C
  • //STEP02 EXEC PGMSORTIERE
  • //SYSIN DD DISPSHR,DSNA.B.C
  • //SYSOUT DD DISPOLD,DSND.E.F
  • //STEP03 EXEC PGMDRUCKEN
  • //INPUT DD DISPSHR,DSND.E.F
  • //DRUCK DD SYSOUTF
  • //SYSPRINT DD SYSOUT

Step
Job
Step
Step
Jobanweisung
Stepanweisung
DD-Anweisung
12
Einführung
  • JES2 / JES3

Input
JES2
JES3
Input
Conversion Interpretation
Conversion Interpretation
Main Device Scheduling
Generalized Main Scheduling
Job Scheduling for Execution
Job Scheduling for Execution
Output
Output
Purge
Purge
13
Einführung
  • Eingabe-, Ausgabe-Warteschlangen (1)

Warteschlangen
Adressräume
14
Einführung
  • Eingabe-, Ausgabe-Warteschlangen (2)

Adressräume
Ausgabe-Warteschlangen
15
Einführung
  • JCL-Anweisungen Überblick

16
Notizen
17
Einführung
  • JCL-Anweisungen Syntax 1

//name op-code param1,param2... kommentar
1 3 12 17

71 72
18
Einführung
  • JCL-Anweisungen Syntax 2

//name op-code param1,param2...
num


72
//name op-code param1,param2-1...
num
// param2-2,param3...
num
4 16

72
19
Einführung
  • JCL-Anweisungen - Parameterarten
  • Positionsparameter
  • //XV10733A JOB RUV,SEIDLER
  • //XV10733A JOB ,SEIDLER
  • Schlüsselwortparameter
  • //XV10733A JOB ...,CLASSA,MSGCLASSY
  • Subparameter
  • //ddname DD DSNdatei.a.b,
    DISP(NEW,CATLG,DELETE)
  • Positions- und Schlüsselwortparameter
  • //XV10733A JOB ,SEIDLER,CLASSA,MSGCLASSY

20
Notizen
21
Einführung
  • Übung(en)
  • Kapitel 1.1 Auswahl und Test User-ID
  • Kapitel 1.2 Bibliothek erstellen

22
Notizen
23
Notizen
24
Notizen
25
Inhalt
  • Einführung
  • Job-Beschreibung, Step-Beschreibung
  • Datei-Beschreibung (1)
  • Datei-Beschreibung (2)
  • Standard- und Dienstprogramme - Überblick
  • Job-Steuerung, Step-Steuerung
  • Datei-Beschreibung (3)
  • Include-Gruppe, JCL-Prozedur
  • Diskussion und Austausch

26
Job-Beschreibung, Step-Beschreibung
  • Begriffe

MSG LEVEL
REGION
TYPRUN
Jobkarte
MSG CLASS
Initiator
PARM
COND
NOTIFY
EXEC
Job
Accounting
Syntax
Name
Step
Programm
Prozedur
27
Notizen
28
Notizen
29
Job-Beschreibung, Step-Beschreibung
  • JOB-Anweisung
  • ist erste Anweisung
  • definiert Beginn eines Jobs
  • es gibt
  • Namensfeld
  • Operationsfeld
  • Parameterfeld
  • Standards beachten

30
Job-Beschreibung, Step-Beschreibung
  • JOB-Anweisung Abrechnungsinformation
  • Syntax
  • (accounting-number,accounting-information...)
  • abhängig von Verrechnungskriterien wie
  • Speicherplatz
  • I/O-Einheiten
  • CPU
  • Hauptspeicherleistung
  • Beispiel
  • //JOBX JOB (3SLX510,000,00T NR0003)
  • //JOB1 JOB (CPS4IT,TRAINING)
  • //JOB2 JOB CPS4IT,TRAINING

31
Job-Beschreibung, Step-Beschreibung
  • JOB-Anweisung Programmierername
  • Syntax
  • ,programmierer-nameoptional
  • Beispiel
  • //JOB1 JOB (CPS4IT,TRAINING),R.SEIDLER
  • //JOB2 JOB ,SEIDLER
  • //JOB3 JOB (CPS4IT,TRAINING),MAYERHUBER

32
Job-Beschreibung, Step-Beschreibung
  • Übung(en)
  • Kapitel 2.1 minimale Jobkarte erstellen
  • Jobkarte erstellen
  • Submit
  • Ausgabe analysieren

33
Job-Beschreibung, Step-Beschreibung
  • JOB-Anweisung TYPRUN
  • Syntax
  • TYPRUNHOLDSCANoptional
  • Beispiel
  • //JOB1 JOB (CPS4IT,TRAINING),
  • // R.SEIDLER,TYPRUNSCAN

34
Job-Beschreibung, Step-Beschreibung
  • JOB-Anweisung CLASS
  • Syntax
  • CLASSjobclassoptional
  • Beispiel
  • //JOB1 JOB (CPS4IT,TRAINING),CLASSA
  • //JOB2 JOB (CPS4IT,TRAINING),CLASSC

Job Queue CLASSA CLASSC CLASSF
JOB1 JOB2 JOB4 JOB3
JOB6
JOB7
Spool
Initiator (CLASSA,C)
Initiator (CLASSF)
35
Job-Beschreibung, Step-Beschreibung
  • JOB-Anweisung MSGCLASS
  • Syntax
  • MSGCLASSclassoptional
  • Beispiel
  • //JOBX JOB (CPS4IT,TRAINING),SEIDLER,
  • // CLASSC,MSGCLASSR

Input
MSGCLASSR JOB1 JOB2 . . . JOBn
Conversion
Execution
MSGCLASSA lokaler Drucker
Output
Purge
MSGCLASSX DUMMY Klasse
36
Job-Beschreibung, Step-Beschreibung
  • JOB-Anweisung MSGLEVEL
  • Syntax
  • MSGLEVEL(statements,messages)
  • statements 0,1,2
  • messages 0,1(Die unterschiedlichen
    Auswirkungen sehen wir uns während der Übungen
    an.)
  • Beispiel
  • //JOBX JOB ,SEIDLER,CLASSA,MSGLEVEL(1,1)

37
Job-Beschreibung, Step-Beschreibung
  • Übung(en)
  • Kapitel 2.2 Jobkarte erweitern
  • CLASS
  • MSGCLASS
  • verschiedene Angaben für die Parameter testen

38
Notizen
39
Job-Beschreibung, Step-Beschreibung
  • JOB-Anweisung TIME
  • Syntax
  • TIME(minutes,seconds)
  • Beispiel
  • //JOB1 JOB ,SEIDLER,CLASSA,TIME(1,30)
  • //JOB2 JOB ,SEIDLER,CLASSA,TIME(,30)
  • //JOB3 JOB ,SEIDLER,CLASSC,TIME1
  • //JOB4 JOB ,SEIDLER,CLASSK,TIMENOLIMIT
  • //JOB5 JOB ,SEIDLER,CLASSX,TIME1440

40
Job-Beschreibung, Step-Beschreibung
  • JOB-Anweisung REGION
  • Syntax
  • REGION
  • Beispiel
  • //JOB1 JOB ,SEIDLER,CLASSA,REGION4096K
  • //JOB2 JOB ,SEIDLER,CLASSC,REGION4M
  • //JOB3 JOB ,SEIDLER,CLASSC,REGION0M

nnnnnnK mmmmM
41
Job-Beschreibung, Step-Beschreibung
  • JOB-Anweisung COND
  • Syntax
  • COND(returncode,operator)
  • Beispiel
  • //JOBX JOB ,SEIDLER,CLASSC,COND(0,NE)
  • //JOBY JOB ,SEIDLER,CLASSC,COND(8,LT)

42
Job-Beschreibung, Step-Beschreibung
  • JOB-Anweisung NOTIFY
  • Syntax
  • NOTIFYuserid
  • Beispiel
  • //JOB1 JOB ,SEIDLER,CLASSA,COND(0,NE),
  • // NOTIFYXV10733
  • //JOB2 JOB ,SEIDLER,CLASSC,COND(8,LT),
  • // NOTIFYSYSUID

Input
Conversion
Execution
Message
Output
3270-Terminal
Purge
43
Job-Beschreibung, Step-Beschreibung
  • JOB-Anweisung BYTES, LINES, PAGES
  • Syntax
  • BYTESzahl1
  • LINESzahl2
  • PAGESzahl3
  • Beispiel
  • //JOB1 JOB ,SEIDLER,CLASSA,COND(0,NE),
  • // BYTES1000
  • //JOB2 JOB ,SEIDLER,CLASSC,COND(8,LT),
  • // LINES100,PAGES1000

44
Job-Beschreibung, Step-Beschreibung
  • Übung(en)
  • Kapitel 2.3 Jobkarte erweitern
  • NOTIFY
  • REGION
  • TIME

45
Job-Beschreibung, Step-Beschreibung
  • EXEC-Anweisung Überblick 1
  • definiert Beginn eines Steps
  • ruft Programm oder Prozedur auf
  • beendet vorherigen Step
  • es gibt
  • Namensfeld
  • Operationsfeld
  • Parameterfeld

46
Job-Beschreibung, Step-Beschreibung
  • EXEC-Anweisung Überblick 2
  • Syntax
  • //stepname EXEC pos-par,schl-par
  • Beispiel
  • //JOB1 JOB ,SEIDLER,CLASSX,MSGCLASSX
  • //STEP1 EXEC PGMIEBGENER
  • . . .
  • //STEP2 EXEC PGMIEHLIST
  • . . .
  • //STEP3 EXEC PROCSORT
  • . . .

47
Job-Beschreibung, Step-Beschreibung
  • EXEC-Anweisung PGM
  • Syntax
  • PGMprogramm-name
  • Beispiel
  • //JOB1 JOB ,SEIDLER,CLASSX,MSGCLASSX
  • //STEP1 EXEC PGMIEBGENER
  • . . .
  • //STEP2 EXEC PGMMYSORT
  • //STEPLIB DD DSNuserlib,DISPSHR

SYS1.LINKLIB
48
Job-Beschreibung, Step-Beschreibung
  • EXEC-Anweisung PROC
  • Syntax
  • PROCprozedur-name
  • Beispiel
  • //JOB1 JOB ,SEIDLER,CLASSX,MSGCLASSX
  • //STEP1 EXEC PROCDRUCKEN
  • . . .
  • //STEP2 EXEC KOPIEREN

SYS1.PROCLIB
49
Job-Beschreibung, Step-Beschreibung
  • Übung(en)
  • Kapitel 2.4 Jobstep erstellen
  • Kapitel 2.5 einen 2. Step hinzufügen

50
Notizen
51
Job-Beschreibung, Step-Beschreibung
  • EXEC-Anweisung PARM
  • Syntax
  • PARMinformation
  • Beispiel
  • //JOBX JOB ,SEIDLER,CLASSX,MSGCLASSX
  • //STEP1 EXEC PGMMYPROC,PARMTEST

52
Job-Beschreibung, Step-Beschreibung
  • EXEC-Anweisung TIME
  • Syntax
  • TIME(minutes,seconds)
  • Beispiel
  • //STEP1 EXEC PGMPGM01,TIME(1,30)
  • //STEP2 EXEC PGMPGM02,TIME(,15)
  • //STEP3 EXEC PGMPGM03,TIMENOLIMIT

53
Job-Beschreibung, Step-Beschreibung
  • EXEC-Anweisung REGION
  • Syntax
  • REGION
  • Beispiel
  • //JOBX JOB ,SEIDLER,CLASSX,MSGCLASSX
  • //STEP1 EXEC PGMMYPROG,REGION1024K

nnnnnnK mmmmM
54
Job-Beschreibung, Step-Beschreibung
  • EXEC-Anweisung COND
  • Syntax
  • COND
  • Detaillierung später

(code,op,stepname) EVEN ONLY ((code,op,stepname
),(code,op,stepname)...,EVEN) ((code,op,ste
pname),(code,op,stepname)...,ONLY)
55
Job-Beschreibung, Step-Beschreibung
  • Übung(en)
  • Kapitel 2.6 den 2. Step abhängig von COND laufen
    lassen bzw. nicht laufen lassen

56
Notizen
57
Inhalt
  • Einführung
  • Job-Beschreibung, Step-Beschreibung
  • Datei-Beschreibung (1)
  • Datei-Beschreibung (2)
  • Standard- und Dienstprogramme - Überblick
  • Job-Steuerung, Step-Steuerung
  • Datei-Beschreibung (3)
  • Include-Gruppe, JCL-Prozedur
  • Diskussion und Austausch

58
Datei-Beschreibung (1)
  • Begriffe

Work File
DD-Name
INPUT File
OUTPUT File
DATA
IEBGENER
DLM
Update File
SYSOUT
SORT
DUMMY
HOLD
59
Notizen
60
Notizen
61
Datei-Beschreibung (1)
  • DD-Anweisung (1) Überblick
  • Verwendung bei Step / Programm
  • Art der Verwendung
  • Input / Output / Update / Work
  • Art des Datenträgers
  • Drucker / Band / Platte / optische Platten
  • Lebensdauer
  • permanent / temporär / Systemeingabe /
    Systemausgabe

62
Datei-Beschreibung (1)
  • DD-Anweisung (1) Bezug zum Programm
  • COBOL
  • SELECT EINGABE ASSIGN TO LESE1
  • SELECT AUSGABE ASSIGN TO DRUCK1
  • Beispiel
  • //JOBX JOB (3SLX510,000,00T NR0003), . . .
  • //STEP1 EXEC PGMMYPROG,REGION1024K
  • //LESE1 DD DSNXV10733.TEST.DATEI,DISPSHR
  • //DRUCK1 DD SYSOUT

63
Datei-Beschreibung (1)
  • DD-Anweisung (1) Überblick

Permanente / temporäre Dateien
Instream- Dateien
Permanente / temporäre Dateien
Programm
Eingaben
Ausgaben
Permanente / temporäre Dateien
System- ausgaben
Permanente / temporäre Dateien
64
Notizen
65
Datei-Beschreibung (1)
  • DD-Anweisung Felder
  • Syntax
  • //ddname DD pos-parschl-par... kommentar
  • Beispiel
  • //JOBX JOB (3SLX510,000,00T NR0003), . . .
  • //STEP01 EXEC PGMZINS
  • //EINGABE DD
  • 000119811982198319841985
  • 000219861987198819891990
  • 000319911992199319941995
  • //AUSGABE DD SYSOUT

66
Datei-Beschreibung (1)
  • System-Eingabe DATA
  • Syntax
  • //ddname DD par...
    kommentar
  • DATA
  • Beispiel
  • //JOBX JOB (3SLX510,000,00T NR0003), . . .
  • //STEP01 EXEC PGMZINS
  • //EINGABE DD
  • 000119811982198319841985
  • 000219861987198819891990
  • 000319911992199319941995
  • //AUSGABE DD SYSOUTA

67
Notizen
68
Notizen
69
Datei-Beschreibung (1)
  • DD-Anweisung DLM 1
  • Syntax
  • DLMdelimiter
  • Beispiel
  • //JOBX JOB (3SLX510,000,00T NR0003), . . .
  • //STEP01 EXEC PGMZINS
  • //EINGABE DD ,DLM??
  • 000119811982198319841985
  • 000219861987198819891990
  • 000319911992199319941995
  • //AUSGABE DD SYSOUTA
  • ??
  • //SYSPRINT DD DSNXV10733.ispf.datei,DISPSHR

70
Datei-Beschreibung (1)
  • DD-Anweisung DLM 2
  • Beispiel 2
  • //JOBX JOB (3SLX510,000,00T NR0003), . . .
  • //STEP01 EXEC PGMZINS
  • //EINGABE DD DATA,DLM
  • 000319911992199319941995
  • //AUSGABE DD SYSOUTA
  • //SYSPRINT DD DSNXV10733.ispf.datei,DISPSHR

71
Datei-Beschreibung (1)
  • DD-Anweisung DLM 3

72
Notizen
73
Datei-Beschreibung (1)
  • DD-Anweisung SYSOUT, HOLD
  • Syntax
  • class
  • SYSOUT (class,INTRDR,form-name)
  • Beispiel
  • //JOBX JOB (3SLX510,000,00T NR0003), . . .
  • //STEP01 EXEC PGMZINS
  • //EINGABE DD ...
  • //SYSPRINT DD SYSOUT
  • //OUTSTAT DD SYSOUT(V,,R01)
  • //SYSOUT DD SYSOUT(,INTRDR)
  • //OUTSYS DD SYSOUTF,HOLDYES

74
Datei-Beschreibung (1)
  • DD-Anweisung SYSOUT, HOLD
  • Syntax
  • nnn
  • COPIES
  • (nnn,(grp-wert,grp-wert...))
  • Beispiel
  • //SYSPRINT DD SYSOUTV,COPIES3

75
Datei-Beschreibung (1)
  • DD-Anweisung SYSOUT, HOLD
  • Syntax
  • //ddname DD DUMMYparameter
  • //EINGABE DD DUMMY
  • //AUSGABE DD DUMMY
  • Beispiel
  • //JOBX JOB (3SLX510,000,00T NR0003), . . .
  • //STEP01 EXEC PGMZINS
  • //EINGABE DD ...
  • //SYSPRINT DD DUMMY

Eingabe
Ausgabe
76
Notizen
77
Datei-Beschreibung (1)
  • Einfache Anwendungen IEBGENER
  • Syntax (symbolisch)
  • //stepname EXEC PGMIEBGENER
  • //SYSUT1 - Eingabe
  • //SYSUT2 - Ausgabe
  • //SYSPRINT - Protokoll
  • //SYSIN - Steueranweisung

78
Notizen
79
Datei-Beschreibung (1)
  • Übung(en)
  • Kapitel 3.1 Lesen einer Instream-Datei
  • Kapitel 3.2 Lesen einer Dummy-Datei
  • Kapitel 3.3 Schreiben in das Nirwana

80
Notizen
81
Inhalt
  • Einführung
  • Job-Beschreibung, Step-Beschreibung
  • Datei-Beschreibung (1)
  • Datei-Beschreibung (2)
  • Standard- und Dienstprogramme - Überblick
  • Job-Steuerung, Step-Steuerung
  • Datei-Beschreibung (3)
  • Include-Gruppe, JCL-Prozedur
  • Diskussion und Austausch

82
Datei-Beschreibung (2)
  • Begriffe

DSN
CATLG
VIO
DISP
UNIT
SPACE
DCB
TRK
SHR
PASS
VOL
KEEP
MOD
BLK
83
Notizen
84
Notizen
85
Datei-Beschreibung (2)
  • DD-Anweisung (2) Überblick
  • bisher
  • Systemausgabe
  • Systemeingabe
  • Dummy
  • neu
  • permanente Dateien auf Platte oder Band
  • temporäre Dateien auf Platte oder Band
  • verschiedene Organisationsformen (VSAM, seq.)

86
Datei-Beschreibung (2)
  • DD-Anweisung DSNAME
  • Syntax
  • DSNAMEdateiname
  • Beispiel
  • //SYSIN DD DISPSHR,DSNXV10733.PERS.DATEN
  • //SYSPRINT DD DISP(,CATLG,DELETE),UNITSYSDA,
  • // SPACE(TRK,1),DCB(LRECL80,RECFMFB
    ),
  • // DSNXV10733.PERS.AUSGABE
  • //WORKFILE DD DSNTEMP,DISP(NEW,PASS),UNITSYSD
    A,
  • // SPACE(TRK,1)
  • //NOCHWAS DD DUMMY

permanente Dateien temporäre Dateien Dummy Dateien
87
Datei-Beschreibung (2)
  • Datenbestände DISP
  • Syntax
  • DISPstatus
  • DISP(status,normal-end,abnormal-end)
  • Anmerkungen zur FolgeseiteFall 1 Der
    Datenbestand existiert bereits bei Jobbeginn oder
    wird während des Jobs mit KEEP oder CATLG
    behandelt.Fall 2 Der Datenbestand existiert
    nicht bei Jobbeginn und wird während des Jobs
    nicht mit KEEP oder CATLG behandelt.

88
Notizen
89
Datei-Beschreibung (2)
  • Datenbestände DISP Tabelle

90
Notizen
91
Datei-Beschreibung (2)
  • Datenbestände UNIT / VOL
  • Syntax
  • UNITdevice-typegroup-name
  • VOLUMESERvol-nummer

REEL
TAPE
etc.
SYSDA
92
Notizen
93
Datei-Beschreibung (2)
  • Datenbestände SPACE (ohne SMS)
  • Syntax
  • blklen,
  • SPACE( TRK, (prim,sec,dir),RLSE)
  • CYL,
  • Beispiel
  • //SYSIN DD DISPSHR,DSNXV10733.PERS.DATEN
  • //SYSPRINT DD DISP(,CATLG,DELETE),UNITSYSDA,
  • // SPACE(TRK,1),DCB(LRECL80,RECFMFB
    ),
  • // DSNXV10733.PERS.AUSGABE
  • //WORKFILE DD DSNTEMP,DISP(NEW,PASS),UNITSYSD
    A,
  • // SPACE(TRK,(15,30))

94
Notizen
95
Datei-Beschreibung (2)
  • Datenbestände Eigenschaften
  • Syntax
  • DCB(subparm,subparm . . .)
  • Data Control Block
  • Beispiel
  • //AUSGABE DD DISP(,CATLG,DELETE),UNITSYSDA,
  • // SPACE(TRK,1),DSNXV10733.PERS.AUSGA
    BE,
  • // DCB(LRECL80,RECFMFB) oder
  • // LRECL80,RECFMFB

96
Notizen
97
Datei-Beschreibung (2)
  • Datenbestände DCB-Bezüge
  • Reihenfolge ist zu beachten
  • aus Programm
  • aus DD-Anweisung
  • aus Definition der Datei auf Platte/Band
  • Anmerkung
  • Es gibt keine Faustregel, was wo angegeben werden
    soll eine genaue Kenntnis der Anwendung ist
    erforderlich.

98
Notizen
99
Datei-Beschreibung (2)
  • Datenbestände LABEL
  • Syntax
  • LABELseq-nummer,labeltyp
  • labeltypeSLNSLNLBLP

100
Datei-Beschreibung (2)
  • Datenbestände EXPDT, RETPD
  • Syntax
  • EXPDTyyddd oder
  • EXPDTyyyy/ddd
  • RETPDnnnn

101
Datei-Beschreibung (2)
  • Datenbestände Katalogeintrag

102
Notizen
103
Datei-Beschreibung (2)
  • Übung(en)
  • Kapitel 4.1 Anlegen PS-Datei mit IEFBR14
  • Kapitel 4.2 Anlegen PO-Datei
  • Kapitel 4.3 Kopieren Datei in PO-Member
  • Kapitel 4.4 Kopieren PO-Member
  • jeweils
  • Job wegschicken
  • Output analysieren

104
Notizen
105
Inhalt
  • Einführung
  • Job-Beschreibung, Step-Beschreibung
  • Datei-Beschreibung (1)
  • Datei-Beschreibung (2)
  • Standard- und Dienstprogramme - Überblick
  • Job-Steuerung, Step-Steuerung
  • Datei-Beschreibung (3)
  • Include-Gruppe, JCL-Prozedur
  • Diskussion und Austausch

106
Standard- und Dienstprogramme
  • Begriffe

ICEMAN
IEBCOPY
IEFBR14
DFSORT
IEBCOMPR
IEHLIST
IEBGENER
IDCAMS
107
Notizen
108
Notizen
109
Datei-Beschreibung (2)
  • Übung(en)
  • Kapitel 5.1 Anlegen DSN mit IEFBR14
  • Kapitel 5.2 Editieren Datei im EDIT
  • Kapitel 5.3 Kopieren Datei mit IEBGENER
  • Kapitel 5.4 Löschen DSN mit IEFBR14

110
Notizen
111
Notizen
112
Notizen
113
Inhalt
  • Einführung
  • Job-Beschreibung, Step-Beschreibung
  • Datei-Beschreibung (1)
  • Datei-Beschreibung (2)
  • Standard- und Dienstprogramme - Überblick
  • Job-Steuerung, Step-Steuerung
  • Datei-Beschreibung (3)
  • Include-Gruppe, JCL-Prozedur

114
Job-Steuerung, Step-Steuerung
  • Begriffe

COND
Beding- ungen
RC
THEN
IF
RUN
Rück- bezug
ABEND
ABENDCC
ENDIF
ELSE
115
Notizen
116
Notizen
117
Job-Steuerung, Step-Steuerung
  • Allgemeines Überblick
  • Ziel
  • Jobablauf kontrollieren
  • Stepablauf kontrollieren
  • keine manuelle Eingriffe erforderlich
  • Methoden
  • Bedingungen für vorzeitiges Ende eines Jobs
  • Bedingungen für Unterdrücken eines Steps
  • Bedingungen für Unterdrücken oder Ausführens von
    Steps oder Stepfolgen

118
Job-Steuerung, Step-Steuerung
  • Allgemeines Regeln für Stepsteuerung
  • Grundregeln
  • maximal 255 Steps pro Job
  • Reihenfolge ist top-down
  • bei Abend wird alles Folgende unterdrückt
  • Formelles Ende eines Steps
  • normales Ende, Programm liefert Return-Code
  • abnormales Ende, ABEND-Code SxxxUnnnn
  • Step wird unterdrückt (NOT EXECUTED oder FLUSH)

119
Job-Steuerung, Step-Steuerung
  • COND-Parameter JOB
  • Syntax
  • COND(zahl,operator)
  • COND((zahl,operator), (zahl,operator),...)
  • Beispiel
  • //JOBX JOB ,SEIDLER,CLASSA,COND(0,NE)
  • //JOBY JOB ,SEIDLER,CLASSA,COND(4,LE)
  • //JOBX JOB ,SEIDLER,CLASSA,COND((8,EQ),(12,
    EQ))

120
Job-Steuerung, Step-Steuerung
  • COND-Parameter EXEC
  • Syntax
  • COND(zahl,operator,step)
  • CONDEVENONLY
  • COND((zahl,operator,step),..., EVENONLY)
  • Beispiel
  • //STEP01 EXEC PGMPROG01
  • //STEP02 EXEC PGMPROG02,COND(0,NE)
  • //STEP03 EXEC PGMPROG03,
  • // COND((4,LT,STEP01),(8,LT,STEP02),EVEN)

121
Job-Steuerung, Step-Steuerung
  • COND-Parameter Tabelle 1

122
Notizen
123
Job-Steuerung, Step-Steuerung
  • COND-Parameter Tabelle 2

124
Notizen
125
Job-Steuerung, Step-Steuerung
  • IF/THEN, ELSE, ENDIF Überblick
  • dient zur Steuerung der Steps oder Stepfolgen
    eines Jobs
  • Logik wie in Programmiersprachen
  • 15 Stufen erlaubt

126
Job-Steuerung, Step-Steuerung
  • IF/THEN, ELSE, ENDIF Syntax
  • Syntax
  • //name IF bedingung THEN
  • ja-Zweig
  • //name ELSE
  • nein-Zweig
  • //name ENDIF

127
Job-Steuerung, Step-Steuerung
  • IF/THEN, ELSE, ENDIF Syntax Bedingungen
  • Bedingungen
  • step.RC operator zahl
  • step.ABENDCC operator zahl
  • step.ABEND operator T/F
  • step.RUN operator T/F

EQ NE GE gt LE lt
GT gt LT lt NG gt NL lt
NOT AND OR
128
Job-Steuerung, Step-Steuerung
  • IF/THEN, ELSE, ENDIF RC
  • Test auf höchsten bisherigen Returncode
  • Test auf Returncode eines Steps
  • Syntax RC op code oder step.RC op code
  • Beispiel
  • //STEP01 EXEC PGMPROG01
  • . . .
  • //IFTEST IF (RC lt 8) THEN
  • //STEP02 EXEC PGMPROG02 etc.
  • //IFTEST ELSE
  • //STEP03 EXEC PGMPROG03 etc.
  • //IFTEST ENDIF
  • //STEP04 EXEC PGMPROG04

0 lt code lt 4096
GT gt LT lt NG gt NL lt
EQ NE GE gt LE lt
129
Job-Steuerung, Step-Steuerung
  • IF/THEN, ELSE, ENDIF ABENDCC
  • Test auf zuletzt aufgetretenen ABEND-Code
  • Test auf ABEND-Code eines Steps
  • Syntax
  • ABENDCC op code oder step.ABENDCC op code
  • code ist
  • System-ABEND-Code
  • Sxxx mit xxx x001, ... , xFFF
  • User-ABEND-Code
  • Unnnn mit nnnn 0001, ... ,4095

EQ NE
130
Job-Steuerung, Step-Steuerung
  • IF/THEN, ELSE, ENDIF ABEND
  • Test auf irgendeinen aufgetretenen ABEND
  • Test auf ABEND eines Steps
  • Syntax
  • ABENDTRUE oder step.ABENDTRUE
  • ABENDFALSE oder step.ABENDFALSE
  • NOT ABEND oder NOT step.ABEND
  • ABEND oder step.ABEND

131
Job-Steuerung, Step-Steuerung
  • IF/THEN, ELSE, ENDIF RUN
  • Test, ob bestimmter Step ausgeführt wurde
  • Syntax
  • step.RUNTRUE oder step.RUN
  • step.RUNFALSE oder NOT step.RUN oder step.RUN

132
Notizen
133
Job-Steuerung, Step-Steuerung
  • IF/THEN, ELSE, ENDIF sonstiges
  • Unterdrückte Step werden bei Tests nicht
    berücksichtigt (außer bei RUN)
  • COND bei EXEC wird innerhalb IF geprüft
  • manche Systemabends führen zu generellem Abbruch
    des Jobs
  • IF vor 1. Step Auswertung nach 1. Step!
  • Prioritätenfolge
  • Klammer, NOT, AND, OR
  • von links nach rechts

134
Notizen
135
Job-Steuerung, Step-Steuerung
  • Bezug / Rückbezug Überblick
  • Verwendung
  • dsname
  • Datei ist katalogisiert
  • .ddname
  • ddname im gleichen Step
  • .step.ddname
  • ddname eines anderen Steps
  • .step.procstep.ddname
  • ddname eines Steps in einer Prozedur

136
Job-Steuerung, Step-Steuerung
  • Bezug / Rückbezug Bezugnamen
  • bei DD-Anweisungen
  • VOLUME
  • VOLREFdsname
  • DCB-Parameter
  • DCBdsname
  • zusätzliche Parameter überschreiben
  • LIKE-Parameter (nur SMS)
  • LIKEdsname (später)

137
Job-Steuerung, Step-Steuerung
  • Bezug / Rückbezug Rückbezugnamen 1
  • bei DD-Anweisungen
  • DSN-Parameter
  • VOLUME
  • VOLREFdsname
  • DCB-Parameter
  • DCBdsname
  • zusätzliche Parameter überschreiben
  • REFDD-Parameter (nur SMS)
  • OUTPUT-Parameter (später)

138
Job-Steuerung, Step-Steuerung
  • Bezug / Rückbezug Rückbezugnamen 2
  • Syntax
  • DSNAME.step.ddname
  • Beispiel
  • //COB2 EXEC PGMIGYCRCTL,PARMOBJECT
  • //SYSLIN DD DSNOBJLIB(MEM1),DISP(,PASS),
  • // UNITSYSDA,SPACE(TRK,(5,2))
  • . . .
  • //LKED EXEC PGMHEWL, PARMXREF,MAP
  • //SYSLIN DD DSN.COB2.SYSLIN,DISP(OLD,DELETE)
  • oder
  • //SYSLIN DD DSNOBJLIB(MEM1),DISP(OLD,DELETE)

139
Job-Steuerung, Step-Steuerung
  • Übung(en)
  • Kapitel 6.1a Anlegen PS-Datei-1
  • Kapitel 6.1b Anlegen PS-Datei-2 mit Rückbezug
  • Kapitel 6.2 Kopieren Datei mit eventueller
    Neuanlage

140
Notizen
141
Inhalt
  • Einführung
  • Job-Beschreibung, Step-Beschreibung
  • Datei-Beschreibung (1)
  • Datei-Beschreibung (2)
  • Standard- und Dienstprogramme - Überblick
  • Job-Steuerung, Step-Steuerung
  • Datei-Beschreibung (3)
  • Include-Gruppe, JCL-Prozedur
  • Diskussion und Austausch

142
Datei-Beschreibung (3)
  • Begriffe

STEPLIB
Gene- rationen
reserv. Namen
Ver- kettung
JOBLIB
CLASS
Syntax
DEFAULT
GDS
GDG
DEST
SMS
COPIES
FORMS
143
Notizen
144
Notizen
145
Datei-Beschreibung (3)
  • reservierte DD-Namen Überblick
  • SYSMDUMP - Dump
  • SYSABEND, SYSUDUMP - formatierter Dump
  • SYSCHK, SYSCHKEOV - Checkpointing
  • JOBCAT, STEPCAT - Katalogangabe
  • JOBLIB, STEPLIB - Ladebibliotheken

146
Datei-Beschreibung (3)
  • reservierte DD-Namen JOBLIB, STEPLIB
  • Syntax
  • //JOBLIB DD DISPSHR,DSNbibliothek1
  • //STEPLIB DD DISPSHR,DSNbibliothek2

147
Datei-Beschreibung (3)
  • reservierte DD-Namen JOBLIB, STEPLIB (PAP)

J O B l ä u f t l o s
STEPLIB definiert?
User-Bibliothek durchsuchen
JOBLIB definiert?
System-Bibliothek durchsuchen
Abbruch
148
Notizen
149
Datei-Beschreibung (3)
  • Verketten Überblick
  • Syntax
  • //ddname DD etc.
  • // DD etc.
  • // DD etc.
  • Regeln
  • DSORG gleich (PS oder PDS evtl. PSPDS-Mem)
  • RECFM gleich
  • LRECL gleich bei FB / Achtung bei VB
  • BLKSIZE der ersten Datei max.

150
Datei-Beschreibung (3)
  • Verketten Einsatz
  • PS-Datei
  • für Anwendungsprogramm ist es logisch eine
    einzige Datei
  • EOF nach der letzten Datei
  • PDS-Datei
  • für Anwendungsprogramm eine Bibliothek mit
    mehreren Ebenen
  • Anzahl Extents max. 123

151
Datei-Beschreibung (3)
  • Generationsdateien Überblick
  • Verwaltung von Dateien, die regelmäßig erstellt
    bzw. bearbeitet werden
  • Generationsnummern
  • (0) aktuelle Generation
  • (-1) vorherige Generation bis (-n)
  • (1) neu zu erstellende Generation diese muss
    katalogisiert werden
  • absolute Bezeichnungen möglich
  • DSNdatei.G3459V00

152
Datei-Beschreibung (3)
  • Generationsdateien GDG
  • zu GDS muss eine GDG existieren
  • Beispiel
  • //XV10733 JOB etc.
  • //------------- Anlegene GDG
  • //DEFGDG EXEC PGMIDCAMS
  • //SYSPRINT DD SYSOUT
  • //SYSIN DD
  • DEFINE GDG (NAME(XV10733.LAGER.BESTAND) -
  • LIMIT(12) SCRATCH)

153
Datei-Beschreibung (3)
  • Generationsdateien GDS
  • Modellsatz
  • heute nicht mehr notwendig wegen SMS
  • Beispiel
  • //STEP1 EXEC PGMP88N991
  • //DDSE01 DD DISPSHR,DSNXV10733.LAGER.BESTAND(0)
  • //DDSE02 DD DISPSHR,DSN-XV10733.AEND
  • //DDSA01 DD DSNXV10733.LAGER.BESTAND(1),
  • // DISP(,CATLG,CATLG),UNITSYSDA,SPACE(CY
    L,1),
  • // DCBXV10733.LAGER.MODELL oder
  • // DCBRECFM etc.

154
Notizen
155
Datei-Beschreibung (3)
  • Generationsdateien weitere Möglichkeiten
  • Nutzen aktuelle bzw. vorige Generation
  • mit DSNltnamegt(0),DISP... bzw.
  • mit DSNltnamegt(-1),DISP...
  • Nutzen alle Generationen
  • mit DSNltnamegt,DISP...
  • Ändern GDG-Definitionen
  • mit IDCAMS und ALTER-Befehl
  • Löschen GDG
  • mit IDCAMS und DELETE-Befehl

156
Notizen
157
Datei-Beschreibung (3)
  • Übung(en)
  • Kapitel 7.1 Anlegen PO-Datei als Ladebibliothek
  • Kapitel 7.2 Job erstellen mit STEPLIB
  • Kapitel 7.3 Job erstellen mit JOBLIB
  • Kapitel 7.4 Job erstellen mit falschem Pgmname
  • jeweils
  • Job wegschicken
  • Output analysieren

158
Datei-Beschreibung (3)
  • Übung(en)
  • Kapitel 7.5 Anlegen GDG-Base-Entry
  • Kapitel 7.6 Kopieren Instream-Daten -gt GDS (3)
  • Kapitel 7.7 Ausdrucken GDS(aktuell)
  • Kapitel 7.8 Ausdrucken alle GDSe
  • Kapitel 7.9 Löschen GDG mit allen DSN
  • jeweils
  • Job wegschicken
  • Output analysieren

159
Notizen
160
Notizen
161
Datei-Beschreibung (3)
  • OUTPUT-Anweisung Überblick
  • Syntax
  • //name OUTPUT parameter,parameter
  • Parameter
  • DEFAULT(YESNO)
  • CLASS(class)
  • FORMS(formname)
  • COPIES(nnn)
  • DESTziel

162
Datei-Beschreibung (3)
  • OUTPUT-Anweisung Überblick Beispiel
  • Beispiel
  • //OUT1 OUTPUT COPIES2
  • //OUT2 OUTPUT DESTEH2SEIR
  • //OUT3 OUTPUT DEFAULTYES,CLASS,COPIES2
  • //OUT4 OUTPUT CLASS,DESTEH2SECX
  • //STEP1 EXEC PGMPROGX
  • //SYSPRINT DD SYSOUT(,),OUTPUT.OUT2
  • //SYSUT2 DD SYSOUTT
  • //SYSUT3 DD SYSOUT(,),OUTPUT.OUT4

163
Datei-Beschreibung (3)
  • OUTPUT-Anweisung CLASS, FORMS, COPIES, DEST
  • CLASS
  • (Druck)Ausgabeklasse
  • FORMS
  • Formularname
  • COPIES
  • Anzahl der Kopien
  • DEST
  • Druckername

164
Notizen
165
Datei-Beschreibung (3)
  • OUTPUT-Anweisung weitere Parameter
  • TITLE
  • NAME
  • ADDRESS
  • DEPT
  • BUILDING
  • ROOM
  • etc.

166
Notizen
167
Datei-Beschreibung (3)
  • OUTPUT-Anweisung only to confuse the russians .
    . .
  • //XV10733A JOB CLASSltclassgt,MSGCLASSltmsgclassgt
    . . .
  • //outname1 OUTPUT DEFAULTY,CLASS,COPIESltz1gt
  • //outname2 OUTPUT CLASSltclsout2gt,COPIESltz2gt
  • //outname3 OUTPUT CLASSltclsout3gt,COPIESltz3gt
  • //stepnam1 EXEC PGMltpgm1gt
  • //outnam11 OUTPUT DEFAULTY,CLASSltclsout11gt
  • //outnam12 OUTPUT CLASSltclsout12gt,COPIESltz12gt
  • //outnam13 OUTPUT CLASSltclsout13gt,COPIESltz13gt
  • //ddname11 DD SYSOUTltcls11gt
  • //ddname12 DD SYSOUTltcls12gt,OUTPUT.ltoutnam
    12gt
  • //ddname13 DD SYSOUT(,),OUTPUT.ltoutnam13gt
  • //stepnam2 EXEC PGMltpgm2gt
  • //outnam23 OUTPUT CLASSltclsout23gt,COPIESltz23gt
  • //ddname21 DD SYSOUTltcls21gt
  • //ddname22 DD SYSOUTltcls22gt,OUTPUT.ltstepna
    m1gt.ltoutnam12gt
  • //ddname23 DD SYSOUT(,),OUTPUT(.ltoutname2gt
    ,.ltoutname3gt)

168
Notizen
169
Datei-Beschreibung (3)
  • SMS-Speicherverwaltung Überblick

TSO ALLOCATE
JCL //DD1 DD
AMS (IDCAMS)
MANAGEMENT CLASSES
STORAGE CLASSES
SMS AUTOMATIC CLASS SELECTIONS ROUTINES
DATA CLASSES
Zuordnungsroutinen
Datenbestand
170
Datei-Beschreibung (3)
  • SMS-Speicherverwaltung DATACLAS

171
Datei-Beschreibung (3)
  • SMS-Speicherverwaltung RECFM, RECORG, LRECL etc.
  • RECFM nicht VSAM
  • RECORG VSAM
  • LRECL
  • exakte Länge bei RECFMFFB
  • maximale Länge bei RECFMVVB
  • KEYLEN, KEYOFF nur VSAM

172
Notizen
173
Datei-Beschreibung (3)
  • SMS-Speicherverwaltung SPACE, AVGREC
  • Verwendung
  • Festlegen des Platzbedarf
  • Syntax
  • SPACE(arlen,(prim,sec),RLSE,AVGRECUKM
  • SPACE(arlen,(prim,sec,dir),RLSE,AVGRECUK
    M
  • Definition
  • arlen durchschnittliche Satzlänge
  • prim anfängliche Anzahl Sätze
  • sec optionale Erweiterungsmenge
  • U,K,M Faktor1,1K,1M

174
Datei-Beschreibung (3)
  • SMS-Speicherverwaltung DSNTYPE

175
Datei-Beschreibung (3)
  • SMS-Speicherverwaltung LIKE, REFDD
  • SYNTAX
  • LIKEdatasetname
  • Beispiel
  • //AUSG DD DSNXV10733.KUND.BEST,DISP(,CATLG,DE
    LETE),
  • // LIKEXV10733.KUND.BASIS

Datenbestand 1
RECFM LRECL SPACE KEYLEN . . .
Datenbestand 2
176
Notizen
177
Datei-Beschreibung (3)
  • SMS-Speicherverwaltung STORCLAS
  • Beispiel
  • //AUSG DD DSNXV10733.KUND.BEST,DISP(,CATLG,DE
    LETE),
  • // DATACLASDATAFS,STORCLASSTANDARD

178
Datei-Beschreibung (3)
  • SMS-Speicherverwaltung MGMTCLAS
  • Beispiel
  • //AUSG DD DSNXV10733.KUND.BEST,DISP(,CATLG,DE
    LETE),
  • // DATACLASDATAFS,STORCLASSTANDARD,
  • // MGMTCLASSTANDARD

179
Datei-Beschreibung (3)
  • Übung(en)
  • Kapitel 7.10 welche STORCLAS in Firma
  • Kapitel 7.11 welche MGMTCLAS in Firma

180
Notizen
181
Inhalt
  • Einführung
  • Job-Beschreibung, Step-Beschreibung
  • Datei-Beschreibung (1)
  • Datei-Beschreibung (2)
  • Standard- und Dienstprogramme - Überblick
  • Job-Steuerung, Step-Steuerung
  • Datei-Beschreibung (3)
  • Include-Gruppe, JCL-Prozedur
  • Diskussion und Austausch

182
Include-Gruppe, JCL-Prozedur
  • Begriffe

INCLUDE
Variable
JCLLIB
MEMBER
ORDER
SET
Syntax
Bibliothek
Instream
Include- Gruppe
Job- Protokoll
Rück- bezug
ver- schachteln
Prozedur
183
Notizen
184
Notizen
185
Include-Gruppe, JCL-Prozedur
  • Allgemeines Überblick
  • Definition
  • Sequenz von JCL-Anweisungen
  • wieder verwendbar
  • zentrale Speicherung möglich
  • Parameter und/oder DD-Anweisungen
  • ergänzen
  • überschreiben
  • aufheben

186
Include-Gruppe, JCL-Prozedur
  • JCLLIB-Anweisung Überblick
  • Verwendung
  • stehen allen Jobs zur Verfügung
  • im Normalfall kein Schreibrecht
  • eigene Bibliotheken möglich
  • nach JOB-Anweisung
  • vor 1. EXEC-Anweisung

187
Include-Gruppe, JCL-Prozedur
  • JCLLIB-Anweisung ORDER
  • Syntax
  • //name JCLLIB ORDERbibliothekoder
  • //name JCLLIB ORDER(bibl1,bibl2,bibl3..
    .)
  • Beispiel
  • //JOBX JOB ,SEIDLER,. . .
  • //PROZLIB JCLLIB ORDERXV10733.PROZ.JCL
  • //STEP1 EXEC PROCPROZ1

188
Include-Gruppe, JCL-Prozedur
  • INCLUDE-Anweisung Überblick
  • Verwendung
  • fast alle JCL-Anweisungen möglich außer
  • JOB
  • PROC / PEND
  • JCLLIB
  • DD bzw. DD DATA
  • bis 15 INCLUDE-Anweisungen verschachteln

189
Include-Gruppe, JCL-Prozedur
  • INCLUDE-Anweisung Member 1
  • Beispiel
  • JCLGRP1 in XV10733.PROZ.JCL
  • //STEP1 EXEC PGMIEBGENER
  • //SYSUT1 DD DISPSHR,DSNXV10733.TEST1.DATA
  • //SYSUT2 DD DISPSHR,DSNXV10733.TEST2.DATA
  • //SYSPRINT DD SYSOUT
  • //SYSIN DD DUMMY
  • Übernahme der INCLUDE-Gruppe
  • //JOBX JOB ,SEIDLER,. . .
  • //BIBL1 JCLLIB ORDERXV10733.PROZ.JCL
  • // INCLUDE MEMBERJCLGRP1

190
Include-Gruppe, JCL-Prozedur
  • INCLUDE-Anweisung Member 2
  • Beispiel Ergebnis
  • JCLGRP1 in XV10733.PROZ.JCL
  • //JOBX JOB ,SEIDLER,. . .
  • //BIBL1 JCLLIB ORDERXV10733.PROZ.JCL
  • // INCLUDE MEMBERJCLGRP1
  • XXSTEP1 EXEC PGMIEBGENER
  • XXSYSUT1 DD DISPSHR,DSNXV10733.TEST1.DATA
  • XXSYSUT2 DD DISPSHR,DSNXV10733.TEST2.DATA
  • XXSYSPRINT DD SYSOUT
  • XXSYSIN DD DUMMY

191
Include-Gruppe, JCL-Prozedur
  • Variable, SET Überblick
  • Parametrisierung der Prozedur
  • maximal 8 Stellen
  • vorangesetzt bei Benutzung
  • kein vorangesetzt bei Belegung
  • Festlegung des Wertes
  • mit SET-Anweisung vor erster Verwendung
  • als Defaultwert für Prozeduren
  • als Parameter bei Aufruf der Prozedur

192
Include-Gruppe, JCL-Prozedur
  • Variable, SET Verwendung von Variablen
  • Variablen sind Zeichenketten, max 255 Byte
  • nur in Parameterfeld von JCL-Anweisungen
  • können einzeln stehen
  • können kombiniert werden (Achtung .)
  • Systemvariablen sind immer verfügbar

193
Include-Gruppe, JCL-Prozedur
  • Variable, SET SET-Anweisung 1
  • Beispiel
  • JCLGRP2 in XV10733.PROZ.JCL
  • //STEP1 EXEC PGMIEBGENER
  • //SYSUT1 DD DISPSTATUS,DSNNAME
  • //SYSUT2 DD DISPSHR,DSNXV10733.TEST2.DATA
  • //SYSPRINT DD SYSOUT
  • //SYSIN DD DUMMY
  • Übernahme der INCLUDE-Gruppe
  • //JOBX JOB ,SEIDLER,. . .
  • //BIBL1 JCLLIB ORDERXV10733.PROZ.JCL
  • // SET NAMEXV10733.TEST1.DATA,STATUSO
    LD
  • // INCLUDE MEMBERJCLGRP2

194
Include-Gruppe, JCL-Prozedur
  • Variable, SET SET-Anweisung 2
  • Beispiel Ergebnis
  • //JOBX JOB ,SEIDLER,. . .
  • //BIBL1 JCLLIB ORDERXV10733.PROZ.JCL
  • // INCLUDE MEMBERJCLGRP2
  • XXSTEP1 EXEC PGMIEBGENER
  • XXSYSUT1 DD DISPOLD,DSNXV10733.TEST1.DATA
  • XXSYSUT2 DD DISPSHR,DSNXV10733.TEST2.DATA
  • XXSYSPRINT DD SYSOUT
  • XXSYSIN DD DUMMY
  • SET wird immer wirksam, selbst innerhalb eines
    IF/THEN, das nicht durchlaufen wird.

195
Include-Gruppe, JCL-Prozedur
  • JCL-Prozedur Überblick
  • Verwendung
  • ein oder mehrere vollständige Steps
  • fast alle JCL-Anweisungen möglich außer
  • JOB
  • JCLLIB, JOBCAT, JOBLIB
  • DD bzw. DD DATA
  • steht in
  • Standardbibl (z.B. SYS1.PROCLIB)
  • Userbibl (mit JCLLIB definiert)
  • Job (Instream-Prozedur)

196
Include-Gruppe, JCL-Prozedur
  • JCL-Prozedur Definition von Bibliotheksprozedure
    n
  • Syntax
  • //procname PROC default-werte
  • //procstepnm EXEC PGMpgmname
  • // ltjcl-anweisungengt
  • //name PEND
  • Name der Prozedur Membername in Bibl. !!

197
Include-Gruppe, JCL-Prozedur
  • JCL-Prozedur Definition der Instream-Prozedur
  • Syntax
  • //jobname JOB ,name, . . .
  • //procname PROC default-werte
  • //procstepnm EXEC PGMpgmname
  • // ltjcl-anweisungengt
  • //name PEND
  • . . .
  • //STEP1 EXEC procname,var-zuweisungen
  • Beschreibung der Proc vor dem Aufruf.

198
Notizen
199
Include-Gruppe, JCL-Prozedur
  • JCL-Prozedur Benutzung der Prozedur
  • beliebig oft aufrufbar in einem Job
  • bis zu 15 Aufrufe verschachteln
  • Syntax
  • //stepname EXEC PROCprocname
  • //procstep.ddname1 DD ltmodifiz.
    DD-Anweisunggt
  • //procstep.ddname2 DD ltzusätzl.
    DD-Anweisunggt
  • //procstep.STEPLIB DD
  • // DD
  • // DD ltmodifiz.
    DD-Anweisunggt
  • // DD

200
Include-Gruppe, JCL-Prozedur
  • JCL-Prozedur Aufruf-Parameter 1
  • BeispielProzedur PROC01 in T98MVS.JCLLIB
  • //PROCXX PROC KLASSEZ,EINDATNULLFILE,
  • // CPYDATNULLFILE,ANZ
  • //COPY EXEC PGMIEBGENER
  • //SYSIN DD DUMMY
  • //SYSPRINT DD SYSOUTKLASSE,COPIESANZ
  • //SYSUT1 DD DISPSHR,DSNEINDAT
  • //SYSUT2 DD DISPOLD,DSNCPYDAT
  • //SORT EXEC PGMICEMAN,TIME(1,0),COND(0,NE,C
    OPY)
  • //SYSIN DD DISPSHR,DSNK.L.M(SORT01)
  • //SYSOUT DD SYSOUTKLASSE,COPIESANZ
  • //SORTIN DD DISPSHR,DSNCPYDAT
  • //SORTOUT DD DISPOLD,DSNAUSDAT
  • // PEND

201
Include-Gruppe, JCL-Prozedur
  • JCL-Prozedur Aufruf-Parameter 2
  • Aufruf der ProzedurPROC01 in T98MVS.JCLLIB
  • //JOBDEMO1 JOB CLASSA,MSGCLASS
  • // JCLLIB ORDER(T98MVS.JCLLIB)
  • // SET ANZ3
  • //STEP01 EXEC PROCPROC01,KLASSE,
  • // EINDATT98MVS.UMSATZ.FDKOELN,
  • // CPYDATT98MVS.UMSATZ.KOPIE,
  • // AUSDATT98MVS.UMSATZ.FDKOELN.SORT
    ,
  • // TIME.COPY(3,0),TIME.SORT,
  • // COND.SORT(4,LT,COPY)
  • Regeln für Parameter beachten

202
Notizen
203
Include-Gruppe, JCL-Prozedur
  • JCL-Prozedur Aufruf-Parameter 3
  • Arten und Wirkung
  • Wertzuweisung an symbolische Variablen
  • Wertzuweisung an Schlüsselwortparm in EXEC-Anw
  • für jeden Prozedurstep oder
  • für einen bestimmten Prozedurstep
  • Wertzuweisungen bewirken
  • Ergänzung von bisher unbestimmten Variablen
  • Ersetzung von schon besetzten Variablen
  • Aufhebung von besetzten Variablen

204
Include-Gruppe, JCL-Prozedur
  • JCL-Prozedur Aufruf-Parameter 4
  • Regeln für Variablen
  • Zeichenketten mit Sonderzeichen brauchen
  • Wertzuweisungen gt Defaultwert gt SET (gt Fehler)
  • Regeln für Schlüsselwortparameter
  • Wertzuweisung in der Reihenfolge
  • Werte, die für jeden Step in Prozedur gelten
  • Werte, die für eine Prozedur gelten, in der
    Reihenfolge der Steps in der Prozedur

205
Include-Gruppe, JCL-Prozedur
  • JCL-Prozedur Aufruf-Parameter 5
  • Sonderregeln
  • PGM nicht veränderbar
  • TIME ohne Prozedurstep gilt für alle Steps
  • PARM ohne Prozedurstep gilt für 1. Step

206
Notizen
207
Include-Gruppe, JCL-Prozedur
  • JCL-Prozedur Aufruf mit OUTPUT und DD
  • Wirkung
  • Ergänzen, Ersetzen, Aufheben, Widerspruch (nur
    DD-Anweisungen)
  • Regeln
  • procstepname.ddname bzw.
  • procstepname.outname
  • zuerst Modifikationen
  • Reihenfolge in Prozedur einhalten
  • danach Hinzufügungen
  • Reihenfolge in Prozedur

Vermeide Anweisungen ohne Prozedurstep !!
208
Include-Gruppe, JCL-Prozedur
  • JCL-Prozedur spezielle Möglichkeiten bei DD
  • DD bzw. DD DATA
  • weglassen in Prozedur / bei Aufruf hinzufügen
  • formulieren mit DD DUMMY / bei Aufruf
    modifizieren (mit Widerspruch)
  • DD-Namen als Datei definieren und aufrufen
  • Verkettung
  • komplette Verkettung in Prozedur bei Aufruf
  • aber unveränderte Parameter leer lassen
  • zusätzliche Angaben hinzufügen
  • !! DD DUMMY beendet Verkettung

209
Include-Gruppe, JCL-Prozedur
  • JCL-Prozedur Rückbezug
  • COND
  • // COND(0,NE,STEP01)
  • // COND(0,NE,STEP01.COPY)
  • DD-Anweisungen
  • // DSN.STEP01.SYSUT1
  • // DSN.STEP01.COPY.SYSUT1
  • // VOLREF.STEP01.SYSUT1
  • // VOLREF.STEP01.COPY.SYSUT1
  • // REFDD.STEP01.SYSUT1
  • // OUTPUT.STEP01.COPY.SYSUT1

210
Notizen
211
Include-Gruppe, JCL-Prozedur
  • JCL-Prozedur verschachteln
  • bis zu 15 Aufrufe von Prozeduren schachteln
  • Variablenbesetzung
  • Proc-Aufruf gt Default in Proc gt SET-Anweisung gt
    Wert der Variablen auf Aufruf-JCL gt Fehler
  • Modifikationen nur für nächste Ebene möglich
  • kein Verschachteln von Proc-Definitionen

212
Include-Gruppe, JCL-Prozedur
  • JCL-Prozedur Jobablauf-Protokoll
  • Abhängigkeit von MSGLEVEL
  • MSGLEVEL(1,x) heißt Ausgabe der JCLs
  • Spalte 1-3
  • // JCL-Anweisung im rufenden Job
  • XX unverändert aus kat. Proc übernommen
  • X/ modifiziert aus kat. Prozedur
  • XX Kommentar in kat. Prozedur
  • unveränderte Anweisung aus Instr.-Proc
  • / modifiziert aus Instr.-Proc
  • Kommentar in Instr.-Proc
  • Kommentar / Steueranweisung für JES

213
Include-Gruppe, JCL-Prozedur
  • JCL-Prozedur Standard-Prozeduren
  • siehe Firmenbibliothek

214
Notizen
215
Include-Gruppe, JCL-Prozedur
  • Übung(en)
  • Kapitel 8.1 Instream-Prozedur
  • Kapitel 8.2 Instream-Prozedur - parametrisiert
  • Kapitel 8.3 externe Prozedur
  • Kapitel 8.4 externe Prozedur - parametrisiert
  • Kapitel 8.5 Ü 8.1 bis 8.4 mit
  • unterschiedlichen MSGLEVEL
  • verschiedenen Modifikationen
  • verschiedenen Ergänzungen

216
Inhalt
  • Einführung
  • Job-Beschreibung, Step-Beschreibung
  • Datei-Beschreibung (1)
  • Datei-Beschreibung (2)
  • Standard- und Dienstprogramme - Überblick
  • Job-Steuerung, Step-Steuerung
  • Datei-Beschreibung (3)
  • Include-Gruppe, JCL-Prozedur
  • Diskussion und Austausch
Write a Comment
User Comments (0)
About PowerShow.com