参考:How To Remove Error Notifications From The Worklist (Doc ID 357904.1)
1.1. Use one of the error notifications to get an item_type from the following select:
select message_type from wf_notifications where notification_id = <NID>;
select message_type from applsys.wf_notifications where notification_id=93885;
--WFERROR
2. Use the following script to abort all error workflows that has currently notifications with status OPEN:
Declare
cursor c_item_keys is
select act.item_type , act.item_key
from wf_item_activity_statuses act
,wf_notifications n
,wf_items itm
where act.notification_id = n.notification_id
and act.item_type = itm.item_type
and act.item_key = itm.item_key
and itm.end_date is null
and act.item_type = '<message_type>' -- value returned in step 1
and act.activity_status in ('ERROR','NOTIFIED')
and n.status = 'OPEN'
and act.assigned_user = 'SYSADMIN';
counter number;
Begin
counter := 1 ;
for item in c_item_keys loop
wf_engine.abortprocess(item.item_type,item.item_key);
counter := counter + 1 ;
if counter > 1000 then
counter := 1 ;
commit;
end if;
end loop;
commit;
End;
NOTE:
- Replace the <message_type> by the message_type value returned in step 1.
- This script will remove error notifications from sysadmin. Replace sysadmin by the end user needed or comment the line to run the script for all end users.
3. Run the concurrent request: "Purge Obsolete Workflow Runtime Data".
NOTE:
- In some cases the error workflow may have a child workflow, for example, POERROR workflow may fail to send a notification to a certain user, so that it will generate a WFERROR notification to sysadmin. In that case one has to run the script in step 2 first for WFERROR workflow.
An item_key is not required to run the Purge Obsolete Workflow Runtime Data request. Running it without use of an item_key, all eligible data will be purged.
版权声明:本文博主原创文章,博客,未经同意不得转载。
本文转自mfrbuaa博客园博客,原文链接:http://www.cnblogs.com/mfrbuaa/p/4776713.html,如需转载请自行联系原作者