ABAPLEAVE_TO_TRANSACTION - LEAVE TO TRANSACTION

BAL_S_LOG - Application Log: Log header data   BAL_S_LOG - Application Log: Log header data  
Diese Dokumentation steht unter dem Copyright der SAP AG.

LEAVE TO TRANSACTION

Kurzreferenz


Syntax

LEAVE TO { {TRANSACTION ta} | {CURRENT TRANSACTION} }
         [AND SKIP FIRST SCREEN].


Zusatz:

... AND SKIP FIRST SCREEN

Wirkung

Die Anweisung LEAVE TO TRANSACTION ruft entweder dieTransaktion,deren Transaktionscode in dem zeichenartigen Datenobjekt ta enthalten ist, oder die aktuelle Transaktion auf. Das Datenobjekt ta muss den Transaktionscode in Großbuchstaben enthalten.

Bei der Angabe von CURRENT TRANSACTION wird die aktuelle Transaktion mit dem Transaktionscodeaufgerufen, mit dem sie über CALL TRANSACTION oder LEAVE TO TRANSACTION aufgerufen wurde. Dies ist außer bei einerParameter- oderVariantentransaktionder Transaktionscode, der sich auch im Systemfeld sy-tcode befindet. Bei Parameter- oder Variantentransaktionen ist es deren Transaktionscode, während sy-tcode den Namen der implizit gerufenenDialogtransaktion enthält.

Bei LEAVE TO TRANSACTION wird die aktuelleAufrufkettevollständig verlassen und nach Beendigung der aufgerufenen Transaktion hinter die Stelle zurückgekehrt, an der das erste Programm der Aufrufkette aufgerufen wurde. Dabei wir die aktuelleSAP-LUW beendet.

Bei Aufruf der Transaktion wird das ABAP-Programm, mit dem der Transaktionscode verknüpft ist, in einen neuen internen Modus geladen. Alle vorhergehenden internen Modi werden vom Stack gelöscht. Gleichzeitig wird dasABAPMemory gelöscht, sodass bei LEAVE TO TRANSACTION keine Datenübergabe mit EXPORT FROM MEMORY bzw. IMPORT TO MEMORY möglich ist.

Der Ablauf einer aufgerufenen Dialogtransaktion bzw.OO-Transaktion ist derselbe wie bei CALLTRANSACTION. Nach Beendigung der aufgerufenen Transaktion wird an die Stelle zurückgekehrt, an der das erste Programm der aktuellen Aufrufkette aufgerufen wurde.

Falls die in ta angegebene Transaktion nicht gefunden wird oder ta initial ist bzw. einLeerzeichen enthält, wird der Stack der aktuellen Aufrufkette abgebaut und direkt an die Stellezurückgekehrt, an der das erste Programm der aktuellen Aufrufkette aufgerufen wurde. Falls ta nicht initial ist, wird dabei eine entsprechende Meldung in der Statusleiste angezeigt.

Die Anweisung LEAVE TO TRANSACTION beendet immer die aktuelle Aufrufkette, unabhängig davon, ob eine neue Transaktion aufgerufen werden kann oder nicht.

Hinweise

  • Im Gegensatz zur Anweisung CALLTRANSACTION wird bei der Anweisung LEAVE TO TRANSACTION die Berechtigung des aktuellen Benutzers zur Ausführung der aufgerufenen Transaktion automatisch überprüft.
  • Der Aufruf mit CURRENT TRANSACTION kann verwendet werden, um eine aktuelle Parameter- oder Variantentransaktionerneut mit den zugehörigen Parametern bzw. der Transaktionsvariante auszuführen. Alternativdazu kann man sich den Transaktionscode der aktuellen Transaktion mit der statischen Methode GET_CURRENT_TRANSACTIONder Klasse CL_DYNPRO besorgen, die während einer Parameter- oder Variantentransaktion deren Transaktionscode und nicht den der implizit gerufenen Dialogtransaktion zurückgibt.
  • Wenn bei LEAVE TO TRANSACTION in der aktuellenSAP-LUWnoch Prozeduren registriert sind, wird die SAP-LUW beendet, ohne dass die Prozeduren aufgerufen oder zurückgerollt werden. RegistrierteVerbuchungsfunktionsbausteinebleiben auf der Datenbank vorhanden, können aber nicht mehr ausgeführt werden. In einemsolchen Fall sollte vor dem Programmaufruf deshalb explizit die Anweisung COMMITWORK oder ROLLBACK WORK ausgeführt werden.


Zusatz

... AND SKIP FIRST SCREEN

Wirkung

Der Zusatz AND SKIP FIRST SCREEN hat die gleiche Bedeutung wie bei CALL TRANSACTION.




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: 6452 Date: 20120526 Time: 214312     triton ( 214 ms )