CN110297626B - 基于sap系统的树形显示方法 - Google Patents

基于sap系统的树形显示方法 Download PDF

Info

Publication number
CN110297626B
CN110297626B CN201910435919.6A CN201910435919A CN110297626B CN 110297626 B CN110297626 B CN 110297626B CN 201910435919 A CN201910435919 A CN 201910435919A CN 110297626 B CN110297626 B CN 110297626B
Authority
CN
China
Prior art keywords
tree
subfunction
display
selection
tree structure
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
CN201910435919.6A
Other languages
English (en)
Other versions
CN110297626A (zh
Inventor
郭颖
李晓刚
赵福祥
冷宝剑
刘晓进
王飞
蒋宏娜
郑波
胡浩
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Tangshan Iron and Steel Group Co Ltd
HBIS Co Ltd Tangshan Branch
Original Assignee
Tangshan Iron and Steel Group Co Ltd
HBIS Co Ltd Tangshan Branch
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Tangshan Iron and Steel Group Co Ltd, HBIS Co Ltd Tangshan Branch filed Critical Tangshan Iron and Steel Group Co Ltd
Priority to CN201910435919.6A priority Critical patent/CN110297626B/zh
Publication of CN110297626A publication Critical patent/CN110297626A/zh
Application granted granted Critical
Publication of CN110297626B publication Critical patent/CN110297626B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/30Creation or generation of source code
    • G06F8/31Programming languages or programming paradigms
    • G06F8/315Object-oriented languages
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/90Details of database functions independent of the retrieved data types
    • G06F16/901Indexing; Data structures therefor; Storage structures
    • G06F16/9027Trees
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/90Details of database functions independent of the retrieved data types
    • G06F16/904Browsing; Visualisation therefor
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02PCLIMATE CHANGE MITIGATION TECHNOLOGIES IN THE PRODUCTION OR PROCESSING OF GOODS
    • Y02P90/00Enabling technologies with a potential contribution to greenhouse gas [GHG] emissions mitigation
    • Y02P90/30Computing systems specially adapted for manufacturing

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Software Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Databases & Information Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Data Mining & Analysis (AREA)
  • Computing Systems (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

发明涉及基于SAP系统的树形显示方法,包括建立SAP系统后台树形显示结构表,前台展示时,将此表内容按照规则以树形显示出来。然后进行主程序调用及使用,在主程序运行前,调用相关树形构造函数和树形初始函数;树形结果展示及功能操作。本发明能够实现SAP系统自开发程序展示树形结构,可以清晰展示出各数据之间的层级关系和上下层结构,并实现单选、同时多选功能,可使用户操作界面更加友好直观、易于操作。

Description

基于SAP系统的树形显示方法
技术领域
本专利申请属于企业信息化管理技术领域,更具体地说,是涉及一种基于SAP系统的树形显示方法。
背景技术
在企业信息化管理领域,树形结构目录的应用有着非常重要的意义。树形结构目录比起常规的结构示意图,将原有条式的数据记录以更为形象和生动的形式将各个数据之间的各种关系如上下层级关系、平层关系等很直面的展示出来,使用户能够更直观方便的了解数据关系和使用系统功能,使用户界面更加友好直观、便于操作。
在SAP系统中,SAP平台的ABAP开发语言比较擅长开发条式数据记录的报表展示,并不擅长开发树形展示,所以树形展示结构一直是SAP系统自开发程序的难点,开发代码难度很大,但是基于树形结构的各种优势,用户又迫切想使用树形展示结构,而目前SAP系统现有功能无法满足SAP系统自开发树形展示结构的需求,所以需要一种新方法来解决SAP系统自开发程序无法实现树形展示结构的问题。
发明内容
本发明需要解决的技术问题是提供一种基于SAP系统的树形显示方法,旨在解决现有技术中SAP系统自开发程序无法实现树形展示结构的问题。
为了解决上述问题,本发明所采用的技术方案是:
一种基于SAP系统的树形显示方法,包括如下步骤:
步骤a、建立SAP系统后台树形结构表Ztree,前台展示时,将Ztree的内容按照规则以树形结构显示出来,Ztree中与树结构有关的字段包括层级编码和层级描述;
步骤b、新建用于功能封装的include程序,命名为zinclude_tree,便于程序调用;
步骤c、开发封装入include程序里面的树形构造函数和树形初始函数,树形构造函数包括构造树子函数、展示树子函数、checkbox复选框子函数、单选多选功能子函数;
步骤d、主程序调用及使用,在进行树形展示及功能使用时,调用封装入include里面的程序;也就是在主程序运行前,调用相关树形构造函数和树形初始函数;
步骤e、树形结构展示及功能操作。
本发明技术方案的进一步改进在于:在SAP系统中采用ABAP语言进行开发。
本发明技术方案的进一步改进在于:步骤a中,层级编码两位为一层,如01是第一层,0101是第二层,010102是第三层,依次类推。
本发明技术方案的进一步改进在于:步骤a中,Ztree中与树结构有关的字段还包括一同在最终子节点显示的其他字段。
本发明技术方案的进一步改进在于:步骤c中,构造树子函数用于读取树形结构表Ztree,建立循环,一层一层将各层数据挂到树形结构中,并把树形结构放到内存中;
展示树子函数,用于负责将构造树子函数构造出来的结构在用户操作界面中展示出来;
checkbox复选框函数,如果当前记录被选中时,当前记录前的checkbox图标变为
单选多选功能子函数,如果单选功能被选中,树形结构中当前记录被选中时,下级不会被选中,如果单选功能未被选中,表示当前状态为多选状态,树形结构中当前记录被选中时,该层级下方的记录会全部被选中,前方的图标全部变为
由于采用了上述技术方案,本发明取得的有益效果是:
1、弥补了SAP系统自开发程序无法实现树形展示结构的问题。
2、封装成include程序,使SAP系统中各个自开发报表程序可以直接调用,方便了树形显示方法的调用。
3、按照树形结构展示的数据结构,能清晰展示出各数据之间的层级关系,上下层结构等。
4、通用性强,实施了SAP系统的企业可以直接移植。
5、开发人员通过本发明可以实现按层级清晰的展现各个数据单元之间的关系,便于用户快速了解数据单元之间的关系,快速分类查找。
附图说明
图1是本发明的开发流程示意图;
图2是本发明的成品展示图。
具体实施方式
下面结合实施例对本发明做进一步详细说明。
本发明公开了一种基于SAP系统的树形显示方法,参见图1-图2,在SAP系统中采用ABAP语言进行开发,包括如下步骤:
步骤a、建立SAP系统后台树形结构表Ztree,前台展示时,将Ztree的内容按照规则以树形结构显示出来,Ztree中与树结构有关的字段包括层级编码和层级描述;步骤a中,层级编码两位为一层,如01是第一层,0101是第二层,010201是第三层,依次类推。当然Ztree中与树结构有关的字段还包括其他字段,一同在最终子节点显示出来。
步骤b、新建用于功能封装的include程序,名为zinclude_tree,便于程序调用;
步骤c、开发封装入include程序里面的树形构造函数和树形初始函数,树形构造函数包括构造树子函数、展示树子函数、checkbox复选框子函数、单选多选功能子函数;
步骤d、主程序调用及使用,在进行树形展示及功能使用时,调用封装入include里面的程序;也就是在主程序运行前,调用相关树形构造函数和树形初始函数;主要代码如下:
IF  g_alv_tree  IS  INITIAL. PERFORM init_tree.
PERFORM set_event_handler USING g_alv_tree. PERFORM register_events.
CALL METHOD g_alv_tree->frontend_update.
    ENDIF.
步骤e、树形结构展示及功能操作。
步骤c中,构造树子函数用于读取树形结构表Ztree,建立循环,一层一层将各层数据挂到树形结构中,并把树形结构放到内存中;主要代码如下:
  LOOP AT lt_task INTO wa_task.
    g_index = sy-tabix.
    v_len = STRLEN( wa_task-layer ).
    l_node_text = wa_task-tablename.
    i = v_len - 2.
    IF i > 0.
      v_parent_layer = wa_task-layer+0(i).
    ENDIF.
    CLEAR p_node_key0.
    CALL METHOD g_alv_tree->add_node
      EXPORTING
        i_relat_node_key = p_node_key0
        i_relationship   = cl_gui_column_tree=>relat_last_child
        i_node_text      = l_node_text
        is_outtab_line   = wa_task
        it_item_layout   = lt_item_layout
      IMPORTING
        e_new_node_key   = p_node_key2.
    v_node_layer2 = wa_task-layer.
  ENDLOOP.
展示树子函数,用于负责将构造树子函数构造出来的结构在用户操作界面中展示出来;主要代码如下:
FORM init_tree.
  DATA: l_hierarchy_header TYPE treev_hhdr.
  CREATE OBJECT g_container_tree
    EXPORTING
      container_name              = 'G_CONTAINER_TREE'
    EXCEPTIONS
      cntl_error                  = 1
      cntl_system_error           = 2
      create_error                = 3
      lifetime_error              = 4
      lifetime_dynpro_dynpro_link = 5.
  IF sy-subrc <> 0.
    MESSAGE x208(00) WITH 'ERROR'(100).
  ENDIF.
  CREATE OBJECT g_alv_tree
    EXPORTING
      parent                      = g_container_tree
      node_selection_mode         = cl_gui_column_tree=>node_sel_mode_single
      item_selection              = 'X'
      no_html_header              = 'X'
      no_toolbar                  = 'X'
    EXCEPTIONS
      cntl_error                  = 1
      cntl_system_error           = 2
      create_error                = 3
      lifetime_error              = 4
      illegal_node_selection_mode = 5
      failed                      = 6
      illegal_column_name         = 7.
  IF sy-subrc <> 0.
    MESSAGE x208(00) WITH 'ERROR'.                          "#EC NOTEXT
  ENDIF.
  PERFORM build_hierarchy_header  CHANGING l_hierarchy_header.
  CALL METHOD g_alv_tree->set_table_for_first_display
    EXPORTING
      i_structure_name    = 'ztree'
      is_hierarchy_header = l_hierarchy_header
    CHANGING
      it_fieldcatalog     = gt_fieldcat_tree
      it_outtab           = gt_task.              "table must be empty !
  PERFORM set_event_handler USING g_alv_tree.
  PERFORM register_events.
  CALL METHOD g_alv_tree->frontend_update.
ENDFORM.                               " init_tree
checkbox复选框函数,如果当前记录被选中时,当前记录前的checkbox图标变为;主要代码如下:
FORM set_event_handler  USING p_tree TYPE REF TO cl_gui_alv_tree.   SETHANDLER lc_tree_event_handler=>on_checkbox_change   FOR p_tree. ENDFORM.
单选多选功能子函数,如果单选功能被选中,树形结构中当前记录被选中时,下级不会被选中,如果单选功能未被选中,表示当前状态为多选状态,树形结构中当前记录被选中时,该层级下方的记录会全部被选中,前方的图标全部变为。主要代码如下:
CLASS lc_tree_event_handler IMPLEMENTATION.
  METHOD on_checkbox_change.
    DATA: is_item_layout  TYPE lvc_s_laci,
    FIELD-SYMBOLS: <fs_itab>          TYPE lvc_t_nkey,
                   <fs_itab_children> TYPE lvc_t_nkey.
    READ TABLE gt_task INTO wa_task INDEX node_key.
    wa_task_selection-werks = wa_task-werks.
    wa_task_selection-layer = wa_task-layer.
    wa_task_selection-code  = wa_task-code.
    IF p_all = ''.
      v_len = STRLEN( wa_task-layer ).
      v_len = v_len DIV 2.
      v_begin = v_len + 1.
      CONCATENATE 'lt_children_' v_begin INTO v_itab_name.
      ASSIGN (v_itab_name) TO <fs_itab>.
      CALL METHOD g_alv_tree->get_children
        EXPORTING
          i_node_key         = node_key
        IMPORTING
          et_children        = <fs_itab>
        EXCEPTIONS
          historic_error     = 1
          node_key_not_found = 2.
      LOOP AT <fs_itab> INTO wa_children.
        COLLECT wa_children INTO lt_full_children.
      ENDLOOP.
      v_times = 10 - v_len.
      DO v_times TIMES.
        v_begin = v_len + sy-index.
        v_children = v_begin + 1.
        CONCATENATE 'lt_children_' v_begin    INTO v_itab_name.
        CONCATENATE 'lt_children_' v_children INTO v_itab_children.
        ASSIGN (v_itab_name)     TO <fs_itab>.
        ASSIGN (v_itab_children) TO <fs_itab_children>.
        LOOP AT <fs_itab> INTO wa_children.
          CALL METHOD g_alv_tree->get_children
            EXPORTING
              i_node_key         = wa_children
            IMPORTING
              et_children        = lt_get_children
            EXCEPTIONS
              historic_error     = 1
              node_key_not_found = 2.
          COLLECT wa_children INTO lt_full_children.
          LOOP AT lt_get_children INTO wa_children.
            COLLECT wa_children INTO <fs_itab_children>.
          ENDLOOP.
        ENDLOOP.
      ENDDO.
      ENDIF.
    PERFORM frm_checked_all_children TABLES lt_full_children USING '&Hierarchy' checked.
  ENDMETHOD.

Claims (2)

1.一种基于SAP系统的树形显示方法,其特征在于步骤如下:
步骤a、建立SAP系统后台树形结构表Ztree,前台展示时,将Ztree的内容按照规则以树形结构显示出来,Ztree中与树结构有关的字段包括层级编码和层级描述;
步骤b、新建用于功能封装的include程序,便于程序调用;
步骤c、开发封装入include程序里面的树形构造函数和树形初始函数,树形构造函数包括构造树子函数、展示树子函数、checkbox复选框子函数、单选多选功能子函数;
步骤d、主程序调用及使用,在进行树形展示及功能使用时,调用封装入include里面的程序;
步骤e、树形结构展示及功能操作;
在SAP系统中采用ABAP语言进行开发;
步骤a中,层级编码两位为一层;
步骤c中,构造树子函数用于读取树形结构表Ztree,建立循环,一层一层将各层数据挂到树形结构中,并把树形结构放到内存中;
展示树子函数,用于负责将构造树子函数构造出来的结构在用户操作界面中展示出来;
checkbox复选框函数,如果当前记录被选中时,当前记录前的checkbox图标变为
单选多选功能子函数,如果单选功能被选中,树形结构中当前记录被选中时,下级不会被选中,如果单选功能未被选中,表示当前状态为多选状态,树形结构中当前记录被选中时,该层级下方的记录会全部被选中,前方的图标全部变为
2.根据权利要求1所述的基于SAP系统的树形显示方法,其特征在于:步骤a中,Ztree中与树结构有关的字段还包括一同在最终子节点显示的其他字段。
CN201910435919.6A 2019-05-23 2019-05-23 基于sap系统的树形显示方法 Active CN110297626B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201910435919.6A CN110297626B (zh) 2019-05-23 2019-05-23 基于sap系统的树形显示方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201910435919.6A CN110297626B (zh) 2019-05-23 2019-05-23 基于sap系统的树形显示方法

Publications (2)

Publication Number Publication Date
CN110297626A CN110297626A (zh) 2019-10-01
CN110297626B true CN110297626B (zh) 2023-04-18

Family

ID=68027102

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201910435919.6A Active CN110297626B (zh) 2019-05-23 2019-05-23 基于sap系统的树形显示方法

Country Status (1)

Country Link
CN (1) CN110297626B (zh)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111078763B (zh) * 2019-12-13 2022-11-11 厦门市美亚柏科信息股份有限公司 基于zTree的树形结构异步提取方法、终端设备及存储介质

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102402652A (zh) * 2010-09-16 2012-04-04 金蝶软件(中国)有限公司 一种权限控制的方法、系统及终端
CN103020171A (zh) * 2012-11-27 2013-04-03 四川省电力公司技术技能培训中心 基于Java的电力ERP业务仿真系统数据存取方法
CN109033157A (zh) * 2018-06-14 2018-12-18 山东鲁能软件技术有限公司 一种基于自定义搜索条件树的复杂数据检索方法和系统

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8677279B2 (en) * 2009-05-06 2014-03-18 Business Objects Software Limited Visual hierarchy explorer
CN102135972A (zh) * 2010-07-30 2011-07-27 华为软件技术有限公司 业务树数据处理方法、系统、客户端和服务器
CN104268072B (zh) * 2014-09-03 2017-02-15 武汉烽火网络有限责任公司 图形化脚本编辑器及快速开发通信设备测试脚本的方法
CN109117424A (zh) * 2017-06-23 2019-01-01 北京国双科技有限公司 一种关联数据的展示方法及装置

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102402652A (zh) * 2010-09-16 2012-04-04 金蝶软件(中国)有限公司 一种权限控制的方法、系统及终端
CN103020171A (zh) * 2012-11-27 2013-04-03 四川省电力公司技术技能培训中心 基于Java的电力ERP业务仿真系统数据存取方法
CN109033157A (zh) * 2018-06-14 2018-12-18 山东鲁能软件技术有限公司 一种基于自定义搜索条件树的复杂数据检索方法和系统

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
李雪峰.企业管理运营支撑系统设计与实现.《中国优秀硕士学位论文全文数据库 经济与管理科学辑》.2017,(第2期),J155-177. *

Also Published As

Publication number Publication date
CN110297626A (zh) 2019-10-01

Similar Documents

Publication Publication Date Title
US9852195B2 (en) System and method for generating event visualizations
CN102332118B (zh) It客户机管理中的关系可视化和图形交互模型
CN107229474B (zh) 基于可视化界面快速配置Java接口和图表服务的方法及装置
CN107844297A (zh) 一种数据可视化实现系统及方法
Lee et al. A scenario-based object-oriented methodology for developing hypermedia information systems
CN107357593A (zh) 源代码文件组建方法、装置、电子终端及可读存储介质
CN108363785A (zh) 数据关系展示方法、装置、计算机设备及存储介质
US20150205450A1 (en) User interface modification and usage tracking
CN110838944B (zh) 一种云中心租户维度拓扑图的实现方法
US10192330B2 (en) Rendering data visualizations in different analytical applications
CN103927385A (zh) 数据模型的统一方法及装置
US20200394055A1 (en) System and method for providing a configurable user interface using a self-describing data system
CN110532159A (zh) 数据监听方法、装置、设备及计算机可读存储介质
CN115840567A (zh) 一种应用编辑方法及相关设备
CN110297626B (zh) 基于sap系统的树形显示方法
CN103810292A (zh) 一种图形界面的配置方法及装置
CN103593188A (zh) 一种用于仪器所见即所得菜单的管理系统及管理方法
CN104834715A (zh) 一种基于部件和容器的网站生成方法及系统
CN104809534A (zh) 业务流程管理系统
CN110889013A (zh) 一种基于xml的数据关联方法、装置、服务器及存储介质
US8626773B2 (en) Aligning records for visual comparison
CN115203162A (zh) 一种所见即所得图数据构建方法
CN113592417A (zh) 一种基于物联网的资产管理方法及系统
US20240177092A1 (en) Visual presentation of workflow progress
Hoang et al. Spreadsheet as a generic purpose mashup development environment

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant