Ansicht
Dokumentation

CL_ABAP_STACK_TEMPERATURE - DB-Zugriffssteuerung für Data Aging

CL_ABAP_STACK_TEMPERATURE - DB-Zugriffssteuerung für Data Aging

Fill RESBD Structure from EBP Component Structure   RFUMSV00 - Advance Return for Tax on Sales/Purchases  
Diese Dokumentation steht unter dem Copyright der SAP AG.
SAP E-Book

Funktionalität

Diese Klasse erlaubt das Übersteuern der ABAP-Session-Temperatur (auch des Defaults Hot) innerhalb von Prozeduren (FORM, FUNCTION oder METHOD) für die aktuelle Prozedur und für die daraus durchgeführten Aufrufe:

  • PERFORM
  • CALL METHOD
  • CALL FUNCTION
  • RAISE EVENT
  • CALL SCREEN
  • CALL TRANSFORMATION

An die Programm-Aufrufe

  • SUBMIT
  • CALL TRANSACTION
  • CALL DIALOG

wird die Temperatur normalerweise nicht weitergegeben. Um diese Übergabe zu bewirken, gibt es zusätzliche Steuer-Methoden.

Bei der Anweisung

  • CALL FUNCTION .. IN UPDATE TASK

wird die Temperatureinstellung für den Funktionsbausteinaufruf protokolliert. Da mehrere solcher Funktionsbausteine zusammen in einem Verbuchungsauftrag zusammengefasst werden können, werden diese Funktionsbausteine in der Verbuchung mit dem Minimum der für die Aufrufe protollierten Temperatureinstellungen durchgeführt.

Die Klasse hat folgende Methoden:

  • SET_HOT
    Diese öffentliche Klassenmethode setzt innerhalb der jeweiligen Prozedur die Temperatur auf Hot.
  • SET_COLD
    Diese öffentliche Klassenmethode setzt innerhalb der jeweiligen Prozedur die Temperatur auf Cold.
  • SET_TEMPERATURE
    Diese öffentliche Klassenmethode erlaubt über den Importing-Parameter IM_TEMPERATURE das Setzen einer spezifischen Temperatur innerhalb der Prozedur.
  • RESET
    Diese öffentliche Klassenmethode setzt die Temperatur innerhalb der Prozedur wieder auf die Temperatur zurück, die zum Zeitpunkt des Prozeduren-Aufrufs gesetzt war.
  • GET_TEMPERATURE
    Diese öffentliche Klassenmethode liefert die aktuelle Temperatur innerhalb der Prozedur zurück.

Nach Rückkehr aus der Prozedur wird die Temperatur vom ABAP-Laufzeitsystem automatisch wieder auf den Wert zurückgesetzt, der beim Betreten der Prozedur galt. Die Temperatur wird automatisch an synchron aufgerufene Einheiten vererbt, sofern diese im selben internen Modus verarbeitet werden.

Nicht vererbt wird die Temperatureinstellung beim Verlassen des internen Modus, wie z.B. bei

  • CALL FUNCTION DESTINATION
  • CALL FUNCTION STARTING NEW TASK
  • CALL FUNCTION IN BACKGROUND TASK
  • CALL FUNCTION IN BACKGROUND UNIT
  • http requests

Bei asynchron aufgerufenen Prozeduren innerhalb des internen Modus wird die Temperatureinstellung bei der tatsächlichen Ausführung verwendet.

Bei den Programmaufrufen

  • SUBMIT
  • CALL TRANSACTION
  • CALL DIALOG

wird die Temperatur normalerweise nicht weitergegeben. Um trotzdem die Temperaturübergabe bei diesen Programmaufrufen zu erreichen, gibt es Methoden zur Steuerung der Temperaturübergabe an gerufene Programme:

  • SET_PASSING_TO_PROGRAMS
    Diese öffentliche Klassenmethode schaltet die Temeraturübergabe bei Programmaufrufen explizit ein oder aus (je nach übergebenem Parameterwert).
  • RESET_PASSING_TO_PROGRAMS
    Diese öffentliche Klassenmethode setzt die Einstellung der Übergabe bei Programmaufrufen auf den Zustand zurück, der beim Aufruf der Unterroutine bestanden hat.
  • GET_PASSING_TO_PROGRAMS
    Diese öffentliche Klassenmenthode liefert den aktuellen Einstellungszustand der Temperaturübergabe bei Programmaufrufen zurück.

Die Einstellung der Temperaturübergabe bei Programmaufrufen wird bei diesen Programmaufrufen automatisch weitergegeben.

Beziehungen

Beispiel

Hinweise

Die genannten Methoden zum Umschalten auf Cold sollten einer direkten Angabe der Temperatur in den WHERE-Bedingungen vorgezogen werden. Wenn mit "WHERE _dataaging" gearbeitet wird, muss zuvor über die oben genannten Methoden die Temperatur auf Cold gesetzt werden (bzw. auf eine Temperatur, die geringer ist, als jene die in der WHERE-Bedingung verwendet wird), weil im resultierenden DB-SQL-Statement beide Bedingungen mit UND verknüpft werden.
Außerdem müssen in ">" Abgrenzungen HOT-Daten per "WHERE _dataaging = '00000000' OR _dataaging IS NULL" explizit mit eingeschlossen werden.

Weiterführende Informationen

Weitere Informationen über die Session-Temperatur bei der DB-Zugriffssteuerung für Data Aging finden Sie in der Dokumentation der Klasse CL_ABAP_SESSION_TEMPERATURE.






rdisp/max_wprun_time - Maximum work process run time   TXBHW - Original Tax Base Amount in Local Currency  
Diese Dokumentation steht unter dem Copyright der SAP AG.

Length: 5535 Date: 20240427 Time: 000304     sap01-206 ( 67 ms )