调用BAPI创建病患主数据时的问题汇总[BAPI_PATIENT_CREATE]

1, 简介

在网上第一次看到有人用BAPI BAPI_PATIENT_CREATE创建病人主数据,特此转贴记录一下。

SE37

<img class="alignnone size-full wp-image-4786" src="http://www.baidusap.com/wp-content/uploads/2017-06-27_13-32-16.png" alt="" width="860" height="351" srcset="http://www.baidusap.com/wp-content/uploads/2017-06-27_13-32-16.png 860w, http://www.baidusap.com/wp-content/uploads/2017-06-27_13-32-16-740x302.png 740w, http://www.baidusap.com/wp-content/uploads/2017-06-27_13-32-16-768x313.png 768w" sizes="(max-width: 860px) 100vw, 860px" />

2, NEW_PATIENT_DATA为空

调用之后,如果没能成功创建任何数据(NEW_PATIENT_DATA为空), 该问题有几种可能性:

  1. 传入的数据有误,此时可在参数return中看到错误提示。可以在前台(事务代码NP01),或者相关的表(NPNT)中查看输入帮助,以获知正确的输入方式。
  2. 运行时使用了测试模式(TESTRUN = 'X')。
  3. 调用后,没有使用BAPI_TRANSACTION_COMMIT.

3, 地址数据没有更新

调用之后,返回的NEW_PATIENT_DATA中数据正常,但是地址数据没有更新(E_ADDRESSES为空),原因可能是:

传入的patient_data中的addr_no和I_ADDRESSES中的addr_no没有对应关系。

4, 附加电话号码数据没有更新

调用之后,返回的NEW_PATIENT_DATA中数据正常,但是附加电话号码数据没有更新(E_ADD_PHONES 为空):

  1. 传入的patient_data中的addr_no和I_ADD_PHONES中的addr_no没有对应关系。
  2. I_ADDRESSES-OTHER_PHONES不为'X'。只有在传入的I_ADDRESSES-OTHER_PHONES为'X'时,相应的I_ADD_PHONES才会生效。

4, 病患主数据更新BAPI

更新:

  1. 关于电话号码,也可以在创建病患后,使用BAPI_BUPA_ADDRESS_CHANGE对其进行修改,并在其中分别指定移动电话(Cell)或者非移动电话(Telephone)。
  2. 可以使用BAPI_PATIENT_CHANGE将已存在的病患扩展(EXTEND)到其它机构。
  3. BAPI_PATIENT_CREATE内部会调用用于检查相似病患的函数ISH_NPAT_DOUBLE_TEST,并在检查到相似病患后增加类型W、提示相似病患数量的返回消息(在RETRURN中可以看到)。随着创建的重复病患数量的增加,该函数对性能的影响会越来越大,严重拖慢创建病患的速度。在某些场景下(比如反复批量创建用于测试的病患数据时),可以考虑通过增强的方式跳过这一检查,以提高效率。
  4. 创建的病患的机构(institution)不会存储在病患主数据表NPNT中,而是存储到表NPAE中,尽管NPNT中也存在机构字段。

以上。

转载于:https://www.cnblogs.com/datie/p/11433943.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值