:MODIFY_STATE
Script-Statement: Ändert den Rückgabewert oder Statustext eines Jobs nach dessen Ende.
Syntax
:MODIFY_STATE Property=Value
Syntax |
Beschreibung/Format |
---|---|
Property |
Eigenschaft für das Jobende Erlaubte Werte:
|
Value |
Neue Zuweisung für die Jobeigenschaft Für "RETCODE": Numerischer Wert. |
:MODIFY_STATEkann für die nachträgliche Änderung des Rückgabecodes eines Jobs oder des Statustextes verwendet werden. Daher ist diese Script-Anweisung nur auf der Seite Post-Script erlaubt (siehe Seiten „Script“).
Die Script-Anweisung kann beispielsweise dazu verwendet werden, um einem Job, der aus technischer Sicht zwar normal beendet wurde, nachträglich den Status ENDED_NOT_OK zuzuweisen. Das könnte bei einem Job notwendig werden, bei dem ein Fehler erst durch die Analyse des eigenen Reports erkannt werden kann.
Siehe: PREP_PROCESS_REPORT.
Die Änderung des Rückgabewerts beeinflusst den Status eines Jobs. Der Status resultiert daraus, welcher maximale Rückgabewert für ein normales Ende des Jobs definiert wurde (Registerkarte Laufzeit). Ist der gesetzte Rückgabewert größer als dieser maximale Rückgabewert wird der Status auf ENDED_NOT_OK gesetzt. Ist der gesetzte Rückgabewert kleiner als der festgelegte maximale Rückgabewert oder gleich, erhält der Job den Status ENDED_OK.
Für das Jobende kann auch ein eigener Statustext gesetzt werden. Er ersetzt dann den Text, den der Job-Messenger im Trailer ausgegeben hat.
Die Änderungen werden im Job-Report, Registerkarte Post processing, protokolliert. Die geänderten Werte werden auch im Detailfenster des Jobs angezeigt.
Beispiel
Im Beispiel geht es um einen Job, der unter Windows eine Datei kopieren soll, die nicht vorhanden ist. Der Job würde normal mit Rückgabewert "0" enden. Nur aus dem Job-Report wäre ersichtlich, dass die zu kopierende Datei nicht gefunden wurde.
Der Job-Report wird nun im Post-Script des Jobs analysiert. Das Fehlen der zu kopierenden Datei wird erkannt und der Rückgabewert geändert. Dadurch wird der Job abgebrochen.
:SET &HND# = PREP_PROCESS_REPORT(,,,"*cannot find the
file*")
:PROCESS &HND#
: MODIFY_STATE
STATUS_TEXT="Files
not found"
: MODIFY_STATE RETCODE=50
:ENDPROCESS
Siehe auch: