forked from demo/example
You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
57 lines
2.2 KiB
57 lines
2.2 KiB
6 years ago
|
package com.fr.function;
|
||
|
|
||
6 years ago
|
import java.io.File;
|
||
|
import java.io.FileOutputStream;
|
||
|
import java.util.Properties;
|
||
|
|
||
6 years ago
|
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;
|
||
|
|
||
|
public class ConnectSAPServer {
|
||
|
static String ABAP_AS_POOLED = "ABAP_AS_WITH_POOL";
|
||
|
static {
|
||
|
Properties connectProperties = new Properties();
|
||
|
connectProperties.setProperty(DestinationDataProvider.JCO_ASHOST,
|
||
|
"SAP服务器IP地址");
|
||
|
connectProperties.setProperty(DestinationDataProvider.JCO_SYSNR, "系统编号");
|
||
|
connectProperties
|
||
|
.setProperty(DestinationDataProvider.JCO_CLIENT, "客户端编号(SAP中的,和客户端没关系)");
|
||
|
connectProperties.setProperty(DestinationDataProvider.JCO_USER,
|
||
|
"用户名");
|
||
|
connectProperties.setProperty(DestinationDataProvider.JCO_PASSWD,
|
||
|
"密码");
|
||
|
connectProperties.setProperty(DestinationDataProvider.JCO_LANG, "ZH");
|
||
|
connectProperties.setProperty(
|
||
|
DestinationDataProvider.JCO_POOL_CAPACITY, "10");
|
||
|
connectProperties.setProperty(DestinationDataProvider.JCO_PEAK_LIMIT,
|
||
|
"10");
|
||
|
createDataFile(ABAP_AS_POOLED, "jcoDestination", connectProperties);
|
||
|
}
|
||
|
|
||
|
static void createDataFile(String name, String suffix, Properties properties) {
|
||
|
File cfg = new File(name + "." + suffix);
|
||
|
if (!cfg.exists()) {
|
||
|
try {
|
||
|
FileOutputStream fos = new FileOutputStream(cfg, false);
|
||
|
properties.store(fos, "SAP连接配置文件");
|
||
|
fos.close();
|
||
|
} catch (Exception e) {
|
||
|
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) {
|
||
|
e.getCause();
|
||
|
}
|
||
|
return destination;
|
||
|
}
|
||
|
}
|