BAPI_OUTB_DELIVERY_CREATE_SLS、BAPI_OUTB_DELIVERY_CONFIRM_DEC 创建交货单,交货单过账
FUNCTION zsd_dn_create1.
*"----------------------------------------------------------------------
*"*"本地接口:
*" IMPORTING
*" VALUE(SODATE) TYPE ZDATE
*" EXPORTING
*" VALUE(LV_DELIVERY) TYPE LIPS-VBELN
*" TABLES
*" CREATE_DN STRUCTURE ZMMT_DN_CREAT1
*" GT_RETURN STRUCTURE BAPIRET2 OPTIONAL
*"---------------------------------------------------------------------- DATA: p_date LIKE sy-datum.
DATA: lt_vbap TYPE TABLE OF zmmt_dn_creat1.
DATA: ls_vbap TYPE zmmt_dn_creat1. DATA:lt_vbap_temp TYPE TABLE OF zmmt_dn_creat1.
DATA:ls_vbap_temp TYPE zmmt_dn_creat1. DATA:lt_sales_order_items TYPE TABLE OF bapidlvreftosalesorder.
DATA:ls_sales_order_items TYPE bapidlvreftosalesorder. DATA: ls_header_data TYPE bapiobdlvhdrcon.
DATA: ls_header_control TYPE bapiobdlvhdrctrlcon. DATA: lt_header_deadlines TYPE TABLE OF bapidlvdeadln .
DATA: ls_header_deadlines TYPE bapidlvdeadln . DATA: BEGIN OF gt_lgort OCCURS 0,
vbeln TYPE vbeln,
posnr TYPE vbelp,
lgort TYPE lgort_d,
charg TYPE charg_d,
spe_alternate TYPE lips-spe_alternate,
budat TYPE budat,
END OF gt_lgort. DATA: l_aufnr TYPE aufnr.
DATA: l_lgort TYPE lgort_d.
DATA: l_charg TYPE charg_d.
DATA: clabs TYPE mchb-clabs.
DATA: gs_return TYPE bapiret2.
DATA: gv_message TYPE char200.
DATA: text1(6) TYPE c.
DATA: text2(2) TYPE c.
DATA: zvrkme TYPE vbap-vrkme. * CLEAR:text1,text2.
p_date = sodate. lt_vbap = create_dn[].
lt_vbap_temp = lt_vbap. SORT lt_vbap_temp BY vbeln.
DELETE ADJACENT DUPLICATES FROM lt_vbap_temp COMPARING vbeln. CALL FUNCTION 'FRE_CONVERT_DATE_TO_TIMESTMP'
EXPORTING
ip_start_date = p_date
ip_time_zone = 'UTC'
IMPORTING
ep_start_date = ls_header_deadlines-timestamp_utc.
ls_header_deadlines-timetype = 'WSHDRWADTI'. LOOP AT lt_vbap_temp INTO ls_vbap_temp. CLEAR: lt_sales_order_items,ls_sales_order_items,gt_lgort[],gt_lgort,zvrkme.
LOOP AT lt_vbap INTO ls_vbap WHERE vbeln = ls_vbap_temp-vbeln.
CLEAR ls_sales_order_items.
ls_sales_order_items-ref_doc = ls_vbap-vbeln.
ls_sales_order_items-ref_item = ls_vbap-posnr.
ls_sales_order_items-dlv_qty = ls_vbap-kwmeng.
SELECT SINGLE vrkme INTO zvrkme FROM vbap WHERE vbap~vbeln = ls_vbap-vbeln and vbap~POSNR = ls_vbap-POSNR.
ls_sales_order_items-sales_unit = zvrkme.
APPEND ls_sales_order_items TO lt_sales_order_items. gt_lgort-vbeln = ls_vbap-vbeln.
gt_lgort-posnr = ls_vbap-posnr.
gt_lgort-lgort = ls_vbap-lgort.
gt_lgort-budat = p_date.
CLEAR: l_aufnr,l_lgort,l_charg,zvrkme.
gt_lgort-charg = ls_vbap-charg. APPEND gt_lgort.
ENDLOOP. EXPORT itab = gt_lgort TO MEMORY ID 'GT_LGORT'. CLEAR:lv_delivery,gt_return.
***创建交货单
CALL FUNCTION 'BAPI_OUTB_DELIVERY_CREATE_SLS'
IMPORTING
delivery = lv_delivery
TABLES
sales_order_items = lt_sales_order_items
* SERIAL_NUMBERS =
* EXTENSION_IN =
* DELIVERIES =
* CREATED_ITEMS =
* EXTENSION_OUT =
return = gt_return. IF lv_delivery IS NOT INITIAL.
CALL FUNCTION 'BAPI_TRANSACTION_COMMIT'
EXPORTING
wait = 'X'. CLEAR:ls_header_data, ls_header_control.
ls_header_data-deliv_numb = lv_delivery .
ls_header_control-deliv_numb = lv_delivery .
ls_header_control-post_gi_flg = 'X'.
ls_header_control-volume_flg = 'X'. CLEAR:lt_header_deadlines, ls_header_deadlines-deliv_numb.
ls_header_deadlines-deliv_numb = lv_delivery. APPEND ls_header_deadlines TO lt_header_deadlines. ***交货单发货过账
CLEAR:gt_return. CALL FUNCTION 'BAPI_OUTB_DELIVERY_CONFIRM_DEC'
EXPORTING
header_data = ls_header_data
header_control = ls_header_control
delivery = lv_delivery
TABLES
header_deadlines = lt_header_deadlines
return = gt_return. LOOP AT gt_return INTO gs_return WHERE type = 'A' OR type = 'E'.
ENDLOOP.
IF gs_return IS NOT INITIAL.
CALL FUNCTION 'BAPI_TRANSACTION_ROLLBACK'.
*************************************************删除没有交货成功的交货单
DATA: wa_hdata LIKE bapiobdlvhdrchg,
wa_hcont LIKE bapiobdlvhdrctrlchg,
d_delivy LIKE bapiobdlvhdrchg-deliv_numb,
it_bapiret2 LIKE bapiret2 OCCURS 0 WITH HEADER LINE. wa_hdata-deliv_numb = lv_delivery.
wa_hcont-deliv_numb = lv_delivery.
wa_hcont-DLV_DEL = 'X'.
d_delivy = lv_delivery.
CALL FUNCTION 'BAPI_OUTB_DELIVERY_CHANGE'
EXPORTING
header_data = wa_hdata
header_control = wa_hcont
delivery = d_delivy
TABLES
return = it_bapiret2.
CALL FUNCTION 'BAPI_TRANSACTION_COMMIT'
EXPORTING
wait = 'X'.
*************************************************删除没有交货成功的交货单
ELSE.
CALL FUNCTION 'BAPI_TRANSACTION_COMMIT'
EXPORTING
wait = 'X'.
ENDIF.
ELSE.
CALL FUNCTION 'BAPI_TRANSACTION_ROLLBACK'.
ENDIF.
ENDLOOP. ENDFUNCTION.
BAPI_OUTB_DELIVERY_CREATE_SLS、BAPI_OUTB_DELIVERY_CONFIRM_DEC 创建交货单,交货单过账的更多相关文章
- ABAP 订单-交货单-发货过账自动完成 案例
*&---------------------------------------------------------------------* *& Report ZSDR006 ...
- 『诡异的』VL10B创建外向交货单出错解决全过程
一直觉得SAP STO的业务模式配置起来还是挺简单的,无非就是关联一下采购单与交货单的关系,以及相应工厂的装运数据,其他像主数据的设置也没有什么特别的.相比ICS模式,它少了IDOC的配置,所以还是很 ...
- SAP MM 同一个序列号可以被多次用在交货单发货过账?
SAP MM 同一个序列号可以被多次用在交货单发货过账? 如下公司间转储订单,从公司代码CSAS转入公司代码HKCS, 物料有启用序列号管理. 转储数量为5 PC.该STO单据共计有2个外向交货单 8 ...
- 【MM系列】SAP 根据采购订单创建外向交货单的BAPI
公众号:SAP Technical 本文作者:matinal 原文出处:http://www.cnblogs.com/SAPmatinal/ 原文链接:[MM系列]SAP 根据采购订单创建外向交货单的 ...
- 参照UB单创建DN并过账
*&---------------------------------------------------------------------* *& Form FRM_DN_POST ...
- 创建内向交货单 BBP_INB_DELIVERY_CREATE
DATA:DEL_HEADER TYPE BBP_INBD_L. DATA:DEL_TAB TYPE TABLE OF BBP_INBD_D WITH HEADER LINE. DATA:DEL_RE ...
- 创建交货单/外向交货BAPI_OUTB_DELIVERY_CREATE_SLS/STO
FUNCTION Z_SD_CREATE_DN. *"-------------------------------------------------------------------- ...
- SAP MM 公司间STO里交货单PGI之后自动触发内向交货单功能的实现
SAP MM 公司间STO里交货单PGI之后自动触发内向交货单功能的实现 笔者所在的项目上的公司间STO的流程里,发货公司在做PGI之后系统自动触发收货公司的内向交货单.这个功能是通过交货单的Outp ...
- 根据采购/销售订单创建STO/SO
FUNCTION Z_SD_CREATE_DN. *"-------------------------------------------------------------------- ...
- BAPI
MM模块 1. BAPI_MATERIAL_SAVEDATA 创建物料主数据 注意参数EXTENSIONIN的使用,可以创建自定义字段 例如:WA_BAPI_TE_MARA-MATERIAL = IT ...
随机推荐
- JDK 24 发布,新特性解读!
真快啊!Java 24 这两天已经正式发布啦!这是自 Java 21 以来的第三个非长期支持版本,和 Java 22.Java 23一样. 下一个长期支持版是 Java 25,预计今年 9 月份发布. ...
- Docker top 命令
Docker 命令大全Docker 命令大全docker top :查看容器中运行的进程信息,支持 ps 命令参数.语法docker top [OPTIONS] CONTAINER [ps OPTIO ...
- 又一款眼前一亮的Linux终端工具!
大家好,我是良许. 最近二舅视频刷爆了全网,大家有没去看呢?强烈推荐大家观看一波,也就 11 分钟,保证会触动你的泪点. 不过今天不讲二舅哈,还是来聊聊技术. 今天给大家介绍一款最近发现的功能十分强大 ...
- 康谋分享 | ADTF过滤器全面解析:构建、配置与数据处理应用
在ADTF (Automotive Data and Time-Triggered Framework)中,过滤器(Filter)扮演着数据处理的核心角色.过滤器是处理数据流的基本单元,它们接收.处理 ...
- 康谋技术 |高效同步与处理:ADTF流服务在自动驾驶数采中的应用
随着自动驾驶技术的发展,车辆的智能化程度不断提高,这体现了车辆感知,决策以及执行的能力.在算法开发和迭代过程中,提高测试和开发效率,关键在于多传感器数据的高质量采集,确保数据的同步性.完整性和一致性. ...
- 创建第一个属于自己的JavaWeb小程序吧
需要使用的 技术 工具: idea 2022 开发工具 MySql 5.6 数据库工具 Apache Tomcat 8.5.85 web应用部署工具 主要功能有: 用户登录 用户注册 展示列表 ...
- fiddler抓包常用辅助工具
一.过滤器 1.hosts: 只展示内网或外网的hosts,internet(外网),Intranet(内网) 展示下面的hosts/隐藏下面的hosts/:选择后填写需要设置的hosts(地址前面的 ...
- AutoFac学习Demo1——官网Demo
AutoFac实现Demo1 1.创建一个工作台(.NET Core)程序AutofacDemo1,nuget引入AutoFac,搜索第一个就是 2.创建输出接口IOutput及实现ConsoleOu ...
- python-docx设置标题颜色
from docx import Document from docx.enum.text import WD_PARAGRAPH_ALIGNMENT from docx.shared import ...
- ESP32教程:通过WIFI控制LED灯的开关
LED闪烁 在通过WIFI控制LED灯的开关之前,我们先实现一下LED闪烁. 接线图: 来源:https://esp32io.com/tutorials/esp32-led-blink 我的接线图: ...