oo-ALV im Hintergrund ausgeben - 4AP.de - ABAP Syntaxbeispiele:
Beispielcoding: objektorientierter ALV im Hintergrundbetrieb: (kopieren erlaubt aber auf eigene Gefahr :-))
Im Hintergrund / Batch-Betrieb muss der ALV in einem anderen Container ausgegeben werden, damit die ALV-Ausgabe nicht dumpt. Statt einen Custom-Container wird ein Docking-Container verwendet.
****************************************************************
* Developer: Thorsten Neubüser [TN] www.4ap.de
****************************************************************
*=====================================================================*
* Kurzbeschreibung *
* ALV auch in Background-Task / Hintergrundbetrieb ausgebbar *
*======================================================================
REPORT z_tn_alv_in_background_task.
DATA: gt_sflight TYPE TABLE OF sflight,
g_container TYPE scrfname VALUE 'TN_CUST_CONT', " Dynpro 0100
go_alv_grid TYPE REF TO cl_gui_alv_grid,
go_cust_cont TYPE REF TO cl_gui_custom_container,
go_dock_cont TYPE REF TO cl_gui_docking_container.
*---------------------------------------------------------------------*
* MAIN *
*---------------------------------------------------------------------*
SELECT * FROM sflight INTO TABLE gt_sflight.
CALL SCREEN 100.
*---------------------------------------------------------------------*
* MODULE PBO OUTPUT *
*---------------------------------------------------------------------*
MODULE pbo OUTPUT.
SET PF-STATUS 'STANDARD' OF PROGRAM 'BALVSD01'.
IF go_cust_cont IS INITIAL.
IF cl_gui_alv_grid=>offline( ) IS INITIAL.
* wir sind also im ONLINE-Betrieb
* Erzeugen des Containers
CREATE OBJECT go_cust_cont
EXPORTING
container_name = g_container.
* Erzeugen des ALV-Grids
CREATE OBJECT go_alv_grid
EXPORTING
i_parent = go_cust_cont.
ELSE.
* Hintergrundbetrieb
* Erzeugen des ALV-Grids
CREATE OBJECT go_alv_grid
EXPORTING
i_parent = go_dock_cont.
ENDIF.
* Ausgabe des ALVs
CALL METHOD go_alv_grid->set_table_for_first_display
EXPORTING
i_structure_name = 'SFLIGHT'
CHANGING
it_outtab = gt_sflight.
ENDIF.
ENDMODULE. "PBO OUTPUT
*---------------------------------------------------------------------*
* MODULE PAI INPUT *
*---------------------------------------------------------------------*
MODULE pai INPUT.
CASE sy-ucomm.
WHEN 'BACK' OR 'CANCEL' OR 'EXIT'.
LEAVE PROGRAM.
WHEN OTHERS.
* do nothing
ENDCASE. " sy-ucomm
ENDMODULE. "PAI INPUT
***************
* *
* T T *
* N *
* *
* `---´ *
* *
***************