AT NEW和 AT END OF的使用


在这里插入图片描述

在这里插入图片描述

使用

在这里插入图片描述

建立程序

在这里插入图片描述

输出结果

在这里插入图片描述

AT END OF col2 输出

在这里插入图片描述

测试程序2

AT NEW

在这里插入图片描述

AT END OF

在这里插入图片描述

*&---------------------------------------------------------------------*
*& Report Z_TEST_ASSIGN5
*&---------------------------------------------------------------------*
*&
*&---------------------------------------------------------------------*
REPORT z_test_assign5.
*&---------------------------------------------------------------------*

TYPES: BEGIN OF gty_data,
  a TYPE i,
  b TYPE c,
  c TYPE c,
  END OF gty_data.
DATA: gt_data TYPE TABLE OF gty_data.
DATA: gs_data TYPE gty_data.

FIELD-SYMBOLS:<f1> TYPE sflight,
               <f2> TYPE ANY TABLE,
               <f3> TYPE any,
               <f4> TYPE gty_data,
               <f5> TYPE REF TO data.
APPEND VALUE #( a = 1 b = 'a' c = 'c1') TO gt_data.
APPEND VALUE #( a = 1 b = 'a' c = 'c2') TO gt_data.
gs_data  = VALUE #( a = 1 b = 'a').
ASSIGN gt_data TO <f2>.

DATA: index TYPE i.
LOOP AT <f2> ASSIGNING FIELD-SYMBOL(<fs>).
  cl_demo_output=>write( <fs> ).
ENDLOOP.
cl_demo_output=>line( ).
cl_demo_output=>write( '第二次循环,使用AT NEW A,字段a及a左边的字段的值和上一行不一致时,就会执行代码 ' ).
LOOP AT gt_data INTO gs_data.
  AT NEW a. "字段a及a左边的字段的值和上一行不一致时,就会执行代码
     cl_demo_output=>write(  gs_data ).
  ENDAT.
ENDLOOP.
cl_demo_output=>line( ).
cl_demo_output=>write( '第三次循环,使用AT END OF B,字段B及B左边的字段的值和下一行不一致时,就会执行代码' ).
LOOP AT gt_data INTO gs_data.
  AT END OF B. "字段a及a左边的字段的值和下一行不一致时,就会执行代码
     cl_demo_output=>write(  gs_data ).
  ENDAT.
ENDLOOP.
cl_demo_output=>display( ).
WRITE:''.
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值