Создание Enitiy Object c переопределенной логикой операций DML. Подход обычно применяется в случае наличия API для таблицы.
Для создания PL/SQL EO потребуется сделать две вещи:
Для создания PL/SQL EO потребуется сделать две вещи:
- Унаследовать класс EO от класса OAPlsqlEntityImpl (пакет oracle.apps.fnd.framework.server.OAPlsqlEntityImpl);
- В модуле имплементации EO написать собственные функции
- protected void insertRow();
- protected void updateRow();
- protected void deleteRow();
В переопределенных функциях можно разместить вызов необходимого PL/SQL API. Пример:
protected void insertRow()
{
try
{
OADBTransactionImpl oadbtran =
(OADBTransactionImpl)getDBTransaction();
StringBuffer sBuf = new StringBuffer();
sBuf.append("begin API_PKG.CREATE_ITEM(");
sBuf.append("prm_id => :1,");
sBuf.append("prm_name => :2,");
sBuf.append("prm_desc => :3); end;");
String queryStr = sBuf.toString();
OracleCallableStatement oraCStmnt =
(OracleCallableStatement)oadbtran.createCallableStatement(queryStr, -1);
oraCStmnt.setNUMBER(1, 1);
oraCStmnt.setString(2, "Test");
oraCStmnt.setString(3, "Test Description");
oraCStmnt.execute();
}
catch(SQLException sqlexception)
{
throw OAException.wrapperException(sqlexception);
}
catch(Exception exception)
{
throw OAException.wrapperException(exception);
}
}
Переопределенные функции будут вызываться при фиксации транзации.
Комментариев нет :
Отправить комментарий