今天在写Hybris销售订单回传ECC的接口,需要调用ECC的bapi函数来实现电商的销售订单在ECC中创建。使用的bapi是BAPI_SALESORDER_CREATEFROMDAT2。
SE37传了几个参数进去测了一下:
凭证抬头 | ||
字段名 | 技术名称 | 例子 |
凭证类型 | ZOR2 | |
销售组织 | 2000 | |
分销渠道 | 00 | |
产品组 | 22 | |
售达方 | 注意:在tables中传(AG,RE,RG,WE) | 11000008 |
采购订单编号 | BSTKD | Hybris SO |
交货冻结 | VBAK-LIFTK | 传空值,电商单据不需要财务复核 |
行项目 | ||
物料号 | VBAP-MATNR | 60000000 |
订单数量 | VBAP-WMENG | 10 |
工厂 | VBAP-WERKS | 2000 |
显示已经成功了:
后来在itpub上查询了一下,发现有人也遇到这样的问题,原因是有的bapi是需要commit的,而se37直接运行bapi没有这个动作,所以实际上并没有创建so。
在se37 中单独测试,提示创建成功,可是在前台找不到数据的。
但是单独写个报表程序,在调用完bapi后 CALL FUNCTION ‘BAPI_TRANSACTION_COMMIT’就可以正常的创建成功了。应用一个未知的新bapi的方法:
1,在se 37中看bapi的输入输出,并且测试,最好填参数的时候每次保存一下,直到reture的结果没有E或者A
2,写个简单的报表程序,将测试时候的参数直接填入,然后调用,最后需要写段代码做 BAPI_TRANSACTION_COMMIT
3,将直接填入的参数替换掉,完善程序的输入输出
本文作者: GavinDong
版权属于: GavinDong博客
文章链接: https://gavindong.com/1544.html
如果使用过程中遇到问题,可 **点击此处** 交流沟通。
版权所有,转载时必须以链接形式注明作者和原始出处及本声明。