## Context sap-cli 当前支持 10 种 ABAP 开发对象类型的 CRUD 操作。本变更扩展至 14 种类型,新增消息类、数据库视图、搜索帮助和锁对象。这 4 种类型都属于 ABAP Dictionary (DDIC) 类别,创建时需要 XML body 而非纯文本源码。 ## Goals - 注册 4 种新的 DDIC 对象类型到类型注册表 - 实现 4 种类型的 create/info/delete 操作 - 对有源码的类型(view)支持 download/sync - 对无源码的类型(messageclass、lockobject)明确提示不支持 - 支持 JSON 定义文件创建 DDIC 对象 ## Non-Goals - 不实现搜索帮助的测试数据生成 - 不实现锁对象的自动函数模块调用 - 不涉及 CDS Access Control (DCL) 类型(P4 级别) ## Decisions 1. **消息类使用专用端点**:`/sap/bc/adt/messageclasses`,消息内容通过 XML 维护 2. **视图使用 DDIC 端点**:`/sap/bc/adt/ddic/views`,与 table/structure 类似的 XML schema 3. **搜索帮助使用 DDIC 端点**:`/sap/bc/adt/ddic/searchhelps` 4. **锁对象使用 DDIC 端点**:`/sap/bc/adt/ddic/lockobjects` 5. **文件扩展名统一 .abap**:有源码类型(view)的源码文件保持 .abap 扩展名 6. **目录命名约定**:`messageclasses/`、`views/`、`searchhelps/`、`lockobjects/` ## Risks / Trade-offs - **ADT 端点兼容性**:不同 SAP 版本(ECC vs S/4HANA)的端点可能有差异,需要实际验证 - **消息类 XML schema 复杂**:消息内容可能需要额外的 XML 处理逻辑 - **锁对象自动生成物**:SAP 会在锁对象创建时自动生成 enqueue/dequeue 函数模块,删除锁对象时这些也会被删除