首页 > 其他分享 >VA41 销售合同创建BAPI

VA41 销售合同创建BAPI

时间:2022-10-25 13:55:18浏览次数:55  
标签:VA41 inx 创建 BAPI abap header lt ls true

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

 

 

 

TRANSLATE with x English
Arabic Hebrew Polish
Bulgarian Hindi Portuguese
Catalan Hmong Daw Romanian
Chinese Simplified Hungarian Russian
Chinese Traditional Indonesian Slovak
Czech Italian Slovenian
Danish Japanese Spanish
Dutch Klingon Swedish
English Korean Thai
Estonian Latvian Turkish
Finnish Lithuanian Ukrainian
French Malay Urdu
German Maltese Vietnamese
Greek Norwegian Welsh
Haitian Creole Persian  
  TRANSLATE with COPY THE URL BELOW Back EMBED THE SNIPPET BELOW IN YOUR SITE Enable collaborative features and customize widget: Bing Webmaster Portal Back     此页面的语言为英语   翻译为中文(简体)        
  • 中文(简体)
  • 中文(繁体)
  • 丹麦语
  • 乌克兰语
  • 乌尔都语
  • 亚美尼亚语
  • 俄语
  • 保加利亚语
  • 克罗地亚语
  • 冰岛语
  • 加泰罗尼亚语
  • 匈牙利语
  • 卡纳达语
  • 印地语
  • 印尼语
  • 古吉拉特语
  • 哈萨克语
  • 土耳其语
  • 威尔士语
  • 孟加拉语
  • 尼泊尔语
  • 布尔语(南非荷兰语)
  • 希伯来语
  • 希腊语
  • 库尔德语
  • 德语
  • 意大利语
  • 拉脱维亚语
  • 挪威语
  • 捷克语
  • 斯洛伐克语
  • 斯洛文尼亚语
  • 旁遮普语
  • 日语
  • 普什图语
  • 毛利语
  • 法语
  • 波兰语
  • 波斯语
  • 泰卢固语
  • 泰米尔语
  • 泰语
  • 海地克里奥尔语
  • 爱沙尼亚语
  • 瑞典语
  • 立陶宛语
  • 缅甸语
  • 罗马尼亚语
  • 老挝语
  • 芬兰语
  • 英语
  • 荷兰语
  • 萨摩亚语
  • 葡萄牙语
  • 西班牙语
  • 越南语
  • 阿塞拜疆语
  • 阿姆哈拉语
  • 阿尔巴尼亚语
  • 阿拉伯语
  • 韩语
  • 马尔加什语
  • 马拉地语
  • 马拉雅拉姆语
  • 马来语
  • 马耳他语
  • 高棉语
 

标签:VA41,inx,创建,BAPI,abap,header,lt,ls,true
From: https://www.cnblogs.com/BinGeneral/p/16824615.html

相关文章

  • Go Web 实战:如何创建项目及增加日志功能
    从本文开始,我们来看一下如何从零搭建一个Go项目。回顾一下基础的Go项目运行过程首先,新建一个​​sports​​的文件,然后键入此文件目录下,选择在终端中打开,使用如下命令......
  • k8s之serviceAccount创建
    1、创建serviceAccountvim serviceAccount.yaml---apiVersion:v1kind:ServiceAccountmetadata:name:springcloud-kubernetesnamespace:dev---kind:Rol......
  • 创建一个json-server服务器
    json-server官网https://www.npmjs.com/package/json-server#getting-started1全局安装json-servernpminstall-gjson-server2创建json文件存储数据//db.......
  • ps 创建实心字符
    参考来源:https://jingyan.baidu.com/article/9f7e7ec082aab12e2815549c.html1,创建字符2,魔法棒选中字符3,图层栅格化4,编辑描边5,删除原图层6,油漆桶填色    ......
  • 如何用界面组件DevExpress WinForm创建一个支持High DPI的应用?
    DevExpressWinForm拥有180+组件和UI库,能为WindowsForms平台创建具有影响力的业务解决方案。DevExpressWinForms能完美构建流畅、美观且易于使用的应用程序,无论是Office......
  • 创建和运行线程
    方法一:直接使用Thread//创建线程对象Threadt=newThread(){publicvoidrun(){//要执行的任务}};//启动线程t.start()例如//构造方......
  • 创建线程的方式三:实现Callable接口
    packageA_ShangGuiGu.Thread.ThreadTest;importjava.util.concurrent.Callable;importjava.util.concurrent.ExecutionException;importjava.util.concurrent.FutureTa......
  • [FAQ] 如何从 svg 字符串创建 SVGElement
     HTML部分:<divstyle="display:none"id="svgCon"></div>JS部分:constsvgCon=document.getElementById('svgCon')svgCon.innerHTML='<svg>xxxxx';consts......
  • 【JS设计模式笔记】给我一张名片-工厂方法模式(创建型)
    广告展现例如,关于计算机培训广告资源需要投放,一批是Java的用绿色字体,一批是PHP的,用黄色字体,红色背景。//创建Java学科类varJava=function(content){ //将内容保......
  • 对象的创建过程
    虚拟机遇到一条new指令时,首先将去检查这个指令的参数是否在常量池中定位到一个类的符号引用,并且检查这个符号引用代表的类是否已被加载、解析和初始化过。如果没有,那必须执......