Knowledge Base > Automation Engine und Zielsysteme > SAP > Werte vergleichen in SAP Spool-Listen

Werte vergleichen in SAP Spool-Listen

SAP-Spool-Listen zeigen Druckaufträge, die noch nicht an ein Gerät übertragen wurden. Die für den Druck oder die Ausgabe auf einem Gerät benötigten Daten werden zeitweilig in einem Zwischenformat gespeichert, bis sie aufgerufen werden. Die Werte für diese Spool-Aufträge in den entsprechenden Listen können mit Hilfe von Automation EngineSAP-Jobs verglichen werden.

Vergleich von Werten in Spool-Aufträgen – Workflow

Erstellen Sie einen Workflow mit zwei SAP-Job-Objekten. Jeder Job liefert eine Spool-Liste. Mit einem dritten Job-Objekt wird die Anzahl der Spool-Listen-Werte verglichen.

Wurden beide Jobs beendet, werden die Werte aus den Spool-Listen extrahiert und an den dritten Job im Workflow übergeben.

Der Status des Workflows wird dem Vergleich entsprechend gesetzt:

Zahlen sind gleich ==> ENDED_OK

Zahlen sind ungleich ==> ENDED_NOT_OK

 

Transferieren von Spool-Listen-Inhalten auf Job-Reports

Unten finden Sie ein Beispiel für einen der beiden SAP-Jobs im Workflow. Jeder Job besteht aus zwei Schritten:

Im ersten Schritt wird das Programm ausgeführt. Der zweite Schritt fügt den Inhalt der Spool-Liste dem Report hinzu.

Der Report dieses Jobs sieht folgendermaßen aus:

Er enthält das Jobprotokoll von SAP, gefolgt von der Spool-Liste.

Werte extrahieren

Job 1:

Um den Wert aus der Spool-Liste zu extrahieren, wird das folgende UC4-Script in der Job-Registerkarte Post-Script verwendet.

Dieses Script wird ausgeführt, nachdem der Job abgeschlossen wurde. Es verarbeitet den Report und extrahiert die Werte:

Die Funktion PREP_PROCESS_REPORT filtert alle Zeilen, die das Zeichen "|" enthalten.

Somit werden ausschließlich diese Werte wiedergegeben:

| USD 123.456.789,01 1.234.567,89 |
| BEF 12.345.678.901 123.456.789 |
| KUD 123.456.789,01 365.413.243,87 |
| KUD 123.456.789,01 365.413.243,87

Mit PSET wird die Workflow-Objektvariable &JOB1_SUMME# aktualisiert.

Der Workflow enthält eine zweite Variable &JOB2_SUMME#, die vom zweiten SAP-Job gesetzt wird.

 

Job 2:

Der Report des zweiten Jobs sieht folgendermaßen aus:

Das UC4-Script wird in diesem Fall auch verwendet, um folgenden Wert zu erhalten:

Dieses Script filtert alle Zeilen, die den Begriff "SQ" enthalten. Das Ergebnis besteht aus einer Zeile:

|SQ| 26|28.02.1995|365.413.243,86 | |DC-10-10| 380 | 2 |1.684,00 | 0 | 0 | 0 | 0 |

Das Zeichen "|" wird als Trennzeichen der Spalten festgelegt. Daher kann der Wert 5 (Variable &column#) direkt genutzt werden, um 365.413.243,86 aus dem Report zu erhalten.

Mit STR_TRIM werden Leerzeichen entfernt. Das Ergebnis wird als &JOB2_SUMME# ausgegeben

 

Vergleichen von Jobs

Beide Jobs müssen abgeschlossen sein, bevor der Vergleichsjob gestartet werden kann:

Er hat Zugriff auf die Variablen &JOB1_SUMME# und &JOB2_SUMME#.

Dieser Job hat die Einstellung "Zur Laufzeit generieren", die in der Registerkarte "Attribute" aktiviert wird.

In diesem Beispiel startet er ein SAP-Programm mit Parametern, die vom Vergleichsergebnis abhängig sind.

Das einfache Programm Z_INFO verwendet MESSAGE vom Typ I oder E, abhängig vom Parameter SUCCESS:

REPORT Z_INFO.
parameter text1 type string.
parameter text2 type string.
parameter text3 type string.
parameter success type c.
if success is initial.
MESSAGE I002(SY) WITH text1.
MESSAGE I002(SY) WITH text2.
MESSAGE E002(SY) WITH text3.
else.
MESSAGE I002(SY) WITH text1.
endif.

 

Wenn der Vergleichsjob fehlschlägt, kann der Workflow auf ENDED_NOT_OK gesetzt sein:

Anmerkungen

Der spezielle Parameterwert (REPORT,REP) für den Parameter FILE im Befehl R3_GET_JOB_SPOOL ist nicht dokumentiert, jedoch seit Version 9 vorhanden.
Normalerweise kann der Befehl R3_GET_JOB_SPOOL nur Dateien schreiben. Der SAP-Agent kann sie jedoch nicht lesen. Um die Werte mit PREP_PROCESS_FILE zu extrahieren und alte, nicht mehr benötigte Dateien zu löschen, wäre ein OS-Agent erforderlich. Dies wäre eine mögliche Lösung, die jedoch komplexer ist, als die hier beschriebene.

Siehe auch:

SAP - Custom Solutions

 

 


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

Copyright © 2016 Automic Software GmbH