SAP小技巧 CL_DEMO_OUTPUT优化-输出屏幕控制

前言

书接上文(内表输出使用字段描述)

详见链接

无峰,公众号:ABAP 技巧与实战SAP小技巧 优化CL_DEMO_OUTPUT

标准的CL_DEMO_OUTPUT输出固定了窗口输出,并且窗口大小不可调整.这就导致了如果内表字段过多,查看窗口输出内容会比较麻烦

本文主要介绍CL_DEMO_OUTPUT的优化:调整输出窗口方式及大小

前文实现效果

允许输出工作区,内表时,显示字段描述.

因为输出字段名时,基于HTML特性(CL_DEMO_OUTPUT的内表输出实际是HTML输出及调用内嵌浏览器显示),英文字段名被识别成一个单词,所以显示不换行. 

替换成中文后,基于字段的宽度换行.如果一个字段长度为1. 抬头的中文描述就会出现下图的效果. 这个暂时没有优化(涉及到HTML输出表格的调整,比较麻烦)

afcf351ecce0e67dbf985fdd6dee133b.png

acc9e97e1d7e08c7b48f69b13e9db9e4.png

新功能实现

允许控制屏幕输出方式及大小

全屏输出

057d2a21c70f60f893a096cba0f66fee.png

eccfde1adcf783c0bd2556a0b71b4db4.png

更大的对话窗口输出

f7ece44fdb2ee7491af3339c635ecdeb.png

4bfd06ec545fce5b3fff5944aa1ba968.png

实现方式

通过增强实现.

添加结构,整合所有允许的控制参数

eab77a2d7b1eee1b662e351b7989826b.png

基于前文,详见前言中的链接.在类ZCL_DEMO_OUTPUT中添加输入参数

63c3516a93fff370cdfc0c084b58aa6c.png

增强 cl_demo_output_html=>handle_output 增强中重写该方法的代码,添加参数传递给

cl_abap_browser=>show_html . 实现对输出窗口的控制.

c1d21cf8682e9b6c9a7d1601c6e751be.png

627532b3895c6121118ce187d66431e8.png

总结

CL_DEMO_OUTPUT针对变量,工作区,内表的输出,实际是生成HTML,然后使用内嵌浏览器cl_abap_browser=>show_html 显示XML内容. 通过调整这个方法的输入参数达成控制输出屏幕方式及大小.

后续考虑了一个优化方向: 多内表输出时, 在前面先输出每个内表的总体信息(内表,描述,条目数). 后面输出每个单独内表的所有内容. 然后通过HTML的超链通过点击内表条目数,跳转到内表内容的显示区域,通过返回链接回到内表清单.

后续有机会了去完成这个功能.

29831cd0393c83fa669e6e90d95f106b.png

THE

END

约定

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

请微信联系管理员: 

syjf1976 

sharry_xlp  

Yannick_Duan 

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

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值