Ansicht
Dokumentation

SYSTEM_CALLSTACK_OF_PROCESS - ABAP Callstack eines laufenden Prozesses ermitteln

SYSTEM_CALLSTACK_OF_PROCESS - ABAP Callstack eines laufenden Prozesses ermitteln

Addresses (Business Address Services)   PERFORM Short Reference  
Diese Dokumentation steht unter dem Copyright der SAP AG.
SAP E-Book

Funktionalität

Es wird der ABAP-Stack eines (parallel) laufenden Prozesses zurückgeliefert. Es muss die Nummer des Work-Prozesses -wie sie etwa in der Transaktion SM50 ausgegeben wird- und eine maximal zulässige Wartezeit in Millisekunden mitgegeben werden, die verstreichen darf, wenn auf das Ergebnis gewartet werden muss. Wird die Wartezeit erreicht und kein Ergebnis liegt vor, wird eine Ausnahme ausgelöst (siehe weiter unten).

Bei der Angabe des Parameters MAX_WAIT_TIME sollte es in den meisten Fällen ausreichend sein, einen Wert von ca. 1-10 Millisekunden anzugeben. Befindet sich der laufende Prozess allerdings z.B. innerhalb eines Open-SQL-Befehls (SELECT ...) sind u.U. größere Werte nötig, da die Ausführung von Open-SQL-Befehlen auf der Datenbank nicht vom ABAP-Interpreter unterbrochen werden kann. In solchen Fällen können Werte für MAX_WAIT_TIME von ca. 200 Millisekunden nötig sein, bei komplexeren Datenbank-Operationen auch noch deutlich mehr.

Der maximale Wert für den Parameter MAX_WAIT_TIME ist auf 2000 Millisekunden begrenzt. Wird ein größerer Wert angegeben, so wird intern ein Wert von 2000 Millisekunden verwendet.

Die Anzahl der Zeilen in der Rückgabe-Tabelle "STACKTAB" sind beschränkt auf ca. 500-1000 Einträge. Ist ein aufzuzeichnender ABAP-Stack zu groß, so ist der zurückgelieferte Stack nicht vollständig. Details dazu finden sie bei der Beschreibung der Rückgabe-Flags weiter unten.

Rückgabe / Informationen

Es können optional über die Exporting-Parameter "FLAG_TRUNCSTACK_TOOBIG"und "FLAG_TRUNCSTACK_NOSHM" Informationen über die Güte des zurückgelieferten ABAP-Stack angefragt werden.

FLAG_TRUNCSTACK_TOOBIG

Wird für dieses FLAG 'X' zurückgeliefert, so ist der ABAP-Stack zu groß, um ganz übertragen werden zu können. Es wird daher der oberste Teil des Stacks (beispielsweise die jüngsten 250 Einträge) und unterste Teil (z.B. die 250 ältesten Einträge) und dazwischen ein Eintrag zurückgeliefert, der anzeigt, dass an dieser Stelle Einträge ausgelassen wurden (angezeigt durch den Wert "..." für Program, Include, Event, Eventname).

FLAG_TRUNCSTACK_NOSHM

Wird für dieses FLAG 'X' zurückgeliefert, so ist nicht mehr ausreichend Shared Memory vorhanden, um den ganzen Stack zu liefern. Es werden daher so viele Einträge des obersten Teils des Stacks zurückgeliefert, wie zu diesem Zeitpunkt noch möglich ist. Der letzte Eintrag ist in diesem Fall ein Eintrag, der anzeigt, dass an dieser Stelle Einträge ausgelassen wurden (angezeigt durch den Wert "..." für Program, Include, Event, Eventname).

Ausnahmen

CX_STACKOFWP_INVALID_WP

Ein Work-Prozess mit der im Parameter WP_ID angegebenen Nummer existiert nicht.

CX_STACKOFWP_WP_NOT_RUN

Der Work-Prozess mit der im Parameter WP_ID angegebenen Nummer hat momentan nicht den Status "läuft" (siehe dazu die F1-Hilfe in der Transaktion SM50 auf der Spalte "Status"). Ein ABAP-Stack kann nur von einem laufenden Prozess erhalten werden.

CX_STACKOFWP_NO_AUTHORITY

Es liegt nicht die benötigte Berechtigung vor, den Funktionsbaustein ausführen zu dürfen. Es muss dazu folgende Berechtigung vergeben werden: Im Berechtigungsobjekt 'S_ADMI_FCD' für das einzige dort existierende Berechtigungsfeld der Wert 'PADM'.

CX_STACKOFWP_NOSTACK_AVAIL

Es konnte kein ABAP-Stack geliefert werden. Dies kann folgende Gründe haben.

  • Im angegebenen Work-Prozess wurde in der vorgegebenen Zeit (MAX_WAIT_TIME) keine neue ABAP-Anweisung durchlaufen. Dies kann z.B. bei einer lang andauernden Datenbankoperation oder bei der Fehlerbehandlung auftreten.
  • Überschneidung mit einem anderen Aufruf von SYSTEM_CALLSTACK_OF_PROCESS für denselben Work-Prozess.





Parameter

AUTH_CHECK_ID
FLAG_TRUNCSTACK_NOSHM
FLAG_TRUNCSTACK_TOOBIG
MAX_WAIT_TIME
STACKTAB
WP_ID

Ausnahmen

CX_STACKOFWP_INVALID_WP
CX_STACKOFWP_NOSTACK_AVAIL
CX_STACKOFWP_NO_AUTHORITY
CX_STACKOFWP_WP_NOT_RUN

Funktionsgruppe

SYUT

PERFORM Short Reference   General Data in Customer Master  
Diese Dokumentation steht unter dem Copyright der SAP AG.

Length: 4830 Date: 20240523 Time: 103501     sap01-206 ( 102 ms )