软件维护最怕的不是代码多,而是知识散。对很多企业而言,核心业务逻辑分布在 SAP ABAP 的类、接口、函数组、增强点、DDIC 对象、CDS 视图、网关服务实现里,真正的业务为什么这么写往往只存在于少数资深同事脑子里,或零碎地躺在 SE80 的短文本、SE61 文档、方法注释、数据元素说明、变更单附件中。等到要做并行项目、外包交接、合规审计、或把 On-Premise 里一大坨自建对象迁到 SAP S/4HANA Private Cloud / Public Cloud,再配合 SAP BTP 上的 ABAP environment 与 RAP,团队就会明显感到:缺少一套能把源码 + 注释 + 结构 + 图组织成可检索知识库的机制。
这篇文章分享一种非常务实的做法:把 ABAP 包里的开发对象文档抽取出来,转换成适合 Doxygen 处理的中间文件(例如 C 头文件风格的.h或额外的.dox文档页),再由 Doxygen 生成 HTML 站点;需要 UML 的地方,用 PlantUML 以手写文本的方式嵌入,Doxygen 会把\startuml到\enduml之间的内容渲染成图。Doxygen 的定位是从注释生成结构化文档,支持多种输出格式与组织方式(doxygen.nl);PlantUML 则是用文本画图,非常适