BAPI_CUSTOMERRETURN_CREATE 创建退货订单
READ TABLE s_head INDEX 1.
IF sy-subrc = 0.
ls_orders_h = s_head.
*** 抬头
CLEAR: ls_header,ls_headerx.
ls_header-doc_type = s_head-auart. "销售凭证类型
ls_header-sales_org = '8000'. "销售组织
ls_header-distr_chan = s_head-vtweg."分销渠道
ls_header-division = '10'. " 产品组默认
ls_header-purch_no_c = s_head-khdh. " 客户参考号
ls_header-req_date_h = s_head-sodate. "交货日期 ls_headerx-doc_type = abap_true.
ls_headerx-sales_org = abap_true.
ls_headerx-distr_chan = abap_true.
ls_headerx-division = abap_true.
ls_headerx-purch_no_c = abap_true.
ls_headerx-req_date_h = abap_true.
*退货原因
CASE s_head-augru .
WHEN '10 '.
ls_header-ord_reason = '900'.
WHEN '20 '.
ls_header-ord_reason = '910'.
WHEN '30'.
ls_header-ord_reason = '930'.
ENDCASE. ls_headerx-ord_reason = abap_true.
*** 抬头增强字段
CLEAR: ls_bape_vbak,ls_bape_vbakx. ls_bape_vbak-zzaykhdh = s_head-zkhdha. "
ls_bape_vbak-zzsosourc = s_head-sosourc. "
LOOP AT s_item.
lv_matnr = s_item-matnr.
CLEAR s_item.
ENDLOOP.
READ TABLE s_head INDEX 1.
ls_orders_h-kunnr = s_head-kunnr.
CALL FUNCTION 'ZSD_ORDER_TYPE'
EXPORTING
i_matnr = lv_matnr
i_kunnr = ls_orders_h-kunnr
IMPORTING
o_type = ls_bape_vbak-zzbustype. ls_bape_vbak-zdddd = s_head-zddlxx.
ls_bape_vbak-zddlll = s_head-zddlya. ls_bape_vbakx-zzykhdh = abap_true.
ls_bape_vbakx-zzsosourc = abap_true.
ls_bape_vbakx-zzbustype = abap_true. ls_bape_vbakx-zddlx = abap_true.
ls_bape_vbakx-zddly = abap_true. CLEAR:lt_extensionin,ls_extensionin,str.
CONCATENATE ls_extensionin-valuepart1 ls_extensionin-valuepart2 ls_extensionin-valuepart3 ls_extensionin-valuepart4 INTO str.
MOVE 'BAPE_VBAK' TO ls_extensionin-structure.
CALL METHOD cl_abap_container_utilities=>fill_container_c
EXPORTING
im_value = ls_bape_vbak
IMPORTING
* ex_container = ls_extensionin-valuepart1.
ex_container = str.
ls_extensionin-valuepart1 = str+0(240).
ls_extensionin-valuepart2 = str+240(240).
ls_extensionin-valuepart3 = str+480(240).
ls_extensionin-valuepart4 = str+720(240). APPEND ls_extensionin TO lt_extensionin. CLEAR ls_extensionin.
MOVE 'BAPE_VBAKX' TO ls_extensionin-structure.
MOVE ls_bape_vbakx TO ls_extensionin-valuepart1.
APPEND ls_extensionin TO lt_extensionin.
***合作伙伴
CLEAR: lt_partner,ls_partner.
ls_partner-partn_role = 'AG'." 售达方
ls_partner-partn_numb = s_head-kunnr."SAP客户编码
CALL FUNCTION 'CONVERSION_EXIT_ALPHA_INPUT'
EXPORTING
input = ls_partner-partn_numb
IMPORTING
output = ls_partner-partn_numb. APPEND ls_partner TO lt_partner.
ENDIF. LOOP AT s_item.
* WHERE khdh = s_head-khdh.
lv_posnr = lv_posnr + 10.
lv_line = lv_line + 1.
*** 行项目
CLEAR: ls_item,ls_item. ls_item-itm_number = lv_posnr."行项目号
ls_item-material_long = s_item-matnr."物料号
ls_item-material = s_item-matnr.
CALL FUNCTION 'CONVERSION_EXIT_MATN1_INPUT'
EXPORTING
input = ls_item-material_long
IMPORTING
output = ls_item-material_long.
ls_item-target_qty = s_item-quantity."数量
IF s_item-price = 0.
ls_item-item_categ = 'ZRNN'.
ENDIF.
APPEND ls_item TO lt_item. ls_itemx-itm_number = lv_posnr.
ls_itemx-material = abap_true.
ls_itemx-material_long = abap_true.
ls_itemx-target_qty = abap_true.
ls_item-item_categ = abap_true.
APPEND ls_itemx TO lt_itemx. CLEAR: ls_schedule,ls_schedulex.
ls_schedule-itm_number = lv_posnr.
ls_schedule-sched_line = lv_line.
ls_schedule-req_qty = s_item-quantity.
ls_schedule-req_date = s_item-dedate.
APPEND ls_schedule TO lt_schedule. ls_schedulex-itm_number = lv_posnr.
ls_schedule-sched_line = lv_line.
ls_schedulex-req_qty = abap_true.
ls_schedulex-req_date = abap_true.
APPEND ls_schedulex TO lt_schedulex. *** 行项目条件记录
CLEAR:ls_condx,ls_cond.
ls_cond-itm_number = lv_posnr.
ls_cond-cond_type = 'ZSG'. "定价条件
ls_cond-cond_value = s_item-price / 10."价格
APPEND ls_cond TO lt_cond. ls_condx-itm_number = lv_posnr.
ls_condx-cond_type = abap_true.
ls_condx-cond_value = abap_true. APPEND ls_condx TO lt_condx. *** 行项目增强
CLEAR:ls_bape_vbap,ls_bape_vbapx,ls_extensionin,gt_vbap,gs_vbap. ls_bape_vbap-posnr = lv_posnr.
ls_bape_vbap-zzecode = s_item-ecode.
ls_bape_vbap-zzrckhdh = s_item-rckhdh.
ls_bape_vbap-zzkhdh = s_item-khdh.
ls_bape_vbap-zzdeparte = s_item-zzdeparte. ls_bape_vbapx-posnr = lv_posnr.
ls_bape_vbapx-zzecode = abap_true.
ls_bape_vbapx-zzrckhdh = abap_true.
ls_bape_vbapx-zzkhdh = abap_true.
ls_bape_vbapx-zzdeparte = abap_true. MOVE 'BAPE_VBAP' TO ls_extensionin-structure. CALL METHOD cl_abap_container_utilities=>fill_container_c
EXPORTING
im_value = ls_bape_vbap
IMPORTING
ex_container = ls_extensionin-valuepart1.
APPEND ls_extensionin TO lt_extensionin. CLEAR ls_extensionin.
MOVE 'BAPE_VBAPX' TO ls_extensionin-structure.
MOVE ls_bape_vbapx TO ls_extensionin-valuepart1.
APPEND ls_extensionin TO lt_extensionin. ENDLOOP. CALL FUNCTION 'BAPI_CUSTOMERRETURN_CREATE'
EXPORTING
* SALESDOCUMENTIN =
return_header_in = ls_header
return_header_inx = ls_headerx
IMPORTING
salesdocument = lv_salesdocument
TABLES
return = lt_return
return_items_in = lt_item
return_items_inx = lt_itemx
return_partners = lt_partner
return_schedules_in = lt_schedule
return_schedules_inx = lt_schedulex
return_conditions_in = lt_cond
extensionin = lt_extensionin. LOOP AT lt_return INTO ls_return WHERE type = 'A' OR type = 'E'.
lv_message = lv_message && ls_return-message.
ENDLOOP.
BAPI_CUSTOMERRETURN_CREATE 创建退货订单的更多相关文章
- BAPI_SALESORDER_CREATEFROMDAT2 创建退货SO
BAPI_SALESORDER_CREATEFROMDAT2创建退货订单时,会出现以下错误:不允许业务对象 BUS2032 和销售凭证类别 H 的组合. 解决办法: 采用/原BAPI的内嵌BAPI: ...
- 创建生产订单函数BAPI_PRODORD_CREATE
创建生产订单,创建订单长文本,订单下达 DATA:gs_bapi_pp_order_create TYPE bapi_pp_order_create. DATA:gt_bapi_order_key T ...
- POCISO-採购创建内部订单(R12.2.3)
採购创建内部订单(R12.2.3) --US Program:Create Internal Orders Short Name:POCISO Application:Purchasing Ex ...
- 【MM系列】SAP MM模块-收货自动创建采购订单
公众号:SAP Technical 本文作者:matinal 原文出处:http://www.cnblogs.com/SAPmatinal/ 原文链接:[MM系列]SAP MM模块-收货自动创建采购订 ...
- 【SD系列】SAP 创建销售订单-用外部给号的方法步骤
公众号:SAP Technical 本文作者:matinal 原文出处:http://www.cnblogs.com/SAPmatinal/ 原文链接:[SD系列]SAP 创建销售订单-用外部给号的方 ...
- Django学习路15_创建一个订单信息,并查询2020年\9月的信息都有哪些
在 app5.models.py 中添加一个 Order 表 class Order(models.Model): o_num = models.CharField(max_length= 16 ,u ...
- day114:MoFang:基于支付宝沙箱测试环境完成创建充值订单接口&服务端处理支付结果的同步通知和异步通知
目录 1.基于支付宝提供的沙箱测试环境开发支付接口 1.后端提供创建充值订单接口 2.前端调用AlipayPlus发起支付 3.注意:自定义APPLoader完成接下来的开发 4.下载支付宝沙箱钱包A ...
- 调用SAP函数创建寄售退货订单的时候报错:业务对象 BUS2032 是销售订单,销售凭证类别 H 是退货。
RE.KR订单类型用BAPI_CUSTOMERRETURN_CREATE 其他用BAPI_SALESORDER_CREATEFROMDAT2
- 批量创建采购订单 BAPI_PO_CREATE1
*&---------------------------------------------------------------------* *& REPORT ZMM_PO_C ...
- 使用简单的Java代码在SAP C4C里创建销售订单
需要创建的销售订单的明细通过硬编码指定: 比如销售订单的描述为Jerry Test 2019-1-23 16:05PM 执行之后,看到Status Code 201,说明创建成功: 到UI上能看到成功 ...
随机推荐
- Mac port 443: Connection refused
MAC 安装brew raw.githubusercontent.com port 443: Connection refused 本人亲自认证过,踩过多种方案,最终认证的解决方案 原因:由于某些你懂 ...
- bug|项目经验|记录某次页面div使用v-html标签渲染图片等内容的过程
前言 记录某次页面div使用v-html标签渲染图片等内容的过程 一.结论: get请求但被设置Sec-Fetch-*请求头的图片无法展示. 二.原因: 1.本项目中的img标签发起get请求,目标链 ...
- CVE-2025-29927 Next.js 中间件权限绕过漏洞复现
漏洞信息 Next.js 是一个基于 React 的流行 Web 应用框架,提供服务器端渲染.静态网站生成和集成路由系统等功能.包含众多功能,是深入研究复杂研究的完美游乐场.在信念.好奇心和韧性的推动 ...
- 【SpringCloud】微服务架构编码构建
微服务架构编码构建 约定>配置>编码 Mysql的主从 slave会从master读取binlog来进行数据同步 三步骤+原理图 MySQL复制过程分成三步: master将改变记录到二进 ...
- FastAPI依赖注入:从基础概念到应用
title: FastAPI依赖注入:从基础概念到应用 date: 2025/04/04 16:28:51 updated: 2025/04/04 16:28:51 author: cmdragon ...
- Source Tree ssh配置
此链接中的gitlab和github使用ssh是一样的 https://blog.csdn.net/u014222765/article/details/78909074 注意在生成公钥后,要手动复制 ...
- python批量检测链接是否可正常打开
通过一些爬虫脚本爬取图站图片,但是发现有些图片是没法打开的,可能返回404的code码 所以设计一个脚本,对所有的图片地址进行检查,返回200的保存到另外一个文本内,然后再去下载 脚本逻辑很简单,直接 ...
- react项目vite报错:UnhandledPromiseRejectionWarning: SyntaxError: Unexpected token '??='
问题: vite报错:UnhandledPromiseRejectionWarning: SyntaxError: Unexpected token '??=' 今天clone一个vite的项目,安装 ...
- 备份一个 VirtualizingWrapPanel ,支持虚拟化
1 using System; 2 using System.Collections.Generic; 3 using System.Diagnostics; 4 using System.Linq; ...
- .net core日志NLog的使用
Nlog日志使用 视频:https://www.bilibili.com/video/BV1bv4y1a79X 参照:https://www.cnblogs.com/sheng-jie/p/17169 ...