У меня есть элемент страницы: P1_STUDY_SEARCH и шаттл: P1_STUDY_CODES
Запрос на управление шаттлом выглядит следующим образом:
SELECT
DISTINCT
D.INTERNAL_REF_NO AS d,
D.INTERNAL_REF_NO AS v
FROM
ARIEL.DIM_DRUG_PRODUCT A,
ARIEL.DIM_REGISTRATION_SET B,
ARIEL.v_rep_includes C,
ARIEL.dim_registration_additional D
WHERE
A.DRUG_PRODUCT_ID = B.DRUG_PRODUCT_ID
AND
B.VERSION_SEQ = C.VERSION_SEQ
AND
B.REGISTRATION_SET_ID = D.REGISTRATION_SET_ID
AND
B.APPLICATION_TYPE IN ('CAT','DOG')
AND
B.DATA_STATE = 'C'
AND
D.INTERNAL_REF_NO IS NOT NULL
AND
D.INTERNAL_REF_NO LIKE 'D%'
AND
LENGTH(D.INTERNAL_REF_NO) >=10
AND
1 = (CASE WHEN :P1_STUDY_SEARCH IS NULL THEN 1 ELSE
CASE WHEN D.INTERNAL_REF_NO LIKE '%' || :P1_STUDY_SEARCH || '%' THEN 1 ELSE 0 END END)
ORDER BY 1;
Этот запрос ограничивает значения в левой частичелнок основан на значениях поискового термина.
Исходный SQL челнока представляет собой список с двоеточием:
SELECT LISTAGG (STUDY_CODE, ':') WITHIN GROUP (ORDER BY STUDY_CODE) FROMGRET_STUDIES WHERE GRET_ID =: P1_GRET GROUP BY GRET_ID
Все это прекрасно работает, пока не будет вызвано динамическое действие, которое присоединено к элементу: P1_STUDY_SEARCH.При вводе ключа в этом поле поиска динамическое действие обновляет элемент страницы: P1_STUDY_CODES.
Идея состоит в том, что список будет ограничен в зависимости от условия поиска.Эта часть работает, но правая часть шаттла теряет все свои значения.
Я подозреваю, что причина в том, что в правой части шаттла НИЧЕГО не может быть (запрос SOURCE), если онISNT также является частью набора результатов в запросе списка значений ....?#
Это выглядит довольно плохо, так как исходный запрос отличается от запроса LOV?!