在ABAP 7.40 SP0019中修改同一内部表

2020-09-10 16:47发布

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

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


嗨,

我正在学习使用ABAP.C的新功能进行编码,任何人都可以通过逻辑帮助我

我有一个包含3列的内部表,我想基于条件与新功能7.40一起使用的列修改同一内部表

 SELECT ebeln AS po,
          bukrs AS ccode,
          ernam AS uname
          从ekko
          ernam = @uname到表@DATA(result1)最多10行。

 * ~~~~老方法
 *将公司代码更改为0005,公司代码为0001
 在ccode eq为'0001'的地方在result1 ASSIGNING 处循环。
    -ccode ='0005'。
  结局。
 --------------------------------------------------  ------------------------------------

 * ~~~~~我正在尝试新的方法,如何在下面的代码中添加where子句。
 result1 = VALUE#(LET lt_temp = result1 IN FOR ls_temp IN lt_temp
                                 (po = ls_temp-po
                       ccode ='0221'
                       uname = ls_temp-uname))。
 *显示


   cl_demo_output => display(result1)。

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

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


嗨,

我正在学习使用ABAP.C的新功能进行编码,任何人都可以通过逻辑帮助我

我有一个包含3列的内部表,我想基于条件与新功能7.40一起使用的列修改同一内部表

 SELECT ebeln AS po,
          bukrs AS ccode,
          ernam AS uname
          从ekko
          ernam = @uname到表@DATA(result1)最多10行。

 * ~~~~老方法
 *将公司代码更改为0005,公司代码为0001
 在ccode eq为'0001'的地方在result1 ASSIGNING 处循环。
    -ccode ='0005'。
  结局。
 --------------------------------------------------  ------------------------------------

 * ~~~~~我正在尝试新的方法,如何在下面的代码中添加where子句。
 result1 = VALUE#(LET lt_temp = result1 IN FOR ls_temp IN lt_temp
                                 (po = ls_temp-po
                       ccode ='0221'
                       uname = ls_temp-uname))。
 *显示


   cl_demo_output => display(result1)。
付费偷看设置
发送
6条回答
哎,真难
1楼 · 2020-09-10 17:27.采纳回答

如果您在谈论构造函数表达式,则将使用它们来构造而不是更新。

因此,请继续按照"旧方法"进行操作。

在您的情况下,您应该使用其他"旧"语法,该语法要快一些:

 DATA ls_result1类似于result1的行。
 ls_result1-ccode ='0005'。
 修改结果1来自ls_result1传输ccode,其中ceq等于'0001'。
Cikesha
2楼-- · 2020-09-10 17:17

如果您使用字段符号,则不需要Modify语句

在result1处分配LOOP,在 Ccode eq'0001'处。
    -ccode ='0005'。
   从传输ccode修改result1。  ---->不需要
 ENDLOOP。

请参考此链接以获取新语法 重视新语法

Baoming ROSE
3楼-- · 2020-09-10 17:28

感谢@Muthu raja,这是一个错误。 我修改了问题。

d56caomao
4楼-- · 2020-09-10 17:23

我的示例基于表表达式作家职位,我不知道不应在更新中使用它。

小熊yu生菜
5楼-- · 2020-09-10 17:31

@ 塞克里希纳·库洛里感谢您的答复。

您提供的代码段将更改表中所有行的值。

对于我来说,我想根据条件进行更新。 (例如-仅适用于句号='1'的行,我想更新为'99')

clasier
6楼-- · 2020-09-10 17:07

请使用COMMENT按钮回复询问详细信息的人。 答案仅是提出解决方案。 谢谢。

一周热门 更多>