ABAPCALL_TRANSACTION - CALL TRANSACTION
General Data in Customer Master General Material DataThis documentation is copyright by SAP AG.
CALL TRANSACTION
Syntax
CALL TRANSACTION ta { [AND SKIP FIRST SCREEN]
| [USING bdc_tab [bdc_options]] }.
Additions
1. ... AND SKIP FIRST SCREEN
2. ... USING bdc_tab [bdc_options]
Effect
The statement CALL TRANSACTION calls the transaction whose transaction code is contained in data object ta. The data object tamust be character-like and contain the transaction code in uppercase letters. If the transaction specifiedin ta cannot be found, a non-handleable exception is raised. The additions suppress the display of the initial screen and allow you to execute the transaction using abatch input session.
CALL TRANSACTION retains the calling program and its data, and, after exiting the called transaction, processing is resumed in the calling program after the call.
When the transaction is called, the ABAP program associated with the transaction code is loaded in a new internal session. The session of the calling program and the currentSAP LUW are retained. The called program runs in its own SAP LUW.
- If the called transaction is a dialog transaction, the event LOAD-OF-PROGRAM is triggered after the ABAP programs is loaded and thedynpro defined as the initial dynpro of the transaction is called. The initial dynpro is the first dynpro of adynprosequence. The transaction is finished when the dynpro sequence is ended by encountering the nextdynpro with dynpro number 0 or when the program is exited using the LEAVE PROGRAM statement.
- If the called transaction is an OO transaction, then when loading all programs (exceptclasspools), the event LOAD-OF-PROGRAM is triggered and the method associated with the transactioncode is called. If the method is an instance method, an object of the associated class is generatedimplicitly and referenced by the runtime environment. The transaction is finished when the method is finished or when the program is exited using the LEAVE PROGRAM statement.
After the end of the transaction call, program execution of the calling program resumes after the CALL TRANSACTION statement.
Notes
- The statement CALL TRANSACTION does not check automatically the authorization of the currentuser to execute the called transaction. If the calling program does not execute a check, the calledprogram must check the authorization. To do this, the called program must call the function module AUTHORITY_CHECK_TCODE.
- The statement CALL TRANSACTION opens a newSAP LUW, but note that this does not open a newdatabase LUW automatically. This means that adatabaserollback in this SAP LUW can roll back all registration entries made by the statements CALLFUNCTION IN UPDATE TASK or CALLFUNCTION IN BACKGROUND TASK in the tables VB... or ARFCSSTATE and ARFCSDATA. Under certain circumstances,the statement ROLLBACK WORK in the called program can also affect the interrupted SAP LUW. To prevent this, an explicitdatabase commit must be executed before the program is called. This problem does not occur inlocal updates.
Addition 1
... AND SKIP FIRST SCREEN
Effect
This addition suppresses the display of a screen of the initial dynpro of a called dialog transaction. The addition AND SKIP FIRST SCREEN suppresses the first screen only under these prerequisites:
- On the initial dynpro, the dynpro number must not be specified as a static follow-on dynpro inScreen Painter.
- All mandatory input fields of the initial dynpro must be filled completely and with the correct values by theSPA/GPA parameters
If these prerequisites are met, the screen of the dynpro is displayed that is specified in Screen Painter as thenext dynpro of the initial dynpro.
Example
If the static next dynpro of the initial dynpro of the called dialog transaction FLIGHT_TA is not theinitial dynpro itself, then its screen is suppressed, because its input fields are filled using the SPA/GPA parameters CAR and CON.
- 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.
Addition 2
... USING bdc_tab [bdc_options]
Effect
Use this addition to pass an internal table bdc_tab of row type BDCDATA from ABAP Dictionaryto a dialog transaction. The additions bdc_optionscontrol the batch input processing. When a transaction with addition USING is called, the systemfield sy-binpt is set to value "X" in the called program; while this transaction is running, no other transaction can be called with this addition.
The internal table bdc_tab is the program-internal representation of a batch input session and must be filled accordingly. The structureBDCDATA has the components shown in the table below.
| Component | Meaning |
| PROGRAM | Name of the program of the called transaction |
| DYNPRO | Number of the dynpro to be processed |
| DYNBEGIN | Flag for the beginning of a new dynpro (possible values are "X" and " ") |
| FNAM | Name of a dynpro field to be filled or batch input control statement, for example to position the cursor |
| FVAL | Value to be passed to the dynpro field or to the control statement |
Using the internal table bdc_tab, you can provide any number of screens of the called transaction with input and user actions.
System Fields
| sy-subrc | Meaning |
| 0 | The batch input processing of the called transaction was successful. |
| < 1000 | Error in the called transaction. If amessage was sent within the transaction, you can receive it using the addition MESSAGES. |
| 1001 | Error in batch input processing. |
Note
Outside of ABAP Objects, you can specify the additions AND SKIP FIRST SCREEN and USINGtogether. However, this does not make sense because the addition AND SKIP FIRST SCREEN is designed only to fill the mandatory input fields usingSPA/GPAparameters, while the batch input table specified with USING controls the entire transaction flow including the display of thescreens.
Exceptions
Non-Catchable Exceptions
- Cause: Transaction not found.
Runtime Error: CALL_TRANSACTION_NOT_FOUND - Cause: Transaction is an area menu and cannot be called.
Runtime Error: CALL_TRANSACTION_IS_MENU - Cause: Transaction is locked.
Runtime Error: CALL_TRANSACTION_LOCKED - Cause: Error in internal memory management.
Runtime Error: CALL_TRANSACTION_MSG_NO_PAGING - Cause: Recursive call of a transaction with addition USING.
Runtime Error: CALL_TRANSACTION_USING_NESTED
Fill RESBD Structure from EBP Component Structure General Data in Customer Master
This documentation is copyright by SAP AG.
Length: 12459 Date: 20120518 Time: 202208 triton ( 312 ms )






