powered by simpleCommunicator - 2.0.59     © 2025 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Oracle Forms [игнор отключен] [закрыт для гостей] / ORA-00904 при изменении данных в форме
4 сообщений из 4, страница 1 из 1
ORA-00904 при изменении данных в форме
    #36991125
lunar-fairy
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Всем доброго времени суток!

Делаю форму для OeBS. Если делаю ее на view, то при попытке что-либо изменить в любом поле выдается ошибка:

Код: plaintext
1.
2.
ORA-00904: "ROW_ID": недопустимый идентификатор
--------------------------------------------------------------
FRM-40501: Ошибка ORACLE: невозможно зарезервировать запись для обновления или удаления.

Представление:
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
31.
32.
CREATE OR REPLACE FORCE VIEW apps.xxt_gl_pc_headers_v (
   row_id,
   pc_header_id,
   party_id,
   cust_account_id,
   order_num,
   order_date,
   cost_center,
   project_num,
   acceptance,
   cost_invoice_num,
   party_name,
   cust_account,
   cust_account_date
   )
AS
   SELECT ph.ROWID row_id,
          ph.pc_header_id,
          ph.party_id,
          ph.cust_account_id,
          ph.order_num,
          ph.order_date,
          ph.cost_center,
          ph.project_num,
          ph.acceptance,
          ph.cost_invoice_num,
          hzp.party_name,
          hca.account_name cust_account,
          hca.account_established_date cust_account_date
   FROM xxt_gl_pc_headers ph, xxt_ap62_hz_accounts_v hca, hz_parties hzp
   WHERE     hca.party_id = hzp.party_id
         AND hca.cust_account_id(+) = ph.cust_account_id
         AND hca.party_id(+) = ph.party_id;

Можно, конечно, было бы и на основной таблице форму сделать, но хотелось бы уйти от post_query.

Подскажите, пожалуйста, в чем может быть причина.
...
Рейтинг: 0 / 0
ORA-00904 при изменении данных в форме
    #36991336
Les
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Ты можешь повесить триггеры instead if на вьюхе, можешь обрабатывать триггера в формсах on-insert on-update
А так же посмотри свойства полей в блоке, query-only
...
Рейтинг: 0 / 0
ORA-00904 при изменении данных в форме
    #36992539
lunar-fairy
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
on_insert, on_update и on_delete у меня итак были прописаны. query_only проставляла в yes, но это не помогло.

Как оказалось надо было переопределить on_lock: прописать там null;

Всем спасибо :)
...
Рейтинг: 0 / 0
ORA-00904 при изменении данных в форме
    #36993349
ya.vypusck
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
lunar-fairyКак оказалось надо было переопределить on_lock: прописать там null;


Так можно делать, если с формой никогда не будут работать несколько пользователей.
В противном случае, надо явно заблокировать строку.
...
Рейтинг: 0 / 0
4 сообщений из 4, страница 1 из 1
Форумы / Oracle Forms [игнор отключен] [закрыт для гостей] / ORA-00904 при изменении данных в форме
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]