[BAPI]外向交货单按批次拆分[BAPI_OUTB_DELIVERY_CHANGE]
时间:2019-08-30
本文章向大家介绍[BAPI]外向交货单按批次拆分[BAPI_OUTB_DELIVERY_CHANGE],主要包括[BAPI]外向交货单按批次拆分[BAPI_OUTB_DELIVERY_CHANGE]使用实例、应用技巧、基本知识点总结和需要注意事项,具有一定的参考价值,需要的朋友可以参考一下。
下面介绍SAP SD的销售订单外向交货单按批次拆分(Batch-Managed),包括前台操作和调用bapi ‘BAPI_OUTB_DELIVERY_CHANGE’ 实现。
1, 前台操作
按批次拆分操作:
外向交货单Tcode: VL02n
选中10行项目,点击‘批次拆分’按钮,填写批次后,回车,会将项目号和库位自动带出(视具体配置而定)
点保存后,原来航项目10数量自动变更,变成0.
删除批次拆分操作:
选中刚才创建的拆分项目90001和90002,点删除按钮。
10行项目数量会自动更新,重新变成3
2, BAPI实现
完整代码:
其中
LW_ITEM_DATA-USEHIERITM = '1'.
查看了domain中的固定值:‘1’代表Batch Subitem
REPORT ztest_bapi_sobitch. PARAMETERS p_vbeln TYPE vbeln_vl DEFAULT '8000003765'. "测试批次拆分 DATA: lit_header_partner LIKE TABLE OF bapidlvpartnerchg , "交货:合作伙伴更改 lit_header_deadlines LIKE TABLE OF bapidlvdeadln , "交货截止日期 lit_item_data LIKE TABLE OF bapiobdlvitemchg , "更改外向交货拣配数据项目等级 lit_item_control LIKE TABLE OF bapiobdlvitemctrlchg , "外向交货项目级别控制数据 lit_ret LIKE TABLE OF bapiret2 WITH HEADER LINE , "返回参数 lit_item_data_spl LIKE TABLE OF /spe/bapiobdlvitemchg , "更改向外交货拣配数据项目等级(SPE) is_header_data LIKE bapiobdlvhdrchg , "更改外向交货拣配数据表头等级 is_header_control LIKE bapiobdlvhdrctrlchg , "外向交货标题级别控制数据 iv_delivery LIKE bapiobdlvhdrchg-deliv_numb . "交货 DATA: lwa_header_partner LIKE bapidlvpartnerchg , "交货:合作伙伴更改 lwa_header_deadlines LIKE bapidlvdeadln , "交货截止日期 lwa_item_data LIKE bapiobdlvitemchg , "更改外向交货拣配数据项目等级 lwa_item_control LIKE bapiobdlvitemctrlchg , "外向交货项目级别控制数据 lwa_return LIKE bapiret2 . "返回参数 DATA: l_techn_control TYPE bapidlvcontrol. DATA: ls_item TYPE bapiobdlvitemchg, ls_item_t TYPE bapiobdlvitemchg, ls_item_control TYPE bapiobdlvitemctrlchg, ls_deadlines TYPE bapidlvdeadln. iv_delivery = p_vbeln. "交货单号 "头信息 is_header_data-deliv_numb = p_vbeln. "交货单号 is_header_control-deliv_numb = p_vbeln. "修改原10行项目数量 CLEAR lwa_item_data. lwa_item_data-deliv_numb = p_vbeln. lwa_item_data-deliv_item = 10. "原行项目 lwa_item_data-dlv_qty = 1. lwa_item_data-dlv_qty_imunit = 1. lwa_item_data-base_uom = 'TO'. "基本单位 lwa_item_data-sales_unit = 'TO'. "销售单位 lwa_item_data-fact_unit_nom = 1. "销售数量转换成SKU的分子(因子) lwa_item_data-fact_unit_denom = 1. "销售数量转换为 SKU 的值(除数) APPEND lwa_item_data TO lit_item_data . CLEAR lwa_item_control. lwa_item_control-deliv_numb = p_vbeln. lwa_item_control-deliv_item = 10. "原行项目 lwa_item_control-chg_delqty = 'X'. "数量修改标志 APPEND lwa_item_control TO lit_item_control. "新拆分的批次 CLEAR lwa_item_data. lwa_item_data-deliv_numb = p_vbeln. lwa_item_data-deliv_item = '900001'. "拆分后的新行项目 lwa_item_data-hieraritem = 10. "上级行项目 lwa_item_data-batch = 'YS91480001'. "新批次 lwa_item_data-dlv_qty = 1. "自己重新计算拆分后的数量, lwa_item_data-dlv_qty_imunit = 1. lwa_item_data-fact_unit_nom = 1. "销售数量转换成SKU的分子(因子) lwa_item_data-fact_unit_denom = 1. "销售数量转换为 SKU 的值(除数) lwa_item_data-base_uom = 'TO'. "基本单位 lwa_item_data-sales_unit = 'TO'. "销售单位 lwa_item_data-usehieritm = '1'. APPEND lwa_item_data TO lit_item_data. CLEAR lwa_item_data. lwa_item_data-deliv_numb = p_vbeln. lwa_item_data-deliv_item = '900002'. "拆分后的新行项目 lwa_item_data-hieraritem = 10. "上级行项目 lwa_item_data-batch = 'YS91480002'."新批次 lwa_item_data-dlv_qty = 1. lwa_item_data-dlv_qty_imunit = 1. lwa_item_data-fact_unit_nom = 1. "销售数量转换成SKU的分子(因子) lwa_item_data-fact_unit_denom = 1. "销售数量转换为 SKU 的值(除数) lwa_item_data-base_uom = 'TO'. "基本单位 lwa_item_data-sales_unit = 'TO'. "销售单位 lwa_item_data-usehieritm = '1'. APPEND lwa_item_data TO lit_item_data. CLEAR lwa_item_control. lwa_item_control-deliv_numb = p_vbeln. lwa_item_control-deliv_item = '900001'. "拆分后的新行项目 lwa_item_control-chg_delqty = 'X'. "数量修改标志 APPEND lwa_item_control TO lit_item_control . CLEAR lwa_item_control. lwa_item_control-deliv_numb = p_vbeln. lwa_item_control-deliv_item = '900002'."拆分后的新行项目 lwa_item_control-chg_delqty = 'X'. "数量修改标志 APPEND lwa_item_control TO lit_item_control . CALL FUNCTION 'BAPI_OUTB_DELIVERY_CHANGE' EXPORTING header_data = is_header_data header_control = is_header_control delivery = iv_delivery TABLES header_partner = lit_header_partner header_deadlines = lit_header_deadlines item_data = lit_item_data item_control = lit_item_control return = lit_ret * ITEM_DATA_SPL = IT_ITEM_DATA_SPL . DATA: l_msg TYPE string. IF lit_ret[] IS INITIAL. COMMIT WORK AND WAIT. WRITE:/ '批次拆分成功'. RETURN. ENDIF. LOOP AT lit_ret WHERE type = 'E'. CLEAR l_msg. MESSAGE ID lit_ret-id TYPE 'E' NUMBER lit_ret-number WITH lit_ret-message_v1 lit_ret-message_v2 lit_ret-message_v3 lit_ret-message_v4 INTO l_msg. WRITE:/ l_msg. ENDLOOP.
选择画面:
3, 保存批次数据库表
外向交货单批次的相关数据保存在表LIPS中,
LIPS-UECHA:批次拆分项目的上层项目
以上面的数据为例:
LIKP
LIPS
VBFA: 销售凭证流
以上。
原文地址:https://www.cnblogs.com/datie/p/11435467.html
- 【专知-Deeplearning4j深度学习教程02】用ND4J自己动手实现RBM: 图文+代码
- 【专知-Deeplearning4j深度学习教程03】使用多层神经网络分类MNIST数据集:图文+代码
- TypeScript 1.6发布:完全支持React/JSX
- 【专知-Java Deeplearning4j深度学习教程04】使用CNN进行文本分类:图文+代码
- sql server之数据库语句优化
- 【专知-Java Deeplearning4j深度学习教程05】无监督特征提取神器—AutoEncoder:图文+代码
- 平衡树初阶——AVL平衡二叉查找树+三大平衡树(Treap + Splay + SBT)模板【超详解】
- HDU 2689 Sort it【树状数组】
- BZOJ 1800: [Ahoi2009]fly 飞行棋【思维题,n^4大暴力】
- Vijos P1066 弱弱的战壕【多解,线段树,暴力,树状数组】
- GeetTest~下一代验证(附C#案例)
- [接口测试 - http.client篇] 17 http.client之入门级接口测试框架
- 评论JS插件~多说+畅言
- jQuery HTML5 Uploader
- JavaScript 教程
- JavaScript 编辑工具
- JavaScript 与HTML
- JavaScript 与Java
- JavaScript 数据结构
- JavaScript 基本数据类型
- JavaScript 特殊数据类型
- JavaScript 运算符
- JavaScript typeof 运算符
- JavaScript 表达式
- JavaScript 类型转换
- JavaScript 基本语法
- JavaScript 注释
- Javascript 基本处理流程
- Javascript 选择结构
- Javascript if 语句
- Javascript if 语句的嵌套
- Javascript switch 语句
- Javascript 循环结构
- Javascript 循环结构实例
- Javascript 跳转语句
- Javascript 控制语句总结
- Javascript 函数介绍
- Javascript 函数的定义
- Javascript 函数调用
- Javascript 几种特殊的函数
- JavaScript 内置函数简介
- Javascript eval() 函数
- Javascript isFinite() 函数
- Javascript isNaN() 函数
- parseInt() 与 parseFloat()
- escape() 与 unescape()
- Javascript 字符串介绍
- Javascript length属性
- javascript 字符串函数
- Javascript 日期对象简介
- Javascript 日期对象用途
- Date 对象属性和方法
- Javascript 数组是什么
- Javascript 创建数组
- Javascript 数组赋值与取值
- Javascript 数组属性和方法
- 程序员深夜惨遭老婆鄙视,原因竟是CAS原理太简单?| 每一张图都力求精美
- MySQL数据延迟跳动的问题分析
- Python GUI项目实战(八)修改密码功能的实现
- Prometheus监控神器-Alertmanager篇(3)
- Prometheus监控神器-Alertmanager篇(4)
- 71-STM32+ESP8266+AIR202基本控制篇-移植使用-移植微信小程序MQTT底层包到自己的工程项目
- 目标检测 | Anchor free之CornerNet网络深度解析
- 手把手教你 3 分钟搞定个人网站 http 免费升级到 https
- 设计模式(四):通过做蛋糕理解构建模式及Android中的变种
- 如何入门使用腾讯云物联网开发平台 IoT Explorer,开发一盏智慧城市的智能灯?
- 知道吗?容器镜像也可以延迟拉取!
- ansible超详细讲解,值得收藏
- 实战渗透 - 一个怎么够?我全都要!
- 详解 Numpy 中的视图和副本
- 详解 matplotlib 中的两种标注方法