ABAP 数据字典里数据元素(Data Element),结构(Structure)和表类型三者的使用辨析试读版

我们在 ABAP 数据字典的事务码 SE11 里面创建数据类型(Data type)时:

ABAP 数据字典里数据元素(Data Element),结构(Structure)和表类型三者的使用辨析试读版_第1张图片

可以选择创建的类型是数据元素,结构还是表类型,这三者如下图所示依次从上到下排列。

ABAP 数据字典里数据元素(Data Element),结构(Structure)和表类型三者的使用辨析试读版_第2张图片

本文详细介绍这三种数据类型的联系和使用辨析。

简而言之,Data Element 是点,Structure 是线,而 Table Type 则是面。为何笔者这么说?听我细细道来。

ABAP Data element(数据元素)

ABAP Data element 是 ABAP 这门编程语言里预定义数据类型的一个封装。

这些预定义数据类型的列表如下图所示:

ABAP 数据字典里数据元素(Data Element),结构(Structure)和表类型三者的使用辨析试读版_第3张图片

有些 ABAP 初学者对此不太理解,既然 ABAP 编程语言提供了这么多的预定义数据类型,为啥我们还要花费功夫创建 Data Element,岂不是多此一举吗?

其实不然。ABAP 编程语言仅仅从技术层面,给我们提供了上图所示的数据类型。Data Element 在技术层面之上,为这些数据类型增添了业务含义

比如 CHAR40,从这个描述中,我们只能得知这是一个长度为 40 的字符类型。

在此基础上,SAP CRM 产品里创建了一个名叫 COMT_PRODUCT_ID 的 Data Element,从 Short Description 字段和 Domain 字段,我们一眼就能看出,这个 Data Element 描述的业务含义就是 产品 ID.

ABAP 数据字典里数据元素(Data Element),结构(Structure)和表类型三者的使用辨析试读版_第4张图片

这个 Data Element 还能绑定一个搜索帮助。这些额外的属性,都不可能直接维护在 CHAR40 这种纯技术类型上。

关于 StructureTable TypeData Element 的使用差异介绍,请参阅笔者这篇文章

你可能感兴趣的:(ABAP 数据字典里数据元素(Data Element),结构(Structure)和表类型三者的使用辨析试读版)