Hi all,
I'm at internship and have to learn ALV.
The below code won't display anything. Am i doing something worng?
REPORT ZRE_PRM2_LIST_DISPLAY. *-- Global data definitions for ALV *--- ALV Grid instance reference DATA gr_alvgrid TYPE REF TO cl_gui_alv_grid . *--- Name of the custom control added on the screen DATA gc_custom_control_name TYPE scrfname VALUE 'CC_ALV' . *-- Custom container instance reference DATA gr_ccontainer TYPE REF TO cl_gui_custom_container . *-- Field catalog table DATA gt_fieldcat TYPE lvc_t_fcat . *-- Layout Structure DATA gs_layout TYPE lvc_s_layo . **-- Internal table DATA gt_list TYPE zprm2_material occurs 0 with header line . *----------------------------------------------------------------------* * START OF SELECTION *----------------------------------------------------------------------* START-OF-SELECTION . PERFORM get_data . PERFORM display_alv . *&---------------------------------------------------------------------* *& Form display ALV *&---------------------------------------------------------------------* * Display selected PRM2 data. *----------------------------------------------------------------------* FORM display_alv . IF gr_alvgrid IS INITIAL . *---- Creating custom container instance CREATE OBJECT GR_CCONTAINER EXPORTING CONTAINER_NAME = gc_custom_control_name EXCEPTIONS CNTL_ERROR = 1 CNTL_SYSTEM_ERROR = 2 CREATE_ERROR = 3 LIFETIME_ERROR = 4 LIFETIME_DYNPRO_DYNPRO_LINK = 5 others = 6 . IF SY-SUBRC <> 0. MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4. ENDIF. CREATE OBJECT GR_ALVGRID EXPORTING I_PARENT = gr_ccontainer EXCEPTIONS ERROR_CNTL_CREATE = 1 ERROR_CNTL_INIT = 2 ERROR_CNTL_LINK = 3 ERROR_DP_CREATE = 4 others = 5 . IF SY-SUBRC <> 0. MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4. ENDIF. *----Preparing field catalog PERFORM prepare_field_catalog CHANGING gt_fieldcat . *----Preparing layout structure PERFORM prepare_layout CHANGING gs_layout . CALL METHOD gr_alvgrid->SET_TABLE_FOR_FIRST_DISPLAY EXPORTING * I_BUFFER_ACTIVE = * I_BYPASSING_BUFFER = * I_CONSISTENCY_CHECK = * I_STRUCTURE_NAME = 'zprm2_material' * IS_VARIANT = * I_SAVE = * I_DEFAULT = 'X' IS_LAYOUT = gs_layout * IS_PRINT = * IT_SPECIAL_GROUPS = * IT_TOOLBAR_EXCLUDING = * IT_HYPERLINK = * IT_ALV_GRAPHICS = * IT_EXCEPT_QINFO = * IR_SALV_ADAPTER = CHANGING IT_OUTTAB = gt_list[] IT_FIELDCATALOG = gt_fieldcat * IT_SORT = * IT_FILTER = EXCEPTIONS INVALID_PARAMETER_COMBINATION = 1 PROGRAM_ERROR = 2 TOO_MANY_LINES = 3 others = 4 . IF SY-SUBRC <> 0. MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4. ENDIF. ENDIF . ENDFORM . *&---------------------------------------------------------------------* *& Form get_data *&---------------------------------------------------------------------* * GET data from prm2 tables. *----------------------------------------------------------------------* FORM get_data . select * from zprm2_material into gt_list . APPEND gt_list . ENDSELECT. ENDFORM . FORM prepare_field_catalog CHANGING pt_fieldcat TYPE lvc_t_fcat . DATA ls_fcat type lvc_s_fcat . CALL FUNCTION 'LVC_FIELDCATALOG_MERGE' EXPORTING I_STRUCTURE_NAME = 'zprm2_material' CHANGING CT_FIELDCAT = pt_fieldcat[] EXCEPTIONS INCONSISTENT_INTERFACE = 1 PROGRAM_ERROR = 2 OTHERS = 3 . IF SY-SUBRC <> 0. MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4. ENDIF. ENDFORM . FORM prepare_layout CHANGING ps_layout TYPE lvc_s_layo . ps_layout-zebra = 'X' . ps_layout-grid_title = 'PRM2' . ps_layout-smalltitle = 'X'. ENDFORM .