*----------------------------------------------------------------------*
***INCLUDE LZCHN_FI_DISPLAY_PRINCIPALF01 .
*----------------------------------------------------------------------*
*&---------------------------------------------------------------------*
*& Form DISPLAY_IN_ALV_GRID
*&---------------------------------------------------------------------*
* text
*----------------------------------------------------------------------*
* -->P_I_OUTPUT text
*----------------------------------------------------------------------*
FORM display_in_alv_grid CHANGING p_catelogs TYPE lvc_t_fcat.
DATA: lwa_catelog TYPE lvc_s_fcat.
DATA: lv_pfstatus TYPE sypfkey.
DATA: struc_key TYPE salv_s_layout_key.
* create ALV CLASS: cl_salv_table
TRY.
CALL METHOD cl_salv_table=>factory
EXPORTING
list_display = if_salv_c_bool_sap=>false
* R_CONTAINER =
* CONTAINER_NAME =
IMPORTING
r_salv_table = ref_salv
CHANGING
t_table = <ft_output>.
CALL METHOD ref_salv->get_columns
RECEIVING
value = ref_columns.
* Comment By RenJi on 2014.03.04
* Should be duplicate code
** Function buttons.
* CALL METHOD ref_salv->get_columns
* RECEIVING
* value = ref_columns.
* End Comment
* Hide client column
ref_column ?= ref_columns->get_column( 'MANDT' ).
CALL METHOD ref_column->set_technical
EXPORTING
value = if_salv_c_bool_sap=>true.
* change column attribute if specified
LOOP AT p_catelogs INTO lwa_catelog.
CLEAR ref_column.
ref_column ?= ref_columns->get_column( columnname = lwa_catelog-fieldname ).
CHECK NOT ref_column IS INITIAL.
* No display set
IF lwa_catelog-no_out EQ 'X'.
CALL METHOD ref_column->set_technical
EXPORTING
value = if_salv_c_bool_sap=>true.
ENDIF.
* Long text set
IF NOT lwa_catelog-scrtext_l IS INITIAL.
CALL METHOD ref_column->set_long_text
EXPORTING
value = lwa_catelog-scrtext_l.
ENDIF.
* Medium text set
IF NOT lwa_catelog-scrtext_m IS INITIAL.
CALL METHOD ref_column->set_medium_text
EXPORTING
value = lwa_catelog-scrtext_m.
ENDIF.
* Short text set
IF NOT lwa_catelog-scrtext_s IS INITIAL.
CALL METHOD ref_column->set_short_text
EXPORTING
value = lwa_catelog-scrtext_s.
ENDIF.
* propose minus
IF NOT lwa_catelog-edit_mask IS INITIAL.
CALL METHOD ref_column->set_edit_mask
EXPORTING
value = '==ZSIGN'.
ENDIF.
ENDLOOP.
CALL METHOD ref_salv->get_selections
RECEIVING
value = ref_selections.
* MODE: SINGLE, MULTIPLE, R
热门文档