BEGIN
FOR c1 IN (WITH payload_tbv AS
(SELECT 'xxxx' from_user
,'yyyy' to_user
FROM dual)
SELECT substr(regexp_substr(payload, '[^,]+', 1, LEVEL), 1, 10) emp
FROM (SELECT payload
FROM payload_tbv) t
WHERE regexp_substr(payload, '[^,]+', 1, LEVEL) IS NOT NULL
CONNECT BY LEVEL <= (SELECT length(REPLACE(payload, ',', NULL))
FROM (SELECT payload
FROM payload_tbv) t))
LOOP
FOR c2 IN (SELECT DISTINCT fr.responsibility_key
,fa.application_short_name
FROM apps.fnd_user_resp_groups_direct furg
,applsys.fnd_user fu
,applsys.fnd_responsibility_tl frt
,applsys.fnd_responsibility fr
,applsys.fnd_application_tl fat
,applsys.fnd_application fa
WHERE furg.user_id = fu.user_id
AND furg.responsibility_id = frt.responsibility_id
AND fr.responsibility_id = frt.responsibility_id
AND fa.application_id = fat.application_id
AND fr.application_id = fat.application_id
AND frt.language = 'US'
AND fu.usser_name = c1.from_user
)
LOOP
BEGIN
fnd_user_pkg.addresp(username => c1.to_user,
resp_app => c2.application_short_name,
resp_key => c2.responsibility_key,
security_group => 'STANDARD',
description => NULL, start_date => SYSDATE,
end_date => NULL);
COMMIT;
EXCEPTION
WHEN OTHERS THEN
ROLLBACK;
dbms_output.put_line(SQLERRM);
END;
END LOOP;
END LOOP;
END;
Orabr
Base e troca de conhecimentos, divulgação de oportunidades e projetos