1:首先下载和SAP创建链接的jar包jco3.jar,然后跟指定SAP服务器建立连接,想要灵活性的话可以写个配置文件
package hfagro.mdm.core.utils; import java.io.File; import java.io.FileOutputStream; import java.util.Properties; import com.sap.conn.jco.JCoDestination; import com.sap.conn.jco.JCoDestinationManager; import com.sap.conn.jco.JCoException; import com.sap.conn.jco.ext.DestinationDataProvider; /** * ��SAP�������� * @author wy */ public class SapConnect { private static final String ABAP_AS_POOLED = "ABAP_AS_WITH_POOL"; static{ Properties connectProperties = new Properties(); //test connectProperties.setProperty(DestinationDataProvider.JCO_ASHOST, "192.168.1.58"); connectProperties.setProperty(DestinationDataProvider.JCO_SYSNR, "00"); connectProperties.setProperty(DestinationDataProvider.JCO_CLIENT, "300"); connectProperties.setProperty(DestinationDataProvider.JCO_USER, "OA_RFC"); connectProperties.setProperty(DestinationDataProvider.JCO_PASSWD, "15235456"); connectProperties.setProperty(DestinationDataProvider.JCO_LANG, "ZH"); //connectProperties.setProperty(DestinationDataProvider.JCO_POOL_CAPACITY, "3"); //connectProperties.setProperty(DestinationDataProvider.JCO_PEAK_LIMIT, "10"); connectProperties.setProperty(DestinationDataProvider.JCO_SAPROUTER,"/H/218.92.167.235/H/"); createDataFile(ABAP_AS_POOLED, "jcoDestination", connectProperties); } private static void createDataFile(String name, String suffix, Properties properties){ File cfg = new File(name+"."+suffix); if(cfg.exists()){ cfg.deleteOnExit(); } try{ FileOutputStream fos = new FileOutputStream(cfg, false); properties.store(fos, "for tests only !"); fos.close(); }catch (Exception e){ System.out.println("Create Data file fault, error msg: " + e.toString()); throw new RuntimeException("Unable to create the destination file " + cfg.getName(), e); } } public static JCoDestination connect(){ JCoDestination destination =null; try { destination = JCoDestinationManager.getDestination(ABAP_AS_POOLED); } catch (JCoException e) { System.out.println("Connect SAP fault, error msg: " + e.toString()); } return destination; } }
2:进行数据传递
package hfagro.mdm.core.utils; import java.util.ArrayList; import java.util.List; import com.sap.conn.jco.JCoDestination; import com.sap.conn.jco.JCoException; import com.sap.conn.jco.JCoFunction; import com.sap.conn.jco.JCoTable; import hfagro.mdm.core.master.dto.AllViewInfo; /** * ��sap��ȡ�ý����� * @author kmd * 2013-06-05 * */ public class test1 { public static void Sapback(List list){ JCoFunction function = null; JCoDestination destination = SapConnect.connect(); AllViewInfo allViewInfo =null; try { // function = destination.getRepository().getFunction("ZFUN_QM_QMEL_INBOUND"); function = destination.getRepository().getFunction("ZFUN_MDM_MATERIAL_CRT"); JCoTable jtable = function.getTableParameterList().getTable("I_INPUT"); allViewInfo = new AllViewInfo(); jtable.setValue("MATERIAL", allViewInfo.getMaterial()); jtable.setValue("MATL_TYPE", allViewInfo.getMatlType()); jtable.setValue("MATL_DESC_ZH", allViewInfo.getMatlDescZh()); List viewCodeList = new ArrayList(); for(int i=0;i<viewCodeList.size();i++){ if("K".equals(viewCodeList.get(i))){ function.getImportParameterList().setValue("A_BASIC_VIEW", "X"); } if("E".equals(viewCodeList.get(i))){ function.getImportParameterList().setValue("A_BASIC_VIEW", "X"); } } function.getImportParameterList().setValue("A_BASIC_VIEW", "X"); for(int i=0;i<list.size();i++){ jtable.appendRow(); jtable.setRow(i); jtable.setValue("MATERIAL", list.get(i)); } function.execute(destination); } catch (JCoException e) { e.printStackTrace(); } } public static void main(String[] args) { LoadBorrowMoneyBalance(); List list = new ArrayList(); list.add("000200000052"); Sapback(list); list.add("0000000020"); //Sapback(list); //System.out.println("12:34:56789".substring(0, 5)); String a = "12345_123"; int b = a.lastIndexOf("_"); System.out.println(a.substring(0,b)); System.out.println(a.substring(b+1)); } }
相关推荐
SAP ABAP与JAVA之间通过RFC传递数据实例
Java 调用 SAP RFC 案例,附博客地址,SAP RFC开发一步一步 http://blog.csdn.net/iberr/article/details/40895453
非常实用的例子,一看就会,最近使用java连接RFC,把这个例子保存,以后方便查看。
“Sap RFC联调测试工具”是用于第三方平台连接SAP RFC进行预先测试,在第三方平台未开发好程序,而进行预先联调测试已经开发好的RFC接口。也可以用来ABAP开发者在开发好RFC并且用SAP的SE37测试无误之后,进行第三方...
SAP Net调用SAP RFC接口读取数据RFC
Java掉sap RFC
包括示例代码,代码说明,所需要的资源(sapjco.jar)文件。
Java 使用JCO远程调用SAP RFC java 连接示例 JCO Linux 下安装详细步骤配置 JCO windows下安装详细步骤及配置 JCO linux windwos 所用到地包文件
java调用sap通用工具类,支持window和linux; 使用步骤: 1。拷贝jar和 dll或者 so文件到项目的lib目录下 2.。初始化DefaultSAPService 3。调用方式为 defaultSAPService.execute("funcitionName", req, Resp.class)...
DELPHI 调用SAP RFC 文档, 包含delphi调用sap rfc函数的代码
java连接sap RFC函数 所需文件 包含sapjco3.jar sapjco.jar sapjco3.dll
SAP RFC基础知识SAP RFC基础知识SAP RFC基础知识SAP RFC基础知识
.netcore项目sap的rfc调用所需的sap组件。.netcore调用rfc需要使用SapNwRfc,开发环境需要SAP NetWeaver RFC Library 7.50 SDK引用。SapNwRfc使用请参考:https://github.com/huysentruitw/SapNwRfc
VBA访问SAPRFC,利用组登录方式登录
注意看清标题,是用来测试RFC接口的工具,不是给你模拟发布一个RFC接口的工具
Java调用SAP RFC驱动程序 Windows版本 亲测可用 sapjco30P_17-64-Windows 需要将DLL放到环境变量中
CSDN上有很多SAP RFC的Demo,但都不够简洁 一、此工具使用VS2010开发,可用VS2019打开,win10以下版本需安装DotNetFramework4.0,Win10以上版本可直接打开,工具在RFC\RFC\RFC\bin\Debug中直接运行RFC.exe即可; 二...
SAP RFC接口实例代码 C#
.net调用SAP RFC Demo SAP CONNECTOR FOR MICROSOFT .NET Demo(vs2005 x86) .net调用SAP RFC组件 Compiled with .NET Framework 2.0: sapnco30P_8-20007347.zip:SAP Connector for Microsoft .NET 3.0.8.0 for ...
SAP官方SDK Windows Server on IA32 32bit