Das Dienstprogramm ("Utility") NATRJE dient zur zur Jobfernverarbeitung. Es kann verwendet werden, um JCL-Karten aus einem Natural-Programm an das Betriebssystem zur Zeitplanung und Ausführung zu übergeben. Es ist z.B. mit der NATRJE Utility möglich, einen Natural Batch Job zu starten.
Dieses Dokument behandelt folgende Themen:
NREXPG - User Exit for NATRJE in der Operations-Dokumentation
Die folgende Grafik ist ein vereinfachtes Funktionsdiagramm der NATRJE Utility:
Das Natural-Programm ruft die NATRJE Utility zwecks Übergabe von JCL-Karten, die vom Betriebssystem ausgeführt werden sollen. | |
Die NATRJE Utility erfasst die JCL-Karten im
RJE-Puffer solange, bis das Natural-Programm anzeigt, dass der Job vollständig
ist. Im RJE-Puffer werden die JCL-Karten zwischengespeichert, bevor sie in
Auftrag gegeben werden. Die Anfangsgröße des RJE-Puffers wird durch den
Profilparameter RJESIZE festgelegt
(Beschreibung siehe Parameter-Referenz-Dokumentation).
Gegebenenfalls wird die Speichergröße automatisch erhöht, wenn ein vorliegender
Job nicht in den RJE-Puffer passt. Die maximale Größe eines Jobs wird durch die
Größe des Thread oder der Region bestimmt.
|
|
Die NATRJE Utility überträgt die Job-Karten in die
interne Job-Warteschlange des Betriebssystems zur Zeitplanung und Ausführung
durch das Betriebssystem.
Hinweis bezüglich BS2000: |
Folgende Themen werden behandelt:
Um die NATRJE Utility aufzurufen:
Geben Sie in dem Natural-Programm, das die NATRJE Utility
aufruft, ein CALL
-Statement mit folgender Syntax an:
CALL 'NATRJE'
parm1 parm2 parm3 parm4
[parm5] |
Anmerkung:parm5
gilt nur
bei BS2000.
Die im CALL
-Statement anzugebenden Parameter
werden in der folgenden Tabelle erklärt:
Parameter | Erklärung | ||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
parm1
|
Die Start-JCL-Karte der Tabelle, die eine oder mehrere zu übergebende, 80 Zeichen umfassende JCL-Karten enthält. | ||||||||||||||||||||||
parm2
|
Ein 4 Byte breites binäres Feld, das die Anzahl zu übergebender, 80 Zeichen umfassender JCL-Karten enthält. | ||||||||||||||||||||||
parm3 |
|
||||||||||||||||||||||
parm4
|
Ein 2 Byte breites binäres Feld, in dem NATRJE einen Rückgabecode zurückgibt. | ||||||||||||||||||||||
parm5 |
Optionaler Parameter, nur für BS2000.
Ein (maximal) 1880 Byte breites alphanumerisches Feld, das zum Definieren einer Liste mit Parametern dient (hervorgehoben dargestellt im Beispiel-Programm 3 für BS2000). Wenn Anmerkungen:
|
Dieser Abschnitt enthält Natural-Beispiel-Programme, die JCL-Karten übergeben:
Das folgende Programm ist ein Beispiel-Natural-Programm, das einen JCL-Eingabestrom mit drei Karten in einem Aufruf an NATRJE übergibt.
DEFINE DATA LOCAL 01 COUNT (B4) 01 FLAG (A1) 01 RETHEX (B2 01 CARDS (A240 01 REDEFINE CARDS 02 CARD1 (A80) 02 CARD2 (A80) 02 CARD3 (A80) END-DEFINE MOVE '//JOBN JOB CLASS=G,MSGCLASS=X' TO CARD1 MOVE '//XXX EXEC PGM=IEFBR14' TO CARD2 MOVE '//DD1 DD DSN=NATRJE.SOURCE,DISP=SHR' TO CARD3 MOVE 3 TO COUNT MOVE 'L' TO FLAG CALL 'NATRJE' CARDS COUNT FLAG RETHEX IF RETHEX = H'0000' WRITE 'JOB submitted successfully' ELSE WRITE 'ERROR from NATRJE' RETHEX END-IF END
Das folgende Programm ist ein Beispiel-Natural-Programm, das einen JCL-Eingabestrom mit sieben Karten in drei Aufrufen an NATRJE übergibt.
DEFINE DATA LOCAL 01 COUNT (B4) 01 FLAG (A1) 01 RETHEX (B2) 01 CARDS (A240) 01 REDEFINE CARDS 02 CARD1 (A80) 02 CARD2 (A80) 02 CARD3 (A80) END-DEFINE MOVE '* $$ JOB JNM=DSERV,CLASS=0,DISP=D' TO CARD1 MOVE '* $$ LST CLASS=A,DISP=D' TO CARD2 MOVE '// JOB DSERV TO DSERV SOURCE MEMBERS' TO CARD3 MOVE 3 TO COUNT CALL 'NATRJE' CARDS COUNT FLAG RETHEX PERFORM RETCODE-CHECK MOVE '// EXEC PROC=NATSPLP' TO CARD1 MOVE '// EXEC DSERV' TO CARD2 MOVE ' DSPLYS SD' TO CARD3 MOVE 3 TO COUNT CALL 'NATRJE' CARDS COUNT FLAG RETHEX PERFORM RETCODE-CHECK MOVE '/*' TO CARD1 MOVE '/&' TO CARD2 MOVE '* $$ EOJ' TO CARD3 MOVE 3 TO COUNT MOVE 'L' TO FLAG CALL 'NATRJE' CARDS COUNT FLAG RETHEX DEFINE SUBROUTINE RETCODE-CHECK IF RETHEX NE H'0000' WRITE 'ERROR from NATRJE:' RETHEX STOP END-IF END-SUBROUTINE END
Das folgende Programm ist ein Beispiel-Natural-Programm, das einen Eingabestrom mit neun Karten in drei Aufrufen an NATRJE übergibt.
DEFINE DATA LOCAL 01 COUNT (B4) 01 FLAG (A1) 01 RETHEX (B2) 01 CARDS (A240) 01 REDEFINE CARDS 02 CARD1 (A80) 02 CARD2 (A80) 02 CARD3 (A80) END-DEFINE MOVE '/LOGON' TO CARD1 MOVE '/SYSFILE SYSDTA=(SYSCMD)' TO CARD2 MOVE '/SYSFILE SYSIPT =IPT.PARM' TO CARD 3 MOVE 3 TO COUNT CALL 'NATRJE' CARDS COUNT FLAG RETHEX IF RETHEX NE H'0000' DO WRITE RETHEX (EM=HH) END-IF MOVE '/SETSW ON=2' TO CARD1 MOVE '/EXEC NATBATCH' TO CARD2 MOVE 'LOGON APPLIC' TO CARD3 MOVE 3 TO COUNT CALL 'NATRJE' CARDS COUNT FLAG RETHEX IF RETHEX NE H'000' DO ... ... END-IF MOVE 'RUNPGM' TO CARD1 MOVE 'FIN' TO CARD2 MOVE '/LOGOFF' TO CARD3 MOVE 3 TO COUNT MOVE 'L' TO FLAG CALL 'NATRJE' CARDS COUNT FLAG RETHEX ... ... ... END
Das folgende Programm ist ein Beispiel-Natural-Programm, das einen JCL-Eingabestrom mit neun Karten in einem Aufruf an NATRJE übergibt.
DEFINE DATA LOCAL 01 COUNT (B4) 01 FLAG (A1) 01 RETHEX (B2) 01 CARD1 (A80) 01 CARD2 (A80) 01 CARD3 (A80) 01 CARD4 (A80) ... 01 CARD9 (A80) END-DEFINE MOVE '/LOGON' TO CARD1 MOVE '/SYSFILE SYSDTA=(SYSCMD)' TO CARD2 ... MOVE '/LOGOFF' TO CARD9 MOVE 9 TO COUNT MOVE 'L' TO FLAG CALL 'NATRJE' CARD1 COUNT FLAG RETHEX ... END
Das folgende Programm ist ein Beispiel-Natural-Programm, das
eine JCL-Prozedur mit zwei
ENTER-PROCEDURE
-Kommandoparametern in einem Aufruf
an NATRJE übergibt.
DEFINE DATA LOCAL 01 COUNT (B4) 01 FLAG (A1) 01 RETHEX (B2) 01 CARDS (A80/1.8) 01 01 SDF-COM (A80) INIT <'JOB-NAME=RJEPTEST,RESOURCES=*PAR(RUN-PRIO=230)'> END-DEFINE CARDS (1) := '/BEGIN-PROCEDURE LOGGING=COMMANDS' CARDS (2) := '/ASSIGN-SYSOUT TO=RJETEST.OUT' CARDS (3) := '/SHOW-JOB-STATUS' CARDS (4) := '/SHOW-FILE-ATTRIBUTES FILE-NAME=*ALL,SELECT=BY-ATTRIBUTE' CARDS (5) := '/ASSIGN-SYSOUT TO=*PRIMARY' CARDS (6) := '/EXIT-PROCEDURE' COUNT := 6 /* NUMBER OF CARDS */ FLAG := 'P' /* LAST CALL OF NATRJE */ CALL 'NATRJE' CARDS(*) COUNT FLAG RETHEX SDF-COM WRITE '=' RETHEX END
Wenn ein Natural-Programm ein CALL
-Statement an NATRJE
absetzt, wird einer der unten aufgeführten Rückgabecodes im vierten Parameter
des Statements zurückgegeben. Es gibt Rückgabecodes, die für alle Umgebungen
gelten, und zusätzliche Codes, die betriebssystemabhängig sind:
Rückgabecode hexadezimal |
Rückgabecode dezimal |
Erklärung |
---|---|---|
00 | 00 | Normale Rückgabe. |
04 | 04 | NATRJE Utility nicht verfügbar. |
08 | 08 | NATRJE Utility außer Funktion. Mögliche Ursache: Der
Profilparameter RJESIZE ist auf
0 gesetzt (siehe
Parameter-Referenz-Dokumentation).
|
0C | 12 | Ungültige Anzahl an JCL-Karten. |
10 | 16 | Ungültiger Funktionscode. |
14 | 20 | Kein RJE-Pufferplatz verfügbar. |
18 | 24 | Ungültige Anzahl an Parametern. |
1C | 28 | Ein-/Ausgabefehler bei der Übergabe. |
20 | 32 | Job-Flush (Ignorierung) veranlasst durch den User Exit NREXPG (siehe NREXPG - User Exit for NATRJE in der Operations-Dokumentation). |
Rückgabecode | Erklärung |
---|---|
ffrr | ff ist der XPCC-Anforderungsfunktionscode und rr der zugehörige Rückgabecode. |
Rückgabecode | Erklärung |
---|---|
01nn | CICS WRITEQ TD Fehlschlag. Dabei ist nn der CICS-Rückgabecode im Hexadezimalformat. |
01nn | CICS CLOSE TD Fehlschlag. Dabei ist nn der CICS-Rückgabecode im Hexadezimalformat. |
Rückgabecode | Erklärung |
---|---|
9001 | Kein RJE-Puffer gefunden. |
9002 | Kein Pufferplatz verfügbar. |
9003 | LOGON -Kommando fehlt.
|
9004 | Nur LOGON -Karten generiert.
|
9005 | Zu viele
LOGON -Parameter.
|
9006 | Dateiname im
FROM-FILE -Parameter ungültig oder länger als 54 Zeichen.
|
D010 | Fehler im ENTER-Macro. |
Dxxx | Betriebssystemfehler.
Die Fehlermeldung wird direkt an das Benutzerprogramm
gesendet. Zusätzliche Informationen über das BS2000 |
Folgende Themen werden behandelt:
Sie können in der ersten JCL-Karte des auszuführenden Jobs das
ISP-Kommando LOGON
durch das SDF-Kommando
SET-LOGON-PARAMETERS
ersetzen. Bei Benutzung des
SDF-Kommandos gelten jedoch folgende Einschränkungen:
Die einzige unterstützte Kommandoabkürzung für das
SET-LOGON-PARAMETERS
-Kommando ist
STLGP
.
Wird die Kommandoabkürzung STLGP
verwendet, dann muss der Wert von parm3 auf
S
gesetzt werden.
Die Werte A
und T
für
parm3 werden nicht unterstützt.
ISP-Kommando
/.job-id LOGON user-id,account-number,'password'
und entsprechendes SDF-Kommando:
/.job-id STGLP user-id,account-number,'password'
SDF-Kommando mit zusätzlichen Schlüsselwort-Operanden:
/.job-id STGLP user-id,account-number,'password', - /RESOURCES=*PARAMETERS(RUN-PRIORITY=220)
Wert | Erklärung |
---|---|
A |
Kombination der Werte T und
E (siehe unten).
|
E |
Der Job wird generiert und abgeschlossen. Vor der
Übergabe an das BS2000-Betriebssystem wird der Parameter
ERASE=YES zum ENTER -Parameter
hinzugefügt.
|
T |
Der Job wird generiert und abgeschlossen. Vor der
Übergabe an das BS2000-Betriebssystem wird unter Benutzung des
Natural-Parameters MT ein Zeitlimit
berechnet (siehe Parameter-Referenz-Dokumentation). Wenn
MT auf 0 gesetzt ist, wird das Zeitlimit
als NTL generiert. Das errechnete Zeitlimit wird mit
TIME=operand zum
ENTER -Parameter hinzugefügt.
|
S |
Dieser Wert muss gesetzt werden, wenn für das
SDF-Kommando SET-LOGON-PARAMETERS die Abkürzung
STLGP verwendet wird.
|
J |
Das SDF-Kommando ENTER-JOB wird für die Job-Übergabe verwendet. |
P |
Das SDF-Kommando ENTER-PROCEDURE wird für die Job-Übergabe verwendet. |
Wenn die Werte T
, E
, J
oder
A
verwendet werden, prüft NATRJE nicht, ob die Parameter
TIME=
oder ERASE=
in den vom
Benutzer erstellten LOGON
-Karten existieren.
Der Name der von NATRJE für die JCL-Karten erstellten BS2000-Datei ist wie folgt aufgebaut:
E.DDMMYY.HHMMSSSS.program-name.user-id - if the ISP command ENTER is used for job submission J.DDMMYY.HHMMSSSS.program-name.user-id - if the SDF command ENTER-JOB is used for job submission P.DDMMYY.HHMMSSSS.program-name.user-id - if the SDF command ENTER-PROCEDURE is used for job submission
Die Parameter werden in der folgenden Tabelle erklärt.
Parameter | Erklärung |
---|---|
DD |
Tag der Dateierstellung. |
MM |
Monat der Dateierstellung. |
YY |
Jahr der Dateierstellung. |
HH |
Stunde der Dateierstellung. |
MM |
Minute der Dateierstellung. |
SSSS |
Sekunde und Millisekunde der Dateierstellung. |
program-name
|
Name des Natural-Programms, das die Datei erstellt. |
user-id
|
Entsprechende Natural-Benutzerkennung. |
Unter BS2000 bietet das CALL
-Statement die Option,
eine JCL-Prozedur zusammen mit einem ENTER-JOB
- oder
ENTER-PROCEDURE
-Kommando zu übergeben. Weitere
Informationen siehe Parameter parm5
im Abschnitt NATRJE aufrufen und
Zusätzliche Werte für
parm3.
Ein Beispiel für einen Programmaufruf finden Sie im Beispiel-Programm 3 für BS2000.