GET_PROCESS_LINE
Script-Funktion: Ermittelt den aktuellen Zeileninhalt einer Datensequenz.
Syntax
GET_PROCESS_LINE (Datensequenz-Referenz [, [Spalte] [, [STR_SUBSTITUTE_VAR] [, Zeile ] ] ])
Syntax | Beschreibung/Format |
---|---|
Datensequenz-Referenz | Verweis auf die zu verarbeitende Datensequenz. |
Spalte | Zugriff auf eine Spalte der Datensequenzzeile.
Hinweis: VARA-Objekte (SQL, SQLI und Multi) können je nach Datenquelle beliebig viele Spalten enthalten. Hinweis: Statische VARA-Objekte enthalten nur 6 Wertspalten ("1" bis "6"). "1" gibt den Wert des Schlüssels zurück, "2" bis "6" geben die 5 Wertspalten zurück. "6" gibt also den Wert von Spalte 5 zurück. Hinweis: die FILELIST VARA-Objekte haben in der Regel nur eine Spalte, die mit "1" adressiert werden kann. |
STR_SUBSTITUTE_VAR | Innerhalb des Zeileninhalts der Datensequenz soll zusätzlich nach Script-Variablen gesucht und diese durch ihre Werte ersetzt werden. Hinweis: Wenn Sie diesen Parameter verwenden jedoch keine Spalte angeben, muss trotzdem ein Komma gesetzt werden. Beispiel : SET &VALUE# = GET_PROCESS_LINE ( &HND# , ,STR_SUB_VAR) |
Zeile | Zeile der Datensequenz, auf die zugegriffen werden soll. Format: Zahl ohne Anführungszeichen, Script-Literal oder Script-Variable |
Die Script-Funktion GET_PROCESS_LINE liest eine Zeile oder Spalten aus einer Datensequenz. Eine Übersicht über die Script-Elemente für das Erstellen und Arbeiten mit Datensequenzen finden Sie unter Script-Elemente für Datensequenzen
Verwenden Sie die Script-Funktion GET_PROCESS_LINE innerhalb einer Prozessschleife. Weitere Informationen zu Schleifen für die zeilenweise Verarbeitung einer Datensequenz finden Sie unter :PROCESS... :TERM_PROCESS... :ENDPROCESS.
Achtung! GET_PROCESS_LINE muss in einer PROCESS-Schleife von Script-Anweisungen gebildet werden.
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 VARA-Objektes ermittelt werden, enthält die aktuelle Zeile den Schlüssel (statisches VARA-Objekt) bzw. die Ergebnisspalte (dynamisches VARA-Objekt) plus die zugehörigen Werte. Der Wert "1" für Spalte liest den/das Schlüssel/Ergebnis aus, die Werte "2" bis "6" (statisches VARA-Objekt) lesen die entsprechende Wertspalte aus. Ist im VARA-Objekt (SQL, SQLI, MULTI) kein Ergebnisformat definiert, entspricht die Ergebnisspalte der ersten Wertspalte.
Die Anzahl der Wertspalten, die in dynamischen VARA-Objekten (SQL, SQLI oder MULTI) verwendet wird, ist nicht begrenzt und hängt von den Einstellungen ab, die in den VARA-Objekten und dem Datentyp vorgenommen wurden. Die Kommentarspalten können ebenfalls separat ausgelesen werden.
Hinweis: Wird die Spaltennummer von VARA-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. Auf die folgenden Spalten kann über GET_PROCESS_LINE zugegriffen werden:
- CONTEXT - Name des Monitoring-Kontextes
- PATH - Pfadangabe eines Wertes
- NAME - Name des Wertes
- VALUE - Aktueller Wert
- STATUS - Status: 1 = grün, 2 = gelb, 3 = rot
- DATE - Datum der Prüfung
- TIME - Zeitpunkt der Prüfung
Sie können auch den Parameter STR_SUBSTITUTE_VAR oder seine Kurzform STR_SUB_VAR verwenden. Dies hat zur Folge, dass innerhalb der Zeile Script-Variablen gesucht und diese durch ihre Werte ersetzt werden. Diese Funktion ist sehr nützlich in Kombination 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. Egal welcher Quelle die Datensequenz entstammt (Datei, Report, VARA-Objekt usw.), müssen die eigentlichen Werte im Script gesetzt werden (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 ist Nummer 1. Sie können Zeilennummern aus Datensequenzen mit der Script-Funktion GET_PROCESS_INFO abrufen. Weitere Informationen finden Sie unter GET_PROCESS_INFO.
Hinweis: Beachten Sie, dass GET_PROCESS_LINE standardmäßig Leerzeichen am Ende der auszulesenden Zeile abschneidet. Dieses Verhalten kann mit der Einstellung GET_PROCESS_LINE_RTRIM in UC_SYSTEM_SETTINGS deaktiviert werden. Weitere Informationen finden Sie unter GET_PROCESS_LINE_RTRIM.
Beispiele
Dieses Beispiel ermittelt die Verzeichnisse eines Laufwerks und gibt sie mit Hilfe von :PRINT innerhalb der Prozessschleife in den Aktivierungsreport aus.
: SET &HND# = PREP_PROCESS ( "PC01" , "WINCMD" , "*DIR*" , "CMD=DIR C:" )
: PROCESS &HND#
: SET &LINE# = GET_PROCESS_LINE ( &HND# )
: PRINT &LINE#
: ENDPROCESS
Dieses Beispiel ermittelt die Werte eines VARA-Objekts und schreibt sie innerhalb der Prozessschleife mit der :PRINT-Anweisung in den Aktivierungsreport.
: 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
Dieses Beispiel liest alle Zeilen der Automic Web Interface-Logdatei, 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
Dieses Beispiel 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'
Dieses Beispiel 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 für &NAME#:
Aktiviert von Workflow: &JPNAME#
Siehe auch: