java - 为什么 SAP JCo 会引发错误 "Field ... not a member of ...",即使该字段存在?

标签 java sap

我想从我的 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里面有exist列。

这里缺少什么? 我还应该传递 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 会引发错误 "Field ... not a member of ...",即使该字段存在?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39639546/

相关文章:

java - 用 SAX 解析 XML |如何处理特殊字符?

c# - 在 .net 应用程序中使用 SAP Webservice - 身份验证错误 401

sap - 在 CDS View 中连接空格

java - 在 Apache Wicket 与@MountPath 发生冲突

java - 检测用户是否在启动器上

java urlconnection 不抛出 sockettimeoutexception

在 centOS 上访问 SAP GUI 时出现 JavaFX 错误

java - Spigot 插件开发 - 玩家死亡时减去变量

java - 如何在Ubuntu操作系统中的eclipse中运行windows中的spring boot应用程序?

c# - 有没有办法通过使用命名空间而不是 using 指令 ​​ "using namespace_name"来引用某个类/接口(interface)/...?