BW_ACTIVATE_CHAIN
Startet eine Prozesskette, überwacht die Durchführung und speichert deren Protokolle im Aktivierungsreport.
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 Bezeichnung der Prozesskette. |
NOFOUND= |
Behandlung, wenn eine Prozesskette nicht gefunden wurde. NORMAL = Script fährt fort, AE-Job endet normal. |
ERROR= |
Behandlung, wenn eine Prozesskette abnormal endet. ABEND = Das Script bricht ab, der AE-Job endet vorzeitig. |
PROCESSLOGS= |
Ausgabe der Protokolle der einzelnen Prozesse einer Prozesskette. „YES“ = Die Protokolle der einzelnen Prozesse werden an das Protokoll der Prozesskette angehängt. |
RESTART= |
Anzahl der Versuche, eine abgebrochene Prozesskette fortzusetzen. |
JOBLOGS= |
Ausgabe der Protokolle des Backgroundjobs zum Prozess. "YES" = Die Protokolle des Backgroundjobs zum Prozess werden ausgegeben. |
LONGTEXT= |
Ausgabe des Langtextes (Diagnosetext) zu einer Protokollmeldung. Erlaubte Werte: „YES“, „NO“ oder „ERROR“
"ERROR" = Der Langtext zu einer Protokollmeldung wird nur im Fehlerfall ausgegeben. |
REPLICATE= |
Behandlung der Child-Prozesse von Prozessketten. Format des Wertes: Script-Literal Erlaubte Werte: "ALL", "YES" oder "NO" (Standardwert)
ALL = Repliziert alle Child-Prozess eines Jobs im AE-System (auch übersprungene). Sie werden in der Perspektive Process Monitoring dargestellt. Statistische Aufzeichnungen und Reports werden ebenfalls im AE-System generiert.
|
STATUSRETRY= |
Anzahl der Wiederholungen für die Statusprüfung Standardwert: 0 Aufgrund eines speziellen SAP-Verhaltens können Prozessketten den Status „beendet“ für kurze Zeit anzeigen und danach fortsetzen. 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 Erlaubte Werte: „YES“ (Standardwert) oder „NO“ "YES" = Die Prozesskette wird neu eingeplant. |
SYNCHRONOUS= |
Prozesskette synchron ausführen. Erlaubte Werte: „YES“ oder „NO“ (Standardwert) "YES" = Synchrone Durchführung. Prozesskette wird dadurch im Dialog Modus anstatt im Hintergrundmodus durchgeführt, wodurch die einzelnen Child-Prozesse seriell abgearbeitet werden. |
GET_SPOOL= |
Fordert die Spool-Liste des gestarteten Jobs an.
Erlaubte Werte: „YES“ oder „NO“ (Standardwert) YES = Die Spool-Liste wird angefordert. Sie wird als Textdatei in dem Verzeichnis abgelegt, das in der SAP-Agent-INI-Datei mit dem Parameter Download_dir= (Sektion[GLOBAL]) definiert wurde. Der Name dieser Datei ist wie folgt aufgebaut: NO = Spooliste wird nicht angefordert |
COLLECTLOGS= |
Reports von Child-Prozessen der aktivierten Prozesskette in den Job-Report schreiben. Werden Child-Prozesse repliziert, so ist deren Protokoll 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. Erlaubte Werte: „YES“ (Standardwert) oder „NO“ „YES“ - Protokoll von Child-Prozessen in den Job-Report schreiben Beachten Sie, dass die Reports der Child-Prozesse nicht verfügbar sind, wenn die Parameter REPLICATE und COLLECTLOGS beide auf NO gesetzt sind. |
Das Script-Sprachmittel startet eine Prozesskette. Zuerst werden deren Startbedingungen ermittelt. 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 Protokoll der Prozesskette wird auf jeden Fall im Aktivierungsreport gespeichert. Abhängig von den Parametern PROCESSLOGS= und JOBLOGS= werden zusätzlich die Protokolle der einzelnen Prozesse bzw. die Protokolle des Backgroundjobs zum Prozess ausgegeben.
Bricht eine Prozesskette ab, bewirkt der Parameter RESTART=, dass wiederholt versucht wird, diese Prozesskette fortzusetzen.
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, so dass 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-Sprachmittels resultieren aus dieser Abfrage. Dem Script-Sprachmittel werden diese Werte als Script-Variablen übergeben.
:BEGINREAD
: READ &CHAIN#,"ZTEST,ZSBB1,ZSBB2",'Process chain','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='<#'