一种分析SAP开发对象类型之间关联关系的方法与流程

文档序号:12596559阅读:1347来源:国知局
一种分析SAP开发对象类型之间关联关系的方法与流程

本发明涉及一种分析SAP开发对象类型之间关联关系的方法。



背景技术:

SAP:德国一家软件公司名称,其开发的管理软件命名为SAP,广泛在世界范围内使用,其本身提供基于ABAP语言的二次开发平台。ABAP:是一种解释型开发语言,只能运行于SAP平台之上。SAP系统在开发与配置过程中,生成不同类型的开发对象存储在系统中,而这些开发对象都有一个对象类型,不同的对象类型与对象类型之间,SAP系统规定了特定架构关系。如某个报表,其对象类型可能是主程序(PROG)类型,也可能包含源代码(REPT)类型、文本元素(REPS)类型、程序屏幕(DYNP)类型,而文本元素(REPS)类型和程序屏幕(DYNP)类型是相互独立的关系,不存在关联关系,因此可以理解为一个“主程序类型”的开发对象,包含“源代码类型”、“文本元素类型”、“程序屏幕类型”几个子类型的开发对象,也可以说成“主程序”开发对象由“源代码”、“文本元素”、“程序屏幕”几个子开发对象组成。开发对象:各种类型的开发内容的一种抽象叫法,主要是程序开发内容的一种载体,如类、可执行程序、接口等。SAP系统中存在很多开发对象,需要通过对SAP系统中各中对象类型的分析,建立 SAP开发对象类型之间架构模型,从而构建开发对象关联关系模型。



技术实现要素:

本发明的目的是提供一种分析SAP开发对象类型之间关联关系的方法,通过对SAP系统中各中对象类型的分析,建立 SAP开发对象类型之间架构模型,从而构建开发对象关联关系模型,获得开发对象与开发对象之间的关系。

本发明的目的通过以下技术方案实现:

一种分析SAP开发对象类型之间关联关系的方法,其特征在于:该方法将SAP开发对象类型定义成两种类型,用以组织对象类型之间的关系;一种以PGMID为R3TR 的父类型集合,另一种是以PGMID为LIMU 的子类型集合,根据这种定义方式,一个父类型包含一个或者多个子类型,一个子类型只属于一个父类型;另外根据SAP数据视图EUOBJV,查询某个父类型包含哪些子类型,以及一个子类型属于哪个父类型;具体如下:

1)设计ABAP程序函数,实现子类型寻找父类型的功能函数;函数输入为子类型OBJECT编码,定义类型为CHAR4,输出为父类型OBJECT编码,定义类型为CHAR4;OBJECT编码:SAP开发对象的一种分类,SAP将所有开发对象分为不同类型进行管理。PGMID:OBJECT编码的一种分类,SAP对所有开发对象的OBJECT编码再次进行分类。

2)函数逻辑采用子类型寻找父类型,首先判断输入的类型是否存在,再使用SQL语句取出父类型;

3)上述SQL语句输出的变量作为返回参数,即为父类型OBJECT编码;

4)设计ABAP程序函数,实现父类型寻找子类型的功能函数;函数输入为父类型OBJECT编码,定义类型为CHAR4,输出为子类型OBJECT编码列表,定义为内表格式;

5)函数逻辑采用父类型寻找子类型,首先判断输入的类型是否存在,再使用SQL语句取出子类型内表;

6)上述SQL语句输出子类型内表,但其中包含重复项,使用ABAP语句去除重复项,得到父类型的所有子类型内表;

7)返回子类型内表,作为父类型所有的子类型集合。

本发明针对SAP企业管理软件中开发对象的对象类型的关系的解析过程进行说明,通过对SAP系统中各中对象类型的分析,建立 SAP开发对象类型之间架构模型,从而构建开发对象关联关系模型,从而获得开发对象与开发对象之间的关系。通过对开发对象关联关系的解析,可以管理软件的开发版本,以及版本发布时,检测关联开发对象在部署环境中的版本情况,从而有保障开发对象发布的正确性。

附图说明

图1是本发明中子类型寻找父类型函数逻辑流程图。

图2是本发明中父类型寻找子类型函数逻辑流程图。

具体实施方式

一种分析SAP开发对象类型之间关联关系的方法,该方法将SAP开发对象类型定义成两种类型,用以组织对象类型之间的关系;一种以PGMID为R3TR 的父类型集合,另一种是以PGMID为LIMU 的子类型集合,根据这种定义方式,一个父类型包含一个或者多个子类型,一个子类型只属于一个父类型;另外根据SAP数据视图EUOBJV,查询某个父类型包含哪些子类型,以及一个子类型属于哪个父类型;具体如下:

1)设计ABAP程序函数,实现子类型寻找父类型的功能函数。函数输入为子类型OBJECT编码,定义类型为CHAR4,输出为父类型OBJECT编码,定义类型为CHAR4。

2)函数逻辑参考逻辑流程图“子类型寻找父类型”,首先判断输入的类型是否存在,再使用下列实例SQL语句取出父类型

SELECT SINGLE tadir INTO ex_object FROM euobjv WHERE id = in_object.

3)上述SQL语句输出的ex_object变量作为返回参数,即为父类型OBJECT编码。

4)设计ABAP程序函数,实现父类型寻找子类型的功能函数。函数输入为父类型OBJECT编码,定义类型为CHAR4,输出为子类型OBJECT编码列表,定义为内表格式。

5)函数逻辑参考逻辑流程图“父类型寻找子类型”,首先判断输入的类型是否存在,再使用下列实例SQL语句取出子类型内表

SELECT e071

INTO CORRESPONDING FIELDS OF TABLE e071_object

FROM euobjv WHERE tadir = object.

6)上述SQL语句输出的e071_object即为子类型内表,但其中包含重复项,使用ABAP语句DELETE ADJACENT DUPLICATES FROM e071_object 去除重复项,得到父类型的所有子类型内表。

7)返回e071_object内表,作为父类型所有的子类型集合。

当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1