先将jar引入
<!-- 链接SAP -->
<dependency>
<groupId>com.github.easonjim</groupId>
<artifactId>com.sap.conn.jco.sapjco3</artifactId>
<version>3.0.11</version>
</dependency>
因为我将SAP登录名都放在数据库表里面保存了,所以不想一样做的可以直接填入参数
ISysSapDatasourceService就是获取数据库表信息的,不这样做可以删除掉
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;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Component;
import java.io.File;
import java.io.FileOutputStream;
import java.util.Properties;
@Component
public class SAPConnUtils {
private static String ABAP_AS_POOLED;
@Autowired
private ISysSapDatasourceService iSysSapDatasourceService;
/**
* 创建SAP接口属性文件。
* @param name ABAP管道名称
* @param suffix 属性文件后缀
* @param properties 属性文件内容
*/
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