Whenever an ALV grid control program is executed
in background, a short dump occurs
Error: GUI cannot be reached
Reason
Whenever an ALV grid control program is executed in
foreground it tries to create some front-end related objects. But when the same
program is executed in background, the above error occurs as it fails to create
front-end objects (GUI objects). So in order to rectify this problem, we need
to use the docking container instead of custom container.
The docking container doesn't need any of the custom controls on
the screen, instead it attaches an area to any or all of the four edges of the
screen (top, left, right or bottom).
The
behavior of the areas in the container is determined by the sequence in which
they are initialized. Docking Containers are attached to the screen from the
inside out. This means that when you create a second container, it is attached
to the edge of the screen, and the container that was already there is pushed
outwards.
We can use the below code when ALV is used in background programs
DATA : or_doc TYPE REF TO
cl_gui_docking_container.
IF cl_gui_alv_grid=>offline( ) IS
INITIAL.
CREATE OBJECT or_custom_container
EXPORTING
container_name = c_container.
CREATE OBJECT or_grid
EXPORTING
i_parent = or_custom_container.
ELSE.
CREATE OBJECT or_grid
EXPORTING
i_parent = or_doc.
ENDIF.
We can also use SAP
system variable SY-BATCH is ‘X’ to check
if the program is being executed in background or foreground
All ABAP programs stored inside the SAP databases and executed under the control of the run-time system, which is part of the SAP kernel. In this section you can find ABAP tutorial and PDF study materials for your reference. Normally a transaction code is used for executing an ABAP program.
ReplyDeleteSAP ABAP ONLINE TRAINING
Great post! I am actually getting ready to across this information, is very helpful my friend. Also great blog here with all of the valuable information you have. Keep up the good work you are doing here.Well, got a good knowledge.
ReplyDeleteSap Training in Chennai
when I am using docking it still throws the same error in background job. is it no longer possible to use dock in batch job?
ReplyDeleteThank you ever so for you article. Really Cool.
ReplyDeleteSAP ABAP online training
SAP ABAP training