SAP 小技巧优化 CL_DEMO_OUTPUT

作者:ABAP技巧与实战 约 5 分钟阅读 更新日期:2025-03-02 1 年前更新 标签:ABAP, Data Engineering, 开发, 数据工程
SAP 小技巧优化 CL_DEMO_OUTPUT - 封面图
SAP 小技巧优化 CL_DEMO_OUTPUT - 封面图

原创 无峰 [ ABAP 技巧与实战 ](javascript:void\(0\);)

前言

CL_DEMO_OUTPUT 是一个测试用例输出的类, 可以非常方便的输出

字段,结构,内表

XML

JSON

输出XML 及 JSON时会优化格式

但是这个类在输出字段,结构,内表时没有提供输出描述的选项

**本文主要介绍怎么通过CL_DEMO_OUTPUT输出字段描述及内容**

输出示例

_**01** _

**输出字段,结构,内表**

SAP 小技巧优化 CL_DEMO_OUTPUT - 封面图
SAP 小技巧优化 CL_DEMO_OUTPUT - 封面图
SAP 小技巧优化 CL_DEMO_OUTPUT - 封面图
SAP 小技巧优化 CL_DEMO_OUTPUT - 封面图

_**02** _

**输出JSON/XML**

SAP 小技巧优化 CL_DEMO_OUTPUT - 封面图
SAP 小技巧优化 CL_DEMO_OUTPUT - 封面图
SAP 小技巧优化 CL_DEMO_OUTPUT - 封面图
SAP 小技巧优化 CL_DEMO_OUTPUT - 封面图

应用

在一个复杂程序中,可以通过这种输出方式同时输出中间过程数据, 以便核查计算过程,这个输出可以把多个结构,内表的内容呈现在一个屏幕上,

方便用户及时获取所有中间过程数据

SAP 小技巧优化 CL_DEMO_OUTPUT - 封面图
SAP 小技巧优化 CL_DEMO_OUTPUT - 封面图
SAP 小技巧优化 CL_DEMO_OUTPUT - 封面图
SAP 小技巧优化 CL_DEMO_OUTPUT - 封面图

缺点

在输出结构,内表时, 类会自动添加字段名作为抬头,二者输出样式一致.因为字段名不方便用户理解字段内容 ,用户期望输出字段描述.

SAP 小技巧优化 CL_DEMO_OUTPUT - 封面图
SAP 小技巧优化 CL_DEMO_OUTPUT - 封面图

改造原理

类CL_DEMO_OUTPUT 的最终输出形式有两种

• HTML

• TXT

一般情况下默认使用HTML方式输出, 该类提供了一个GET方法,用于获取生成的HTML串,

可以通过替代语句取代HTML中表格抬头部分即可, 如下图, 可以简单的实现特定字段替代成字段描述输出

SAP 小技巧优化 CL_DEMO_OUTPUT - 封面图
SAP 小技巧优化 CL_DEMO_OUTPUT - 封面图

改造类

改造后的类ZCL_DEMO_OUTPUT, 使用方式与CL_DEMO_OUTPUT完全一致,

只是根据上述原理批量把字段名替换成字段描述,并且可以通过参数传递特定字段需要的描述,可以很方便的使用.

SAP 小技巧优化 CL_DEMO_OUTPUT - 封面图
SAP 小技巧优化 CL_DEMO_OUTPUT - 封面图
SAP 小技巧优化 CL_DEMO_OUTPUT - 封面图
SAP 小技巧优化 CL_DEMO_OUTPUT - 封面图

类ZCL_DEMO_OUTPUT

这个类非常简单, 核心就是获取HTML并动态替换字段名.截图如下, 需要的可以仿照创建. 也可以联系我索取类源代码

SAP 小技巧优化 CL_DEMO_OUTPUT - 封面图
SAP 小技巧优化 CL_DEMO_OUTPUT - 封面图
SAP 小技巧优化 CL_DEMO_OUTPUT - 封面图
SAP 小技巧优化 CL_DEMO_OUTPUT - 封面图
SAP 小技巧优化 CL_DEMO_OUTPUT - 封面图
SAP 小技巧优化 CL_DEMO_OUTPUT - 封面图
SAP 小技巧优化 CL_DEMO_OUTPUT - 封面图
SAP 小技巧优化 CL_DEMO_OUTPUT - 封面图

总结

CL_DEMO_OUTPUT是一个很简单好用的输出工具, 只是它仅输出字段名的特点限制了使用它输出给最终用户.

通过对类的改造, 允许输出字段描述, 可以把这个方式作为输出给用户呈现数据的一种方式

** THE **

** END **

**约定**

如果你对这篇文章感兴趣,请帮忙点赞,在看,分享.

( **如果你真的喜欢这篇文章,请记得回来打个赏,作为支持我继续下去的动力,这是一个正反馈过程.

越多的人打赏,作者越有动力分享,读者就能享受更多的福利.毕竟打赏的金额富不了我,穷不了你,却能支持这个公众号长久发文.** )

请微信联系管理员

syjf1976

sharry_xlp

Yannick_Duan

申请进入公众号讨论群提问或者参与话题讨论

ABAP技巧与实战

关于作者:ABAP技巧与实战

企业信息化与 SAP 技术顾问,长期专注 SAP ABAP、FI/CO、MM、SD 等模块的技术分享与实战经验总结。查看更多介绍

来源说明:本文内容由「SAP小技巧优化CL_DEMO_OUTPUT.md」整理生成,仅用于内部技术分享与学习交流。