赛跑网

 找回密码
 注册

QQ登录

只需一步,快速开始

快捷登录

查看: 1476|回复: 0

27,ABAP语法之ABAP内部命令练习答案

[复制链接]
发表于 2015-7-8 14:00:43 | 显示全部楼层 |阅读模式
本帖最后由 SAPOK_ABAP 于 2015-7-8 14:02 编辑

ABAP语法之ABAP内部命令练习, 现在公布答案,答案不唯一,期待大家的奇思妙想。

假设内表和工作区分别为:GT_TAB GS_TAB.
将字段field1field2组合成一个行组,分别对字段FIELD2使用AT NEW AT END OF语法
LOOP AT GT_TAB INTO GS_TAB.
  AT NEW FIELD2.
    GS_TAB-FLAG_NEW = 'X'.
  ENDAT.
  AT END OF FIELD2.
    GS_TAB-FLAG_END = 'X'.
  ENDAT.
  MODIFY GT_TAB FROM GS_TAB.
ENDLOOP.
结合AT语法的原理,可以分析出GT_TAB内表的数据修改成如下:
FIELD1 FIELD2 FALG_NEW FLAG_END
AB        CD      X  
AB        CD                          X
EF        EG       X                  X
CD        AB      X
CD        AB
CD        AB                          X
EG        DF       X                 X
可以根据FLAG_NEWFLAG_END的字段值分布,判断出哪些是需要保留的数据,在来一句
DELETE GT_TAB WHERE FALG_NEW <> 'X' OR FLAG_END <> 'X'.
即可得到预期的数据
FIELD1 FIELD2 FALG_NEW FLAG_END
EF        EG        X                 X
EG        DF       X                 X




上一篇:26,ABAP语法之ABAP内部命令练习
下一篇:28,ABAP语法之数据字典(一)
本楼点评(0) 收起
高级模式
B Color Image Link Quote Code Smilies |上传

本版积分规则

小黑屋|联系我们|赛跑网 ( QQ:108519493QQfsq

GMT+8, 2024-4-20 01:08 , Processed in 0.172971 second(s), 29 queries .

Powered by 91SAP X3.4

© 2001-2023 91sap Team.

快速回复 返回顶部 返回列表