sharpds77 发表于 2015-9-21 10:55:28

SAP B1外发加工件成本的处理方法(曹玉平于奥莱照明)

  SAP B1外发加工件成本的处理方法(曹玉平于奥莱照明)
  
  针对一个要进行多次加工的毛坯物料,如果要精确反映其成本,则必须对不同时期加工的方法指定一个代码。在SAP B1中解决的方法如下:
  1、                  先在物料主数据中,增加三个字段,第一字段描述为毛坯代码,名称SourceCode。第二个字段描述为毛坯单价,名称SourcePrice。第三个字段描述为外发单价,名称为AddPrice。
  2、                  对每个加工类型物料代码设置其不同时期的毛坯代码。
  
  举个例子,有个电话筒,经过开模后,在注塑机上,用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
  
  
页: [1]
查看完整版本: SAP B1外发加工件成本的处理方法(曹玉平于奥莱照明)