欢迎来到天天文库
浏览记录
ID:32399543
大小:40.00 KB
页数:9页
时间:2019-02-04
《java与sap数据交互的方式总结》由会员上传分享,免费在线阅读,更多相关内容在应用文档-天天文库。
1、JAVA与SAP数据交互的方式总结日期:2009-12-09 1、RFC方式 Java程序直接通过RFC访问SAP的对象(或称函数,可能叫法不对)SAP提供了BAPI(BusinessApplicationProgrammingInterface),BAPI是SAP系统对外提供的一系列接口,主要是使第三方程序通过这些接口来使用SAP,从而方便客户定制某些程序.VB,Java,C,C++等都可以通过BAPI来访问SAP.BAPI是通过R/3系统上的RFC(Remotefunctioncall)功能来实
2、现的.因为BAPI的强大功能作为基础,SAP就完全可以选择Java在CRM上加强各种功能,比如可以用Java快速开发一个实现特定功能的客户端。针对Java,SAP也提供了一个API叫JavaConnector(JCo),可以使用它方便的调用BAPI提供的接口。 举例说明:在我们的某一个项目中,需要每个月从R3取出供应商的寄售和非寄售汇总结算数据和明细数据,展现在供应商信息平台上,供供应商开发票和财务部付款进行结算,那么可以做一个定时器,通过RFC在每个月的一号0点将结算数据取出。privatefinalstaticStri
3、ngFUNCTION_GET_NONVMI_DATA='ZPUR_DATA_GET_TMP1'; /** *处理接口参数 */ privateJCO.ParameterListgetNonVmiTableParameterList( JCO.ClientaConnection,Stringbukr,Stringmonth,Stringstart, Stringend,Stringlifnr){ IRepositoryaRepository=newJCO.Repository('SAPRep',aConnection);
4、 IFunctionTemplatefunctionTemplate=aRepository .getFunctionTemplate(FUNCTION_GET_NONVMI_DATA); logger.debug('FunctionTemplate='+functionTemplate); JCO.Functionfunction=newJCO.Function(functionTemplate); JCO.ParameterListinput=function.getImportParameterList();
5、input.getField('BUKRS').setValue(bukr); //input.getField('SPMON').setValue(month); input.getField('LIFNR').setValue(lifnr); input.getField('ZBUDATB').setValue(start); input.getField('ZBUDATN').setValue(end); logger.debug('ImportParameterList='+input); aConnectio
6、n.execute(function); JCO.ParameterListtableParams=function.getTableParameterList(); returntableParams; }2、Idoc方式 适用于中间文件的IDoc定义格式,是SAP企业系统软件的应用程序之间或SAP应用程序与外部程序之间电子数据交换用的标准数据格式。IDoc是SAP的应用程序连接系统的数据转换工具。IDoc用于数据异步处理:每个IDoc生成独立的文本文件,无需连接中央数据库,就可以传送给要求数据的工作平台。SAP的另一个
7、系统业务应用程序接口则用于数据同步处理。一个大公司的网络操作环境很可能需要各地分公司的电脑都能与公司的主数据库连接。这些电脑很可能是用不同的硬件或操作系统平台。因为IDoc对数据进行了压缩,所以它无需变换格式就能在不同的操作系统上使用。 IDoc类型指定不同种类的数据,比如说购买订单或发票,它们可能被划分为更细小的数据种类,即信息类型。更详细的分类意味着一个IDoc类型只能储存某一特定交易所需的数据,这样既提高了工作效率又降低了资源损耗。在事务处理过程中,IDoc随时会生成。例如,在运货交易过程中,可能会产生打印货运
8、清单所需数据的IDoc。客户在SAP系统执行完一项交易后,在数据传送过程中和经过ALE通讯层时,一个或多个IDoc会生成。通讯层执行远程功能调用,使用由客户模式规定得端口定义和RFC介面定义。IDoc的接收者可能为R/3、R/2或一些外部系统。
此文档下载收益归作者所有