vl02n 批次拆分
*& Report ZVL02N_CHARGE
*&
*&---------------------------------------------------------------------*
*& 先调用 BAPI_OUTB_DELIVERY_CHANGE 对批次进行拆分(前提是 要拆分的 外向交货单 行项目 批次为 空)
*& 然后 调用 WS_DELIVERY_UPDATE 更新 交货数量和拣配数量
*&---------------------------------------------------------------------*
REPORT ZVL02N_CHARGE.
DATA : I_HEADER_DATA LIKE BAPIOBDLVHDRCHG. "Delivery header
DATA : I_HEADER_CONTROL LIKE BAPIOBDLVHDRCTRLCHG. "delivery header control
DATA : I_DELIVERY_NO LIKE BAPIOBDLVHDRCHG-DELIV_NUMB. "deliver number
DATA : I_TECHN_CONTROL LIKE BAPIDLVCONTROL. "TECHN_CONTROL
DATA : I_ITEM_DATA LIKE BAPIOBDLVITEMCHG OCCURS 0 WITH HEADER LINE. "ITEM_DATA delivery item
DATA : I_ITEM_CONTROL LIKE BAPIOBDLVITEMCTRLCHG OCCURS 0 WITH HEADER LINE. "ITEM_CONTROL
DATA : I_RETURN LIKE BAPIRET2 OCCURS 0 WITH HEADER LINE. "Return
*Set Delivery Header data
I_DELIVERY_NO = '0080000066'.
I_HEADER_DATA-DELIV_NUMB = I_DELIVERY_NO.
I_TECHN_CONTROL-UPD_IND = 'U'.
I_HEADER_CONTROL-DELIV_NUMB = I_DELIVERY_NO.
I_ITEM_DATA-DELIV_NUMB = I_DELIVERY_NO.
I_ITEM_DATA-DELIV_ITEM = '900001'.
I_ITEM_DATA-HIERARITEM = '10'. "The batch split record below delivery item hierary
I_ITEM_DATA-USEHIERITM = '1'.
I_ITEM_DATA-MATERIAL = 'WY-F-001'.
I_ITEM_DATA-BATCH = '0000000001'.
I_ITEM_DATA-DLV_QTY = 2.
*I_ITEM_DATA-DLV_QTY_IMUNIT = 1000.
I_ITEM_DATA-FACT_UNIT_NOM = 1.
I_ITEM_DATA-FACT_UNIT_DENOM = 1.
APPEND I_ITEM_DATA.
CLEAR I_ITEM_DATA.
I_ITEM_DATA-DELIV_NUMB = I_DELIVERY_NO.
I_ITEM_DATA-DELIV_ITEM = '900002'. "The batch split record below delivery item hierary
I_ITEM_DATA-HIERARITEM = '10'.
I_ITEM_DATA-USEHIERITM = '1'.
I_ITEM_DATA-MATERIAL = 'WY-F-001'.
I_ITEM_DATA-BATCH = '0000000002'.
I_ITEM_DATA-DLV_QTY = 3.
I_ITEM_DATA-FACT_UNIT_NOM = 1.
I_ITEM_DATA-FACT_UNIT_DENOM = 1.
APPEND I_ITEM_DATA.
CLEAR I_ITEM_DATA.
I_ITEM_CONTROL-DELIV_NUMB = I_DELIVERY_NO.
I_ITEM_CONTROL-DELIV_ITEM = '10'.
I_ITEM_CONTROL-CHG_DELQTY = 'X'.
APPEND I_ITEM_CONTROL.
CLEAR I_ITEM_DATA.
I_ITEM_CONTROL-DELIV_NUMB = I_DELIVERY_NO.
I_ITEM_CONTROL-DELIV_ITEM = '900001'.
I_ITEM_CONTROL-CHG_DELQTY = 'X'.
APPEND I_ITEM_CONTROL.
CLEAR I_ITEM_DATA.
I_ITEM_CONTROL-DELIV_NUMB = I_DELIVERY_NO.
I_ITEM_CONTROL-DELIV_ITEM = '900002'.
I_ITEM_CONTROL-CHG_DELQTY = 'X'.
APPEND I_ITEM_CONTROL.
CLEAR I_ITEM_DATA.
CALL FUNCTION 'BAPI_OUTB_DELIVERY_CHANGE'
EXPORTING
HEADER_DATA = I_HEADER_DATA
HEADER_CONTROL = I_HEADER_CONTROL
DELIVERY = I_DELIVERY_NO
TECHN_CONTROL = I_TECHN_CONTROL
TABLES
ITEM_DATA = I_ITEM_DATA
ITEM_CONTROL = I_ITEM_CONTROL
RETURN = I_RETURN.
IF SY-SUBRC EQ 0.
CALL FUNCTION 'BAPI_TRANSACTION_COMMIT'
EXPORTING
WAIT = 'X'.
ENDIF.
DATA : I_VBKOK LIKE VBKOK. "Delivery header
DATA : I_VBPOK LIKE VBPOK OCCURS 0 WITH HEADER LINE. "Delivery Picking
DATA : V_ERROR.
I_VBKOK-VBELN_VL = '0080000066'.
I_VBKOK-WABUC = 'X'. "Post Good Issue Automatic
I_VBPOK-VBELN_VL = I_VBKOK-VBELN_VL. "Delivery NO
I_VBPOK-POSNR_VL = '900001'. "Delivery Item
I_VBPOK-VBELN = '1000000325'. "Sales Order "You must assign Sales order & Item number
I_VBPOK-POSNN = '10'. "Sales Order item
I_VBPOK-MATNR = 'WY-F-001'.
I_VBPOK-CHARG = '0000000001'.
I_VBPOK-LFIMG = 5. "Actual quantity delivered (in sales units)
I_VBPOK-LGMNG = 5. "Actual quantity delivered in stockkeeping units
APPEND I_VBPOK.
I_VBPOK-VBELN_VL = I_VBKOK-VBELN_VL. "Delivery NO
I_VBPOK-POSNR_VL = '900002'. "Delivery Item
I_VBPOK-VBELN = '1000000325'. "Sales Order
I_VBPOK-POSNN = '10'. "Sales Order item
I_VBPOK-MATNR = 'WY-F-001'.
I_VBPOK-CHARG = '0000000002'.
I_VBPOK-LFIMG = 5. "Actual quantity delivered (in sales units)
I_VBPOK-LGMNG = 5. "Actual quantity delivered in stockkeeping units
APPEND I_VBPOK.
CALL FUNCTION 'WS_DELIVERY_UPDATE'
EXPORTING
VBKOK_WA = I_VBKOK
DELIVERY = I_VBKOK-VBELN_VL
UPDATE_PICKING = 'X' "Update Picking data
IMPORTING
EF_ERROR_IN_GOODS_ISSUE_0 = V_ERROR
TABLES
VBPOK_TAB = I_VBPOK.
IF SY-SUBRC EQ 0.
CALL FUNCTION 'BAPI_TRANSACTION_COMMIT'.
endif.
vl02n 批次拆分相关推荐
- SAP MM初阶之事务代码MIGO界面批次拆分最多输入15行?
SAP MM初阶之事务代码MIGO界面批次拆分最多输入15行? 1, 执行MIGO事务代码对工单或者采购订单执行收货. 对要收货的数量做批次拆分, 系统出现如下窗口, 2, 某项目的业务人员问,这个界 ...
- SAP外向交货单中的批次拆分应用于免费货物的小问题
外向交货单中,批次拆分(或者叫确定)是个很有用的功能,特别是在产品批次很多的情况下.相关配置可以在网上找到教程.我在这里只记录一下特别注意之处: 事务码:0184 (全数字) 进入后,按 交货类型 ...
- ABAP 外向交货单取消过账+删除批次拆分
SAP 与WMS 集成之后,会出现这么一种情况,就是外向交货单发货过账之后, WMS 端发起取消发货,那么接口需要将已经过账的外向交货单冲销,并将已经做了批次拆分的外向交货单,还原成未拆分的. 外向交 ...
- 转载:销售开票时批次拆分收入成本不同显示方式研究
作者:秋去冬来春未远 链接:https://zhuanlan.zhihu.com/p/90939488 来源:知乎 著作权归作者所有.商业转载请联系作者获得授权,非商业转载请注明出处. 需求描述: 发 ...
- 交货单批次拆分(BAPI_OUTB_DELIVERY_CHANGE )并更改拣配数量,发货过账(WS_DELIVERY_UPDATE)
*&---------------------------------------------------------------------* *& Report ZVL02N_C ...
- SAP-ABAP-OOALV进阶-子屏幕;各种方法示例;
程序目标:VL02N批次拆分操作起来太不友好了,用户想要一个能自动按照库存批次拆分的程序,同时还想要能手动挑选批次拆分的物料批次. 先上代码,后附代码解析,按照步骤来复制到本地可以直接运行使用 *&a ...
- SAP SAP 交货单批导三部走(带批次)
第一步 CALL FUNCTION 'BAPI_OUTB_DELIVERY_CREATE_SLS' 这个参数少,没有库位,批号信息 第二步 BADI 增强内部传值 第三步 修改交货单加上批次 源码: ...
- SAP开发框架系列之 自定义批次管理
点击蓝字 关注我们 一 前言 归纳总结是个好习惯,我们都值得拥有. 每一个业务的开发需求,都是一次归纳的契机. 根据业务特定的需求分析,是否可以概括出一个通用需求? 特定业务需求是否完全包含在这个通用 ...
- SAP 批次确定界面可用数量为什么显示9,999,999,999
在做MIGO发料时,物料库存是足够的,库存300个,有三个批次,正常情况系统按照收货日期排序进行批次拆分,前两个批次满足数量123个.但是系统没有带出正确的批次数量,而是带出一个批次数量123个,实际 ...
最新文章
- v380云存储怎么用_云智中国-百度智能云薄磊:海量无限存储,助力产业智能化升级...
- sizeof运算符运算结果小汇
- 爬虫入门三(获取各国网址,三种网页抓取方法,下载缓存)
- 云小课|三大灵魂拷问GaussDB(DWS)数据落盘安全问题
- lock是悲观锁还是乐观锁_图文并茂的带你彻底理解悲观锁与乐观锁
- leetcode—10.栈题型python解答
- python判断给定的手机号是否存在
- linux系统lvs技术,Linux 负载均衡二Lvs技术
- 使用极光推送(www.jpush.cn)向安卓手机推送消息【服务端向客户端主送推送】C#语言...
- Windows 身份验证的凭据进程
- 哥德巴赫猜想python
- JAVA实现在面板中添加图表_java-如何在不制作新图表的情况下将jzy3d图表添加到JFrame?...
- 如何启动 WordPress 博客 – 简易指南 – 创建博客(2021)
- app调起支付宝-后端预支付
- 观察者模式的一个例子
- js阻止事件的默认行为发生的三种方式
- SQL21天自学通pdf 百度云盘
- Motion Based Multi-Sensor Extrinsic Calibration源码配置与学习记录
- 6年软件开发工作总结
- 金融量化-技术分析策略和交易系统_CCI指标的策略实现