第一次使用BAPI,遇到几个问题。现总结如下。
CALL FUNCTION ‘BAPI_PATIENT_CREATE‘ EXPORTING client = * INSTITUTION = ‘*‘ * PATIENTID = ‘ ‘ * SAP_BPARTNERID = ‘ ‘ * SAP_BPGROUP = patient_data = * TESTRUN = ‘ ‘ * TRANSACT_MODE = ‘N‘ * IMPORTING * NEW_PATIENT_DATA = * WORST_RETURNED_MSGTY = * TABLES * I_ADDRESSES = * I_ADD_PHONES = * E_ADDRESSES = * E_ADD_PHONES = * RETURN = * I_LEGAL_REP = * E_LEGAL_REP = .
调用之后,没能成功创建任何数据(NEW_PATIENT_DATA为空)。该问题有几种可能性:
- 传入的数据有误,此时可在参数return中看到错误提示。可以在前台(事务代码NP01),或者相关的表(NPNT)中查看输入帮助,以获知正确的输入方式。
- 运行时使用了测试模式(TESTRUN = ‘X‘)。
- 调用后,没有使用BAPI_TRANSACTION_COMMIT.
调用之后,返回的NEW_PATIENT_DATA中数据正常,但是地址数据没有更新(E_ADDRESSES为空),原因可能是:
传入的patient_data中的addr_no和I_ADDRESSES中的addr_no没有对应关系。
调用之后,返回的NEW_PATIENT_DATA中数据正常,但是附加电话号码数据没有更新(E_ADD_PHONES 为空):
- 传入的patient_data中的addr_no和I_ADD_PHONES中的addr_no没有对应关系。
- I_ADDRESSES-OTHER_PHONES不为‘X‘。只有在传入的I_ADDRESSES-OTHER_PHONES为‘X‘时,I_ADD_PHONES才会生效。
本文链接:http://www.cnblogs.com/hhelibeb/p/6132826.html
时间: 2024-08-03 12:25:12