powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Oracle APEX [игнор отключен] [закрыт для гостей] / Ошибки при исполнении DA "Execute PL/SQL Code" (либо "ORA-01400", либо "Item protection")
13 сообщений из 13, страница 1 из 1
Ошибки при исполнении DA "Execute PL/SQL Code" (либо "ORA-01400", либо "Item protection")
    #39299101
Курдль
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Пытаюсь исполнить DA "Execute PL/SQL Code" типа
Код: plsql
1.
INSERT INTO EMP (EMPNO, ENAME) VALUES ( :P27_EMPNO_NEW, :P27_ENAME_NEW);


Выполнив перед этим True Action
Код: html
1.
"Set Value -> Static Assignment -> Value: 2 -> Item(s): P27_EMPNO_NEW"


Получаю:
AJAX call returned server error ORA-01400: невозможно вставить NULL в ("TEST"."EMP"."EMPNO") for Execute PL/SQL Code.

Если в свойствах DA прописываю (что с моей точки зрения делать не обязательно при Ajax-вызове):
Код: html
1.
Page Items to Submit: P27_EMPNO_NEW,P27_ENAME_NEW


Получаю:
Attempt to save item P27_EMPNO_NEW in session state during show processing. Item protection level indicates:
Item may be set when accompanied by a "session" checksum.

No checksum was passed in or the checksum passed in would be suitable for an item with protection level "Item has no protection."
...
Рейтинг: 0 / 0
Ошибки при исполнении DA "Execute PL/SQL Code" (либо "ORA-01400", либо "Item protection")
    #39299129
Фотография Petro123
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Курдль,
- всё таки без триггера тешил?
- непонятен смысл присваивания в переменную в первом шаге, если можно присвоить в
begin
end;
...
Рейтинг: 0 / 0
Ошибки при исполнении DA "Execute PL/SQL Code" (либо "ORA-01400", либо "Item protection")
    #39299134
Фотография Petro123
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Курдль,
такого типа ошибки бывают если забыть передавать значения переменных с сервера на клиент и обратно.
Т.е. не заполнять поля ниже окошка с кодом.
Или не декларативно в коде SetSession(values\items
...
Рейтинг: 0 / 0
Ошибки при исполнении DA "Execute PL/SQL Code" (либо "ORA-01400", либо "Item protection")
    #39299140
Курдль
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Petro123,

Да триггер ни при чём. Я просто свой код перевожу в понятный всем вид (не буду ж я названиями своих реальных таблиц всем мозг парить).
Вот и пишу EMPNO, да ENAME...
Похоже где-то я с JS-присвоениями наследил :(
Ради чистоты эксперимента создал такую же страницу с другим номером (и с другими именами ITEMs) - в ней всё работает.
...
Рейтинг: 0 / 0
Ошибки при исполнении DA "Execute PL/SQL Code" (либо "ORA-01400", либо "Item protection")
    #39299156
Фотография Petro123
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Курдль,
ну, если работает, тогда ок.
...
Рейтинг: 0 / 0
Ошибки при исполнении DA "Execute PL/SQL Code" (либо "ORA-01400", либо "Item protection")
    #39299242
Курдль
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Petro123Курдль,
ну, если работает, тогда ок.
Ну, как "Работает"?..
Какого-то фига при сабмите передаются никому не нужные ITEMs и еще и проверяются на protections.
Нас, - истинных перфекционистов, это не может не бесить :)
...
Рейтинг: 0 / 0
Ошибки при исполнении DA "Execute PL/SQL Code" (либо "ORA-01400", либо "Item protection")
    #39299248
Фотография Petro123
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
КурдльКакого-то фига при сабмите передаются никому не нужные ITEMs и еще и проверяются на protections.
ты по русски всё начни по новой. И опиши нчиная от печки.
Апекс на сабмит автоматом передаёт на сервер все айтемсы.
Если ты вдруг на клиенте решил выполнить PL код, то догадайся как это будет сделано?
- передадутся все айтемсы в сессию(на сервер) по AJAX которые указал в поле через запятую
- потом выполнится PL код уже с этими значениями на сервере, а не на клиенте в осле в JS
...
Всё логично.
В чём у тебя проблема я не понял.
...
Рейтинг: 0 / 0
Ошибки при исполнении DA "Execute PL/SQL Code" (либо "ORA-01400", либо "Item protection")
    #39299250
Курдль
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Petro123,

Проблема возникает не при исполнении кастомного DML, прописанного в DA, а при выполнении стандартного Processing типа Process Row of EMP.
...
Рейтинг: 0 / 0
Ошибки при исполнении DA "Execute PL/SQL Code" (либо "ORA-01400", либо "Item protection")
    #39299255
Фотография Petro123
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
КурдльPetro123,
Проблема возникает не при исполнении кастомного DML, прописанного в DA, а при выполнении стандартного Processing типа Process Row of EMP.
ну, если тебе чернил жалко или лень подробней описать, то удачи!
...
Рейтинг: 0 / 0
Ошибки при исполнении DA "Execute PL/SQL Code" (либо "ORA-01400", либо "Item protection")
    #39299330
Курдль
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Petro123,

Подробнее порядок действий, после которого возникают проблемы с протекшн, такой:
1. Создаёшь модальый диалог "Сотрудник" по шаблону "форма на основе таблицы или представления"
2. Навешиваешь на него доп. элементы, напр. IR (типа "все объекты, обслуживаемые сотрудником").
3. Навешиваешь функционал "Добавить новый паспорт" для этого создаешь новый item P2_OBJECT_ID
4. Делаешь вложенный модальный диалог "Выбор объекта", поле закрытия которого заполняется поле P2_OBJECT_ID и срабатывает DA Execute PL/SQL: insert into XXX_ALLOCATIONS (EMPNO, OBJECT_ID) values (:P2_EMPNO, :P2_OBJECT_ID);
Refresh Region "все объекты, обслуживаемые сотрудником".
До этого элемента всё норм.
Далее нажимаешь не на CANCEL, а на APPLY и получаешь: Attempt to save item P2_OBJECT_ID in session state during show processing.
...
Рейтинг: 0 / 0
Ошибки при исполнении DA "Execute PL/SQL Code" (либо "ORA-01400", либо "Item protection")
    #39299370
Фотография Petro123
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
не решил ещё проблему?
Попробую воспроизвести, но у меня 4-ка. Всё по другому. Поэтому пиши подробности чтобы даже студент воспроизвёл.
КурдльPetro123,
Подробнее порядок действий, после которого возникают проблемы с протекшн, такой:
1. Создаёшь модальый диалог "Сотрудник" по шаблону "форма на основе таблицы или представления"
== Create Page наверно? На основе мастера "форма на основе таблицы или представления"? И на вопрос ответиь какой там шаблон? Dialog пятёрочный или обычная страница с шаблоном *Region Template (Value Required) = Form Region?
...
Рейтинг: 0 / 0
Ошибки при исполнении DA "Execute PL/SQL Code" (либо "ORA-01400", либо "Item protection")
    #39299396
Фотография Petro123
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Курдль4. Делаешь вложенный модальный диалог "Выбор объекта", поле закрытия которого заполняется поле P2_OBJECT_ID и срабатывает DA Execute PL/SQL: insert into XXX_ALLOCATIONS (EMPNO, OBJECT_ID) values (:P2_EMPNO, :P2_OBJECT_ID);
если это диалог на этой же самой странице, то процессы одного могут пересекаться с процессами другого.
Почему я и не люблю вложенные окна - псевдо модальные.
Нарушаются принципы ООП.
...
Рейтинг: 0 / 0
Ошибки при исполнении DA "Execute PL/SQL Code" (либо "ORA-01400", либо "Item protection")
    #39299410
Курдль
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Petro123не решил ещё проблему?
Вроде решил - отключил Value Protected у всех "проблемных" hidden items
...
Рейтинг: 0 / 0
13 сообщений из 13, страница 1 из 1
Форумы / Oracle APEX [игнор отключен] [закрыт для гостей] / Ошибки при исполнении DA "Execute PL/SQL Code" (либо "ORA-01400", либо "Item protection")
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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