ABAP 新语法 VALUE

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

I 'd rather regret the things I've done

t han regret the things I haven't done.

我宁可后悔我曾做过的事,也不要懊悔我从未去做。

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

1

程序效果

**ABAP 新语法 VALU - 封面图

**

2

源码分享

**ABAP 新语法 VALU - 封面图

**

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 .

DATA

gt_student TYPE TABLE OF gty_student ,

gs_student TYPE gty_student .

gt_student = VALUE # ( 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 ( ) ) ).

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

*& 3\. VALUE关键字 理解:赋值语句

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

*& 语法:Variables: VALUE dtype|#( )

*& Structures: VALUE dtype|#( comp1 = a1 comp2 = a2 … )

*& Tables: VALUE dtype|#( ( … ) ( … ) ( … ) … )

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

DATA ( lv_var ) = VALUE i ( ).

DATA ls_stu01 TYPE gty_student .

ls_stu01 = VALUE # ( name = 'Tom' gender = '男' age = 20 ).
DATA ( ls_stu02 ) = VALUE gty_student ( name = 'Jack' gender = '男'

age = 18 ).

DATA lt_stu01 TYPE TABLE OF gty_student .

lt_stu01 = VALUE # ( ( ls_stu01 )

( ls_stu02 )

( )

( name = 'Lisa' gender = '女' age = 18 ) ).

TYPES lty_t_student TYPE TABLE OF gty_student WITH EMPTY KEY .

DATA ( lt_stu02 ) = VALUE lty_t_student ( ( name = 'Tom' gender =

'男' age = 20 )

( name = 'Lisa' gender = '女' age = 18 ) ).

"Range:不带表头

DATA r_data TYPE RANGE OF i .

r_data = VALUE # ( sign = 'I' option = 'BT' ( low = 10 high =

20 )

( low = 100 high = 150 )

option = 'GT' ( low = 180 )

option = 'LT' ( low = 200 )

option = 'EQ' ( low = 8 )

sign = 'E' option = 'BT' ( low = 15 high = 18 ) ).

"Range:带表头

RANGES : r_erdat FOR usr02 \- erdat .

r_erdat[] = VALUE # ( sign = 'I' option = 'BT' ( low =

'20210101' high = '20210301' )

sign = 'E' option = 'BT' ( low = '20210201' high = '20210228' )

).

3

AI解释

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

仅供参考

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

** 初始化变量: **

使用 ` DATA(lv_var) = VALUE i( ). ` ,在声明变量的同时使用VALUE初始化,确保变量被正确赋予默认值。

**结构体初始化:**

使用 ` ls_stu01 = VALUE #( name = 'Tom' gender = '男' age = 20 ). `

,通过VALUE初始化结构体 ` gty_student ` 的实例。

**内表初始化:**

使用 ` lt_stu01 = VALUE #( ( ls_stu01 ) ( ls_stu02 ) ( ) ( name = 'Lisa' gender = '女' age = 18 ) ). ` ,通过VALUE初始化内表 ` lt_stu01 ` ,包含了不同的结构体实例。

**内表类型初始化:**

使用 ` lt_stu02 = VALUE lty_t_student( ( name = 'Tom' gender = '男' age = 20 ) ( name = 'Lisa' gender = '女' age = 18 ) ). ` ,通过VALUE初始化带有特定类型的内表 ` lt_stu02

` 。

**范围表初始化:**

使用 ` r_data = VALUE #( sign = 'I' option = 'BT' ( low = 10 high = 20 ) ( low

= 100 high = 150 ) option = 'GT' ( low = 180 ) option = 'LT' ( low = 200 )

option = 'EQ' ( low = 8 ) sign = 'E' option = 'BT' ( low = 15 high = 18 ) ).

` ,通过VALUE初始化范围表 ` r_data ` ,其中包含多个范围值。

**带表头的范围初始化:**

使用 ` r_erdat[] = VALUE #( sign = 'I' option = 'BT' ( low = '20210101' high =

'20210301' ) sign = 'E' option = 'BT' ( low = '20210201' high = '20210228' )

). ` ,通过VALUE初始化带有表头的范围表 ` r_erdat ` ,包含多个范围值。

VALUE关键字的使用能够简化初始化操作,使代码更为简洁和可读。通过这些例子,你可以向新手解释如何使用VALUE关键字进行不同类型数据的初始化。

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

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

欢迎点赞、留言、分享

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

往期推荐

[ ABAP 新语法-构建演示数据

](https://mp.weixin.qq.com/s?__biz=Mzg3OTE2Njg0OQ==&mid=2247495390&idx=1&sn=55b0041df577df441aecbbe5891acfd6&chksm=cf0a3a30f87db326b5fde73627d116158d2ada96a929979de6705ab67a6fbfd0a686f11455b4&scene=21#wechat_redirect)

[ ABAP 新语法-DATA、FIELD-SYMBOL

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

[ ABAP 新语法-ITAB[ idx ]、ITAB[ key ]

](https://mp.weixin.qq.com/s?__biz=Mzg3OTE2Njg0OQ==&mid=2247495421&idx=1&sn=5bf5211e0efd337c99f468b404a74241&chksm=cf0a3a13f87db30581864047c526686107ab52627f151d2a7b351ffc4042ccf0c663e2bc90c6&scene=21#wechat_redirect)

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

点个 在看 你最好看

ABAP猿

关于作者:ABAP猿

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

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