SAP软件中的程序对象管理.docVIP

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
SAP软件中的程序对象管理.doc

SAP软件中的程序对象管理   【摘要】 SAP系统是一种企业资源管理软件,其由德国SAP公司开发,并成功应用于80%的世界500强企业,而在SAP软件的使用过程中,大部分公司都会使用SAP公司提供的ABAP高级开发语言进行了本地化系统改造, ABAP语言编写的SAP程序一般由多种类型的程序对象组成,这些程序对象类型之间ABAP语言定义了之间的关联关系,但是SAP公司却没有明确说明,本文通过对程序对象类型的分析,得到常用的程序对象类型之间的父子关系。这一点可以帮助我们理解ABAP语言的整体架构,有助于我们进行程序开发及企业对自己定制化开发的程序对象进行有效管理。   【关键词】 SAP ABAP程序 程序对象   在SAP系统中,进行本地化开发与配置时,会生成不同类型的开发对象,这些开发对象以数据的形式,存储在系统的数据库表中,其通过PGMID、OBJECT、OBJ_NAME三个字段来唯一标识一个开发对象。   第一个字段PGMID是指程序标识的一组编码,一般包括: R3TR、LIMU、CORR几个值,其各自的具体含义如下:   R3TR是表示其?热菔浅绦蚨韵螅?指SAP中各种类型的开发内容的一种抽象叫法,是程序开发内容的一种载体,如类、可执行程序、接口等。   LIMU也是指其包含的内容是程序对象,但其与R3TR的区别在于,其标识的是R3TR类型的对象的子对象,举例以“可执行程序”这种程序对象来说,一个“可执行程序”类型的对象,包括多个子类型的对象,如“程序屏幕”,指可给用户看到的主屏幕、子屏幕、选择屏幕等;再如“源代码”对象,指程序中执行的主体ABAP代码语句;可执行程序还可以包括“文本元素”对象,用于在选择屏幕上展示字段的标签,或在程序源代码中作为文本常量进行使用。   CORR是指备注、注释之类的信息,其不包含具体的程序对象和开发内容。如一批对象所在的传输请求号,对象释放的具体日期、时间,以及开发者信息。   第二个字段OBJECT是用来表明对象的类型具体是什么的一组编码,如为主程序(PROG)类型、源代码(REPT)类型、文本元素(REPS)类型、程序屏幕(DYNP)等。OBJECT所包含的类型,涵盖了ABAP程序语言所有已定义的程序对象类型,从而将所有的程序对象,进行了明确的分类,用以管理程序对象在软件平台中的存储、分析、以及组织整个系统有效地运行。   第三个字段OBJ_NAME就是指具体的程序对象名称了,如程序的名称,数据库表的名称,接口的名称等等。   当一个程序对象激活时,SAP系统会从数据库中读取需要的对象内容,然后根据其类型不同,执行不同的处理机制,形成不同的实际物理对象,如数据库表、编译后的程序文件等。   SAP中所有基于ABAP开发的程序对象都有一个对象类型,不同的对象类型与对象类型之间,存在着特定架构关系。如某个报表,其对象类型可以是主程序(PROG)类型,其可能包含源代码(REPT)类型、文本元素(REPS)类型、程序屏幕(DYNP)类型,这说明他们之间是父子关系,而文本元素(REPS)类型和程序屏幕(DYNP)类型是相互独立的关系,不存在关联关系。因此可以理解为一个“主程序类型”的父开发对象,包含“源代码类型”、“文本元素类型”、“程序屏幕类型”几个子类型的开发对象,也可以说成“主程序”开发对象由“源代码”、“文本元素”、“程序屏幕”几个子开发对象组成。   以上只是列举了其中的一个例子,来说明对象类型之间的关系,那么SAP系统中存在很多的开发对象类型,问题来了,如此多的对象类型,SAP是如何进行有组织的管理呢?作为开发者,该如何找到这些关系模型呢?   实际上SAP在开发ABAP开发平台时已经考虑到这一点,其在ABAP平台中设立了管理这些程序对象类型的方法。这里将SAP开发对象类型定义成两种大的类型集合,用以组织对象类型之间的关系。一种以PGMID为R3TR 的父类型集合,一种是以PGMID为LIMU 的子类型集合,根据这种定义方式,一个父类型可以包含一个或者多个子类型,一个子类型只属于一个父类型。另外根据SAP数据视图EUOBJV,可以查询某个父类型包含哪些子类型,以及一个子类型属于哪个父类型。   上图1描述了实现流程,从ABAP的代码角度具体的实现方法如下:   1.设计ABAP程序函数,实现子类型寻找父类型的功能函数。函数输入为子类型OBJECT编码,定义类型为CHAR4,输出为父类型OBJECT编码,定义类型为CHAR4。   2.函数逻辑参考逻辑流程图“子类型寻找父类型”,首先判断输入的类型是否存在,再使用下列实例SQL语句取出父类型   SELECT SINGLE tadir INTO ex_object   FROM euobjv

文档评论(0)

yingzhiguo + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

版权声明书
用户编号:5243141323000000

1亿VIP精品文档

相关文档