一、事务代码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.
"-----------------------------@斌将军-----------------------------

定期更文,欢迎关注

 
 
 
此页面的语言为英语
 
翻译为中文(简体)
 
 
 
 
  • 中文(简体)
  • 中文(繁体)
  • 丹麦语
  • 乌克兰语
  • 乌尔都语
  • 亚美尼亚语
  • 俄语
  • 保加利亚语
  • 克罗地亚语
  • 冰岛语
  • 加泰罗尼亚语
  • 匈牙利语
  • 卡纳达语
  • 印地语
  • 印尼语
  • 古吉拉特语
  • 哈萨克语
  • 土耳其语
  • 威尔士语
  • 孟加拉语
  • 尼泊尔语
  • 布尔语(南非荷兰语)
  • 希伯来语
  • 希腊语
  • 库尔德语
  • 德语
  • 意大利语
  • 拉脱维亚语
  • 挪威语
  • 捷克语
  • 斯洛伐克语
  • 斯洛文尼亚语
  • 旁遮普语
  • 日语
  • 普什图语
  • 毛利语
  • 法语
  • 波兰语
  • 波斯语
  • 泰卢固语
  • 泰米尔语
  • 泰语
  • 海地克里奥尔语
  • 爱沙尼亚语
  • 瑞典语
  • 立陶宛语
  • 缅甸语
  • 罗马尼亚语
  • 老挝语
  • 芬兰语
  • 英语
  • 荷兰语
  • 萨摩亚语
  • 葡萄牙语
  • 西班牙语
  • 越南语
  • 阿塞拜疆语
  • 阿姆哈拉语
  • 阿尔巴尼亚语
  • 阿拉伯语
  • 韩语
  • 马尔加什语
  • 马拉地语
  • 马拉雅拉姆语
  • 马来语
  • 马耳他语
  • 高棉语
 
随时将英语翻译为中文(简体)PRO
一律不翻译英语
一律不翻译i.cnblogs.com

VA41 销售合同创建BAPI的更多相关文章

  1. [SAP ABAP开发技术总结]业务对象和BAPI

    声明:原创作品,转载时请注明文章来自SAP师太技术博客( 博/客/园www.cnblogs.com):www.cnblogs.com/jiangzhengjun,并以超链接形式标明文章原始出处,否则将 ...

  2. 销售订单、外向交货单、交货 bapi

    转自[http://www.cnblogs.com/elegantok/archive/2009/10/18/1585398.html]***********SALES ORDER INPUT CRE ...

  3. ABAP开发顾问必备:SAP ABAP开发技术总结

    声明:原创作品,转载时请注明文章来自SAP师太技术博客( 博/客/园www.cnblogs.com):www.cnblogs.com/jiangzhengjun,并以超链接形式标明文章原始出处,否则将 ...

  4. 业务对象(BO)设计

    声明:原创作品,转载时请注明文章来自SAP师太技术博客( 博/客/园www.cnblogs.com):www.cnblogs.com/jiangzhengjun,并以超链接形式标明文章原始出处,否则将 ...

  5. abap 常用TCODE

    ABAP: 通过查询表TSTC或者TSTCT:SAP系统将所有的事务代码都存储在这个表中,包括字开发的Y*和Z* TCODE 事务代码功能描述 CG3Y 下载服务器上文件 CG3Z upload fi ...

  6. ABAP开发顾问必备:SAP ABAP开发技术总结[转载]

    转载自SAP师太技术博客,原文链接:http://www.cnblogs.com/jiangzhengjun/p/4260224.html 在原文上增加了链接,此文及此文的链接版权都归SAP师太所有. ...

  7. SAP 常用增强记录文档

    转自:http://blog.csdn.net/budaha 20170215需要一个PR 修改保存时候的增强,目的是同步PR的处理状态 EBAN-STATU 到一个自建表ZTPRTOPO,记得有个P ...

  8. 创建SO bapi

    转自http://blog.sina.com.cn/s/blog_1647b3eff0102wi32.html 1.创建销售订单使用的BAPI BAPI_SALESORDER_CREATEFROMDA ...

  9. SAP BAPI创建批次 为保存内部对象号

    使用BAPI:BAPI_BATCH_CREATE 创建批次时,能够保存成功,但是MCH1表和KSSK表中没有内部对象号. 无奈,查找源码. 最后在BAPI中调用的这个函数这里找到了问题.此处kzcla ...

  10. 【MM系列】SAP 根据采购订单创建外向交货单的BAPI

    公众号:SAP Technical 本文作者:matinal 原文出处:http://www.cnblogs.com/SAPmatinal/ 原文链接:[MM系列]SAP 根据采购订单创建外向交货单的 ...

随机推荐

  1. typeid关键词

    typeid是c++的关键字,typeid操作符的返回结果是名为type_info的标准库类型的对象的引用(在头文件typeinfo中定义) ISO C++标准并没有确切定义type_info,它的确 ...

  2. JavaSript 数组

    添加数组 push是添加在数组的末位,unshift是添加在首位 let arr= ['a','b','c'] arr.push('d') arr.unshift('E')

  3. Codeforces Round #698 (Div. 2) A~C题解

    写在前边 链接:Codeforces Round #698 (Div. 2) 又是自闭的一场比赛,\(C\)题补了一天终于明白了一些,真的好自闭好自闭. 今晚还有一场,加油喽. A. Nezzar a ...

  4. 有哪些可部署的, 无需编程的,基于WEB的数据可视化工具

    基于Web的数据可视化工具在当今数字化时代具有重要的作用,可以帮助企业和个人更好地理解和利用数据.以下是一些无需编程即可部署的基于Web的数据可视化工具,详细描述如下:Tableau Public: ...

  5. RocketMQ一直打印RocketmqRemoting closeChannel: close the connection to remote address[] result: true

    交代一下背景: RocketMQ服务端搭建在ECS上面(问题就出在这里) SpringBoot应用根据官网Demo(参考:https://github.com/apache/rocketmq-spri ...

  6. [ABC274E] Booster

    Problem Statement In a two-dimensional plane, there are $N$ towns and $M$ chests. Town $i$ is at the ...

  7. 【matlab混沌理论】1.5.洛伦兹模型的分析

    洛伦兹方程用于生成y变量的图.这是对三种y初始条件敏感依赖的一个例子. 1.洛伦兹吸引子的y敏感依赖的着色图 input: % 洛伦兹方程用于生成y变量的图.x和z的初始条件保持不变,但y的初始条件在 ...

  8. 使用Visual Studio 2022 创建lib和dll并使用

    对于一个经常写javaWeb的人来说,使用Visual Studio似乎没什么必要,但是对于使用ffi的人来说,使用c或c++编译器,似乎是必不可少的,下面我将讲述如何用Visual Studio 2 ...

  9. Keepalived 高可用详解

    Keepalived 详解 1.Keepalived介绍 ​ Keepalived是一个基于VRRP协议来实现LVS服务高可用方案,可以利用其来避免单点故障.一个LVS服务会使用2台服务器运行Keep ...

  10. Java多线程学习(Day02)

    目录 线程简介 线程实现(重点) 线程状态 线程同步(重点) 线程通信问题 线程实现: 方式一:继承Thread类 /** * TODO * @author 清莲孤舟 * @CreateDate 20 ...