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

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

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

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

В интернетах полно примеров типа обратиться к шатлу в 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
20.07.2015, 18:39
    #39011670
Petro123
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Записать значение из shuttle в поле типа nested table
Zeke,
это в ветку оракла
...
Рейтинг: 0 / 0
21.07.2015, 12:27
    #39012124
Zeke
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Записать значение из shuttle в поле типа nested table
кто-нибудь может сказать в итоге, как обратиться к списку значений шатла?
...
Рейтинг: 0 / 0
21.07.2015, 12:40
    #39012144
blkangel
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Записать значение из shuttle в поле типа nested table
Zekeкто-нибудь может сказать в итоге, как обратиться к списку значений шатла?
Begin
raise_application_error(-20001, 'P8_CONDITION_1_SHUTTLE='||:P8_CONDITION_1_SHUTTLE);
End;
...
Рейтинг: 0 / 0
21.07.2015, 12:41
    #39012146
blkangel
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Записать значение из shuttle в поле типа nested table
Zekeкто-нибудь может сказать в итоге, как обратиться к списку значений шатла?
Код: plsql
1.
2.
3.
Begin
  raise_application_error(-20001, 'P8_CONDITION_1_SHUTTLE='||:P8_CONDITION_1_SHUTTLE);
End;



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

и еще перед сохранением, покажи результат выполнения Яваскрипта
Код: javascript
1.
$v("P8_CONDITION_1_SHUTTLE="+$v('P8_CONDITION_1_SHUTTLE'))
...
Рейтинг: 0 / 0
21.07.2015, 12:47
    #39012158
blkangel
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Записать значение из shuttle в поле типа nested table
blkangel,
Прошу прощение, в пред. посте ошибка.
Код: javascript
1.
console.log("P8_CONDITION_1_SHUTTLE="+$v('P8_CONDITION_1_SHUTTLE'))
...
Рейтинг: 0 / 0
21.07.2015, 12:53
    #39012173
blkangel
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Записать значение из shuttle в поле типа nested table
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
21.07.2015, 12:54
    #39012174
Zeke
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Записать значение из shuttle в поле типа nested table
blkangel,

Скажите пжл, куда это засунуть, чтобы посомтреть результат? Я нуб в Apex'e , поэтому и такие вопросы
...
Рейтинг: 0 / 0
21.07.2015, 12:55
    #39012177
blkangel
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Записать значение из shuttle в поле типа nested table
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
21.07.2015, 12:56
    #39012178
blkangel
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Записать значение из shuttle в поле типа nested table
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
21.07.2015, 13:00
    #39012183
blkangel
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Записать значение из shuttle в поле типа nested table
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
21.07.2015, 13:13
    #39012212
Zeke
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Записать значение из shuttle в поле типа nested table
blkangel,

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

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

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

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

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

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

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

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

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

Возможно мне даже не нужен dynamic action здесь.
...
Рейтинг: 0 / 0
21.07.2015, 13:39
    #39012266
blkangel
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Записать значение из shuttle в поле типа nested table
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
21.07.2015, 13:53
    #39012295
Zeke
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Записать значение из shuttle в поле типа nested table
blkangel,

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

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

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

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

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

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

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

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

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

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

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

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

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


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