標籤:
這個錯誤的原因,是GUI容器依賴GUI的存在,因為它是在後台運行,沒有GUI,因此控制錯誤。
可以通過做一些編碼繞過這個。
* ALV GridDATA: R_GRID TYPE REF TO CL_GUI_ALV_GRID.DATA: R_CONTROL TYPE REF TO CL_GUI_CUSTOM_CONTAINER.DATA: G_DOCK TYPE REF TO CL_GUI_DOCKING_CONTAINER.MODULE STATUS_0100 OUTPUT. SET PF-STATUS ‘LISTOUT1‘. SET TITLEBAR ‘LIST1‘.IF R_CONTROL IS INITIAL.* Check whether the program is run in batch or foreground(判斷是否後台運行) IF CL_GUI_ALV_GRID=>OFFLINE( ) IS INITIAL.* Run in foreground CREATE OBJECT R_CONTROL EXPORTING CONTAINER_NAME = ‘CONTAINER_1‘. CREATE OBJECT R_GRID EXPORTING I_PARENT = R_CONTROL. ELSE.* Run in background CREATE OBJECT R_GRID EXPORTING I_PARENT = G_DOCK. ENDIF.* Structure ZBA_MARA1 is defined in DDIC as linetype CALL METHOD R_GRID->SET_TABLE_FOR_FIRST_DISPLAY EXPORTING I_STRUCTURE_NAME = ‘MARA‘ CHANGING IT_OUTTAB = ITAB. ENDIF.ENDMODULE. " STATUS_0100 OUTPUT
OO ALV 後台執行階段錯誤:Control Framework: Fatal error - GUI cannot be reached