举个例子,有个电话筒,经过开模后,在注塑机上,用PC原料加色粉做成话筒毛坯,我们将此毛坯话筒加代码:020101001,描述这样写:话筒-毛坯。对于此物料,如果要反映其成本和料用量,需新增一个BOM清单,内容是PC原料和用量,另外还有将色粉及用量也加入清单。
记住上面的做法,只有是最原始的毛坯物料才采取这种方式。
现在话筒的毛坯的做出来了,然后需要外发喷油。这时我们要对此物料加新代码:020102001,描述这样写:话筒-喷油。在物料主数据中,将此物料的毛坯代码直接指向020101001,也即:话筒-毛坯。
话筒喷油回来,还需外发电镀成铬色。我们再新加一个代码020103001,描述这样写:话筒-电镀(铬色)。在物料主数据中,将此物料的毛坯代码指向0201020001也即:话筒-喷油。
OK,现在一个完整的外发物料代码基本建好了,接下来要写段SQL程序来计算其真实成本了。首先计算最原始的毛坯,即0201010001 话筒-毛坯。
SQL代码如下:
DECLARE @SourcePrice MONEY,@AddPrice MONEY
IF LEFT(ItemCode=’020101’ BEGIN --从物料清单中取单价
SELECT @SourcePrice=SUM(Price FROM ITT1 WHERE
Father=’020101001’)
UPDATE OITM SET SourcePrice=@SourcePrice
WHERE ItemCode=’020101001’ –只更改毛坯单价
END ELSE BEGIN
SELECT @SourcePrice=Price FROM POR1
WHERE ItemCode=SourceCode --取毛坯单价
SELECT @AddSourcePrice=Price FROM POR1
WHERE ItemCode=’0201020001’ -- --从采购订单中取单价
UPDATE OITM SET SourcePrice=@SourcePrice,AddPrice=@AddPrice
WHERE ItemCode=’020102001’ --既更改毛坯单价,又更改外发加工价
END