declare
l_result boolean;
l_session_id number;
begin
--fnd_global.apps_initialize(1153,20678,222); --if you test in Development Tools
--mo_global.init('AR');--if you test in Development Tools
l_result := fnd_concurrent.set_completion_status('WARNING','Review log file for details.');
if l_result then
srw.message(1003,'fnd_global.conc_request_id :'||fnd_global.conc_request_id);
srw.message(1003,'Setting Completion status to Warning sucess');
else
srw.message(1004,'Setting Completion status to Warning Failed');
end if;
commit;
end;
以上代码在After Report Trigger 中无效果也不报错!
原因:after report trigger 中 fnd_global.conc_request_id无值;
解决方案:
update fnd_concurrent_requests
set phase_code = 'C',
status_code = 'G',--G : Waring , C : NORMAL ,E : Error
completion_text = substrb(:P_WARING_MSG, 1, 240)
where request_id = :P_REQUEST_ID; --请求ID的在after report trigger里面如果,请自行解决.
commit;