【ABAP系列】SAP ABAP DATA - COMMON PART

时间:2023-03-09 18:45:31
【ABAP系列】SAP ABAP DATA - COMMON PART
公众号:SAP Technical
本文作者:matinal

【ABAP系列】SAP ABAP DATA - COMMON PART

前言部分

大家可以关注我的公众号,公众号里的排版更好,阅读更舒适。

正文部分

短参考

ABAP语法(已淘汰) 公共部分[名称]的数据开始。 
...... 
数据...... 
... 
共同部分[名称]的数据结束。

它有什么作用?语句DATA的这种变体 
添加了BEGIN OF COMMON PART和END OF COMMON PART定义了一个全局接口工作区,可以由程序组的程序共同使用。使用DATA在这些语句之间声明的所有数据对象都是此公共区域的一部分。 
COMMON PART添加只能用于ABAP程序的全局声明部分。可以在程序中声明多个公共数据区域,

但它们不能嵌套。必须使用名称添加为每个公共数据区域指定唯一名称。如果程序中只有一个公共数据区,则只能省略名称添加。 
在访问公共数据区域数据的程序组的所有程序中,必须使用相同的名称和完全相同的结构声明此区域,否则无法保证它将正常工作并且可以引发不可处理的异常。

最新说明:在可维护性和功能方面,在其他独立程序中使用公共数据区域可能非常成问题。因此,不应再使用公共数据区域。程序的参数接口可用于在程序之间交换数据。 
各种程序的公共数据区域通常在包含在所有相关程序中的包含程序中声明。但是,不再推荐多次使用包含程序。 
有关与接口工作区相关的问题的详细信息,请参阅 
外部过程调用中的程序组。

示例ABAP编码在此示例中,在包含程序部分中声明了公共数据区域结构。通过合并包含程序,三个程序param,sum和dis 
如果它们是程序组的一部分,则对数据区域的共享访问权限。后者是通过加载程序完成的 
使用外部子程序调用求和进入param的程序组。程序disp中的子程序显示将输入值输出到程序参数和子程序求和中的求和结果。 
*包括部分。 
数据:公共部分结构的开始, 
f1 TYPE i, 
f2 TYPE i, 
s TYPE i, 
END OF COMMON PART struc。

计划参数。 
包括部分。 
参数:

p1 TYPE i DEFAULT 20, 
p2 TYPE i DEFAULT 90. 
f1 = p1。 
f2 = p2。 
PERFORM汇总IN PROGRAM sum。

计划总和。 
包括部分。 
形式总结。 
s = f1 + f2。 
PERFORM显示IN PROGRAM disp。 
端部结构。

PROGRAM disp。 
包括部分。 
表格显示。 
WRITE:/ f1,f2,s。 
端部结构。