ABAP Keyword Documentation → ABAP - Reference → Obsolete Language Elements → Obsolete Calls
CALL DIALOG
Other versions: 7.31 | 7.40 | 7.54
Obsolete Syntax
CALL DIALOG dialog [ {AND SKIP FIRST SCREEN}
| {USING bdc_tab [MODE mode]} ]
[EXPORTING p1 FROM a1 p2 FROM a2 ...]
[IMPORTING p1 TO a1 p2 TO a2 ...].
Extras
1. ... AND SKIP FIRST SCREEN
2. ... USING bdc_tab [MODE mode]
3. ... EXPORTING p1 FROM a1 p2 FROM a2 ...
4. ... IMPORTING p1 TO a1 p2 TO a2 ...
Effect
The statement CALL DIALOG
calls the
dialog module
whose name is contained in the character-like data object dialog
. The data
object dialog
must contain the name in uppercase. If the dialog module specified
in dialog
is not found, an exception that cannot be handled is raised.
When calling the dialog module, the assigned ABAP program is loaded in a new
internal session.
The session of the calling program is still available. In contrast to CALL TRANSACTION
, the called program runs in the same
SAP LUW as the calling program.
After loading the ABAP program, the event LOAD-OF-PROGRAM
is triggered and the screen defined as the initial screen of the dialog module is called. The dialog module is terminated when the corresponding
screen sequence terminates
upon reaching the next screen with screen number 0 or the program is exited using the statement LEAVE PROGRAM
.
Note
Dialog modules are the only language resource that can be used to open a new internal session without changing the SAP LUW. Be aware of the following:
-
The statements
COMMIT WORK
andROLLBACK WORK
cause database commits or database rollbacks in the called program. -
The statement
COMMIT WORK
starts the transactional remote function calls registered in the dialog module withCALL FUNCTION IN BACKGROUND
. If tRFC or qRFC are registered in a dialog module and are not started withCOMMIT WORK
, then they are not executed by theCOMMIT WORK
of the caller. -
The procedures registered
with CALL FUNCTION IN UPDATE
TASK and
PERFORM ON {COMMIT|ROLLBACK}
are only executed with the corresponding statementsCOMMIT WORK
andROLLBACK WORK
in the calling program. -
Changes to persistent objects of the
object services cannot
be committed while
CALL DIALOG
is being executed. Changes made in the object services compatibility mode can be committed later usingCOMMIT WORK
. On the other hand, calling the method END of a top-level transaction called in the program (of the object-oriented transaction mode) does not have any effect, either during or afterCALL DIALOG
. In object-oriented transaction mode, a transaction must be called beforeCALL DIALOG
and then completed. -
In the called program, SAP locks are adopted by the caller.
Addition 1
... AND SKIP FIRST SCREEN
Effect
Under the same conditions as for the statement CALL TRANSACTION
, this addition surpresses the display of the
screen of the initial screen.
If the called dialog module has input parameters for the obligatory input fields of the initial screen, they can also be filled using a parameter transfer instead of
SPA/GPA parameters.
Addition 2
... USING bdc_tab [MODE mode]
Effect
This addition controls the called program as in the statement CALL TRANSACTION
by specifying a
batch input table
bdc_tab
of the row type BDCDATA. In this case, only MODE
can be used as an addition for the control of the processing.
If a message is sent in the
called program, this message is available in the system fields sy-msgid
,
sy-msgty
, sy-msgno
, sy-msgv1
, ..., sy-msgv4
after the call.
Addition 3
... EXPORTING p1 FROM a1 p2 FROM a2 ...
Addition 4
... IMPORTING p1 TO a1 p2 TO a2 ...
Effect
+These additions can be used to assign the appropriate actual parameters a1
,
a2
, ... to the formal parameters p1
, p2
,
... of the dialog module. The formal parameters of a dialog module are always optional. They can have all data types except for reference types.
When loading the called program, the values of the actual parameters are assigned to the global data objects of the called program that are defined as formal parameters. If this data is associated with
screen fields of the same name, they are not overwritten by possible SPA/GPA parameters.
If you specify IMPORTING
, the system field sy-subrc
is implicitly adopted by the called dialog module and unknown formal parameters are ignored by the system.
Note
Outside of classes, the additions FROM a1
, FROM a2
,
... und TO a1
, TO a2
, ... in the parameter lists can be omitted if the formal parameters and actual parameters have the same names.
Exceptions
Non-Catchable Exceptions
-
Cause: Parameter name is too long.
Runtime Error:CALL_DIALOG_NAME_TOO_LONG
-
Cause: The called dialog module is unknown.
Runtime Error:CALL_DIALOG_NOT_FOUND
-
Cause:The called dialog module contains errors (incorrect entry in table TDCT).
Runtime Error:CALL_DIALOG_WRONG_TDCT_MODE
-
Cause: No further paging area for parameter transfer available.
Runtime Error:CALL_DIALOG_NO_CONTAINER
-
Cause: The statement
CALL DIALOG ... SCREEN ... PROGRAM ...
is not supported.
Runtime Error:CALL_DIALOG_SCREEN/PROGRAM