销售订单、外向交货单、交货 bapi
转自【http://www.cnblogs.com/elegantok/archive/2009/10/18/1585398.html】
***********SALES ORDER INPUT CREATION.
REPORT soi.
PARAMETERS: p_auart TYPE auart OBLIGATORY.
PARAMETERS: p_vkorg TYPE vkorg OBLIGATORY.
PARAMETERS: p_vtweg TYPE vtweg OBLIGATORY.
PARAMETERS: p_spart TYPE vtweg OBLIGATORY.
PARAMETERS: p_sold TYPE kunnr OBLIGATORY.
PARAMETERS: p_ship TYPE kunnr OBLIGATORY.
*ITEM
PARAMETERS: p_matnr TYPE matnr OBLIGATORY.
PARAMETERS: p_menge TYPE kwmeng OBLIGATORY.
PARAMETERS: p_plant TYPE werks_d OBLIGATORY.
PARAMETERS: p_itcat TYPE pstyv OBLIGATORY.
* DATA DECLARATIONS.
DATA: v_vbeln LIKE vbak-vbeln.
DATA: header LIKE bapisdhead1.
DATA: headerx LIKE bapisdhead1x.
DATA: item LIKE bapisditem OCCURS 0 WITH HEADER LINE.
DATA: itemx LIKE bapisditemx OCCURS 0 WITH HEADER LINE.
DATA: partner LIKE bapipartnr OCCURS 0 WITH HEADER LINE.
DATA: return LIKE bapiret2 OCCURS 0 WITH HEADER LINE.
DATA: lt_schedules_inx TYPE STANDARD TABLE OF bapischdlx
WITH HEADER LINE.
DATA: lt_schedules_in TYPE STANDARD TABLE OF bapischdl
WITH HEADER LINE.
* HEADER DATA
header-doc_type = p_auart.
headerx-doc_type = 'X'.
header-sales_org = p_vkorg.
headerx-sales_org = 'X'.
header-distr_chan = p_vtweg.
headerx-distr_chan = 'X'.
header-division = p_spart.
headerx-division = 'X'.
headerx-updateflag = 'I'.
* PARTNER DATA
partner-partn_role = 'AG'.
partner-partn_numb = p_sold.
APPEND partner.
partner-partn_role = 'WE'.
partner-partn_numb = p_ship.
APPEND partner.
* ITEM DATA
itemx-updateflag = 'I'.
item-itm_number = '000010'.
itemx-itm_number = 'X'.
item-material = p_matnr.
itemx-material = 'X'.
item-plant = p_plant.
itemx-plant = 'X'.
item-target_qty = p_menge.
itemx-target_qty = 'X'.
item-target_qu = 'EA'.
itemx-target_qu = 'X'.
item-item_categ = p_itcat.
itemx-item_categ = 'X'.
APPEND item.
APPEND itemx.
* Fill schedule lines
lt_schedules_in-itm_number = '000010'.
lt_schedules_in-sched_line = '0001'.
lt_schedules_in-req_qty = p_menge.
APPEND lt_schedules_in.
* Fill schedule line flags
lt_schedules_inx-itm_number = '000010'.
lt_schedules_inx-sched_line = '0001'.
lt_schedules_inx-updateflag = 'X'.
lt_schedules_inx-req_qty = 'X'.
APPEND lt_schedules_inx.
* Call the BAPI
CALL FUNCTION 'BAPI_SALESDOCU_CREATEFROMDATA1' " 销售订单创建bapi,创建后按现有情况需要修改 交货冻结。
EXPORTING
sales_header_in = header
sales_header_inx = headerx
IMPORTING
salesdocument_ex = v_vbeln
TABLES
return = return
sales_items_in = item
sales_items_inx = itemx
sales_schedules_in = lt_schedules_in
sales_schedules_inx = lt_schedules_inx
sales_partners = partner.
* Check the return table.
LOOP AT return WHERE type = 'E' OR type = 'A'.
EXIT.
ENDLOOP.
IF sy-subrc = 0.
WRITE: / 'Error in creating document'.
ELSE.
COMMIT WORK AND WAIT.
WRITE: / 'Document ', v_vbeln, ' created'.
ENDIF.
************DELIVERY CREATION.
DATA: BEGIN OF t_vbap OCCURS 0,
vbeln LIKE vbap-vbeln,
posnr LIKE vbap-posnr,
zmeng LIKE vbap-kwmeng,
matnr LIKE vbap-matnr,
werks LIKE vbap-werks,
END OF t_vbap.
DATA: t_request TYPE STANDARD TABLE OF bapideliciousrequest WITH HEADER LINE.
DATA: t_created TYPE STANDARD TABLE OF bapideliciouscreateditems WITH HEADER LINE.
DATA: t_return TYPE STANDARD TABLE OF bapiret2 WITH HEADER LINE.
SELECT vbeln posnr zmeng matnr werks
INTO TABLE t_vbap
FROM vbap
WHERE vbeln = v_vbeln.
LOOP AT t_vbap.
t_request-document_numb = t_vbap-vbeln.
t_request-document_item = t_vbap-posnr.
t_request-quantity_sales_uom = t_vbap-zmeng.
t_request-quantity_base__uom = t_vbap-zmeng.
t_request-id = 1.
t_request-document_type = 'A'.
t_request-delivery_date = sy-datum.
t_request-material = t_vbap-matnr.
t_request-plant = t_vbap-werks.
t_request-date = sy-datum.
t_request-goods_issue_date = sy-datum.
t_request-goods_issue_time = sy-uzeit.
APPEND t_request.
ENDLOOP.
CALL FUNCTION 'BAPI_DELIVERYPROCESSING_EXEC' "外向交货单创建,创建后交货数量和拣配数量都为空。需要填写
TABLES
request = t_request
createditems = t_created
return = t_return.
READ TABLE t_return WITH KEY type = 'E'.
IF sy-subrc = 0.
MESSAGE e208(00) WITH 'Delivery creation error'.
ENDIF.
COMMIT WORK.
************Post goods issue.
READ TABLE t_created INDEX 1.
DATA: vbkok_wa TYPE vbkok.
vbkok_wa-vbeln_vl = t_created-document_numb.
vbkok_wa-wabuc = 'X'.
DATA: v_error.
CALL FUNCTION 'WS_DELIVERY_UPDATE' "外向交货bapi
EXPORTING
vbkok_wa = vbkok_wa
delivery = t_created-document_numb
IMPORTING
ef_error_in_goods_issue_0 = v_error.
COMMIT WORK.
转载于:https://www.cnblogs.com/rainysblog/p/4008733.html
销售订单、外向交货单、交货 bapi相关推荐
- SAP 销售订单冻结无法交货问题
1 报错 :作为信用检查结果,销售订单为交货而冻结 解决办法: (1) 事务码 VKM3 :将冻结的订单解冻. (2)打上√ 后,点击绿色小旗子,再点保存. 如果是信贷余额不足,需要先增加信贷额度,f ...
- 浅学了一下销售订单和交货单的关系和创建(小白莫喷)
vbak vbap VA01 创建一个OR标准的销售订单 Lips Likp VL01N 在一个销售订单的基础上创建一个外向交货单 (销售订单可以对应多个交货单 以行项目交货)
- 销售订单按交货单合并Billing
Tcode:VTFL 路径:Spro-销售和分销-出具发票-开票凭证-维护开票的复制控制-交货凭证到出具发票凭证. 选F2发票(LF外向交货)-项目,选择相应项目类别,数据 VBRK/VBRP选为00 ...
- VL10C根据销售订单创建交货单
ls_req-id = '1'. "写死 ls_req-document_numb = '2015031250'. "订单号 ls_req-document_item = '000 ...
- SAP SD初阶之VL10A为销售订单创建外向交货单
SAP SD初阶之VL10A为销售订单创建外向交货单 SAP SD模块中销售订单的外向交货单创建,有很多种方法.其中之一就是使用VL10A这个事务代码. 不过基于个人喜好和操作习惯的原因,VL10A这 ...
- 【SAP-PS笔记】项目交货之基于销售订单VL01N交货
前言: PS顾问可能都清楚,在销售型项目上的物料需要发货至客户时,如涉及交货一般常用CNS0创建项目交货单,将项目下的物料发货至客户. 因此我们设计销售型项目系统流程时,一般使用以下流程: 1.销售订 ...
- BAPI_SALESORDER_CREATEFROMDAT2 BAPI创建VA01 销售订单
用bapi创建销售订单 VA01 用的bapi如下 关于定价,可能要多做调试,只能传入COND_VALUE定价比率,而定价值是不可以直接修改的, DATA: header_in ...
- 『诡异的』VL10B创建外向交货单出错解决全过程
一直觉得SAP STO的业务模式配置起来还是挺简单的,无非就是关联一下采购单与交货单的关系,以及相应工厂的装运数据,其他像主数据的设置也没有什么特别的.相比ICS模式,它少了IDOC的配置,所以还是很 ...
- SAP SD如何将销售订单其它ITEM加入到一个已创建好的交货单里
SAP SD如何将销售订单其它ITEM加入到一个已创建好的交货单里 如下的销售订单,有多个ITEM, 为其中的第一个ITEM创建了DN 80016362, 如果业务发现需要修改该交货单,将销售订单里的 ...
最新文章
- .NET基础示例系列之六:委托及事件
- Bash For Loop Examples for Your Linux Shell Scripting--ref
- python画海绵宝宝_脑洞大开的万圣节,10招带你和宝宝花式玩南瓜
- protobuf的安装和卸载
- 高级软件工程第七次作业:东理三剑客团队作业-随笔5
- [转]VI/VIM的键盘图
- java语音播放事例
- 动力环境监控系统论文_浅析建设智能化动力环境监控系统维护水平论文
- HDU 1158【简单dp】
- erlang 变量存储在哪里_erlang中变量作用域
- 载入样式表单出错: 分析 XSLT 样式表单失败
- 两张表合并加标识根据ID
- (Inside Out)Web地图坐标系——谷歌的无奈
- JavaSE知识框架
- 乐鑫Esp32-S2学习之旅② ESP32-S2 以 I2C 驱动 SHT20 获取温湿度数据,代码开源!
- 足浴按摩预约下单小程序开发制作功能介绍
- Mysql 启动命令详解
- 微信小程序引用外部文件找不到文件报错问题
- 保险丝的常用规格型号及主要参数说明
- mysql性能监控 调优_MySQL管理之道:性能调优、高可用与监控(第2版)
热门文章
- 【MySQL数据库入门】:库的操作
- Android Service Note --- Local Service Sample Remote Messenger Service Sample
- SonarQube代码质量检查工具攻略大全
- 粘贴板工具:PPT或Excel复制粘贴成图片问题的解决方案
- 08年IT业界九大预言 主板集成微软操作系统
- 这一次,Windows 站起来了:Windows ​ Linux 的性能 Battle
- Python数据分析下,哪吒为啥这么火?
- 关于安装Anaconda/Python下OpenCV出错指引
- Shader山下(四)法线贴图
- Android多国语言文件夹名称文件汇总