2016-04-28 8 views
1

Я создал форму Oracle Forms 10g и хочу отобразить LOV, нажав кнопку. На Когда-Button-Pressed курок у меня есть:Oracle Forms 10g LOV не отображается во второй раз

go_item('MyBlock.Item1'); 
do_key('LIST_VALUES'); 

LOV имеет 6 колонок и 2 из них связаны с 2-х предметов: MyBlock.Item1 и MyBlock.Item2. Когда я нажимаю кнопку LOV, появляется, и я могу сделать выбор. LOV вставляет данные в MyBlock.Item1 и MyBlock.Item2, и все в порядке. Но если я хочу сделать другой выбор и снова нажимать кнопку, LOV не появляется. Я не знаю, в чем проблема.

Кнопка и оба элемента находятся в одном и том же блоке данных. Я установил для «Обновление» значение «Разрешено» и «Обязательно» для «Нет» для обоих элементов и «Мышь». Перейдите к кнопке «Нет» (я видел это на нескольких форумах).

+0

Вы пробовали с show_lov? – pablomatico

+0

@pablomatico Спасибо. Да, я пробовал с 'a_value_chosen: = Show_Lov ('MY_LOV'); \t IF a_value_chosen THEN ... 'но второй раз a_value_chosen не является истиной ни ложной, она равна нулю. – dragy

+0

Вы уверены, что ваш текущий элемент - myblock.item1, когда вы вызываете show_lov? – pablomatico

ответ

0

Я наконец нашел решение (с использованием OTN обсуждение оракула). Проблема была сохранена процедура, которую я вызываю после первого всплытия LOV. В первый раз после того, как я выбрал значение, я удаляю запись другого блока с помощью хранимой процедуры. В этой процедуре я устанавливаю значения столбцов MyBlock.Item1 и MyBlock.Item2. Но по форме старые значения остаются на предметах. Я удалил обновление этих двух столбцов в процедуре и теперь работает. Но мне нужно, чтобы эти два поля обновлялись до нуля автоматически.

Решение состоит в том, что я сначала изменяю значения этих элементов в форме, а затем вызываю хранимую процедуру. Он работает сейчас.

0

Попробуйте поставить команду синхронизации между этими двумя линиями:

go_item('MyBlock.Item1'); 
Synchronize; 
do_key('LIST_VALUES'); 
+0

Спасибо, я пробовал, но это не сработало. Тоже самое. – dragy

+0

Хорошо, что это не любовь, а курсор? или курсор находится на другом элементе. –

+0

Курсор находится на другом блоке данных и элементе, потому что код вставляет новую запись в другой блок данных. Может быть, это создает проблему? – dragy

Смежные вопросы