NATRJE Utility

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:

Verwandtes Thema:


Allgemeine Informationen zu NATRJE

Die folgende Grafik ist ein vereinfachtes Funktionsdiagramm der NATRJE Utility:

Legende

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:
Wenn die Job-Generierung beendet ist, überträgt die NATRJE Utility die JCL-Karten in eine BS2000-Datei, die von der NATRJE Utility generiert wird. Es handelt sich dabei um eine SAM-Datei, die die generierten JCL-Karten enthält und unter Verwendung des Kommandos ENTER, ENTER-JOB oder ENTER-PROCEDURE übergeben wird.

NATRJE aus einem Natural-Programm aufrufen

Folgende Themen werden behandelt:

NATRJE aufrufen

Beginn der AnweisungslisteUm 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
    Ein 1-Byte breites alphanumerisches Feld, das dazu dient anzuzeigen, ob alle JCL-Karten übergeben worden sind.
     
    ' ' Dies ist nicht der letzte Aufruf für den aktuellen Job. Mit dem nächsten CALL-Statement folgt eine weitere JCL-Karte für den aktuellen Job. Die JCL-Karten werden im RJE-Puffer gesammelt.
     
    B Nur bei BS2000 und z/OS: Letzter Aufruf für den aktuellen Job.

    Unter BS2000: Der Job wird generiert, in die Datei geschrieben, aber nicht automatisch gestartet.

    Unter z/OS (Batch und TSO, IMS TM und CICS): Der Job wird generiert, in den Reader Dataset geschrieben, aber nicht übergeben. Wird anschließend die Funktion L (siehe unten) aufgerufen, wird der interne Reader geschlossen und der oder die Jobs werden übergeben. Zusätzlich wird der interne Reader geschlossen und der Job wird bei einer Bildschirm-Ein-/Ausgabe (IMS TM) oder während der Beendigung einer Session (z/OS Batch, TSO und IMS TM) übergeben.

     
    C Flush: Der aktuelle Job wird ignoriert. Der Job wird nicht an das System übergeben. Unter BS2000 wird keine Datei erstellt.
     
    L Letzter Aufruf für den aktuellen Job. Der Job wird an das System übergeben.
     
    BS2000-Umgebungen: siehe Zusätzliche Werte für 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 parm5 mit einer FROM-FILE- Parameterdefinition beginnt, können Sie die standardmäßig vergebenen Dateinamen durch benutzerdefinierte Namen ersetzen.

    Anmerkungen:

    1. Natural überprüft nur die Syntax der FROM-FILE-Parameterdefinition in parm5. Es liegt in der Verantwortung des Benutzers, die Syntax aller anderen in parm5 enthaltenen Definitionen auf Gültigkeit zu überprüfen.
    2. parm5 wird beim ISP-Kommando ENTER nicht validiert.

Beispiel-Programme

Dieser Abschnitt enthält Natural-Beispiel-Programme, die JCL-Karten übergeben:

Beispiel-Programm für z/OS

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

Beispiel-Programm für z/VSE

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

Beispiel-Programm 1 für BS2000

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

Beispiel-Programm 2 für BS2000

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

Beispiel-Programm 3 für BS2000

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

NATRJE-Rückgabecodes

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ückgabecodes, die für alle Umgebungen gelten

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).

Zusätzliche Rückgabecodes, die für CICS und Batch unter z/VSE gelten

Rückgabecode Erklärung
ffrr ff ist der XPCC-Anforderungsfunktionscode und rr der zugehörige Rückgabecode.

Zusätzliche Rückgabecodes, die für CICS unter z/OS gelten

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.

Zusätzliche Rückgabecodes unter BS2000

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 HELP-Kommando erhältlich.

NATRJE-Funktionalität, die für openUTM/TIAM gilt

Folgende Themen werden behandelt:

SDF-Kommando SET-LOGON-PARAMETERS

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.

Beispiele für ISP- und SDF-Kommandos:

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)

Zusätzliche Werte für parm3

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.

Name der BS2000-Datei

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.

Optionale CALL-Parameter für SDF ENTER-Kommandos

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.