-
Notifications
You must be signed in to change notification settings - Fork 0
/
abapcall_dialog.html
297 lines (293 loc) · 16.6 KB
/
abapcall_dialog.html
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
<!doctype HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
<html lang="EN">
<!-- ABAPCALL_DIALOG -->
<!-- Mirrored from help.sap.com/doc/abapdocu_751_index_htm/7.51/en-US/abapcall_dialog.htm by HTTrack Website Copier/3.x [XR&CO'2014], Thu, 20 Jan 2022 18:01:58 GMT -->
<head>
<meta http-equiv="content-type" content="text/html; charset=utf-8">
<meta name="author" content="SAP">
<meta name="description" content="CALL DIALOG">
<title>
CALL DIALOG - ABAP Keyword Documentation
</title>
<link rel="icon" href="ABAPIcon.ico" type="image/ico">
<link rel="shortcut icon" href="ABAPIcon.ico">
<LINK rel="stylesheet" href="abap_docu.css" type="text/css">
<script type="text/JavaScript">
function call_link(linked_file)
{
if(parent.frames.length>0){
parent.window.frames["basefrm"].window.location = linked_file;
parent.window.frames["treeframe"].window.location = "abap_docu_tree92bd.html?file=" + linked_file;}
else {
window.location = linked_file;}
}
function urlToClipboard(id){
try{ var loc = top.location.href;}
catch(e){ alert( "URL cannnot be determined" ); return; }
var field = document.getElementById(id);
field.focus();
if ( loc.search( ".htm" ) == -1 && loc.search( ".HTM" ) == -1 ){ loc = loc + "index.htm"; }
if ( loc.search( "index.html" ) != -1
|| loc.search( "INDEX-2.html" ) != -1 ){
var off = loc.search( "file=" );
if ( off == -1 ){
field.value = loc + "?file=abapcall_dialog.htm"; }
else {
field.value = loc.substring( 0, off ) + "file=abapcall_dialog.htm";
}
}
else {
field.value = loc; }
field.setSelectionRange(0, field.value.length);
var r = confirm( "Copy URL to clipboard?\n\n" + field.value + "\n\nCopy to clipboard does not work in all browsers." );
if (r == true) {
try{
document.execCommand("copy");
}
catch(e){ alert( "URL could not be copied to clipboard" ); }
}
window.scrollTo(0,0);
}
</script>
</head>
<body>
<div class="all">
<p class="copyright">SAP NetWeaver AS ABAP Release 751, ©Copyright 2017 SAP AG. All rights reserved.
<input type="button" value="URL" style="font-size:8px; width:26px; height:16px; padding:0"
onclick="urlToClipboard('url')" title="Copy URL to Clipboard" >
</p>
<span class="path">
<a href="javascript:call_link('abenabap.html')" class="blue">ABAP - Keyword Documentation</a> →
<a href="javascript:call_link('abenabap_reference.html')" class="blue">ABAP - Reference</a> →
<a href="javascript:call_link('abenabap_obsolete.html')" class="blue">Obsolete Language Elements</a> →
<a href="javascript:call_link('abenprogram_call_obsolete.html')" class="blue">Obsolete Calls</a> →
</span>
<A NAME="@@CALL DIALOG@@!ABAP_STATEMENT_OBS!@@"></A>
<p><span class="h1">
CALL DIALOG <br><br>
</span></p>
<P>
<a href="javascript:call_link('abapcall_dialog_shortref.html')" class="blue">Quick Reference</a> <br><br>
</P>
<p><span class="h2">
<span class="bold">Obsolete Syntax</span>
</span></p>
<P>
<span class="qtext">CALL DIALOG dialog <i class=bn>[</i> <i class=bn>{</i>AND SKIP FIRST SCREEN<i class=bn>}</i></span> <br>
<span class="qtext">
<i class=bn>|</i> <i class=bn>{</i>USING bdc_tab <i class=bn>[</i>MODE mode<i class=bn>]</i><i class=bn>}</i> <i class=bn>]</i></span> <br>
<span class="qtext">
<i class=bn>[</i>EXPORTING p1 FROM a1 p2 FROM a2 ...<i class=bn>]</i></span> <br><span class="qtext">
<i class=bn>[</i>IMPORTING p1 TO a1 p2 TO a2 ...<i class=bn>]</i>.</span> <br><br>
</P>
<p><span class="h3">
Extras:
</span></p>
<P>
<A HREF="#!ABAP_ADDITION_1@1@" class="blue"> 1. <span class="qtext">... AND SKIP FIRST SCREEN</span> </A> <br>
<br><A HREF="#!ABAP_ADDITION_2@2@" class="blue"> 2. <span class="qtext">... USING bdc_tab <i class=bn>[</i>MODE mode<i class=bn>]</i></span> </A> <br>
<br><A HREF="#!ABAP_ADDITION_3@3@" class="blue"> 3. <span class="qtext">... EXPORTING p1 FROM a1 p2 FROM a2 ...</span> </A> <br>
<br><A HREF="#!ABAP_ADDITION_4@4@" class="blue"> 4. <span class="qtext">... IMPORTING p1 TO a1 p2 TO a2 ...</span> </A> <br><br>
</P>
<p><span class="h4">
Effect
</span></p>
<P>
The statement <span class="qtext">CALL DIALOG</span> calls the
<a href="javascript:call_link('abendialog_module_object_glosry.html')" class="grey" title="Glossary Entry">dialog module</a>
whose name is contained in a flat character-like data object <span class="qtext">dialog</span>. The
data object <span class="qtext">dialog</span> must contain the name in uppercase. The following can be specified for <span class="qtext">dialog</span>:
</P>
<ul class="disc">
<li>
Literal or constant
<br></li>
</ul>
<dl>
<dd>
If the data object <span class="qtext">dialog</span> is specified as a
<a href="javascript:call_link('abentext_field_literal_glosry.html')" class="grey" title="Glossary Entry">text field literal</a> or as a
<a href="javascript:call_link('abenconstant_glosry.html')" class="grey" title="Glossary Entry">constant</a>, it is evaluated as a statically specified object by tools such as the
<a href="javascript:call_link('abenextended_program_check_glosry.html')" class="grey" title="Glossary Entry">extended program check</a> or the where-used list.
</dd>
</dl>
<ul class="disc">
<li>
Variable
<br></li>
</ul>
<dl>
<dd>
If the data object <span class="qtext">dialog</span> is specified as a
<a href="javascript:call_link('abenconstant_glosry.html')" class="grey" title="Glossary Entry">variable</a>, it is specified only dynamically and the content is not evaluated statically.
</dd>
</dl>
<P>
When the statement is executed, <span class="qtext">dialog</span> is not evaluated until runtime (in
both cases). If the dialog module specified in <span class="qtext">dialog</span> is not found, a non-handleable exception is raised.
</P>
<P>
When calling the dialog module, the assigned ABAP program is loaded in a new
<a href="javascript:call_link('abeninternal_session_glosry.html')" class="grey" title="Glossary Entry">internal session</a>.
The session of the calling program is preserved. In contrast to <a href="javascript:call_link('abapcall_transaction.html')" class="blue"><span class="qtext">CALL TRANSACTION</span></a>, the called program runs in the same
<a href="javascript:call_link('abensap_luw_glosry.html')" class="grey" title="Glossary Entry">SAP LUW</a> as the calling program.
</P>
<P>
After the ABAP program is loaded, the event <a href="javascript:call_link('abapload-of-program.html')" class="blue"><span class="qtext">LOAD-OF-PROGRAM</span></a>
is triggered and the dynpro defined as the initial dynpro of the dialog module is called. The dialog module is terminated when the corresponding
<a href="javascript:call_link('abendynpro_sequence_glosry.html')" class="grey" title="Glossary Entry">dynpro sequence</a> terminates
upon reaching the next dynpro with dynpro number 0 or the program is exited using the statement <a href="javascript:call_link('abapleave_program.html')" class="blue"> <span class="qtext">LEAVE PROGRAM</span></a>. <br><br>
</P>
<p><span class="h4">
Notes
</span></p>
<ul class="disc">
<li>
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:
<br></li>
</ul>
<ul class="circlem2">
<li>The statements <a href="javascript:call_link('abapcommit.html')" class="blue"><span class="qtext">COMMIT WORK</span></a>
and <a href="javascript:call_link('abaprollback.html')" class="blue"><span class="qtext">ROLLBACK WORK</span></a> cause database commits or database rollbacks in the called program.</li>
</ul>
<ul class="circlem2">
<li>The statement <span class="qtext">COMMIT WORK</span> starts the
<a href="javascript:call_link('abenbg_remote_function_glosry.html')" class="grey" title="Glossary Entry">background remote function calls</a> or
<a href="javascript:call_link('abentrfc_1_glosry.html')" class="grey" title="Glossary Entry">transactional remote function calls</a>
registered within in the dialog module using <a href="javascript:call_link('abapcall_function_background_unit.html')" class="blue"><span class="qtext">
CALL FUNCTION ... IN BACKGROUND UNIT</span></a> and <a href="javascript:call_link('abapcall_function_background_task.html')" class="blue"><span class="qtext">CALL FUNCTION ... IN BACKGROUND TASK</span></a> (obsolete).If
<a href="javascript:call_link('abentrfc_2_glosry.html')" class="grey" title="Glossary Entry">tRFC</a> or
<a href="javascript:call_link('abenqrfc_glosry.html')" class="grey" title="Glossary Entry">qRFC</a> are registered in a dialog
module and are not started with <span class="qtext">COMMIT WORK</span>, they are not executed by the <span class="qtext">COMMIT WORK</span> of the caller.</li>
</ul>
<ul class="circlem2">
<li>The <a href="javascript:call_link('abenprocedure_glosry.html')" class="grey" title="Glossary Entry">procedures</a> registered
with <a href="javascript:call_link('abapcall_function_update.html')" class="blue"><span class="qtext">CALL FUNCTION IN UPDATE TASK</span></a> and <a href="javascript:call_link('abapperform.html')" class="blue"><span class="qtext">MOVE-CORRESPONDING <i
class=bn>[</i>EXACT<i class=bn>]</i></span></a> are only executed with the corresponding statements <span class="qtext">COMMIT WORK</span> and <span class="qtext">ROLLBACK WORK</span> in the calling program.</li>
</ul>
<ul class="circlem2">
<li>Changes to <a href="javascript:call_link('abenpersistent_object_glosry.html')" class="grey" title="Glossary Entry">persistent objects</a> of the
<a href="javascript:call_link('abenobject_services_glosry.html')" class="grey" title="Glossary Entry">object services</a> cannot
be committed while <span class="qtext">CALL DIALOG</span> is being executed. Changes made in the object
services compatibility mode can be committed later using <span class="qtext">COMMIT WORK</span>. 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 <span class="qtext">CALL DIALOG</span>.
In object-oriented transaction mode, a transaction must be called before <span class="qtext">CALL DIALOG</span> and then completed.</li>
</ul>
<ul class="circlem2">
<li>In the called program, <a href="javascript:call_link('abensap_lock_glosry.html')" class="grey" title="Glossary Entry">SAP locks</a> are inherited by the calling program.</li>
</ul>
<ul class="disc">
<li>
Calling dialog modules is replaced by calling methods of global classes or by function modules (function
modules that can call the classic dynpros of their function group). It is usually not necessary to open an internal session without changing the SAP-LUW. <br><br>
<br></li>
</ul>
<A NAME="@@AND SKIP FIRST SCREEN@@CALL DIALOG (obsolete)@@"></A>
<p><span class="h3">
<A NAME="!ABAP_ADDITION_1@1@"></A> <span class="bold">Addition 1</span>
</span></p>
<P>
<span class="qtext">... AND SKIP FIRST SCREEN</span> <br><!-- /A -->
</P>
<p><span class="h4">
Effect
</span></p>
<P>
Under the same conditions as for the statement <a href="javascript:call_link('abapcall_transaction.html')" class="blue"><span class="qtext">CALL TRANSACTION</span></a>, this addition suppresses the display of the
<a href="javascript:call_link('abenscreen_glosry.html')" class="grey" title="Glossary Entry">screen</a> 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
<a href="javascript:call_link('abenspa_gpa_parameter_1_glosry.html')" class="grey" title="Glossary Entry">SPA/GPA parameters</a>. <br><br>
</P>
<A NAME="@@USING@@CALL DIALOG (obsolete)@@"></A>
<A NAME="@@MODE@@CALL DIALOG (obsolete)@@"></A>
<p><span class="h3">
<A NAME="!ABAP_ADDITION_2@2@"></A> <span class="bold">Addition 2</span>
</span></p>
<P>
<span class="qtext">... USING bdc_tab <i class=bn>[</i>MODE mode<i class=bn>]</i></span> <br><!-- /A -->
</P>
<p><span class="h4">
Effect
</span></p>
<P>
This addition controls the called program as in the statement <a href="javascript:call_link('abapcall_transaction.html')" class="blue"><span class="qtext">CALL TRANSACTION</span></a> by specifying a
<a href="javascript:call_link('abenbatch_input_table_glosry.html')" class="grey" title="Glossary Entry">batch input table</a>
<span class="qtext">bdc_tab</span> of the row type BDCDATA. In this case, only <span class="qtext">MODE</span> can be used as an addition for the control of the processing. <br>
If a <a href="javascript:call_link('abenmessage_glosry.html')" class="grey" title="Glossary Entry">message</a> is sent in the
called program, this message is available in the system fields <span class="qtext">sy-msgid</span>,
<span class="qtext"> sy-msgty</span>, <span class="qtext">sy-msgno</span>, <span class="qtext">sy-msgv1</span>, ..., <span class="qtext">sy-msgv4</span> after the call. <br><br>
</P>
<A NAME="@@EXPORTING@@CALL DIALOG (obsolete)@@"></A>
<A NAME="@@IMPORTING@@CALL DIALOG (obsolete)@@"></A>
<A NAME="@@FROM@@CALL DIALOG (obsolete)@@"></A>
<A NAME="@@TO@@CALL DIALOG (obsolete)@@"></A>
<p><span class="h3">
<A NAME="!ABAP_ADDITION_3@3@"></A> <span class="bold">Addition 3</span>
</span></p>
<P>
<span class="qtext">... EXPORTING p1 FROM a1 p2 FROM a2 ...</span>
</P>
<p><span class="h3">
<A NAME="!ABAP_ADDITION_4@4@"></A> <span class="bold">Addition 4</span>
</span></p>
<P>
<span class="qtext">... IMPORTING p1 TO a1 p2 TO a2 ...</span> <!-- /A --> <!-- /A --> <br><br>
</P>
<p><span class="h4">
Effect
</span></p>
<P>
+These additions can be used to assign the appropriate actual parameters <span class="qtext">a1</span>,
<span class="qtext">a2</span>, ... to the formal parameters <span class="qtext">p1</span>, <span class="qtext">p2</span>,
... of the dialog module. The formal parameters of a dialog module are always optional. They can have all data types except for reference types. <br>
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
<a href="javascript:call_link('abendynpro_field_glosry.html')" class="grey" title="Glossary Entry">dynpro fields</a> of the same name, they are not overwritten by possible SPA/GPA parameters. <br>
If <span class="qtext">IMPORTING</span> is specified, the system field <span class="qtext">sy-subrc</span>
is applied implicitly by the called dialog module and unknown formal parameters are ignored by the system. <br><br>
</P>
<p><span class="h4">
Note
</span></p>
<P>
Outside of classes, the additions <span class="qtext">FROM a1</span>, <span class="qtext">FROM a2</span>,
... and <span class="qtext">TO a1</span>, <span class="qtext">TO a2</span>, ... in the parameter lists can be omitted if the formal parameters and actual parameters have the same names. <br><br>
</P>
<p><span class="h4">
<a href="javascript:call_link('abenabap_language_exceptions.html')" class="blue">Exceptions</a>
</span></p>
<P>
<span class="bold">Non-Handleable Exceptions</span>
</P>
<ul class="disc">
<li>
<span class="italic">Cause:</span> A parameter name is too long. <br><span class="italic">Runtime error:</span> <span class="qtext">CALL_DIALOG_NAME_TOO_LONG</span>
<br><br></li>
<li>
<span class="italic">Cause:</span> The called dialog module is unknown. <br><span class="italic">Runtime error:</span> <span class="qtext">CALL_DIALOG_NOT_FOUND</span>
<br><br></li>
<li>
<span class="italic">Cause:</span> The called dialog module contains errors (error in entry in table TDCT). <br><span class="italic">Runtime error:</span> <span class="qtext">CALL_DIALOG_WRONG_TDCT_MODE</span>
<br><br></li>
<li>
<span class="italic">Cause:</span> No further paging area for pass by parameter available. <br><span class="italic">Runtime error:</span> <span class="qtext">CALL_DIALOG_NO_CONTAINER</span>
<br><br></li>
<li>
<span class="italic">Cause:</span> The statement <span class="qtext">CALL DIALOG ... SCREEN ... PROGRAM ...</span> is not supported. <br>
<span class="italic">Runtime error:</span> <span class="qtext">CALL_DIALOG_SCREEN/PROGRAM</span> <br><br>
<br></li>
</ul>
<br>
<br>
<!-- POSTFIX --><span class="h4">Continue</span><br>
<img src="exa.gif" alt="Example" title="Example">
<a href="javascript:call_link('abencall_dialog_abexa.html')" class="blue">Call Dialog Module</a><br>
<br>
<br>
</DIV>
<fieldset style="opacity:0">
<input id="url" type="text" />
</fieldset>
</BODY>
<!-- Mirrored from help.sap.com/doc/abapdocu_751_index_htm/7.51/en-US/abapcall_dialog.htm by HTTrack Website Copier/3.x [XR&CO'2014], Thu, 20 Jan 2022 18:01:58 GMT -->
</html>