一个PS报表中的需求,要求求销售订单的计划成本,其中就包括计划物料成本,比较确准的计算主法就是遍历BOM,求出物料成本. 如果在创建销售订单时项目BOM可以产生,且用户进行了成本估算,则完全可以从系统表中取出系统计算的计划成本,此法简单且快,但可惜不是所有的销售订单都能满足. 代码如下:

DATA: v_vbeln LIKE vbap-vbeln,v_posnr LIKE vbap-posnr,v_matnr LIKE vbap-matnr,v_plcst LIKE vbap-netwr,v_plcst2 LIKE vbap-netwr,v_menge LIKE stpo-menge. " 数量初始变量v_vbeln = '0002000008'.
v_posnr = '000010'.
v_matnr = 'FT820'.
"v_menge = 1.
PERFORM calc_plncst_b USING v_vbelnv_posnrv_matnrv_mengeCHANGING v_plcst.*               总成本      固定成本  可变成本
* 货物制造成本  133,680.99  32,756.59 100,924.40  CNYWRITE: 'BOM成本:'  ,v_plcst.*&---------------------------------------------------------------------*
*&      Form  calc_plncst_b
*&---------------------------------------------------------------------*
*      遍历BOM计算计划物料成本,因为在生产本报表时基本上已经都存在项目BOM了,
*      故此法虽慢,却可满足所有情况.
*----------------------------------------------------------------------*
FORM calc_plncst_b  USING    p_vbelnp_posnrp_matnrp_mengeCHANGING p_plcst." 订议BOM展开的结构DATA: BEGIN OF wa_bom,idnrk LIKE stpo-idnrk, " 物料号menge LIKE stpo-menge, " 用量END OF wa_bom.DATA: it_bom_fst LIKE TABLE OF wa_bom,it_bom_temp LIKE TABLE OF wa_bom.DATA: v_stlnr LIKE kdst-stlnr,
*        v_cst_tmp LIKE vbap-netwr, " 临时成本变量v_stprs LIKE mbew-stprs.   " 物料标准价格SELECT SINGLE stlnr INTO v_stlnrFROM kdstWHERE vbeln = p_vbelnAND vbpos = p_posnrAND matnr = p_matnr.IF sy-subrc <> 0. "没找到记录,说明是叶子节点SELECT SINGLE stprs INTO v_stprsFROM mbewWHERE matnr = p_matnr.p_plcst  = p_plcst  + p_menge * v_stprs.ELSE.   "找到了,接着走(递归)SELECT idnrk menge INTO CORRESPONDING FIELDS OF TABLE it_bom_fstFROM stpoWHERE stlnr = v_stlnr.FIELD-SYMBOLS: <wa> LIKE wa_bom.LOOP AT it_bom_fst ASSIGNING <wa>.PERFORM calc_plncst_b USING p_vbelnp_posnr<wa>-idnrk<wa>-mengeCHANGING p_plcst.ENDLOOP.ENDIF.
ENDFORM.                    " calc_plncst_b

递归方法计划销售订单的计划物料成本相关推荐

  1. 销售订单发票计划导入

    前言:本人曾查遍了包括SAP官网在内的大小网站来研究发票计划.发票计划是个冷门的业务,很多顾问也是第一次听说.经过两周的研究,终于把它搞明白了. 问题的根源: VBKD-FPLNR 这个字段在做完创建 ...

  2. 销售订单行项的成本估算及其发布

    对于不可配置物料级的标准成本估算,我们知道可以用 ck11n 来做 , 对于销售订单行的估算,可以后台配置成自动估算,也可以用 ck51或ck51n来做手工估算(见图),估算的同时可以做标记.我们知道 ...

  3. SD-增强-销售订单/开票计划屏幕增强-VA01/VA02/VA03/VA21/VA22/VA23

    需求:业务要求在开票计划的页签中把这个字段给它放出来. 字段为DESCR,这个字段是原来就有的,只是在屏幕上不显示而已.现在要求放出来. 遇到的问题: 1.在这里做个屏幕增强相当简单了.但是,输入值之 ...

  4. 114_Power Pivot 销售订单之销售额、成本、利润率相关

    博客:www.jiaopengzi.com 焦棚子的文章目录 请点击下载附件 一.背景 双十二回来后遇到一个比较有意思的计算销售额和利润率的需求(见下文说明). 先看下效果. 结果 说明: 1.订单表 ...

  5. SAP VC销售订单中可配置物料的使用

    Part I:物料变式(Material Variants) 在许多行业,对于可配置物料,我们常常会遇到许多来自客户方的定制(配置)需求.如下图就是一个很典型的可配置物料. 对于此类物料,企业并不是先 ...

  6. 【SAP-PS笔记】项目交货之基于销售订单VL01N交货

    前言: PS顾问可能都清楚,在销售型项目上的物料需要发货至客户时,如涉及交货一般常用CNS0创建项目交货单,将项目下的物料发货至客户. 因此我们设计销售型项目系统流程时,一般使用以下流程: 1.销售订 ...

  7. 计划策略-11-毛需求计划

    在毛需求计划中,不对仓库库存进行比较.系统仅检查所期望的接收方(计划订单,请购单等等).这意味着可以在系统中创建所谓的必需主计划. 需求大纲(计划独立需求)在收货时被缩减,以便系统减少最接近于发货日期 ...

  8. SAP 销售订单无法在MD04显示

    在进行SAP相关MRP策略测试时发现,不管选择何种策略,创建销售订单后,MD04无法显示销售订单的信息.通过OVZG维护需求等级.OVZH检查需求类型,还是没有解决问题: 在今天在另一个105系统中进 ...

  9. OM_销售订单的四个主要环节和每个环节用到的常用表

    下面是销售订单的四个主要环节和每个环节用到的常用表: 一.登记 1.oe_order_headers_all --订单头信息表 2.oe_order_lines_all --header_id=oe_ ...

最新文章

  1. python未将对象引用设置到对象的实例_未将对象引用设置到对象的实例(SystemNullReferenceException)...
  2. 服务都启用的情况下XP远程桌面还是出现“此计算机无法连接到远程计算机”...
  3. 龟兔赛跑的升级版本和在课业学习上的应用
  4. bat代码小游戏_程序员入职被27岁领导告诫:我被BAT录用过,是算法方面泰斗大哥...
  5. python_day6 shutil模块
  6. Struts2中UI标签之非表单标签
  7. 运维部门工作总结_我院召开2020年科室(部门)工作总结暨考核测评会议
  8. SVM入门(一)至(三)(转)
  9. 关于使用Kaptcha验证码框架遇到的问题
  10. 最近邻搜索算法flann Marius Muja and David G. Lowe
  11. 阿里云服务器实例规格选型推荐(根据使用场景、典型应用推荐)
  12. RAR压缩包没有密码如何解压
  13. html图片缩放全部显示不全,100% width CSS 在缩小/放大窗口时候内容被截断或显示不全...
  14. 微信小程序:中老年用户群体的流量生意如何做?
  15. vmware虚拟机中ubuntu如何连接校园网netkeeper
  16. css元素的水平与垂直布局
  17. 目标检测的Tricks | 【Trick5】学习率调优方法——warmup
  18. 联想xt92耳机测评
  19. 北京大兴国际机北京大兴国际机场,炫酷之处,一图了解!
  20. shiro整合SSM使用ehcache出现的net.sf.ehcache.CacheException异常解决办法

热门文章

  1. SAP 全球产品营销总监:产品营销驱动 B2B 企业爆发式增长的 6 大要点
  2. 0经验跨行,我怎么拿到谷歌offer的?
  3. 产品经理第一课(北京站)首波名单放榜啦!
  4. 小细节大功能!通过缺省页你可以告诉用户这些事
  5. Django模板语言(译)
  6. 配置tomcat容器的access.log访问日志
  7. Spring 一二事(4) - 单例
  8. linux下puppet的“资源”管理
  9. 30秒清除你电脑中的垃圾(使你电脑急速如飞)
  10. iOS开发之APP内部切换语言