:MODIFY_STATE

Verwenden Sie die Script-Anweisung :MODIFY_STATE, um den Rückgabewert oder den Statustext eines Jobs zu ändern, nachdem die Aufgabe abgeschlossen wurde.

Wenn Sie den Rückgabewert ändern, ändern Sie auch den Status des Jobs. Der maximale Rückgabewert für ein normales Job-Ende, wie auf der Laufzeit- Seite des Jobs definiert, bestimmt, welchen Status der Job erhält, wenn er ausgeführt wurde. Wenn der geänderte Rückgabewert höher als der definierte maximale Rückgabewert ist, erhält der Job den Status ENDED_NOT_OK. Ist der geänderte Rückgabewert kleiner oder gleich dem maximalen Rückgabewert, erhält der Job den Status ENDED_OK.

Wenn Sie :MODIFY_STATE verwenden, um den Statustext eines Jobs zu ändern, ersetzt das Script den Text, den der Job-Messenger im Trailer mit dem von Ihnen angegebenen Text ausgibt.

Wichtig! :MODIFY_STATE ist nur auf der Seite Post-Prozess des Jobs zulässig, da der Job abgeschlossen sein muss, bevor das Script aufgerufen wird.

Mehr Informationen:

Hinweise:

  • Änderungen werden auf der Seite Post-Prozess (POST) des Job-Reports protokolliert. Weitere Informationen finden Sie unter Reports .
  • Die geänderten Werte werden auch im Detailfenster des Jobs angezeigt. Weitere Informationen finden Sie unter Objekt- und Aufgabendetails anzeigen.

Tipp: Verwenden Sie :MODIFY_STATE, um den ENDED_NOT_OK-Status einem Job zuzuweisen, der aus technischer Sicht normal beendet wurde, aber für den ein Fehler aufgetreten ist, der erst erkannt wird, wenn der Job-Report analysiert wird. Weitere Informationen finden Sie unter PREP_PROCESS_REPORT sowie im nachfolgenden Beispiel.

Syntax

: MODIFY_STATE Eigenschaft=Wert

Parameter

  • :MODIFY_STATE
    Ändert den Rückgabewert oder den Statustext eines abgeschlossenen Jobs.

  • Eigenschaft
    Gibt an, ob der Rückgabewert oder der Statustext geändert werden sollen
    Format: AE-Name oder Script-Variable
    Zulässige Werte:

    • RETCODE
      Rückgabewert des Jobs
    • STATUS_TEXT
      Statustext des Jobs
    • Wert
      Neuer Wert, der der Eigenschaft zugewiesen werden soll
      Format: Script-Literal, Script-Variable, AE-Name, Zahl ohne Anführungszeichen oder Script-Funktion
      Rückgabewert: numerischer Wert
      Statustext: alphanumerischer String, maximal 32 Zeichen

Beispiel

Ein Windows-Job-Objekt wird verwendet, um eine vorhandene Datei zu bearbeiten. Während der Ausführung dieses Jobs tritt ein logischer Fehler auf. Trotz dieser Tatsache endet der Job normal (ENDED_OK) mit dem Systemrückgabewert 0. Dies ist der Standard-Rückgabewert, wenn kein technischer Fehler auftritt. Um festzustellen, ob während der Ausführung ein Fehler aufgetreten ist, müssen Sie den Job-Report analysieren und den Systemrückgabewert in ENDED_NOT_OK ändern, wenn etwas schief gelaufen ist:

Um diese Situation zu veranschaulichen, verwenden Sie auf der Seite "Prozess" folgende JCL (Job Control Language):

@echo off

echo "#**********************************************************#"

echo "#* the started process produced an error - ReturnCode: 1 *#"

!echo "#* the started process did run successfully *#"

echo "#**********************************************************#"

echo %errorlevel%

@if NOT %ERRORLEVEL% == 0 goto :retcode

Der Job wird normal beendet, und sein Report (REP) zeigt die folgenden Informationen an:

c:\M123WS\B\agents\win64\bin\UCXJWX6M.EXE JNR=0007694321 MNR=0100 PNR=2611 IPA=10.49.164.60 TYP=S TXT=" Job started"

Program 'UC4 Job Messenger' version '12.3.3' started

UCMDJP: *********************************************************************

UCMDJP: ** JOB 0007694321 (ProcID:0000011976) START AT 15.04.2020/16:54:40 **

UCMDJP: ** UTC TIME 15.04.2020/14:54:40 **

UCMDJP: ** --------------------------------------------------------------- **

UCMDJP: ** USED: 0.000 CPU **

UCMDJP: ** 3 PROCESSES **

UCMDJP: ** 6274 PAGE FAULTS **

UCMDJP: *****************************************************************************

Program 'UC4 Job Messenger' version '12.3.3' terminated normally

ECHO is off.

"#*********************************************************#"

"#* der gestartete Prozess hat einen Fehler erzeugt - ReturnCode: 1 *#"

"#*********************************************************#"

0

Program 'UC4 Job Messenger' version '12.3.3' started

UCMDJP: *********************************************************************

UCMDJP: ** JOB 0007694321 (ProcID:0000011976) ENDED AT 15.04.2020/16:54:40 **

UCMDJP: ** UTC TIME 15.04.2020/14:54:40 **

UCMDJP: ** --------------------------------------------------------------- **

UCMDJP: ** USED: 0.000 CPU **

UCMDJP: ** 4 PROCESSES **

UCMDJP: ** 8693 PAGE FAULTS **

UCMDJP: *********************************************************************

Program 'UC4 Job Messenger' version '12.3.3' terminated normally

Um den Job-Report zu analysieren, verwenden Sie das folgende Script auf der Seite Post-Prozess des Jobs:

: SET   &HND# = PREP_PROCESS_REPORT (,,, "*error*" )
:
PROCESS   &HND#
:  
MODIFY_STATE STATUS_TEXT= "Ein logischer Fehler ist aufgetreten"
:  
MODIFY_STATE RETCODE=1

: FORMAT
:
ENDPROCESS

PREP_PROCESS_REPORT analysiert den Job-Report und erkennt, dass das Wort "*error" darin vorkommt. Aus diesem Grund wird :MODIFY_STATE verwendet, um den vorhandenen Rückgabewert von 0 in 1 zu ändern, wodurch der entsprechende (Windows)-BS-Fehlercode simuliert wird. Der Post-Processing-Report (POST) zeigt diese Informationen an, und der Job wird abgebrochen.

Tipps:

  • Das AE-System kann erweiterte Reports erstellen, die zusätzliche Informationen zu Scripts, JCL und Objektzugriffen bieten. Aktivieren Sie den Abschnitt Erweiterte Reports auf der Seite Allgemein des Job-Objekts für diesen Zweck. Weitere Informationen finden Sie unter Erweiterte und externe Ausgabereports.
  • Standardmäßig zeigen Job-Reports den Rückgabewert mit vorangestellten Nullen an. Sie können sie entfernen, um die Anzeige von Rückgabewerten benutzerfreundlicher zu gestalten. Weitere Informationen finden Sie unter FORMAT
  • Eine weitere Option zum Suchen und Festlegen von Filtern in Job-Reports ist die Verwendung der Seite "Externe Ausgabedateien" eines Job-Objekts. Weitere Informationen finden Sie unter Seiten "Ausgabe"

Siehe auch: