我想从我的Servlet应用程序将数据发送到SAP RFC表。
我正在尝试通过以下方式进行操作。
JCO.Function function = null;
Connection conn = new Connection();
JCO.Client mConnection = conn.open();
JCO.Repository mRepository;
mConnection.connect();
mRepository = new JCO.Repository("KEYWORD",mConnection);
try{
function = this.createFunction("MY RFC NAME");
if(function != null){
function.getImportParameterList.setValue("ID1","USERID");
function.getImportParameterList.setValue("Test Name","UNAME");
function.getImportParameterList.setValue("CLASSA","UCLASS");
mConnection.execute(function);
}
}catch(Exception ex){
// Exception handling goes here.
}
conn.disconnected();
但我收到以下错误
com.sap.mw.jco.JCO$Exception:<127> JCO_ERROR_FIELD_NOT_FOUND: Field USERID not a member of INPUT
但是我检查了一下,SAP中有存在列。
这里缺少什么?
我也应该通过RFC表名吗?那怎么办
最佳答案
我通过以下代码解决了这个问题。
JCO.Function function = null;
Connection conn = new Connection();
JCO.Client mConnection = conn.open();
JCO.Table GET_DATA = null;
JCO.Repository mRepository;
mConnection.connect();
mRepository = new JCO.Repository("KEYWORD",mConnection);
try{
function = this.createFunction("MY RFC NAME");
if(function != null){
GET_DATA = function.getTableParameterList.getTable(TABLE_NAME);
GET_DATA.appendRow();
function.getImportParameterList.setValue("ID1","USERID");
function.getImportParameterList.setValue("Test Name","UNAME");
function.getImportParameterList.setValue("CLASSA","UCLASS");
GET_DATA.nextRow();
mConnection.execute(function);
}
}catch(Exception ex){
// Exception handling goes here.
}
conn.disconnected();
关于java - 即使字段存在,SAP JCo为什么会引发错误“字段…不是...的成员”?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/39639546/