Я делаю персонализацию формы в модуле управления персоналом. Мое требование - когда конечный пользователь пытается завершить работу, чем должна выполняться процедура, и проверьте условие, если оно не выполнено, то в форме внешнего интерфейса должно отображаться сообщение об ошибке.
Я использую эту процедуру: =
CREATE OR REPLACE PROCEDURE validate_terminate IS
u_id NUMBER := fnd_global.user_id;
e_id NUMBER;
p_id NUMBER;
l_yes VARCHAR2 (1);
null_found EXCEPTION;
BEGIN
SELECT EMPLOYEE_ID
INTO e_id
FROM fnd_user
WHERE user_id = u_id;
SELECT person_id
INTO p_id
FROM per_all_people_f
WHERE person_id = e_id;
SELECT 'Y'
INTO l_yes
FROM DUAL
WHERE EXISTS
(SELECT 'Y'
FROM pa_expenditure_items_all paei,
pa_expenditures_all pae
WHERE paei.expenditure_id = pae.expenditure_id
AND pae.incurred_by_person_id = p_id
AND paei.cost_distributed_flag = 'N');
IF l_yes = NULL THEN
dbms_output.put_line ('USER CANNOT PERFORM TERMINATE');
RAISE null_found;
END IF;
EXCEPTION
WHEN null_found THEN
dbms_output.put_line ('CONDITION IS NOT MET');
dbms_output.put_line ('CANNOT PROCESS TERMINATE');
WHEN no_data_found THEN
dbms_output.put_line ('CONDITION IS NOT MET');
dbms_output.put_line ('CANNOT PROCESS TERMINATE');
END;
Процедура работает нормально, но я не могу выполнить ее в интерфейсе
, как я делаю это нижескриншоты
[интерфейс от] [1]
[изображение вкладки ACTION] [2]
, но процедура не выполняется.