Java使用JCO調用RFC函數


配置SAP集成開發環境

windows

librfc32.dll,sapjcorfc.dll 放到c:\windows\system32下面 
sapjco.jar 放到當前項目的\web-inf\lib下面

linux

librfccm.so、libsapjcorfc.so放到jdk所安裝的路徑下的jre/lib/amd64下面 
sapjco.jar 放到當前項目的WEB-INF\lib下面

代碼示例

// sap連接屬性 Properties logonProperties = new Properties(); logonProperties.put("jco.client.ashost", "192.168.255.256"); logonProperties.put("jco.client.client", "800"); logonProperties.put("jco.client.sysnr", "12"); logonProperties.put("jco.client.user", "username"); logonProperties.put("jco.client.passwd", "password"); logonProperties.put("jco.client.lang", "zh"); logonProperties.put("jco.client.CodePage", "8400"); JCO.Client client = JCO.createClient(logonProperties); // 建立連接 client.connect(); // 建立repository JCO.Repository repository = new JCO.Repository("myRepository", client); // 獲取函數模版 IFunctionTemplate functionTemplate = repository.getFunctionTemplate("Y_FUNCTION_NAME"); // 獲取函數對象 JCO.Function function = functionTemplate.getFunction(); // 輸入參數列表 JCO.ParameterList parameterList = function.getImportParameterList(); // 輸入結構賦值 JCO.Structure oaidStructure = parameterList.getStructure("IS_OAID"); oaidStructure.setValue("12", "OAID"); oaidStructure.setValue("23", "MATNR"); // client 執行函數 client.execute(function); // 獲取輸出參數列表 ParameterList exportParameterList = function.getExportParameterList(); // 根據參數名獲取參數值 System.out.println("EX_TYPE : " + exportParameterList.getString("EX_TYPE")); System.out.println("EX_MESSAGE : " + exportParameterList.getString("EX_MESSAGE")); // 獲取表 ParameterList tableParameterList = function.getTableParameterList(); Table etOaid = tableParameterList.getTable("ET_OAID"); for (int i = 0; i < etOaid.getNumRows(); i++) { etOaid.setRow(i); // 設置游標 System.out.print("MANDT : " + etOaid.getString("MANDT")); System.out.print(" MATNR : " + etOaid.getString("MATNR")); System.out.print(" OAID : " + etOaid.getString("OAID")); System.out.println(" CONFX : " + etOaid.getString("CONFX")); }
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22
  • 23
  • 24
  • 25
  • 26
  • 27
  • 28
  • 29
  • 30
  • 31
  • 32
  • 33
  • 34
  • 35
  • 36
  • 37
  • 38
  • 39
  • 40
  • 41
  • 42
  • 43
  • 44

其它

rfc函數編輯

如圖,RFC函數包括: 
* 導入-輸入參數(普通參數,結構) 
* 導出-輸出參數(普通參數,結構) 
* 表-不區分導入導出,同一個表可作為導入表,也可作為導出表,甚至可以同時作為導入導出表


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM