sapdev logo background
sapdev logo sapdev logo
Comments

ABAP CALL DIALOG Statement syntax, information and example SAP source code



Return to Statement index



CALL DIALOG

Short Reference

ABAP Syntax(Obsolete) ABAP_KEY 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 ...].

ABAP_ADDITIONS:
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 ...

What does it do? 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 dynpro defined as the initial dynpro of the dialog module is called. The dialog module is terminated when the corresponding dynpro sequence terminates upon reaching the next dynpro with dynpro number 0 or the program is exited using the statement LEAVE PROGRAM .

Latest notes: 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 and ROLLBACK 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 with CALL FUNCTION IN BACKGROUND
    . If tRFC or qRFC are registered in a dialog module and are not started with COMMIT WORK , then they are not executed by the COMMIT WORK of the caller.
  • The procedures registered with CALL FUNCTION IN UPDATE TASK and PERFORM ON {COMMIT|ROLLBACK} are only executed with the corresponding statements COMMIT WORK and

  • ROLLBACK 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 using

  • COMMIT 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 after
    CALL DIALOG . In object-oriented transaction mode, a transaction must be called before CALL DIALOG and then completed.
  • In the called program, SAP locks are adopted by the calling program.

  • Calling dialog modules is replaced by calling methods of global classes or by function modules (function modules that can call the c
    lassic dynpros of their function group). It is usually not necessary to open an internal session without changing the SAP-LUW.

    ABAP_ADDITION_1 ... AND SKIP FIRST SCREEN

    What does it do? Under the same conditions as for the statement CALL TRANSACTION , this addition supresses the display of the screen of the initial dynpro. If the called dialog module has input parameters for the mandatory input fields of the initial dynpro, they can also be filled using pass by parameter instead of
    SPA/GPA parameters .

    ABAP_ADDITION_2 ... USING bdc_tab [MODE mode]

    What does it do? 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.

    ABAP_ADDITION_3 ... EXPORTING p1 FROM a1 p2 FROM a2 ...
    ABAP_ADDITION_4 ... IMPORTING p1 TO a1 p2 TO a2 ...

    What does it do? +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 dynpro fields of the same name, they are not overwritten by possible SPA/GPA parameters.
    If IMPORTING is specified, the system field sy-subrc is implicitly adopted by the called dialog module and unknown formal parameters are ignored by the system.

    Latest notes: Outside of classes, the additions FROM a1 , FROM a2 , ... and TO a1 , TO a2 , ... in the parameter lists can be omitted if the formal parameters and actual parameters have the same names.



    Runtime Exceptions
    Non-catchable Exceptions
    Reason for error: Parameter name is too long.
    Runtime error: CALL_DIALOG_NAME_TOO_LONG
    Reason for error: The called dialog module is unknown.
    Runtime error: CALL_DIALOG_NOT_FOUND
    Reason for error: The called dialog module contains errors (incorrect entry in table TDCT ).
    Runtime error: CALL_DIALOG_WRONG_TDCT_MODE
    Reason for error: No further paging area for pass by parameter available.
    Runtime error: CALL_DIALOG_NO_CONTAINER
    Reason for error: The statement CALL DIALOG ... SCREEN ... PROGRAM ...
    is not supported.
    Runtime error: CALL_DIALOG_SCREEN/PROGRAM
    Documentation extract taken from SAP system, � Copyright SAP AG. All rights reserved




    CALL_DB_PROC_PARAMETER_TABLES
    CALL_EXCEPTIONS




    comments powered by Disqus