A problem well stated is a problem half solved.
问 题说清楚了,就相当于解决一半了。
1
程序效果
2
源码分享
*&\----------------------------------------------------------------------
*& 8\. LET关键字 理解:临时变量
*&\----------------------------------------------------------------------
*& 语法:... LET {var1 = rhs1}|{<fs1> = wrexpr1}
*& {var2 = rhs2}|{<fs2> = wrexpr2} ... IN ...
*& 常与VALUE,SWIDCH,COND配合使用
*&\----------------------------------------------------------------------
BEGIN OF gty_student ,
name ( 10 ) TYPE c , "姓名
gender TYPE c , "性别
age TYPE i , "年龄
score TYPE p DECIMALS 1 , "成绩
END OF gty_student ,gty_t_student TYPE TABLE OF gty_student WITH EMPTY KEY .
BEGIN OF gty_school ,
school ( 30 ) TYPE c , "学校
address TYPE string , "学校地址
date TYPE d , "创建日期
time TYPE t , "创建时间
END OF gty_school ,gty_t_school TYPE TABLE OF gty_school WITH EMPTY KEY .
BEGIN OF lty_let ,
name ( 10 ) TYPE c , "姓名
gender TYPE c , "性别
gender_en ( 12 ) TYPE c , "性别英文
age TYPE i , "年龄
level ( 12 ) TYPE c , "评级
school ( 30 ) TYPE c , "学校
info TYPE string ,
END OF lty_let .DATA ( gt_student ) = VALUE gty_t_student ( ( name = 'Tom' gender =
'男' age = 20 score = '30' )
( name = 'Jack' gender = '男' age = 25 score = '85' ) ).
"Let常和Value,Swith,Cond,For等构造表达式使用
DATA ( ls_let ) = VALUE lty_let ( LET ls_stu = VALUE # (gt_student[ name = 'Jack' ] OPTIONAL )
ls_sch = VALUE gty_school ( school = 'A' date = '20210401' time ='080000' )
l_gender_en = SWITCH char12 ( ls_stu \- genderWHEN '男' THEN 'Man'
WHEN '女' THEN 'Woman'
ELSE 'Man or Woman' )
l_score = ls_stu \- scorel_level = COND char12 ( WHEN l_score >= 90 THEN '优秀'
WHEN l_score >= 80 AND l_score < 90 THEN '良好'
WHEN l_score >= 60 AND l_score < 80 THEN '及格'
ELSE '不及格' )
l_sep = ';'
l_info = 'Name:' && ls_stu \- name && l_sep && 'Age:' && ls_stu \- age&& l_sep && 'School:' && ls_sch \- school IN
"**************************************
name = ls_stu \- name "Jack
gender = ls_stu \- gender "男gender_en = l_gender_en "Man
age = ls_stu \- age "25level = l_level "良好
school = ls_sch \- school "Ainfo = l_info ). "Name:Jack;Age:25;School:A
3
AI解释
仅供参考
这段ABAP代码主要介绍了ABAP中新引入的 ` LET ` 关键字的用法,其中核心点如下:
** LET关键字:临时变量 ** ` LET ` 关键字用于在一个表达式中声明和使用临时变量。 示例中, ` ls_let `
是一个结构体,通过 ` LET ` 关键字创建了临时变量,其中的临时变量包括 ` ls_stu ` 、 ` ls_sch ` 、 `
l_gender_en ` 、 ` l_score ` 、 ` l_level ` 、 ` l_sep ` 、 ` l_info ` 。
这些临时变量的赋值是通过 ` VALUE ` 、 ` SWITCH ` 、 ` COND ` 等语句的组合,使得表达式更加清晰。
** 常与VALUE, SWITCH, COND等配合使用 ** ` LET ` 常常与 ` VALUE ` 、 ` SWITCH ` 、 `
COND ` 等关键字配合使用,通过它们的组合,可以在一个表达式中方便地声明和使用临时变量,提高代码的可读性和简洁性。
在示例中, ` LET ` 关键字使得声明和使用临时变量的过程更为简便,并且让整个表达式更易于理解。这对于新手来说是一种更直观的编程方式。
以上是今日分享,希望对你有所帮助~~~
欢迎点赞、留言、分享
往期推荐
[ ABAP新语法系列文章 预告
](https://mp.weixin.qq.com/s?__biz=Mzg3OTE2Njg0OQ==&mid=2247495367&idx=1&sn=f25eb22d7ae2bf247facb335ce6299d6&chksm=cf0a3a29f87db33f8d02e2de3380360b52ec2d411f036dda729346d8255ef8741527e24391c6&scene=21#wechat_redirect)
[ ABAP 新语法-构建演示数据
](https://mp.weixin.qq.com/s?__biz=Mzg3OTE2Njg0OQ==&mid=2247495390&idx=1&sn=55b0041df577df441aecbbe5891acfd6&chksm=cf0a3a30f87db326b5fde73627d116158d2ada96a929979de6705ab67a6fbfd0a686f11455b4&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 新语法-BASE
](https://mp.weixin.qq.com/s?__biz=Mzg3OTE2Njg0OQ==&mid=2247495446&idx=1&sn=8476464d43a57338e2a9596e5da896d4&chksm=cf0a3bf8f87db2ee1589fe57b62fa4f30463b97719fb08f446f71c9dd4ab562cb210e25223cd&scene=21#wechat_redirect)
点个 在看 你最好看