点击此处---> 群内免费提供SAP练习系统(在群公告中)加入QQ群:457200227(SAP S4 HANA技术交流) 群内免费提供SAP练习系统(在群公告中)我们有一个UDO OBJ_TRA...
点击此处---> 群内免费提供SAP练习系统(在群公告中)加入QQ群:457200227(SAP S4 HANA技术交流) 群内免费提供SAP练习系统(在群公告中)我们有一个UDO OBJ_TRA...
加入QQ群:457200227(SAP S4 HANA技术交流) 群内免费提供SAP练习系统(在群公告中)
我们有一个UDO OBJ_TRANSP。 关联的表是:@UDT_TRANSP。 该表中包含UDF:U_TransCode。
现在,我们正在尝试防止基于某种逻辑的记录被删除。 我尝试过如下编写查询:
如果@object_type ='OBJ_TRANSP'和@transaction_type ='D'
开始
声明@transcode varchar(20)
选择@transcode =来自[dbo]的U_TransCode。[@ UDT_TRANSP]其中的代码= @list_of_cols_val_tab_del
如果@transcode IN(<要测试的逻辑>)
开始
设置@error = -1
set @error_message ='无法删除记录,因为它存在于另一个表中'
结束
结束
但这不起作用。 据我了解,SP是在数据库中模仿更改后执行的。 因此,如果我们删除记录,则表@UDT_TRANSP中将没有记录。 这意味着@transcode为空值,并且无法测试逻辑。
我们如何解决这个问题?
嗨,Aakash,
用" Docentry"更改"代码":
从[dbo]中选择@transcode = U_TransCode。[@ UDT_TRANSP] WHERE Docentry = @list_of_cols_val_tab_del
谢谢
阿齐兹
一周热门 更多>