2020-08-27 13:43发布
加入QQ群:457200227(SAP S4 HANA技术交流) 群内免费提供SAP练习系统(在群公告中)
大家好,
我正在尝试使用更新表更新 ztable 的关键字段(名称)。
当前必须处于循环内。
在z_ban处循环进入数据(ls_z_ban)。 更新z_ban集名称= ls_record-new_username,其中名称eq ls_z_ban-bname。 结束循环。
对于所有其他记录 sy-subrc eq 0 ,这仅更新第一条记录。
你知道为什么会这样吗?
当前我删除记录,然后插入一个新记录。
Jonathan
您无法更新数据库表中的主键字段,如许多对类似问题的回答(搜索" 更新关键字段数据库表"。
删除,然后插入 据我所知,已经这样做是唯一的选择。 但是,需要进行此类更新可能表明数据库/表的设计可以得到改善。
干杯
Bärbel
NAME --------- JIM LISA JANE
更新z_ban SET名称='JAMES',而名称='JIM'。
PS:当然,我解释了这是可能的,但通常并不需要...如果您解释为什么需要它 ,我们将尽力为您提供不同的帮助。
您好乔纳森·布拉瓦茨基,
如果您可以提供完整的代码,则最好检查问题的根本原因。
除了上面的方法外,您还可以按照下面的代码进行操作,请始终尝试 在最小程度上访问数据库表。 确保在循环中处理正确的记录。
在it_z_ban ASSIGNING FIELD-SYMBOL()上循环。 -名称= ls_record-new_username。 结局。 从表it_z_ban修改z_ban。
致谢
Sandra Rossi ,是的,只要主键是唯一键即可。
谢谢
最多设置5个标签!
Jonathan
您无法更新数据库表中的主键字段,如许多对类似问题的回答(搜索" 更新关键字段数据库表"。
删除,然后插入 据我所知,已经这样做是唯一的选择。 但是,需要进行此类更新可能表明数据库/表的设计可以得到改善。
干杯
Bärbel
PS:当然,我解释了这是可能的,但通常并不需要...如果您解释为什么需要它 ,我们将尽力为您提供不同的帮助。
您好乔纳森·布拉瓦茨基,
如果您可以提供完整的代码,则最好检查问题的根本原因。
除了上面的方法外,您还可以按照下面的代码进行操作,请始终尝试 在最小程度上访问数据库表。 确保在循环中处理正确的记录。
致谢
Sandra Rossi ,是的,只要主键是唯一键即可。
谢谢
一周热门 更多>