本文主要是介绍LOOP AT内表循环事件块 程序实例,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
REPORT zdemo_0006.
*声明一个结构
DATA: BEGIN OF gs_alv,
va1 TYPE char2,
va2 TYPE char2,
va3 TYPE char2,
va4 TYPE char2,
END OF gs_alv.
*声明内表
DATA: gt_alv LIKE TABLE OF gs_alv.
*赋值宏
DEFINE append_va.
gs_alv-va1 = &1.
gs_alv-va2 = &2.
gs_alv-va3 = &3.
gs_alv-va4 = &4.
APPEND gs_alv TO gt_alv.
CLEAR gs_alv.
END-OF-DEFINITION.
*给内表赋值
append_va '11' '11' '11' '11'.
append_va '11' '11' '11' '22'.
append_va '22' '11' '11' '33'.
append_va '11' '22' '33' '44'.
*输出表内容:
LOOP AT gt_alv ASSIGNING FIELD-SYMBOL(<fs_alv1>).
WRITE:/1 <fs_alv1>-va1,5 <fs_alv1>-va2,9 <fs_alv1>-va3,13 <fs_alv1>-va4.
ENDLOOP.
*遍历内表,测试on change of 。。。。endon语句,输出触发的那一行
WRITE:/ sy-uline.
WRITE:/'on change of'.
LOOP AT gt_alv ASSIGNING FIELD-SYMBOL(<fs_02>).
ON CHANGE OF <fs_02>-va3.
WRITE:/1 <fs_02>-va1,5 <fs_02>-va2,9 <fs_02>-va3,13 <fs_02>-va4.
ENDON.
ENDLOOP.
WRITE:/ sy-uline.
WRITE:/'AT NEW '.
LOOP AT gt_alv ASSIGNING FIELD-SYMBOL(<fs_01>).
AT NEW va3.
WRITE:/1 <fs_01>-va1,5 <fs_01>-va2,9 <fs_01>-va3,13 <fs_01>-va4.
ENDAT.
ENDLOOP.
WRITE:/ sy-uline.
WRITE:/'AT END OF '.
LOOP AT gt_alv ASSIGNING FIELD-SYMBOL(<fs_03>).
AT END OF va3.
WRITE:/1 <fs_03>-va1,5 <fs_03>-va2,9 <fs_03>-va3,13 <fs_03>-va4.
ENDAT.
ENDLOOP.
这篇关于LOOP AT内表循环事件块 程序实例的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!