[ChatGPT 勘误]:ABAP 系统里数据库表 dlv_systc 的用途

举报
Jerry Wang 发表于 2023/03/04 14:46:29 2023/03/04
【摘要】 编程语言 ABAP 系统里数据库表 dlv_systc 的用途?ChatGPT 的回复:在 编程语言 ABAP 系统中,数据库表 dlv_systc 是用于存储交货单系统条件检查的相关数据的。交货单是指在销售和分销过程中,将产品或服务从供应商转移到客户的文件。在交货单创建和处理过程中,系统需要进行一系列的条件检查,以确保交货单数据的正确性和完整性。dlv_systc 表包含了用于交货单系统条...

编程语言 ABAP 系统里数据库表 dlv_systc 的用途?

ChatGPT 的回复:

在 编程语言 ABAP 系统中,数据库表 dlv_systc 是用于存储交货单系统条件检查的相关数据的。交货单是指在销售和分销过程中,将产品或服务从供应商转移到客户的文件。在交货单创建和处理过程中,系统需要进行一系列的条件检查,以确保交货单数据的正确性和完整性。

dlv_systc 表包含了用于交货单系统条件检查的各种规则和设置。它存储了与条件检查相关的信息,如检查的编号、检查的名称、检查的类型、检查的结果等。这些数据可以用于在交货单创建和处理过程中进行自动化的条件检查,并在需要时自动触发相关的操作和通知。

由于 dlv_systc 表存储了涉及到交货单创建和处理的重要信息,因此只有经过授权的用户才能对其进行更改和维护。开发人员可以使用 ABAP 语言访问和操作该表,以满足特定的业务需求。

这个回复不正确。笔者猜测 ChatGPT 将缩写 dlv 理解成了 编程语言 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 开发人员低质量的增强影响整个系统的运行,如下图所示:

【版权声明】本文为华为云社区用户原创内容,转载时必须标注文章的来源(华为云社区)、文章链接、文章作者等基本信息, 否则作者和本社区有权追究责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。