在完成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 |