希望能帮到你
public static Client getConnection() {
/* 获得一个到SAP系统的连接 START */
Properties logonProperties = new Properties();
logonProperties.put("jco.client.ashost", "192.168.1.10"); // 系统的IP地址
logonProperties.put("jco.client.client", "700"); // 要登录的客户端
logonProperties.put("jco.client.sysnr", "03"); // 系统编号
logonProperties.put("jco.client.user", "xtbg"); // 登录用户名
logonProperties.put("jco.client.passwd", "123456"); // 用户登录口令
// 用上述条件创建一个连接对象
Client myConnection = JCO.createClient(logonProperties);
return myConnection;
}
public static void getData(int id) {
Client myConnection = getConnection();
/* 获得一个到SAP系统的连接 END */
myConnection.connect(); // 进行实际连接
// 如果连接不为null并且处于活动状态
if (myConnection != null && myConnection.isAlive()) {
// 从连接获得一个逻辑意义上的“仓库”对象(Repository)
JCO.Repository myRepository = new JCO.Repository("hui",
myConnection); // 只是一个名字
// 活动的连接
// 要调用的SAP函数名称
String strFunc = "Z_IS_TELF_DANSO_NEW";
// 从“仓库”中获得一个指定函数名的函数模板
IFunctionTemplate ft = myRepository.getFunctionTemplate(strFunc
.toUpperCase());
// 从这个函数模板获得该SAP函数的对象
Function function = ft.getFunction();
// 获得函数的import参数列表
ParameterList input = function.getImportParameterList();
// 设定一个import参数的值。参数名为“MAX_ROWS”,设定值为10
// System.out.println(input);
// input.getField("IM_KUNNR").setValue("0000100001");
input.setValue("0000" + id, "IM_KUNNR");
myConnection.execute(function);
Table flights = function.getTableParameterList().getTable(
"IT_KNA1_ZPO");
ParameterList list = function.getTableParameterList();
// System.out.println(list);
// JCO.Table对象可以直接输出到html文件
// flights.writeHTML("C:/function.html");
// System.out.println(flights.getNumRows() + " count ...");
for (int i = 0; i < flights.getNumRows(); i++) {
flights.setRow(i);
System.out.println(flights.getString(0) + " "
+ flights.getString(1) + " "
+ flights.getString(2));
}
System.out.println(id+" ---------");
// 断开连接
myConnection.disconnect();
} else {
System.out.println(false);
}
}
作者: json_hui
发布时间: 2010-10-11