上一篇文章写了最基本也最常用的java与SAP-ERP的通信策略,今天说明一下带参数访问的通信策略。
访问 sap自定义功能函数时候,
我们可以给那边传递相应的参数,sap自定义功能函数接到相应的参数后,进行处理并返回相应的结果集。
如 我们想访问 一月份的数据或想访问的是 当月1号到当月当天的数据,就需要用参数来传达信息了。
但最大的前提是SAP系统中的自定义函数需要定义成两个接入参数的函数。
如下就是相应的处理程序,和无参函数访问操作差不多。
JCO.ParameterList inParm = null;
String startTime="2012-01-01";
String endTime="2012-01-31";
JCO.Function func = this.createFunction("Z_RFC_TRANS_MYMAIN_DATA");
//获取输入的参数列表
inParm = func.getImportParameterList();
//清除参数列表信息,先清再进行赋值。
inParm.clear();
// 设置参数 在SAP函数那里 有两个接口函数参数 I_BEGINT,I_ENDT
// 注意 接口函数参数一定要是大写的,不然,参数传递会出错。
// setValue(String value, String name);
inParm.setValue(startTime, "I_BEGINT");
inParm.setValue(endTime, "I_ENDT");
//将输入参数放入输入列表中
func.setImportParameterList(inParm);
try {
mConnection.execute(func);
} catch(Exception e) {
System.out.println("执行函数出错");
e.printStackTrace();
}