java访问SAP获取数据

Super_Mars_1911 2010-10-11 01:44:05
通过RFC的RFC_READ_TABLE函数获取数据,FIELDS和OPTIONS属性该如何设置,例如
IFunctionTemplate ft = myRepository.getFunctionTemplate("RFC_READ_TABLE");
function = ft.getFunction();
if (function == null) {
System.out.println("Can't create function!");
return;
}

JCO.ParameterList input = function.getImportParameterList();
input.setValue("******", "QUERY_TABLE");
input.setValue(";", "DELIMITER");
input.setValue(0, "ROWSKIPS");
input.setValue(10, "ROWCOUNT");
client.execute(function);
...全文
273 点赞 收藏 3
写回复
3 条回复
切换为时间正序
当前发帖距今超过3年,不再开放新的回复
发表回复
ruru521elva 2010-10-11
貌似也不会 坐坐 沙发 重新安装
回复
Super_Mars_1911 2010-10-11
如果数据量超过512个字节,就报错,我想取表中的部分数据,不知道该怎么设置FIELDS这个属性
回复
json_hui 2010-10-11
希望能帮到你

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);

}

}
回复
相关推荐
发帖
Web 开发
创建于2007-09-28

8.0w+

社区成员

Java Web 开发
申请成为版主
帖子事件
创建了帖子
2010-10-11 01:44
社区公告
暂无公告