PREP_PROCESS_REPORT

Verwenden Sie die Script-Funktion PREP_PROCESS_REPORT, um die Reportzeilen der ausführbaren Objekte aus der Datenbank abzurufen. Mit der Script-Funktion können Sie nach Typ und Inhalt der Reports filtern. Die Script-Funktion gibt einen Verweis auf eine Datensequenz zurück, die Sie zur weiteren Verarbeitung verwenden können, indem Sie den Rückgabewert der Script-Anweisung :PROCESS zuweisen. Verwenden Sie die Script-Funktion GET_PROCESS_LINE, um auf eine bestimmte Zeile im Report zuzugreifen.

Tipp: Analysieren Sie den Job-Report der eigentlichen Aufgabe auf der Seite Post-Prozess Verwenden Sie abhängig vom Ergebnis :MODIFY_STATE, um das definitive Ende des Jobs anzugeben.

Mehr Informationen:

Hinweise:

  • Der Report wird in derselben Sprache gespeichert wie das Automation Engine-Logging.
  • Der Script-Variablen, die die Datensequenz-Referenz enthält, kann kein neuer Wert zugewiesen werden. Verwenden Sie :CLOSE_PROCESS, um die vorhandene Datensequenz zu verwerfen und einen neuen Wert zuzuweisen.
  • Die Script-Funktion bewirkt, dass alle offenen Transaktionen des Scripts in die AE-Datenbank geschrieben werden. Weitere Informationen finden Sie unter Script-Verarbeitung.
  • Enthält die Datensequenz den gesuchten Inhalt nicht, führt das zu keiner Fehlermeldung. In diesem Fall wird die Datensequenz, die zwischen :PROCESS und :ENDPROCESS definiert ist, nicht verarbeitet.

Syntax

PREP_PROCESS_REPORT ([Objekttyp] ,[RunID] ,[Reporttyp] [,Filter] [,"COL=Definition1] [,Definition2]")

Parameter

  • PREP_PROCESS_REPORT
    Ruft Reports eines ausführbaren Objekts b

  • Objekttyp
    (Optional) Kurzname des Objekttyps
    Format:AE-Name, Script-Literal oder Script-Variable
    Weitere Informationen: Objekttypen
    Hinweise:

    • Dieser Parameter ist optional, da das Objekt über die RunID zugewiesen werden kann.
    • Geben Sie CLNT an, um auf Mandanten-Reports zuzugreifen.

  • RunID
    (Optional) RunID der Aufgabe, deren Reports abgerufen werden
    Format: Script-Literal oder Zahl
    Hinweis: Für Mandanten-Reports müssen Sie keine RunID angeben.
    Wichtig! Wenn Sie den Report eines Vorgänger einer Workflow-Aufgabe abrufen, aktivieren Sie auf der Registerkarte Attribute des Workflow-Objekts die Option Aufgabe generieren zur: Laufzeit. Der Report ist während der Aktivierungszeit noch nicht verfügbar. Weitere Informationen finden Sie unter Generierung zum Aktivierungszeitpunkt oder zur Laufzeit.

  • Reporttyp
    (Optional) Kurzname des Reporttyps
    Format: AE-Name, Script-Literal oder Script-Variable
    Weitere Informationen: Reports
    Hinweis: Wenn Sie keinen Reporttyp angeben, greift die Script-Funktion auf den Job-Report (REP) für Job-Objekte zu, und auf den Aktivierungsreport (ACT) für andere Aufgabentypen.

  • Filter
    (Optional) Filtert nach einem bestimmten Inhalt einer Zeile
    Format: Script-Literal oder Script-Variable
    Standardwert: *
    Hinweis:

    • Bei dem Filter wird die Groß-/Kleinschreibung nicht beachtet.
    • Verwenden Sie das Platzhalterzeichen *, das für eine beliebige Anzahl von Zeichen steht, oder ? für ein einzelnes Zeichen in einem Filter.

  • COL
    (Optional) Definiert, ob und wie die Datensequenzzeilen in Spalten unterteilt werden
    Format: Script-Literal oder Script-Variable
    Verwenden Sie das folgende Format: COL=Definition1[, Definition2]. Weitere Informationen finden Sie unter Spalten definieren.

Hinweise:

  • Sie müssen die RunID und den Reporttyp nicht angeben, wenn Sie PREP_PROCESS_REPORT verwenden, um auf den Report der Aufgabe zuzugreifen, die das Script selbst enthält. Die Script-Funktion ruft in diesem Fall die RunID ab.
  • Setzen Sie auch die Kommas für die Parameter, die Sie weglassen.
  • Wenn eine Aufgabe bereits beendet wurde, der Report jedoch noch unvollständig ist, wartet die Script-Funktion auf den Abschluss des Reports.

Spalten definieren

Um die Datensequenz Zeilen in Spalten aufzuteilen, geben Sie die Spaltentrennung folgendermaßen an:

COL=Definition1[, Definition2]

Wobei

  • COL

    Schlüsselwort für Spaltentrennung

  • Definition1

    Definiert, ob die Datensequenzzeilen in Spalten unterteilt sind

    Format: Script-Literal oder Script-Variable

    Zulässige Werte:

    • NONE

      Zeilen werden nicht in Spalten aufgeteilt (Standard)
    • LENGTH

      Legt eine vordefinierte Spaltengröße fest

      Hinweis: Verwenden Sie LENGTH_TAB in Definition2, um die Größe anzugeben.
    • DELIMITER

      Trennt Spalten mit einem Trennzeichen

      Hinweis: Verwenden Sie DELIMITER in Definition2, um das Trennzeichen anzugeben.

  • Definition2

    (Optional) Definiert Spaltengrößen und -namen oder das Trennzeichen

    Format: Script-Literal oder Script-Variable

    Zulässige Werte:

    • LENGTH_TAB

      Gibt Spaltengrößen und Spaltennamen an

      Beispiel:"COL=LENGTH,LENGTH_TAB='3=drive,100=file name'"

      Hinweise:
      • Trennen Sie einzelne Spaltendefinitionen durch Kommas.
      • Geben Sie bis zu 22 Spalten mit einer Gesamtzahl von 2.048 Byte an.
      • Geben Sie die Spaltengröße als Anzahl der Zeichen an. Die maximale Größe ist 255 Zeichen.
      • (Optional) Geben Sie Spaltennamen an. Namen können bis zu 32 Zeichen lang sein.
      • Verwenden Sie Anführungszeichen vor der ersten und nach der letzten Spaltendefinition. Verwenden Sie doppelte Anführungszeichen, wenn Sie einfache Anführungszeichen für Script-Literale in Definition2 verwenden, oder umgekehrt.
    • DELIMITER

      Definiert ein Trennzeichen, das Spalten trennt

      Die Zeilen der Datensequenz werden als Spalten zurückgegeben, die vor, zwischen oder nach dem Trennzeichen-String platziert sind.

      Beispiel:

      "COL=DELIMITER,DELIMITER=*'*"

      'COL=DELIMITER,DELIMITER=@"@'


      Standardwert: ;

      Hinweise:
      • Sie können beliebige Zeichen als Trennzeichen verwenden.
      • Sie können auch das Tabulatorzeichen als Trennzeichen verwenden: 'DELIMITER=<TAB>'
      • Das Trennzeichen kann ein String mit bis zu 10 Zeichen sein.
      • Schließen Sie das Trennzeichen mit einem beliebigen Zeichen ein: *Trennzeichen*. Die umschließenden Zeichen werden in der Ausgabe nicht angezeigt.
      • Eine Spalte wird nicht getrennt, wenn eine Zeile kein Trennzeichen enthält.
      • Wenn Sie einfache Anführungszeichen als Trennzeichen verwenden, müssen Sie Definition2 in doppelte Anführungszeichen einschließen und umgekehrt.

Beispiele

Im folgenden Beispiel wird nach allen Zeilen eines Job-Reports gesucht, die auf Laufwerk C: verweisen. Das Script gibt diese Zeilen im Aktivierungsreport aus.

: SET &HND# = PREP_PROCESS_REPORT ( "JOBS" ,, "REP" , "*C:\*" )
:
PROCESS &HND#
:   
SET   &RET# = GET_PROCESS_LINE ( &HND# )
:   
PRINT   &RET#
:
ENDPROCESS

Ein Job mit dem Namen MM.DAY fordert den Benutzer zur Eingabe von Dateinamen auf. Die Dateinamen werden im Aktivierungsreport des Jobs ausgegeben. Das folgende Script in einer anderen Aufgabe liest die Dateinamen aus dem Aktivierungsreport des Jobs und gibt sie im Aktivierungsreport der Aufgabe aus, die das Script enthält.

: SET   &RUNNR# = GET_UC_OBJECT_NR ( "MM.DAY" )

:
SET &HND# = PREP_PROCESS_REPORT (, &RUNNR#, "ACT" ,, "COL=DELIMITER" , "DELIMITER=*'*" )
:
PROCESS   &HND#
:   
SET    &RET# = GET_PROCESS_LINE ( &HND# ,1)
:   
PRINT   &RET#
:
ENDPROCESS

Das folgende Script auf der Seite Post-Prozess eines Jobs ruft Zeilen ab, die im Job-Report des eigentlichen Jobs den Eintrag "Datei nicht gefunden" enthalten. Das Script sendet eine Meldung an den Benutzer, der bei Automic Web Interface angemeldet ist, um ihn darüber zu informieren, dass beim Kopieren ein Fehler aufgetreten ist.

: SET   &HND# = PREP_PROCESS_REPORT (,,, "*file not found*" )
:
PROCESS   &HND#
:   
SEND_MSG BU,BU, "Error occurred while copying."
:   
MODIFY_STATE RETCODE=50
:
ENDPROCESS

Siehe auch: