BW_ACTIVATE_CHAIN
Verwenden Sie das Script-Element BW_ACTIVATE_CHAIN, um eine Prozesskette zu starten, die Verarbeitung zu überwachen und die Protokolle im Aktivierungsreport zu speichern. Mit dem Script-Element können Sie die Startbedingungen festlegen. Falls die Prozesskette nicht sofort startet, sondern erst nach einem Ereignis oder zu einer bestimmten Zeit, werden diese Startbedingungen protokolliert. Nachdem die Prozesskette gestartet wurde, wird sie bis zu ihrem Ende überwacht. Das Log der Prozesskette wird auf jeden Fall im Aktivierungsreport gespeichert. Das Script-Element ermöglicht es Ihnen auch, individuelle Prozess-Logs oder Prozess-Logs für Hintergrundjobs zu speichern und wiederholte Versuche auszulösen, damit die Prozesskette im Falle einer Unterbrechung fortgesetzt werden kann.
Transaktion: RSA1
SAP BW-Version: 3.0B und höher mit Patch SAPKW30B11
Syntax
BW_ACTIVATE_CHAIN
ID=...
[,NOFOUND=...]
[,ERROR=...]
[,PROCESSLOGS=...]
[,RESTART=...]
[,JOBLOGS=...]
[,LONGTEXT=...]
[,REPLICATE=...]
[,STATUSRETRY=...]
[,SCHEDULE=...]
[,SYNCHRONOUS=...]
[,GET_SPOOL=...]
[,COLLECTLOGS=...]
Syntax |
Beschreibung / Format |
---|---|
ID= |
Technische Kennzeichnung der Prozesskette |
NOFOUND= |
Behandlung, wenn eine Prozesskette nicht gefunden wurde.
|
ERROR= |
Verarbeitung, wenn die Prozesskette anormal endet
Tipp: Mit diesem Parameter können Sie Prozessketten oder deren Child-Prozesse neu starten. Der Vorteil ist, dass der Job nicht endet, was bedeuten würde, dass die Verarbeitung in einem Parent-System (z. B. einem Workflow) fortgesetzt wird. |
PROCESSLOGS= |
Ausgabe der einzelnen Prozesslogs der Prozesskette
|
RESTART= |
Anzahl der Versuche, eine unterbrochene Prozesskette fortzusetzen |
JOBLOGS= |
Ausgabe des Logs von Prozesshintergrundjobs Zulässige Werte:
|
LONGTEXT= |
Ausgabe des Langtextes (Diagnosetext) zu einer Logmeldung Format: Script-Literal Zulässige Werte:
|
REPLICATE= |
Behandlung der Child-Prozesse von Prozessketten. Format des Wertes: Script-Literal Zulässige Werte:
|
STATUSRETRY= |
Anzahl der wiederholten Statusprüfungen Standardwert: 0 Hinweis: Aufgrund eines speziellen SAP-Verhaltens können Prozessketten den Status "beendet" für kurze Zeit anzeigen und danach fortgesetzt werden. Sollte der Agent gerade zu diesem Zeitpunkt den Status ermitteln, meldet er die Prozesskette als beendet. Der Parameter STATUSRETRY= verhindert, dass das Ende der Prozesskette nicht zu früh erkannt wird. Er legt fest wie oft der Endestatus überprüft werden soll. Erst nach n Wiederholungen wird der Automation Engine mitgeteilt, dass der Prozess beendet ist. |
SCHEDULE= |
Neueinplanung von Prozessketten Zulässige Werte:
|
SYNCHRONOUS= |
Prozesskette synchron ausführen. Zulässige Werte:
|
GET_SPOOL= |
Fordert die Spool-Liste des gestarteten Jobs an. Zulässige Werte:
|
COLLECTLOGS= |
Reports von Child-Prozessen der aktivierten Prozesskette in den Job-Report schreiben. Werden Child-Prozesse repliziert, so ist deren Report standardmäßig im Job-Report UND der Aufgabe des Child-Prozess verfügbar. Diese Informationen sind somit im Job-Report redundant und können daher weggelassen werden. Zulässige Werte: YES (Standard) oder NO
Hinweis: Die Reports der Child-Prozesse stehen nicht zur Verfügung, wenn Sie in den Parametern REPLICATE und COLLECTLOGS NO angeben. |
Statusüberprüfung
In der Automation Engine wird davon ausgegangen, dass der Technische Status, der beim Funktionsaufruf für die Statusüberwachung mitgeteilt wird, ein "finaler Status" ist. Die Beschreibung im Interface Repository dafür lautet:
Der Parameter TECHSTATUS ist der technische Status des Requests. Dieser hat immer einen der folgenden Werte:
- G
Grün (Request erfolgreich verbucht) - Y
Gelb (Request wird gerade verarbeitet) - R
Rot (Request fehlerhaft oder abgebrochen)
Der Status ist aber offensichtlich kein "finaler Status". Ein Status kann für kurze Zeit auf "rot" und nach einer Weile dann auf "gelb" oder "grün" wechseln. Die AE berücksichtigt diese Tatsache. Für Statusprüfungen kann eine Zeitverzögerung aktiviert werden, sodass n-mal überprüft werden kann, ob sich der Status "rot" z. B. tatsächlich in diesem Status befindet. Die INI-Datei des SAP-Agenten enthält dazu die Parameter maxruntime= und repeat_check= [SAP_BW].
Es steht eine weitere Funktion zur Verfügung, die den Zustand von Prozessketten überprüft. Sie liefert die folgenden Werte:
- "R" - Abbruch
- "G" - normales Ende
- "F" - normales Ende
- "A" - Überwachung fortsetzen
- "X" - Abbruch
- "P" - Überwachung fortsetzen
- "S" - Abbruch (aber nur nach einem Restart der Prozesskette)
- "Q" - Überwachung fortsetzen
- "Y" - Überwachung fortsetzen
- " " - Überwachung fortsetzen
AE wandelt diese Zustände dann in Rückgabewerte um:
Rückgabewert |
Status |
SAP-Status |
---|---|---|
0 |
ENDED_OK |
G oder F |
4 |
ENDED_NOT_OK |
R |
8 |
ENDED_NOT_OK |
X |
12 |
ENDED_NOT_OK |
S |
Beispiele
Im Beispiel soll eine Prozesskette aktiviert werden, die vorher vom Benutzer abgefragt wurde. Auch die Werte für die relevanten Parameter des Script-Elements resultieren aus dieser Abfrage. Dem Script-Element werden diese Werte als Script-Variablen übergeben.
:BEGINREAD
: READ &CHAIN#,"ZTEST,ZSBB1,ZSBB2",'Prozesskette','ZTEST',M
: READ &ERROR#,"IGNORE,ABEND",'ERROR=','ABEND'
: READ &NOFOUND#,"NORMAL,ABEND",'NOFOUND=','NORMAL'
: READ <#,"YES,NO,ERROR",'LONGTEXT=','YES'
:ENDREAD
BW_ACTIVATE_CHAIN ID='&CHAIN#',ERROR='&ERROR#',NOFOUND='&NOFOUND#',LONGTEXT='<#'