Showing posts with label Utility Tips. Show all posts
Showing posts with label Utility Tips. Show all posts

Helpful BASIS Transactions for ABAPers

The following are some transactions which may come in handy for ABAPers:



Transaction Codes Description
SCCLLOCAL CLIENT COPY WITHIN THE SAME SYSTEM
SCC1CLIENT COPY - SPECIAL SELECTIONS(COPY TRANSPORTS WITHIN CLIENTS)
SCC9REMOTE CLIENT COPY IN DIFFERENT SYSTEM
SCC5DELETING A CLIENT
SP01SHOW SPOOL REQUEST
SPADCONFIGURE A PRINTER IN SAP
ST01SYSTEM TRACE
ST02SAP BUFFER
ST03WORKLOAD MONITOR
ST04DATABASE MONITOR
ST05SQL TRACE
ST06OS MONITOR
ST22ABAP DUMP
SCUAFOR CREATING/DELETING CUA
SCUMWHICH DATA U WANT TO STORE LOCALLY AND WHICH GLOBALLY
SCULCUA LOG
PPOCECREATE A PLAN
PPOMEMAINTAIN A PLAN
PPOSEDISPLAY A PLAN
STMSTRANSPORT MANAGEMENT SYSTEM
SLG0CONFIGURE APPLICATION LOG
SLG1ANALYSE APPLICATION LOG
SLG2DELETE APPLICATION LOG
SCUGTRANSPORT OF USER
RZ01JOB SCHEDULING MONITOR
RZ02NETWORK GRAPHICS FOR SAP INSTANCES
RZ03PRESENTATION CONTROL SAP INSTANCE
RZ04MAINTAIN SAP INSTANCE
RZ06ALERT THRESHOLD MAINTAINCE
RZ08SAP ALERT MONITOR
RZ10PROFILE PARAMETER CHECKING AND MAINTAINENCE
RZ11DISPLAY PROFILE PARAMETER
RZ20CCMS MONITOR
RZ04SHIFTING OF OPERATION
BD54CREATING A LOGICAL SYSTEM
BD64DISPLAY OF DISTRIBUTION MODEL
SM01LOCK/UNLOCK A TRANSTACTION
SM02SEND SYSTEM MESSAGE
SM04WHO ARE THE USER CURRENTLY LOGGED ON NOW
SM12TO VIEW LOCK AND ALSO DELETE LOG
SM13CHECK UPDATE
SM30TABLE MAINTAINCE
SM36SCHEDULING A BACKGROUND JOB
SM37MONITORING A BACKGROUND JOB
SM49EXECUTE A EXTERNAL COMMAND
SM59CREATE A RFC CONNECTION
SM69CREATING A COMMAND
SALE/BD54LOGICAL NAME
SUPCTO GENERATE PROFILE
DB01ANALYZE EXCUSIVE LOCK WAITS
BD02ANALYZE TABLES AND INDEX
DB03PARAMETER CHANGE IN DB
DB11EARLY WATCH PROFILE MAINTAINCE
DB12OVERVIEW OF BACKUP LOGS
DB13DATABASE ADMINISTRATOR CALENDER
DB14SHOW DBA ACTION LOGS

How to print apostrophe ( ' ) using the WRITE statement

Printing apostrophes ( ' ) in ABAP is really tricky as in ABAP coding we have to give values in quotes like 'Ricky World'. So how to use WRITE: 'Ricky's World' ? If you try to type this it will give syntax error!

The trick is use three apostrophes instead of one.

1
2
3
DATA: LINE(20) TYPE C.
CONCATENATE 'You''' 'll be there.' INTO LINE.
WRITE:/ LINE.


or simply :

1
WRITE:/ 'You''ll be there.'.

Determine whether a file is open or not in Application Server

To determine whether a file is opened or not in application server we can use the class 'CX_SY_FILE_OPEN'. By using this class we can determine whether a file is opened or not in application server as SY-SUBRC <> 0 may not provide the file's open information while we are interacting with the file. SY-SUBRC <> 0 may happens for other reasons also.

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
DATA:
* First declare an object of type CX_ROOT.
OREF TYPE REF TO CX_ROOT,

* Then declare a variable of type string.
TEXT TYPE STRING.

*Now open a dataset in a TRY-CATCH block
TRY.
OPEN DATASET '/USR/SAP/TRANS/ECC1/ETC/B12008.TXT' FOR OUTPUT
IN TEXT MODE ENCODING DEFAULT

* Then in the catch block instantiate the Object.
CATCH CX_SY_FILE_OPEN INTO OREF.
* Now in 'CATCH' block use the TEXT variable to get the TEXT from the Object.
TEXT = OREF->GET_TEXT( ).

*Now if the TEXT is not initial that means the file is already opened
*else it is not opened and we have to open it
IF TEXT IS NOT INITIAL.

* If open then we can close the file
CLOSE DATASET '/USR/SAP/TRANS/ECC1/ETC/B120080627112.TXT'.

ENDIF.

ENDTRY.

Individual cell coloring in ALV

This program demonstrates how to color individual cell in an ALV List. The same logic works for ALV grid also.

The ALV:






The Code:

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
*&---------------------------------------------------------------------*
*& Report ZTEST_SOURAV31
*&
*&---------------------------------------------------------------------*
*&
*&
*&---------------------------------------------------------------------*

REPORT ztest_sourav31.
TYPE-POOLS: slis.
TYPES: BEGIN OF x_sflight,
sflight TYPE sflight.
TYPES prop TYPE slis_t_specialcol_alv.
TYPES END OF x_sflight.

DATA:
i_sflight TYPE STANDARD TABLE OF sflight,
itab_sflight TYPE STANDARD TABLE OF x_sflight INITIAL SIZE 0,
wa_prop TYPE slis_specialcol_alv,
average TYPE s_seatsocc,
layout TYPE slis_layout_alv,
fieldcat TYPE slis_t_fieldcat_alv.

FIELD-SYMBOLS:
<
wa> TYPE ANY,
<
field> TYPE ANY,
<
wa_sflight> TYPE x_sflight,
<
wa_fcat> TYPE slis_fieldcat_alv.

START-OF-SELECTION.

SELECT *
FROM sflight INTO TABLE i_sflight.

CHECK sy-subrc = 0.

SELECT AVG( seatsocc ) FROM sflight
INTO average.
CHECK sy-subrc = 0.

END-OF-SELECTION.

LOOP AT i_sflight ASSIGNING <wa>.
APPEND INITIAL LINE TO itab_sflight ASSIGNING <wa_sflight>.
DO.
ASSIGN COMPONENT sy-index OF STRUCTURE <wa> TO <field>.
IF sy-subrc = 0.
IF sy-index = 9.
IF <field> > average.
wa_prop-fieldname = 'SFLIGHT-SEATSOCC'.
wa_prop-color-col = '5'.
wa_prop-color-int = '0'.
wa_prop-color-inv = '0'.
wa_prop-nokeycol = 'X'.
APPEND wa_prop TO <wa_sflight>-prop.
ELSE.
wa_prop-fieldname = 'SFLIGHT-SEATSOCC'.
wa_prop-color-col = '6'.
wa_prop-color-int = '0'.
wa_prop-color-inv = '0'.
wa_prop-nokeycol = 'X'.
APPEND wa_prop TO <wa_sflight>-prop.
ENDIF.
ENDIF.
ELSE.
EXIT.
ENDIF.
ENDDO.
<
wa_sflight>-sflight = <wa>.
ENDLOOP.

layout-coltab_fieldname = 'PROP'.

CALL FUNCTION 'REUSE_ALV_FIELDCATALOG_MERGE'
EXPORTING
i_program_name = 'ZTEST_SOURAV31'
i_internal_tabname = 'ITAB_SFLIGHT'
i_structure_name = 'SFLIGHT'
i_client_never_display = 'X'
CHANGING
ct_fieldcat = fieldcat
EXCEPTIONS
inconsistent_interface = 1
program_error = 2
OTHERS = 3.
IF sy-subrc <> 0.
* MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO
* WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.
ENDIF.

LOOP AT fieldcat ASSIGNING <wa_fcat>.
CONCATENATE 'SFLIGHT-' <wa_fcat>-fieldname INTO <wa_fcat>-fieldname.
IF <wa_fcat>-cfieldname IS NOT INITIAL.
CONCATENATE 'SFLIGHT-' <wa_fcat>-cfieldname INTO <wa_fcat>-cfieldname.
ENDIF.
ENDLOOP.

CALL FUNCTION 'REUSE_ALV_LIST_DISPLAY'
EXPORTING
i_callback_program = 'ZTEST_SOURAV31'
is_layout = layout
it_fieldcat = fieldcat
TABLES
t_outtab = itab_sflight
EXCEPTIONS
program_error = 1
OTHERS = 2.
IF sy-subrc <> 0.
* MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO
* WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.
ENDIF.

Display an ALV in a Selection Screen

This program demonstrates how to display an ALV grid in the selection screen itself upon hitting "ENTER" button.

The Selection Screen:



The ALV (Upon hitting enter):



The ALV gets refreshed when new selection screen values are entered:



The code:

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
*&---------------------------------------------------------------------*
*& Report ZSB_ALV_SAME_SCREEN
*&
*&---------------------------------------------------------------------*
*&
*&
*&---------------------------------------------------------------------*

REPORT zsb_alv_same_screen.

DATA:
wa_sflight TYPE sflight,
i_sflight TYPE STANDARD TABLE OF sflight INITIAL SIZE 0,
oref_dock TYPE REF TO cl_gui_docking_container,
oref_alv TYPE REF TO cl_gui_alv_grid,
i_exclude TYPE TABLE OF syucomm.


SELECT-OPTIONS:
s_carrid FOR wa_sflight-carrid,
s_connid FOR wa_sflight-connid,
s_fldate FOR wa_sflight-fldate.

AT SELECTION-SCREEN OUTPUT.

APPEND 'ONLI' TO i_exclude.
APPEND 'SJOB' TO i_exclude.
APPEND 'PRIN' TO i_exclude.

CALL FUNCTION 'RS_SET_SELSCREEN_STATUS'
EXPORTING
p_status = sy-pfkey
p_program = sy-repid
TABLES
p_exclude = i_exclude.


AT SELECTION-SCREEN.
CHECK sy-ucomm = space.
SELECT * FROM sflight INTO TABLE i_sflight
WHERE carrid IN s_carrid
AND connid IN s_connid
AND fldate IN s_fldate.

IF sy-subrc = 0.

IF oref_dock IS NOT BOUND.

CREATE OBJECT oref_dock
EXPORTING
repid = sy-repid
dynnr = '1000'
side =
cl_gui_docking_container=>dock_at_bottom
ratio = 70
EXCEPTIONS
cntl_error = 1
cntl_system_error = 2
create_error = 3
lifetime_error = 4
lifetime_dynpro_dynpro_link = 5
OTHERS = 6
.
IF sy-subrc <> 0.
* MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO
* WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.
ENDIF.
ENDIF.
IF oref_alv IS NOT BOUND.

CHECK oref_dock IS BOUND.
CREATE OBJECT oref_alv
EXPORTING
i_parent = oref_dock
EXCEPTIONS
error_cntl_create = 1
error_cntl_init = 2
error_cntl_link = 3
error_dp_create = 4
OTHERS = 5.
IF sy-subrc <> 0.
* MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO
* WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.
ENDIF.

CHECK oref_alv IS BOUND.

CALL METHOD oref_alv->set_table_for_first_display
EXPORTING
i_structure_name = 'SFLIGHT'
CHANGING
it_outtab = i_sflight
EXCEPTIONS
invalid_parameter_combination = 1
program_error = 2
too_many_lines = 3
OTHERS = 4.
IF sy-subrc <> 0.
* MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO
* WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.
ENDIF.
ELSE.

CALL METHOD oref_alv->refresh_table_display
EXCEPTIONS
finished = 1
OTHERS = 2.
IF sy-subrc <> 0.
* MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO
* WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.
ENDIF.

ENDIF.
ENDIF.

Demo program for TOP-OF-PAGE for ALV displayed through CL_GUI_ALV_GRID

This program demonstrates how to create TOP OF PAGE for an ALV grid displayed through CL_GUI_ALV_GRID. One interesting fact which may be considered here is that the splitter TOP-OF-PAGE is not called while printing or background spool and the TOP-OF-PAGE printed in the spool cannot be displayed in the foreground.

The TOP-OF-PAGE displayed in foreground (this TOP-OF-PAGE won't be printed):



Choose the list output:



The list output(this top-of-page will be printed):



The code:

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
*&---------------------------------------------------------------------*
*& Report Z_SOURAV_ALV_TOP_OF_PAGE
*&
*&---------------------------------------------------------------------*
*&
*&
*&---------------------------------------------------------------------*

REPORT z_sourav_alv_top_of_page.

*----------------------------------------------------------------------*
* CLASS cl_main DEFINITION
*----------------------------------------------------------------------*
*
*----------------------------------------------------------------------*
CLASS cl_main DEFINITION.
PUBLIC SECTION.
METHODS:
constructor,
get_data,
populate_fc_layout,
top_of_page FOR EVENT top_of_page OF cl_gui_alv_grid
IMPORTING
e_dyndoc_id
table_index,
print_top_of_page FOR EVENT print_top_of_page OF cl_gui_alv_grid
IMPORTING table_index,
display.


PROTECTED SECTION.

PRIVATE SECTION.
TYPE-POOLS:sdydo.
DATA:i_sbook TYPE STANDARD TABLE OF sbook INITIAL SIZE 0.
DATA:oref_splitter TYPE REF TO cl_gui_splitter_container,
oref_container TYPE REF TO cl_gui_custom_container,
oref_alv TYPE REF TO cl_gui_alv_grid,
container1 TYPE REF TO cl_gui_container,
container2 TYPE REF TO cl_gui_container,
oref_doc TYPE REF TO cl_dd_document,
oref_html TYPE REF TO cl_gui_html_viewer,
wa_layout TYPE lvc_s_layo,
i_fieldcatalog TYPE lvc_t_fcat.

ENDCLASS. "cl_main DEFINITION
*----------------------------------------------------------------------*
* CLASS cl_main IMPLEMENTATION
*----------------------------------------------------------------------*
*
*----------------------------------------------------------------------*
CLASS cl_main IMPLEMENTATION.
METHOD constructor.

CREATE OBJECT oref_container
EXPORTING
container_name = 'CONTAINER'
repid = 'Z_SOURAV_ALV_TOP_OF_PAGE'
dynnr = '0100'
EXCEPTIONS
cntl_error = 1
cntl_system_error = 2
create_error = 3
lifetime_error = 4
lifetime_dynpro_dynpro_link = 5
OTHERS = 6.
IF sy-subrc <> 0.
* MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO
* WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.
ENDIF.


CREATE OBJECT oref_splitter
EXPORTING
parent = oref_container
rows = 2
columns = 1
EXCEPTIONS
cntl_error = 1
cntl_system_error = 2
OTHERS = 3.
IF sy-subrc <> 0.
* MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO
* WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.
ENDIF.

CALL METHOD oref_splitter->get_container
EXPORTING
row = 1
column = 1
RECEIVING
container = container1.

CALL METHOD oref_splitter->set_row_height
EXPORTING
id = 1
height = 20
EXCEPTIONS
cntl_error = 1
cntl_system_error = 2
OTHERS = 3.
IF sy-subrc <> 0.
* MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO
* WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.
ENDIF.


CALL METHOD oref_splitter->get_container
EXPORTING
row = 2
column = 1
RECEIVING
container = container2.


CREATE OBJECT oref_doc
EXPORTING
style = 'ALV_GRID'.


CREATE OBJECT oref_alv
EXPORTING
i_parent = container2
EXCEPTIONS
error_cntl_create = 1
error_cntl_init = 2
error_cntl_link = 3
error_dp_create = 4
OTHERS = 5.
IF sy-subrc <> 0.
* MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO
* WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.
ENDIF.


ENDMETHOD. "constructor
METHOD get_data.
SELECT * FROM sbook INTO TABLE i_sbook UP TO 500 ROWS.
IF sy-subrc <> 0.

ENDIF.

ENDMETHOD. "get_data
METHOD populate_fc_layout.
CALL FUNCTION 'LVC_FIELDCATALOG_MERGE'
EXPORTING
i_structure_name = 'SBOOK'
i_client_never_display = 'X'
i_internal_tabname = 'I_SBOOK'
CHANGING
ct_fieldcat = i_fieldcatalog
EXCEPTIONS
inconsistent_interface = 1
program_error = 2
OTHERS = 3.
IF sy-subrc <> 0.
* MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO
* WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.
ENDIF.

wa_layout-cwidth_opt = 'X'.

ENDMETHOD. "populate_fc_layout
METHOD top_of_page.

DATA: text TYPE sdydo_text_element,
background_id TYPE sdydo_key VALUE 'ALV_BACKGROUND'.

text = 'Top of Page'.

CALL METHOD oref_doc->add_text
EXPORTING
text = text
sap_color = cl_dd_document=>list_positive
sap_fontsize = cl_dd_document=>large.

oref_doc->new_line( ).
text = 'Line1'.

CALL METHOD oref_doc->add_text
EXPORTING
text = text.

CREATE OBJECT oref_html
EXPORTING
parent = container1
EXCEPTIONS
cntl_error = 1
cntl_install_error = 2
dp_install_error = 3
dp_error = 4
OTHERS = 5.
IF sy-subrc <> 0.
* MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO
* WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.
ENDIF.

oref_doc->html_control = oref_html.

CALL FUNCTION 'REUSE_ALV_GRID_COMMENTARY_SET'
EXPORTING
document = oref_doc
bottom = space.

CALL METHOD oref_doc->merge_document.

CALL METHOD oref_doc->set_document_background
EXPORTING
picture_id = background_id.

CALL METHOD oref_doc->display_document
EXPORTING
reuse_control = 'X'
parent = container1
EXCEPTIONS
html_display_error = 1
OTHERS = 2.
IF sy-subrc <> 0.
* MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO
* WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.
ENDIF.
ENDMETHOD. "create_top_of_page
METHOD display.

SET HANDLER me->top_of_page FOR oref_alv.
SET HANDLER me->print_top_of_page FOR oref_alv.

CALL METHOD oref_alv->set_table_for_first_display
EXPORTING
is_layout = wa_layout
CHANGING
it_outtab = i_sbook
it_fieldcatalog = i_fieldcatalog
EXCEPTIONS
invalid_parameter_combination = 1
program_error = 2
too_many_lines = 3
OTHERS = 4.
IF sy-subrc <> 0.
* MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO
* WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.
ENDIF.

CALL METHOD oref_doc->initialize_document
.


CALL METHOD oref_alv->list_processing_events
EXPORTING
i_event_name = 'TOP_OF_PAGE'
i_dyndoc_id = oref_doc.


CALL SCREEN 0100.
ENDMETHOD. "display
METHOD print_top_of_page.
WRITE:/5 'Print top of page' COLOR 5 INTENSIFIED OFF.
WRITE:/5 'Line1'.
ENDMETHOD. "print_top_of_page
ENDCLASS. "cl_main IMPLEMENTATION

DATA: oref_main TYPE REF TO cl_main.
DATA:ok_code TYPE syucomm.

START-OF-SELECTION.

CREATE OBJECT oref_main.

oref_main->get_data( ).
oref_main->populate_fc_layout( ).

END-OF-SELECTION.

oref_main->display( ).
*&---------------------------------------------------------------------*
*& Module STATUS_0100 OUTPUT
*&---------------------------------------------------------------------*
* text
*----------------------------------------------------------------------*
MODULE status_0100 OUTPUT.
SET PF-STATUS '0100'.
* SET TITLEBAR 'xxx'.
ENDMODULE. " STATUS_0100 OUTPUT
*&---------------------------------------------------------------------*
*& Module USER_COMMAND_0100 INPUT
*&---------------------------------------------------------------------*
* text
*----------------------------------------------------------------------*
MODULE user_command_0100 INPUT.
CASE ok_code.
WHEN 'BACK'.
SET SCREEN 00.
LEAVE SCREEN.
ENDCASE.
ENDMODULE. " USER_COMMAND_0100 INPUT