Мне нужно вызвать функцию PL / SQL, которая находится в формах Oracle, а не в базе данных.У кого-нибудь есть идеи, как это сделать?
Поиск в Интернете Я нашел способ вызова метода Java в функции PL / SQL, но никак не наоборот.Мне нужно захватить эту функцию, которая находится внутри форм Oracle (программный модуль), и передать необходимые параметры, чтобы смоделировать поведение для моего автоматического теста.Я благодарю всех вас за помощь.
Я постараюсь привести пример.В моем OracleForms у меня есть следующая функция:
FUNCTION FN_MYFUNCTION_WS(P_CD_PERSON NUMBER,P_CD_TYPE VARCHAR2 DEFAULT 'V') RETURN NUMBER IS
vRetorno number := 1;
BEGIN
/*code here*/
End;
Если функция была сохранена в базе данных, я мог бы получить к ней доступ с помощью объекта CallableStatement, например:
Connection conn = ConnectionFactory.getInstance().getConnection();
if (conn != null) {
CallableStatement cstm = conn.prepareCall("begin ? := fn_myfunction_ws(?, ?); end;");
cstm.registerOutParameter(1, Types.VARCHAR);
cstm.setInt(2, cdPerson);
cstm.setString(3, "V");
cstm.executeUpdate();
String outFunc = cstm.getString(1);
}
Проблема в том,что функция находится не в базе данных, а внутри форм оракула, и я не знаю, есть ли способ получить к ней доступ.