TABLES : zfms_cihr.
TYPE-POOLS: slis.
DATA: it_fcat TYPE slis_t_fieldcat_alv, " ALV Grid Support RRCAT
wa_fcat TYPE LINE OF slis_t_fieldcat_alv.
DATA: t_slis_layout_alv TYPE slis_layout_alv.
DATA : seqnr TYPE i. " VALUE 0.
DATA : prg_name TYPE sy-repid.
t_slis_layout_alv-colwidth_optimize = 'X'.
PERFORM fill_catalog USING seqnr 'CINUM' 'Coal Invoice Number'.
PERFORM fill_catalog USING seqnr 'CINYR' 'Coal Invoice Year'.
PERFORM fill_catalog USING seqnr 'CIDAT' 'Coal Invoice Date'.
PERFORM fill_catalog USING seqnr 'DOCNO' 'Accounting Document Number'.
PERFORM fill_catalog USING seqnr 'DOCYR' 'Document Year'.
PERFORM fill_catalog USING seqnr 'LIFNR' 'Account Number of Vendor or Creditor '.
PERFORM fill_catalog USING seqnr 'WERKS' 'PLANT'.
PERFORM fill_catalog USING seqnr 'MIDSP' 'Mine Dispatch Point'.
PERFORM fill_catalog USING seqnr 'INCAT' 'Invoice Category'.
PERFORM fill_catalog USING seqnr 'DDTYP' 'Dispatch Document Type'.
PERFORM fill_catalog USING seqnr 'VBELN' 'Sales and Distribution Document Number'.
PERFORM fill_catalog USING seqnr 'INQTY' 'Invoice Quantity'.
PERFORM fill_catalog USING seqnr 'REFQT' 'Total Reference Quantity'.
* PERFORM user_command USING ucomm selfield.
prg_name = sy-repid.
CALL FUNCTION 'REUSE_ALV_GRID_DISPLAY'
EXPORTING
* I_INTERFACE_CHECK = ' '
* I_BYPASSING_BUFFER = ' '
* I_BUFFER_ACTIVE = ' '
i_callback_program = prg_name
* i_callback_pf_status_set = 'SET_PF_STATUS'
* i_callback_user_command = 'USER_COMMAND'
* I_CALLBACK_TOP_OF_PAGE = ' '
* I_CALLBACK_HTML_TOP_OF_PAGE = ' '
* I_CALLBACK_HTML_END_OF_LIST = ' '
* I_STRUCTURE_NAME =
* I_BACKGROUND_ID = ' '
i_grid_title = 'COAL INVOICE DETAILS'
* I_GRID_SETTINGS =
is_layout = t_slis_layout_alv
it_fieldcat = it_fcat
* IT_EXCLUDING =
* IT_SPECIAL_GROUPS =
* IT_SORT =
* IT_FILTER =
* IS_SEL_HIDE =
* I_DEFAULT = 'X'
i_save = 'X'
* IS_VARIANT =
* IT_EVENTS =
* IT_EVENT_EXIT =
* IS_PRINT =
* IS_REPREP_ID =
* I_SCREEN_START_COLUMN = 0
* I_SCREEN_START_LINE = 0
* I_SCREEN_END_COLUMN = 0
* I_SCREEN_END_LINE = 0
* I_HTML_HEIGHT_TOP = 0
* I_HTML_HEIGHT_END = 0
* IT_ALV_GRAPHICS =
* IT_HYPERLINK =
* IT_ADD_FIELDCAT =
* IT_EXCEPT_QINFO =
* IR_SALV_FULLSCREEN_ADAPTER =
* IMPORTING
* E_EXIT_CAUSED_BY_CALLER =
* ES_EXIT_CAUSED_BY_USER =
TABLES
t_outtab = it
EXCEPTIONS
program_error = 1
OTHERS = 2
.
IF sy-subrc <> 0.
* Implement suitable error handling here
ENDIF.
ENDFORM. " SHOW_DATA
PERFORM fill_catalog USING seqnr 'CINUM' 'Coal Invoice Number'.
PERFORM fill_catalog USING seqnr 'CINYR' 'Coal Invoice Year'.
PERFORM fill_catalog USING seqnr 'CIDAT' 'Coal Invoice Date'.
PERFORM fill_catalog USING seqnr 'DOCNO' 'Accounting Document Number'.
PERFORM fill_catalog USING seqnr 'DOCYR' 'Document Year'.
PERFORM fill_catalog USING seqnr 'LIFNR' 'Account Number of Vendor or Creditor '.
PERFORM fill_catalog USING seqnr 'WERKS' 'PLANT'.
PERFORM fill_catalog USING seqnr 'MIDSP' 'Mine Dispatch Point'.
PERFORM fill_catalog USING seqnr 'INCAT' 'Invoice Category'.
PERFORM fill_catalog USING seqnr 'DDTYP' 'Dispatch Document Type'.
PERFORM fill_catalog USING seqnr 'VBELN' 'Sales and Distribution Document Number'.
PERFORM fill_catalog USING seqnr 'INQTY' 'Invoice Quantity'.
PERFORM fill_catalog USING seqnr 'REFQT' 'Total Reference Quantity'.
* PERFORM user_command USING ucomm selfield.
prg_name = sy-repid.
CALL FUNCTION 'REUSE_ALV_GRID_DISPLAY'
EXPORTING
* I_INTERFACE_CHECK = ' '
* I_BYPASSING_BUFFER = ' '
* I_BUFFER_ACTIVE = ' '
i_callback_program = prg_name
* i_callback_pf_status_set = 'SET_PF_STATUS'
* i_callback_user_command = 'USER_COMMAND'
* I_CALLBACK_TOP_OF_PAGE = ' '
* I_CALLBACK_HTML_TOP_OF_PAGE = ' '
* I_CALLBACK_HTML_END_OF_LIST = ' '
* I_STRUCTURE_NAME =
* I_BACKGROUND_ID = ' '
i_grid_title = 'COAL INVOICE DETAILS'
* I_GRID_SETTINGS =
is_layout = t_slis_layout_alv
it_fieldcat = it_fcat
* IT_EXCLUDING =
* IT_SPECIAL_GROUPS =
* IT_SORT =
* IT_FILTER =
* IS_SEL_HIDE =
* I_DEFAULT = 'X'
i_save = 'X'
* IS_VARIANT =
* IT_EVENTS =
* IT_EVENT_EXIT =
* IS_PRINT =
* IS_REPREP_ID =
* I_SCREEN_START_COLUMN = 0
* I_SCREEN_START_LINE = 0
* I_SCREEN_END_COLUMN = 0
* I_SCREEN_END_LINE = 0
* I_HTML_HEIGHT_TOP = 0
* I_HTML_HEIGHT_END = 0
* IT_ALV_GRAPHICS =
* IT_HYPERLINK =
* IT_ADD_FIELDCAT =
* IT_EXCEPT_QINFO =
* IR_SALV_FULLSCREEN_ADAPTER =
* IMPORTING
* E_EXIT_CAUSED_BY_CALLER =
* ES_EXIT_CAUSED_BY_USER =
TABLES
t_outtab = it
EXCEPTIONS
program_error = 1
OTHERS = 2
.
IF sy-subrc <> 0.
* Implement suitable error handling here
ENDIF.
ENDFORM. " SHOW_DATA
FORM FILL_CATALOG USING P_SEQNR
VALUE(P_0074)
VALUE(P_0075).
CLEAR wa_fcat.
wa_fcat-col_pos = p_seqnr.
wa_fcat-fieldname = p_0074.
wa_fcat-seltext_m = p_0075.
ADD 1 TO seqnr.
* IF wa_fcat-fieldname+0(1) = 'O'.
* wa_fcat-emphasize = 'X'.
* ENDIF.
* ADD 1 TO seqnr.
APPEND wa_fcat TO it_fcat.
ENDFORM. " FILL_CATALOG
VALUE(P_0074)
VALUE(P_0075).
CLEAR wa_fcat.
wa_fcat-col_pos = p_seqnr.
wa_fcat-fieldname = p_0074.
wa_fcat-seltext_m = p_0075.
ADD 1 TO seqnr.
* IF wa_fcat-fieldname+0(1) = 'O'.
* wa_fcat-emphasize = 'X'.
* ENDIF.
* ADD 1 TO seqnr.
APPEND wa_fcat TO it_fcat.
ENDFORM. " FILL_CATALOG