ABAPCALL_TRANSACTION - CALL TRANSACTION

rdisp/max_wprun_time - Maximum work process run time   RFUMSV00 - Advance Return for Tax on Sales/Purchases  
Diese Dokumentation steht unter dem Copyright der SAP AG.

CALL TRANSACTION

Kurzreferenz



Syntax

CALL TRANSACTION ta { [AND SKIP FIRST SCREEN]
                   | [USING bdc_tab [bdc_options]] }.


Zusätze:

1. ... AND SKIP FIRST SCREEN

2. ... USING bdc_tab [bdc_options]

Wirkung

Die Anweisung CALL TRANSACTION ruft die Transaktion auf, deren Transaktionscode in dem Datenobjekt ta enthalten ist. Das Datenobjektta muss zeichenartig sein und den Transaktionscode in Großbuchstaben enthalten. Fallsdie in ta angegebene Transaktion nicht gefunden wird, kommt es zu einer unbehandelbaren Ausnahme.Die Zusätze unterdrücken die Anzeige des Einstiegsbildes und erlauben die Ausführung der Transaktion über eineBatch-Input-Mappe.

Bei CALL TRANSACTION bleibt das aufrufende Programm mit seinen Daten erhalten und es wird nach Beendigung der aufgerufenen Transaktion hinter die Aufrufstelle im aufrufenden Programm zurückgekehrt.

Beim Aufruf der Transaktion wird das ABAP-Programm, mit dem der Transaktionscode verknüpft ist, in einen neuen internen Modus geladen. Der Modus des aufrufenden Programms und die aktuelleSAP-LUW bleiben erhalten. Das aufgerufene Programm läuft in einer eigenen SAP-LUW.

  • Falls die aufgerufene Transaktion eine Dialogtransaktion ist, wird nach dem Laden des ABAP-Programmsdas Ereignis LOAD-OF-PROGRAM ausgelöst und dann dasDynpro aufgerufen, das als Einstiegs-Dynpro der Transaktion definiert ist. Das Einstiegs-Dynpro ist das erste Dynpro einerDynpro-Folge.Die Transaktion ist beendet, wenn die Dynpro-Folge durch Erreichen des Folge-Dynpros mit der Dynpro-Nummer0 beendet oder das Programm mit der Anweisung LEAVE PROGRAM verlassen wird.

  • Falls die aufgerufene Transaktion eine OO-Transaktion ist, wird beim Laden aller Programme außerClass-Poolsdas Ereignis LOAD-OF-PROGRAM ausgelöst und dann die Methode aufgerufen, die mit dem Transaktionscodeverknüpft ist. Falls die Methode eine Instanzmethode ist, wird implizit ein Objekt der zugehörigenKlasse erzeugt und von der Laufzeitumgebung referenziert. Die Transaktion ist beendet, wenn die Methode beendet oder das Programm mit der Anweisung LEAVE PROGRAM verlassen wird.

Nach Beendigung des Transaktionsaufrufs wird die Programmausführung des aufrufenden Programms hinter der Anweisung CALL TRANSACTION fortgesetzt.

Hinweise

  • Bei der Anweisung CALL TRANSACTION wird die Berechtigung des aktuellen Benutzers zur Ausführungder aufgerufenen Transaktion nicht automatisch überprüft. Falls keine Überprüfungim aufgerufenen Programm stattfindet, muss diese im aufrufenden Programm durch Aufruf des Funktionsbausteins AUTHORITY_CHECK_TCODE vorgenommen werden.
  • Die Anweisung CALL TRANSACTION öffnet zwar eine neueSAP-LUW, dabei ist aber zu beachten, dass dadurch nicht automatisch eine neueDatenbank-LUW geöffnet wird. Dies bedeutet, dass einDatenbank-Rollbackin dieser SAP-LUW insbesondere auch alle Registrierungseinträge, die von den Anweisungen CALLFUNCTION IN UPDATE TASK oder CALLFUNCTION IN BACKGROUND TASK in den Tabellen VB... bzw. ARFCSSTATE und ARFCSDATA vorgenommenwurden, zurückrollen kann. Eine Anweisung ROLLBACKWORK im aufgerufenen Programm wirkt damit unter Umständen auch auf die unterbrochene SAP-LUW. Um dies zu verhindern muss vor dem Programmaufruf ein expliziterDatenbank-Commit ausgeführt werden. Bei derlokalen Verbuchung tritt das Problem nicht auf.


Zusatz 1

... AND SKIP FIRST SCREEN

Wirkung

Mit diesem Zusatz kann die Anzeige des Bildschirmbilds des Einstiegs-Dynpros einer aufgerufenen Dialogtransaktion unterdrückt werden.Der Zusatz AND SKIP FIRST SCREEN unterdrückt das erste Bildschirmbild nur unter folgenden Voraussetzungen:

  • Beim Einstiegs-Dynpro darf im Screen Painter nicht die eigene Dynpro-Nummer als statisches Folge-Dynpro eingetragen sein.
  • Sämtliche obligatorischen Eingabefelder des Einstiegs-Dynpros müssen überSPA/GPA-Parameter vollständig und mit korrekten Werten versorgt werden.

Falls die Voraussetzungen erfüllt sind, wird das Bildschirmbild des Dynpros angezeigt, das im Screen Painter alsFolge-Dynpro des Einstiegs-Dynpros angegeben ist.

Beispiel

Falls das statische Folge-Dynpro des Einstiegs-Dynpros der aufgerufenen Dialogtransaktion FLIGHT_TAnicht das Einstiegs-Dynpro selbst ist, wird sein Bildschirmbild nicht angezeigt, da seine Eingabefelder über die SPA/GPA-Parameter CAR und CON versorgt werden.

DATA: carrid TYPE spfli-carrid,
      connid TYPE spfli-connid.

...

SET PARAMETER ID: 'CAR' FIELD carrid,
                  'CON' FIELD connid.

CALL TRANSACTION 'FLIGHT_TA' AND SKIP FIRST SCREEN.


Zusatz 2

... USING bdc_tab [bdc_options]

Wirkung

Mit diesem Zusatz kann eine interne Tabelle bdc_tab des Zeilentyps BDCDATA aus dem ABAP Dictionaryan eine Dialogtransaktion übergeben werden. Die Zusätze bdc_optionssteuern die Batch-Input-Verarbeitung. Wenn eine Transaktion mit dem Zusatz USING aufgerufen wird,wird das Systemfeld sy-binpt im aufgerufenen Programm auf den Wert "X" gesetzt und es darf während ihrer Verarbeitung keine weitere Transaktion mit diesem Zusatz aufgerufen werden.

Die interne Tabelle bdc_tab ist die programminterne Repräsentation einer Batch-Input-Mappe und muss entsprechend gefüllt sein. Die StrukturBDCDATA hat die in der folgenden Tabelle gezeigten Komponenten.

KomponenteBedeutung
PROGRAMName des Programms der aufgerufenen Transaktion
DYNPRONummer des zu bearbeitenden Dynpros
DYNBEGINMarkierung für den Beginn eines neuen Dynpros (mögliche Werte sind "X" und " ")
FNAMName eines zu füllendenDynpro-Feldes oder Batch-Input-Steuerungsanweisungen, z.B. zur Cursor-Positionierung
FVALWert, der dem Dynpro-Feld oder der Steuerungsanweisung übergeben wird

Mit Hilfe der internen Tabelle bdc_tab können beliebig viele Bildschirmbilder der aufgerufenen Transaktion mit Eingaben und Benutzeraktionen versorgt werden.

Systemfelder

sy-subrcBedeutung
0Die Batch-Input-Verarbeitung der aufgerufenen Transaktion war erfolgreich.
< 1000Fehler in der aufgerufenen Transaktion. Falls in der Transaktion eineNachricht gesendet wurde, kann diese mit dem Zusatz MESSAGES empfangen werden.
1001Fehler in der Batch-Input-Verarbeitung.

Hinweis

Außerhalb von ABAP Objects können die Zusätze AND SKIP FIRST SCREEN undUSING gemeinsam angegeben werden. Dies ist aber nicht sinnvoll, da der Zusatz AND SKIP FIRST SCREEN nur zum Füllen der obligatorischen Eingabefelder überSPA/GPA-Parametervorgesehen ist, während die mit USING angegebene Batch-Input-Tabelle den gesamten Transaktionsablauf inklusive der Anzeige derBildschirmbilder steuert.

Ausnahmen

Unbehandelbare Ausnahmen

  • Ursache: Transaktion wurde nicht gefunden.
    Laufzeitfehler: CALL_TRANSACTION_NOT_FOUND
  • Ursache: Transaktion ist ein Bereichsmenü und daher nicht aufrufbar.
    Laufzeitfehler: CALL_TRANSACTION_IS_MENU
  • Ursache: Transaktion ist gesperrt.
    Laufzeitfehler: CALL_TRANSACTION_LOCKED
  • Ursache: Fehler in der internen Speicherverwaltung
    Laufzeitfehler: CALL_TRANSACTION_MSG_NO_PAGING
  • Ursache: Rekursiver Aufruf einer Transaktion mit dem Zusatz USING.
    Laufzeitfehler: CALL_TRANSACTION_USING_NESTED






TXBHW - Original Tax Base Amount in Local Currency   ABAP Short Reference  
Diese Dokumentation steht unter dem Copyright der SAP AG.


Length: 13393 Date: 20120526 Time: 191543     triton ( 320 ms )