#sapjco3
#sapjco3
Вопрос:
Я получаю исключение ниже при выполнении 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)**
Ответ №1:
Вообще говоря, когда вы получаете AbapException
, это означает, что вызываемая функция явно обнаружила ошибку. Это может быть ошибка в аргументах, которые вы передаете функции, или ошибка из-за данных в системе SAP.
Возможно, вместе с ним вы получите номер сообщения. Если это так, вы можете получить текст, либо войдя в систему SAP вручную (через графический интерфейс SAP) и запустив SE91
код транзакции для отображения сообщений, либо ваша программа может выполнить дополнительный вызов функции BAPI_MESSAGE_GETDETAIL
для получения полного текста сообщения (входные параметры: ID, NUMBER, MESSAGE_V1, MESSAGE_V2, MESSAGE_V3, MESSAGE_V4
; выходной параметр: MESSAGE
).
В вашем случае идентификатор сообщения 172
класса 29
соответствует тексту Enter a quantity
. Я не знаю CSAP_MAT_BOM_CREATE
, поэтому не могу сказать вам, о каком именно параметре идет речь.