首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 数据库 > SQL Server >

SAP BUSINESS ONE 触发器有关问题

2012-12-31 
SAP BUSINESS ONE 触发器问题SAP B1的库存转储单里面不能自动存储volume的值,但是这个值在工作中是必须的,

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 <表名> 跟后边的动作里边的表名没任何关系啊?

热点排行