REUSE_ALV_GRID_DISPLAY_LVC 用法
来源:互联网 发布:淘宝店被监控了怎么办 编辑:程序博客网 时间:2024/05/07 06:38
REPORT XXXX.
TYPE-POOLS: slis.
INCLUDE <icon>.
DATA: u_command TYPE slis_formname VALUE 'USER_COMMAND'.
DATA: ok_code LIKE sy-ucomm.
*ALV data declarations
DATA: fieldcatalog TYPE slis_t_fieldcat_alv WITH HEADER LINE.
DATA: it_fieldcat TYPE lvc_t_fcat, "slis_t_fieldcat_alv WITH HEADER LINE,
wa_fieldcat TYPE lvc_s_fcat,
gd_tab_group TYPE slis_t_sp_group_alv,
gd_layout TYPE lvc_s_layo, "slis_layout_alv,
gd_repid LIKE sy-repid.
* itab definition
TYPES: BEGIN OF t_display.
INCLUDE STRUCTURE ZTFICO_PPS.
TYPES: SEL,
ZNUM TYPE ZNUM,
field_style TYPE LVC_T_STYL, "FOR DISABLE
END OF t_display.
DATA: it_display TYPE STANDARD TABLE OF t_display WITH HEADER LINE,
wa_display TYPE t_display.
* 屏幕设计略。
* 主程序。
Start-OF-SELCTION.
SORT it_display by ZNUM EBELN EBELP. " it_display 为结果输出内表
PERFORM set_specific_field_attributes. " 特性设置
PERFORM build_fieldcatalog CHANGING it_fieldcat. " 字段列举
PERFORM frm_alv_output_data. " ALV输出
* 子程序————————————————————————————————
*&根据条件设置字段是否可编辑
form set_specific_field_attributes .
DATA ls_stylerow TYPE lvc_s_styl .
DATA lt_styletab TYPE lvc_t_styl .
LOOP AT it_display .
IF it_display-ZFLAG_ZF NE ''.
ls_stylerow-fieldname = 'ZFLAG_ZF' .
ls_stylerow-style = cl_gui_alv_grid=>mc_style_disabled.
"set field to disabled
APPEND ls_stylerow TO it_display-field_style.
*可以按上面的代码添加多个字段的是否可修改
MODIFY it_display .
ENDIF.
ENDLOOP.
endform.
* 字段列举
FORM build_fieldcatalog CHANGING it_fieldcat TYPE lvc_t_fcat.
PERFORM frm_fieldcat_init TABLES it_fieldcat
USING 'ZNUM' '序号' '0' '6' 'X' '' '' '' 'X'.
PERFORM frm_fieldcat_init TABLES it_fieldcat
USING 'ZNAME' '供应商名称' '1' '30' 'X' '' '' '' 'X'.
PERFORM frm_fieldcat_init TABLES it_fieldcat
USING 'EBELN' '采购订单号' '2' '10' 'X' '' '' '' 'X'.
PERFORM frm_fieldcat_init TABLES it_fieldcat
USING 'EBELP' '行项目' '3' '5' 'X' '' '' '' 'X'.
*……
PERFORM frm_fieldcat_init TABLES it_fieldcat
USING 'ZFLAG_ZF' '支付标识' '19' '1' '' '' 'X' 'X' ''.
ENDFORM. "build_fieldcatalog
* 字段属性设置
FORM frm_fieldcat_init TABLES t_fieldcat TYPE lvc_t_fcat
USING fieldname TYPE C " 字段名
scrtext_m TYPE C " 标题
col_pos TYPE I " 所在列
outputlen TYPE I " 输出长度
emphasize TYPE C " 高亮显示
key