SAP数据字典中的Table Delivery Class有什么用?

shr*_*grl 3 abap sap-data-dictionary

我想了解交付等级“A”和“C”的区别。C 表示仅由客户输入的数据,但我如何在代码上看到它?

我创建了两个类型为“A”和“C”的表。我用ABAP代码添加数据。我以为我无法将数据添加到我用 C 创建的表中,但它们的工作原理相同。

对于 A 型:

DATA wa_ogr LIKE ZSGT_DELIVCLS2.

wa_ogr-ogrenci_no = 1.
wa_ogr-ogrenci_adi = 'Seher'.
INSERT ZSGT_DELIVCLS2 FROM wa_ogr.
Run Code Online (Sandbox Code Playgroud)

对于 C 型:

DATA wa_ogr LIKE ZSGT_DELIVERYCLS.

wa_ogr2-ogrenci_no = 1.
wa_ogr2-ogrenci_adi = 'Seher'.
INSERT ZSGT_DELIVERYCLS FROM wa_ogr2.
Run Code Online (Sandbox Code Playgroud)

当我检查调试时,数据没有问题。 在此输入图像描述

有没有现场演示可以让我看到 C 的工作逻辑?您能更好地描述一下 C 级交付吗?

Phi*_*ipp 6

交付等级为 C 的表不是“客户”表,它们是“自定义”表表。“定制”是 SAP 的配置设置术语。它们应该包含系统范围或客户端范围的设置,这些设置应该在开发系统中设置,然后使用自定义传输传输到生产系统中。但实际情况是否如此取决于您在使用事务 SE54 生成维护对话框时选择的设置。可以拥有应该直接在生产系统中设置的自定义表,而无需传输请求。

交付类别 A 的表应该包含应用程序数据。由应用程序创建和更新的数据,作为其日常业务流程的一部分。通常应该没有理由传输该数据(尽管您可以通过手动将表名和键添加到传输请求来做到这一点)。这些应用程序可以是 SAP 标准应用程序、客户开发的应用程序或两者兼而有之。

还有交付类 L(应用于短期临时数据)以及类 G、E、S 和 W(仅应由 SAP 在其创建的表上使用)。

但从ABAP程序的角度来看,这些设置没有区别。无论交付类别如何,任何读取或写入数据库表的 ABAP 关键字都以相同的方式工作。

但有一些 SAP 标准工具以不同的方式处理这些表。其中一项重要的内容是客户端副本

  • 交付等级 C 表中的数据将始终被复制。
  • 仅在需要时才复制交付类别 A 表中的数据(这是复制配置文件中的设置)。您可以将其关闭以使用现有客户端的所有设置创建一个空客户端,或者在两个现有客户端之间同步自定义设置而不覆盖任何应用程序数据。如果您想要创建应用程序数据的副本,例如想要备份或想要对真实数据执行破坏性测试,则可以将其打开。
  • 不会复制交付等级 L 表中的数据。

有关交付类的更多信息,请查看文档