很多 ABAP 开发者都经历过类似的尴尬:为了看一眼中间结果,顺手写了几句WRITE,跑在前台还凑合;一旦丢到后台作业,生成一堆 spool,运维同事脸色比sy-subrc还难看。更别提在现代语法里,结构越来越深、表里套表、引用满天飞,经典 list 输出很快就不够用了。
SAP 在很早之前就提供了CL_DEMO_OUTPUT,定位也很明确:给示例程序、原型验证、教学演示用,用更现代的方式替代经典 list 输出。它能把数据以文本或 HTML 的方式组织出来,做到一行调用就能看结果。(Medium) 但老版本始终有个遗憾:它对“深层数据”和“引用对象”的呈现不够完整,越是贴近真实项目的数据形态,越容易把输出搞得让人皱眉。
这篇文章就围绕《CL_DEMO_OUTPUT invigorated》这次增强,把它为何增强、增强了什么、怎么用得更像一篇“会自我解释的 Demo”,以及在 S/4HANA 与 ABAP Cloud 场景里如何落地,系统讲透。
你以为你在输出结构,实际上只输出了个壳
先看一个特别典型的深层结构声明:外层super里嵌一个子结构