Code: Alles auswählen.
DATA: lv_layout TYPE lvc_s_layo,
gv_grid TYPE REF TO cl_gui_alv_grid,
gf_termcont TYPE REF TO cl_gui_container,
lt_fieldcat TYPE lvc_t_fcat.
SET PF-STATUS 'STATUS_9000'.
SET TITLEBAR 'TITLE_9000'.
CREATE OBJECT gv_grid
EXPORTING
i_parent = gf_termcont.
CREATE OBJECT gr_event_handler .
SET HANDLER gr_event_handler->handle_user_command FOR gv_grid.
SET HANDLER: gr_event_handler->handle_button_click FOR gv_grid.
PERFORM build_fieldcat_0900 TABLES lt_fieldcat.
PERFORM prepare_layout.
CALL METHOD gv_grid->set_table_for_first_display
EXPORTING
is_layout = gs_layout
CHANGING
it_outtab = gt_pruef
it_fieldcatalog = lt_fieldcat.
CALL METHOD gv_grid->set_ready_for_input
EXPORTING
i_ready_for_input = 1.
Folgende Benutzer bedankten sich beim Autor a-dead-trousers für den Beitrag:
Prego
Code: Alles auswählen.
MODULE user_command_0900 INPUT.
CASE ok_code.
WHEN 'ZOK' OR 'ZCANC'.
refresh gt_pruef[].
Free gv_grid.
Free gr_event_handler.
Free gf_termcont.
LEAVE TO SCREEN 0.
ENDCASE.
CLEAR ok_code.
Code: Alles auswählen.
gv_grid->FREE( ).
CLEAR gv_grid.
Folgende Benutzer bedankten sich beim Autor a-dead-trousers für den Beitrag:
Prego
Code: Alles auswählen.
IF gv_grid IS NOT BOUND.
CREATE OBJECT gv_grid
EXPORTING
i_parent = gf_termcont.
CREATE OBJECT gr_event_handler .
SET HANDLER gr_event_handler->handle_user_command FOR gv_grid.
SET HANDLER: gr_event_handler->handle_button_click FOR gv_grid.
PERFORM build_fieldcat_0900 TABLES lt_fieldcat.
PERFORM prepare_layout.
CALL METHOD gv_grid->set_table_for_first_display
EXPORTING
is_layout = gs_layout
CHANGING
it_outtab = gt_pruef
it_fieldcatalog = lt_fieldcat.
CALL METHOD gv_grid->set_ready_for_input
EXPORTING
i_ready_for_input = 1.
ENDIF.
Code: Alles auswählen.
IF gv_grid IS BOUND.
gv_grid->free( ).
ENDIF.
CLEAR gv_grid.
IF gf_termcont IS BOUND.
gf_termcont->free( ).
ENDIF.
CLEAR gf_termcont.
CLEAR gr_event_handler.
Nur, wenn der PBO-Teil wirklich nur einmal ausgeführt wird. Wenn dieser aber durch einen Funktionscode (PAI/PBO) mehrmals durchlaufen wird, werden mehrere Instanzen mit dem gleichen Variablenamen angelegt und du "verlierst" damit den Zugriff auf den Vorgänger. Da hilft dann das ganze FREE am Ende nicht mehr.
Folgende Benutzer bedankten sich beim Autor a-dead-trousers für den Beitrag:
Prego