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 ...
随机推荐
- 窗体添加按钮--java进阶day03
1.组件.面板对象 窗体中的图片.按钮.文本都是组件,光创建出了窗体没有组件肯定不行,但是这些组件该放到窗体的哪个位置? 很明显是窗体中空白的位置,但是我们需要知道,这块空白位置在窗体中是一个被封装的 ...
- 【Java】常用类
一.String类 java.lang.String类的使用 注意:String可以String s = "";,是因为String类型在后面自动补充了'\0' char初始化不能 ...
- 记录-内网部署vllm分布式推理DeepSeekR1:70b
背景 前段时间接到需求要在内网部署DeepSeekR1:70b,由于手里的服务器和显卡比较差(四台 四块Tesla T4- 16g显存的服务器),先后尝试了ollama.vllm.llamacpp等, ...
- 第八届机械工程与应用复合材料国际会议(MEACM 2025)
第八届机械工程与应用复合材料国际会议(MEACM 2025) 吉隆坡,马来西亚 2025年8月25-27日 会议简介:2025年第八届机械工程与应用复合材料国际会议(MEACM 2025)将于2025 ...
- WPF旋转板栈设计一例
效果图 项目中需要做一个机台的平面视图,点击其中一个料盒时,弹出该料盒的料管列表,用WPF示例做了一下,效果如下: 用户控件XAML 1 <UserControl x:Class="W ...
- Wolfram常用计算
1.方程与方程组 例1:求解方程 参考表达式: solve x^3 + 2x^2 - 6x + 5 = 0 real 求解所有根 例2:求解方程: 参考表达式: solve ax^2+bx+c=0 注 ...
- symfony或doctrine报错:Object of class App\Entity\* could not be converted to string
报错: Catchable Fatal Error: Object of class App\Entity\ProjectType could not be converted to string 版 ...
- mousedown mouseenter mouseup firefox,还是通一用webkit吧,细节的坑刚刚填,毕竟现在是webkit一家大拿!
mouse,mouseup,mouseenter,mouseover,click坑呀,浏览器表现居然不一致: firefox呀 直接上代码吧,自定义个el-table的select,chrome表现正 ...
- Spring基于xml的CRUD
目录 基于xml的CRUD 代码实现 测试 基于xml的CRUD 源码 使用C3P0连接池 使用dbutils包中的QueryRunner类来对数据库进行操作 代码实现 pom.xml <?xm ...
- 『Plotly实战指南』--在金融数据可视化中的应用(下)
在金融市场的复杂博弈中,可视化技术如同精密的导航仪. 传统静态图表正在被交互式可视化取代--据Gartner研究,采用动态可视化的投资机构决策效率提升达47%. 本文的目标是探讨如何利用 Plotly ...