Basit raporlarınız için aşağıdaki ABAP kodunu kullanabilirsiniz.
İlk olarak sorgunuzu yazıyorsunuz. Sorgunuzu ITAB’a atadıktan sonra onu Factory methodunun changing parametresine veriyorsunuz.
DATA: GO_ALV TYPE REF TO CL_SALV_TABLE, GO_MESSAGE TYPE REF TO CX_SALV_MSG, COLUMNS TYPE REF TO CL_SALV_COLUMNS_TABLE, COLUMN TYPE REF TO CL_SALV_COLUMN, LAYOUT_SETTINGS TYPE REF TO CL_SALV_LAYOUT, LAYOUT_KEY TYPE SALV_S_LAYOUT_KEY, NOT_FOUND TYPE REF TO CX_SALV_NOT_FOUND, FUNCTIONS TYPE REF TO CL_SALV_FUNCTIONS_LIST. SELECT * FROM MARA INTO TABLE @DATA(GT_ITAB) UP TO 50 ROWS. TRY. CL_SALV_TABLE=>FACTORY( IMPORTING R_SALV_TABLE = GO_ALV CHANGING T_TABLE = GT_ITAB ). COLUMNS = GO_ALV->GET_COLUMNS( ). LAYOUT_SETTINGS = GO_ALV->GET_LAYOUT( ). LAYOUT_KEY-REPORT = SY-REPID. LAYOUT_SETTINGS->SET_KEY( LAYOUT_KEY ). LAYOUT_SETTINGS->SET_SAVE_RESTRICTION( IF_SALV_C_LAYOUT=>RESTRICT_NONE ). COLUMNS->SET_OPTIMIZE( ). FUNCTIONS = GO_ALV->GET_FUNCTIONS( ). FUNCTIONS->SET_ALL( ). TRY. COLUMN = COLUMNS->GET_COLUMN( 'MANDT' ). COLUMN->SET_VISIBLE( IF_SALV_C_BOOL_SAP=>FALSE ). CATCH CX_SALV_NOT_FOUND INTO NOT_FOUND. " error handling ENDTRY. FUNCTIONS = GO_ALV->GET_FUNCTIONS( ). FUNCTIONS->SET_ALL( ). CATCH CX_SALV_MSG INTO GO_MESSAGE. " error handling ENDTRY. GO_ALV->DISPLAY( ).