Displaying ALV with using Field Symbols
*&---------------------------------------------------------------------* *& Report ZDEMO11 *& *&---------------------------------------------------------------------* *& *& ALV Display Using Field Symbols *&---------------------------------------------------------------------* REPORT zdemo11. INITIALIZATION. TYPES: BEGIN OF gty_emp, id TYPE char50, name TYPE char50, ph TYPE char50, END OF gty_emp. DATA: gt_emp TYPE TABLE OF gty_emp, gv_ref_data TYPE REF TO data. START-OF-SELECTION. PERFORM populate_record. PERFORM display_alv. *&---------------------------------------------------------------------* *& Form POPULATE_RECORD *&---------------------------------------------------------------------* * POPULATING THE RECORDS *----------------------------------------------------------------------* FORM populate_record . FIELD-SYMBOLS: <fs_emp> TYPE STANDARD TABLE, <fs_wa_emp> LIKE LINE OF gt_emp. ASSIGN gt_emp[] TO <fs_emp>. CREATE DATA gv_ref_data LIKE LINE OF gt_emp. ASSIGN gv_ref_data->* TO <fs_wa_emp>. <fs_wa_emp>-id = '1'. <fs_wa_emp>-name = 'ROY MILLER'. <fs_wa_emp>-ph = '18363864'. APPEND <fs_wa_emp> TO <fs_emp>. ENDFORM. " POPULATE_RECORD *&---------------------------------------------------------------------* *& Form DISPLAY_ALV *&---------------------------------------------------------------------* * DISPLAYING ALV *----------------------------------------------------------------------* FORM display_alv . DATA: lt_fcat TYPE slis_t_fieldcat_alv, ls_fcat TYPE slis_fieldcat_alv, ls_layout TYPE slis_layout_alv, lv_count TYPE i VALUE 1 . CLEAR: ls_fcat, ls_layout. FIELD-SYMBOLS: <fs_wa_fcat> TYPE slis_fieldcat_alv, <fs_fcat> TYPE STANDARD TABLE. CREATE DATA gv_ref_data LIKE LINE OF lt_fcat. ASSIGN gv_ref_data->* TO <fs_wa_fcat>. ASSIGN lt_fcat[] TO <fs_fcat>. <fs_wa_fcat>-fieldname = 'ID'. <fs_wa_fcat>-seltext_m = 'Emp ID'. <fs_wa_fcat>-col_pos = lv_count. APPEND <fs_wa_fcat> TO <fs_fcat>. lv_count = lv_count + 1. CLEAR: <fs_wa_fcat>. <fs_wa_fcat>-fieldname = 'NAME'. <fs_wa_fcat>-seltext_m = 'Emp Name'. <fs_wa_fcat>-col_pos = lv_count. APPEND <fs_wa_fcat> TO <fs_fcat>. lv_count = lv_count + 1. CLEAR: <fs_wa_fcat>. <fs_wa_fcat>-fieldname = 'PH'. <fs_wa_fcat>-seltext_m = 'Emp Ph'. <fs_wa_fcat>-col_pos = lv_count. APPEND <fs_wa_fcat> TO <fs_fcat>. lv_count = lv_count + 1. CLEAR: <fs_wa_fcat>. ls_layout-colwidth_optimize = 'X'. CALL FUNCTION 'REUSE_ALV_GRID_DISPLAY' EXPORTING i_callback_program = sy-repid is_layout = ls_layout it_fieldcat = lt_fcat TABLES t_outtab = gt_emp EXCEPTIONS program_error = 1 OTHERS = 2. IF sy-subrc <> 0. * Implement suitable error handling here ENDIF. ENDFORM. " DISPLAY_ALV
No comments:
Post a Comment