有时候我们开发的时候,懒得写ALV输出,但是又想像ALV一样方便的看到输出结果,这个时候我们就可以直接用标准类 cl_demo_output 来实现
如下,是我之前写的一个成批输出消息的程序,现在我们在消息输出完之后再把存这些消息的表快速输出来
*&---------------------------------------------------------------------*
*& Report ZCYCLE006
*&---------------------------------------------------------------------*
*&
*&---------------------------------------------------------------------*
REPORT zcycle006.
DATA: gt_error TYPE esp1_message_tab_type,
gs_error LIKE LINE OF gt_error.
* msgid:消息号 例如 zmm
* msgty:消息类型 例如 e
* msgno:消息号 例如 009
* msgv1:消息1
* msgv2:消息2
* msgv3:消息3
* msgv4:消息4
* lineno :显示序号
gs_error-msgid = 'ZMM'.
gs_error-msgty = 'S'.
gs_error-msgno = '001'.
gs_error-msgv1 = 'cycle'.
gs_error-msgv2 = 'is'.
gs_error-msgv3 = 'handsome'.
APPEND gs_error TO gt_error.
gs_error-msgid = 'ZMM'.
gs_error-msgty = 'E'.
gs_error-msgno = '002'.
gs_error-msgv1 = 'you'.
gs_error-msgv2 = 'are'.
gs_error-msgv3 = 'the'.
gs_error-msgv4 = 'man'.
APPEND gs_error TO gt_error.
CALL FUNCTION 'C14Z_MESSAGES_SHOW_AS_POPUP'
TABLES
i_message_tab = gt_error.
cl_demo_output=>write( gt_error[] ). "定义哪些东西需要输出,可以是表,也可以是字段
cl_demo_output=>display( ). "一次性把 write进来的元素 输出
执行结果如下: