GET_PROCESS_LINE

Script-Funktion: Ermittelt den aktuellen Zeileninhalt einer Datensequenz.

Syntax

GET_PROCESS_LINE (Data sequence reference [, [Column] [, [STR_SUBSTITUTE_VAR] [, Row ] ] ])

Syntax

Beschreibung/Format

Data sequence reference

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

Column

Zugriff auf eine Spalte der Datensequenzzeile.

  • Datensequenz, deren Zeilen in Spalten unterteilt wurde.
    Format: Zahl ohne Hochkommata, Script-Literal oder Script-Variable
    Erlaubte Werte: "1" bis "22" oder Spaltenname
  • Datensequenz eines Variablenobjekts (PREP_PROCESS_VARund PREP_PROCESS_VAR_XML).
    Format: Zahl ohne Hochkommata oder Script-Variable
    Erlaubte Werte: "1", "2" bis n
    "1" = Schlüssel- oder Ergebnisspalte. 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 je nach Datenquelle beliebig viele Spalten enthalten.

    Statische Variablen besitzen 6 Werte-Spalten ("1" bis "6"). "1" gibt den Wert des Schlüssels zurück, "2" bis "6" die 5 Wertspalten. "6" gibt also den Wert von 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
  • Datensequenz eines PromptSet-Objektes (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)

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

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 :PROCESSund :ENDPROCESS verwendet. Diese Script-Anweisungen bilden eine Schleife für die zeilenweise Verarbeitung der Datensequenz.

Bitte beachten Sie: Bitte beachten Sie, dass GET_PROCESS_LINE sich ab v9 in einer PROCESS-Schleife befinden muss.

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.

Die gesamte Zeile wird zurückgegeben, wenn die Spalte nicht angegeben ist oder wenn Sie „0“ verwenden. Die Zeile wird nach 255 Zeichen abgeschnitten.

Wenn die Werte eines Variablen-Objektes ermittelt werden, enthält die aktuelle Zeile die Schlüssel- (statische Variable) bzw. die Ergebnisspalte (dynamische Variable) plus die zugehörigen Werte. Der Wert „1“ für Spalte liest den/das Schlüssel/Ergebnis aus, die Werte "2" bis "6" (statische Variablen) lesen die entsprechende Wertspalte aus. Ist im Variablen-Objekt (SQL, SQLI, MULTI) kein Resultat-Format definiert, so entspricht die Resultat-Spalte der ersten Wertspalte.
Die Anzahl der Wertspalten, die in dynamischen Variablen mit den Quellen „SQL“, „SQL - intern“ oder „Multi“ verwendet wird, ist nicht begrenzt und hängt von den Einstellungen ab, die in den Variablenobjekten und dem Datentyp vorgenommen wurden.

Wird die Spaltennummer von Variablen-Objekten nicht angegeben, so wird der Wert aller Spalten (inklusive Schlüssel/Ergebnisspalte) 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).

Weiterhin 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_SETTING deaktivieren.

Beispiele

Im ersten Beispiel werden die Verzeichnisse eines Laufwerkes ermittelt und innerhalb der Prozess-Schleife mit der :PRINT-Anweisung in den Aktivierungsreport 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 den Aktivierungsreport 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

Beispiel 3 liest alle Zeilen der Automic Web InterfaceLogdatei, die Informationen über die Datenbank liefern. Es werden Spaltengröße und Spaltennamen vorgegeben und die entsprechenden Informationen im Aktivierungsreport 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

Beispiel 4 liest den SAP-Monitor „MON1“ aus der Monitorsammlung „AE“. Es soll auf die einzelnen Spalten der Monitordaten zugegriffen werden. Die Zeilen der Datensequenz werden im Aktivierungsreport 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 Spaltengrößen und -namen in der Datei (erste Zeile), die vom SAP-Agenten bereitgestellt wird.

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

Beispiel 5 liest die Zeilen einer Textdatei aus und ersetzt die eingebundenen Script-Variablen durch ihre Werte. Die geänderten Zeilen werden dann in den Aktivierungsreport geschrieben.

: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:

auch

Script-Sprachmittel für Datensequenzen