본문 바로가기

Oracle ERP/SQL/Procedure3

로그 작성하는 프로시저 .. 트랜 잭션 분리 하기 예전에 작성 했던 로그 만들어 주는 프로시저 예입니다.. 로그를 작성 하려면 에러 발생시 프로시저에서 롤백을 발생 시킵니다. 그리고 로그를 작성하는 프로시저 내에서 에러 내용을 입력해야 되기 때분에 트랜 잭션을 분리해야 됩니다. 아래 색칠한 부분만 보시면 됩니다. 저 옵션이 들어가면.. 트랜잭션이 분리되어서 저 안에서 Commit은 다른 곳의 트랜잭션에 영향을 미치지 않습니다. PROCEDURE WRITE_ERR_LOG(p_err_seq NUMBER ,p_batch_name VARCHAR2 ,p_exe_date date ,p_error_msg VARCHAR2) is PRAGMA AUTONOMOUS_TRANSACTION; BEGIN INSERT INTO intf_err_log (seq_id, batch_n.. 2014. 12. 14.
pl/sql 로그인 상태로 FND_GLOBAL.APPS_INITIALIZE(user_id,responsibility_id,application_id); 12부터는 다음 라인 아래까지.. MO_GLOBAL.SET_POLICY_CONTEXT(p_access_mode => 'S', p_org_id =>FND_GLOBAL.ORG_ID); -- Detail DECLARE l_user_id NUMBER; l_resp_id number; l_resp_appl_id number; l_org_id number; l_user_name varchar2(30) := 'User Name'; l_resp_name varchar2(200) := 'Resp Name'; l_appl_sname varchar2(30); l_org_name varchar2(200.. 2014. 12. 14.
responsibility_id, application_id,application_short_name,responsibility_key 찾아주는 쿼리 SELECT fu.user_id, fnd_resp.responsibility_id, fnd_appl.application_id, fnd_appl.application_short_name, fr.responsibility_key FROM fnd_application fnd_appl, fnd_user_resp_groups fnd_resp, fnd_user fu, FND_RESPONSIBILITY fr WHERE fnd_appl.application_id = fnd_resp.responsibility_application_id AND fnd_resp.user_id = fu.user_id AND fnd_resp.responsibility_id = fr.responsibility_id AND nvl(fnd_res.. 2014. 12. 14.