ALV顯示內表數據的套路

1.進行ALV全局變量聲明

DATA : l_pos TYPE i.
DATA : it_fieldcat_lvc TYPE lvc_t_fcat,
       wa_fieldcat_lvc TYPE lvc_s_fcat,
       wa_layout_lvc   TYPE lvc_s_layo.

2.設置字段屬性,布局屬性,顯示數據

FORM frm_display_data .
  PERFORM frm_alv_setfield.
  PERFORM frm_alv_setlayout.
  PERFORM frm_alv_display.
ENDFORM.  

首先設置字段屬性:

FORM frm_alv_setfield .
  l_pos = l_pos + 1.
  wa_fieldcat_lvc-col_pos = l_pos.
  wa_fieldcat_lvc-fieldname = 'MATKL'.
  wa_fieldcat_lvc-scrtext_l = '物理組'.
  wa_fieldcat_lvc-scrtext_m = '物理組'.
  wa_fieldcat_lvc-scrtext_s = '物理組'.
  wa_fieldcat_lvc-just = 'L'.
  APPEND wa_fieldcat_lvc TO it_fieldcat_lvc.
  CLEAR wa_fieldcat_lvc.

  l_pos = l_pos + 1.
  wa_fieldcat_lvc-col_pos = l_pos.
  wa_fieldcat_lvc-fieldname = 'WGBEZ'.
  wa_fieldcat_lvc-scrtext_l = '物料組描述'.
  wa_fieldcat_lvc-scrtext_m = '物料組描述'.
  wa_fieldcat_lvc-scrtext_s = '物料組描述'.
  wa_fieldcat_lvc-just = 'L'.
  APPEND wa_fieldcat_lvc TO it_fieldcat_lvc.
  CLEAR wa_fieldcat_lvc.
  ...
  ...
  ...
ENDFORM.

其次設置布局屬性:

FORM frm_alv_setlayout .
  wa_layout_lvc-zebra = 'X'.
  wa_layout_lvc-sel_mode = 'A'.
  wa_layout_lvc-cwidth_opt = 'X'.
ENDFORM. 

最后就是顯示數據:

FORM frm_alv_display .
  CALL FUNCTION 'REUSE_ALV_GRID_DISPLAY_LVC'
    EXPORTING
      i_callback_program       = sy-repid          " 當前程序
      i_callback_pf_status_set = 'FRM_SET_PF_STATUS_10016'
      i_callback_user_command  = 'FRM_USER_COMMAND_10016'
      is_layout_lvc            = wa_layout_lvc      " 屬性內表
      it_fieldcat_lvc          = it_fieldcat_lvc[]  " 列明內表
      i_save                   = 'X'                " 是否保存布局
    TABLES
      t_outtab                 = gt_mara             " 數據內表
    EXCEPTIONS
      program_error            = 1
      OTHERS                   = 2.
ENDFORM.                    " FRM_ALV_DISPLAY

套路就是這樣?。。?/p>

最后編輯于
?著作權歸作者所有,轉載或內容合作請聯系作者
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發布,文章內容僅代表作者本人觀點,簡書系信息發布平臺,僅提供信息存儲服務。