本文主要是介绍SAP_MM_实现当期研发费用统计方案,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
SAP ABAP 顾问(开发工程师)能力模型_Terry谈企业数字化的博客-CSDN博客文章浏览阅读533次。目标:基于对SAP abap 顾问能力模型的梳理,给一年左右经验的abaper 快速成长为三年经验提供超级燃料!https://blog.csdn.net/java_zhong1990/article/details/132469977
背景说明:归集一个期间的研发(物料)费用。
实现原理:在物料凭证上找了个空闲的字段 ,用来标识该类型的业务;市面上成熟的做法是Z一个移动类型出来,该移动类型表示研发领料业务。
1.1 在当前期间 找到 该类型的 物料凭证
SELECTmseg~MBLNR,mseg~ZEILE,mseg~matnr,mseg~werks,mseg~ablad,mseg~mat_pspnr,mseg~menge,mseg~aufnr,mseg~dmbtrINTO CORRESPONDING FIELDS OF TABLE @lt1 FROM mseg FOR ALL ENTRIES IN @gt_alvWHERE mseg~ablad = @gt_alv-pspnr_char25AND mseg~aufnr <> ''and mseg~ablad <> ''.
1.2 判断物料是否是V价格(移动平均价类型的物料)
MBEW ,vprsv = 'V' ,如果是V价 ,那么物料凭证的价格就是移动平均后的价格,直接取物料凭证上的价格即可 。
1.3 判断物料是否是S价格,如果是标准价,那么价格来自于物料分类账:
CKMLHD - 物料分类帐:标题记录
CKMLCR - 物料分类帐:期间汇总记录值
即:合计每笔交易的物料 ( 单价 = 周期单位价格 / 价格单位 )* 消耗的数量;ckmlcr~pvprs ,ckmlcr~peinh
关联条件:年度,估价范围,期间,物料号 ,wbs要素
LOOP AT lt1 ASSIGNING FIELD-SYMBOL(<fs1>) WHERE ablad = <fs_alv>-pspnr_char25.SELECT SINGLE mbew~vprsv,mbew~matnr,mbew~bwkey INTO @DATA(ls_w1)FROM mbew WHERE mbew~bwkey = @<fs1>-werks AND mbew~matnr = @<fs1>-matnr.IF ls_w1-vprsv = 'V'.<fs_alv>-zyftz = <fs_alv>-zyftz + <fs1>-dmbtr.ELSE.SELECT ckmlcr~pvprs ,ckmlcr~peinh INTO TABLE @DATA(lt_d1)FROM ckmlhd LEFT JOIN ckmlcr ON ckmlcr~kalnr = ckmlhd~kalnr WHEREckmlhd~matnr = @ls_w1-matnrAND ckmlhd~bwkey = @ls_w1-bwkeyAND ckmlhd~pspnr = @<fs1>-mat_pspnrAND ckmlcr~poper IN @s_rpmaxAND ckmlcr~bdatj IN @s_ryear.LOOP AT lt_d1 INTO DATA(ls_d1).<fs_alv>-zyftz = <fs_alv>-zyftz + ( ls_d1-pvprs / ls_d1-peinh * <fs1>-menge ).ENDLOOP.ENDIF.ENDLOOP.
这篇关于SAP_MM_实现当期研发费用统计方案的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!