业务场景见抬头,有没有标准的解决方案就不说了,也没去考虑。。。

这个增强还是SAP老表提供的,感谢,省了不少时间。

INCLUDE:LMR1MF6S

最后的位置

ENHANCEMENT   ZMIR7_01.    "active version
DATA:LS_YDRSEG LIKE LINE OF YDRSEG.
DATA:L_T_QTY LIKE EKBE-MENGE.
DATA:LY_PRUEFLOS TYPE QPLOS.
DATA:LY_ART TYPE QPART.
DATA:LV_INSMK TYPE MSEG-INSMK.
DATA:lv_BSART TYPE ESART.
DATA:lv_KNTTP TYPE KNTTP. CHECK RM08M-VORGANG = ''. LOOP AT YDRSEG INTO LS_YDRSEG.
L_T_QTY = .
CLEAR:LY_PRUEFLOS,LV_INSMK,lv_bSART,lv_KNTTP."排除没做出使用决策的物料凭证 SELECT SINGLE KNTTP INTO LV_KNTTP FROM EKPO WHERE EBELN = LS_YDRSEG-EBELN AND EBELP = LS_YDRSEG-EBELP..
IF LV_KNTTP = 'A' OR LV_KNTTP = 'K' OR LV_KNTTP = 'Z' OR LV_KNTTP = 'F'.
ELSE.
SELECT SINGLE INSMK INTO LV_INSMK FROM MSEG WHERE MJAHR = LS_YDRSEG-LFGJA
AND MBLNR = LS_YDRSEG-LFBNR AND ZEILE = LS_YDRSEG-LFPOS.
IF LV_INSMK = 'X'.
SELECT SINGLE ART INTO lY_ART FROM QMAT WHERE ART = '' AND MATNR = LS_YDRSEG-matnr AND WERKS = LS_YDRSEG-werks.
IF sy-subrc = .
SELECT SINGLE PRUEFLOS INTO LY_PRUEFLOS
FROM QALS WHERE MJAHR = LS_YDRSEG-LFGJA
AND MBLNR = LS_YDRSEG-LFBNR AND ZEILE = LS_YDRSEG-LFPOS AND STAT34 = 'X'.
IF LY_PRUEFLOS IS INITIAL.
DELETE YDRSEG.
CONTINUE.
ENDIF.
ENDIF.
ENDIF.
ENDIF. SELECT SUM( CASE SHKZG WHEN 'S' THEN MENGE ELSE - * MENGE END )
INTO @L_T_QTY
FROM EKBE
WHERE EBELN = @LS_YDRSEG-EBELN
AND EBELP = @LS_YDRSEG-EBELP
AND BEWTP IN ('T','Q')
AND LFGJA = @LS_YDRSEG-LFGJA
AND LFBNR = @LS_YDRSEG-LFBNR
AND LFPOS = @LS_YDRSEG-LFPOS. SELECT SINGLE bsart INTO lv_bsart FROM ekko WHERE ebeln = LS_YDRSEG-EBELN.
IF lv_bsart = ''.
LS_YDRSEG-MENGE = LS_YDRSEG-WEMNG + L_T_QTY.
ELSE.
LS_YDRSEG-MENGE = LS_YDRSEG-WEMNG - L_T_QTY.
ENDIF. "DELETE 没有使用决策的物料凭证
LS_YDRSEG-BPMNG = LS_YDRSEG-MENGE. IF LS_YDRSEG-MENGE <= .
DELETE YDRSEG.
CONTINUE.
ELSE.
MODIFY YDRSEG FROM LS_YDRSEG.
ENDIF. ENDLOOP.
ENDENHANCEMENT.

中间有一大串IF ELSE的可以忽略,特殊业务处理

MIR7预制发票扣除已经预制的数量(每月多次预制,未即时过账)的更多相关文章

  1. SAP 预制发票报错 -Material 20000000 D119223073 in valuation area VNSM has inconsistant ML data- 之对策

    SAP 预制发票报错 -Material 20000000 D119223073 in valuation area VNSM has inconsistant ML data- 之对策 业务人员报对 ...

  2. SAP 预制发票时扣除已预制的数据

    INCLUDE程序: LMR1MF6S 最后增强: ENHANCEMENT ZMIR7_01. "active version DATA:LS_YDRSEG LIKE LINE OF YDR ...

  3. SAP模块常用增强总结{转载}

    MM模块: 采购订单增强: BADI :ME_GUI_PO_CUST ME_PROCESS_PO_CUST 物料凭证增强: BADI:MB_DOCUMENT_BADI USER-EXIT:MBCF00 ...

  4. SAP模块常用增强总结(转)

    转自:http://blog.sina.com.cn/s/blog_4298a2c80102x40c.html MM模块: 采购订单增强: BADI :ME_GUI_PO_CUST ME_PROCES ...

  5. 函数使用五:MIR7 发票预制 BAPI_INCOMINGINVOICE_PARK

    引自:http://blog.csdn.net/champaignwolf/article/details/51422329 FUNCTION zincominginvoice_park. *&quo ...

  6. 预制体,Mask组件

    1.预制体制作和使用 a.制作预制体,将制作好的元素插入到在文件夹下形成一个预制体 b.将预制体在所调用的脚本文件中进行声明,并且在界面里进行拖入保存 c.使用的时候利用cc.instantiate进 ...

  7. Unity3D学习笔记(四):物理系统碰撞和预制体

    Rigidbody(刚体组件):加了此组件游戏物体就变成刚体了 ----Mass(质量,单位kg):重力G = 质量m * 重力加速度g(g=9.81 m/s^2) --------冲量守恒定理 动量 ...

  8. 修改预制体效果无变化(unity&&CocosCreator)

    推荐阅读:  我的CSDN  我的博客园  QQ群:704621321 1.问题       修改预制体后保存,预览游戏预制体未发生变化(和改之前效果一样) 2.回忆       以前做unity的时 ...

  9. Layabox 预制体prefab使用

    //腊鸭官方api不详细系列之ui预制体 // 创建预制体文件,随便拖一个场景中的预制体到 Assets的任意文件夹中,要规范的话则放在Prefab中 // 上一步操作完后就可以在文件夹中看到.pre ...

随机推荐

  1. Bootstrap 3 媒体查询

    可以参考 Bootstrap  的媒体查询,写网站. html: <div class="bootstrap-3-media"> <p>Mobile-Fir ...

  2. JavaScript——执行环境、变量对象、作用域链

    前言 这几天在看<javascript高级程序设计>,看到执行环境和作用域链的时候,就有些模糊了.书中还是讲的不够具体.通过上网查资料,特来总结,以备回顾和修正. 目录: EC(执行环境或 ...

  3. 七、面向对象编程(OOP)

    面向对象编程:一种程序设计思想.OOP把对象作为程序的基本单元,一个对象包含了数据和操作数据的函数. 1.类(class) class:自定义的对象数据类型.基于类创建多个对象,每个对象具备类的通用行 ...

  4. PyEngine3D

    git clone https://github.com/ubuntunux/PyEngine3D cd PyEngine3D pip install -r requirements.txt pyth ...

  5. leetcode 查找每个元素都出现两次的列表,返回只出现一次的元素

    Given an array of integers, every element appears # twice except for one. Find that single one. clas ...

  6. 一篇很好的java异常框架讲解

    https://www.cnblogs.com/itcui/p/6400499.html 其实原作者是csdn的一名博主,实在受不了csdn的广告,所以就摘录这篇

  7. x1c 2018 莫名卡顿

    win10不知更新了什么,x1c非常卡一跳一跳的,很多年没见过了-_-!! CPU占用低,但是特别之卡…… (也许是Lenovo的更新,反正是在window update里一起的 —————————— ...

  8. HTML标记 2 ——表格

    <table width="800" border="0">     -----------------------表开头 <tr>   ...

  9. Java面试题基础知识(收集)

    1.集合类:list和Set比较,各自的子类比较(Arraylist,Vector,inkedLIst,HashSet,TreeSet) List:存入元素有序,元素可以重复,允许null值得存在,主 ...

  10. (转+整理)C#中动态执行代码

    通过微软提供的CSharpCodeProvider,CompilerParameters,CompilerResults等类,可以在运行时,动态执行自己写的代码文件.原理就是把你的代码文件动态编译成e ...