通过实际的例子,介绍 SAP ABAP 里的 Repository Information System 的使用技巧

举报
Jerry Wang 发表于 2022/05/22 10:51:32 2022/05/22
【摘要】 本文通过一些实际的例子,介绍 ABAP Repository Information System 的使用技巧。顾名思义,ABAP Repository Information System,是一个巨大的仓库信息系统,存放了各种类型的 ABAP 开发对象。使用事物码 SE80 打开这个仓库信息系统。进入之后,看到的页面如下:当然,大家 SE80 后看到的页面,不一定和我完全一致。我们可以在 ...

本文通过一些实际的例子,介绍 ABAP Repository Information System 的使用技巧。

顾名思义,ABAP Repository Information System,是一个巨大的仓库信息系统,存放了各种类型的 ABAP 开发对象。

使用事物码 SE80 打开这个仓库信息系统。进入之后,看到的页面如下:

当然,大家 SE80 后看到的页面,不一定和我完全一致。我们可以在 SE80 的 Utilities 菜单里,选择应该显示哪些标签出来:

比如我点击 Select All,把 SE80 支持的所有标签页全部放出来:

最后的界面如下:

本文着重介绍 Repository Information System 的用法。

Development Coordination

可以根据各种输入条件查询 ABAP 开发包。可以把 ABAP 开发包理解成一个容器,里面能存放各种类型的 ABAP 开发对象,好比一个抽屉,里面能装各种杂物一样。任何 ABAP 开发对象,新建之后保存之前,系统都会弹出提示框,让开发人员选择,将这个开发对象存储在哪一个 ABAP 开发包里。

搜索结果:

上图演示了根据 Package 的名称来搜索的功能,意思是:搜索系统所有以 Z J E 开头的 A B A P 开发包。 A B A P 开发包也能看作是一种广义上的 A B A P 对象, ZJE 开头的 ABAP 开发包。ABAP 开发包也能看作是一种广义上的 ABAP 对象, 和 Z 都是 ABAP 对象的命名规范,意思是该对象是本地存储,不能通过传输请求(Transport Request) 导入到其他系统。传输请求(Transport Request) 是 ABAP 一个特色概念,若干个 ABAP 开发对象可以依附于同一个传输请求,通过该请求,这些 ABAP 开发对象可以导入到其他系统。可以把传输请求想象成卡车,把分配给传输请求的 ABAP 开发对象,想象成卡车上运输的货物。
例如搜索所有描述字段包含了字符串 Product 的传输请求:

点击时钟图标或者按键盘 F8 之后,执行搜索,得到结果:

随便双击搜索结果里某一个传输请求,即可看到该请求内包含的 ABAP 对象:

ABAP Dictionary

ABAP 字典,能查询到事物码 SE11 里创建的 ABAP 数据对象。

下图是事物码 SE11 的界面,我们通常使用 SE11,进行 ABAP 数据结构,比如数据库表,数据类型的增删改和浏览操作。

但是对于一些查找需求,比如查询所有“包含了字段名称 PRODUCT_GUID”的数据库表,用 SE11 就无法完成这个需求。

但是使用 Repository Information System 可以轻易实现:

下图右边这些橙色的高亮区域,即代表包含了字段 PRODUCT_GUID 的所有数据库表名称。

Program Library

下图例子为查找所有名称包含了 CRM_PRODUCT_GET 的 function module:

Class Library

这也是 ABAP Repository Information System 极为有用的查询功能之一。

列出所有包含了方法 GET_FOCUS 的 ABAP 类:

结果:

查找所有包含了 private 属性,且名称为 CONTEXT 的 ABAP 类:

搜索结果:

可以随便双击一个结果确认:

基于 Events 和 Types 作为搜索条件的查询方式,和上述已经介绍的方式完全一致,这里不再赘述。

Enhancements

查询系统里最后被用户名 WANGJER 修改的 ABAP 增强:

搜索结果:

Message numbers

这也是一个极其有用的功能。比如我在事物码 COMMPR01 里,试图打开一个实际并不存在的产品,会遇到错误消息:No products found.

只需要根据 No products found 进行查询:

即可得到搜索结果:这条错误消息的 message class 为 COM_PRODUCT_WB_UI, id 为 101.

双击即可看到明细:

通过 Repository Information System 查询出来的 Message Class 和 ID,同该消息弹出框里点击这个黄色问号图标看到的信息是一致的:

【版权声明】本文为华为云社区用户原创内容,转载时必须标注文章的来源(华为云社区)、文章链接、文章作者等基本信息, 否则作者和本社区有权追究责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

举报
请填写举报理由
0/200