Hi friends,
I have use one alv grid to edit some line items, then a second alv grid to display line items after simulation.
Once I called the first alvgrid, then when I call the 2nd alv grid, it will display the same content in the first alv grid, though they are using different instances which are declared different function groups.
The alv grid must have a buffer, otherwise how 2 different alv grid connected together.
The alv grid is created in a container. My first try is to change the container name below, once I change something to ALVSUB1, the alv grid will not display anything.
CREATE OBJECT GR_CONTAINER_SUB
EXPORTING
CONTAINER_NAME = 'ALVSUB'.
1st alv grid calling code:
ls_variant-report = 'GR_ALVGRID_ITEM_S2I'.
2nd alv grid calling code:
CALL METHOD gr_alvgrid_itm_s2i->set_table_for_first_display
EXPORTING
is_variant = ls_variant
i_save = 'A'
is_layout = ls_layout
i_buffer_active = 'X'
it_toolbar_excluding = lt_exc_func
CHANGING
it_fieldcatalog = lt_fieldcat_items[]
it_outtab = gt_output_items[].
CALL METHOD GR_ALVGRID_ITM->SET_TABLE_FOR_FIRST_DISPLAY
EXPORTING
IS_VARIANT = LS_VARIANT
I_SAVE = 'A'
IS_LAYOUT = LS_LAYOUT
I_BUFFER_ACTIVE = 'X'
IT_TOOLBAR_EXCLUDING = LT_EXC_FUNC
CHANGING
IT_FIELDCATALOG = LT_FIELDCAT_ITEMS[]
IT_OUTTAB = GT_ITEMS[].
In 2nd alv grid, it will ignore GT_ITEMS and will display GT_OUTPUT_ITEMS instead. If 2nd alv grid is called first, then the first will display the GT_ITEMS instead of GT_OUTPUT_ITEMS.
Who can tell me what I did wrong, that 2 alv grids are linked somehow together?
Thank you
Swing