通过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);
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);
} 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); } }