JCO

JCO

SAP的R/3系統與Java平台一樣有著許多類似的技術理念,以及同樣廣泛的企業級用戶,但是它們完全是兩個不同的世界。當用戶面臨流程或者數據整合方面的需求的時候,就迫切需要一種高效的方式,在R/3系統和Java平台之間實時地交換數據。基於這樣的需求,SAP提供了一套高效的基於RFC的ABAP和Java進程間通訊組件:SAP Java Connector(JCo)。

架構配置

本文將介紹JCo組件的架構,配置,基本使用方法以及調試,同時還將討論如何對RFC方式調用的ABAP函式進行遠程調試。

JCo庫提供了可以直接在Java程式中使用的API。該API通過JNI調用部署在客戶端的SAP的RFC庫。該RFC庫是用C語言實現的,並且與JCo庫相互獨立發布。但是,在下載的JCo庫壓縮檔中也會提供。

該組件支持Inbound(在Java代碼中調用ABAP函式)和Outbound(在ABAP代碼中調用Java)兩種模式。本文只專注於介紹Inbound模式中,如何在Java代碼遠程調用ABAP函式。

JCO JCO
JCO JCO

安裝與配置

最新版本的JCo庫可以在官網下載(請選擇適合你的軟體和硬體平台的版本,本文的示例都基於32位Windows作業系統):

解壓縮以後,將名為librfc32.dll的檔案複製到目錄

system32下面。如果該檔案已經存在,則覆蓋它。這個檔案就是SAP的RFC協定實現,可以在官網下載其最新版本。

然後,確保CLASSPATH環境變數中包含檔案sapjco.jar所在的目錄。因為這個JAR包中含有在Java程式中需要直接調用的類和接口。

下載的壓縮檔中還包含了JavaDoc,文檔以及示例程式供參考。

建立連線

在執行任何操作之前,必須先建立到SAP系統的連線。本文示例使用的用戶名是“DDIC”,登錄密碼是“minisap”,基於如下圖所示系統信息:

類JCO是Jco庫中最主要的一個入口,它提供了許多靜態方法。其中有一系列重載的createClient方法可以用來創建與SAP系統的連線信息。這些信息都保存在返回的JCO.Client類的實例中。常用的兩種方式如下:

1. 直接輸入參數

JCO.Client myConnection = JCO.createClient("000", "DDIC", "minisap", "EN", "10.0.0.11", "00");

2. 使用Java Properties:

Properties logonProperties = new Properties();

logonProperties.put("jco.client.ashost","10.0.0.11");

logonProperties.put("jco.client.client","000");

logonProperties.put("jco.client.passwd","minisap");

logonProperties.put("jco.client.sysnr","00");

logonProperties.put("jco.client.user","DDIC");

JCO.Client myConnection = JCO.createClient( logonProperties ).

相關詞條

熱門詞條

聯絡我們