ABAP 新语法 FOR

作者:ABAP猿 约 5 分钟阅读 更新日期:2025-03-02 1 年前更新 标签:ABAP, Data Engineering, 开发, 数据工程
ABAP 新语法 FO - 封面图
ABAP 新语法 FO - 封面图
ABAP 新语法 FO - 封面图
ABAP 新语法 FO - 封面图

Alon e we can do so little; together we can do so much.

团结合作胜过于单打独斗。

ABAP 新语法 FO - 封面图
ABAP 新语法 FO - 封面图

1

程序效果

ABAP 新语法 FO - 封面图
ABAP 新语法 FO - 封面图

2

源码分享

ABAP 新语法 FO - 封面图
ABAP 新语法 FO - 封面图

*&\----------------------------------------------------------------------

*& 9\. For关键字 理解:循环内表

*&\----------------------------------------------------------------------

*& 语法:... FOR wa|<fs> IN itab [INDEX INTO idx] [cond] ...

*& ... FOR var = ... [THEN expr] UNTIL|WHILE log_exp [let_exp] ...

*&\----------------------------------------------------------------------

TYPES

BEGIN OF gty_student ,

name ( 10 ) TYPE c , "姓名

gender TYPE c , "性别

age TYPE i , "年龄

id ( 10 ) TYPE n , "学生ID

class ( 10 ) TYPE c , "班级

score TYPE p DECIMALS 1 , "成绩

level ( 10 ) TYPE c , "级别

ispass TYPE c , "是否通过

END OF gty_student ,

gty_t_student TYPE TABLE OF gty_student WITH EMPTY KEY .

DATA ( gt_student ) = VALUE gty_t_student ( LET pre = 'Student'

random = cl_abap_random_int => create ( seed = CONV # ( sy \- timlo

) min = 0 max = 100 ) IN

FOR n = 1 UNTIL n > 10

( id = n

name = |{ pre } { n }|

gender = COND # ( WHEN n < 6 THEN '男' ELSE '女' )

age = 10 \+ n

class = |{ n }班|

score = random -> get_next ( ) ) ).

DATA ( lt_stu01 ) = VALUE gty_t_student ( FOR <stu> IN gt_student INDEX INTO lv_index WHERE ( score >= 60 ) ( <stu> ) ).

TYPES

BEGIN OF line ,

col1 TYPE i ,

col2 TYPE i ,

col3 TYPE i ,

END OF line ,

itab TYPE STANDARD TABLE OF line WITH EMPTY KEY .

DATA ( lt_itab01 ) = VALUE itab ( FOR j = 11 THEN j + 10 WHILE j

< 40 "初始值,递增量,结束条件

( col1 = j col2 = j + 1 col3 = j + 2 ) ).

DATA ( lt_itab02 ) = VALUE itab ( FOR j = 11 THEN j + 10 UNTIL j

> 40

( col1 = j col2 = j + 1 col3 = j + 2 )

"11 12 13 - value 到 lt_for03

"21 22 23 - value 到 lt_for03

"31 32 33 - value 到 lt_for03

"41 - 结束循环

).

3

AI解释

ABAP 新语法 FO - 封面图
ABAP 新语法 FO - 封面图

仅供参考

ABAP 新语法 FO - 封面图
ABAP 新语法 FO - 封面图

这段ABAP代码主要介绍了ABAP中新引入的 ` FOR ` 关键字的用法,其中核心点如下:

** FOR关键字:循环内表 **

FOR关键字用于在内表的基础上进行循环,提供了一种简洁而直观的循环语法。

在示例中,FOR关键字的应用分为两种情况:

**循环内表元素** : ` FOR <stu> IN gt_student INDEX INTO lv_index WHERE ( score >=

60 ) ( <stu> ) ` 表示遍历 ` gt_student ` 内表,只选择成绩大于等于60的学生。

**数值循环:** ` FOR j = 11 THEN j + 10 WHILE j < 40 ( col1 = j col2 = j + 1 col3 =

j + 2 ) ` 表示从11开始,每次递增10,直到 ` j ` 大于等于40,然后将 ` col1 ` 、 ` col2 ` 和 `

col3 ` 的值加入内表。

**INDEX INTO和WHERE子句:**

` INDEX INTO lv_index ` :在循环内表元素的情况下,通过 ` INDEX INTO ` 可以获取当前元素的索引。 `

WHERE ( score >= 60 ) ` :在循环内表元素的情况下, ` WHERE ` 子句可以过滤出符合条件的元素。

**数值循环的THEN和UNTIL子句:**

` THEN j + 10 ` :表示每次循环递增的值。

` WHILE j < 40 ` :表示循环的结束条件,直到 ` j ` 的值大于等于40。

这种循环语法的引入使得代码更加简洁,易读性更强,特别是对于循环内表元素和数值循环的场景

ABAP 新语法 FO - 封面图
ABAP 新语法 FO - 封面图

以上是今日分享,希望对你有所帮助~~~

欢迎点赞、留言、分享

ABAP 新语法 FO - 封面图
ABAP 新语法 FO - 封面图
ABAP 新语法 FO - 封面图
ABAP 新语法 FO - 封面图
ABAP 新语法 FO - 封面图
ABAP 新语法 FO - 封面图
ABAP 新语法 FO - 封面图
ABAP 新语法 FO - 封面图

往期推荐

[ ABAP 新语法-LET

](https://mp.weixin.qq.com/s?__biz=Mzg3OTE2Njg0OQ==&mid=2247495544&idx=1&sn=11a10fc7f45113282e9b0e600c49e9e8&chksm=cf0a3b96f87db280c12b7c18df0823a4207c9d52b56b9d773135e12d6173c9636ce091a79cf4&scene=21#wechat_redirect)

[ ABAP 新语法-SWITCH、COND

](https://mp.weixin.qq.com/s?__biz=Mzg3OTE2Njg0OQ==&mid=2247495497&idx=1&sn=b28f14fe1ad6bb07ff1894d41a9c41b7&chksm=cf0a3ba7f87db2b1bffdddc196d2a40b0100fb280111fb5754433c56a0415693d0112b350cbb&scene=21#wechat_redirect)

[ ABAP 新语法-BASE

](https://mp.weixin.qq.com/s?__biz=Mzg3OTE2Njg0OQ==&mid=2247495446&idx=1&sn=8476464d43a57338e2a9596e5da896d4&chksm=cf0a3bf8f87db2ee1589fe57b62fa4f30463b97719fb08f446f71c9dd4ab562cb210e25223cd&scene=21#wechat_redirect)

[ ABAP 新语法-CORRESPONDING

](https://mp.weixin.qq.com/s?__biz=Mzg3OTE2Njg0OQ==&mid=2247495438&idx=1&sn=09d533259a5ffb296befb7e244255fd2&chksm=cf0a3be0f87db2f67f6ba2b07ba64fc7d116a55012c914d5f96d49886373e3723499739d0dbd&scene=21#wechat_redirect)

ABAP 新语法 FO - 封面图
ABAP 新语法 FO - 封面图
ABAP 新语法 FO - 封面图
ABAP 新语法 FO - 封面图

点个 在看 你最好看

ABAP猿

关于作者:ABAP猿

企业信息化与 SAP 技术顾问,长期专注 SAP ABAP、FI/CO、MM、SD 等模块的技术分享与实战经验总结。查看更多介绍

来源说明:本文内容由「ABAP新语法FOR.md」整理生成,仅用于内部技术分享与学习交流。