FPM八:FPM TREE

摘要:
首先,渲染:1。新建类:ZCL_FPM_ TREE,并添加接口:IF_ FPM_ GUIBB,IF_ FPM_ GUIBB_ TREE。=cl_abap_tabledescr=˃按数据描述。“treels_field-name='PARENT_KEY'。ls_field_column_type=if_fpm_guibb_constants=˃gc_guibb_tree_columns PARENT_KEY.APPENDls_fieldTOet_field_description。ls_field name='ROW_KEY'。ls_field-column_type=if_fpm_guibb_contants=˃gc_guibb_tree_columns-grow_KEY.APPEND ls_fieldTree_column_description='EXPANDED'。ls-field-column-type=if-fpm_guibbs_constants=˃gc_guidbb_tree-columns _columns扩展.APPENDls_fieldTOet_ field_ description.ls _ field name='IS_ LEAF'。ls_ field-column _ type=if _ fpm_ guidb _ constants=˃gc_ guidb _ tree_ columns-IS_ LEAF。APPENDls _ fieldTOet_ field_description.ls=field name='EXT'。ls_field-column_ type=if=fpm_ Guidb _ constant=˃gc_guidb _ ree_ columns _ TEXT.APPENDls _ field TOet_ field _ description.ls_ field name=“HILDREND_ LOADED”。ls_ field-column=if _ fm_ guidb常量=˃gc_ guibb_ tree_ columns-child_load.APPENDls _ fieldTOet_ field_ description.ls_ field name='IMAGE_SRC'.ls_ field-column_type=if_ fpm_ guibb_常量=˃gc_guibb_tree_ columns-img_ SRC.APPENDls _ field TOet_ field _ description。ENDMETHOD。4.在GET_中,添加内部表代码以初始化DATA中的树结构:METHODIF_ fpm_ guibb_tree~GET_DATA。DATA:gt_ t005tTYPETABLEOFt005t,gw_ t005tIKELINEOFgt_ t00t,gt_ t005 uTYPETABLEOFT005u,gw_ t005uLIKELINEOFT_ t005u.IFio _ event-˃mv_ event_ id='FPM_ START'。SELECT*INTOTABLEgt_ t005tROM005tWHERESpras='E'。SELECT*INTOTABLEgt_ t005u FROMt005uWHEREspras='E'。LOOPATgt_ t005 tINTOgw _ t005t.MOVE-CORRESONDINGgw_ t005 t Ogw_ tree.gw _ tree-row_ key=gw_ t005-t-land1.gw_ tree-is_leaf=abap_ false.gw _树扩展=abap_ false.gw _树文本=gw_ t005t-landx.APPENDgw_树TOgt_tree.ENDLOOP.LOOPATgt _ t005uINTOgw_ t005u。清除:gw_ tree.MOVE-CORESPONDINGgw _ t005u-TOgw_ tree.gw _ tree-row_ key=gw_ t005 u-bland.gw _树-is_ leaf=abap_true.gw_ tree-parent_key=gw _ t005u-land1.gw_ tree text=gw_ t005u-bezei.APPENDgw _ treeTOgt_ tree.ENDLOOP.ct _ data=gt_ tree.ev _ data_ Changed='X'。结束符。ENDMETHOD。5.打开FPM工作台,单击以创建新的空FPM程序:6。输入程序名称,选择VOP类型,选择本地包,然后保存。保存并测试。

先上效果图:

FPM八:FPM TREE第1张

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程序:

FPM八:FPM TREE第2张

6.输入程序名称,选择VOP类型,选择本地包,保存。

FPM八:FPM TREE第3张

7.保存之后会出现两个链接的页面,选择编辑配置:

FPM八:FPM TREE第4张

8.输入配置描述,进入配置主界面,在UIBB中选择添加TREE类型UIBB。

FPM八:FPM TREE第5张

9.输入一个配置编号,回车,然后选择当前行,点击配置UIBB。

FPM八:FPM TREE第6张

10.在新开的配置页面中,输入描述,保存。这时候会进入配置UIBB页面,提示输入FEEDER CLASS,输入上面上面创建的类。

FPM八:FPM TREE第7张

FPM八:FPM TREE第8张

11.在配置列里添加需要展示的字段。保存,测试即可。

FPM八:FPM TREE第9张

免责声明:文章转载自《FPM八:FPM TREE》仅用于学习参考。如对内容有疑问,请及时联系本站处理。

上篇[Android]自己动手做个拼图游戏python 工行 api 查询下篇

宿迁高防,2C2G15M,22元/月;香港BGP,2C5G5M,25元/月 雨云优惠码:MjYwNzM=

随便看看

浪潮各机型管理芯片BMC IP(智能平台管理接口)设置

NF5240m3/NF5140m3/NF5280m3/SA5212H2/NP5540M3NF5270M3/NF5170M3/NF8420m3IPMI主板集成管理芯片BMCIP设置开机按DEL键进入BIOS设置选择"ServerMgmt"---"BMCNetworkConfiguration"---"lanchannel1/2"---"staticipaddr...

flutter Radio单选框

单选框,允许用户从一组中选择一个选项。...

java 服务接口API限流 Rate Limit

服务接口的流量控制策略:分流、降级、流量限制等。2)使用Reids的列表结构,而不是incr命令1FUNCTIONLIMIT_API_CALLL2current=LLEN3IFcurrent˃10THEN4ERROR“toomanyrequestsperssecond”5ELSE6IFEXIST==FALSE7MULTI8RPUSH9EXPIRE10EXEC...

ClickHouse之访问权限控制

Ck当前只有select和insert。这是我刚才提到的:60cd41aedc4e47e8883682b416109e7b7e345e15ecc63c2c98ecdab5e8e053a只读defaultdefault此部分意味着添加具有只读权限的dba用户。允许访问的数据库是默认值。源IP不受限制::/0尝试以dba用户身份登录:clickhouse-cli...

Python读取JSON数据操作实例解析

为了遵循JSON规范,您应该只编写Python列表和字典。JSON编码格式与Python语法几乎相同,只是存在一些细微差异。...

安卓系统中各镜像介绍

背景对于安卓开发而言,了解各镜像的意义、内容以及如何制作,有极大的意义。系统镜像对应的文件名一般叫system.img。当然,系统镜像的文件可以任意命名,之所以叫system.img是为了与生成镜像文件之前的system目录保持一致,这样比较容易与其他类型的镜像文件区分。另外,高版本Android的system.img通常是ext4格式的文件系统镜像,可以使...