生活随笔
收集整理的這篇文章主要介紹了
JCO与bapi的联合使用
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
JCO簡介 JCO是Java Connector的簡稱,它封裝了JAVA-enabled RFC,實現了基于RFC的BAPI與JAVA接口。它提供結構化的BAPI調用,目前不支持面向對象的開發。 JCO使用 1)類導入 import com.sap.mw.jco.*; 2)建立R3連接,有兩種方法: a.持久連接 //申明連接 JCO.Client mConnection; // 初始化連接 mConnection = JCO.createClient("001", // SAP client "<userid>", // userid "****", // password "EN", // language (null for the default language) "<hostname>", // application server host name "00"); // system number //建立連接 try { mConnection.connect(); } catch (Exception ex) { ex.printStackTrace(); System.exit(1); } //關閉連接 mConnection.disconnect(); 復制代碼 b.連接池方式 static final String POOL_NAME = "Pool"; JCO.Pool pool = JCO.getClientPoolManager().getPool(POOL_NAME); if (pool == null) { OrderedProperties logonProperties = OrderedProperties.load("/logon.properties"); JCO.addClientPool(POOL_NAME, // pool name 5, // maximum number of connections logonProperties); // properties mConnection = JCO.getClient(POOL_NAME); System.out.println(mConnection.getAttributes()); } catch (Exception ex) { ex.printStackTrace(); } 。。。。。。 finally { JCO.releaseClient(mConnection); } 復制代碼 3)獲得BAPI方法 JCO.Repository mRepository; mRepository = new JCO.Repository("ARAsoft", mConnection); IFunctionTemplate ft = try{ mRepository.getFunctionTemplate(“BAPI_SALESORDER_GETSTATUS”); } catch (Exception ex) { throw new Exception("Problem retrieving JCO.Function object."); } ? ?? ?// Create a function from the template ? ???jcoFunction = new JCO.Function(ft); 復制代碼 4)設定輸入參數 JCO.Field SalesDocumentField = jcoFunction.getImportParameterList().getField("SALESDOCUMENT"); ? ???SalesDocumentField.setValue(iSalesDocument); 復制代碼 5)執行BAPI mConnection.execute(jcoFunction); 復制代碼 6)處理“return”參數 JCO.Structure jcoBapiReturn = jcoFunction.getExportParameterList().getStructure("RETURN"); ? ?? ?if ((jcoBapiReturn.getField("TYPE").getValue()).toString().equals("E")) ? ?? ???throw new Exception(); 復制代碼 7) 獲得返回值 JCO.Table jcoStatusInfo = jcoFunction.getTableParameterList().getTable("STATUSINFO"); 復制代碼 8)最后是異常的捕獲與處理 JCO開發建議 基于JAVA語言的特征,建議以如下的方式開發JCO應用。 1)主要的類: 輸入參數封裝到java bean類中,并統一進行有效性檢查。 針對所要調用的BAPI建立代理類,將BAPI的業務功能封裝起來。 建立一個解釋類,負責調用業務功能類,并將參數從java beans傳遞到業務功能類。 2)流程: |
與50位技術專家面對面20年技術見證,附贈技術全景圖
總結
以上是生活随笔為你收集整理的JCO与bapi的联合使用的全部內容,希望文章能夠幫你解決所遇到的問題。
如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。