通过 SAP JCO 调用获取 JCO_ERROR_SYSTEM_FAILURE

Getting JCO_ERROR_SYSTEM_FAILURE with SAP JCO call

我在通过 JCO 调用自定义函数时出现以下错误。请查看图片了解输入参数和类型。

com.sap.conn.jco.JCoException: (104) JCO_ERROR_SYSTEM_FAILURE: Exception condition "CNTL_ERROR" triggered

下面是将值分配给函数的输入参数并将日期和时间值作为以下格式的字符串传递的代码片段:

yyyyMMddHHmmss

JCoFunction function = destination.getRepository().getFunction("ZMARC_AUT10");
JCoParameterList params = function.getImportParameterList();
{
params.setValue("I_DATEFROM",fromDate);
params.setValue("I_TIMEFROM",fromTime);
params.setValue("I_DATETO",toDate);
params.setValue("I_TIMETO",toTime);
params.setValue("I_USER", username);
}

这是错误跟踪:

Caused by: com.sap.conn.rfc.exceptions.RfcGetException: Exception condition 
"CNTL_ERROR" triggered
at com.sap.conn.rfc.engine.RfcImp.ab_rfcerror(RfcImp.java:1176)
at com.sap.conn.rfc.engine.RfcGet.ab_rfcget(RfcGet.java:120)
at com.sap.conn.rfc.engine.RfcRcv.ab_rfcreceive(RfcRcv.java:33)
at com.sap.conn.rfc.engine.RfcIoOpenCntl.RfcReceive(RfcIoOpenCntl.java:1982)
... 45 more

您调用的 RFM ZMARC_AUT10 引发了未声明的系统异常 CNTL_ERROR。 你需要分析ABAP系统中的错误。查看带有事务 ST22 and/or 的转储调试您的 ABAP 远程功能模块。 一般来说,我还建议避免抛出未声明的异常。

我无法确定异常的原因,因为它是自定义 rfc,但通常 CNTL_ERROR 与 GUI 对象调用(例如 ALV)有关

我相信您正在尝试实例化这些对象之一,但是通过 RFC,您没有可用的 GUI。

请检查 RFC 代码以查找自定义容器或 alv 或类似内容