问题描述
我在执行 JCoFunction
时遇到异常。
JCoFunction functionBOMCreation = destination.getRepository().getFunction("CSAP_MAT_BOM_CREATE"); functionBOMCreation.execute(destination);
得到这个异常
com.sap.conn.jco.AbapException: (126) ERROR: ERROR Message 172 of class 29 type E
at com.sap.conn.jco.rt.MiddlewareJavaRfc$JavaRfcClient.execute(MiddlewareJavaRfc.java:1824)
at com.sap.conn.jco.rt.ClientConnection.execute(ClientConnection.java:1120)
at com.sap.conn.jco.rt.ClientConnection.execute(ClientConnection.java:953)
at com.sap.conn.jco.rt.RfcDestination.execute(RfcDestination.java:1317)
at com.sap.conn.jco.rt.RfcDestination.execute(RfcDestination.java:1288)
at com.sap.conn.jco.rt.AbapFunction.execute(AbapFunction.java:302)**
解决方法
一般来说,当你得到AbapException
时,说明被调用的函数已经明确发现了错误。可能是您传递给函数的参数有误,也可能是 SAP 系统中的数据导致的错误。
您可能会收到一个带有它的消息号。如果是这样,您可以通过手动登录 SAP 系统(通过 SAP GUI)并运行 SE91
事务代码以显示消息来获取文本,或者您的程序可以额外调用函数 BAPI_MESSAGE_GETDETAIL
获取完整的消息文本(输入参数:ID,NUMBER,MESSAGE_V1,MESSAGE_V2,MESSAGE_V3,MESSAGE_V4
;输出参数:MESSAGE
)。
在您的情况下,类 172
的消息 ID 29
对应于文本 Enter a quantity
。我不知道 CSAP_MAT_BOM_CREATE
,所以我不能告诉你确切的参数是什么。