В вашем блоке PL / SQL отсутствует ключевое слово BEGIN.
Лучший способ проверить, каковы действительные значения P1_ID и P1_TERM во время работы этого блока, - вставить их в таблицу для тестирования. , Скорее всего, вы увидите, что их значения равны NULL, потому что, как Littlefoot предлагает значения элемента на странице (в DOM), это не то, что используется для запуска PL SQL. PL SQL интересует только значение элементов, которое сохраняется в состоянии сеанса.
Сохранение в состояние сеанса выполняется при отправке страницы, но может быть выполнено с помощью PL SQL piror для отправки страницы. используя эту процедуру:
BEGIN
APEX_UTIL.SET_SESSION_STATE('P1_ITEM', 'New Value');
END;