本文通过一些理论的例子,介绍 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 的名称来搜寻的性能,意思是:搜寻零碎所有以 $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,同该音讯弹出框里点击这个黄色问号图标看到的信息是统一的:

更多Jerry的原创文章,尽在:"汪子熙":