*&---------------------------------------------------------------------*
*& 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 批次拆分相关推荐

  1. SAP MM初阶之事务代码MIGO界面批次拆分最多输入15行?

    SAP MM初阶之事务代码MIGO界面批次拆分最多输入15行? 1, 执行MIGO事务代码对工单或者采购订单执行收货. 对要收货的数量做批次拆分, 系统出现如下窗口, 2, 某项目的业务人员问,这个界 ...

  2. SAP外向交货单中的批次拆分应用于免费货物的小问题

    外向交货单中,批次拆分(或者叫确定)是个很有用的功能,特别是在产品批次很多的情况下.相关配置可以在网上找到教程.我在这里只记录一下特别注意之处: 事务码:0184  (全数字)  进入后,按 交货类型 ...

  3. ABAP 外向交货单取消过账+删除批次拆分

    SAP 与WMS 集成之后,会出现这么一种情况,就是外向交货单发货过账之后, WMS 端发起取消发货,那么接口需要将已经过账的外向交货单冲销,并将已经做了批次拆分的外向交货单,还原成未拆分的. 外向交 ...

  4. 转载:销售开票时批次拆分收入成本不同显示方式研究

    作者:秋去冬来春未远 链接:https://zhuanlan.zhihu.com/p/90939488 来源:知乎 著作权归作者所有.商业转载请联系作者获得授权,非商业转载请注明出处. 需求描述: 发 ...

  5. 交货单批次拆分(BAPI_OUTB_DELIVERY_CHANGE )并更改拣配数量,发货过账(WS_DELIVERY_UPDATE)

    *&---------------------------------------------------------------------* *& Report  ZVL02N_C ...

  6. SAP-ABAP-OOALV进阶-子屏幕;各种方法示例;

    程序目标:VL02N批次拆分操作起来太不友好了,用户想要一个能自动按照库存批次拆分的程序,同时还想要能手动挑选批次拆分的物料批次. 先上代码,后附代码解析,按照步骤来复制到本地可以直接运行使用 *&a ...

  7. SAP SAP 交货单批导三部走(带批次)

    第一步  CALL FUNCTION 'BAPI_OUTB_DELIVERY_CREATE_SLS' 这个参数少,没有库位,批号信息 第二步 BADI 增强内部传值 第三步 修改交货单加上批次 源码: ...

  8. SAP开发框架系列之 自定义批次管理

    点击蓝字 关注我们 一 前言 归纳总结是个好习惯,我们都值得拥有. 每一个业务的开发需求,都是一次归纳的契机. 根据业务特定的需求分析,是否可以概括出一个通用需求? 特定业务需求是否完全包含在这个通用 ...

  9. SAP 批次确定界面可用数量为什么显示9,999,999,999

    在做MIGO发料时,物料库存是足够的,库存300个,有三个批次,正常情况系统按照收货日期排序进行批次拆分,前两个批次满足数量123个.但是系统没有带出正确的批次数量,而是带出一个批次数量123个,实际 ...

最新文章

  1. v380云存储怎么用_云智中国-百度智能云薄磊:海量无限存储,助力产业智能化升级...
  2. sizeof运算符运算结果小汇
  3. 爬虫入门三(获取各国网址,三种网页抓取方法,下载缓存)
  4. 云小课|三大灵魂拷问GaussDB(DWS)数据落盘安全问题
  5. lock是悲观锁还是乐观锁_图文并茂的带你彻底理解悲观锁与乐观锁
  6. leetcode—10.栈题型python解答
  7. python判断给定的手机号是否存在
  8. linux系统lvs技术,Linux 负载均衡二Lvs技术
  9. 使用极光推送(www.jpush.cn)向安卓手机推送消息【服务端向客户端主送推送】C#语言...
  10. Windows 身份验证的凭据进程
  11. 哥德巴赫猜想python
  12. JAVA实现在面板中添加图表_java-如何在不制作新图表的情况下将jzy3d图表添加到JFrame?...
  13. 如何启动 WordPress 博客 – 简易指南 – 创建博客(2021)
  14. app调起支付宝-后端预支付
  15. 观察者模式的一个例子
  16. js阻止事件的默认行为发生的三种方式
  17. SQL21天自学通pdf 百度云盘
  18. Motion Based Multi-Sensor Extrinsic Calibration源码配置与学习记录
  19. 6年软件开发工作总结
  20. 金融量化-技术分析策略和交易系统_CCI指标的策略实现

热门文章

  1. 大咖茶话会 | 与原新浪微博副总裁零距离沟通
  2. 【双十二】电商们的文案大战,猫狗快被玩坏了!
  3. Java新手如何学习Spring、Struts、Hibernate三大框架?
  4. 国内代码托管平台(Git)
  5. 清除2960交换机的配置
  6. 一个按钮触发两个事件可以吗?
  7. mysql将时间戳转成常用可读时间格式
  8. linux重启和关机命令
  9. hdu 4350 2012 多校 - 6
  10. HDFS集群balance(3)-- 架构细节