关于BAPI_PATIENT_CREATE(病患主数据创建)
第一次使用BAPI,遇到几个问题。现总结如下。
2017.1.11:在文末更新了两条比较关键的注意事项。
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才会生效。
更新:
- 关于电话号码,也可以在创建病患后,使用BAPI_BUPA_ADDRESS_CHANGE对其进行修改,并在其中分别指定移动电话(Cell)或者非移动电话(Telephone)。
- 可以使用BAPI_PATIENT_CHANGE将已存在的病患扩展(EXTEND)到其它机构。
- BAPI_PATIENT_CREATE内部会调用用于检查相似病患的函数ISH_NPAT_DOUBLE_TEST,并在检查到相似病患后增加类型W、提示相似病患数量的返回消息(在RETRURN中可以看到)。随着创建的重复病患数量的增加,该函数对性能的影响会越来越大,严重拖慢创建病患的速度。在某些场景下(比如反复批量创建用于测试的病患数据时),可以考虑通过增强的方式跳过这一检查,以提高效率。
- 创建的病患的机构(institution)不会存储在病患主数据表NPNT中,而是存储到表NPAE中,尽管NPNT中也存在机构字段。
BAPI_BUPA_ADDRESS_CHANGE
-->
本文链接:http://www.cnblogs.com/hhelibeb/p/6132826.html
关于BAPI_PATIENT_CREATE(病患主数据创建)的更多相关文章
- SAP MM01 创建物料主数据 [关注公众号后回复MM01获取更多资料]
操作内容 物料主数据,适用于所有有物料编码物料相关信息的系统维护 业务流程 新项目设计冻结后—M公司 PD用-物料编码申请表D-BOM Material Number Application部门内部 ...
- SAP Cloud for Customer客户主数据的重复检查-Levenshtein算法
SAP C4C的客户主数据创建时的重复检查,基于底层HANA数据库的模糊查找功能,根据扫描数据库中已有的数据检测出当前正在创建的客户主数据是否和数据库中记录有重复. 在系统里开启重复检查的配置: 在此 ...
- 阿里云POLARDB如何助力轻松筹打造5亿用户信赖的大病筹款平台?
轻松筹首创了“大病救助”模式,帮助了众多病患在第一时间解決了医疗资金等问题,为了从源头解决了医疗资金问题.而在轻松筹这样全球5.5亿用户信赖的大病筹款平台的背后,是日益增长的各种数据.面对这样数据量所 ...
- Code First :使用Entity. Framework编程(1) ----转发 收藏
这个是在学习EF CodeFirst时发现的,对于初学者还是不错的.果断转发,方便自己以后查阅和学习. 对于学习Code First 这个教程讲解的还是很详细. 第一章:欢迎来到Code First ...
- 【黑金原创教程】【Modelsim】【第五章】仿真就是人生
声明:本文为黑金动力社区(http://www.heijin.org)原创教程,如需转载请注明出处,谢谢! 黑金动力社区2013年原创教程连载计划: http://www.cnblogs.com/al ...
- App Store 审核指南(最新)
简介 App 正在改变世界,丰富人们的生活,并为像您一样的开发者提供前所未有的创新机会.因此,App Store 已成长为一个激动人心且充满活力的生态系统,正为数百万的开发者和超过十亿的用户提供服务. ...
- APP Store上架QA&注意事项
一. App Store上架费用,要多少钱. 这个因产品而异,一般是6000-10000元人民币. 二. App Store上架周期,要多久过. 这个因产品而异,正常的话一周内,如果产品老是出问题,被 ...
- Shiro那些事儿(一): Shiro初探
引言 权限,可以简单的理解成你能干什么,不能干什么.在管理系统中,对权限的设计可以很简单,也可以很复杂.简单点的,基本都是基于角色扮演的方式,比如系统管理员角色可以操作哪些菜单,普通用户角色可以操作哪 ...
- 苹果应用商店AppStore审核规则指南
http://www.zesmob.com/blog/40161.html 新应用上架苹果AppStore或重大版本更新时,往往会被拒多次,造成审核不通过的原因,主要是因为对苹果应用商店AppStor ...
随机推荐
- iOS开发系列--Swift语言
概述 Swift是苹果2014年推出的全新的编程语言,它继承了C语言.ObjC的特性,且克服了C语言的兼容性问题.Swift发展过程中不仅保留了ObjC很多语法特性,它也借鉴了多种现代化语言的特点,在 ...
- Opserver开源的服务器监控系统(ASP.NET)
Opserver是Stack Exchange下的一个开源监控系统,系统本身由C#语言开发的ASP.NET(MVC)应用程序,无需任何复杂的应用配置,入门很快.下载地址:https://github. ...
- Linux命令【第三篇】
执行下面命令时发现提示需要输入密码,请问提示输入的密码是哪个用户的密码. [test@oldboy ~]$ sudo su - oldboy 解答: 输入当前执行命令test账户的密码. 相关说明: ...
- 使用nginx反向代理,一个80端口下,配置多个微信项目
我们要接入微信公众号平台开发,需要填写服务器配置,然后依据接口文档才能实现业务逻辑.但是微信公众号接口只支持80接口(80端口).我们因业务需求需要在一个公众号域名下面,发布两个需要微信授权的项目,怎 ...
- 第10章 Shell编程(4)_流程控制
5. 流程控制 5.1 if语句 (1)格式: 格式1 格式2 多分支if if [ 条件判断式 ];then #程序 else #程序 fi if [ 条件判断式 ] then #程序 else # ...
- DDD中的Unitwork与DomainEvent如何相容?(续)
上篇中说到了面临的问题(传送门:DDD设计中的Unitwork与DomainEvent如何相容?),和当时实现的一个解决方案.在实际使用了几天后,有了新的思路,和@trunks 兄提出的观点类似.下面 ...
- Lesson 21 Mad or not?
Text Aeroplanes are slowly driving me mad. I live near an airport and passing planes can be heard ni ...
- c++的性能, c#的产能?!鱼和熊掌可以兼得,.NET NATIVE初窥
对于微软开发者来说,每次BUILD大会都是值得期待的.这次也是惊喜满满,除了大众瞩目的WP8.1的发布还有一项会令开发者兴奋的技术出现:.NET NATIVE.下面就来详细了解一下其为何物. [小九的 ...
- Lamda表达式多个字段排序问题 ThenBy、ThenByDescending
示例代码: //ThenBy - 在 OrderBy 或 OrderByDescending 的基础上再正序排序 //ThenByDescending - 在 OrderBy 或 OrderByDes ...
- myeclipse学习总结三(MyEclipse文件查找技巧)
一.查找文件 使用快捷键[ctrl+shift+R]弹出弹出文件查找框,如下图所示: 二.查找包含某个字符串的文件 使用快捷键[ctrl+H]在弹出对话框中选File Search选项,然后在第一个文 ...