创建SO bapi
转自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的更多相关文章
- F-02 创建财务凭证BAPI
**.获取抬头参数, documentheader **.项目参数 accountgl = lt_acgl"G/L account item accountreceivable = lt_a ...
- [SAP ABAP开发技术总结]业务对象和BAPI
声明:原创作品,转载时请注明文章来自SAP师太技术博客( 博/客/园www.cnblogs.com):www.cnblogs.com/jiangzhengjun,并以超链接形式标明文章原始出处,否则将 ...
- ABAP BAPI 复制标准项目模板实现项目立项
一.复制标准项目模板实现项目立项 因为CJ20N录屏存在困难,所以想通过BDC实现复制项目模板创建项目立项行不通,因此需要通过BAPI解决. 因为项目立项包含:项目定义.WBS.网络.作业,因此需要分 ...
- 业务对象(BO)设计
声明:原创作品,转载时请注明文章来自SAP师太技术博客( 博/客/园www.cnblogs.com):www.cnblogs.com/jiangzhengjun,并以超链接形式标明文章原始出处,否则将 ...
- SAP BAPI创建批次 为保存内部对象号
使用BAPI:BAPI_BATCH_CREATE 创建批次时,能够保存成功,但是MCH1表和KSSK表中没有内部对象号. 无奈,查找源码. 最后在BAPI中调用的这个函数这里找到了问题.此处kzcla ...
- 【MM系列】SAP 根据采购订单创建外向交货单的BAPI
公众号:SAP Technical 本文作者:matinal 原文出处:http://www.cnblogs.com/SAPmatinal/ 原文链接:[MM系列]SAP 根据采购订单创建外向交货单的 ...
- 【FICO系列】SAP 创建会计凭证(FB01)的BAPI
公众号:SAP Technical 本文作者:matinal 原文出处:http://www.cnblogs.com/SAPmatinal/ 原文链接:[FICO系列]SAP 创建会计凭证(FB01) ...
- 【SD系列】SAP SD模块-创建供应商主数据BAPI
公众号:SAP Technical 本文作者:matinal 原文出处:http://www.cnblogs.com/SAPmatinal/ 原文链接:[SD系列]SAP SD模块-创建供应商主数据B ...
- SAP S4系统创建Customer和Vendor的BAPI
对应的BAPI是:RFC_CVI_EI_INBOUND_MAIN SAP 又调皮了,又不安常理出牌!
随机推荐
- 转: Rest简介及Spring实现
一 Roy Fielding 2000年Rest被Roy Fielding提出来的,我对Roy Fielding的印象有以下几个. 一是RoyFielding做为Http协议的起草者,在Http协议发 ...
- μC/OS-Ⅲ系统的资源管理
一.各种资源管理方法简介 μC/OS-Ⅲ系统中提供了一些基本方法用于管理共享资源(典型的共享资源有:变量.数据结构体.RAM中的表格.IO设备中的寄存器等).资源共享方法名称及适用范围如下表所示. 资 ...
- Android调用系统照相机
ndroid调用系统相机实现拍照功能 在实现拍照的功能时遇到了很多问题,搜索了很多资料,尝试了很多办法,终于解决了,下面简要的描述下在开发过程中遇到的问题. 虽然之前看过android开发的书,但是没 ...
- Pyunit测试框架
一.概述 本系列主要解决的问题是“接口自动化测试”,选择的测试语言是 python 脚本语言.截至目前为止,python是公认的最好的用于自动化应用的语言之一 二.PyUnit测试框架 使用 pyth ...
- 动态加载JS脚本
建立dynamic.js文件,表示动态加载的js文件,里面的内容为: function dynamicJS() { alert("加载完毕"); } 如下方法中的html页面和dy ...
- Jstorm可靠性分析
去掉storm可靠性有三种方式: 1.Config.TOPOLOGY_ACKERS 设置为0: 2.在发送数据时不带上mesage id: 3.将tuple不做anchor发送到下一个节点,因为没有a ...
- MYSQL5.7无法启动服务原因及解决方案
mysql5.7安装完成后,想要把它发布成windows服务: 首先,应该配置新的配置文件,然后将cmd打开到安装目录的bin文件,键入: mysqld --default-file="D: ...
- php文件上传参考配置与大文件上传
PHP用超级全局变量数组$_FILES来记录文件上传相关信息的,在php文件上传之前,可通过调节php.ini中相关配置指令,来控制上传相关细节. 1.file_uploads=on/off ...
- web 页面上纯js实现按钮倒计数功能
需求构思:本功能想实现的是,一个按钮在页面载入就显示提醒续费,,,倒数60秒后,完成提醒功能,可以按另外一个页面跳转到主页. 参考网上的大神,实现如下:Button2倒数,Button3跳转,在页面上 ...
- opacity与RGBA透明的区别
为什么不使用opacityCSS3 还允许通过opacity 声明来设置元素的透明度.该透明度的值也是一个介于0 到1 之间的小数(如将opacity 设置为0.1 表示为10%透明).但是这种透明度 ...