自定义SQL触发器(在插入和更新时)导致无法创建新的销售订单文档

2020-09-03 10:55发布

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

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


我已经在插入和更新ORDR表时创建了以下SQL触发器,如下所示:

在dbo.ordr上创建触发器dbo.trgAfterUpdateORDR
 插入后更新
 如
   更新f设置U_UpdateTime = GETDATE()
   从
   dbo.ordr AS f
   插入了INNER JOIN
   我
   开启f.DocEntry = i.DocEntry;
 

触发器应仅使用当前时间更新DATETIME字段。

由于某种原因,在声明此触发器后,创建新的销售订单失败。 SAP B1说,应该首先为此类文档设置序列号。

有什么想法吗? 还是有更好的解决方案? 谢谢。

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

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


我已经在插入和更新ORDR表时创建了以下SQL触发器,如下所示:

在dbo.ordr上创建触发器dbo.trgAfterUpdateORDR
 插入后更新
 如
   更新f设置U_UpdateTime = GETDATE()
   从
   dbo.ordr AS f
   插入了INNER JOIN
   我
   开启f.DocEntry = i.DocEntry;
 

触发器应仅使用当前时间更新DATETIME字段。

由于某种原因,在声明此触发器后,创建新的销售订单失败。 SAP B1说,应该首先为此类文档设置序列号。

有什么想法吗? 还是有更好的解决方案? 谢谢。

付费偷看设置
发送
3条回答
Aaron 3364
1楼-- · 2020-09-03 11:03

您好 Waseem Massry

如果这是SAP Business One数据库 并且您尝试使用直接SQL语句更新它的 ORDR 表,则您自己的实现本身是错误的。

请参阅修改SAP Business One数据的准则

< p>不允许通过HANA Studio,Coding,B1if在System表的UDF上使用INSERT/UPDATE/DELETE语句。 这将取消您对SAP的支持。

问候,

ANKIT CHAUHAN

SAP Business One支持

d56caomao
2楼-- · 2020-09-03 11:27

您好 Waseem Massry

您有太多选择来执行此操作:

1。 检查DI API是否可行? 在这种情况下,您只需在ORDR表中使用UDF。

2。 检查是否可以通过格式搜索(FMS)完成? 在这种情况下,您也只需在ORDR表中使用UDF。

问候,

ANKIT CHAUHAN

SAP Business One支持

3楼-- · 2020-09-03 11:04

我注意到ORDR表包含一个UpdateDate字段,但它仅存储日期,而不存储时间。 我需要记录日期和时间。 因此,如果不允许修改表,那么解决方案是创建一个用户定义的表来保存更新时间值? 有更好的解决方案吗?

一周热门 更多>