Skip to Content
0
Former Member
Jun 24, 2014 at 10:15 AM

How to Keep Default Layout of ALV

55 Views

I changed layout of ALV, then pressed button "Enter" but not "Save". But when I entered the screen again, the layout was changed to the setting which I changed last time, not default setting.

Source code is shown below.

DATA lt_acc_bal_fcat TYPE lvc_t_fcat.

DATA lt_trans_dtl_fcat TYPE lvc_t_fcat.

CLEAR gt_copc_bal.

APPEND LINES OF it_copc_bal TO gt_copc_bal.

CLEAR gt_trans_detail.

APPEND LINES OF it_trans_detail TO gt_trans_detail.

_adjust_data_for_display( ).

IF gv_grid_inited NE abap_true.

CLEAR gs_grid_variant.

CLEAR gs_grid_variant_detail.

CLEAR gt_trans_dtl_fcat.

gs_grid_layout-no_rowmark = abap_true.

" gs_grid_layout-sel_mode = 'A'.

gs_grid_layout-stylefname = 'FLD_STYL'.

gs_grid_variant-report = sy-repid.

gs_grid_variant-username = sy-uname.

gs_grid_variant-log_group = '001'.

"load account balance data to ALV

CREATE OBJECT go_acc_bal_container

EXPORTING

container_name = 'ACC_BAL_CONTAIN'.

CREATE OBJECT go_acc_bal_grid

EXPORTING

i_appl_events = abap_true

i_parent = go_acc_bal_container.

CALL FUNCTION 'LVC_FIELDCATALOG_MERGE'

EXPORTING

i_structure_name = 'EPIC_S_COPC_BAL'

CHANGING

ct_fieldcat = lt_acc_bal_fcat.

DATA lt_acc_bal_fcat_a TYPE lvc_t_fcat.

_adjust_bal_alv_dsp(

EXPORTING

it_fcat = lt_acc_bal_fcat " Field Catalog for List Viewer Control

IMPORTING

et_fcat = lt_acc_bal_fcat_a " Field Catalog for List Viewer Control

).

go_acc_bal_grid->set_table_for_first_display(

EXPORTING

is_layout = gs_grid_layout

is_variant = gs_grid_variant

i_save = 'A'

CHANGING

it_outtab = gt_copc_bal

it_fieldcatalog = lt_acc_bal_fcat_a

).

"load trasaction detail data to ALV

CREATE OBJECT go_acc_trans_dtl_container

EXPORTING

container_name = 'TRANS_DTL_CONTAIN'.

CREATE OBJECT go_acc_trans_dtl_grid

EXPORTING

i_appl_events = abap_true

i_parent = go_acc_trans_dtl_container.

CALL FUNCTION 'LVC_FIELDCATALOG_MERGE'

EXPORTING

i_structure_name = 'COPC_S_TRANS_DETAIL'

CHANGING

ct_fieldcat = lt_trans_dtl_fcat.

DATA lt_trans_dtl_fcat_a TYPE lvc_t_fcat.

_adjust_detail_alv_dsp(

EXPORTING

it_fcat = lt_trans_dtl_fcat " Field Catalog for List Viewer Control

IMPORTING

et_fcat = gt_trans_dtl_fcat " Field Catalog for List Viewer Control

).

gs_grid_variant_detail = gs_grid_variant.

gs_grid_variant_detail-log_group = '002'.

go_acc_trans_dtl_grid->set_table_for_first_display(

EXPORTING

is_layout = gs_grid_layout

is_variant = gs_grid_variant_detail

i_save = 'A'

CHANGING

it_outtab = gt_trans_detail

it_fieldcatalog = gt_trans_dtl_fcat

).

gv_grid_inited = abap_true.

ENDIF.

go_acc_bal_grid->refresh_table_display( ).

go_acc_trans_dtl_grid->refresh_table_display( ).


I want to keep layout of ALV default setting when I enters screen each time. Please help me solve this problem.