One a lways has enough time, if one will apply it well.
人总是有足够的时间,如果他好好利用。
1
程序效果
2
源码分享
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 .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 ( ) ) ).
cl_demo_output => display ( gt_student ).
3
AI解释
仅供参考
这段ABAP代码使用了新的ABAP语法特性,主要是通过 ` VALUE #( LET ... IN ... FOR ... ) ` 构建了一个内表 `
gt_student ` ,并使用了 ` cl_abap_random_int ` 类生成了一些随机数据。
关键点解释如下:
** 定义内表结构: ** 使用 ` TYPES ` 关键字定义了一个内表行结构 ` gty_student `
,包含了学生的姓名、性别、年龄、学生ID、班级、成绩、级别以及是否通过等字段。
**声明内表和工作区:** 声明了一个内表 ` gt_student ` ,以及一个工作区 ` gs_student ` ,用于存储学生信息。
**使用新语法构建内表数据:** 利用 ` VALUE #( LET ... IN ... FOR ... ) `
的新语法,通过循环构建了10个学生的数据,其中 ` LET ` 用于定义局部变量, ` IN ` 用于指定循环的范围, ` FOR `
用于循环体的执行。在循环中,使用了 ` cl_abap_random_int ` 类生成随机数作为学生成绩。
**显示结果:** 最后通过 ` cl_demo_output=>display( gt_student ) ` 将构建好的学生数据显示在屏幕上。
总体来说,这段代码展示了如何使用ABAP的新语法特性来简洁地构建内表数据,同时通过随机数生成了一些具有随机性的学生信息,最终将结果显示在屏幕上。这种新的语法不仅简化了代码,还提高了可读性和编写效率。
以上是今日分享,希望对你有所帮助~~~
欢迎点赞、留言、分享
往期推荐
[ ABAP OOALV-基本显示
](https://mp.weixin.qq.com/s?__biz=Mzg3OTE2Njg0OQ==&mid=2247494292&idx=1&sn=214e02d67346801142db4a6e90c93f79&chksm=cf0a3e7af87db76c1b8146388878c5afe2a6ba90466af37d9b91831ff12b70c5a982399ba51f&scene=21#wechat_redirect)
[ ABAP SALV-基本显示、外观设置、列设置
](https://mp.weixin.qq.com/s?__biz=Mzg3OTE2Njg0OQ==&mid=2247493394&idx=1&sn=59eb6a2448a28c6c9d0e6d57b9f1e16a&chksm=cf0a33fcf87dbaea56fc1e465ec11caa4dc078e8fb6c0404634c2cac4393aa1dfd94fd371ea9&scene=21#wechat_redirect)
点个 在看 你最好看