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

这个增强还是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. 【Mybatis】-- Mapper动态代理开发注意事项

    1.1. Mapper动态代理方式 1.1.1. 开发规范 Mapper接口开发方法只需要程序员编写Mapper接口(相当于Dao接口),由Mybatis框架根据接口定义创建接口的动态代理对象,代理对 ...

  2. swagger实战踩坑1

    1.swagger error 有详细的错误信息 自己根据详细信息找问题 2.swagger error 无详细的错误信息 Controller是否重名=>重名,指定不同的   [Route(& ...

  3. Redis架构设计

    高可用Redis服务架构分析与搭建 各种web开发业务中最为常用的key-value数据库了 应用: 在业务中用其存储用户登陆态(Session存储),加速一些热数据的查询(相比较mysql而言,速度 ...

  4. 4、keepalived高可用nginx负载均衡

    keepalived: HTTP_GET        //使用keepalived获取后端real server健康状态检测 SSL_GET(https)  //这里以为这后端使用的是http协议 ...

  5. JavaScript(ES5)知识点梳理

    数据类型(null undefined number string boolean object)数据类型之间的相互转化(Boolean Number String parseInt parseFlo ...

  6. VS 编译后 install报错(error MSB3073)

    vs编译出现如下错误: 错误 1 error MSB3073: 命令"setlocal H:\PCL_BACKUP\PCL\CMake\bin\cmake.exe -DBUILD_TYPE= ...

  7. poj 1744 tree 树分治

    Tree Time Limit: 1000MS   Memory Limit: 30000K       Description Give a tree with n vertices,each ed ...

  8. Spring boot Value注入 未整理 待完善

    Springboot 热部署Springboot为开发者提供了一个名叫 spring-boot-devtools来使Springboot应用支持热部署,提供开发者的开发效率,无需手动重启Spring ...

  9. vue中 父子组件的通讯

    1.父组件可以使用 props 把数据传给子组件. 2.子组件可以使用 $emit 触发父组件的自定义事件 实例: 父组件: layout.vue  子组件:logform.vue 子组件: < ...

  10. ubuntu配置chrome git

    安装chrome (也可以直接从官网下载deb包安装) sudo wget http://www.linuxidc.com/files/repo/google-chrome.list -P /etc/ ...