Your Browser is not longer supported

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

{{viewport.spaceProperty.prod}}

CANCEL-JOB

&pagelevel(3)&pagelevel

Benutzerauftrag abbrechen

Komponente:

BS2000

Funktionsbereich:

Auftragsverarbeitung

Anwendungsbereich:

JOB                                                                                                      

Privilegierung:

STD-PROCESSING
HARDWARE-MAINTENANCE
OPERATING
SAT-FILE-EVALUATION
SAT-FILE-MANAGEMENT
SECURITY-ADMINISTRATION

Berechtigungsschlüssel:

P

Funktionsbeschreibung

Das Kommando CANCEL-JOB bricht unter der eigenen Benutzerkennung laufende Aufträge ab. Darüber hinaus können über das Kommando auch Batchaufträge abgebrochen werden, die von der eigenen Benutzerkennung erzeugt wurden und unter einer fremden Benutzerkennung ablaufen (erweiterter Zugriff).

Vom Auftrag belegte Betriebsmittel werden freigegeben (wie bei EXIT-JOB oder LOGOFF). Ein Auftrag kann sich mit diesem Kommando nicht selbst abbrechen (nur mit EXIT-JOB bzw. LOGOFF möglich).
Ist der abzubrechende Auftrag bereits beendet, so wird das Kommando CANCEL-JOB zurückgewiesen und eine entsprechende Meldung ausgegeben.
Das CANCEL-JOB-Kommando bricht einen Auftrag nur dann ab, wenn er sich im Zustand TU oder vor der Bearbeitung des nächsten Kommandos befindet.
Ein Auftrag kann in folgenden Fällen nicht abgebrochen werden:

  • Der Auftrag wartet auf eine Operatorantwort. Das Kommando wird wirksam, sobald die Meldung beantwortet ist (soll der Auftrag ohne Beantwortung der Meldung abgebrochen werden, siehe Kommando FORCE-JOB-CANCEL).

  • Der Auftrag wird wegen Systemfehler abnormal beendet.

  • Für den Auftrag wurde (durch die Systembetreuung) das Kommando HOLD-TASK abgesetzt.

  • Der Auftrag befindet sich in Auftragsbeendigung; z.B.: Aktionen nach dem Kommando EXIT-JOB bzw. LOGOFF oder Aktionen im Benutzerprogramm, nachdem das Ereignis ABEND signalisiert wurde (ABEND-STXIT-Routine, siehe Handbuch „Makroaufrufe an den Ablaufteil“ [22]).

  • Der Auftrag befindet sich im Zustand „PENDED INDEFINITELY“.

  • Der Auftrag ist eine Systemtask.

Soll im Dialog ein Auftrag mit CANCEL-JOB abgebrochen werden, fordert das System eine Bestätigung, wenn der abzubrechende Auftrag mit dem Attribut PROTECTION=*CANCEL gestartet wurde (siehe Kommando ENTER-JOB, ENTER-PROCEDURE bzw. SET-LOGON-PARAMETERS). 

Informationen über die Auftragsbeendigung

Ein Auftrag, der mit CANCEL-JOB beendet wird, erhält Informationen über den Urheber des CANCEL-JOB-Kommandos nach SYSOUT ausgegeben. Die Ausgabe nach SYSOUT enthält zusätzlich den Kommentar, der im Operanden TEXT des CANCEL-JOB-Kommandos angegeben wurde.
Wurde der Auftrag abnormal beendet, d.h. das Kommando CANCEL-JOB wurde mit STEPS=*ALL (Voreinstellung) abgesetzt, wird die Zustandsanzeige einer überwachenden Jobvariablen auf den Wert „$A“ gesetzt. Zusätzlich werden die Informationen über den Urheber in verkürzter Form und der Kommentar aus dem Operanden TEXT in den Systemteil (die ersten 128 Bytes) der überwachenden Jobvariablen übernommen:

  • Die Urheberinformation beginnt ab Byte 37 und besteht aus der Zeichenfolge CAN: info, wobei info die ersten 27 Bytes der nach SYSOUT gelieferten Urheberinformation enthält.

  • Der Kommentar beginnt ab Byte 70 und besteht aus der Zeichenfolge TEXT: text, wobei text die ersten 51 Bytes des im Operanden angegebenen Kommentars enthält.

Zur Auftragsüberwachung siehe Handbuch „Jobvariablen“ [20].

Privilegierte Funktion

Wird das Kommando CANCEL-JOB an der Konsole bzw. unter einer Benutzerkennung mit dem Privileg TSOS oder OPERATING abgesetzt, so kann ein unter einer beliebigen Benutzerkennung gestarteter Auftrag abgebrochen werden.

Format

CANCEL-JOB                                                                                 

Kurzname: CNJ

JOB-IDENTIFICATION = *TSN(...) / *MONJV(...)


*TSN(...)



|

TSN = <alphanum-name 1..4>



|

,HOST = *STD / <c-string 1..8>


*MONJV(...)



|

MONJV = <filename 1..54 without-gen-vers>

,DUMP = *NO / *STD / *CANCEL-RUNNING-DUMP

,SYSTEM-FILES = *STDOUT / *PRINT / *MAIL / *DELETE

,STEPS = *ALL-STEPS / *CURRENT-STEP / *ALL-CALENDAR-REPETITIONS

,TEXT = * NO / <c-string 1..72>

Operandenbeschreibung

JOB-IDENTIFICATION =
Art der Auftrags-Identifikation.

JOB-IDENTIFICATION = *TSN(...)
Der Auftrag wird über seine Auftragsnummer (TSN) identifiziert.

TSN = <alphanum-name 1..4>
TSN des abzubrechenden Auftrags.
Führende Nullen können weggelassen werden.

HOST = *STD / <c-string 1..8>
Rechner, auf dem der abzubrechende Auftrag läuft.
Default-Wert ist *STD , d.h. der Auftrag läuft auf dem lokalen Rechner.
Der Host-Name eines fernen Rechners kann nur für Rechner innerhalb eines Rechnerverbunds angegeben werden (siehe Handbuch „HIPLEX MSCF“ [25]).

JOB-IDENTIFICATION = *MONJV(...)
Der Auftrag wird über die überwachende JV identifiziert. Das Kommando wird abgewiesen, wenn die JV nicht zugreifbar ist (keine Leseberechtigung oder JV existiert nicht) oder wenn die JV keinen Auftrag überwacht.

Ein Auftrag, der auf einem Remote-Rechner abläuft, ist über die überwachende JV nur zugreifbar, wenn im MRSCAT der beteiligten Rechner jeweils die Katalogkennung des Home-Pubsets des Partnerrechners eingetragen ist.

MONJV = <filename 1..54 without-gen-vers>
Name der JV, die den abzubrechenden Auftrag überwacht.
Der Auftrag, dem diese Jobvariable zugeordnet ist, wird dann abgebrochen.

DUMP =
Vereinbart, ob für den abzubrechenden Auftrag ein Dump auszugeben ist bzw. ob ein gerade in Bearbeitung befindlicher User- oder Areadump abgebrochen werden soll.

DUMP = *NO
Es wird kein Dump angefordert.

DUMP = *STD
Die für den abzubrechenden Auftrag aktuell getroffene Vereinbarung (siehe Operand DUMP im Kommando MODIFY-TEST-OPTIONS) wird wie folgt ausgewertet:

Vereinbarung für den abzubrechenden Auftrag

Auswirkung

DUMP=*NO

Es wird kein Dump angefordert.

DUMP=*STD / *YES / *SYSTEM

Es wird ein Userdump angefordert, bei DUMP=*SYSTEM ggf. ein Systemdump.

DUMP = *CANCEL-RUNNING-DUMP
Wird für den abzubrechenden Auftrag gerade ein User- oder Areadump erstellt, soll die Erstellung unverzüglich abgebrochen und die Dump-Datei gelöscht werden.

SYSTEM-FILES =
Legt fest, ob die Systemdateien auf Drucker oder per E-Mail auszugeben sind. Die Ausgabe auf Drucker ist nicht möglich, wenn für den Systemparameter SSMLGOF1 der Wert NO-SPOOL eingestellt wurde.

SYSTEM-FILES = *STDOUT
Abhängig von der Einstellung des Systemparameters SSMOUT werden die Systemdateien auf Drucker ausgegeben (siehe *PRINT) oder per E-Mail verschickt (siehe *MAIL). Bei systemübergreifender Kommandobearbeitung wird der Systemparameter des Zielsystems ausgewertet.

SYSTEM-FILES = *PRINT
Die Systemdateien werden auf Drucker ausgegeben.

SYSTEM-FILES = *MAIL
Die Systemdateien werden per E-Mail verschickt und erhalten die Dateinamenserweiterung ".TXT". Die Empfängeradresse(n) werden aus dem Benutzereintrag der Benutzerkennung des abgebrochenen Auftrags übernommen. Die Auswahl der Empfängeradresse aus einer Adressliste abhängig vom Jobnamen ist beim Kommando MAIL-FILE beschrieben.
Wenn das Verschicken per E-Mail nicht möglich ist (z.B. keine E-Mail-Adresse im Benutzereintrag), werden die Systemdateien auf Drucker ausgegeben.

SYSTEM-FILES = *DELETE
Die Ausgabe der Systemdateien wird unterdrückt.

STEPS =
Gibt an, wie der Auftrag abzubrechen ist. Der abzubrechende Auftrag erhält in jedem Fall Informationen über den Urheber des CANCEL-JOB-Kommandos nach SYSOUT ausgegeben. Die ausgegebenen Informationen werden um den Kommentar ergänzt, den der Urheber im Operanden TEXT des CANCEL-JOB-Kommandos angegeben hat.

STEPS = *ALL-STEPS
Der angegebene Auftrag wird insgesamt abgebrochen. Die Zustandsanzeige einer überwachende Jobvariable wird auf „$A“ gesetzt. Die Information über den Urheber des CANCEL-JOB-Kommandos wird in verkürzter Form in den Systemteil (die ersten 128 Byte) der überwachenden Jobvariablen übernommen. Zusätzlich wird ein im Operanden TEXT angegebener Text in den Systemteil der überwachenden Jobvariablen übernommen.
Die Wirkung ist abhängig von dem Batchjob-Typ des angegebenen Auftrags:

Repeatjob:

Nur der Abbruch des in Type 1 befindlichen Folgejobs eines Repeatjobs führt zur Beendigung aller zukünftigen Auftragswiederholungen.

Kalenderjob:

Der Abbruch eines Kalenderjobs wirkt nur auf den aktuellen Auftrag, der noch in der Auftragswarteschlange wartet oder gerade abläuft. Nachfolgende Aufträge des Kalenderjobs sind nicht betroffen. Der gesamte Kalenderjob kann mit STEPS=*ALL-CALENDAR-REPETITIONS beendet werden.

STEPS = *CURRENT-STEP
Die Wirkung ist Situationsabhängig:

  • Der Auftrag wird bearbeitet:

    Im angegebenen Auftrag wird nur der gerade bearbeitete Bearbeitungsabschnitt („JOB-STEP“) abgebrochen: Der „Spin-Off“-Mechanismus bzw. die SDF-P-Fehlerbehandlung wird ausgelöst. In eine überwachende Jobvariable werden keine Informationen übernommen. Der Auftrag kann normal beendet werden, wenn kein weiterer Grund für eine abnormale Beendigung auftritt. Falls gerade ein Benutzerprogramm geladen ist, wird es vorher abnormal beendet.
    Ist innerhalb der ENTER-Datei eine Fehlerbehandlung vorgesehen (Verfahren siehe Kommando SET-JOB-STEP), so wird der Auftrag am nächsten Bearbeitungsabschnitt fortgesetzt.

    Ist der nächste Bearbeitungsschritt die Beendigung des Auftrags (Kommando EXIT-JOB bzw. LOGOFF), so endet der Auftrag normal und eine überwachende Jobvariable wird dann auf „$T“ gesetzt (normales Auftragsende).

    Hinweis

    Durch Beendigung eines Auftrags mit CANCEL-JOB und STEPS=*CURRENT-STEP wird kein abnormales Auftragsende herbeigeführt.

  • Der Auftrag wartet auf seine Bearbeitung:
    Der Auftrag wird wie bei STEPS=*ALL-STEPS insgesamt abgebrochen (siehe dort).

STEPS = *ALL-CALENDAR-REPETITIONS
Der angegebene Auftrag wird wie bei STEPS=*ALL-STEPS abgebrochen. Ist der angegebene Auftrag ein Kalenderjob, wird der gesamte Kalenderjob (also auch zukünftige Wiederholungen) aus der Auftragsverwaltung entfernt.

TEXT = *NO / <c-string 1..72>
Vereinbart, ob und ggf. welcher Text im angegebenen Auftrag vor abnormaler Beendigung als Kommentar nach SYSOUT auszugeben ist. Der Text kann maximal 72 Zeichen lang sein. Wurde im Operanden STEPS der Wert *ALL-STEPS (Default-Wert) oder *ALL-CALENDAR-REPETITIONS angegeben, so werden bei Auftragsüberwachung die ersten 51 Zeichen des angegebenen Textes auch in den Systemteil der überwachenden Jobvariablen übernommen. 

Kommando-Returncode

(SC2)

SC1

Maincode

Bedeutung


0

CMD0001

Ohne Fehler

2

0

CMD0002

Kommando mit Warnung ausgeführt


32

CMD0221

Systemfehler


64

JMS0630

Semantischer Fehler


64

JMS0640

MONJV-Fehler, unerlaubter Zugriff oder falscher Aufrufzeitpunkt


64

JMS0670

Fehler bei einem REMOTE-Auftrag


130

JMS0620

Speichersättigung


130

JMS0650

MSCF oder Zielrechner nicht verfügbar


130

JMS0660

Kommando zu einem späteren Zeitpunkt wiederholen

Wurde das Kommando für einen Druckauftrag abgesetzt, werden Kommando-Returncodes von Spool zurückgegeben (siehe auch CANCEL-PRINT-JOB).

Hinweise

  • Das Kommando CANCEL-JOB kann im Dialog- und Batchbetrieb oder an der Konsole abgesetzt werden.

  • Mehrere SPOOLOUT-Aufträge können die gleiche Auftragsnummer (TSN, task sequence number) besitzen, beispielsweise infolge eines PRINT-DOCUMENT-Kommandos für mehrere Dateien. Das Kommando CANCEL-JOB wirkt in diesem Fall auf alle Druckaufträge, die die im Kommando angegebene TSN besitzen. Für jeden abgebrochenen Auftrag wird eine Meldung ausgegeben. Das Kommando SHOW-USER-STATUS gibt eine Liste der noch nicht abgebrochenen Aufträge aus. Die betroffenen Aufträge können bereits bearbeitet werden oder noch auf Bearbeitung warten.

Hinweise zur Auftragsüberwachung (siehe auch Handbuch „Jobvariablen“ [ 20 ])
  • Wird ein von einer Jobvariablen (JV) überwachter Auftrag abgebrochen, so wird die Zustandsanzeige der JV auf „$A“ gesetzt, sofern STEPS=*ALL-STEPS oder *ALL-CALENDAR-REPETITIONS angegeben wurde. Bei einem wartenden Auftrag gilt dies auch bei STEP=*CURRENT-STEP.
    Wird ein innerhalb des Auftrags ablaufendes Programm von einer Jobvariablen überwacht, so wird die Zustandsanzeige der programmüberwachenden Jobvariablen ebenfalls auf „$A“ gesetzt.

  • Ist die Jobvariable nicht zugreifbar oder dient sie nicht zur Überwachung eines Auftrags, so wird das Kommando abgewiesen.

  • Bei der Überwachung eines Kalenderjobs ist die überwachende Jobvariable dem Kalenderjob für die gesamte Lebensdauer zugeordnet. Die Überwachung endet erst mit der Beendigung des gesamten Kalenderjobs. 

Beispiel

Auftragsabbruch mit STEP=*CURRENT-STEP und STEP=*ALL-STEPS

/enter-proc proc.sort1,proc-par=(monjv-1='JV.JOB-A',
                               output-file-1='OUT.WORK1',
                               monjv-2='JV.JOB-B',
                               output-file-2='OUT.WORK2'),
             monjv=jv.job-c,job-class=jcb00200,job-name=jobc,
             logging=*yes,list=*yes,
             ass-sys-file=*par( syslst=lst.jobc, sysout=out.jobc) ————— (1)

%  JMS0066 JOB 'JOBC' ACCEPTED ON 12-01-26 AT 15:17, TSN = 3182

/show-job-status monjv(jv.job-c) —————————————————————————————————————— (2)

%TSN:     9VH1       TYPE:    2 BATCH    NOW:     2012-01-26.151748
%JOBNAME: JOBC       PRI:     9 225      SPOOLIN: 2012-01-26.1517
%USERID:  USER1      JCLASS:  JCB00200   LOGON:   2012-01-26.1517
%ACCNB:   89001      CPU-MAX:    200     CPU-USED:000000.1831
%REPEAT:  NO         RERUN:   NO         FLUSH:   NO
%MRSCAT:             HOLD:    NO         START:   SOON
%TID:     003A0193   UNP/Q#:    17/012
%CMD:     WAIT
%ORIGFILE::2OSG:$USER1.PROC.SORT1
%CMD-FILE::2OSG:$USER1.S.E.9VC3.2012-01-26.15.17.37
%MONJV:   :2OSG:$USER1.JV.JOB-C

/show-job-status monjv(jv.job-a) ———————————————————————————————————————————— (3)

%  JVS04D1 MONITORING JOB VARIABLE ':2OSG:$USER1.JV.JOB-A' NOT ASSIGNED TO JOB

/cancel-job monjv(jv.job-c),steps=*current, 
    text='Auftrag JOB-A wurde nicht gestartet; deshalb Abbruch von WORK-1' ——— (4)

%  CAN00OK CANCEL PROCESSING STARTED FOR TSN '3182' WITH USER ID 'USER1'

/show-job-status monjv(jv.job-c) ————————————————————————————————————————————— (5)

%TSN:     9VH1       TYPE:    2 BATCH    NOW:     2012-01-26.151943
%JOBNAME: JOBC       PRI:     9 225      SPOOLIN: 2012-01-26.1517
%USERID:  USER1      JCLASS:  JCB00200   LOGON:   2012-01-26.1517
%ACCNB:   89001      CPU-MAX:    200     CPU-USED:000000.1942
%REPEAT:  NO         RERUN:   NO         FLUSH:   NO
%MRSCAT:             HOLD:    NO         START:   SOON
%TID:     003A0193   UNP/Q#:    17/012
%CMD:     WAIT
%ORIGFILE::2OSG:$USER1.PROC.SORT1
%CMD-FILE::2OSG:$USER1.S.E.9VC3.2012-01-26.15.17.37
%MONJV:   :2OSG:$USER1.JV.JOB-C

/show-jv jv=jv.job-c ———————————————————————————————————————————————————————— (6)

%$R 09VH11OSH    J0312012-01-26141737

/show-job-status monjv(jv.job-b) ———————————————————————————————————————————— (7)

%  JVS04D1 MONITORING JOB VARIABLE ':2OSG:$USER1.JV.JOB-B' NOT ASSIGNED TO JOB

/cancel-job monjv(jv.job-c),steps=*all,text='Auch JOB-B nicht gestartet! Deshalb
    soll JOB-C abnormal beendet werden!' ———————————————————————————————————— (8)

%  CAN00OK CANCEL PROCESSING STARTED FOR TSN '3182' WITH USER ID 'USER1'

/show-jv jv=jv.job-c ———————————————————————————————————————————————————————— (9)

%$A 09VH11OSH    J0312012-01-26141737CAN:'DIAL 9VC3 USER1    ULF     ' TEXT:'AUC
H JOB-B NICHT GESTARTET! DESHALB SOLL JOB-C ABNO'

(1)

Die S-Prozedur PROC.SORT1 wird mit dem Kommando ENTER-PROCEDURE als Batchauftrag gestartet. Die Prozedur beinhaltet zwei Arbeitsschritte:

  • WORK-1:Warten auf das normale Auftragende eines Auftrags, der mit der überwachenden Jobvariablen (Parameter MONJV-1 bestimmt den Namen der Jobvariablen) überwacht wird. Im Benutzerteil der Jobvariablen wird der Name der Eingabedatei für einen SORT-Lauf übergeben. Der Parameter OUTPUT-FILE-1 bestimmt die Ausgabedatei des SORT-Laufs.

  • WORK-2:Warten auf das normale Auftragende eines Auftrags, der mit der überwachenden Jobvariablen (Parameter MONJV-2 bestimmt den Namen der Jobvariablen) überwacht wird. Im Benutzerteil der Jobvariablen wird der Name der Eingabedatei für einen SORT-Lauf übergeben. Der Parameter OUTPUT-FILE-2 bestimmt die Ausgabedatei des SORT-Laufs.

Beide Arbeitsschritte sind können unabhängig voneinander durchgeführt werden.Der Batchauftrag wird mit der Jobvariablen JV.JOB-C überwacht.

(2)

Der gestartete Auftrag JOB-C wartet (WAIT-EVENT).

(3)

Die erste überwachende Jobvariable JV.JOB-A ist keinem Auftrag zugeordnet.

(4)

Deshalb wird der gerade bearbeitete Abschnitt mit STEP=*CURRENT-STEP abgebrochen.

(5)

Der Auftrag JOB-C befindet sich wieder im Wartezustand (zweites WAIT-EVENT).

(6)

Die überwachende Jobvariable des Auftrag JOB-C wurde durch CANCEL-JOB nicht verändert.

(7)

Die zweite überwachende Jobvariable JV.JOB-B ist ebenfalls keinem Auftrag zugeordnet.

(8)

Der Auftrag JOB-C soll deshalb insgesamt abnormal beendet werden, da die weitere Bearbeitung nicht sinnvoll ist.

(9)

Die überwachende Jobvariable zeigt, dass der Auftrag abnormal beendet wurde. Außerdem enthält sie die Ursache und den Kommentar des Verursachers (gekürzt).

 

Protokoll (SYSOUT) mit dem Ablauf des Auftrags JOB-C
/CALL-PROC NAME=:2OSG:$USER1.S.PROC.9VC3.2012-01-26.15.17.37          ,
PROCEDURE-PARAMETERS=(MONJV-1='jv.job-a',OUTPUT-FILE-1='out.work1',
MONJV-2='jv.job-b',OUTPUT-FILE-2='out.work2'),LOGGING=*YES
          1  1 /BEG-PAR-DECL 
          2  1 /DECL-PAR   MONJV-1       (INIT = *PROMPT) 
          3  1 /DECL-PAR   OUTPUT-FILE-1 (INIT = *PROMPT) 
          4  1 /DECL-PAR   MONJV-2       (INIT = *PROMPT) 
          5  1 /DECL-PAR   OUTPUT-FILE-2 (INIT = *PROMPT) 
          6  1 /END-PAR-DECL 
%  SDP0116 PARENTHESIS MISSING
%  SDP0014 WARNING IN LINE:          30 IN PROCEDURE ':2OSG:$USER1.S.PROC.9VC3.2012-0126.15.17.37'

          7  1 /WORK-1:
          8  1 /WAIT-EVENT  JV(COND = ( (jv.job-a,1,2) = '$T' ),
TIME-LIMIT = 3600 ) 
%  CJC0020 WAIT COMMAND: TASK ENTERED WAIT STATE AT 15:17:37
%  CAN00BY CANCELLED BY 'DIAL 9VC3 USER1    ULF      FIREBALL $$$06580'
%  CAN0TXT TEXT: 'AUFTRAG JOB-A WURDE NICHT GESTARTET; DESHALB ABBRUCH VON WORK-1'
%  SDP0004 ERROR DETECTED AT COMMAND LINE:           8 IN PROCEDURE 
':2OSG:$USER1.S.PROC.9VC3.2012-01-26.15.17.37'
         18  1 /WORK-1-ERROR:
         18  1 /  IF-BLOCK-ERROR 
         19  1 /WRITE-TEXT 'Fehler bei WORK-1 mit SC1 = 64' 
Fehler bei WORK-1 mit SC1 = 64
         20  1 /HELP-MSG  CMD0205 
%  CMD0205 ERROR IN PRECEDING COMMAND OR PROGRAM AND PROCEDURE STEP TERMINATION: COMMANDS 
WILL BE IGNORED UNTIL /SET-JOB-STEP OR /LOGOFF OR /EXIT-JOB IS RECOGNIZED
%  ? The command issued is invalid or the program was terminated with the
%    macro TERM UNIT=STEP or TERMJ.
%    All commands following the invalid one will be ignored until a
%    /SET-JOB-STEP or a /LOGOFF or an /EXIT-JOB command is received.
%    In a procedure, the /END-PROCEDURE command will be accepted but the
%    other commands will still be ignored.
%  RESPONSE : NONE
         23  1 /END-IF 
         24  1 /WORK-2:
         25  1 /WAIT-EVENT  JV(COND = ( (jv.job-b,1,2) = '$T' ),
TIME-LIMIT = 3600 )
%  CJC0020 WAIT COMMAND: TASK ENTERED WAIT STATE AT 15:19:28
%  CAN00BY CANCELLED BY 'DIAL 9VC3 USER1    ULF      FIREBALL $$$06580'
%  CAN0TXT TEXT: 'AUCH JOB-B NICHT GESTARTET! DESHALB SOLL JOB-C ABNORMAL BEENDET 
WERDEN!'
%  NRTT201 TASK TERMINATION DUE TO /CANCEL(-JOB)  COMMAND
%  EXC0419 /LOGOFF AT 1521 ON 12-01-26 FOR TSN '9VH1'
%  EXC0421 CPU TIME USED: 0.1995

 

Inhalt der Prozedurdatei PROC.SORT1
/BEG-PAR-DECL 
/    DECL-PAR   MONJV-1       (INIT = *PROMPT) 
/    DECL-PAR   OUTPUT-FILE-1 (INIT = *PROMPT) 
/    DECL-PAR   MONJV-2       (INIT = *PROMPT) 
/    DECL-PAR   OUTPUT-FILE-2 (INIT = *PROMPT) 
/END-PAR-DECL 
/WORK-1:        "Sortieren der Datei 1" 
/           WAIT-EVENT  JV(COND = ( (&(MONJV-1),1,2) = '$T' ),- 
/                          TIME-LIMIT = 3600 ) 
/           CRE-JV      JV = #WORK1 
/           MOD-JV      JV = #WORK1, - 
/                       SET-VALUE = ( &(MONJV-1),129,54 ) 
/           ADD-FILE-LINK  LINK=SORTIN, - 
/                          FILE-NAME= &(JV('#WORK1')) 
/           ADD-FILE-LINK  LINK=SORTOUT, - 
/                          FILE-NAME= &(OUTPUT-FILE-1) 
/           SORT-FILE 
/WORK-1-ERROR:  IF-BLOCK-ERROR 
/                  WRITE-TEXT 'Fehler bei WORK-1 mit SC1 = &(SC1)' 
/                  HELP-MSG  &(MC) 
/                ELSE 
/                  WRITE-TEXT 'WORK-1 ohne Fehler beendet!' 
/                END-IF 
/WORK-2:        "Sortieren der Datei 2" 
/           WAIT-EVENT  JV(COND = ( (&(MONJV-2),1,2) = '$T' ),- 
/                          TIME-LIMIT = 3600 )
/           CRE-JV      JV = #WORK2 
/           MOD-JV      JV = #WORK2 , - 
/                       SET-VALUE = ( &(MONJV-2),129,54 ) 
/           ADD-FILE-LINK  LINK=SORTIN, - 
/                          FILE-NAME= &(JV(#WORK2')) 
/           ADD-FILE-LINK  LINK=SORTOUT, - 
/                          FILE-NAME= &(OUTPUT-FILE-2) 
/           SORT-FILE 
/WORK-2-ERROR:  IF-BLOCK-ERROR 
/                  WRITE-TEXT 'Fehler bei WORK-2 mit SC1 = &(SC1)' 
/                  HELP-MSG  &(MC) 
/                ELSE 
/                  WRITE-TEXT 'WORK-2 ohne Fehler beendet!' 
/                END-IF