CN110297626B - 基于sap系统的树形显示方法 - Google Patents
基于sap系统的树形显示方法 Download PDFInfo
- 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
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/30—Creation or generation of source code
- G06F8/31—Programming languages or programming paradigms
- G06F8/315—Object-oriented languages
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/90—Details of database functions independent of the retrieved data types
- G06F16/901—Indexing; Data structures therefor; Storage structures
- G06F16/9027—Trees
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/90—Details of database functions independent of the retrieved data types
- G06F16/904—Browsing; Visualisation therefor
-
- Y—GENERAL 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
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02P—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN THE PRODUCTION OR PROCESSING OF GOODS
- Y02P90/00—Enabling technologies with a potential contribution to greenhouse gas [GHG] emissions mitigation
- Y02P90/30—Computing 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平台的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中与树结构有关的字段还包括一同在最终子节点显示的其他字段。
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)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111078763B (zh) * | 2019-12-13 | 2022-11-11 | 厦门市美亚柏科信息股份有限公司 | 基于zTree的树形结构异步提取方法、终端设备及存储介质 |
Citations (3)
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)
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 | 北京国双科技有限公司 | 一种关联数据的展示方法及装置 |
-
2019
- 2019-05-23 CN CN201910435919.6A patent/CN110297626B/zh active Active
Patent Citations (3)
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)
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 |