在完成SAP系统CO88订单实际结算后,可以通过事务代码KKBC_PKO分析单一产成品的目标成本和实际成本差异;
为了满足批量各车间/各产品/各订单的成本对比分析和Excel数据导出,需要开发订单目标&实际成本报表,FS逻辑如下:
1、通过MSEG、CKMLMV013,获取各订单的当月入库数据
SELECT a~werks ,a~matnr,c~pkosa AS aufnr, c~verid,
SUM( CASE shkzg
WHEN 'S' THEN menge
WHEN 'H' THEN menge * -1 END ) AS mzubb
INTO CORRESPONDING FIELDS OF TABLE @gt_data
FROM mseg AS a
JOIN mara AS b ON a~matnr = b~matnr
JOIN ckmlmv013 AS c ON a~aufnr = c~aufnr
WHERE werks = @p_werks
AND a~matnr IN @s_matnr
AND a~bwart IN ('101','102','131','132')
AND a~budat_mkpf BETWEEN @lv_date_beg AND @lv_date_end
AND a~sakto = '5001020900'
AND b~mtart IN @s_mtart
GROUP BY a~werks ,a~matnr, c~pkosa ,c~verid
2、通过MKAL、MAPL、PLAS、PLPO,获取各订单的生产工作中心数据
SELECT a~matnr c~arbpl e~ktext b~datuv d~verid f~plnnr f~plnal f~plnkn
INTO CORRESPONDING FIELDS OF TABLE gt_matnr
FROM mapl AS a
INNER JOIN plas AS f ON f~plnnr = a~plnnr AND f~plnal = a~plnal
INNER JOIN plpo AS b ON b~plnnr = f~plnnr AND b~plnkn = f~plnkn AND b~zaehl = f~zaehl
INNER JOIN mkal AS d ON a~plnnr = d~plnnr AND a~plnal = d~alnal AND a~matnr = d~matnr AND a~werks = d~werks
"AND a~andat = b~andat
INNER JOIN crhd AS c ON b~arbid = c~objid
INNER JOIN crtx AS e
ON c~objid = e~objid AND c~objty = e~objty
WHERE a~matnr IN s_matnr
AND a~werks EQ p_werks
AND c~arbpl IN s_arbpl
AND b~vornr EQ '0010'
AND b~datuv <= lv_data .
SORT gt_matnr by matnr verid plnnr plnal plnkn DESCENDING .
DELETE ADJACENT DUPLICATES FROM gt_matnr COMPARING matnr verid plnnr plnal.
3、通过KEKO、CKIS,获取各产品的标准成本结构
4、通过COEP,获取订单的实际材料成本
SELECT objnr SUM( wtgbtr ) AS wtgbtr
INTO CORRESPONDING FIELDS OF TABLE lt_coep
FROM coep
WHERE kokrs = 'QJMT'
AND objnr LIKE 'OR%'
AND gjahr = p_gjahr
AND wrttp = '04'
AND vrgng = 'COIN'
AND kstar = '5001020100'
AND perio = p_spmon+4(2)
GROUP BY objnr.
5、通过COSS,获取订单的制造费用成本
SELECT objnr kstar
SUM( wtg001 ) AS wtg001 SUM( wtg002 ) AS wtg002
SUM( wtg003 ) AS wtg003 SUM( wtg004 ) AS wtg004
SUM( wtg005 ) AS wtg005 SUM( wtg006 ) AS wtg006
SUM( wtg007 ) AS wtg007 SUM( wtg008 ) AS wtg008
SUM( wtg009 ) AS wtg009 SUM( wtg010 ) AS wtg010
SUM( wtg011 ) AS wtg011 SUM( wtg012 ) AS wtg012
INTO CORRESPONDING FIELDS OF TABLE lt_coss
FROM coss
WHERE gjahr = p_gjahr
AND wrttp = '04'
AND ( vrgng = 'RKL' OR vrgng = 'RKLN' )
AND kstar IN ( '0000943001','0000943002','0000943003','0000943004',
'0000943005', '0000943006' , '0000943007','0000943008','0000943009','0000943010',
'0000943011', '0000943012' )
AND objnr LIKE 'OR%'
GROUP BY objnr kstar.
由以上数据就组成当月各产品订单的目标成本与实际成本报表,用于各车间产品订单的产出数量,按照月初标准成本和月末实际费用来分析差异原因,例如原材料消耗、各作业费用(直接人工、燃料动力、折旧费用)。
该报表仅替代单一的目标/实际比较,仅是初步分析各车间产品成本是否超过预期值,较准确的生产成本还原仍需要查询物料分类账的成本数据;
待下一篇更新。