在插入记录之前,如何检查垂直记录是否已存在

2020-09-09 05:27发布

点击此处---> 群内免费提供SAP练习系统(在群公告中)加入QQ群:457200227(SAP S4 HANA技术交流) 群内免费提供SAP练习系统(在群公告中)亲爱的所有人, 我有一个要求,...

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

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


亲爱的所有人,

我有一个要求,我需要检查ztable中是否存在现有记录。

如果记录已在ztable中退出,则显示类似"具有相同键的记录已退出的消息,否则我应该插入。"

从表it_delete中插入zdelete_log。

以上我在ztable中插入记录所使用的语句:zdelete_log。实际上,我试图从ztable中删除一条记录,该记录的记录已存在于zdelete_log中。因此,我在此插入查询中获取了转储。我可以使用Modify但 我只想在zdelete_log中插入新记录。

请指导我如何检查记录是否已存在于数据库中。 如果垂直记录已经存在,则无需插入。 否则,插入记录。 如何实现此功能。

致谢

10条回答
ZJXianG
2020-09-09 05:53

如果您想检查是否存在行,可以阅读现有条目并将其标记为在zdelete_log中删除

选择* FROM zdelete_log
   插入表@DATA(lt_existing_rows)
    对于it_delete中的所有条目
  WHERE键= it_delete键。

 在这里,您可以遍历it_delete并使用key读取lt_existing_rows
 "如果在lt_existing_rows中找到了密钥,则可以更新数据库行以进行删除
 循环至it_delete ASSIGNING FIELD-SYMBOL()。
   读取表lt_existing_rows WITH KEY key =  -KEY
     INTO DATA(ls_existing_row)。
   如果sy-subrc = 0。
      ls_existing_row-delete_me ='X'。
      从ls_existing_row更新zdelete_log。
   万一。
 结局。
 提交工作。

 

一周热门 更多>