ABAP 没有 import,但它有一套更偏仓库级的依赖机制

发布时间:2026/7/14 20:06:40
ABAP 没有 import,但它有一套更偏仓库级的依赖机制 我们当前正在做的 RAP 销售订单项目里,ZI_HDR_SALES、ZC_HDR_SALES、行为定义、行为实现类和持久化表分散在多个开发对象中。写行为实现类时,代码可以直接使用某个全局接口、全局类、数据元素或 CDS 实体,不需要在文件顶部写一排import。从 TypeScript 或 JavaScript 转到 ABAP 时,这个细节很容易让人产生疑问,ABAP 到底是把依赖藏起来了,还是根本没有模块系统。答案可以直接定下来,ABAP 没有一个与 TypeScript 和 JavaScript 静态import完全对应的通用关键字。ABAP 具备模块化、名称可见性、依赖检查、封装和动态调用能力,只是这些能力没有集中到一个源代码语句里,而是分散在全局 Repository 对象、类与接口的可见区、包接口、包使用关系、API 发布状态、软件组件关系,以及经典程序里的INCLUDE等机制中。所以,看到 ABAP 里的INCLUDE、INTERFACES、TYPE-POOLS或CALL FUNCTION时,不能简单把它们逐字翻译成import。它们只覆盖了import某一小块职责,有些甚至采用完全不同的编译和运行模型。JavaScript 和 TypeScript 的 import 到底承担了哪些工作