powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Oracle APEX [игнор отключен] [закрыт для гостей] / Записать значение из shuttle в поле типа nested table
25 сообщений из 27, страница 1 из 2
Записать значение из shuttle в поле типа nested table
    #39011383
Zeke
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Добрый день!

Помогите, пожалуйста, решить головоломку.

Работаю с Apex 5.

Есть таблица в базе, у которой одно из полей типа nested table. На Апексе создал страницу Tabular Form. В ней есть одно из полей типа shuttle. Соответственно, нужно, чтобы при выборе нескольких элементов в правой части shuttle'а они записывались как nested table поле в таблице.

Shuttle возвращает строку, например, вида '1:32:4:8'. Соответственно, хочу сделать так, чтобы каждый элемент из строки записался в nested table. Я пытался сначала эксперементировать с полем source самого шатла, но в итоге ни к чему хорошему это так и не привело. Потом создал dynamic action в апексе и попытался, чтобы он перед событием before page submit привел строку шатла к виду вложенной таблицы. Но на этот момент (когда срабатывает это событие) строка шатла почему-то все время пустая. Не могу понять, в какой момент она обнуляется или может я не так что-то делаю?

как вариант можно , конечно, создать триггер в базе, который будет парсить строку, которую возвращает шатл, и уже потом засовывать ее как nested table, но очень не хотелось бы этого делать.

Если кто-нибудь сталкивался с такой ситуацией, то буду очень благодарен за помощь или советы!
...
Рейтинг: 0 / 0
Записать значение из shuttle в поле типа nested table
    #39011403
Фотография Petro123
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ZekeЕсть таблица в базе, у которой одно из полей типа nested table
мало ли каких типов полей нафигачит Оракл в БД (XML\видео\tree\ГЕО сеть дорог) и т.д.
По большему счёту это всё маркетинг.
Не нужно пихать это всё в APEX.
...
Рейтинг: 0 / 0
Записать значение из shuttle в поле типа nested table
    #39011481
Zeke
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Petro123,

Спасибо за совет! но тем не менее
...
Рейтинг: 0 / 0
Записать значение из shuttle в поле типа nested table
    #39011499
Фотография Petro123
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ZekePetro123,
Спасибо за совет! но тем не менее
триггер, вьюхи и ВЕСЬ код на PL.
Когда всё будет работать без APEX - подключить его.
...
Рейтинг: 0 / 0
Записать значение из shuttle в поле типа nested table
    #39011635
Zeke
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Еще никак не могу получить список значений шатла, которое в виде строки через двоеточие генерируется.

В интернетах полно примеров типа обратиться к шатлу в pl/sql блоке по имени через двоеточие типа :p_shuttle_name и он вернет эту строку, только чё-то он возвращает ее пустой все время.

пишу в элементарный код в dynamic action, event - before page submit

Код: plsql
1.
2.
3.
4.
5.
BEGIN
 UPDATE CONTAINER_6
    SET TEST_FIELD = :P8_CONDITION_1_SHUTTLE
  WHERE id = 2;
END;



но в итоге записывается null. Печалька :(

Причем, если в самом shuttle в разделе source указать database column с именем поля, то все сохраняеся отлично.
...
Рейтинг: 0 / 0
Записать значение из shuttle в поле типа nested table
    #39011670
Фотография Petro123
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Zeke,
это в ветку оракла
...
Рейтинг: 0 / 0
Записать значение из shuttle в поле типа nested table
    #39012124
Zeke
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
кто-нибудь может сказать в итоге, как обратиться к списку значений шатла?
...
Рейтинг: 0 / 0
Записать значение из shuttle в поле типа nested table
    #39012144
blkangel
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Zekeкто-нибудь может сказать в итоге, как обратиться к списку значений шатла?
Begin
raise_application_error(-20001, 'P8_CONDITION_1_SHUTTLE='||:P8_CONDITION_1_SHUTTLE);
End;
...
Рейтинг: 0 / 0
Записать значение из shuttle в поле типа nested table
    #39012146
blkangel
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Zekeкто-нибудь может сказать в итоге, как обратиться к списку значений шатла?
Код: plsql
1.
2.
3.
Begin
  raise_application_error(-20001, 'P8_CONDITION_1_SHUTTLE='||:P8_CONDITION_1_SHUTTLE);
End;



Что показывает? Пусто?
...
Рейтинг: 0 / 0
Записать значение из shuttle в поле типа nested table
    #39012155
blkangel
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Zeke,

и еще перед сохранением, покажи результат выполнения Яваскрипта
Код: javascript
1.
$v("P8_CONDITION_1_SHUTTLE="+$v('P8_CONDITION_1_SHUTTLE'))
...
Рейтинг: 0 / 0
Записать значение из shuttle в поле типа nested table
    #39012158
blkangel
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
blkangel,
Прошу прощение, в пред. посте ошибка.
Код: javascript
1.
console.log("P8_CONDITION_1_SHUTTLE="+$v('P8_CONDITION_1_SHUTTLE'))
...
Рейтинг: 0 / 0
Записать значение из shuttle в поле типа nested table
    #39012173
blkangel
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
ZekeShuttle возвращает строку, например, вида '1:32:4:8'.

Для работы со строкой такого вида, тебе нужен примерно такой код
Код: plsql
1.
select * from shuttle_table  where  :P8_CONDITION_1_SHUTTLE like '%'||to_char(shuttle_table_id)||'%' 


Как и правильно сказал Petro123 задача первого класса, в ветке Оракл.
...
Рейтинг: 0 / 0
Записать значение из shuttle в поле типа nested table
    #39012174
Zeke
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
blkangel,

Скажите пжл, куда это засунуть, чтобы посомтреть результат? Я нуб в Apex'e , поэтому и такие вопросы
...
Рейтинг: 0 / 0
Записать значение из shuttle в поле типа nested table
    #39012177
blkangel
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
blkangelZekeShuttle возвращает строку, например, вида '1:32:4:8'.

Для работы со строкой такого вида, тебе нужен примерно такой код
Код: plsql
1.
select * from shuttle_table  where  :P8_CONDITION_1_SHUTTLE like '%'||to_char(shuttle_table_id)||'%' 


Как и правильно сказал Petro123 задача первого класса, в ветке Оракл.
Опять ошибка, пишу вручную
Код: plsql
1.
select * from shuttle_table  where  ':'||:P8_CONDITION_1_SHUTTLE||':' like '%'||to_char(shuttle_table_id)||'%' 
...
Рейтинг: 0 / 0
Записать значение из shuttle в поле типа nested table
    #39012178
blkangel
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
blkangelblkangelпропущено...


Для работы со строкой такого вида, тебе нужен примерно такой код
Код: plsql
1.
select * from shuttle_table  where  :P8_CONDITION_1_SHUTTLE like '%'||to_char(shuttle_table_id)||'%' 


Как и правильно сказал Petro123 задача первого класса, в ветке Оракл.
Опять ошибка, пишу вручную
Код: plsql
1.
select * from shuttle_table  where  ':'||:P8_CONDITION_1_SHUTTLE||':' like '%'||to_char(shuttle_table_id)||'%' 


:)
select * from shuttle_table where ':'||:P8_CONDITION_1_SHUTTLE||':' like '%:'||to_char(shuttle_table_id)||':%'
...
Рейтинг: 0 / 0
Записать значение из shuttle в поле типа nested table
    #39012183
blkangel
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Zekeblkangel,

Скажите пжл, куда это засунуть, чтобы посомтреть результат? Я нуб в Apex'e , поэтому и такие вопросы

Где у тебя это написано?
Код: plsql
1.
2.
3.
4.
5.
BEGIN
 UPDATE CONTAINER_6
    SET TEST_FIELD = :P8_CONDITION_1_SHUTTLE
  WHERE id = 2;
END;


Туда же запихни это
Код: plsql
1.
2.
3.
Begin
  raise_application_error(-20001, 'P8_CONDITION_1_SHUTTLE='||:P8_CONDITION_1_SHUTTLE);
End;



И выполни все те же действия для сохранения значений
...
Рейтинг: 0 / 0
Записать значение из shuttle в поле типа nested table
    #39012212
Zeke
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
blkangel,

я засунул это туда же, в итоге страница с tabular form даже не открывается и, сразу же всплывает этот эксепшн, где значение пустое, естественно

этот код у меня засунут в dynamic action и событие выбрано before page submit

скорее всего я не то событие выбрал
...
Рейтинг: 0 / 0
Записать значение из shuttle в поле типа nested table
    #39012220
blkangel
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Zekeblkangel,

я засунул это туда же, в итоге страница с tabular form даже не открывается и, сразу же всплывает этот эксепшн, где значение пустое, естественно

этот код у меня засунут в dynamic action и событие выбрано before page submit

скорее всего я не то событие выбрал

Зачем dynamic action(DA) нужен не знаю, но чтобы DA не отрабатывал при загрузке, убери флажок Fire On Page Load (если он в пятом апексе так же называется)
...
Рейтинг: 0 / 0
Записать значение из shuttle в поле типа nested table
    #39012233
Zeke
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
blkangel,

да, также и называется, но этот флаг уже выключен.

Все, что мне нужно, - это просто тупо получить список шатла перед добавлением записи в базу и обработать его, вот и все. Ничего сложного, но даже тут гемор возник.

Возможно мне даже не нужен dynamic action здесь.
...
Рейтинг: 0 / 0
Записать значение из shuttle в поле типа nested table
    #39012266
blkangel
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Zekeblkangel,

да, также и называется, но этот флаг уже выключен.

Все, что мне нужно, - это просто тупо получить список шатла перед добавлением записи в базу и обработать его, вот и все. Ничего сложного, но даже тут гемор возник.

Возможно мне даже не нужен dynamic action здесь.

Ну тогда все элементарно
Создаешь процесс After submit с текстом
Код: plsql
1.
2.
3.
4.
5.
BEGIN
 UPDATE CONTAINER_6
    SET TEST_FIELD = :P8_CONDITION_1_SHUTTLE
  WHERE id = 2;
END;
...
Рейтинг: 0 / 0
Записать значение из shuttle в поле типа nested table
    #39012295
Zeke
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
blkangel,

Спасибо Вам большое! вот так уже работает наконец-то!

только вопрос - этот процесс один раз срабатывает, когда кнопку жмешь или как часто?
...
Рейтинг: 0 / 0
Записать значение из shuttle в поле типа nested table
    #39012326
blkangel
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Zekeblkangel,

Спасибо Вам большое! вот так уже работает наконец-то!

только вопрос - этот процесс один раз срабатывает, когда кнопку жмешь или как часто?

Сколько было сабмитов удовлетворяющих condition процесса, столько и сработает.
В блоке Condition вы можете ограничить срабатывание процесса по определенным условиям...
...
Рейтинг: 0 / 0
Записать значение из shuttle в поле типа nested table
    #39012365
Zeke
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
blkangel,

Точняк! Спасибо!

еще вопрос появился. Можно ли в этом процессе как-нибудь присвоить значение полю?

А то до это я просто обновлял уже существующую в базе запись, а сейчас нужно в при добавлении новой записи присвоить некоторым ее полям значения (из того же шатла, например), то есть это по сути как триггер перед вставкой новой записи. Но создавать триггер мне не нужно.
...
Рейтинг: 0 / 0
Записать значение из shuttle в поле типа nested table
    #39012376
blkangel
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Zekeblkangel,

Точняк! Спасибо!

еще вопрос появился. Можно ли в этом процессе как-нибудь присвоить значение полю?

А то до это я просто обновлял уже существующую в базе запись, а сейчас нужно в при добавлении новой записи присвоить некоторым ее полям значения (из того же шатла, например), то есть это по сути как триггер перед вставкой новой записи. Но создавать триггер мне не нужно.

Давай так, сначала ты вступительный курс по Апекс пройдешь, почитаешь литературу всякую разную, погуглишь, потыкаешся, попробуешь.
И когда уже совсем ничего получатся не будет, спрашивай.
...
Рейтинг: 0 / 0
Записать значение из shuttle в поле типа nested table
    #39012382
Zeke
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
blkangel,

я этим параллельно и занимаюсь :)
...
Рейтинг: 0 / 0
25 сообщений из 27, страница 1 из 2
Форумы / Oracle APEX [игнор отключен] [закрыт для гостей] / Записать значение из shuttle в поле типа nested table
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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