结构的修改组件(任何类型)

2020-08-25 08:41发布

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

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


嗨朋友,

我有两个结构:

两者均为" ANY"类型,我想根据另一个结构:的键修改结构:中特定字段的值。

在此示例中,我想将"字段:RCOOP"值从9.00更新为8.00

任何人都可以帮助我实现这一目标吗?

有没有类似于ASSIGN COMPONENT的语句,我理想情况下希望编写如下内容:

修改组件" RCOOP" 结构

我可以使用以下语句获取值:将结构的ASSIGN COMPONENT'RCOOP'转换为

请查看屏幕截图。

sap-question.jpg (181.6 kB)

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

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


嗨朋友,

我有两个结构:

两者均为" ANY"类型,我想根据另一个结构:的键修改结构:中特定字段的值。

在此示例中,我想将"字段:RCOOP"值从9.00更新为8.00

任何人都可以帮助我实现这一目标吗?

有没有类似于ASSIGN COMPONENT的语句,我理想情况下希望编写如下内容:

修改组件" RCOOP" 结构

我可以使用以下语句获取值:将结构的ASSIGN COMPONENT'RCOOP'转换为

请查看屏幕截图。

sap-question.jpg (181.6 kB)
付费偷看设置
发送
8条回答
ZJXianG
1楼-- · 2020-08-25 09:20

不确定您要问的是什么。 也许如何基于由可变数量的组件组成的主键读取动态内部表的一行,在这种情况下,请使用READ TABLE FROM

 DATA:scarr_s TYPE SORTED 桌子上有唯一钥匙的香薰carrid,
       scarr_key TYPE恐怖。
 字段符号:
    TYPE任意,
    TYPE SORTED TABLE。

 scarr_s = VALUE#(
   (carrid ='QA'carrname ='Qatar Airways')
   (carrid ='LH'carrname ='汉莎航空')
   (carrid ='AF'carrname ='Air France'))。
 scarr_key-carrid ='LH'。

 ASSIGN Scarr_s至。
 将scarr_key分配到。

 从分配字段符号()中读取表。
 确认sy-subrc = 0。

 将结构的组件'CARRNAME'分配给FIELD-SYMBOL()。
  ='LUFTHANSA'。

 ASSERT scarr_s [carrid ='LH'] -carrname ='LUFTHANSA'。
亦是此间程序员
2楼-- · 2020-08-25 09:27

您好 Frederic Girod

由于我为strucutre 分配了分量RCOOP(保留在变量lv_kf中),因此仅包含值8.00。

您可以在我的原始帖子的屏幕快照中看到结构的内容。

追夢秋陽
3楼-- · 2020-08-25 09:12

您好,Venkata,

您可以执行以下操作:

1。 使用" ASSIGN COMPONENT",您可以在中获取必填字段值。

2。 将结构分配给组件'RCOOP'到

=

GK

zhangjiyang1323
4楼-- · 2020-08-25 09:25

无休止的讨论 ,最终会像Gaurav最初建议的那样以" please do = "结束。

您回答:"我的要求是获取包含所有字段的整个结构。(如图所示) 在下面的屏幕快照中),其必填字段(RCOOP)值仅更改为8.00"

但是我(似乎没有人)不了解您想要实现的目标。 您最好以其他方式询问。

南山jay
5楼-- · 2020-08-25 09:26

我知道了。 我的READ TABLE语句错误。 下面是工作代码。

感谢您的所有宝贵意见。

分配读取表c_th_data。
           如果sy-subrc = 0。
               将结构的lv_kf分配给。
               将结构的组件lv_kf分配给 = 。
           ENDIF。
哎,真难
6楼-- · 2020-08-25 09:02

所以我认为人们会回答所有问题,我只想尝试说服您一次:):

当您要修改一个时 或具有通用类型(任意)的结构中的几个组件,则必须使用字段符号来指向该组件。 因此,当您更改指针的值(字段符号)时,原始结构的组件的值也发生了更改,而没有您所说的任何显式的MODIFY COMPONENT。

 ASSIGN结构组件TO 就很简单。
 <指针> =任何值。  "在这一点上,原始组件的值已更改。

一周热门 更多>