DBA Data[Home] [Help]

APPS.WF_QUEUE dependencies on WF_QUEUE

Line 1: PACKAGE BODY WF_QUEUE AS

1: PACKAGE BODY WF_QUEUE AS
2: /* $Header: wfqueb.pls 120.9 2011/08/10 18:04:40 alsosa ship $ */
3:
4: --
5: -- Exceptions

Line 188: wf_queue.PurgeEvent(wf_queue.InboundQueue, message_handle, FALSE);

184: end if;
185:
186: --If we came successfully till here let us purge off the
187: --data from the Q
188: wf_queue.PurgeEvent(wf_queue.InboundQueue, message_handle, FALSE);
189:
190: exception
191: when others then
192: Wf_Core.Context('Wf_Queue', 'Process_Inbound_Event', itemtype,itemkey);

Line 192: Wf_Core.Context('Wf_Queue', 'Process_Inbound_Event', itemtype,itemkey);

188: wf_queue.PurgeEvent(wf_queue.InboundQueue, message_handle, FALSE);
189:
190: exception
191: when others then
192: Wf_Core.Context('Wf_Queue', 'Process_Inbound_Event', itemtype,itemkey);
193:
194: raise;
195:
196: end Process_Inbound_Event;

Line 204: if (wf_queue.name_init = FALSE) then

200: -- ====================================================================
201: function DeferredQueue return varchar2
202: as
203: begin
204: if (wf_queue.name_init = FALSE) then
205: wf_queue.set_queue_names;
206: end if;
207: return (wf_queue.deferred_queue_name);
208: exception

Line 205: wf_queue.set_queue_names;

201: function DeferredQueue return varchar2
202: as
203: begin
204: if (wf_queue.name_init = FALSE) then
205: wf_queue.set_queue_names;
206: end if;
207: return (wf_queue.deferred_queue_name);
208: exception
209: when others then

Line 207: return (wf_queue.deferred_queue_name);

203: begin
204: if (wf_queue.name_init = FALSE) then
205: wf_queue.set_queue_names;
206: end if;
207: return (wf_queue.deferred_queue_name);
208: exception
209: when others then
210: Wf_Core.Context('Wf_Queue', 'DeferredQueue');
211: raise;

Line 210: Wf_Core.Context('Wf_Queue', 'DeferredQueue');

206: end if;
207: return (wf_queue.deferred_queue_name);
208: exception
209: when others then
210: Wf_Core.Context('Wf_Queue', 'DeferredQueue');
211: raise;
212: end;
213:
214: function OutboundQueue return varchar2

Line 217: if (wf_queue.name_init = FALSE) then

213:
214: function OutboundQueue return varchar2
215: as
216: begin
217: if (wf_queue.name_init = FALSE) then
218: wf_queue.set_queue_names;
219: end if;
220: return (wf_queue.outbound_queue_name);
221: exception

Line 218: wf_queue.set_queue_names;

214: function OutboundQueue return varchar2
215: as
216: begin
217: if (wf_queue.name_init = FALSE) then
218: wf_queue.set_queue_names;
219: end if;
220: return (wf_queue.outbound_queue_name);
221: exception
222: when others then

Line 220: return (wf_queue.outbound_queue_name);

216: begin
217: if (wf_queue.name_init = FALSE) then
218: wf_queue.set_queue_names;
219: end if;
220: return (wf_queue.outbound_queue_name);
221: exception
222: when others then
223: Wf_Core.Context('Wf_Queue', 'OutboundQueue');
224: raise;

Line 223: Wf_Core.Context('Wf_Queue', 'OutboundQueue');

219: end if;
220: return (wf_queue.outbound_queue_name);
221: exception
222: when others then
223: Wf_Core.Context('Wf_Queue', 'OutboundQueue');
224: raise;
225: end;
226:
227: function InboundQueue return varchar2

Line 230: if (wf_queue.name_init = FALSE) then

226:
227: function InboundQueue return varchar2
228: as
229: begin
230: if (wf_queue.name_init = FALSE) then
231: wf_queue.set_queue_names;
232: end if;
233: return (wf_queue.inbound_queue_name);
234: exception

Line 231: wf_queue.set_queue_names;

227: function InboundQueue return varchar2
228: as
229: begin
230: if (wf_queue.name_init = FALSE) then
231: wf_queue.set_queue_names;
232: end if;
233: return (wf_queue.inbound_queue_name);
234: exception
235: when others then

Line 233: return (wf_queue.inbound_queue_name);

229: begin
230: if (wf_queue.name_init = FALSE) then
231: wf_queue.set_queue_names;
232: end if;
233: return (wf_queue.inbound_queue_name);
234: exception
235: when others then
236: Wf_Core.Context('Wf_Queue', 'InboundQueue');
237: raise;

Line 236: Wf_Core.Context('Wf_Queue', 'InboundQueue');

232: end if;
233: return (wf_queue.inbound_queue_name);
234: exception
235: when others then
236: Wf_Core.Context('Wf_Queue', 'InboundQueue');
237: raise;
238: end;
239:
240: -- NAME: Set_queue_names (PRIVATE)

Line 250: if wf_queue.name_init then

246:
247: begin
248:
249: --dont bother re-executing this if already initialized.
250: if wf_queue.name_init then
251: return;
252: end if;
253:
254: schema_name := wf_core.translate('WF_SCHEMA');

Line 264: into wf_queue.account_name

260: -- intended schema whether the install is with invoker's right or
261: -- definer's right (default).
262: begin
263: select sys_context('USERENV', 'CURRENT_SCHEMA')
264: into wf_queue.account_name
265: from sys.dual;
266: exception
267: when OTHERS then
268: wf_queue.account_name := NULL;

Line 268: wf_queue.account_name := NULL;

264: into wf_queue.account_name
265: from sys.dual;
266: exception
267: when OTHERS then
268: wf_queue.account_name := NULL;
269: end;
270:
271: wf_queue.deferred_queue_name := schema_name||'.WF_DEFERRED_QUEUE_M';
272: wf_queue.outbound_queue_name := schema_name||'.WF_OUTBOUND_QUEUE';

Line 271: wf_queue.deferred_queue_name := schema_name||'.WF_DEFERRED_QUEUE_M';

267: when OTHERS then
268: wf_queue.account_name := NULL;
269: end;
270:
271: wf_queue.deferred_queue_name := schema_name||'.WF_DEFERRED_QUEUE_M';
272: wf_queue.outbound_queue_name := schema_name||'.WF_OUTBOUND_QUEUE';
273: wf_queue.inbound_queue_name := schema_name||'.WF_INBOUND_QUEUE';
274: wf_queue.name_init := TRUE;
275: exception

Line 272: wf_queue.outbound_queue_name := schema_name||'.WF_OUTBOUND_QUEUE';

268: wf_queue.account_name := NULL;
269: end;
270:
271: wf_queue.deferred_queue_name := schema_name||'.WF_DEFERRED_QUEUE_M';
272: wf_queue.outbound_queue_name := schema_name||'.WF_OUTBOUND_QUEUE';
273: wf_queue.inbound_queue_name := schema_name||'.WF_INBOUND_QUEUE';
274: wf_queue.name_init := TRUE;
275: exception
276: when others then

Line 273: wf_queue.inbound_queue_name := schema_name||'.WF_INBOUND_QUEUE';

269: end;
270:
271: wf_queue.deferred_queue_name := schema_name||'.WF_DEFERRED_QUEUE_M';
272: wf_queue.outbound_queue_name := schema_name||'.WF_OUTBOUND_QUEUE';
273: wf_queue.inbound_queue_name := schema_name||'.WF_INBOUND_QUEUE';
274: wf_queue.name_init := TRUE;
275: exception
276: when others then
277: Wf_Core.Context('Wf_Queue', 'Set_queue_names');

Line 274: wf_queue.name_init := TRUE;

270:
271: wf_queue.deferred_queue_name := schema_name||'.WF_DEFERRED_QUEUE_M';
272: wf_queue.outbound_queue_name := schema_name||'.WF_OUTBOUND_QUEUE';
273: wf_queue.inbound_queue_name := schema_name||'.WF_INBOUND_QUEUE';
274: wf_queue.name_init := TRUE;
275: exception
276: when others then
277: Wf_Core.Context('Wf_Queue', 'Set_queue_names');
278: raise;

Line 277: Wf_Core.Context('Wf_Queue', 'Set_queue_names');

273: wf_queue.inbound_queue_name := schema_name||'.WF_INBOUND_QUEUE';
274: wf_queue.name_init := TRUE;
275: exception
276: when others then
277: Wf_Core.Context('Wf_Queue', 'Set_queue_names');
278: raise;
279: end set_queue_names;
280:
281:

Line 309: dequeue_options.consumer_name := wf_queue.account_name;

305: dequeue_options.navigation := dbms_aq.FIRST_MESSAGE;
306:
307: -- check if we need to have a consumer
308: if (multiconsumer) then
309: dequeue_options.consumer_name := wf_queue.account_name;
310: end if;
311:
312: dbms_aq.dequeue
313: (

Line 331: Wf_Core.Context('Wf_Queue', 'PurgeEvent', queuename,

327: when msgid_notfound then
328: null; -- Already purged from the queue.
329:
330: when others then
331: Wf_Core.Context('Wf_Queue', 'PurgeEvent', queuename,
332: rawtohex(message_handle));
333: raise;
334:
335: end PurgeEvent;

Line 356: wf_queue.set_queue_names;

352: begin
353: dequeue_options.dequeue_mode := dbms_aq.REMOVE;
354: dequeue_options.wait := dbms_aq.NO_WAIT;
355: dequeue_options.navigation := dbms_aq.FIRST_MESSAGE;
356: wf_queue.set_queue_names;
357:
358: if correlation is not null then
359: dequeue_options.correlation := correlation;
360: else

Line 361: dequeue_options.correlation := wf_queue.account_name||nvl(itemtype,'%');

357:
358: if correlation is not null then
359: dequeue_options.correlation := correlation;
360: else
361: dequeue_options.correlation := wf_queue.account_name||nvl(itemtype,'%');
362: end if;
363:
364: LOOP
365: dbms_aq.dequeue

Line 380: Wf_Core.Context('Wf_Queue', 'PurgeItemtype', queuename, itemtype);

376: exception
377: when dequeue_timeout then
378: null; -- nothing left on queue to remove
379: when others then
380: Wf_Core.Context('Wf_Queue', 'PurgeItemtype', queuename, itemtype);
381: raise;
382: end PurgeItemtype;
383:
384: -- ProcessDeferredEvent (PRIVATE)

Line 417: wf_queue.PurgeEvent(wf_queue.DeferredQueue, message_handle, TRUE);

413: Wf_Engine_Util.Process_Activity(itemtype, itemkey, actid,
414: maxthreshold, TRUE);
415:
416: -- we successfully processed the activity so dequeue it.
417: wf_queue.PurgeEvent(wf_queue.DeferredQueue, message_handle, TRUE);
418:
419:
420: Exception
421: when others then

Line 444: Wf_Core.Context('Wf_Queue', 'ProcessDeferredEvent', itemtype,

440: -- 3. execute the error process (if any)
441: -- 4. clear the error to continue with next activity
442: -- **note the error stack will refer to the actid that has been
443: -- rolled back!
444: Wf_Core.Context('Wf_Queue', 'ProcessDeferredEvent', itemtype,
445: to_char(minthreshold), to_char(maxthreshold));
446: Wf_Item_Activity_Status.Set_Error(itemtype, itemkey, actid,
447: wf_engine.eng_exception, FALSE);
448: Wf_Engine_Util.Execute_Error_Process(itemtype, itemkey,

Line 461: Wf_Core.Context('Wf_Queue', 'ProcessDeferredEvent', itemtype,

457: Fnd_Concurrent.Set_Preferred_RBS;
458:
459: exception
460: when others then
461: Wf_Core.Context('Wf_Queue', 'ProcessDeferredEvent', itemtype,
462: to_char(minthreshold), to_char(maxthreshold));
463: raise;
464: end ProcessDeferredEvent;
465:

Line 491: wf_queue.set_queue_names;

487:
488: if correlation is not null then
489: lcorrelation := correlation;
490: else
491: wf_queue.set_queue_names;
492: lcorrelation := wf_queue.account_name||itemtype;
493: end if;
494:
495: -- if error stack is defined then set result to ERROR.

Line 492: lcorrelation := wf_queue.account_name||itemtype;

488: if correlation is not null then
489: lcorrelation := correlation;
490: else
491: wf_queue.set_queue_names;
492: lcorrelation := wf_queue.account_name||itemtype;
493: end if;
494:
495: -- if error stack is defined then set result to ERROR.
496: if error_stack is null then

Line 503: wf_queue.Enqueue_Event(queuename =>wf_queue.InboundQueue,

499: lresult := ':ERROR';
500: end if;
501:
502:
503: wf_queue.Enqueue_Event(queuename =>wf_queue.InboundQueue,
504: itemtype =>enqueueInbound.itemtype,
505: itemkey =>enqueueInbound.itemkey,
506: actid =>enqueueInbound.actid,
507: funcname =>enqueueInbound.error_stack,

Line 514: Wf_Core.Context('Wf_Queue', 'EnqueueInbound', itemtype,

510: result =>lresult,
511: message_handle =>handle);
512: exception
513: when others then
514: Wf_Core.Context('Wf_Queue', 'EnqueueInbound', itemtype,
515: itemkey, actid);
516: raise;
517: end EnqueueInbound;
518:

Line 603: Wf_Core.Context('Wf_Queue', 'Get_param_list', itemtype,

599: return(paramlist);
600:
601: exception
602: when others then
603: Wf_Core.Context('Wf_Queue', 'Get_param_list', itemtype,
604: itemkey, actid);
605: raise;
606: end Get_param_list;
607:

Line 624: wf_queue.set_queue_names;

620:
621: as
622: lcorrelation varchar2(80);
623: begin
624: wf_queue.set_queue_names;
625:
626: if correlation is not null then
627: lcorrelation := correlation;
628: else

Line 629: lcorrelation := wf_queue.account_name||nvl(itemtype,'%');

625:
626: if correlation is not null then
627: lcorrelation := correlation;
628: else
629: lcorrelation := wf_queue.account_name||nvl(itemtype,'%');
630: end if;
631:
632: wf_queue.Dequeue_Event(queuename =>wf_queue.OutboundQueue,
633: dequeuemode =>DequeueOutbound.dequeuemode,

Line 632: wf_queue.Dequeue_Event(queuename =>wf_queue.OutboundQueue,

628: else
629: lcorrelation := wf_queue.account_name||nvl(itemtype,'%');
630: end if;
631:
632: wf_queue.Dequeue_Event(queuename =>wf_queue.OutboundQueue,
633: dequeuemode =>DequeueOutbound.dequeuemode,
634: navigation =>DequeueOutbound.navigation,
635: correlation =>lcorrelation,
636: payload =>DequeueOutbound.payload,

Line 644: Wf_Core.Context('Wf_Queue', 'DequeueOutbound', payload.itemtype,

640:
641:
642: exception
643: when others then
644: Wf_Core.Context('Wf_Queue', 'DequeueOutbound', payload.itemtype,
645: payload.itemkey, payload.actid);
646: raise;
647:
648: end DequeueOutbound;

Line 670: wf_queue.set_queue_names;

666: as
667: event system.wf_payload_t;
668: lcorrelation varchar2(80);
669: begin
670: wf_queue.set_queue_names;
671:
672: --use the correlation or default it if null
673: if DequeueEventDetail.correlation is not null then
674: lcorrelation := DequeueEventDetail.correlation;

Line 676: lcorrelation := wf_queue.account_name||nvl(itemtype,'%');

672: --use the correlation or default it if null
673: if DequeueEventDetail.correlation is not null then
674: lcorrelation := DequeueEventDetail.correlation;
675: else
676: lcorrelation := wf_queue.account_name||nvl(itemtype,'%');
677: end if;
678:
679: -- call dequeue to retrieve the event
680: wf_queue.Dequeue_Event(queuename=>wf_queue.OutboundQueue,

Line 680: wf_queue.Dequeue_Event(queuename=>wf_queue.OutboundQueue,

676: lcorrelation := wf_queue.account_name||nvl(itemtype,'%');
677: end if;
678:
679: -- call dequeue to retrieve the event
680: wf_queue.Dequeue_Event(queuename=>wf_queue.OutboundQueue,
681: dequeuemode=>DequeueEventDetail.dequeuemode,
682: navigation =>DequeueEventDetail.navigation,
683: correlation=>lcorrelation,
684: payload=>event,

Line 698: Wf_Core.Context('Wf_Queue', 'DequeueEventDetail', itemtype||':'||itemkey,to_char(actid));

694:
695:
696: exception
697: when others then
698: Wf_Core.Context('Wf_Queue', 'DequeueEventDetail', itemtype||':'||itemkey,to_char(actid));
699: raise;
700:
701: end DequeueEventDetail;
702:

Line 732: wf_queue.set_queue_names;

728: snap_too_old exception;
729: pragma exception_init(snap_too_old, -1555);
730: begin
731: -- find out the schema name
732: wf_queue.set_queue_names;
733:
734: dequeue_options.dequeue_mode := dequeuemode;
735: dequeue_options.wait := dbms_aq.NO_WAIT;
736: dequeue_options.navigation := navigation;

Line 756: dequeue_options.consumer_name := wf_queue.account_name;

752:
753: end if;
754: -- check if we need to have a consumer
755: if (multiconsumer) then
756: dequeue_options.consumer_name := wf_queue.account_name;
757: end if;
758:
759: begin
760: dbms_aq.dequeue( queue_name => Dequeue_Event.queuename,

Line 794: Wf_Core.Context('WF_QUEUE', 'Dequeue_Event', queuename, '%');

790: when dequeue_timeout then
791: timeout := TRUE;
792: when others then
793: if correlation is null then
794: Wf_Core.Context('WF_QUEUE', 'Dequeue_Event', queuename, '%');
795: else
796: Wf_Core.Context('WF_QUEUE', 'Dequeue_Event', queuename, correlation);
797: end if;
798: timeout := FALSE;

Line 796: Wf_Core.Context('WF_QUEUE', 'Dequeue_Event', queuename, correlation);

792: when others then
793: if correlation is null then
794: Wf_Core.Context('WF_QUEUE', 'Dequeue_Event', queuename, '%');
795: else
796: Wf_Core.Context('WF_QUEUE', 'Dequeue_Event', queuename, correlation);
797: end if;
798: timeout := FALSE;
799: raise;
800:

Line 879: wf_queue.PurgeEvent(wf_queue.DeferredQueue,message_handle,TRUE);

875: when no_data_found then
876: -- this event is no longer valid so remove it from the queue
877: -- happens when a rewind moved activity to history table
878: -- or the activity status is no longer defered
879: wf_queue.PurgeEvent(wf_queue.DeferredQueue,message_handle,TRUE);
880: return(FALSE);
881: when resource_busy then
882: return(FALSE);
883: when others then

Line 884: Wf_Core.Context('Wf_Queue', 'Activity_valid', 'Invalid',

880: return(FALSE);
881: when resource_busy then
882: return(FALSE);
883: when others then
884: Wf_Core.Context('Wf_Queue', 'Activity_valid', 'Invalid',
885: event.itemtype||':'||event.itemkey, to_char(event.actid));
886: return(FALSE);
887: end activity_valid;
888:

Line 893: -- Enqueues a message onto any WF queue (because all queues have same payload)

889: --
890: -- ====================================================================
891: --
892: -- Enqueue_Event (PRIVATE)
893: -- Enqueues a message onto any WF queue (because all queues have same payload)
894: --
895:
896: procedure Enqueue_Event(queuename in varchar2,
897: itemtype in varchar2,

Line 926: if (wf_queue.g_dequeue_item_type = enqueue_event.itemtype and

922: -- Bug 4005674
923: -- Check the occurrence of item_type:item_key:actid. If this is the same
924: -- activity which we just dequeued, calculate the number of occurrence
925: -- from history table since the background engine started.
926: if (wf_queue.g_dequeue_item_type = enqueue_event.itemtype and
927: wf_queue.g_dequeue_item_key = enqueue_event.itemkey and
928: wf_queue.g_dequeue_actid = enqueue_event.actid) then
929:
930: g_Key := WF_CACHE.HashKey(enqueue_event.itemtype||':'||

Line 927: wf_queue.g_dequeue_item_key = enqueue_event.itemkey and

923: -- Check the occurrence of item_type:item_key:actid. If this is the same
924: -- activity which we just dequeued, calculate the number of occurrence
925: -- from history table since the background engine started.
926: if (wf_queue.g_dequeue_item_type = enqueue_event.itemtype and
927: wf_queue.g_dequeue_item_key = enqueue_event.itemkey and
928: wf_queue.g_dequeue_actid = enqueue_event.actid) then
929:
930: g_Key := WF_CACHE.HashKey(enqueue_event.itemtype||':'||
931: enqueue_event.itemkey||':'||enqueue_event.actid);

Line 928: wf_queue.g_dequeue_actid = enqueue_event.actid) then

924: -- activity which we just dequeued, calculate the number of occurrence
925: -- from history table since the background engine started.
926: if (wf_queue.g_dequeue_item_type = enqueue_event.itemtype and
927: wf_queue.g_dequeue_item_key = enqueue_event.itemkey and
928: wf_queue.g_dequeue_actid = enqueue_event.actid) then
929:
930: g_Key := WF_CACHE.HashKey(enqueue_event.itemtype||':'||
931: enqueue_event.itemkey||':'||enqueue_event.actid);
932:

Line 959: l_min_delay := floor(l_background_occurrence/wf_queue.g_defer_occurrence)

955: g_ActivityHistoryCount(g_Key).HISTORY_COUNT := l_background_occurrence;
956:
957: -- Bug 4005674
958: -- For every 100 occurrences, add 5 mins to the delay up to a max of 60 mins
959: l_min_delay := floor(l_background_occurrence/wf_queue.g_defer_occurrence)
960: * wf_queue.g_add_delay_seconds;
961:
962: if (l_min_delay < wf_queue.g_max_delay_seconds) then
963: l_increment_delay := l_increment_delay + l_min_delay;

Line 960: * wf_queue.g_add_delay_seconds;

956:
957: -- Bug 4005674
958: -- For every 100 occurrences, add 5 mins to the delay up to a max of 60 mins
959: l_min_delay := floor(l_background_occurrence/wf_queue.g_defer_occurrence)
960: * wf_queue.g_add_delay_seconds;
961:
962: if (l_min_delay < wf_queue.g_max_delay_seconds) then
963: l_increment_delay := l_increment_delay + l_min_delay;
964: elsif (l_min_delay >= wf_queue.g_max_delay_seconds) then

Line 962: if (l_min_delay < wf_queue.g_max_delay_seconds) then

958: -- For every 100 occurrences, add 5 mins to the delay up to a max of 60 mins
959: l_min_delay := floor(l_background_occurrence/wf_queue.g_defer_occurrence)
960: * wf_queue.g_add_delay_seconds;
961:
962: if (l_min_delay < wf_queue.g_max_delay_seconds) then
963: l_increment_delay := l_increment_delay + l_min_delay;
964: elsif (l_min_delay >= wf_queue.g_max_delay_seconds) then
965: l_increment_delay := l_increment_delay + wf_queue.g_max_delay_seconds;
966: end if;

Line 964: elsif (l_min_delay >= wf_queue.g_max_delay_seconds) then

960: * wf_queue.g_add_delay_seconds;
961:
962: if (l_min_delay < wf_queue.g_max_delay_seconds) then
963: l_increment_delay := l_increment_delay + l_min_delay;
964: elsif (l_min_delay >= wf_queue.g_max_delay_seconds) then
965: l_increment_delay := l_increment_delay + wf_queue.g_max_delay_seconds;
966: end if;
967:
968: begin

Line 965: l_increment_delay := l_increment_delay + wf_queue.g_max_delay_seconds;

961:
962: if (l_min_delay < wf_queue.g_max_delay_seconds) then
963: l_increment_delay := l_increment_delay + l_min_delay;
964: elsif (l_min_delay >= wf_queue.g_max_delay_seconds) then
965: l_increment_delay := l_increment_delay + wf_queue.g_max_delay_seconds;
966: end if;
967:
968: begin
969: -- Add a run-time item attribute of #DELAY_ACTID_ to track the

Line 989: wf_queue.set_queue_names;

985: end if;
986: end;
987: end if;
988:
989: wf_queue.set_queue_names;
990: -- construct the event object
991: event:=system.wf_payload_t(itemtype,itemkey,actid,funcname,paramlist,result);
992:
993: -- dont make the data visible on the queue until a commit is issued

Line 1014: message_properties.correlation := wf_queue.account_name||itemtype;

1010:
1011: if correlation is not null then
1012: message_properties.correlation := enqueue_event.correlation;
1013: else
1014: message_properties.correlation := wf_queue.account_name||itemtype;
1015: l_inst_id := sys_context('WF_RAC_CTX','INST_ID');
1016: select ROOT_ACTIVITY into l_process
1017: from WF_ITEMS
1018: where ITEM_TYPE=itemtype

Line 1049: Wf_Core.Context('Wf_Queue', 'Enqueue_event', itemtype,

1045:
1046:
1047: exception
1048: when others then
1049: Wf_Core.Context('Wf_Queue', 'Enqueue_event', itemtype,
1050: itemkey, to_char(actid), to_char(delay));
1051: raise;
1052:
1053: end;

Line 1082: wf_queue.set_queue_names;

1078: commit;
1079:
1080: Fnd_Concurrent.Set_Preferred_RBS;
1081:
1082: wf_queue.set_queue_names;
1083:
1084: if correlation is not null then
1085: lcorrelation := correlation;
1086: else

Line 1087: lcorrelation := wf_queue.account_name||nvl(itemtype,'%');

1083:
1084: if correlation is not null then
1085: lcorrelation := correlation;
1086: else
1087: lcorrelation := wf_queue.account_name||nvl(itemtype,'%');
1088: end if;
1089:
1090: -- loop through the inbound queue.
1091: loop --Process until nothing left on the queue

Line 1103: wf_queue.Dequeue_Event(wf_queue.InboundQueue,

1099: --Lets set a savepoint here
1100: --We would use this savepoint to rollback if we found that a
1101: --lock is not possible in this session for the reterived itemytype key
1102:
1103: wf_queue.Dequeue_Event(wf_queue.InboundQueue,
1104: dbms_aq.LOCKED,
1105: navigation,
1106: lcorrelation,
1107: payload,

Line 1132: wf_queue.Process_Inbound_Event(itemtype=>payload.itemtype,

1128: --Check the parameterlist null/not within Process_Inbound_Event
1129:
1130: if wf_item.acquire_lock(payload.itemtype, payload.itemkey) then
1131: --Process the payload
1132: wf_queue.Process_Inbound_Event(itemtype=>payload.itemtype,
1133: itemkey=>payload.itemkey,
1134: actid=>payload.actid,
1135: message_handle=>ProcessInboundQueue.message_handle,
1136: p_payload => payload);

Line 1159: Wf_Core.Context('Wf_Queue', 'ProcessInboundQueue');

1155: exit when nothing_processed;
1156: end loop;
1157: exception
1158: when others then
1159: Wf_Core.Context('Wf_Queue', 'ProcessInboundQueue');
1160: raise;
1161: end ProcessInboundQueue;
1162:
1163: procedure ProcessDeferredQueue (itemtype in varchar2 default null,

Line 1185: wf_queue.set_queue_names;

1181: -- Bug 4005674
1182: -- Record the sysdate when background engine started.
1183: g_background_begin_date := sysdate;
1184:
1185: wf_queue.set_queue_names;
1186:
1187: if correlation is not null then
1188: lcorrelation := correlation;
1189:

Line 1202: lcorrelation := wf_queue.account_name||itemtype||':'||l_inst_id;

1198: else
1199: l_inst_id := sys_context('WF_RAC_CTX','INST_ID');
1200: if l_inst_id is not null and WF_ENGINE_RAC.Item_Is_RAC_Enabled(itemtype) then
1201: -- This means the correlation of the message would like APPSOEOL:4
1202: lcorrelation := wf_queue.account_name||itemtype||':'||l_inst_id;
1203: else
1204: lcorrelation := wf_queue.account_name||nvl(itemtype,'%');
1205: end if;
1206: end if;

Line 1204: lcorrelation := wf_queue.account_name||nvl(itemtype,'%');

1200: if l_inst_id is not null and WF_ENGINE_RAC.Item_Is_RAC_Enabled(itemtype) then
1201: -- This means the correlation of the message would like APPSOEOL:4
1202: lcorrelation := wf_queue.account_name||itemtype||':'||l_inst_id;
1203: else
1204: lcorrelation := wf_queue.account_name||nvl(itemtype,'%');
1205: end if;
1206: end if;
1207:
1208: loop -- keep processing the queue until there is nothing left

Line 1216: wf_queue.Dequeue_Event(

1212:
1213: loop -- keep processing until a timeout.
1214:
1215: message_handle:=null;
1216: wf_queue.Dequeue_Event(
1217: wf_queue.DeferredQueue,
1218: dbms_aq.LOCKED,
1219: navigation,
1220: lcorrelation,

Line 1217: wf_queue.DeferredQueue,

1213: loop -- keep processing until a timeout.
1214:
1215: message_handle:=null;
1216: wf_queue.Dequeue_Event(
1217: wf_queue.DeferredQueue,
1218: dbms_aq.LOCKED,
1219: navigation,
1220: lcorrelation,
1221: payload,

Line 1228: wf_queue.g_dequeue_item_type := payload.itemtype;

1224: TRUE);
1225:
1226: -- Bug 4005674
1227: -- Record the item_type:item_key:actid at dequeue time
1228: wf_queue.g_dequeue_item_type := payload.itemtype;
1229: wf_queue.g_dequeue_item_key := payload.itemkey;
1230: wf_queue.g_dequeue_actid := payload.actid;
1231:
1232: -- if no message is found, the message may be enqueued with the

Line 1229: wf_queue.g_dequeue_item_key := payload.itemkey;

1225:
1226: -- Bug 4005674
1227: -- Record the item_type:item_key:actid at dequeue time
1228: wf_queue.g_dequeue_item_type := payload.itemtype;
1229: wf_queue.g_dequeue_item_key := payload.itemkey;
1230: wf_queue.g_dequeue_actid := payload.actid;
1231:
1232: -- if no message is found, the message may be enqueued with the
1233: -- new correlation format, so reset the correlation id and retry.

Line 1230: wf_queue.g_dequeue_actid := payload.actid;

1226: -- Bug 4005674
1227: -- Record the item_type:item_key:actid at dequeue time
1228: wf_queue.g_dequeue_item_type := payload.itemtype;
1229: wf_queue.g_dequeue_item_key := payload.itemkey;
1230: wf_queue.g_dequeue_actid := payload.actid;
1231:
1232: -- if no message is found, the message may be enqueued with the
1233: -- new correlation format, so reset the correlation id and retry.
1234: if (navigation = dbms_aq.FIRST_MESSAGE and message_handle is null

Line 1237: lcorrelation := wf_queue.account_name||nvl(itemtype,'%');

1233: -- new correlation format, so reset the correlation id and retry.
1234: if (navigation = dbms_aq.FIRST_MESSAGE and message_handle is null
1235: and correlation is null and lcorrelation = itemtype) then
1236:
1237: lcorrelation := wf_queue.account_name||nvl(itemtype,'%');
1238:
1239: -- otherwise, process the message
1240: else
1241: if (timeout) then

Line 1255: wf_queue.ProcessDeferredEvent(itemtype=>payload.itemtype,

1251: minthreshold )
1252: AND
1253: wf_item.acquire_lock(payload.itemtype,payload.itemkey) then
1254:
1255: wf_queue.ProcessDeferredEvent(itemtype=>payload.itemtype,
1256: itemkey=>payload.itemkey,
1257: actid=>payload.actid,
1258: message_handle=>ProcessDeferredQueue.message_handle,
1259: minthreshold=>ProcessDeferredQueue.minthreshold,

Line 1276: if wf_queue.check_instance then

1272:
1273: --
1274: -- Test for Instance Shutdown
1275: --
1276: if wf_queue.check_instance then
1277: raise shutdown_pending;
1278: end if;
1279:
1280: navigation := dbms_aq.NEXT_MESSAGE;

Line 1291: Wf_Core.Context('Wf_Queue', 'ProcessDeferredQueue', 'Queue shutdown');

1287: end loop;
1288:
1289: exception
1290: when dequeue_disabled then
1291: Wf_Core.Context('Wf_Queue', 'ProcessDeferredQueue', 'Queue shutdown');
1292: raise;
1293: when shutdown_pending then
1294: Wf_Core.Context('Wf_Queue', 'ProcessDeferredQueue', 'DB shutting down');
1295: raise;

Line 1294: Wf_Core.Context('Wf_Queue', 'ProcessDeferredQueue', 'DB shutting down');

1290: when dequeue_disabled then
1291: Wf_Core.Context('Wf_Queue', 'ProcessDeferredQueue', 'Queue shutdown');
1292: raise;
1293: when shutdown_pending then
1294: Wf_Core.Context('Wf_Queue', 'ProcessDeferredQueue', 'DB shutting down');
1295: raise;
1296: when others then
1297: Wf_Core.Context('Wf_Queue', 'ProcessDeferredQueue');
1298: raise;

Line 1297: Wf_Core.Context('Wf_Queue', 'ProcessDeferredQueue');

1293: when shutdown_pending then
1294: Wf_Core.Context('Wf_Queue', 'ProcessDeferredQueue', 'DB shutting down');
1295: raise;
1296: when others then
1297: Wf_Core.Context('Wf_Queue', 'ProcessDeferredQueue');
1298: raise;
1299: end ProcessDeferredQueue;
1300:
1301:

Line 1322: wf_queue.set_queue_names;

1318: msg_id raw(16);
1319: begin
1320: dequeue_options.dequeue_mode := dbms_aq.BROWSE;
1321: dequeue_options.wait := dbms_aq.NO_WAIT;
1322: wf_queue.set_queue_names;
1323: if correlation is not null then
1324: dequeue_options.correlation := correlation;
1325: else
1326: dequeue_options.correlation := wf_queue.account_name||nvl(itemtype,'%');

Line 1326: dequeue_options.correlation := wf_queue.account_name||nvl(itemtype,'%');

1322: wf_queue.set_queue_names;
1323: if correlation is not null then
1324: dequeue_options.correlation := correlation;
1325: else
1326: dequeue_options.correlation := wf_queue.account_name||nvl(itemtype,'%');
1327: end if;
1328:
1329: if (multiconsumer) then
1330: dequeue_options.consumer_name := wf_queue.account_name;

Line 1330: dequeue_options.consumer_name := wf_queue.account_name;

1326: dequeue_options.correlation := wf_queue.account_name||nvl(itemtype,'%');
1327: end if;
1328:
1329: if (multiconsumer) then
1330: dequeue_options.consumer_name := wf_queue.account_name;
1331: end if;
1332:
1333: --execute first read
1334: dequeue_options.navigation := dbms_aq.FIRST_MESSAGE;

Line 1434: 'wf.plsql.WF_QUEUE.DequeueException.queue_empty',

1430: exception
1431: when no_messages then
1432: if (wf_log_pkg.level_event >= fnd_log.g_current_runtime_level) then
1433: wf_log_pkg.string(wf_log_pkg.level_event,
1434: 'wf.plsql.WF_QUEUE.DequeueException.queue_empty',
1435: 'No more messages in ExceptionDequeue.');
1436: end if;
1437: exit;
1438: end;

Line 1442: Wf_Core.Context('Wf_Queue', 'DequeueException',queuename);

1438: end;
1439: end loop;
1440: exception
1441: when others then
1442: Wf_Core.Context('Wf_Queue', 'DequeueException',queuename);
1443: raise;
1444: end DequeueException;
1445: --=============================================================
1446: -- Declare all developer APIs for Inbound queue manipulation

Line 1456: wf_queue.stck_itemtype(1) := '';

1452: -- Clears runtime cache
1453: procedure ClearMsgStack
1454: is
1455: begin
1456: wf_queue.stck_itemtype(1) := '';
1457: wf_queue.stck_itemkey(1) := '';
1458: wf_queue.stck_actid(1) := 0;
1459: wf_queue.stck_ctr := 0;
1460: exception

Line 1457: wf_queue.stck_itemkey(1) := '';

1453: procedure ClearMsgStack
1454: is
1455: begin
1456: wf_queue.stck_itemtype(1) := '';
1457: wf_queue.stck_itemkey(1) := '';
1458: wf_queue.stck_actid(1) := 0;
1459: wf_queue.stck_ctr := 0;
1460: exception
1461: when others then

Line 1458: wf_queue.stck_actid(1) := 0;

1454: is
1455: begin
1456: wf_queue.stck_itemtype(1) := '';
1457: wf_queue.stck_itemkey(1) := '';
1458: wf_queue.stck_actid(1) := 0;
1459: wf_queue.stck_ctr := 0;
1460: exception
1461: when others then
1462: Wf_Core.Context('Wf_Queue', 'ClearMsgStack');

Line 1459: wf_queue.stck_ctr := 0;

1455: begin
1456: wf_queue.stck_itemtype(1) := '';
1457: wf_queue.stck_itemkey(1) := '';
1458: wf_queue.stck_actid(1) := 0;
1459: wf_queue.stck_ctr := 0;
1460: exception
1461: when others then
1462: Wf_Core.Context('Wf_Queue', 'ClearMsgStack');
1463: raise;

Line 1462: Wf_Core.Context('Wf_Queue', 'ClearMsgStack');

1458: wf_queue.stck_actid(1) := 0;
1459: wf_queue.stck_ctr := 0;
1460: exception
1461: when others then
1462: Wf_Core.Context('Wf_Queue', 'ClearMsgStack');
1463: raise;
1464: end ClearMsgStack;
1465:
1466:

Line 1477: i := wf_queue.SearchMsgStack(itemtype,itemkey,actid);

1473: is
1474: i pls_integer;
1475: begin
1476:
1477: i := wf_queue.SearchMsgStack(itemtype,itemkey,actid);
1478:
1479: wf_queue.EnqueueInbound(
1480: itemtype=>wf_queue.stck_itemtype(i),
1481: itemkey =>wf_queue.stck_itemkey(i),

Line 1479: wf_queue.EnqueueInbound(

1475: begin
1476:
1477: i := wf_queue.SearchMsgStack(itemtype,itemkey,actid);
1478:
1479: wf_queue.EnqueueInbound(
1480: itemtype=>wf_queue.stck_itemtype(i),
1481: itemkey =>wf_queue.stck_itemkey(i),
1482: actid =>wf_queue.stck_actid(i),
1483: result =>wf_queue.stck_result(i),

Line 1480: itemtype=>wf_queue.stck_itemtype(i),

1476:
1477: i := wf_queue.SearchMsgStack(itemtype,itemkey,actid);
1478:
1479: wf_queue.EnqueueInbound(
1480: itemtype=>wf_queue.stck_itemtype(i),
1481: itemkey =>wf_queue.stck_itemkey(i),
1482: actid =>wf_queue.stck_actid(i),
1483: result =>wf_queue.stck_result(i),
1484: attrlist=>wf_queue.stck_attrlist(i));

Line 1481: itemkey =>wf_queue.stck_itemkey(i),

1477: i := wf_queue.SearchMsgStack(itemtype,itemkey,actid);
1478:
1479: wf_queue.EnqueueInbound(
1480: itemtype=>wf_queue.stck_itemtype(i),
1481: itemkey =>wf_queue.stck_itemkey(i),
1482: actid =>wf_queue.stck_actid(i),
1483: result =>wf_queue.stck_result(i),
1484: attrlist=>wf_queue.stck_attrlist(i));
1485:

Line 1482: actid =>wf_queue.stck_actid(i),

1478:
1479: wf_queue.EnqueueInbound(
1480: itemtype=>wf_queue.stck_itemtype(i),
1481: itemkey =>wf_queue.stck_itemkey(i),
1482: actid =>wf_queue.stck_actid(i),
1483: result =>wf_queue.stck_result(i),
1484: attrlist=>wf_queue.stck_attrlist(i));
1485:
1486:

Line 1483: result =>wf_queue.stck_result(i),

1479: wf_queue.EnqueueInbound(
1480: itemtype=>wf_queue.stck_itemtype(i),
1481: itemkey =>wf_queue.stck_itemkey(i),
1482: actid =>wf_queue.stck_actid(i),
1483: result =>wf_queue.stck_result(i),
1484: attrlist=>wf_queue.stck_attrlist(i));
1485:
1486:
1487: exception

Line 1484: attrlist=>wf_queue.stck_attrlist(i));

1480: itemtype=>wf_queue.stck_itemtype(i),
1481: itemkey =>wf_queue.stck_itemkey(i),
1482: actid =>wf_queue.stck_actid(i),
1483: result =>wf_queue.stck_result(i),
1484: attrlist=>wf_queue.stck_attrlist(i));
1485:
1486:
1487: exception
1488: when others then

Line 1489: Wf_Core.Context('Wf_Queue', 'WriteMsg');

1485:
1486:
1487: exception
1488: when others then
1489: Wf_Core.Context('Wf_Queue', 'WriteMsg');
1490: raise;
1491:
1492: end WriteMsg;
1493:

Line 1505: i := wf_queue.SearchMsgStack(itemtype,itemkey,actid);

1501: is
1502: i pls_integer;
1503: begin
1504:
1505: i := wf_queue.SearchMsgStack(itemtype,itemkey,actid);
1506:
1507: exception
1508: when others then
1509: Wf_Core.Context('Wf_Queue', 'CreateMsg');

Line 1509: Wf_Core.Context('Wf_Queue', 'CreateMsg');

1505: i := wf_queue.SearchMsgStack(itemtype,itemkey,actid);
1506:
1507: exception
1508: when others then
1509: Wf_Core.Context('Wf_Queue', 'CreateMsg');
1510: raise;
1511:
1512: end CreateMsg;
1513:

Line 1530: if wf_queue.stck_attrlist(i) is null then

1526: i pls_integer;
1527: begin
1528: i := SearchMsgStack (itemtype, itemkey, actid);
1529:
1530: if wf_queue.stck_attrlist(i) is null then
1531: wf_queue.stck_attrlist(i) := upper(attrName)||'='||AttrValue;
1532: else
1533: wf_queue.stck_attrlist(i) :=
1534: wf_queue.stck_attrlist(i) ||'^'||attrName||'='||AttrValue;

Line 1531: wf_queue.stck_attrlist(i) := upper(attrName)||'='||AttrValue;

1527: begin
1528: i := SearchMsgStack (itemtype, itemkey, actid);
1529:
1530: if wf_queue.stck_attrlist(i) is null then
1531: wf_queue.stck_attrlist(i) := upper(attrName)||'='||AttrValue;
1532: else
1533: wf_queue.stck_attrlist(i) :=
1534: wf_queue.stck_attrlist(i) ||'^'||attrName||'='||AttrValue;
1535: end if;

Line 1533: wf_queue.stck_attrlist(i) :=

1529:
1530: if wf_queue.stck_attrlist(i) is null then
1531: wf_queue.stck_attrlist(i) := upper(attrName)||'='||AttrValue;
1532: else
1533: wf_queue.stck_attrlist(i) :=
1534: wf_queue.stck_attrlist(i) ||'^'||attrName||'='||AttrValue;
1535: end if;
1536:
1537: exception

Line 1534: wf_queue.stck_attrlist(i) ||'^'||attrName||'='||AttrValue;

1530: if wf_queue.stck_attrlist(i) is null then
1531: wf_queue.stck_attrlist(i) := upper(attrName)||'='||AttrValue;
1532: else
1533: wf_queue.stck_attrlist(i) :=
1534: wf_queue.stck_attrlist(i) ||'^'||attrName||'='||AttrValue;
1535: end if;
1536:
1537: exception
1538: when others then

Line 1539: Wf_Core.Context('Wf_Queue', 'SetMsgAttr',

1535: end if;
1536:
1537: exception
1538: when others then
1539: Wf_Core.Context('Wf_Queue', 'SetMsgAttr',
1540: itemtype, itemkey, actid, to_char(stck_ctr));
1541: raise;
1542: end SetMsgAttr;
1543:

Line 1557: wf_queue.stck_result(i) :=result;

1553: i pls_integer;
1554: begin
1555: i := SearchMsgStack (itemtype, itemkey, actid);
1556:
1557: wf_queue.stck_result(i) :=result;
1558:
1559: exception
1560: when others then
1561: Wf_Core.Context('Wf_Queue', 'AddResult',

Line 1561: Wf_Core.Context('Wf_Queue', 'AddResult',

1557: wf_queue.stck_result(i) :=result;
1558:
1559: exception
1560: when others then
1561: Wf_Core.Context('Wf_Queue', 'AddResult',
1562: itemtype, itemkey, actid, to_char(stck_ctr));
1563: raise;
1564: end SetMsgResult;
1565:

Line 1582: wf_queue.stck_ctr := wf_queue.stck_ctr + 1;

1578: is
1579: begin
1580:
1581: -- Add the process to the stack
1582: wf_queue.stck_ctr := wf_queue.stck_ctr + 1;
1583: wf_queue.stck_itemtype(wf_queue.stck_ctr) := itemtype;
1584: wf_queue.stck_itemkey(wf_queue.stck_ctr) := itemkey;
1585: wf_queue.stck_actid(wf_queue.stck_ctr) := actid;
1586: wf_queue.stck_result(wf_queue.stck_ctr) := null;

Line 1583: wf_queue.stck_itemtype(wf_queue.stck_ctr) := itemtype;

1579: begin
1580:
1581: -- Add the process to the stack
1582: wf_queue.stck_ctr := wf_queue.stck_ctr + 1;
1583: wf_queue.stck_itemtype(wf_queue.stck_ctr) := itemtype;
1584: wf_queue.stck_itemkey(wf_queue.stck_ctr) := itemkey;
1585: wf_queue.stck_actid(wf_queue.stck_ctr) := actid;
1586: wf_queue.stck_result(wf_queue.stck_ctr) := null;
1587: wf_queue.stck_AttrList(wf_queue.stck_ctr) := null;

Line 1584: wf_queue.stck_itemkey(wf_queue.stck_ctr) := itemkey;

1580:
1581: -- Add the process to the stack
1582: wf_queue.stck_ctr := wf_queue.stck_ctr + 1;
1583: wf_queue.stck_itemtype(wf_queue.stck_ctr) := itemtype;
1584: wf_queue.stck_itemkey(wf_queue.stck_ctr) := itemkey;
1585: wf_queue.stck_actid(wf_queue.stck_ctr) := actid;
1586: wf_queue.stck_result(wf_queue.stck_ctr) := null;
1587: wf_queue.stck_AttrList(wf_queue.stck_ctr) := null;
1588:

Line 1585: wf_queue.stck_actid(wf_queue.stck_ctr) := actid;

1581: -- Add the process to the stack
1582: wf_queue.stck_ctr := wf_queue.stck_ctr + 1;
1583: wf_queue.stck_itemtype(wf_queue.stck_ctr) := itemtype;
1584: wf_queue.stck_itemkey(wf_queue.stck_ctr) := itemkey;
1585: wf_queue.stck_actid(wf_queue.stck_ctr) := actid;
1586: wf_queue.stck_result(wf_queue.stck_ctr) := null;
1587: wf_queue.stck_AttrList(wf_queue.stck_ctr) := null;
1588:
1589: exception

Line 1586: wf_queue.stck_result(wf_queue.stck_ctr) := null;

1582: wf_queue.stck_ctr := wf_queue.stck_ctr + 1;
1583: wf_queue.stck_itemtype(wf_queue.stck_ctr) := itemtype;
1584: wf_queue.stck_itemkey(wf_queue.stck_ctr) := itemkey;
1585: wf_queue.stck_actid(wf_queue.stck_ctr) := actid;
1586: wf_queue.stck_result(wf_queue.stck_ctr) := null;
1587: wf_queue.stck_AttrList(wf_queue.stck_ctr) := null;
1588:
1589: exception
1590: when others then

Line 1587: wf_queue.stck_AttrList(wf_queue.stck_ctr) := null;

1583: wf_queue.stck_itemtype(wf_queue.stck_ctr) := itemtype;
1584: wf_queue.stck_itemkey(wf_queue.stck_ctr) := itemkey;
1585: wf_queue.stck_actid(wf_queue.stck_ctr) := actid;
1586: wf_queue.stck_result(wf_queue.stck_ctr) := null;
1587: wf_queue.stck_AttrList(wf_queue.stck_ctr) := null;
1588:
1589: exception
1590: when others then
1591: Wf_Core.Context('Wf_Queue', 'AddNewMsg',

Line 1591: Wf_Core.Context('Wf_Queue', 'AddNewMsg',

1587: wf_queue.stck_AttrList(wf_queue.stck_ctr) := null;
1588:
1589: exception
1590: when others then
1591: Wf_Core.Context('Wf_Queue', 'AddNewMsg',
1592: itemtype, itemkey, actid, to_char(stck_ctr));
1593: raise;
1594: end AddNewMsg;
1595:

Line 1610: if ( nvl(wf_queue.stck_ctr, 0) > 0) then

1606: i pls_integer;
1607:
1608: begin
1609:
1610: if ( nvl(wf_queue.stck_ctr, 0) > 0) then
1611: for i in reverse 1 .. wf_queue.stck_ctr loop
1612: if ((itemtype = wf_queue.stck_itemtype(i)) and
1613: (itemkey = wf_queue.stck_itemkey(i)) and
1614: (actid = wf_queue.stck_actid(i))) then

Line 1611: for i in reverse 1 .. wf_queue.stck_ctr loop

1607:
1608: begin
1609:
1610: if ( nvl(wf_queue.stck_ctr, 0) > 0) then
1611: for i in reverse 1 .. wf_queue.stck_ctr loop
1612: if ((itemtype = wf_queue.stck_itemtype(i)) and
1613: (itemkey = wf_queue.stck_itemkey(i)) and
1614: (actid = wf_queue.stck_actid(i))) then
1615: -- Found a match.

Line 1612: if ((itemtype = wf_queue.stck_itemtype(i)) and

1608: begin
1609:
1610: if ( nvl(wf_queue.stck_ctr, 0) > 0) then
1611: for i in reverse 1 .. wf_queue.stck_ctr loop
1612: if ((itemtype = wf_queue.stck_itemtype(i)) and
1613: (itemkey = wf_queue.stck_itemkey(i)) and
1614: (actid = wf_queue.stck_actid(i))) then
1615: -- Found a match.
1616: return(i);

Line 1613: (itemkey = wf_queue.stck_itemkey(i)) and

1609:
1610: if ( nvl(wf_queue.stck_ctr, 0) > 0) then
1611: for i in reverse 1 .. wf_queue.stck_ctr loop
1612: if ((itemtype = wf_queue.stck_itemtype(i)) and
1613: (itemkey = wf_queue.stck_itemkey(i)) and
1614: (actid = wf_queue.stck_actid(i))) then
1615: -- Found a match.
1616: return(i);
1617: end if;

Line 1614: (actid = wf_queue.stck_actid(i))) then

1610: if ( nvl(wf_queue.stck_ctr, 0) > 0) then
1611: for i in reverse 1 .. wf_queue.stck_ctr loop
1612: if ((itemtype = wf_queue.stck_itemtype(i)) and
1613: (itemkey = wf_queue.stck_itemkey(i)) and
1614: (actid = wf_queue.stck_actid(i))) then
1615: -- Found a match.
1616: return(i);
1617: end if;
1618: end loop;

Line 1656: from wf_queues wfq

1652: select wfq.protocol,
1653: wfq.inbound_outbound,
1654: wfq.description,
1655: wfq.queue_count
1656: from wf_queues wfq
1657: where NVL(wfq.disable_flag, 'N') = 'N'
1658: order by wfq.protocol, wfq.inbound_outbound;
1659:
1660: rowcount number;

Line 1738: '/wf_queue.generic_queue_edit?p_protocol='||

1734:
1735:
1736: htp.tableData(htf.anchor2(
1737: curl=>wfa_html.base_url||
1738: '/wf_queue.generic_queue_edit?p_protocol='||
1739: queues.protocol||'&p_inbound_outbound='||
1740: queues.inbound_outbound,
1741: ctext=>queues.protocol, ctarget=>'_top'),
1742: 'Left',

Line 1756: '/wf_queue.Generic_Queue_View_Detail?p_protocol='||

1752: htp.tableData(queues.queue_count, 'left',
1753: cattributes=>'headers="' || wf_core.translate('QUEUE_COUNT') || '"');
1754:
1755: htp.tableData(htf.anchor2(curl=>wfa_html.base_url||
1756: '/wf_queue.Generic_Queue_View_Detail?p_protocol='||
1757: queues.protocol||'&p_inbound_outbound='||
1758: queues.inbound_outbound,
1759: ctext=>''||wf_core.translate('FIND') || ''),
1760: 'center', cattributes=>'valign="MIDDLE"

Line 1764: '/wf_queue.generic_queue_confirm_delete?p_protocol='||

1760: 'center', cattributes=>'valign="MIDDLE"
1761: headers="' || wf_core.translate('VIEW_DETAIL') || '"');
1762:
1763: htp.tableData(htf.anchor2(curl=>wfa_html.base_url||
1764: '/wf_queue.generic_queue_confirm_delete?p_protocol='||
1765: queues.protocol||'&p_inbound_outbound='||
1766: queues.inbound_outbound,
1767: ctext=>'' || wf_core.translate('WFRTG_DELETE') || ''),
1768: 'center', cattributes=>'valign="MIDDLE"

Line 1783: l_url := wfa_html.base_url||'/wf_queue.generic_queue_edit';

1779:
1780: --Add new node Button
1781: htp.tableRowOpen;
1782:
1783: l_url := wfa_html.base_url||'/wf_queue.generic_queue_edit';
1784: l_icon := 'FNDJLFOK.gif';
1785: l_text := wf_core.translate ('WFQUEUE_CREATE');
1786: l_onmouseover := wf_core.translate ('WFQUEUE_CREATE');
1787:

Line 1869: FROM wf_queues

1865: END IF;
1866:
1867: SELECT queue_count
1868: INTO l_count
1869: FROM wf_queues
1870: WHERE UPPER(p_protocol) = protocol
1871: AND p_inbound_outbound = inbound_outbound;
1872:
1873: -- Column headers

Line 1934: '/wf_queue.generic_queue_display_contents?p_protocol='||

1930: htp.tableData(to_char(l_count), 'left', cattributes=>'headers="' ||
1931: wf_core.translate('QUEUE_COUNT') || '"');
1932:
1933: htp.tableData(htf.anchor2(curl=>wfa_html.base_url||
1934: '/wf_queue.generic_queue_display_contents?p_protocol='||
1935: p_protocol||'&p_inbound_outbound='||
1936: p_inbound_outbound||'&p_queue_number='||
1937: to_char(ii)||'&p_message_number=1',
1938: ctext=>'' || wf_core.translate('FIND') || ''),

Line 2026: htp.p('
');

2022: END IF;
2023:
2024: htp.tableopen(calign=>'CENTER',cattributes=>'summary=""');
2025:
2026: htp.p('');
2027:
2028: /*
2029: ** Create a page with a form field with the message payload
2030: */

Line 2114: '/wf_queue.generic_queue_display_contents'||

2110:
2111: htp.tableRowOpen;
2112:
2113: l_url := wfa_html.base_url||
2114: '/wf_queue.generic_queue_display_contents'||
2115: '?p_protocol='||p_protocol||
2116: '&p_inbound_outbound='||p_inbound_outbound||
2117: '&p_queue_number='||to_char(p_queue_number)||
2118: '&p_message_number='||to_char(p_message_number + 1);

Line 2133: '/wf_queue.generic_queue_display_contents'||

2129:
2130: if (p_message_number > 1) then
2131:
2132: l_url := wfa_html.base_url||
2133: '/wf_queue.generic_queue_display_contents'||
2134: '?p_protocol='||p_protocol||
2135: '&p_inbound_outbound='||p_inbound_outbound||
2136: '&p_queue_number='||to_char(p_queue_number)||
2137: '&p_message_number='||to_char(p_message_number - 1);

Line 2161: Wf_Core.Context('Wf_Queue', 'generic_queue_display_contents',

2157: htp.htmlClose;
2158:
2159: exception
2160: when others then
2161: Wf_Core.Context('Wf_Queue', 'generic_queue_display_contents',
2162: p_protocol, p_inbound_outbound);
2163: raise;
2164:
2165: end generic_queue_display_contents;

Line 2216: FROM wf_queues

2212: SELECT description,
2213: queue_count
2214: INTO l_description,
2215: l_queue_count
2216: FROM wf_queues
2217: WHERE protocol = p_protocol
2218: AND inbound_outbound = p_inbound_outbound;
2219:
2220: END IF;

Line 2244: htp.p('');

2240: END IF;
2241:
2242: htp.tableopen(calign=>'CENTER',cattributes=>'summary="' || wf_core.translate('WFQUEUE_EDIT_QUEUE_TITLE') || '"');
2243:
2244: htp.p('');
2245:
2246: -- Protocol Name
2247: htp.tableRowOpen;
2248: htp.tableData(cvalue=>'

Line 2422: Wf_Core.Context('Wf_Queue', 'generic_queue_delete_check',

2418: end loop;
2419:
2420: exception
2421: when others then
2422: Wf_Core.Context('Wf_Queue', 'generic_queue_delete_check',
2423: p_protocol, p_inbound_outbound);
2424: raise;
2425:
2426: end generic_queue_delete_check;

Line 2467: Wf_Core.Context('Wf_Queue', 'generic_queue_delete_queues',

2463: end loop;
2464:
2465: exception
2466: when others then
2467: Wf_Core.Context('Wf_Queue', 'generic_queue_delete_queues',
2468: p_protocol, p_inbound_outbound);
2469: raise;
2470:
2471: end generic_queue_delete_queues;

Line 2527: FROM wf_queues

2523: IF (p_original_protocol IS NULL) THEN
2524:
2525: SELECT count(1)
2526: INTO l_count
2527: FROM wf_queues
2528: WHERE UPPER(p_protocol) = protocol
2529: AND p_inbound_outbound = inbound_outbound;
2530:
2531: if (l_count > 0) then

Line 2544: '/wf_queue.generic_queue_edit';

2540:
2541: htp.tableRowOpen;
2542:
2543: l_url := wfa_html.base_url||
2544: '/wf_queue.generic_queue_edit';
2545: l_icon := 'FNDJLFOK.gif';
2546: l_text := wf_core.translate ('WFMON_OK');
2547: l_onmouseover := wf_core.translate ('WFMON_OK');
2548:

Line 2561: wf_queue.create_generic_queue (p_protocol=>p_protocol,

2557: return;
2558:
2559: else
2560:
2561: wf_queue.create_generic_queue (p_protocol=>p_protocol,
2562: p_inbound_outbound => p_inbound_outbound,
2563: p_description => p_description,
2564: p_queue_count => to_number(p_queue_count));
2565:

Line 2572: wf_queue.update_generic_queue (p_protocol=>p_protocol,

2568: else
2569: null;
2570:
2571: /*
2572: wf_queue.update_generic_queue (p_protocol=>p_protocol,
2573: p_inbound_outbound => p_inbound_outbound,
2574: p_description => p_description,
2575: p_queue_count => to_number(p_queue_count),
2576: p_original_protocol=> p_original_protocol,

Line 2585: '/wf_queue.Generic_Queue_Display',

2581:
2582:
2583: -- use owa_util.redirect_url to redirect the URL to the home page
2584: owa_util.redirect_url(curl=>wfa_html.base_url ||
2585: '/wf_queue.Generic_Queue_Display',
2586: bclose_header=>TRUE);
2587:
2588:
2589: exception

Line 2616: from wf_queues wfq

2612: ** Check to see if the queue name already exists
2613: */
2614: select count(1)
2615: into l_count
2616: from wf_queues wfq
2617: where wfq.protocol = p_protocol
2618: and wfq.inbound_outbound = p_inbound_outbound;
2619:
2620: /*

Line 2666: ** Create an entry in WF_QUEUES table

2662:
2663: end loop;
2664:
2665: /*
2666: ** Create an entry in WF_QUEUES table
2667: */
2668: insert into wf_queues
2669: (protocol,
2670: inbound_outbound,

Line 2668: insert into wf_queues

2664:
2665: /*
2666: ** Create an entry in WF_QUEUES table
2667: */
2668: insert into wf_queues
2669: (protocol,
2670: inbound_outbound,
2671: description,
2672: queue_count,

Line 2683: Wf_Core.Context('Wf_Queue', 'create_generic_queue', p_protocol,

2679: 'N');
2680:
2681: exception
2682: when others then
2683: Wf_Core.Context('Wf_Queue', 'create_generic_queue', p_protocol,
2684: p_inbound_outbound);
2685: raise;
2686:
2687: end create_generic_queue;

Line 2708: from wf_queues wfq

2704: begin
2705:
2706: select queue_count
2707: into l_queue_count
2708: from wf_queues wfq
2709: where wfq.protocol = p_protocol
2710: and wfq.inbound_outbound = p_inbound_outbound;
2711:
2712: exception

Line 2724: wf_queue.generic_queue_delete_check (p_protocol, p_inbound_outbound,

2720:
2721: /*
2722: ** Make sure the queues are empty
2723: */
2724: wf_queue.generic_queue_delete_check (p_protocol, p_inbound_outbound,
2725: 1, l_queue_count);
2726:
2727: /*
2728: ** Delete the queues and queue tables

Line 2730: wf_queue.generic_queue_delete_queues(p_protocol, p_inbound_outbound,

2726:
2727: /*
2728: ** Delete the queues and queue tables
2729: */
2730: wf_queue.generic_queue_delete_queues(p_protocol, p_inbound_outbound,
2731: 1, l_queue_count);
2732:
2733: /*
2734: ** delete an entry in WF_QUEUES table

Line 2734: ** delete an entry in WF_QUEUES table

2730: wf_queue.generic_queue_delete_queues(p_protocol, p_inbound_outbound,
2731: 1, l_queue_count);
2732:
2733: /*
2734: ** delete an entry in WF_QUEUES table
2735: */
2736: delete from wf_queues
2737: where protocol = p_protocol
2738: and inbound_outbound = p_inbound_outbound;

Line 2736: delete from wf_queues

2732:
2733: /*
2734: ** delete an entry in WF_QUEUES table
2735: */
2736: delete from wf_queues
2737: where protocol = p_protocol
2738: and inbound_outbound = p_inbound_outbound;
2739:
2740: exception

Line 2742: Wf_Core.Context('Wf_Queue', 'delele_generic_queue', p_protocol,

2738: and inbound_outbound = p_inbound_outbound;
2739:
2740: exception
2741: when others then
2742: Wf_Core.Context('Wf_Queue', 'delele_generic_queue', p_protocol,
2743: p_inbound_outbound);
2744: raise;
2745:
2746: end delete_generic_queue;

Line 2766: from wf_queues

2762: l_queue_name varchar2(30) := null;
2763:
2764: cursor get_queues is
2765: select protocol, inbound_outbound, queue_count
2766: from wf_queues
2767: order by protocol, inbound_outbound;
2768:
2769: begin
2770:

Line 2775: if (wf_queue.queue_names_index.count < 1) then

2771: /*
2772: ** Check to see if queues loaded into memory. If they are not
2773: ** already loaded
2774: */
2775: if (wf_queue.queue_names_index.count < 1) then
2776:
2777: -- Show all nodes
2778: for wf_queues_list in get_queues loop
2779:

Line 2778: for wf_queues_list in get_queues loop

2774: */
2775: if (wf_queue.queue_names_index.count < 1) then
2776:
2777: -- Show all nodes
2778: for wf_queues_list in get_queues loop
2779:
2780: wf_queue.queue_names_index(ii).protocol := wf_queues_list.protocol;
2781: wf_queue.queue_names_index(ii).inbound_outbound := wf_queues_list.inbound_outbound;
2782: wf_queue.queue_names_index(ii).queue_count := wf_queues_list.queue_count;

Line 2780: wf_queue.queue_names_index(ii).protocol := wf_queues_list.protocol;

2776:
2777: -- Show all nodes
2778: for wf_queues_list in get_queues loop
2779:
2780: wf_queue.queue_names_index(ii).protocol := wf_queues_list.protocol;
2781: wf_queue.queue_names_index(ii).inbound_outbound := wf_queues_list.inbound_outbound;
2782: wf_queue.queue_names_index(ii).queue_count := wf_queues_list.queue_count;
2783:
2784: ii := ii + 1;

Line 2781: wf_queue.queue_names_index(ii).inbound_outbound := wf_queues_list.inbound_outbound;

2777: -- Show all nodes
2778: for wf_queues_list in get_queues loop
2779:
2780: wf_queue.queue_names_index(ii).protocol := wf_queues_list.protocol;
2781: wf_queue.queue_names_index(ii).inbound_outbound := wf_queues_list.inbound_outbound;
2782: wf_queue.queue_names_index(ii).queue_count := wf_queues_list.queue_count;
2783:
2784: ii := ii + 1;
2785:

Line 2782: wf_queue.queue_names_index(ii).queue_count := wf_queues_list.queue_count;

2778: for wf_queues_list in get_queues loop
2779:
2780: wf_queue.queue_names_index(ii).protocol := wf_queues_list.protocol;
2781: wf_queue.queue_names_index(ii).inbound_outbound := wf_queues_list.inbound_outbound;
2782: wf_queue.queue_names_index(ii).queue_count := wf_queues_list.queue_count;
2783:
2784: ii := ii + 1;
2785:
2786: end loop;

Line 2791: for ii in 1..wf_queue.queue_names_index.count loop

2787:
2788: end if;
2789:
2790: -- Go find the locator in the queue list that matches the request
2791: for ii in 1..wf_queue.queue_names_index.count loop
2792:
2793: if (wf_queue.queue_names_index(ii).protocol = p_protocol AND
2794: wf_queue.queue_names_index(ii).inbound_outbound = p_inbound_outbound) THEN
2795:

Line 2793: if (wf_queue.queue_names_index(ii).protocol = p_protocol AND

2789:
2790: -- Go find the locator in the queue list that matches the request
2791: for ii in 1..wf_queue.queue_names_index.count loop
2792:
2793: if (wf_queue.queue_names_index(ii).protocol = p_protocol AND
2794: wf_queue.queue_names_index(ii).inbound_outbound = p_inbound_outbound) THEN
2795:
2796: -- If there is more than 1 queue then choose the queue based on a random
2797: -- number generator

Line 2794: wf_queue.queue_names_index(ii).inbound_outbound = p_inbound_outbound) THEN

2790: -- Go find the locator in the queue list that matches the request
2791: for ii in 1..wf_queue.queue_names_index.count loop
2792:
2793: if (wf_queue.queue_names_index(ii).protocol = p_protocol AND
2794: wf_queue.queue_names_index(ii).inbound_outbound = p_inbound_outbound) THEN
2795:
2796: -- If there is more than 1 queue then choose the queue based on a random
2797: -- number generator
2798: if (wf_queue.queue_names_index(ii).queue_count > 1) then

Line 2798: if (wf_queue.queue_names_index(ii).queue_count > 1) then

2794: wf_queue.queue_names_index(ii).inbound_outbound = p_inbound_outbound) THEN
2795:
2796: -- If there is more than 1 queue then choose the queue based on a random
2797: -- number generator
2798: if (wf_queue.queue_names_index(ii).queue_count > 1) then
2799:
2800: l_index := mod(to_number(wf_core.random), wf_queue.queue_names_index(ii).queue_count) + 1;
2801:
2802: else

Line 2800: l_index := mod(to_number(wf_core.random), wf_queue.queue_names_index(ii).queue_count) + 1;

2796: -- If there is more than 1 queue then choose the queue based on a random
2797: -- number generator
2798: if (wf_queue.queue_names_index(ii).queue_count > 1) then
2799:
2800: l_index := mod(to_number(wf_core.random), wf_queue.queue_names_index(ii).queue_count) + 1;
2801:
2802: else
2803:
2804: l_index := 1;

Line 2821: Wf_Core.Context('Wf_Queue', 'get_hash_generic_queue',

2817: end if;
2818:
2819: exception
2820: when others then
2821: Wf_Core.Context('Wf_Queue', 'get_hash_generic_queue',
2822: p_protocol, p_inbound_outbound);
2823: raise;
2824:
2825: end get_hash_queue_name;

Line 2877: WF_CORE.Context('WF_QUEUE','Enable_Exception_Queue',p_queue_name);

2873: return l_exception_queue;
2874:
2875: exception
2876: when others then
2877: WF_CORE.Context('WF_QUEUE','Enable_Exception_Queue',p_queue_name);
2878: raise;
2879:
2880: end enable_Exception_Queue;
2881:

Line 2900: Wf_Core.Context('WF_QUEUE','AddSubscriber',queuename, name);

2896: );
2897:
2898: exception
2899: when OTHERS then
2900: Wf_Core.Context('WF_QUEUE','AddSubscriber',queuename, name);
2901: raise;
2902: end AddSubscriber;
2903:
2904: -- Bug 2307428

Line 2921: if (wf_queue.name_init = FALSE) then

2917: AND ((trim(enqueue_enabled) = 'NO') OR (trim(dequeue_enabled) = 'NO'));
2918:
2919: begin
2920: --If the queue names haven't been set,initialise them
2921: if (wf_queue.name_init = FALSE) then
2922: wf_queue.set_queue_names;
2923: end if;
2924:
2925: --Obtain the schema

Line 2922: wf_queue.set_queue_names;

2918:
2919: begin
2920: --If the queue names haven't been set,initialise them
2921: if (wf_queue.name_init = FALSE) then
2922: wf_queue.set_queue_names;
2923: end if;
2924:
2925: --Obtain the schema
2926: schema := wf_core.translate('WF_SCHEMA');

Line 2929: queue_name := substr(wf_queue.deferred_queue_name,length(schema)+2);

2925: --Obtain the schema
2926: schema := wf_core.translate('WF_SCHEMA');
2927:
2928: --Enable deferred queue
2929: queue_name := substr(wf_queue.deferred_queue_name,length(schema)+2);
2930: OPEN q_disabled (schema, queue_name);
2931: LOOP
2932: FETCH q_disabled into l_qname;
2933: EXIT WHEN q_disabled%NOTFOUND;

Line 2934: DBMS_AQADM.START_QUEUE(wf_queue.deferred_queue_name);

2930: OPEN q_disabled (schema, queue_name);
2931: LOOP
2932: FETCH q_disabled into l_qname;
2933: EXIT WHEN q_disabled%NOTFOUND;
2934: DBMS_AQADM.START_QUEUE(wf_queue.deferred_queue_name);
2935: END LOOP;
2936: CLOSE q_disabled;
2937:
2938: --Enable inbound queue

Line 2939: queue_name := substr(wf_queue.inbound_queue_name,length(schema)+2);

2935: END LOOP;
2936: CLOSE q_disabled;
2937:
2938: --Enable inbound queue
2939: queue_name := substr(wf_queue.inbound_queue_name,length(schema)+2);
2940: OPEN q_disabled (schema, queue_name);
2941: LOOP
2942: FETCH q_disabled into l_qname;
2943: EXIT WHEN q_disabled%NOTFOUND;

Line 2944: DBMS_AQADM.START_QUEUE(wf_queue.inbound_queue_name);

2940: OPEN q_disabled (schema, queue_name);
2941: LOOP
2942: FETCH q_disabled into l_qname;
2943: EXIT WHEN q_disabled%NOTFOUND;
2944: DBMS_AQADM.START_QUEUE(wf_queue.inbound_queue_name);
2945: END LOOP;
2946: CLOSE q_disabled;
2947: exception
2948: when others then

Line 2949: Wf_core.Context('WF_QUEUE','EnableBackgroundQueues');

2945: END LOOP;
2946: CLOSE q_disabled;
2947: exception
2948: when others then
2949: Wf_core.Context('WF_QUEUE','EnableBackgroundQueues');
2950: raise;
2951: end EnableBackgroundQueues;
2952: -- ====================================================================
2953: -- get Count Message States (PUBLIC)

Line 3102: Wf_Core.Context('WF_QUEUE','getCntMsgSt',p_agent);

3098: then
3099: close l_cntmsgst;
3100: end if;
3101:
3102: Wf_Core.Context('WF_QUEUE','getCntMsgSt',p_agent);
3103: raise;
3104: end getCntMsgSt;
3105:
3106: --

Line 3442: Wf_core.Context('WF_QUEUE', 'Clean_evt', p_agent_name,

3438: p_msg_count := p_msg_count + l_xcount;
3439:
3440: exception
3441: when others then
3442: Wf_core.Context('WF_QUEUE', 'Clean_evt', p_agent_name,
3443: p_correlation, to_char(p_commit_frequency));
3444: raise;
3445: end clean_evt;
3446:

Line 3649: Wf_core.Context('WF_QUEUE', 'Clean_evt', p_agent_name, p_correlation,

3645: p_msg_count := p_msg_count + l_xcount;
3646:
3647: exception
3648: when others then
3649: Wf_core.Context('WF_QUEUE', 'Clean_evt', p_agent_name, p_correlation,
3650: to_char(p_commit_frequency), to_char(p_age));
3651: raise;
3652: end clean_evt;
3653: --------------------------------------------------------------------------------

Line 3658: wf_queue.g_defer_occurrence := 100;

3654: /*
3655: ** Bug 4005674 - Populate Continuous Loop Global Variables
3656: */
3657: begin
3658: wf_queue.g_defer_occurrence := 100;
3659: wf_queue.g_add_delay_seconds := 300;
3660: wf_queue.g_max_delay_seconds := 3600;
3661: --------------------------------------------------------------------------------
3662: end WF_QUEUE;

Line 3659: wf_queue.g_add_delay_seconds := 300;

3655: ** Bug 4005674 - Populate Continuous Loop Global Variables
3656: */
3657: begin
3658: wf_queue.g_defer_occurrence := 100;
3659: wf_queue.g_add_delay_seconds := 300;
3660: wf_queue.g_max_delay_seconds := 3600;
3661: --------------------------------------------------------------------------------
3662: end WF_QUEUE;

Line 3660: wf_queue.g_max_delay_seconds := 3600;

3656: */
3657: begin
3658: wf_queue.g_defer_occurrence := 100;
3659: wf_queue.g_add_delay_seconds := 300;
3660: wf_queue.g_max_delay_seconds := 3600;
3661: --------------------------------------------------------------------------------
3662: end WF_QUEUE;

Line 3662: end WF_QUEUE;

3658: wf_queue.g_defer_occurrence := 100;
3659: wf_queue.g_add_delay_seconds := 300;
3660: wf_queue.g_max_delay_seconds := 3600;
3661: --------------------------------------------------------------------------------
3662: end WF_QUEUE;