实战SAP:【总结】ALV TREE
2009-08-07 17:45
204 查看
SCREEN中定义控制区域:ALV1
DATA: wa_container TYPE scrfname VALUE 'ALV1',
alv_grid TYPE REF TO cl_gui_alv_tree_simple,
wa_custom_container TYPE REF TO cl_gui_custom_container. "创建对象
DATA ls_list_comm TYPE slis_t_listheader. "创建表头
DATA ls_alist_comm TYPE slis_listheader.
ls_alist_comm-typ = 'H'.
ls_alist_comm-info = 'ALV TREE演示'.
APPEND ls_alist_comm TO ls_list_comm.
代码如下:
DATA: wa_container TYPE scrfname VALUE 'ALV1',
alv_grid TYPE REF TO cl_gui_alv_tree_simple,
wa_custom_container TYPE REF TO cl_gui_custom_container. "创建对象
DATA ls_list_comm TYPE slis_t_listheader. "创建表头
DATA ls_alist_comm TYPE slis_listheader.
ls_alist_comm-typ = 'H'.
ls_alist_comm-info = 'ALV TREE演示'.
APPEND ls_alist_comm TO ls_list_comm.
代码如下:
*&---------------------------------------------------------------------* *& Report ZALV_TREE_WYZ *& *&---------------------------------------------------------------------* *& *& *&---------------------------------------------------------------------* REPORT zalv_tree_wyz. DATA: ok_code TYPE sy-ucomm, save_ok LIKE ok_code. *ALV字段内表、分类字段内表 DATA: gw_fieldcat TYPE lvc_t_fcat, gb_sortfield TYPE lvc_t_sort. DATA wa_spfli TYPE TABLE OF spfli. *赋值 SELECT * INTO TABLE wa_spfli FROM spfli. DATA: wa_container TYPE scrfname VALUE 'ALV1', alv_grid TYPE REF TO cl_gui_alv_tree_simple, "ALV TREE定义 wa_custom_container TYPE REF TO cl_gui_custom_container. CALL SCREEN 100. *&---------------------------------------------------------------------* *& Module STATUS_0100 OUTPUT *&---------------------------------------------------------------------* * text *----------------------------------------------------------------------* MODULE status_0100 OUTPUT. SET PF-STATUS 'STATU100'. * SET TITLEBAR 'xxx'. IF wa_custom_container IS INITIAL. *ALV表头设定 DATA ls_list_comm TYPE slis_t_listheader. DATA ls_alist_comm TYPE slis_listheader. ls_alist_comm-typ = 'H'. ls_alist_comm-info = 'ALV TREE演示'. APPEND ls_alist_comm TO ls_list_comm. *字段清单、字段长度、汇总字段方法调用 PERFORM bldcat. *创建TREE分类字段清单以及先后顺序 PERFORM bldsortfld. *显示ALV TREE对象 CREATE OBJECT wa_custom_container EXPORTING container_name = wa_container. CREATE OBJECT alv_grid EXPORTING i_parent = wa_custom_container. *展开第一层 CALL METHOD alv_grid->set_table_for_first_display EXPORTING it_list_commentary = ls_list_comm i_structure_name = 'SPFLI' CHANGING it_sort = gb_sortfield it_fieldcatalog = gw_fieldcat it_outtab = wa_spfli. CALL METHOD alv_grid->expand_tree EXPORTING i_level = 1. ENDIF. ENDMODULE. " STATUS_0100 OUTPUT *&---------------------------------------------------------------------* *& Module USER_COMMAND_0100 INPUT *&---------------------------------------------------------------------* * text *----------------------------------------------------------------------* MODULE user_command_0100 INPUT. save_ok = ok_code. CLEAR ok_code. CASE save_ok. WHEN 'EXIT'. LEAVE PROGRAM. ENDCASE. ENDMODULE. " USER_COMMAND_0100 INPUT *&---------------------------------------------------------------------* *& Form bldcat *&---------------------------------------------------------------------* * text *----------------------------------------------------------------------* * --> p1 text * <-- p2 text *----------------------------------------------------------------------* FORM bldcat . *将SPFLI所有结构字段到内表 CALL FUNCTION 'LVC_FIELDCATALOG_MERGE' EXPORTING i_structure_name = 'SPFLI' CHANGING ct_fieldcat = gw_fieldcat. *单条记录 DATA ls_fldcat TYPE lvc_s_fcat. *记录处理 LOOP AT gw_fieldcat INTO ls_fldcat. CASE ls_fldcat-fieldname. *定义四段长度 WHEN 'COUNTRYER' OR 'CITYFROM' OR 'COUNTRYTO' OR 'CITYTO' OR 'DISTANCE'. ls_fldcat-outputlen = 15. WHEN OTHERS. ls_fldcat-no_out = 'X'. ENDCASE. *字段汇总 IF ls_fldcat-fieldname = 'DISTANCE'. ls_fldcat-do_sum = 'X'. ENDIF. MODIFY gw_fieldcat FROM ls_fldcat. ENDLOOP. ENDFORM. " bldcat *&---------------------------------------------------------------------* *& Form bldsortfld *&---------------------------------------------------------------------* * text 分类 输出先后顺序 *----------------------------------------------------------------------* * --> p1 text * <-- p2 text *----------------------------------------------------------------------* FORM bldsortfld . DATA ls_sortfld TYPE lvc_s_sort. ls_sortfld-spos = 1. ls_sortfld-fieldname = 'COUNTRYFR'. ls_sortfld-up = 'X'. ls_sortfld-subtot = 'X'. APPEND ls_sortfld TO gb_sortfield. ls_sortfld-spos = 2. ls_sortfld-fieldname = 'CARRID'. ls_sortfld-up = 'X'. ls_sortfld-subtot = 'X'. APPEND ls_sortfld TO gb_sortfield. ls_sortfld-spos = 3. ls_sortfld-fieldname = 'CONNID'. ls_sortfld-up = 'X'. ls_sortfld-subtot = 'X'. APPEND ls_sortfld TO gb_sortfield. ENDFORM. " bldsortfld
相关文章推荐
- 实战SAP【总结】:显示图片
- 实战SAP:【总结】
- 实战SAP:【总结】文本编辑器
- 实战SAP:【总结2】
- 实战SAP:【总结】系统生产数据表维护程序
- 某大牛的入侵实战经验总结
- Hadoop-Streaming实战经验及问题解决方法总结
- Android开发实战总结--入门篇
- 《软件测试实战:微软技术专家经验总结》前言
- Linux下Google Test测试环境安装和使用,实战总结
- Android 开发实战经验总结
- SAP增强总结-第四代增强(BTE概念及原理)
- C/C++实战常见错误总结及注意事项【关注与Python的不同点】
- Flaskweb实战开发的总结(前6章)
- UCOSII之项目实战总结
- IT电商热潮的挑战之《Gogo商城》Java项目实战总结大会
- 实战屏幕SCREEN总结
- SAP 使用较频繁的日期时间处理函数总结
- SEO优化实战经验总结:关键词分布
- SAP 中的读取及上传文件方法总结