2024年1月29日发(作者:)
业务顾问需要掌握的BAPI的测试及注意事项
SAP的BAPI全称为Business Application Programming Interface(业务应用程序编程接口),是SAP产品中业务对象模型的标准接口,BAPI是客户代码和第三方应用程序与SAP产品交互的主要方法。
在SAP/ERP项目实施中经常会要使用BAPI来实现一些业务需求,如果是第一次使用BAPI除了查看官方的相关说明外,更重要的还要进行测试来明确这个BAPI如何使用及能否实现相关的功能。
测试BAPI除了写一个ABAP程序测试外,还可以直接用SE37来进行测试,使用SE37测试操作简单,即使是完全不懂开发的业务顾问也可以进行,在实际项目实施中有些ABAP开发程序员并不熟悉业务,经常需要业务顾问帮忙测试下BAPI明确需要输入那些参数。
方式1:模拟测试,这种方式虽然执行了这个BAPI,但并没有更新数据库,所以只能显示测试结果,相关业务数据并没有更新。备注:有些BAPI可能已经将提交更新数据库代码写在了BAPI函数模块里面,那么模拟测试和实际测试没有区别。方式2:实际测试,这种方式不但执行了这个BAPI,同时也更新了数据库,所以不但会显示测试结果,相关业务数据也实际更新了。
下面通过一个例子来具体说明这2种方式测试的具体操作步骤
方式1具体操作步骤:
输入事务码SE37,回车进入如下界面
ERP文库. 作者:冰河BHSJ
Page 1 of 7
输入需要测试的函数模块(BAPI),点击测试图标进入如下界面
上面“导入参数”各代表什么值,可以通过如下步骤查询到对应的描述。
ERP文库. 作者:冰河BHSJ
Page 2 of 7
这个BAPI的输入参数比较简单,只需要输入2个参数即可,但如果复杂的BAPI,它需要录入参数非常多,如果不熟悉前台业务操作,很难输入完整的参数,导致测试失败,就是非常了解业务的业务顾问,一般都需要多次反复测试,才能明确要录入那些参数,所以在项目中ABAP开发程序员经常需要业务顾问帮忙测试,告诉他应该录入哪些参数。输入参数后,点击执行,进入如下界面
上图可以看到BAPI函数执行后,如果RETURN返回值的内表为空,没有类型为E或A的信息,就表示这个BAPI执行成功了(如图1),如果RETURN返ERP文库. 作者:冰河BHSJ
Page 3 of 7
回值的内表不为空,并且有E类错误信息,表示这个BAPI执行失败(如图2),具体原因可以MESSAGE信息来判断。这个方式测试执行BAPI成功后,查询下采购订单,可以看到采购订单的审批状态实际没有变化,说明只是执行了BAPI,并没有更新数据库。
方式2具体操作步骤:
同样输入事务码SE37,回车进入如下界面
输入需要测试的函数模块(BAPI),点击测试图标进入如下界面ERP文库. 作者:冰河BHSJ
Page 4 of 7
这个方式测试执行BAPI成功后,查询下采购订单,可以看到采购订单的审批状态实际已变化,变成已审批完成,说明执行了BAPI,同时更新了数据库。
另外有些BAPI可能是没有NO_COMMIT这个参数的,那怎么做才能更新数据库。
可以按如下步骤操作,手工加入提交数据库更新的函数。
点击【测试系列】进入如下图所示界面:
ERP文库. 作者:冰河BHSJ
Page 5 of 7
在输入测试系列里加两个函数,第1个是测试的BAPI函数,第2个是提交保存的函数:BAPI_TRANSACTION_COMMIT ,也就是更新数据库函数,
从上图可以看到输入参数NO_COMMIT虽然没有打上X,但执行BAPI成功后,查询下采购订单,可以看到采购订单的审批状态实际已变化,变成已审批完成,说明执行了BAPI,同时更新了数据库。
最后BAPI测试还需要注意下事项:
因为很多复杂BAPI不可能一次测试成功,而且录入参数非常多,需要反复调整参数进行测试,所以测试数据一定要保存成变式,下次测试时候就可以直接调出,不用再全部录入一次参数,节省测试时间。录入完成测试BAPI的参数后,按如下方式保存下测试数据。下次测试时候,可以按如下方式直接使用上次录入参数,只需要修改要变化的参数即可。ERP文库. 作者:冰河BHSJ
Page 6 of 7
另外需要注意的是BAPI参数输入数据的格式,SAP的数据中很多凭证号和行项目号都需要加前导零。
ERP文库. 作者:冰河BHSJ
Page 7 of 7
本文发布于:2024-01-29 16:36:58,感谢您对本站的认可!
本文链接:https://www.4u4v.net/it/170651741816649.html
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。
留言与评论(共有 0 条评论) |