SAP ABAP 零碎里数据库表 dlv_systc 的用处?
ChatGPT 的回复:
在 SAP ABAP 零碎中,数据库表 dlv_systc 是用于存储交货单零碎条件查看的相干数据的。交货单是指在销售和分销过程中,将产品或服务从供应商转移到客户的文件。在交货单创立和处理过程中,零碎须要进行一系列的条件查看,以确保交货单数据的正确性和完整性。
dlv_systc 表蕴含了用于交货单零碎条件查看的各种规定和设置。它存储了与条件查看相干的信息,如查看的编号、查看的名称、查看的类型、查看的后果等。这些数据能够用于在交货单创立和处理过程中进行自动化的条件查看,并在须要时主动触发相干的操作和告诉。
因为 dlv_systc 表存储了波及到交货单创立和解决的重要信息,因而只有通过受权的用户能力对其进行更改和保护。开发人员能够应用 ABAP 语言拜访和操作该表,以满足特定的业务需要。
这个回复不正确。笔者猜想 ChatGPT 将缩写 dlv 了解成了 SAP S/4HANA(SCM) 供应链治理模块里的交货单 – Delivery Note?
实际上,dlv_systc
这张表,形容信息 System Change Option for Software Components
,存储的是每个 ABAP software component 的可修改性 (changeability)
:
这里的 DLVUNIT
,公布单元,指的就是一个个的 ABAP Software Component.
这张表里的内容如下:
ABAP 里的对象 (比方 ABAP 类,ABAP Function Module,ABAP DDIC 对象) 都存储在 ABAP 开发包 (package) 里。
双击这些 ABAP 开发包,就能查问到期所属的 Software Component 了:
就能看到其所属的 Software component 了:
这个表被 ABAP Function Module TR_GET_DLVUNIT_CHANGEABILITY 应用。
一个 ABAP Software Component 的可编辑性有下列 4 种状况,通过 Domain DLV_CHANGE
管制:
- F:能够被批改
- R:能够在满足限度条件下被批改
- E:不能被批改,能够被加强
- N:不能被批改,不能被加强
在 cl_r3standard_persistence 的 obj_is_enhanceable
办法里,有些 ABAP 系统核心的 Software Component 被硬编码成不可批改,以防止 ABAP 开发人员低质量的加强影响整个零碎的运行,如下图所示: