PREP_PROCESS

Die Scriptfunktion PREP_PROCESS erstellt eine Datensequenz als Ergebnis von Betriebssystembefehlen von BS2000, UNIX, VMS und Windows, BS2000-Konsolenbefehlen, UNIX-Dateisystemabfragen, SAP-Monitoren, SAP-Systemprotokollen und SAP-Jobs. Es verwendet bestimmte Ereignisaufträge, um diese Befehle auf einem definierten Host zu verarbeiten, und gibt die Konsolenausgabe als interne Liste zurück, die Sie für die weitere Verarbeitung verwenden können.

Syntax

PREP_PROCESS (Host, EventJob[, Filter], Action [, Column separation]...[, UC_LOGIN=Login object])

Syntax

Beschreibung/Format

Host

Computer (Agentenname), auf dem der Ereignis-Job ausgeführt wird.
Format: Script-Literal oder Script-Variable

EventJob

Namensteil des Ereignis-Jobs, der ausgeführt werden soll.
Format: Script-Literal oder Script-Variable

Filter

Vorgabe für den Zeileninhalt. Groß- und Kleinschreibung wird nicht beachtet.

Format: Script-Literal oder Script-Variable
Standardwert: „*“

Action:

Wertzuweisung für eine Script-Variable des Ereignis-Jobs.

Format: Script-Literal oder Script-Variable

Standardwert: ""

Die Wertzuweisung hat die eigene Syntax: Variable=Zuweisung

Variable - Der Name der Script-Variablen des Ereignis-Jobs, der ein Wert zugewiesen wird. Die Angabe erfolgt ohne das Zeichen "&".

Zuweisung - Der Wert für die Script-Variable. Dies ist hauptsächlich eine Aktion, ein Befehl, ein Programmaufruf oder eine Aktivierung einer Datei, die im Zielsystem ausgeführt werden soll. Es kann auch eine beliebige andere Art der Zuweisung sein. Weitere Informationen finden Sie unter Objektattribute bearbeiten.

Wichtig!

Column separation

 

 

 

 

 

 

Sie können festlegen, dass Datensequenzzeilen in Spalten aufgeteilt werden sollen. Dafür gilt folgendes Format: COL=Definition1[, Definition2].
Format: Script-Literal oder Script-Variable

Definition1:

Erlaubte Werte: "NONE" (Standardwert), "FILE", "LENGTH", "DELIMITER"

"NONE" = Zeilen werden nicht in Spalten aufgeteilt
"FILE" = In der ersten Zeile der Datei, die der Agent erstellt, wird eine Spaltendefinition verwendet, wenn Ereignisaufträge gestartet werden, die das SAP JCL-Element R3_GET_MONITOR ausführen. "R3MONITOR" verwendet den Parameter EventJob des Template Event Jobs "EVENT.R3MONITOR" des Systemmandanten.
"LENGTH" = Vorgegebene Spaltenbreiten. Erfordert LENGTH_TAB= als Definition2
"DELIMITER" = Spalten werden durch Delimiter getrennt. Erfordert DELIMITER= als "Definition2"

Definition2:

Legt Spaltenbreiten und Spaltennamen (optional) oder das Begrenzungszeichen fest
Format: Script-Literal oder Script-Variable

Erlaubte Werte: "LENGTH_TAB" und "DELIMITER"

  • „LENGTH_TAB“
    Spaltenbreiten und Spaltennamen (optional) werden in der Form Spaltenbreite=[Spaltenname] angegeben. Die Spaltenbreite wird über eine Zeichenanzahl definiert. Die einzelnen Spaltendefinitionen müssen durch Kommas getrennt werden. Es sind maximal 22 Zeichen zugelassen. Anführungszeichen werden vor der ersten und nach der letzten Spaltendefinition benötigt. Werden für Definition2 als Script-Literal doppelte Hochkommata verwendet, müssen das einfache Hochkommata sein, und umgekehrt.

    Beispiel:
    "LENGTH_TAB='10=Department,25=Head,10=Budget'"

  • "DELIMITER"
    Spalten, die durch Zeichen getrennt werden sollen, können in der Form *Delimiter* angegeben werden.
    "*" = frei wählbares Begrenzungszeichen. Sie zeigen nur an, dass die von ihnen umschlossene Zeichenkette ein Trennzeichen ist. Diese Zeichen werden in der Ausgabe nicht angezeigt.
    Delimiter
    = Zeichenkette aus maximal 10 Zeichen, welche die Spalten voneinander trennt. Die Zeichen einer Zeile werden als Spalten zurückgegeben, die vor, zwischen oder nach der Trennzeichenkette positioniert sind. Eine Spalte wird nicht getrennt, wenn eine Zeile kein Trennzeichen enthält. Wenn Sie einfache Anführungszeichen als Trennzeichen verwendet haben, müssen Sie Definition2 in doppelte Anführungszeichen einschließen und umgekehrt.

    Standardwert: Semikolon (;)

    Beispiel:
    "DELIMITER=*'*"
    'DELIMITER=@"@'

Hinweis: Die Trennung durch Spalten funktioniert nur dann korrekt, wenn Werte nicht die reservierte Zeichenkette "§§§" enthalten.

UC_LOGIN

Name eines Login-Objektes.

Format: Script-Literal oder Script-Variable

Wichtig! Für diese Script-Funktion müssen Login-Daten angegeben werden. Der entsprechende Ereignis-Job muss gültige Anmeldeinformationen enthalten, wenn der Parameter UC_LOGIN nicht angegeben ist.


Standardmäßig enthält der Mandant 0000 die folgenden Ereignisaufträge im PREP_PROCESS-Ordner der Process Assembly-Perspektive: EVENT.BS2000CMD, EVENT.BS2000UCON, EVENT.NSK.CMD, EVENT.R3GETJOB, EVENT.R3MONITOR, EVENT.R3SYSLOG, EVENT.UNIXCMD, EVENT.UNIXFS, EVENT.VMSCMD und EVENT.WINCMD

Sie können sie unverändert verwenden oder für Ihre eigenen Ereignis-Jobs anpassen, deren Namen wie folgt aufgebaut sind: "EVENT.Ereignis-Job". "EVENT." ist der vorgegebene Teil des Auftragsnamens. Der Teil "Ereignis-Job" kann beliebig definiert werden. Die Definition eines Ereignis-Jobs wird in Bezug auf bestimmte Attribute und die allgemeine Script-Struktur gegeben.
Hinweis für EVENT.UNIXCMD: Sie müssen den Script-Ablauf ändern, um zu vermeiden, dass der Report gelöscht wird, wenn ein Rückgabewert >0 auftritt.

Die folgenden internen Schritte werden verarbeitet, wenn die von PREP_PROCESS bereitgestellte Datensequenz verarbeitet wird:

  1. Der Ereignis-Job, der mit dem Parameter Ereignis-Job angegeben wurde, wird aktiviert (Jobname: EVENT.Ereignis-Job).
  2. Der Ereignis-Job läuft auf dem Host und führt die Aktion aus, die in Aktion angegeben ist. Er leitet deren Ergebnis zeilenweise in eine Datensequenz um.
  3. (Optional) Es werden nur die Zeilen berücksichtigt, deren Inhalt dem Parameter Filter entspricht.
  4. Als Parameter Aktion können beliebige Wertzuweisungen angegeben werden.
    In den Betriebssystembefehlen von BS2000, UNIX, VMS und Windows sowie den BS2000-Konsolenbefehlen liefert die Variable primär den Wert für die Script-Variable "&CMD". Sie können auch Script-Variablen, die im Attributdialog verfügbar sind, Werte zuweisen. Beim Start des Ereignis-Jobs wird das entsprechende Include im Script verarbeitet und intern (abhängig vom Ereignis-Job) mit Werten versorgt, ohne dass der Attributdialog angezeigt wird.
  5. Die auf dem Host erzeugte Datensequenz wird an den zu verarbeitenden Automation Engine übertragen. Standardmäßig lautet der Name der Datei, die vom Host an den Automation Engine übertragen wird, "ERRRRRRR.TXT". Es werden folgende Platzhalter für die variablen Teile verwendet:
  6. Die RunID wird als konvertierte Zeichenkette und nicht als Zahl angezeigt. Details hierzu finden Sie unter: RUNNR2ALPHA.

Standardmäßig liest diese Script-Funktion eine komplette Zeile aus. Sie können strukturiert darauf zugreifen, wenn die Zeile in Spalten unterteilt ist. In diesem Fall können Sie mit Hilfe von

Verwenden Sie GET_PROCESS_LINE, um auf bestimmte Spalten zuzugreifen.

PREP_PROCESS gibt den Verweis auf die Datensequenz des Befehls als interne Liste, eine Datensequenz, zurück. Diese Referenz wird an die Script-Anweisungen :PROCESS und :ENDPROCESS als Startparameter weitergegeben. In Kombination mit der Script-Funktion GET_PROCESS_LINE kann damit jede einzelne Zeile der Datensequenz und deren Spalten bearbeitet werden.

Hinweise:

Beispiele

Im ersten Beispiel wird auf dem BS2000-Agenten "C70" ein Kommando "/STA P" abgesetzt. Die erforderliche Kennung und der Account werden aus dem Login-Objekt gelesen.

:SET &HND# = PREP_PROCESS("C70","BS2000CMD",,"CMD=/STA P","UC_LOGIN=ADMIN")

Das folgende Beispiel führt einen Befehl auf einer BS2000-Konsole aus, der alle offenen Anwendungen ausgibt. Es wird kein Filter für den Zeileninhalt angegeben.

:SET &HND# = PREP_PROCESS("C70","BS2000UCON",,"CMD=/BCDISP DISP=O","UC_LOGIN=ADMIN")

Im dritten Beispiel werden die Verzeichnisse des Laufwerks C:\ auf dem Rechner des Windows-Agenten "WIN23" ermittelt.

:SET &HND# = PREP_PROCESS("WIN23","WINCMD","*DIR*","CMD=DIR C:","UC_LOGIN=ADMIN")

Das vierte Beispiel liest den SAP-Monitor "MON1" aus dem Monitor-Set "AE". Es soll auf die einzelnen Spalten der Monitordaten zugegriffen werden, die in der Datei definiert sind. Benutzer und SAP-Mandant werden aus dem angegebenen Login-Objekt gelesen.

:SET &HND# = PREP_PROCESS("T46","R3MONITOR","*","MONSET=AE","MONNAM=MON1","COL=FILE","UC_LOGIN=AEADMIN")

The following example runs a command on the UNIX agent "UNIX01" which returns information about connections with the port 2400.

:SET &HND# = PREP_PROCESS("UNIX01","UNIXCMD",,"CMD=netstat -an | grep 2400","UC_LOGIN=LOGIN.UNIX")

Siehe auch:

auch

Script-Sprachmittel für Datensequenzen