ABAP 7.40语法

2020-08-20 03:34发布

点击此处---> 群内免费提供SAP练习系统(在群公告中)加入QQ群:457200227(SAP S4 HANA技术交流) 群内免费提供SAP练习系统(在群公告中)专家们, 如下所示,有两个相似...

         点击此处--->   EasySAP.com群内免费提供SAP练习系统(在群公告中)

加入QQ群:457200227(SAP S4 HANA技术交流) 群内免费提供SAP练习系统(在群公告中)


专家们,

如下所示,有两个相似的语句表现不同。

要求指出我正在犯的错误。

数据:ls_ret TYPE bapiret2,

ls TYPE atpmsg,

lt TYPE tbl_atpmsg,

lt1类型tbl_atpmsg。

ls_ret-message ='测试'。

在lt1后面加上首行。

" *声明1-****不工作****

lt =值#(对于lt1中的ls1(值#(基本对应#(基本(对应#(ls_ret))ls1)type ='E')))。

" * Statement2-****工作**** ls =值#(基本对应#(基本(对应#(ls_ret))ls)type = lv_sflag)。

5条回答
小灯塔
2020-08-20 04:03

Hi

 *目标字段被空的ls1字段覆盖,并且类型设置为'E'
 lt =值#(对于lt1中的ls1(值#(基本对应#(基本(对应#(ls_ret))ls1)type ='E'))))。

 *新结构的行为相同(无表)
 data(error_info)=值atpmsg(基本对应#(基本(对应#(ls_ret))ls)type ='E')。

 *在这里ls(作为目标数据对象)已经因为BASE而被填充了
 *内部CORRESPONDING已执行...
 ls =值#(基本对应#(基本(对应#(ls_ret))ls)type ='E')。


 ******************************************************  *******
 *您可以使用EXCEPT *获得预期的结果
 data(error_info)=值atpmsg(基本对应#(基本(对应#(ls_ret))ls EXCEPT *)type ='E')。

 lt =值#(对于lt1中的ls1(值#(基本对应#(基本(对应#(ls_ret))ls1 EXCEPT *)type ='E'))))。

谨记Domi

一周热门 更多>