Your Browser is not longer supported

Please use Google Chrome, Mozilla Firefox or Microsoft Edge to view the page correctly
Loading...

{{viewport.spaceProperty.prod}}

MOVE-JOBS

&pagelevel(3)&pagelevel

Job-Beschreibungen exportieren bzw. importieren

Komponente:

BS2000

Funktionsbereich:

Auftragsverarbeitung

Anwendungsbereich:

JOB

Privilegierung:

TSOS                                                                                                         

Funktionsbeschreibung

Mit dem Kommando MOVE-JOBS kann die Systembetreuung Job-Beschreibungen exportieren bzw. importieren:

  • Job-Beschreibungen können aus einem aktiven Jobpool in eine Zwischendatei exportiert werden. Batchaufträge, deren Daten in die Zieldatei übertragen werden, werden aus dem aktiven Jobpool gelöscht, d.h. wartende Aufträge werden nicht mehr gestartet und bereits aktive Aufträge werden abgebrochen.

  • Job-Beschreibungen können aus einer Datei bzw. aus einem inaktiven Jobpool wieder in einen aktiven Jobpool importiert werden. Batchaufträge, deren Daten in den aktiven Jobpool übertragen werden, werden aus der Quelldatei (Zwischendatei oder inaktiver Jobpool) gelöscht.

Verfahren

Das Kommando realisiert die zwei Funktionen:

  • Extrahieren von Jobs aus dem Jobpool in eine Zwischendatei

  • Importieren von Jobs aus einer Zwischendatei bzw. einem inaktiven Jobpool in einen aktiven Jobpool.

Die Zwischendatei besitzt das Format einer Jobpool-Datei. Jobs können auch ohne Verwendung einer Zwischendatei unmittelbar aus einer inaktiven Jobpool-Datei, die zugreifbar gemacht wurde, importiert werden. Beide Funktionen können zu jedem Zeitpunkt während eines Systemlaufs gestartet werden, Voraussetzung ist lediglich, dass im Startup „Batch-System-Ready“ erreicht, bzw. noch nicht Shutdown eingeleitet wurde. Während des Exportierens/Importierens von Jobs ist kein weiteres MOVE-JOBS-Kommando zulässig.

Das Exportieren eines Batchauftrags schließt dessen Eliminierung aus dem aktiven Jobpool ein (Abbruch des Benutzerauftages), außer der Auftrag wird gerade abgearbeitet und im Operanden CANCEL-RUNNING-JOBS wurde *NO angegeben.

Dieser implizite Abbruch unterscheidet sich jedoch von einem mittels Kommando CANCEL-JOB eingeleiteten Abbruch. So werden temporäre Dateien, die ggf. vom JMS angelegt wurden (S.IN-, S.E-, S.PROC-Dateien) nicht gelöscht. Eine eventuell vorhandene auftragsüberwachende JV erhält den Status „$M“ . Das Exportieren erfolgt gemäß den spezifizierten Selektionskriterien Auftrag für Auftrag, d.h. die Job-Beschreibungen werden einzeln dem aktiven Jobpool entnommen und in die angegebene Datei geschrieben. Das laufende JMS-Jobscheduling ist von einem längeren Exportvorgang nicht betroffen, auch während des Exportierens akzeptierte Jobs werden noch einbezogen. Bezüglich der Import-Funktion verhält sich das JMS analog zur Warmstart. Im Unterschied zu Warmstart kann das JMS ggf. nicht mehr die ursprüngliche TSN des Batchauftrages übernehmen, weil sie im aktuellen Systemlauf bereits vergeben wurde. In diesem Fall wird eine neue TSN vergeben. 

Format

MOVE-JOBS                                                                                                                 

Kurzname: MVJ

 FROM-FILE = *STD(...) / <filename 1..54 without-gen> / *INACTIVE-SYSTEM-JOBPOOL(...)


*STD(...)



|

CANCEL-RUNNING-JOBS = *YES / *NO


*INACTIVE-SYSTEM-JOBPOOL(...)



|

PUBSET = <alphanum-name 1..4>

,TO-FILE = *STD / <filename 1..54 without-gen>(...)


<filename 1..54 without-gen>(...)



|

WRITE-MODE = *CREATE / *EXTEND

,SELECT = *BY-ATTRIBUTES(...) / *BY-TSN(...) / *ALL


*BY-ATTRIBUTES(...)



|

JOB-STATE = *ANY / list-poss(3): *INACTIVE / *EXECUTING / *REPEAT



|

,PUBSET = *ANY / list-poss(16): <alphanum-name 1..4>



|

,JOB-NAME = *ANY / list-poss(16): *NONE / <alphanum-name 1.8>



|

,USER-IDENTIFICATION = *ANY / list-poss(16): <alphanum-name 1.8>



|

,JOB-CLASS = *ANY / list-poss(16): <alphanum-name 1.8>


*BY-TSN(...)



|

TSN = *ALL / list-poss(28): <alphanum-name 1..4>

,OUTPUT = <filename 1..54 without-gen>(...) / *DUMMY(...)


<filename 1..54 without-gen>(...)



|

SYSOUT = *YES / *NO



|

,SYSLST = *NO / *YES


*DUMMY(...)



|

SYSOUT = *YES / *NO



|

,SYSLST = *NO / *YES

,DIALOG-CONTROL = STD / *YES / *NO

Operandenbeschreibung

FROM-FILE = *STD(...) / <filename 1..54 without-gen> / *INACTIVE-SYSTEM-JOBPOOL(...)
Quelldatei, aus der die Job-Beschreibungen exportiert bzw. importiert werden sollen.

FROM-FILE = *STD(...)
Die Job-Beschreibungen werden aus der aktuellen Jobpool-Datei ($TSOS.SYSTEM.JOBPOOL auf dem Home-Pubset) exportiert.

CANCEL-RUNNING-JOBS = *YES / *NO
Gibt an, ob zu exportierende Batchaufträge, die bereits laufen, abgebrochen werden sollen.

CANCEL-RUNNING-JOBS = *YES
Bereits laufende Batchaufträge, die exportiert werden, werden abgebrochen.

CANCEL-RUNNING-JOBS = *NO
Bereits laufende Batchaufträge, die exportiert werden, laufen normal weiter. Die Aufträge können nicht noch einmal exportiert werden.
Bei Repeat- bzw. Kalenderjobs gilt dies jedoch für nur die gerade laufende Ausprägung des Jobs. Weitere Wiederholungen werden nicht gestartet.

FROM-FILE = <filename 1..54 without-gen>
Die Job-Beschreibungen werden aus der angegebenen Zwischendatei importiert (für inaktive Jobpool-Dateien).

FROM-FILE = *INACTIVE-SYSTEM-JOBPOOL(...)
Die Job-Beschreibungen werden aus der inaktiven Jobpool-Datei eines anderen importierten Pubsets übernommen (Import).

PUBSET = <alphanum-name 1..4>
Katalogkennung des importierten Pubsets.

TO-FILE = *STD / <filename 1..54 without-gen-vers>(...)
Name der Datei, in die die Batchaufträge übertragen werden sollen. Es muss eine andere Datei als im Operanden FROM-FILE angegeben werden.

TO-FILE = *STD
Die Batchaufträge werden in die aktuelle Jobpool-Datei ($TSOS.SYSTEM.JOBPOOL auf dem Home-Pubset) übertragen (Import).

TO-FILE = <filename 1..54 without-gen-vers>(...)
Die Batchaufträge werden in die angegebene Zieldatei übertragen (Export, z.B. in die Jobpool-Datei eines anderen Pubsets oder in eine Zwischendatei).

WRITE-MODE = *CREATE / *EXTEND
Gibt an, ob die Zieldatei neu erstellt oder erweitert werden soll.

WRITE-MODE = *CREATE
Die Zieldatei wird neu erstellt. Existiert die Datei bereits, wird das Kommando abgebrochen.

WRITE-MODE = *EXTEND
Die Zieldatei wird erweitert. Existiert die Datei noch nicht, wird sie nach Ausgabe einer Warnung erstellt. 

SELECT = *BY-ATTRIBUTES(...) / *ALL / *BY-TSN(...)
Gibt an, ob die Menge der zu übertragenden Batchaufträge eingeschränkt werden soll.


Hinweis

Beim Exportieren aus dem aktiven Jobpool können auch Batchaufträge ausgewählt, exportiert und gelöscht werden, die für den ordnungsgemäßen Systemlauf notwendig sind! Die Auftragsverwaltung verhindert lediglich, dass Jobscheduler und die Task, unter der das Kommando ausgeführt wird, exportiert werden.

SELECT = *BY-ATTRIBUTES(...)
Es werden nur Batchaufträge übertragen, die den angegebenen Auswahlkriterien entsprechen.

JOB-STATE = *ANY / list-poss(3): *INACTIVE / *EXECUTING / *REPEAT
Gibt an, ob der Auftragsstatus Auswahlkriterium sein soll. Standardmäßig werden nur die nicht aktiven Batchaufträge ausgewählt.

JOB-STATE = *ANY
Die Auswahl der Batchaufträge erfolgt unabhängig vom Auftragsstatus.

JOB-STATE = *INACTIVE
Es werden die nicht aktiven Batchaufträge ausgewählt, die keine Repeatjobs sind.

JOB-STATE = *EXECUTING
Es werden die aktiven Batchaufträge ausgewählt, die keine Repeatjobs sind.

JOB-STATE = *REPEAT
Es werden alle Repeatjobs ausgewählt.

PUBSET = *ANY / list-poss(16): <alphanum-name 1..4>
Gibt an, ob der Pubset, auf dem sich die Kommandodatei für den Batchauftrag befinden, Auswahlkriterium sein soll.

PUBSET = *ANY
Der Pubset ist kein Auswahlkriterium.

PUBSET = list-poss(16): <alphanum-name 1..4>
Es werden alle Batchaufträge ausgewählt, bei denen die Kommandodatei auf einem der angegebenen Pubsets liegt. In einer Liste können bis zu 16 Pubsets angegeben werden.

JOB-NAME = *ANY / list-poss(16): *NONE / <alphanum-name 1.8>
Gibt an, ob der Auftragsname Auswahlkriterium sein soll.

JOB-NAME = *ANY
Der Auftragsname ist kein Auswahlkriterium.

JOB-NAME = list-poss(16): *NONE / <alphanum-name 1.8>
Es werden alle Batchaufträge ausgewählt, die einen der angegebenen Auftragsnamen besitzen. Mit *NONE werden Batchaufträge ausgewählt, die keinen Auftragsnamen besitzen. In einer Liste können bis zu 16 Auftagsnamen angegeben werden.

USER-IDENTIFICATION = *ANY / list-poss(16): <alphanum-name 1.8>
Gibt an, ob die Benutzerkennung, unter der der Batchauftrag läuft, Auswahlkriterium sein soll.

USER-IDENTIFICATION = *ANY
Die Benutzerkennung ist kein Auswahlkriterium.

USER-IDENTIFICATION = list-poss(16): <alphanum-name 1.8>
Es werden alle Batchaufträge ausgewählt, die unter einer der angegebenen Benutzerkennungen ablaufen. In einer Liste können bis zu 16 Benutzerkennungen angegeben werden.

JOB-CLASS = *ANY / list-poss(16): <alphanum-name 1.8>
Gibt an, ob die Jobklasse Auswahlkriterium sein soll.

JOB-CLASS = *ANY
Der Jobklasse ist kein Auswahlkriterium.

JOB-CLASS = list-poss(16): <alphanum-name 1.8>
Es werden alle Batchaufträge ausgewählt, die in einer der angegebenen Jobklassen ablaufen sollen. In einer Liste können bis zu 16 Auftagsnamen angegeben werden.

SELECT = *ALL
Es werden alle Batchaufträge übertragen.

SELECT = *BY-TSN(...)
Es werden nur Batchaufträge übertragen, die über die TSN ausgewählt wurden.

TSN = list-poss(128): <alphanum-name 1..4>
TSN der zu übertragenden Batchaufträge. Voreingestellt ist *ALL, d.h. es werden alle Batchaufträge übertragen.

OUTPUT = <filename 1..54 without-gen>(...) / *DUMMY(...)
Gibt an, ob und wohin das Ergebnis der Kommandoverarbeitung (Import und Export) protokolliert wird.

OUTPUT = <filename 1..54 without-gen>(...)
Das Ergebnis der Kommandoverarbeitung wird in die angegebene Datei protokolliert (Ausgabeformat siehe "MOVE-JOBS").

SYSOUT = *YES / *NO
Gibt an, ob das Protokoll zusätzlich nach SYSOUT ausgegeben werden soll. Voreingestellt ist *YES, d.h. die Ausgabe wird auch nach SYSOUT ausgegeben.

SYSLST = *YES / *NO
Gibt an, ob das Protokoll zusätzlich nach SYSLST ausgegeben werden soll. Voreingestellt ist *NO, d.h. es erfolgt keine Ausgabe nach SYSLST.

OUTPUT = *DUMMY(...)
Das Ergebnis der Kommandoverarbeitung wird nicht in eine Datei protokolliert. Standardmäßig erfolgt die Ausgabe nur nach SYSOUT.

SYSOUT = *YES / *NO
Gibt an, ob das Protokoll nach SYSOUT ausgegeben werden soll.
Voreingestellt ist *YES, d.h. die Ausgabe wird nach SYSOUT ausgegeben.

SYSLST = *YES / *NO
Gibt an, ob das Protokoll nach SYSLST ausgegeben werden soll.
Voreingestellt ist *NO, d.h. es erfolgt keine Ausgabe nach SYSLST. 

DIALOG-CONTROL = *STD / *YES / *NO
Gibt an, ob während der Kommandoausführung ein Kontrolldialog mit dem Benutzer geführt werden soll, der eine schrittweise Kommandoverarbeitung ermöglicht. Bei Unterbrechung der Kommandoverarbeitung mit [K2] wird der Kontrolldialog ebenfalls gestartet. Ein Kontrolldialog ist nur im Dialogbetrieb, dort aber auch in Prozeduren, möglich. Im Batchbetrieb wirken alle Operandenwerte wie *NO.

Im Kontrolldialog wird der Benutzer nach erfolgreicher Bearbeitung eines Batchauftrages bzw. nach Unterbrechung mit [K2] mit der Meldung JMS0523 gefragt, ob die Kommandoverarbeitung fortgesetzt werden soll. Für die eingegebene Antwort gelten die SDF-Abkürzungsregeln. Mit der Eingabe eines Fragezeichens werden die möglichen Antworten angezeigt. Bei einer syntaktisch falschen Antwort wird die Frage bis zu 10 mal wiederholt.

Syntax der Antwort auf die Meldung JMS0523 (Kontrolldialog)

mögliche Anworten: *NO / *YES(...)



*YES(...)




|

DIALOG-CONTROL = *UNCHANGED / *YES / *NO

Bedeutung der Antworten

Antwort *NO
Die Bearbeitung des MOVE-JOBS-Kommandos wird abgebrochen.

Antwort *YES(...)
Die Bearbeitung des MOVE-JOBS-Kommandos wird fortgesetzt. Der untergeordnete Operand DIALOG-CONTROL entspricht dem gleichnamigen Operanden des Kommandos und ermöglicht eine Änderung dieser Einstellung. Der Operandenwert *UNCHANGED lässt die bisherige Einstellung unverändert.

DIALOG-CONTROL = *STD
Die Voreinstellung STD entspricht im interaktiven Dialog (SYSCMD ist der Datensichtstation zugeordnet) dem Wert *YES, in Prozeduren und im Batchbetrieb dem Wert *NO.

DIALOG-CONTROL = *NO
Die ausgewählten Batchaufträge werden ohne Kontrollabfrage verarbeitet.

DIALOG-CONTROL = *YES
Jeweils nach der erfolgreichen Bearbeitung eines Batchauftrags wird abgefragt, ob die Bearbeitung fortgesetzt werden soll. 

Kommando-Returncode

(SC2)

SC1

Maincode

Bedeutung


0

CMD0001

Kommando ohne Fehler ausgeführt

2

0

CMD0002

Kommando mit Warnung ausgeführt


32

CMD0221

Systemfehler


64

JMS0630

Semantik- oder Privilegienfehler (siehe SYSOUT-Meldung; z.B. Rechner, Katalogkennung unbekannt oder MONJV nicht zugreifbar)


64

JMS0640

Datei fehlerhaft oder nicht zugreifbar, z.B. leer, keine PAM-Datei, fehlendes Zugriffsrecht


130

JMS0620

Speichersättigung oder keine TSN mehr verfügbar


130

JMS0660

Funktion vorübergehend nicht möglich

Hinweise

  1. Mit der Übernahme von Job-Beschreibungsdaten in den aktiven Jobpool ist keine erneute Überprüfung zu Verfügbarkeit von Ressourcen bzw. zu Rechten der Auftraggeberkennung verbunden (in Analogie zu den Validierungen, die in der Akzeptierungsphase des Batchjobs stattfinden). Das Verhalten des JMS entspricht hier weitgehend dem Verhalten beim Warmstart. Die Systembetreuung hat sicherzustellen, dass die Systemumgebung zum Zeitpunkt des Starts der zum Zeitpunkt der Akzeptierung entspricht (Zugreifbarkeit der Kommandodatei, Benutzerattribute wie Default-Katalog usw.). Vor dem Import werden lediglich die Existenz der Jobklasse und der Benutzerkennung, unter der der Batchjob laufen soll, überprüft. Sind diese nicht vorhanden, wird der Job nicht importiert. Bei Inkonsistenzen, die erst zum Startzeitpunkt vorgefunden werden, bricht das JMS den Job-Start ab. Bei Anwendung im Rechnerverbund ist vor Anwendung der Funktion MOVE-JOBS die Konsistenz der Jobumgebung sorgfältig zu überprüfen. Ein Job, der vom JMS aus den genannten Gründen nicht gestartet wird, gilt aus JMS-Sicht als abnormal beendet, d.h. er wird aus dem Jobpool entfernt.

  2. Das JMS versucht, die TSN des Batchjobs beizubehalten, das Beibehalten der TSN kann jedoch nicht garantiert werden, insbesondere bei Übernahme von einem anderen Rechner.

  3. Das „Current Image“ bzw. „Next Image“ eines Repeatjob werden als zu einem Job gehörig behandelt, d.h. beide werden aus dem aktiven Jobpool entfernt, aber nur das Next-Image wird in die Zwischendatei übernommen. Beim Import wird aus dem Next-Image (analog Startup) der gesamte Repeatjob rekonstruiert. Falls das Current-Image zum Exportzeitpunkt im System war und beim Import ausgewählt ist, wird das Next-Image in seinen Vorgänger zurückverwandelt.

  4. Nach dem Exportieren ist die Dateisperre der S.-Dateien der übertragenen Jobs aufgehoben. Die Dateisperre wird beim Importieren wieder gesetzt.

  5. Die beim Exportieren der Batchaufträge erstellte Zwischendatei kann als Jobpool für einen Warmstart herangezogen werden. Neben der Namenskonvention für System-Jobpool-Dateien und dem Hinweis 1 ist noch Folgendes zu beachten:

    • Jobs können bei einem Warmstart nicht ins System übernommen werden, wenn ihre TSN bereits von SPOOL belegt ist. Diese Situation wird vermieden, wenn der Startup mit derselben EQUISAMQ erfolgt, die auch zum Zeitpunkt des Exportierens aktiv war.

    • Die auftragsüberwachenden JVs der Jobs sind zunächst geschlossen und haben den Status „$M“. Erst bei Ablauf eines Jobs wird die zugehörige JV geöffnet und der Status auf „$R“ gesetzt.

Format der Protokolldatei

Die erzeugte Protokolldatei ist eine SAM-Datei mit Sätzen variabler Länge. Die protokollierten Ereignisse sind jeweils in einem Protokollsatz enthalten und können anhand eines vier Zeichen langen Satzartenkennzeichens identifiziert werden. Im Folgenden wird das Protokoll eines Export und eines Import dargestellt und erläutert.

Beispiel 1 (Export-Protokoll)
*HDR >  MOVE-JOBS   Date: 2014-03-23    Time: 13:50                                  (1) 
*CMD >  FROM-FILE = *STD                                                             (2) 
*CMD >                  ( CANCEL-RUNNING-JOBS = *YES )
*CMD >  TO-FILE   = JOBPOOL.112
*CMD >                  ( WRITE-MODE = *EXTEND )
*CMD >  SELECT    = *BY-ATTRIBUTES (
*CMD >                  JOB_STATE = *ANY
*CMD >                  PUBSET    = *ANY
*CMD >                  JOB-NAME  = *ANY
*CMD >                  USER-ID   = *ANY
*CMD >                  JOB-CLASS = *ANY
*CMD >                             )
*CMD >  OUTPUT    = HEMUL
*CMD >                  ( SYSOUT = *YES, SYSLST = *NO  )
*CMD >  DIA-CONTR = *NO
+KEY >    TSN   JSTATE    CAT   JNAME     UID       JCLASS       O-TSN               (3) 
 EXT >    0AQS  *INACT    2V24  HEM11     TSOS      JCJS2XSB                         (4) 
 EXT >    0AQT  *INACT    2V24  HEM22     TSOS      JCJS2XSB
 EXT >    0AAK  *INACT    A     LUCKI     TSOS      JCJS2XSB
 EXT >    0CTC  *INACT    2V27  ENTPE     TSOS      JCJS2XSB
 EXT >    0AAL  *INACT    A     LUCKI     TSOS      JCJS2XSB
 EXT >    0AAM  *INACT    A     LUCKI     TSOS      JCJS2XSB
 EXT >    0AAN  *REPEAT   A     LUCKI     TSOS      JCJS2XSB
 EXT >    0AAQ  *REPEAT   A     LUCKI     TSOS      JCJS2XSB
 EXT >    0CUY  *INACT    2V27  ENTPE     TSOS      JCJS2XSB
 EXT >    0AEG  *INACT    G               TSOS      JCJS2XSB
 EXT >    0AEH  *INACT    G               TSOS      JCJS2XSB
 EXT >    0AEI  *REPEAT   G               TSOS      JCJS2XSB
 EXT >    0AEK  *INACT    G               TSOS      JCJS2XSB
 EXT >    0APY  *REPEAT   G               TSOS      JCJS3XSB                         (5) 
*REM >    0APX   CURRENT IMAGE OF      0APY                                          (6) 
 EXT >    0APU  *REPEAT   G               TSOS      JCJS3XSB
*REM >    0APT   CURRENT IMAGE OF      0APU
 EXT >    0APW  *REPEAT   G               TSOS      JCJS3XSB
*REM >    0APV   CURRENT IMAGE OF      0APW
#SYS >           RC FROM PAM WRITE     5678                                          (7) 
*WAR >           SOME JOBS COULD NOT BE PROCESSED                                    (8) 
*WAR >    0APP
Erläuterung

(1)

Überschriftszeile (Satzart *HDR)

(2)

Eingegebenes Kommando (Satzart *CMD)

(3)

Im Normalfall (erfolgreicher Export bzw. Import) werden die Informationen pro Job in folgenden Informationsspalten ausgegebenen:

TSN:

TSN, die der Job beim Export hat, bzw. die bei Import vergeben wird (siehe auch OTSN)

JSTATE:

Status des Jobs

CAT:

Katalogkennung des Pubsets, auf dem die Kommandodatei des Jobs liegt

JNAME:

Jobname des Jobs

UID:

Benutzerkennung, unter der der Job läuft

JCLSS:

Jobklasse des Jobs

O-TSN:

Nur bei Import relevant. Muss bei Import eine neue TSN vergeben werden, weil die TSN im System bereits existiert, steht unter dieser Spalte die Original-TSN, die der Job bei Extract hatte.

(4)

Die nachfolgenden Informationszeilen beginnen mit der Kennzeichnung des Vorgangs (Satzart *EXT bei erfolgreichem Export bzw. *IMP bei erfolgreichem Import).

(5)

Export eines Repeatjobs. Repeatjobs können in zwei Ausprägungen existieren (Current und Next Image). Das Kommando MOVE-JOBS exportiert nur das Next-Image, um Job-Vervielfachungen zu verhindern. Existiert während des Exportierens ein Current-Image, so wird dieses entfernt und beim Import aus dem Next-Image wieder hergestellt. Dabei erhält das Current-Image, sofern möglich, seine ursprüngliche TSN.

(6)

Bei Export eines Repeatjob existierte ein Current-Image. Dieses wurde wie beschrieben entfernt (siehe Beschreibung unter Punkt 5).

(7)

Beispiel für Systemfehler während der Ausführung des Kommandos, eine PAM-Seite konnte nicht gelesen werden.

(8)

Warnung als zusammenfassende Meldung bei Abschluss des Kommandos.

Beispiel 2 (Export-Protokoll)
*HDR >  MOVE-JOBS   Date: 2014-03-24    Time: 08:49                                  (1) 
*CMD >  FROM-FILE = *STD
*CMD >                  ( CANCEL-RUNNING-JOBS = *NO )
*CMD >  TO-FILE   = JOBPOOL.1
*CMD >                  ( WRITE-MODE = *EXTEND )
*CMD >  SELECT    = *BY-TSN ( TSN =
*CMD >                     0XXX,0YYY,0ZZZ,0APP,0APR,0APS
*CMD >                      )
*CMD >  OUTPUT    = HEMUL
*CMD >                  ( SYSOUT = *YES, SYSLST = *NO  )
*CMD >  DIA-CONTR = *NO
+KEY >    TSN   JSTATE    CAT   JNAME     UID       JCLASS       O-TSN
#ERR >    0APS   IS CALLER TASK                                                      (2) 
#ERR >    0APR   IS ALREADY EXTRACTED
#ERR >    0APP   IS JOB-SCHEDULER
*NFD >    0ZZZ   IN SYSTEM JOBPOOL                                                   (3) 
*NFD >    0YYY   IN SYSTEM JOBPOOL
*NFD >    0XXX   IN SYSTEM JOBPOOL
#SYS >           RC FROM JOBP BOURSE   01234567
*WAR >           SOME JOBS COULD NOT BE PROCESSED
*WAR >    0XXX
*WAR >    0YYY
*WAR >    0ZZZ
*WAR >    0APP
*WAR >    0APR
*WAR >    0APS
 EXT >    0APR  *INACT    G               TSOS      JCJS2XSB
#ERR >    0APR   RC FROM CANCEL        09
 EXT >    0APQ  *INACT    G               TSOS      JCJS2XSB
 EXT >    0APP  *INACT    G               TSOS      JCJS2XSB  
Erläuterung

(1)

Das Beispiel zeigt einen weiteren Export. Die Protokolldatei wird pro MOVE-JOBS-Kommando neu angelegt.

(2)

Bestimmte Benutzerjobs sind nicht exportierbar, weil damit das (nicht gewollte) Entfernen des Jobs aus dem System verbunden ist (z.B. die Task, unter der das Kommando MOVE-JOBS ausgeführt wird, oder die Schedulertasks des JMS). Das Kommando MOVE-JOBS kann jedoch nicht das ungewollte Exportieren aller wichtigen Tasks verhindern. Der unvorsichtige Gebrauch des Kommandos MOVE-JOBS kann somit zum Abruch von anwendungsspezifisch wichtigen Jobs und damit zu schweren Störungen des Systemlaufs führen.

(3)

Es wurde die TSN eines zu exportierenden Jobs angegeben, die dem JMS nicht bekannt ist (Satzart *NFD).

Beispiel 3 (Import-Protokoll)
*HDR >  MOVE-JOBS   Date: 2014-03-23    Time: 13:50
*CMD >  FROM-FILE = JOBPOOL.GROSS
*CMD >  TO-FILE   = *STD
*CMD >  SELECT    = *BY-ATTRIBUTES (
*CMD >                  JOB_STATE = ( *INACTIVE, *REPEAT )
*CMD >                  PUBSET    = (
*CMD >                     A   ,G   ,L   ,2V24,2V27
*CMD >                              )
*CMD >                  JOB-NAME  = *ANY
*CMD >                  USER-ID   = *ANY
*CMD >                  JOB-CLASS = (
*CMD >                     JCJS2XSB,JCJS3XSB,J1      ,J2      ,
*CMD >                     J3      ,J4      ,J5
*CMD >                              )
*CMD >                             )
*CMD >  OUTPUT    = HEMUL
*CMD >                  ( SYSOUT = *YES, SYSLST = *NO  )
*CMD >  DIA-CONTR = *NO
+KEY >    TSN   JSTATE    CAT   JNAME     UID       JCLASS       O-TSN
 IMP >    0AQS  *INACT    2V24  HEM11     TSOS      JCJS2XSB                         (1) 
 IMP >    0AQT  *INACT    2V24  HEM22     TSOS      JCJS2XSB
 IMP >    0AQU  *INACT    2V24  HEM33     TSOS      JCJS2XSB
 IMP >    0AQV  *INACT    2V24  HEM44     TSOS      JCJS2XSB
 IMP >    0AQW  *REPEAT   2V24  HEM55     TSOS      JCJS2XSB
 IMP >    0AQY  *REPEAT   2V24  HEM66     TSOS      JCJS2XSB
 IMP >    0AQ0  *REPEAT   2V24  HEM77     TSOS      JCJS2XSB
 IMP >    0AQ2  *REPEAT   2V24  HEM88     TSOS      JCJS2XSB
#ERR >    0AP0   UNDEFINED USER-ID     HEMUL                                         (2) 
#ERR >    0AP1   UNDEFINED USER-ID     HEMUL
#ERR >    0AP2   UNDEFINED USER-ID     HEMUL
#ERR >    0AP3   UNDEFINED USER-ID     HEMUL
#ERR >    0AP4   UNDEFINED USER-ID     HEMUL
#ERR >    0AP5   UNDEFINED USER-ID     HEMUL
*MOD >    0AP7   TO CURRENT IMAGE      0AP6
#ERR >    0AP6   UNDEFINED JOB-CLASS   JCJS3XSB                                      (3) 
*MOD >    0AP9   TO CURRENT IMAGE      0AP8
#ERR >    0AP8   UNDEFINED JOB-CLASS   JCJS3XSB
*MOD >    0AQB   TO CURRENT IMAGE      0AQA
 IMP >    0AQA  *REPEAT   G               TSOS      JCJS2XSB                         (4) 
#ERR >    0AQC   UNDEFINED JOB-CLASS   JCJS3XSB
 IMP >    0AAK  *INACT    A     LUCKI     TSOS      JCJS2XSB
 IMP >    0CTC  *INACT    2V27  ENTPE     TSOS      JCJS2XSB
 IMP >    0AAL  *INACT    A     LUCKI     TSOS      JCJS2XSB
 IMP >    0AAM  *INACT    A     LUCKI     TSOS      JCJS2XSB
 IMP >    0AAN  *REPEAT   A     LUCKI     TSOS      JCJS2XSB
 IMP >    0AAQ  *REPEAT   A     LUCKI     TSOS      JCJS2XSB
 IMP >    0CUY  *INACT    2V27  ENTPE     TSOS      JCJS2XSB
 IMP >    0AEG  *INACT    G               TSOS      JCJS2XSB
 IMP >    0AEH  *INACT    G               TSOS      JCJS2XSB
 IMP >    0AEK  *INACT    G               TSOS      JCJS2XSB
#SYS >    0AEG   RC FROM JMS JMJENQ    04                                            (5) 
#SYS >    0AEE   RC FROM TSN REASSIGN  FFFF
#SYS >           RC FROM PAM READ      4567
#ERR >           WRONG VERSION ENTRY ON JOBPOOL PAGE 0005
#SYS >           RC FROM PAM WRITE     5678 
Erläuterung

(1)

(2)

Der Job konnte nicht importiert werden, weil die Benutzerkennung HEMUL im System nicht definiert ist.

(3)

Der Job konnte nicht importiert werden, weil die Jobklasse JCJS3XSB im System nicht definiert ist.

(4)

Beispiel für erfolgreich importierten Repeatjob, dessen Current-Image wiederhergestellt wurde.

(5)

Beispiele für weitere im Protokoll gemeldete Fehlersituationen. Die Fehler können nicht immer einem bestimmten Job zugeordnet werden.