Я пытаюсь найти в базе данных, а затем удалить запись, если совпадение найдено.Затем, если совпадений не найдено, я хотел бы вернуть ошибку в строковом формате с сообщением об ошибке.
DEF INPUT PARAM i_cCarID LIKE Car.carID NO-UNDO.
DEFINE OUTPUT PARAMETER o_cErrorMsg AS CHARACTER NO-UNDO.
DEF BUFFER carBuffer_B1 FOR Car.
FIND FIRST carBuffer_B1 WHERE carBuffer.carID= i_cCarID EXCLUSIVE-LOCK NO-ERROR.
IF AVAIL(carBuffer_B1) THEN DO:
DELETE carBuffer_B1 NO-ERROR.
IF ERROR-STATUS:ERROR THEN DO:
o_cErrorMSG = "Error: ".
RETURN o_cErrorMsg + ERROR-STATUS:GET-MESSAGE(1).
END.
END.
Этот код, по-видимому, не возвращает никаких ошибок при вызове из Java.
Правка 1. Не приводит ли совпадение даже к ошибке или нужно как-то явно «выбросить» ошибку?