转自http://blog.sina.com.cn/s/blog_1647b3eff0102wi32.html

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

补充:2016-09-27

模拟创建过去的销售订单的时候,交货单也应该交货在过去,但是出现报错.

认证研究了逻辑发现如下情况

首先 (数据库表TVAK)

1.配置要求



此字段逻辑:

其次 BAPISCHDL 中 有四个字段需要注意  EDATU MBDAT LDDAT WADAT 都要赋值过去时间

这样创建的销售订单vbep 数据 才会没有问题.

交货单选过去日期才会成功!

创建SO bapi的更多相关文章

  1. F-02 创建财务凭证BAPI

    **.获取抬头参数, documentheader **.项目参数 accountgl = lt_acgl"G/L account item accountreceivable = lt_a ...

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

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

  3. ABAP BAPI 复制标准项目模板实现项目立项

    一.复制标准项目模板实现项目立项 因为CJ20N录屏存在困难,所以想通过BDC实现复制项目模板创建项目立项行不通,因此需要通过BAPI解决. 因为项目立项包含:项目定义.WBS.网络.作业,因此需要分 ...

  4. 业务对象(BO)设计

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

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

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

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

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

  7. 【FICO系列】SAP 创建会计凭证(FB01)的BAPI

    公众号:SAP Technical 本文作者:matinal 原文出处:http://www.cnblogs.com/SAPmatinal/ 原文链接:[FICO系列]SAP 创建会计凭证(FB01) ...

  8. 【SD系列】SAP SD模块-创建供应商主数据BAPI

    公众号:SAP Technical 本文作者:matinal 原文出处:http://www.cnblogs.com/SAPmatinal/ 原文链接:[SD系列]SAP SD模块-创建供应商主数据B ...

  9. SAP S4系统创建Customer和Vendor的BAPI

    对应的BAPI是:RFC_CVI_EI_INBOUND_MAIN SAP 又调皮了,又不安常理出牌!

随机推荐

  1. Intel Code Challenge Final Round (Div. 1 + Div. 2, Combined) C.Ray Tracing (模拟或扩展欧几里得)

    http://codeforces.com/contest/724/problem/C 题目大意: 在一个n*m的盒子里,从(0,0)射出一条每秒位移为(1,1)的射线,遵从反射定律,给出k个点,求射 ...

  2. CABasicAnimation的基本使用方法(移动·旋转·放大·缩小)

    出处:http://blog.csdn.net/iosevanhuang/article/details/14488239 CABasicAnimation类的使用方式就是基本的关键帧动画. 所谓关键 ...

  3. 5、jvm内存回收——算法

    判定垃圾方法: 1.引用计数法:相互循环应用解决不了 2.根搜索算法: 垃圾搜集算法 1.标记--清除算法 2.复制算法 3.标记--整理算法 4.分代算法

  4. 前端开发week3

    开发工具学习ing... lesscss 框架 lesscss是一种动态样式语言,属于css预处理语言的一种,它使用类似css的语法,为css的赋予了动态语言的特性,如变量.继承.运算.函数等,更方便 ...

  5. linux内核学习之二 一个精简内核的分析(基于时间片轮转)

    一   实验过程及效果 1.准备好相关的代码,分别是mymain.c,mypcb.h,myinterrupt.c ,如下图,make make成功: 在qemu创建的虚拟环境下的运行效果:(使用的命令 ...

  6. android editText 监听事件

    在软键盘中注意 在监听的 edittext中 使用android:imeOptions属性的时候,一定要对EditText设置 android:inputType 或者 设置 android:sing ...

  7. 曲线拟合的最小二乘法(基于OpenCV实现)

    1.原理 在现实中经常遇到这样的问题,一个函数并不是以某个数学表达式的形式给出,而是以一些自变量与因变量的对应表给出,老师讲课的时候举的个例子是犯罪人的身高和留下的脚印长,可以测出一些人的数据然后得到 ...

  8. sql inner join , left join, right join , union,union all 的用法和区别

    Persons 表: Id_P LastName FirstName Address City 1 Adams John Oxford Street London 2 Bush George Fift ...

  9. C语言的编译过程、安装gcc编译器以及设置环境变量

    以我对C语言编译过程的了解,我用了一点时间画了一个图,提供给大家参考一下,希望有些能对您的问题提上帮助. 前几天刚初步学习了C语言的编译过程,感触挺深的.在C语言中头文件其实起了一个很大的作用. 1. ...

  10. mseed2sac的安装和使用

    由于使用rdseed提取mseed文件到SAC文件会遇到一个问题就是: 同时需要dataless文件: 因此如果下载的数据中恰巧没有dataless文件,则需要用另外一种方式:mseed2sac 现在 ...