当前位置: 代码迷 >> SQL >> SAP BUSINESS ONE 触发器有关问题
  详细解决方案

SAP BUSINESS ONE 触发器有关问题

热度:70   发布时间:2016-05-05 12:41:04.0
SAP BUSINESS ONE 触发器问题
SAP B1的库存转储单里面不能自动存储volume的值,但是这个值在工作中是必须的,所以就想了个办法用触发器自动更新.
触发器语句如下:
IF EXISTS (SELECT NAME FROM SYSOBJECTS WHERE XTYPE = 'TR' AND NAME = 'tr_wtr1') 
DROP TRIGGER tr_wtr1
GO 
create TRIGGER tr_wtr1
ON owtr
for insert 
AS  
update wtr1 set volume=a.quantity*b.svolume
from wtr1 a,oitm b
where a.itemcode=b.itemcode 


说明:owtr是一个表单 wtr1是表单行信息 oitm是物料表 svolume是物料的体积 quantity是表单行的数量 volume是表单行的 体积 触发器的目的是当表单有插入时更新表单行里的体积  但是遇到一个问题 就是最后一张单子的体积没有更新  如果触发器改成
IF EXISTS (SELECT NAME FROM SYSOBJECTS WHERE XTYPE = 'TR' AND NAME = 'tr_wtr1') 
DROP TRIGGER tr_wtr1
GO 
create TRIGGER tr_wtr1
ON wtr1
after insert 
AS  
update wtr1 set volume=a.quantity*b.svolume
from wtr1 a,oitm b
where a.itemcode=b.itemcode 
这样系统提示无效的游标状态
请各位高手指点
------解决思路----------------------
是什么数据库?
第一个触发器,有些怪怪的,ON <表名> 跟后边的动作里边的表名没任何关系啊?
  相关解决方案