Application Development Discussions
Join the discussions or start your own on all things application development, including tools and APIs, programming models, and keeping your skills sharp.
cancel
Showing results for 
Search instead for 
Did you mean: 

Call dialog

Former Member
0 Kudos

What is call dialog method of data transfer? Is it a tyqe of batch input method?

6 REPLIES 6

Former Member
0 Kudos

hi mathew,

This may be helpful to u

CALL DIALOG

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 .

Note

Dialog modules are the only language resource that can be used to open a new 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. However, the procedures registered with CALL FUNCTION IN UPDATE TASK and PERFORM ON {COMMIT|ROLLBACK} are not executed until the execution of the corresponding statements in the calling program.

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 using the specification of a batch input folder in an internal table bdc_tab of the line type BDCDATA. In this case, only MODE can be used as an addition for the control of the batch input 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.

Example

Calling a dialog module DEMO_DIALOG_MODULE which is associated with the program SAPMDEMO_TRANSACTION.

DATA spfli_wa TYPE spfli.

spfli_wa-carrid = 'LH'.

spfli_wa-connid = '0400'.

CALL DIALOG 'DEMO_DIALOG_MODULE'

EXPORTING

spfli-carrid FROM spfli_wa-carrid

spfli-connid FROM spfli_wa-connid

IMPORTING

spfli_wa TO spfli_wa.

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

regards,

sravanthi

0 Kudos

Parera,

I think Module pool Programming

Thanks,

Shiva

Former Member
0 Kudos

Hi,

Please find the below documentation.

************************************************

CALL DIALOG - Call a dialog module

CALL DIALOG dial.

Additions:

1. ... AND SKIP FIRST SCREEN

2. ... EXPORTING f1 FROM g1 ... fn FROM gn

3. ... IMPORTING f1 TO g1 ... fn TO gn

4. ... USING itab ... MODE mode.

Calls the dialog module dial; dial can be a literal or a variable.

Addition 1

... AND SKIP FIRST SCREEN

Effect

Processes the first screen of the dialog module in the background, if all required entry fields have been filled.

Addition 2

... EXPORTING f1 FROM g1 ... fn FROM gn

Effect

Specifies all data objects (fields, field strings, internal tables) to be passed to the dialog module. If the names in the calling and called programs are identical, you can omit " FROM g1". Otherwise, fi refers to the field in the dialog module, while gi specifies the field in the calling program.

Addition 3

... IMPORTING f1 TO g1 ... fn TO gn

Effect

Specifies all data objects (fields, field strings, internal tables) to be returned from the dialog module. If the names in the calling and called programs are identical, you can omit " TO g1". Otherwise, fi refers to the field in the dialog module, while gi specifies the field in the calling program.

Examples

DATA: BEGIN OF ITAB,

LINE(72),

END OF ITAB,

TITLE LIKE SY-TITLE.

CALL DIALOG 'RS_EDIT_TABLE'

EXPORTING SOURCETAB FROM ITAB

TITLE

IMPORTING SOURCETAB TO ITAB.

Notes

The system field SY-SUBRC is automatically exported and imported.

The unknown export/import data in the dialog module is ignored.

The data objects passed should have the same type or structure in the calling program and the dialog module.

Addition 4

... USING itab ... MODE mode

Effect

Calls the dialog module dial and also passes the internal table itab which contains one or more screens in batch input format.

If required, the dialog module may return a message to the system fields SY-MSGID, SY-MSGTY, SY-MSGNO, SY-MSGV1, ..., SY-MSGV4.

The specified processing mode mode can accept the following values:

'A' Display screen

'E' Display only if an error occurs

'N' No display

If the addition MODE is not specified, the processing mode is 'A'.

The return code is set as follows:

SY-SUBRC = 0:

The processing was successful.

SY-SUBRC <> 0:

The dialog ended with an error.

Any update requests which occur there are not processed until the calling program executes a COMMIT WORK.

To return from the dialog module, use the key word LEAVE PROGRAM.

Regds

Sivaparvathi

Please reward points if helpful..

Former Member
0 Kudos

Hi,

Call dialog method is similar to call transaction, except that updation is done by the calling program itself.This method is obsolete.

Call transaction:

1.Synchronous Processing

2.You can update the database both synchronously and asynchrounously.

3.Transfer of data for individual transaction

4.No batch input session is created.

5.Faster than other batch input techniques.

6.No automatic error log and restart capability is available here.

7.Not recommended for bulk data transfer

Check these link:

http://www.sap-img.com/abap/difference-between-batch-input-and-call-transaction-in-bdc.htm

http://www.sap-img.com/abap/question-about-bdc-program.htm

http://www.itcserver.com/blog/2006/06/30/batch-input-vs-call-transaction/

http://www.planetsap.com/bdc_main_page.htm

http://www.sap-img.com/abap/difference-between-batch-input-and-call-transaction-in-bdc.htm

http://www.sap-img.com/abap/question-about-bdc-program.htm

http://www.itcserver.com/blog/2006/06/30/batch-input-vs-call-transaction/

http://www.planetsap.com/bdc_main_page.htm

regards,

vasavi.

reward if it is helpful.

Former Member
0 Kudos

Hi,

WHile in call transaction, no session is created. Instead , a report prog is created , which takes input from the file and calls the transaction in Batch mode.

Call dialog method is similar to call transaction, except that updation is done by the calling program itself.This method is obsolete.

Advantages of Batch Input Method are

1)Can process large data volumes

2) data integrity is maintained

regards,

vasavi.

reward if it is helpful.

Former Member
0 Kudos