FPM八:FPM TREE
2024-10-20 04:27:12
先上效果图:
1,新建类:ZCL_FPM_TREE,并添加接口:IF_FPM_GUIBB,IF_FPM_GUIBB_TREE。激活所有方法
2.定义tree结构,在class的public section里添加:
types:
"add by ly 20190919 for data structure
BEGIN OF ty_tree.
INCLUDE TYPE fpmgb_s_tree_master_column.
TYPES:
land1 TYPE land1,
landx TYPE landx,
bland TYPE regio,
bezei TYPE bezei,
END OF ty_tree . data GT_TREE type TABLE OF TY_TREE .
data GW_TREE TYPE TY_TREE .
3.定义TREE字段目录:在方法GET_DEFINITION中:
METHOD if_fpm_guibb_tree~get_definition.
DATA:ls_field TYPE fpmgb_s_treefield_descr.
eo_field_catalog ?= cl_abap_tabledescr=>describe_by_data( gt_tree ). "tree
ls_field-name = 'PARENT_KEY'.
ls_field-column_type = if_fpm_guibb_constants=>gc_guibb_tree_columns-parent_key.
APPEND ls_field TO et_field_description. ls_field-name = 'ROW_KEY'.
ls_field-column_type = if_fpm_guibb_constants=>gc_guibb_tree_columns-row_key.
APPEND ls_field TO et_field_description. ls_field-name = 'EXPANDED'.
ls_field-column_type = if_fpm_guibb_constants=>gc_guibb_tree_columns-expanded.
APPEND ls_field TO et_field_description. ls_field-name = 'IS_LEAF'.
ls_field-column_type = if_fpm_guibb_constants=>gc_guibb_tree_columns-is_leaf.
APPEND ls_field TO et_field_description. ls_field-name = 'TEXT'.
ls_field-column_type = if_fpm_guibb_constants=>gc_guibb_tree_columns-text.
APPEND ls_field TO et_field_description. ls_field-name = 'CHILDREN_LOADED'.
ls_field-column_type = if_fpm_guibb_constants=>gc_guibb_tree_columns-child_load.
APPEND ls_field TO et_field_description. ls_field-name = 'IMAGE_SRC'.
ls_field-column_type = if_fpm_guibb_constants=>gc_guibb_tree_columns-img_src.
APPEND ls_field TO et_field_description. ENDMETHOD.
4.在GET_DATA中添加初始化tree结构的内表代码:
METHOD if_fpm_guibb_tree~get_data.
DATA:gt_t005t TYPE TABLE OF t005t,
gw_t005t LIKE LINE OF gt_t005t,
gt_t005u TYPE TABLE OF t005u,
gw_t005u LIKE LINE OF gt_t005u.
IF io_event->mv_event_id = 'FPM_START'.
SELECT * INTO TABLE gt_t005t FROM t005t WHERE spras = 'E'.
SELECT * INTO TABLE gt_t005u FROM t005u WHERE spras = 'E'. LOOP AT gt_t005t INTO gw_t005t.
MOVE-CORRESPONDING gw_t005t TO gw_tree.
gw_tree-row_key = gw_t005t-land1.
gw_tree-is_leaf = abap_false.
gw_tree-expanded = abap_false.
gw_tree-text = gw_t005t-landx.
APPEND gw_tree TO gt_tree. ENDLOOP. LOOP AT gt_t005u INTO gw_t005u.
CLEAR:gw_tree.
MOVE-CORRESPONDING gw_t005u TO gw_tree.
gw_tree-row_key = gw_t005u-bland.
gw_tree-is_leaf = abap_true.
gw_tree-parent_key = gw_t005u-land1.
gw_tree-text = gw_t005u-bezei.
APPEND gw_tree TO gt_tree.
ENDLOOP. ct_data = gt_tree.
ev_data_changed = 'X'.
ENDIF.
ENDMETHOD.
5.打开FPM工作台,点击新建空的FPM程序:
6.输入程序名称,选择VOP类型,选择本地包,保存。
7.保存之后会出现两个链接的页面,选择编辑配置:
8.输入配置描述,进入配置主界面,在UIBB中选择添加TREE类型UIBB。
9.输入一个配置编号,回车,然后选择当前行,点击配置UIBB。
10.在新开的配置页面中,输入描述,保存。这时候会进入配置UIBB页面,提示输入FEEDER CLASS,输入上面上面创建的类。
11.在配置列里添加需要展示的字段。保存,测试即可。
最新文章
- nyoj 218 Dinner(贪心专题)
- 安装mysql后ERROR 2002 (HY000): Can’t connect to local MySQL server through socket ‘/var mysql 启动不了
- [cross compile]cygwin和mingw
- [译] Angular 2 VS. React: 血色将至
- 《Linux内核设计的艺术》学习笔记(五)INT 0x10中断
- C语言基础:指针类型与指针和数组、字符串的关系
- 超轻量级spring模板方案
- opals 开发记录
- BaseActivity的定义——作为所有Activity类的父类
- Linux学习笔记——举例说,makefile 多个文件
- 为RadComboBox添加SelectionChanging事件
- Python并发编程之线程中的信息隔离(五)
- 前端框架Angular、react、vue在github上的数据统计-2018-05
- JavaScript之Math
- Markdown语法参考
- 使用Fiddler远程抓包(转载)
- matlab 中fft的用法
- JVM源码---教你傻瓜式编译openjdk7(JAVA虚拟机爱好者必看)
- CF1010D Mars rover [位运算,DP]
- PHP求并集,交集,差集
热门文章
- 201871010133-赵永军《面向对象程序设计(java)》第十一周学习总结
- HDU5050:Divided Land(大数的进制转化与GCD)
- hbase配置hdfs的HA之后需要修改的路径
- Push to origin/master was rejected
- linux下python解释器的sys.path路径如何添加
- xBIM之二:构建墙和门窗
- 8.5 NOIP模拟测试13 矩阵游戏+跳房子+优美序列
- 慕课网springboot博客系统开发(一)----spring initializr的使用 gradle构建项目
- Visual Studio 调试系列12 远程调试部署在远程计算机IIS上的ASP.NET应用程序
- BCompare注册文件+密钥被撤销解决方案