Automation Engine Script-Leitfaden > Funktionelle Gliederung > Datensequenzen > GET_PROCESS_LINE

GET_PROCESS_LINE

Script-Funktion: Ermittelt den aktuellen Zeileninhalt einer Datensequenz.

Syntax

GET_PROCESS_LINE(Data sequence reference, [Column], [STR_SUB[STITUTE]_VAR], [Row])

Syntax

Beschreibung/Format

Datensequenz-Referenz

Referenz auf die zu verarbeitende Datensequenz.
Format: Script-Variable

Spalte

Zugriff auf eine Spalte der Datensequenz-Zeile.

  • Datensequenz, deren Zeilen in Spalten unterteilt wurde.
    Format: Zahl ohne Hochkommate, Script-Literal oder Script-Variable
    Erlaubte Werte: "1" bis "22" oder Spaltenname
  • Die Datensequenz eines Variablen-Objekts (PREP_PROCESS_VAR und PREP_PROCESS_VAR_XML).
    Format: Zahl ohne Hochkommata oder Script-Variable
    Erlaubte Werte: "1", "2" bis n
    "1" = Key bzw. Result-Spalte. Werte-Spalte von Variablen-Objekten des Typs "Dateiliste".
    "2" - "6" = Wertespalten von statischen Variablen-Objekten
    "2" bis n = Nummer der Wertespalten von Variablen-Objekten.
  • Dynamische Variablen (SQL, SQLI und Multi) können beliebig viele Spalten enthalten. Dies richtet sich nach der jeweiligen Datenquelle.

    Statische Variablen besitzen nur 6 Wertespalten ("1" bis "6"). "1" gibt den Wert des Keys zurück, "2" bis "6" geben die 5 Werte-Spalten zurück. "6" gibt daher den Wert der Spalte 5 zurück..

    FILELIST-Variablen besitzen generell nur eine Spalte, die mit "1" anzusprechen ist.

  • Datensequenz eines Kommentars (PREP_PROCESS_COMMENTS)
    Format: Zahl ohne Hochkommata oder Script-Variable
    Erlaubte Werte: "1", "2" und "3"
    "1" = Zeitstempel
    "2" = Name des Benutzers
    "3" = Kommentartext
  • Die Datensequenz eines PromptSet-Objekts (PREP_PROCESS_PROMPTSET)
    Format: Zahl ohne Hochkommata, AE-Name, Script-Literal oder Script-Variable
    Erlaubte Werte:
    "1" oder "VARIABLE_NAME" = Name der PromptSet-Variable des PromptSet-Elementes (ohne führendes &).
    "2" oder "CUSTOM_FIELD" = Inhalt des benutzerdefinierten Feldes
    "3" oder "DEFAULT" = Standardwert des PromptSet-Elementes
    "4" oder "TYPE" = Typ des PromptSet-Elementes (z.B.: "text" oder "integer")
    "5" oder "DATA_REFERENCE" = Name des Referenz-Objektes (Variable oder Kalender)
    "6" oder "DATA_REFERENCE_KEY" = Begriff des Referenz-Kalenderobjektes (wenn vorhanden)

STR_SUBSTITUTE_VAR
STR_SUB_VAR

Innerhalb des Zeileninhalts der Datensequenz soll zusätzlich nach Script-Variablen gesucht und diese durch ihre Werte ersetzt werden.

Wenn Sie diesen Parameter verwenden jedoch keine Spalte angeben, ist trotzdem deren Komma zu setzen.
Beispiel:

:SET&VALUE# = GET_PROCESS_LINE(&HND#, ,STR_SUB_VAR)

Zeile Zeile der Datensequenz, auf die zugegriffen werden soll.
Format: Zahl ohne Hochkommate, Script-Literal oder Script-Variable

Kommentare

Die Script-Funktion GET_PROCESS_LINE liest eine Zeile oder Spalten aus einer Datensequenz. Diese wird von folgenden Script-Sprachmitteln bereitgestellt:

Die Script-Funktion GET_PROCESS_LINE wird innerhalb der Script-Anweisungen :PROCESS und :ENDPROCESS verwendet, welche eine Schleife für die Bearbeitung der Datensequenz bilden und mit jedem Schleifendurchlauf eine neue Zeile der Datensequenz zur Verfügung stellen.

Bitte beachten Sie: Ab Version 9 muss sich GET_PROCESS_LINE in einer PROCESS-Schleife befinden.

Die einzelnen Zeilen einer Datensequenz können auch in Spalten unterteilt sein. Dies wird schon bei der Erstellung der Datensequenz mit den Parametern COL=LENGTH bzw. COL=DELIMITER definiert. Der Zugriff auf eine einzelne Spalte erfolgt durch deren Nummer (1 - erste Spalte) oder sofern festgelegt über den Spaltennamen.

Geben Sie die Spalte nicht an oder verwenden Sie "0", so wird die gesamte Zeile zurückgegeben, daher alle Spalten. Die Zeile wird nach 255 Zeichen abgeschnitten.

Wenn die Werte eines Variablen-Objektes ermittelt werden, enthält die aktuelle Zeile den Key (statische Variable) bzw. die Result-Spalte (dynamische Variable) plus die zugehörigen Werte. Mit dem Wert "1" für Spalte wird der Key/Result, mit "2" bis "6" (statische Variablen) die jeweilige Wertspalte gelesen. Die Result-Spalte entspricht der ersten Werte-Spalte, wenn im Variablen-Objekt (SQL, SQLI, MULTI) kein Ergebnis definiert ist.
Die Anzahl der Werte-Spalten, die in dynamischen Variablen mit den Quellen "SQL", "SQL - intern" oder „Multi verwendet werden, ist von den Einstellungen abhängig, die in den Variablen-Objekten vorgenommen wurden, sowie vom Datentyp
.
Die Kommentarspalten können auch einzeln gelesen werden.

Wird die Spaltennummer bei der Datensequenz von Variablen-Objekten nicht angegeben, so wird der Wert aller Spalten (inklusive Key/Result) getrennt durch die Zeichen "§§§" zurückgeliefert.

Für den Zugriff auf SAP-Monitore gilt ein besonderes Verfahren. Der SAP-Agent teilt die einzelnen Zeilen, welche ein SAP-Monitor liefert, in feste Spalten auf. Er hinterlegt Spaltennamen und Spaltenbreiten als erste Zeile in der Datei, die durch die Automation Engine verarbeitet wird. Mit GET_PROCESS_LINE kann auf folgende Spalten zugegriffen werden:

Sie können zusätzlich den Parameter STR_SUBSTITUTE_VAR angeben, wobei auch die Kurzform STR_SUB_VAR gültig ist. Dies hat zur Folge, dass innerhalb der Zeile Script-Variablen gesucht und diese durch ihre Werte ersetzt werden. Besonders hilfreich ist die Funktion in Verbindung mit PREP_PROCESS_FILE. Bereiten Sie in einer Datei einen Text vor, der an veränderbaren Stellen Script-Variablen enthält, um diesen leicht weiterverarbeiten zu können. Doch egal welcher Quelle die Datensequenz entstammt (Datei, Report, Variablen-Objekt,...), die Werte selbst sind im Script zu setzen (siehe Beispiel 5 unten).

Weiters ist der Zugriff auf eine bestimmte Zeile der Datensequenz möglich. Geben Sie dazu die Nummer der Zeile beim entsprechenden Parameter der Script-Funktion an. Die erste Zeile besitzt die Nummer 1. Zeilennummern von Datensequenzen können auch mit dem Sprachmittel GET_PROCESS_INFO ermittelt werden.

Beachten Sie, dass GET_PROCESS_LINE standardmäßig Leerzeichen am Ende der auszulesenden Zeile abschneidet! Dieses Verhalten kann jedoch der Administrator mit der Einstellung GET_PROCESS_LINE_RTRIM in der Variablen UC_SYSTEM_SETTINGS deaktivieren.

Beispiele

Im ersten Beispiel werden die Verzeichnisse eines Laufwerkes ermittelt und innerhalb der Prozess-Schleife mit der :PRINT-Anweisung in das Aktivierungsprotokoll ausgegeben.

:SET &HND# = PREP_PROCESS("PC01","WINCMD","*DIR*","CMD=DIR C:")
:
PROCESS &HND#
:   
SET &LINE# = GET_PROCESS_LINE(&HND#)
:  
 PRINT &LINE#
:
ENDPROCESS

Im zweiten Beispiel werden die Werte einer Variablen ermittelt und innerhalb der Prozess-Schleife mit der :PRINT-Anweisung in das Aktivierungsprotokoll ausgegeben.

:SET &HND#=PREP_PROCESS_VAR(UC_CLIENT_SETTINGS)
:
PROCESS &HND#
:   
SET &RET1# = GET_PROCESS_LINE(&HND#,1)
:   
SET &RET2# = GET_PROCESS_LINE(&HND#,2)
:   
PRINT "&RET1# &RET2#"
:
ENDPROCESS

Das dritte Beispiel liest alle Zeilen aus einer Logdatei des UserInterfaces, welche Informationen über die Datenbank liefern. Dabei werden Spaltenbreiten und Spaltennamen vorgegeben. Die relevanten Informationen werden im Aktivierungsprotokoll ausgegeben. Die Zwischenräume (Spalten 2 und 4) werden ignoriert.

:SET &HND# = PREP_PROCESS_FILE(WIN21, "F:\AUTOMIC\DIALOG\TEMP\UCDJ_LOGG_01.TXT","*DB-INFO*","COL=LENGTH","LENGTH_TAB='8=DATUM,1,6=ZEIT,7,200=TEXT'")
:
PROCESS &HND#
:   
SET &COL1# = GET_PROCESS_LINE(&HND#,1)
:   
SET &COL2# = GET_PROCESS_LINE(&HND#,3)
:   
SET &COL3# = GET_PROCESS_LINE(&HND#,"TEXT")
:  
 PRINT "&COL1# &COL2# &COL3#"
:
ENDPROCESS

Das vierte Beispiel liest den SAP-Monitor "MON1" aus dem Monitorset "AUTOMIC" aus. Es soll auf die einzelnen Spalten der Monitordaten zugegriffen werden. Die Zeilen der Datensequenz werden im Aktivierungsprotokoll ausgegeben.

:SET &HND# = PREP_PROCESS("T01","R3MONITOR","*","MONSET=AE","MONNAM=MON1","COL=FILE","UC_USER_ID=AE","UC_SAPCLIENT=001")
:
PROCESS &HND#
:   
SET &PATH# = GET_PROCESS_LINE(&HND#,"PATH")
:   
SET &NAME# = GET_PROCESS_LINE(&HND#,"NAME"")
:   
SET &VALUE# = GET_PROCESS_LINE(&HND#,"VALUE"")
:   
SET &STATUS# = GET_PROCESS_LINE(&HND#,"STATUS")
:   
SET &DATE# = GET_PROCESS_LINE(&HND#,"DATE")
:   
SET &TIME# = GET_PROCESS_LINE(&HND#,"TIME")
:   
PRINT "&PATH# &NAME# &VALUE# &STATUS# &DATE# &TIME#"
:
ENDPROCESS

Definition der Spaltenbreiten und Spaltennamen in der Datei (erste Zeile), die durch den SAP-Agenten bereitgestellt wird.

COL=LENGTH,LENGTH_TAB='74=PATH,25=NAME,5=VALUE,2=STATUS,9=DATE,7=TIME'

Im fünften Beispiel werden Zeilen einer Textdatei ausgelesen, um zunächst die darin befindlichen Script-Variablen durch ihren Wert zu ersetzen und die so modifizierten Zeilen dann in das Aktivierungsprotokoll auszugeben.

:SET &NAME# = SYS_ACT_ME_NAME()
:
SET &DATE# = SYS_DATE_PHYSICAL("MM/DD/YYYY")
:
SET &TIME# = SYS_TIME_PHYSICAL("HH:MM")
:
SET &JPNAME# = SYS_ACT_PARENT_NAME()

:
SET &HND# = PREP_PROCESS_FILE ("WIN01","C:\AUTOMIC\REPORT.TXT")
:
PROCESS &HND#
:  
SET &RET# = GET_PROCESS_LINE (&HND#,,STR_SUB_VAR)
:  
PRINT &RET#
:
ENDPROCESS

Auszug aus der vorgefertigten Textdatei REPORT.TXT:

&date#/&time#

Report for &NAME#:

Activated by workflow: &JPNAME#

 

Siehe auch:

Script-Sprachmittel - Datensequenzen

Beispielsammlung
Endstatus aufgrund des Reportinhaltes setzen

Aufruf eines MBeans

Allgemeines zum Script
Script-Sprachmittel - Alphabetische Auflistung

Script-Sprachmittel - Funktionelle Gliederung

 


Automic Documentation - Tutorials - Automic Blog - Resources - Training & Services - Automic YouTube Channel - Download Center - Support

Copyright © 2016 Automic Software GmbH