简体   繁体   English

SAP Data Dictionary 中的 Table Delivery Class 有什么用?

[英]What is the use of Table Delivery Class in SAP Data Dictionary?

I want to see the difference of Delivery Class 'A' and 'C'.我想看看交货 Class 'A' 和 'C' 的区别。 C for data entered only by the customer, but how can I see it on the code? C 仅由客户输入的数据,但我如何在代码上看到它?

I created two tables of type 'A' and 'C'.我创建了两个类型为“A”和“C”的表。 I add data with ABAP code.我使用 ABAP 代码添加数据。 I thought I couldn't add data to the table I created with C, but they both work the same.我以为我无法将数据添加到使用 C 创建的表中,但它们的工作方式相同。

For A Type:对于 A 类型:

DATA wa_ogr LIKE ZSGT_DELIVCLS2.

wa_ogr-ogrenci_no = 1.
wa_ogr-ogrenci_adi = 'Seher'.
INSERT ZSGT_DELIVCLS2 FROM wa_ogr.

For C Type:对于 C 类型:

DATA wa_ogr LIKE ZSGT_DELIVERYCLS.

wa_ogr2-ogrenci_no = 1.
wa_ogr2-ogrenci_adi = 'Seher'.
INSERT ZSGT_DELIVERYCLS FROM wa_ogr2.

Datas get trouble-free when I check with debugging.当我检查调试时,数据变得无故障。 在此处输入图像描述

Is there a live demo where I can see the working logic of C?是否有现场演示,我可以看到 C 的工作逻辑? Can you describe Delivery Class C better?您能更好地描述交货 Class C 吗?

Tables with delivery class C are not "customer" tables, they are "custom izing " tables.交货表 class C不是“客户”表,它们是“定制”表。 "Customizing" is SAPspeak for configuration settings. “定制”是配置设置的 SAPspeak。 They are supposed to contain system-wide or client-wide settings which are supposed to be set in the development system and then get transported into the production system using a customizing transport.它们应该包含系统范围或客户端范围的设置,这些设置应该在开发系统中设置,然后使用自定义传输传输到生产系统。 But if that's actually the case or not depends on what setting you choose when generating a maintenance dialog with transaction SE54.但是否确实如此取决于您在使用事务 SE54 生成维护对话框时选择的设置。 It's possible to have customizing tables which are supposed to be set in the production system directly without a transport request.可以在没有传输请求的情况下直接在生产系统中设置定制表。

Tables with delivery class A are supposed to contain application data.交付 class A 的表应该包含应用程序数据。 Data which is created and updated by applications as part of their daily business processes.作为其日常业务流程的一部分,由应用程序创建和更新的数据。 There should usually be no reason to transport that data (although you can do that by manually adding the table name and keys to a transport request).通常应该没有理由传输该数据(尽管您可以通过手动将表名和键添加到传输请求中来做到这一点)。 Those applications can be SAP standard applications, customer-developed applications or both.这些应用程序可以是 SAP 标准应用程序、客户开发的应用程序或两者兼而有之。

There is also the delivery class L which is supposed to be used for short-living temporary data as well as the classes G, E, S and W which should only be used by SAP on tables they created.还有交付 class L 应该用于短期临时数据以及 G、E、S 和 W 类,它们只能由 SAP 在他们创建的表上使用。

But from the perspective of an ABAP program, there is no difference between these settings.但从 ABAP 程序的角度来看,这些设置之间没有区别。 Any ABAP keywords which read or write database tables work the same way regardless of delivery class.无论交付 class,任何读取或写入数据库表的 ABAP 关键字都以相同的方式工作。

But there are some SAP standard tools which treat these tables differently.但是有一些 SAP 标准工具会以不同的方式处理这些表。 One important one are client copies:一项重要的是客户端副本:

  • Data in delivery class C tables will always be copied.交付中的数据 class C 表格将始终被复制。
  • Data in delivery class A tables is only copied when desired (it's a setting in the copy profile).交付中的数据 class 仅在需要时复制表(这是复制配置文件中的设置)。 This allows you to create empty clients which contain all the settings of an existing client or to synchronize customizing settings between clients without changing any of the data.这允许您创建包含现有客户端的所有设置的空客户端,或者在客户端之间同步自定义设置而不更改任何数据。
  • Data in delivery class L tables doesn't get copied.未复制交付 class L 表中的数据。

For more information on delivery classes, check the documentation .有关交付类别的更多信息,请查看文档

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM