VA41 销售合同创建BAPI
一、事务代码VA41
合同创建的过程和销售订单几乎一致


二、调用BAPI
调用BAPI为BAPI_CONTRACT_CREATEFROMDATA
传参和销售订单BAPI:BAPI_SALESORDER_CREATEFROMDAT2一致
"-----------------------------@斌将军-----------------------------
DATA: ls_header_in TYPE bapisdhd1,
ls_header_inx TYPE bapisdhd1x,
lv_vbeln LIKE vbak-vbeln,
ls_logic_switch TYPE bapisdls,
lt_return TYPE TABLE OF bapiret2 WITH HEADER LINE,
lt_items_in TYPE TABLE OF bapisditm WITH HEADER LINE,
lt_items_inx TYPE TABLE OF bapisditmx WITH HEADER LINE,
lt_partners TYPE TABLE OF bapiparnr WITH HEADER LINE,
lt_partnerchanges TYPE TABLE OF bapiparnrc WITH HEADER LINE,
lt_schedules_in TYPE TABLE OF bapischdl WITH HEADER LINE,
lt_schedules_inx TYPE TABLE OF bapischdlx WITH HEADER LINE,
lt_conditions_in TYPE TABLE OF bapicond WITH HEADER LINE,
lt_conditions_inx TYPE TABLE OF bapicondx WITH HEADER LINE,
lt_partneraddresses TYPE TABLE OF bapiaddr1 WITH HEADER LINE,
order_cfgs_ref TYPE TABLE OF bapicucfg WITH HEADER LINE,
order_cfgs_inst TYPE TABLE OF bapicuins WITH HEADER LINE,
order_cfgs_value TYPE TABLE OF bapicuval WITH HEADER LINE. DATA:lv_check TYPE char1,
lv_message TYPE char200,
lv_update TYPE char1 VALUE 'I'. CLEAR:ls_header_in.
ls_header_in-doc_type = 'Z100'."i_head-auart."销售凭证类型
ls_header_in-sales_org = '1010'."i_head-vkorg ."销售组织 ls_header_in-distr_chan = '00'."i_head-vtweg."分销渠道
ls_header_in-division = '00'."i_head-spart."产品组
ls_header_in-purch_no_c = '20220905'."i_head-bstkd."客户参考日期
ls_header_in-cust_grp3 = 'Z00'."i_head-kvgr3."订单变更原因
ls_header_in-created_by = 'LCC'."i_head-ernam."制单工号
* ls_header_in-sales_grp = i_head-vkgrp."销售组
* ls_header_in-sales_off = i_head-vkbur."销售办事处
*
* ls_header_in-sd_doc_cat = i_head-."SD 凭证类别
* ls_header_in-doc_date = sy-datum."凭证日期 (接收/发送日期)
* ls_header_in-price_date = i_head-."定价日期和汇率
* ls_header_in-exchg_rate = i_head-."定价和统计直接引用的汇率
* ls_header_in-dlvschduse = 'QQQ'."l_abrvw. "使用标识
* ls_header_in-ship_type = i_head-vsart. "装运类型
* ls_header_in-s_proc_ind = 'QQQ'."lt_reslut-sdabw. "特殊标识
* ls_header_in-pymt_meth = i_head-zlsch. "付款方式
* ls_header_in-pmnttrms = i_head-zterm. "付款条件
* ls_header_in-ref_1 = i_head-ihrez."你的参考 CRM 订单号
* ls_header_in-incoterms1 = i_head-inco1."贸易条款 CLEAR:ls_header_inx.
ls_header_inx-updateflag = lv_update."更新标识
ls_header_inx-sales_org = abap_true ."销售组织
ls_header_inx-distr_chan = abap_true."分销渠道
ls_header_inx-division = abap_true."产品组
ls_header_inx-purch_no_c = abap_true."客户参考
ls_header_inx-cust_grp3 = abap_true."订单变更原因
* ls_header_inx-created_by = abap_true."制单工号
* ls_header_inx-sales_grp = abap_true."销售组
* ls_header_inx-sales_off = abap_true."销售办事处
*
* ls_header_inx-sd_doc_cat = abap_true."SD 凭证类别
* ls_header_inx-doc_date = abap_true."凭证日期 (接收/发送日期)
* ls_header_inx-price_date = abap_true."定价日期和汇率
* ls_header_inx-exchg_rate = abap_true."定价和统计直接引用的汇率
* ls_header_inx-dlvschduse = abap_true. "使用标识
* ls_header_inx-ship_type = abap_true. "装运类型
* ls_header_inx-s_proc_ind = abap_true. "特殊标识
* ls_header_inx-pymt_meth = abap_true. "付款方式
* ls_header_in-pmnttrms = abap_true. "付款条件
* ls_header_inx-ref_1 = abap_true."你的参考 CRM 订单号
* ls_header_inx-incoterms1 = abap_true."贸易条款 * IF i_head-kunag IS NOT INITIAL.
lt_partners-partn_role = 'AG'."合作伙伴功能
lt_partners-partn_numb = '0001000000'.
APPEND lt_partners.
lt_partners-partn_role = 'WE'."合作伙伴功能
lt_partners-partn_numb = '0004000000'.
APPEND lt_partners.
* ENDIF. * LOOP AT t_item. CLEAR lt_items_in.
lt_items_in-itm_number = '10'."t_item-posnr."行项目
lt_items_in-material = '000000160000000006'."t_item-matnr."物料
lt_items_in-plant = '1011'."t_item-werks."工厂
lt_items_in-sales_unit = 'EA'."t_item-vrkme."单位
lt_items_in-tax_class1 = '1'."t_item-taxm1."物料税分类
* lt_items_in-store_loc = '1011'."t_item-lgort."库存地点
APPEND lt_items_in. CLEAR lt_items_inx.
lt_items_inx-updateflag = lv_update."更新标识
lt_items_inx-itm_number = '10'.
lt_items_inx-material = abap_true.
lt_items_inx-plant = abap_true.
lt_items_inx-sales_unit = abap_true.
lt_items_inx-tax_class1 = abap_true.
* lt_items_inx-store_loc = abap_true.
APPEND lt_items_inx. * schedules
CLEAR lt_schedules_in.
lt_schedules_in-itm_number = '10'."."行项目
lt_schedules_in-req_qty = '1'."t_item-kwmeng."以销售单位计的订单数量
lt_schedules_in-req_date = '20220908'."t_item-etdat."交货日期
APPEND lt_schedules_in. CLEAR lt_schedules_inx.
lt_schedules_inx-updateflag = lv_update."更新标识
lt_schedules_inx-itm_number = '10'."t_item-posnr."行项目
lt_schedules_inx-req_qty = abap_true."以销售单位计的订单数量
lt_schedules_inx-req_date = abap_true."交货日期
APPEND lt_schedules_inx. CLEAR:lt_conditions_in.
lt_conditions_in-itm_number = '10'."t_item-posnr. "行项目
lt_conditions_in-cond_type = 'ZP00'. "定价条件
lt_conditions_in-cond_value = '10'."t_item-kzwi1."条件金额
lt_conditions_in-currency = 'CNY'. "货币码
lt_conditions_in-cond_p_unt = '1'. "条件单位
APPEND lt_conditions_in. CLEAR:lt_conditions_inx.
lt_conditions_inx-updateflag = lv_update."更新标识
lt_conditions_inx-itm_number = '10'."t_item-posnr."行项目
lt_conditions_inx-cond_type = 'ZP00'. "定价条件
lt_conditions_inx-cond_value = abap_true.
lt_conditions_inx-currency = abap_true.
lt_conditions_inx-cond_p_unt = abap_true.
APPEND lt_conditions_inx.
* ENDLOOP. ls_logic_switch = 'G'. CALL FUNCTION 'BAPI_CONTRACT_CREATEFROMDATA'
EXPORTING
* SALESDOCUMENTIN =
contract_header_in = ls_header_in
contract_header_inx = ls_header_inx
* SENDER =
* BINARY_RELATIONSHIPTYPE = ' '
* INT_NUMBER_ASSIGNMENT = ' '
* BEHAVE_WHEN_ERROR = ' '
logic_switch = ls_logic_switch
IMPORTING
salesdocument = lv_vbeln
TABLES
return = lt_return
contract_items_in = lt_items_in
contract_items_inx = lt_items_inx
contract_partners = lt_partners
contract_conditions_in = lt_conditions_in
contract_conditions_inx = lt_conditions_inx
contract_cfgs_ref = order_cfgs_ref
contract_cfgs_inst = order_cfgs_inst
contract_cfgs_value = order_cfgs_value
partneraddresses = lt_partneraddresses. CLEAR:lv_check,lv_message.
LOOP AT lt_return WHERE type CA 'EAX'.
lv_message = lv_message && lt_return-message.
lv_check = 'E'.
ENDLOOP. IF lv_check = 'E'.
CALL FUNCTION 'BAPI_TRANSACTION_ROLLBACK'.
ELSE.
CALL FUNCTION 'BAPI_TRANSACTION_COMMIT'
EXPORTING
wait = abap_true.
ENDIF.
"-----------------------------@斌将军-----------------------------
定期更文,欢迎关注

- 中文(简体)
- 中文(繁体)
- 丹麦语
- 乌克兰语
- 乌尔都语
- 亚美尼亚语
- 俄语
- 保加利亚语
- 克罗地亚语
- 冰岛语
- 加泰罗尼亚语
- 匈牙利语
- 卡纳达语
- 印地语
- 印尼语
- 古吉拉特语
- 哈萨克语
- 土耳其语
- 威尔士语
- 孟加拉语
- 尼泊尔语
- 布尔语(南非荷兰语)
- 希伯来语
- 希腊语
- 库尔德语
- 德语
- 意大利语
- 拉脱维亚语
- 挪威语
- 捷克语
- 斯洛伐克语
- 斯洛文尼亚语
- 旁遮普语
- 日语
- 普什图语
- 毛利语
- 法语
- 波兰语
- 波斯语
- 泰卢固语
- 泰米尔语
- 泰语
- 海地克里奥尔语
- 爱沙尼亚语
- 瑞典语
- 立陶宛语
- 缅甸语
- 罗马尼亚语
- 老挝语
- 芬兰语
- 英语
- 荷兰语
- 萨摩亚语
- 葡萄牙语
- 西班牙语
- 越南语
- 阿塞拜疆语
- 阿姆哈拉语
- 阿尔巴尼亚语
- 阿拉伯语
- 韩语
- 马尔加什语
- 马拉地语
- 马拉雅拉姆语
- 马来语
- 马耳他语
- 高棉语
一律不翻译英语
一律不翻译i.cnblogs.com
VA41 销售合同创建BAPI的更多相关文章
- [SAP ABAP开发技术总结]业务对象和BAPI
声明:原创作品,转载时请注明文章来自SAP师太技术博客( 博/客/园www.cnblogs.com):www.cnblogs.com/jiangzhengjun,并以超链接形式标明文章原始出处,否则将 ...
- 销售订单、外向交货单、交货 bapi
转自[http://www.cnblogs.com/elegantok/archive/2009/10/18/1585398.html]***********SALES ORDER INPUT CRE ...
- ABAP开发顾问必备:SAP ABAP开发技术总结
声明:原创作品,转载时请注明文章来自SAP师太技术博客( 博/客/园www.cnblogs.com):www.cnblogs.com/jiangzhengjun,并以超链接形式标明文章原始出处,否则将 ...
- 业务对象(BO)设计
声明:原创作品,转载时请注明文章来自SAP师太技术博客( 博/客/园www.cnblogs.com):www.cnblogs.com/jiangzhengjun,并以超链接形式标明文章原始出处,否则将 ...
- abap 常用TCODE
ABAP: 通过查询表TSTC或者TSTCT:SAP系统将所有的事务代码都存储在这个表中,包括字开发的Y*和Z* TCODE 事务代码功能描述 CG3Y 下载服务器上文件 CG3Z upload fi ...
- ABAP开发顾问必备:SAP ABAP开发技术总结[转载]
转载自SAP师太技术博客,原文链接:http://www.cnblogs.com/jiangzhengjun/p/4260224.html 在原文上增加了链接,此文及此文的链接版权都归SAP师太所有. ...
- SAP 常用增强记录文档
转自:http://blog.csdn.net/budaha 20170215需要一个PR 修改保存时候的增强,目的是同步PR的处理状态 EBAN-STATU 到一个自建表ZTPRTOPO,记得有个P ...
- 创建SO bapi
转自http://blog.sina.com.cn/s/blog_1647b3eff0102wi32.html 1.创建销售订单使用的BAPI BAPI_SALESORDER_CREATEFROMDA ...
- SAP BAPI创建批次 为保存内部对象号
使用BAPI:BAPI_BATCH_CREATE 创建批次时,能够保存成功,但是MCH1表和KSSK表中没有内部对象号. 无奈,查找源码. 最后在BAPI中调用的这个函数这里找到了问题.此处kzcla ...
- 【MM系列】SAP 根据采购订单创建外向交货单的BAPI
公众号:SAP Technical 本文作者:matinal 原文出处:http://www.cnblogs.com/SAPmatinal/ 原文链接:[MM系列]SAP 根据采购订单创建外向交货单的 ...
随机推荐
- Android Sutdio 编入System API 等隐藏API 方法
1. 将 classes.jar 放入 app/libs 文件夹下 右键点击 jar 包,点击 Add as Library 2. 项目级 Gradle 文件新增以下配置 gradle.project ...
- 在CPF里使用OpenGL做跨平台桌面应用开发
CPF 是开源的C#跨平台UI框架,支持使用OpenGL来渲染,可以用来硬件加速播放视频或者显示3D模型 实现原理其实就是Skia用OpenGL后端,Skia里绑定GLView的OpenGL纹理,将纹 ...
- 银河麒麟V10(飞腾ARM CPU)安装KVM踩坑记
服务器配置信息 品牌:GreetWall CPU:飞腾FT-2000+/64 64bit 操作系统:Linux-4.19.90-24.4.v2101.ky10.aarch64-with-kylin-1 ...
- java-导出pdf
前言: 纯代码画pdf格式 <!-- iText PDF --> <dependency> <groupId>com.itextpdf</groupId& ...
- ROW_NUMBER 开窗函数优化方案(Oracle && PostgreSQL 性能比对)
帮朋友优化一条很简单的窗口函数 ROW_NUMBER() OVER() , Oracle 迁移 PostgreSQL项目. 原始SQL和执行计划 STUDENT_BAK 表我模拟的数据,3千万行数据. ...
- redis集群搭建注意事项
官方教程:https://redis.io/docs/management/scaling/ 其他参考: https://note.youdao.com/ynoteshare/index.html?i ...
- 使用容器快速在阿里云 ECS 多节点上搭建 Citus 12.1 集群
阿里云 ECS 机器节点 这里我们使用两台同一区域的 ECS 机器. 机器配置:2 核 2 G.(ps: 阿里云 99 元一年的活动) 一台安装 coordinator(协调器),这里内网 IP 为 ...
- NC65二开经验总结
公式相关 1.显示公式没执行 列表界面显示,卡片界面不显示: Handler的onBoCard执行: getBillCardPanel().execHeadLoadFormulas(); Contro ...
- Java使用HttpUtil.request方法可以发送请求即【Java访问url得到响应数据】
Java使用HttpUtil.request方法可以发送请求即[Java访问url得到响应数据] 注:这个工具类可以在网上找,也可以自己手写 ,手写的话需要用到以下依赖: <dependency ...
- Python趣味入门10:推倒繁琐化烦为简的推导式
前言 <西部世界>的德洛丽丝进入了MAZE迷宫,假设她需要列出一系列的平方数作为密码,来进入迷宫.在以往的代码生成类似的数列需要使用循环语句,写多行语句.Python有了推导式,只需要1句 ...