1.创建销售订单使用的BAPI

BAPI_SALESORDER_CREATEFROMDAT2

但是  BUSINESS OBJECT限制为 BUS2032

使用FM:

DATA           LV_OBJTYPE TYPE OJ_NAME .

LS_HEADER-SD_DOC_CAT为销售订单类型,即类型为:VBAK-VBTYP

CALL FUNCTION 'SD_OBJECT_TYPE_DETERMINE'
    EXPORTING
      I_DOCUMENT_TYPE   = LS_HEADER-SD_DOC_CAT
    IMPORTING
      E_BUSINESS_OBJECT = LV_OBJTYPE
    EXCEPTIONS
      OTHERS            = 1.

如果LV_OBJTYPE = BUS2032

则可以使用BAPI_SALESORDER_CREATEFROMDAT2

如果其他的业务对象则使用FM: SD_SALESDOCUMENT_CREATE创建销售订单

2.关于销售订单的增强使用

参数 EXTENSIONIN

举个例子,例如VBKD的数据  VBKD- TRATY  VBKD- TRMTYP

大家应该可以看出来VBKD 数据中, 虽然分为vbeln posnr  但是一般只会使用vbeln字段,posnr 为空,

此时,VBKD 数据 一般都可以在bapi参数

ORDER_HEADER_IN 找到,但是VBKD-   TRATY   却在bapi 中没有.

所以我们需要做增强.

首先 我们要确认使用 BAPE_VBAK 和BAPE_VBAKX两个结构

LS_BAPIPAREX-STRUCTURE = 'BAPE_VBAK'.

LS_BAPE_VBAK-TRATY   = LS_BAPISDHD1_VBKD-TRATY.
    LS_BAPE_VBAK-VSART   = LS_BAPISDHD1_VBKD-VSART.
    LS_BAPE_VBAK-TRMTYP  = LS_BAPISDHD1_VBKD-TRMTYP.
    LS_BAPE_VBAK-SDABW   = LS_BAPISDHD1_VBKD-SDABW.

LS_BAPIPAREX-VALUEPART1 = LS_BAPE_VBAK.

APPEND LS_BAPIPAREX TO ET_BAPIPAREX.

LS_BAPIPAREX-STRUCTURE = 'BAPE_VBAKX'.
    LS_BAPE_VBAKX-TRATY    = CNS_X.
    LS_BAPE_VBAKX-VSART    = CNS_X.
    LS_BAPE_VBAKX-TRMTYP   = CNS_X.
    LS_BAPE_VBAKX-SDABW    = CNS_X.

LS_BAPIPAREX-VALUEPART1 = LS_BAPE_VBAKX.

其次:VBAKKOZ 需要增加TRATY . VBAKKOZX 也添加相应的控制字段TRATY type BAPIUPDATE

然后请注意,

ORDER_HEADER_INX-UPDATEFLAG = SPACE . !! 这点很重要.详细逻辑请找:

SE38:FV45KFAK_VBAK_FUELLEN_VBAKKOM

创建销售订单BAPI一些心得相关推荐

  1. ABAP创建销售订单BAPI示例

    ABAP中创建销售订单BAPI 1.BAPI种类 2.BAPI区别 3.创建抬头行项目输入结构 4.创建接口函数,并配置传入传出参数 5.代码 1.BAPI种类 BAPI_SALESORDER_CRE ...

  2. 关于通过使用BAPI创建销售订单(抬头信息中:含增强字段)

    通过bapi函数创建销售订单,并更新增强字段 1,为构造增强字段(BAPE_VBAK,BAPE_VBAKX,VBAK,VBAKKOM,) 2,增强标准程序:将增强的字段赋给标准程序 (FV45KFAK ...

  3. 使用postman和SAP C4C OData服务创建销售订单

    我们使用OData服务创建销售订单,这是一个HTTP post请求,按照SAP C4C的规定需要在HTTP请求的头部附上一个CSRF token. 为此我们先要使用一个独立的HTTP get请求去获取 ...

  4. Oracle EBS 处理PR无法创建销售订单问题datafix

    PR审批以后,请交"创建内部订单",然后再提交"订单导入"创建内部销售订单. 问题症状: 1. "订单导入"日志输出提示: Order Nu ...

  5. SAP 创建销售订单-用外部给号的方法步骤

    前言部分 大家可以关注我的公众号,公众号里的排版更好,阅读更舒适. 正文部分 For this create the number range in VN01 with the number rang ...

  6. 启用FM模块后VA01创建销售订单报错,消息号 FI311 “未在项目00001 11AA 中输入承诺项目”

    文章目录 一.错误场景再现 二.错误分析 2.1 查询工厂所属公司代码-OX14/OMWD 2.2 检查和添加派生策略-FMDERIVE 2.3 验证配置是否生效 一.错误场景再现 VA01参考合同创 ...

  7. SAP ABAP 业务对象 BUS6021 AcctngSalesOrder 会计销售订单 BAPI 清单和相关 TCODE

    SAP ABAP 业务对象 BUS6021 AcctngSalesOrder 会计销售订单 BAPI 清单和相关 TCODE 简介: SAP ABAP 业务对象 BUS6021 AcctngSales ...

  8. SAP 创建销售订单和生产订单收货如何冲减独立需求

    今天用户问我,这两张销售订单为什么没有让下面这个45的独立需求变成 43 之前我都不知道会有这个业务,于是百度了一下 首先, 在创建销售订单的时候会 根据销售订单类型+物料主数据中的项目类别组 --- ...

  9. 在SAP C4C创建销售订单时如何绑定创建者的微信open id

    假设我将SAP C4C销售订单的OData创建服务暴露给微信小程序使用,然后我想把使用微信小程序的用户的openid和创建好的销售订单绑定,最简单的方式: {"Name": &qu ...

最新文章

  1. 【Linux】Linux简单操作之管道与重定向
  2. 科研指导:深度学习的应用研究课程
  3. CCNP-22 路由重发布2(BSCI)
  4. linux暂停线程和恢复,是否有可能在Linux [暂停]中检测到线程已进行上下文切换?...
  5. 在用户退出后,清除缓存,防止用户后退到网站中的功能页面
  6. SQLSetEnvAttr
  7. windows8.1下使用U盘安装Ubuntu双系统
  8. wordpress index.php 跳转,wordpress点击内容页跳转到其他url的解决方法
  9. python地理位置聚类_python – 用于聚类地理位置数据的DBSCAN
  10. android uboot log,RK3288 Android 8.1系统uboot logo过渡到kernel logo会花一下
  11. RNN到LSTM详解
  12. Python应用03 使用PyQT制作视频播放器
  13. linux,让网卡随着系统启动自动生效
  14. nginx系列第一篇:nginx源码下载,编译和安装
  15. 吞食天地2刘蜀传1.8版本图文攻略
  16. PhotoShop导入webp格式图片
  17. 2022年烟花爆竹经营单位安全管理人员培训试题及模拟考试
  18. java企业通用模块_[模板风格]WordPress企业主题Start通用响应式强大模块化wordpress-无...
  19. IT毕业生给学弟学妹们的真心话——离校座谈记录
  20. Arduino LED闪烁

热门文章

  1. 相当于零负担的延时程序(转)
  2. 控件包含代码块(即 ),因此无法修改控件集合 (转自http://blog.csdn.net/wangchao1982/archive/2007/11/19/1892472.aspx)...
  3. 【分析】大数据爆破之年:在这5个领域“掘金”最靠谱
  4. 如何从零规划一个产品?
  5. Navisworks API 简单二次开发 (自定义工具条)
  6. c#子线程线程中操作窗体更新的报错
  7. PHP中的随机性——你觉得自己幸运吗?
  8. 轻松学习JavaScript十七:JavaScript的BOM学习(二)
  9. 银行实时支付系统是怎么躲过双十一这一坎的呢?
  10. 如何在openbsd 5.1-5.3上部署open*** 服务器?