Automatische Übernahme von Variablenwerten in BatchMan

Jeder SAP-Basis-Admin kennt dieses Problem:  Textvariablen und Werte in Batchjobs, wie z.B. Identnummern von Zahl- oder Mahnläufen, können meist nur manuell in Folgeprozesse übernommen werden. Um Ihnen diese häufige Tätigkeit zu erleichtern, bietet BatchMan mit dem Report TXV eine automatische Übernahme von Variablenwerten. So können Ergebnisse in Textvariablen durchsucht und die Werte für den nächsten Job direkt weiterverwendet werden.

In dieser Dokumentation zeigen wir Ihnen anhand von Beispielen, wie Sie diesen Report TXV ab BatchMan Version 5.1.3 nutzen können:

Suchen und Ersetzen von Variablen

Zur Suche kann der Text aus dem Joblog, der Spoolliste oder dem Anwendungslog genommen werden. Der Report läuft nur im Hintergrund, aber die Sucheinstellungen und die Suchergebnisse können im Testmodus geprüft werden.

Der Report muss als letzter Step im Job eingeplant werden, damit dieser die Jobdaten untersuchen kann:

Screenshot Suchmuster in BatchMan
Suchmuster in BatchMan

Bevor Sie eine Variante für den Report /BTCMAN/C_TXV sichern, können Sie die Suchkriterien und die Ergebnisse im Testmodus testen:

Screenshot Testmodus Joblog in BatchMan
Testmodus Joblog in BatchMan
Screenshot Suchkriterien im Testmodus in BatchMan eingeben
Suchkriterien im Testmodus in BatchMan eingeben

Im Testmodus brauchen Sie einen Text für die Suche. Das kann ein Joblog, eine Spoolliste oder ein freier Text sein.

Sie können ein Joblog oder eine Spoolliste eines bereits durchgelaufenen Jobs nehmen und als Vorlage benutzen. Dafür müssen Sie einen Jobnamen und einen Jobcount eintragen und einen Text aus dem Job laden.

Screenshot Beispiel für die Spoollistensuche im Testmodus in BatchMan
Beispiel für die Spoollistensuche im Testmodus in BatchMan

Der Text aus der Spoolliste oder aus dem Joblog kann nicht bearbeiten werden. Sie können aber den Textmodus auswählen und die Texte beliebig bearbeiten.

Screenshot Beispiel für die Textsuche im Testmodus in BatchMan
Beispiel für die Textsuche im Testmodus in BatchMan

Sie können jetzt die folgenden Kombinationen für das Suchmuster auswählen:

  • die Startposition mit dem Suchmuster ermitteln,
  • die Endposition mit dem Suchmuster ermitteln,
  • oder Suchmuster über die verschiedenen Optionen des zu extrahierenden Textes

Mit dem Button Suche starten beginnen Sie die Suche, und das Suchergebnis wird als Text angezeigt.

Screenshot Optionen zum Starten von Suchmustern in BatchMan
Optionen zum Starten von Suchmustern in BatchMan

Das Suchergebnis ist ein Text, der zwischen einer Start- und einer Endposition liegt.

Für die Ermittlung der Start und Endposition kann man einen Text oder ein RegEx verwenden:

  • Bleibt das Feld Startposition leer, wird der Text vom Zeilen- / Textanfang bis zur Endposition ausgewählt.
  • Bleibt das Feld Endposition leer, wird der Text von der Startposition bis zum Textende ausgewählt. 
  • Bleiben beide Felder leer, wird der ganze Text ausgewählt.

Beispiel:

Screenshot Bestimmung der Start- und Endposition in BatchMan
Bestimmung der Start- und Endposition in BatchMan

Beim Suchmuster kann auch ein RegEx benutzen werden.

Beispiel für die Zeit-/Datumselektion mit dem RegEx im Text „STEP 001 am 26.11.2020 16:05:00 gestartet“:

Screenshot Suchmuster mit RegEX
Suchmuster mit RegEX
Screenshot Suchmuster mit RegEX Ergebnis
Suchmuster mit RegEX Ergebnis

Suchmuster für die Start- und Endposition kann auch aus zwei – mit ODER verbundenen – Mustern bestehen.

Der gefundene Text kann weiter untersucht werden. Als Suchergebnis können die folgenden Sucheinstellungen gewählt werden:

  • Alle Zeichen bis zur Endposition: Das Ergebnis ist ein String zwischen der gefundenen Start- und Endposition.
  • Alle Zeichen bis zum ersten Leerzeichen: Das Ergebnis ist ein String bis zum ersten Leerzeichen nach der gefundenen Startposition.
  • Ganze Zeile: Das Ergebnis ist die ganze Zeile, wenn die Startposition gefunden wurde.
  • Alle Nummern: Aus dem gefundenen String werden alle Nummern als Ergebnis dargestellt.
  • RegEx: Der gefundene String wurde mit dem RegEx untersucht.

Im folgenden Beispiel wird angezeigt, wie ein gefundener Text weiter untersucht werden kann:

Screenshot Beispiel für eine Textuntersuchung
Beispiel für eine Textuntersuchung

Mit dem RegEx kann auch die Zeit aus dem Text gewählt werden:

Screenshot Zeitergebnis mit RegEx
Zeitergebnis mit RegEx

Der gefundene Wert wird als Wert der TVARV-Variable gespeichert. Wenn die eingetragene TVARV-Variable schon in der Tabelle TVARVC angelegt ist, werden die Werte überschrieben. Sonst wird eine neue TVARV-Variable angelegt.

Die TVARV-Variable kann als Parameter- oder Select-Options-Variable verwendet werden.

Für die Parameter-Variable müssen nur die LOW-Werte im Suchmuster gepflegt werden; für die Select-Options-Variable können auch die HIGH-Werte gepflegt werden.

Screenshot Parameter für Variable in BatchMan
Parameter für Variable in BatchMan

Die Selections-Options-TVARV-Variablen werden mit der Nummer gepflegt. Wenn die LOW– und HIGH-Suchkriterien gepflegt sind, wird die Variable mit der Option BT aktualisiert, und wenn nur LOW gepflegt ist, mit der Option EQ.

Wenn mehrere Werte gefunden werden, dann wird:

  • für die Parameter-Variablen der erste Treffer als Wert in der TVARV-Variable gesichert,
  • für Select-Options-Variablen eine Nummer pro Treffer erzeugt.
Screenshot LOW- und HIGH-Suchkriterien in BatchMan
LOW- und HIGH-Suchkriterien in BatchMan

Wenn kein Text gefunden wird, können folgende Aktionen ausgelöst werden:

  • keine Aktion
  • Job abbrechen
  • Nachricht an ein Team senden
Screenshot Kein Text gefunden-Aktionen in BatchMan
Kein Text gefunden-Aktionen in BatchMan

Wie der Report /BTCMAN/C_TXV verwendet werden kann, zeigt folgendes Beispiel:

Im Job wurde eine Spoolliste erzeugt. Mit dem Report sollen die frühesten und spätesten Startzeiten ermittelt und als Werte in der TVARV-Variable gesichert werden.

Der Job besteht aus zwei Steps:  Im Step 1 wird eine Liste erzeugt, im Step 2 wird die Liste untersucht.

Screenshot Stepliste in BatchMan
Stepliste in BatchMan

Step 1 erzeugt folgende Spoolliste:

Screenshot Spool-Liste generiert aus Step in BatchMan
Spool-Liste generiert aus Step in BatchMan

Der Report /BTCMAN/C_TXV läuft im Step 2 mit folgender Variante:

Screenshot Suchmuster in Step 2 in BatchMan
Suchmuster in Step 2 in BatchMan

Die früheste Startzeit sollte als LOW-Value in der TVARV-Variable VL_SO_FR_SP gesichert werden, die späteste Startzeit als HIGH-Value.

Die Ergebnisse sieht man schon im Joblog.

Screenshot Ergebnisse im Jobprotokoll in BatchMan
Ergebnisse im Jobprotokoll in BatchMan

In der TVARVC-Tabelle findet man jetzt eine TVARV-Variable mit dem Namen VL_SO_FR_SP.

Screenshot TVARV Variable in BatchMan
TVARV Variable in BatchMan