递归方法计划销售订单的计划物料成本
一个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
递归方法计划销售订单的计划物料成本相关推荐
- 销售订单发票计划导入
前言:本人曾查遍了包括SAP官网在内的大小网站来研究发票计划.发票计划是个冷门的业务,很多顾问也是第一次听说.经过两周的研究,终于把它搞明白了. 问题的根源: VBKD-FPLNR 这个字段在做完创建 ...
- 销售订单行项的成本估算及其发布
对于不可配置物料级的标准成本估算,我们知道可以用 ck11n 来做 , 对于销售订单行的估算,可以后台配置成自动估算,也可以用 ck51或ck51n来做手工估算(见图),估算的同时可以做标记.我们知道 ...
- SD-增强-销售订单/开票计划屏幕增强-VA01/VA02/VA03/VA21/VA22/VA23
需求:业务要求在开票计划的页签中把这个字段给它放出来. 字段为DESCR,这个字段是原来就有的,只是在屏幕上不显示而已.现在要求放出来. 遇到的问题: 1.在这里做个屏幕增强相当简单了.但是,输入值之 ...
- 114_Power Pivot 销售订单之销售额、成本、利润率相关
博客:www.jiaopengzi.com 焦棚子的文章目录 请点击下载附件 一.背景 双十二回来后遇到一个比较有意思的计算销售额和利润率的需求(见下文说明). 先看下效果. 结果 说明: 1.订单表 ...
- SAP VC销售订单中可配置物料的使用
Part I:物料变式(Material Variants) 在许多行业,对于可配置物料,我们常常会遇到许多来自客户方的定制(配置)需求.如下图就是一个很典型的可配置物料. 对于此类物料,企业并不是先 ...
- 【SAP-PS笔记】项目交货之基于销售订单VL01N交货
前言: PS顾问可能都清楚,在销售型项目上的物料需要发货至客户时,如涉及交货一般常用CNS0创建项目交货单,将项目下的物料发货至客户. 因此我们设计销售型项目系统流程时,一般使用以下流程: 1.销售订 ...
- 计划策略-11-毛需求计划
在毛需求计划中,不对仓库库存进行比较.系统仅检查所期望的接收方(计划订单,请购单等等).这意味着可以在系统中创建所谓的必需主计划. 需求大纲(计划独立需求)在收货时被缩减,以便系统减少最接近于发货日期 ...
- SAP 销售订单无法在MD04显示
在进行SAP相关MRP策略测试时发现,不管选择何种策略,创建销售订单后,MD04无法显示销售订单的信息.通过OVZG维护需求等级.OVZH检查需求类型,还是没有解决问题: 在今天在另一个105系统中进 ...
- OM_销售订单的四个主要环节和每个环节用到的常用表
下面是销售订单的四个主要环节和每个环节用到的常用表: 一.登记 1.oe_order_headers_all --订单头信息表 2.oe_order_lines_all --header_id=oe_ ...
最新文章
- python未将对象引用设置到对象的实例_未将对象引用设置到对象的实例(SystemNullReferenceException)...
- 服务都启用的情况下XP远程桌面还是出现“此计算机无法连接到远程计算机”...
- 龟兔赛跑的升级版本和在课业学习上的应用
- bat代码小游戏_程序员入职被27岁领导告诫:我被BAT录用过,是算法方面泰斗大哥...
- python_day6 shutil模块
- Struts2中UI标签之非表单标签
- 运维部门工作总结_我院召开2020年科室(部门)工作总结暨考核测评会议
- SVM入门(一)至(三)(转)
- 关于使用Kaptcha验证码框架遇到的问题
- 最近邻搜索算法flann Marius Muja and David G. Lowe
- 阿里云服务器实例规格选型推荐(根据使用场景、典型应用推荐)
- RAR压缩包没有密码如何解压
- html图片缩放全部显示不全,100% width CSS 在缩小/放大窗口时候内容被截断或显示不全...
- 微信小程序:中老年用户群体的流量生意如何做?
- vmware虚拟机中ubuntu如何连接校园网netkeeper
- css元素的水平与垂直布局
- 目标检测的Tricks | 【Trick5】学习率调优方法——warmup
- 联想xt92耳机测评
- 北京大兴国际机北京大兴国际机场,炫酷之处,一图了解!
- shiro整合SSM使用ehcache出现的net.sf.ehcache.CacheException异常解决办法