DBA Data[Home] [Help]

APPS.WF_QUEUE dependencies on DBMS_AQ

Line 296: dequeue_options dbms_aq.dequeue_options_t;

292: message_handle in raw,
293: multiconsumer in boolean default FALSE) as
294:
295: event system.wf_payload_t;
296: dequeue_options dbms_aq.dequeue_options_t;
297: message_properties dbms_aq.message_properties_t;
298: msg_id raw(16);
299: begin
300: if message_handle is not null then

Line 297: message_properties dbms_aq.message_properties_t;

293: multiconsumer in boolean default FALSE) as
294:
295: event system.wf_payload_t;
296: dequeue_options dbms_aq.dequeue_options_t;
297: message_properties dbms_aq.message_properties_t;
298: msg_id raw(16);
299: begin
300: if message_handle is not null then
301:

Line 302: dequeue_options.dequeue_mode := dbms_aq.REMOVE;

298: msg_id raw(16);
299: begin
300: if message_handle is not null then
301:
302: dequeue_options.dequeue_mode := dbms_aq.REMOVE;
303: dequeue_options.msgid := message_handle;
304: dequeue_options.wait := dbms_aq.NO_WAIT;
305: dequeue_options.navigation := dbms_aq.FIRST_MESSAGE;
306:

Line 304: dequeue_options.wait := dbms_aq.NO_WAIT;

300: if message_handle is not null then
301:
302: dequeue_options.dequeue_mode := dbms_aq.REMOVE;
303: dequeue_options.msgid := message_handle;
304: dequeue_options.wait := dbms_aq.NO_WAIT;
305: dequeue_options.navigation := dbms_aq.FIRST_MESSAGE;
306:
307: -- check if we need to have a consumer
308: if (multiconsumer) then

Line 305: dequeue_options.navigation := dbms_aq.FIRST_MESSAGE;

301:
302: dequeue_options.dequeue_mode := dbms_aq.REMOVE;
303: dequeue_options.msgid := message_handle;
304: dequeue_options.wait := dbms_aq.NO_WAIT;
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;

Line 312: dbms_aq.dequeue

308: if (multiconsumer) then
309: dequeue_options.consumer_name := wf_queue.account_name;
310: end if;
311:
312: dbms_aq.dequeue
313: (
314: queue_name => queuename,
315: dequeue_options => dequeue_options,
316: message_properties => message_properties,

Line 348: dequeue_options dbms_aq.dequeue_options_t;

344: itemtype in varchar2 default null,
345: correlation in varchar2 default null )
346: as
347: event system.wf_payload_t;
348: dequeue_options dbms_aq.dequeue_options_t;
349: message_properties dbms_aq.message_properties_t;
350: msg_id raw(16);
351:
352: begin

Line 349: message_properties dbms_aq.message_properties_t;

345: correlation in varchar2 default null )
346: as
347: event system.wf_payload_t;
348: dequeue_options dbms_aq.dequeue_options_t;
349: message_properties dbms_aq.message_properties_t;
350: msg_id raw(16);
351:
352: begin
353: dequeue_options.dequeue_mode := dbms_aq.REMOVE;

Line 353: dequeue_options.dequeue_mode := dbms_aq.REMOVE;

349: message_properties dbms_aq.message_properties_t;
350: msg_id raw(16);
351:
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:

Line 354: dequeue_options.wait := dbms_aq.NO_WAIT;

350: msg_id raw(16);
351:
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

Line 355: dequeue_options.navigation := dbms_aq.FIRST_MESSAGE;

351:
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;

Line 365: dbms_aq.dequeue

361: dequeue_options.correlation := wf_queue.account_name||nvl(itemtype,'%');
362: end if;
363:
364: LOOP
365: dbms_aq.dequeue
366: (
367: queue_name => queuename,
368: dequeue_options => dequeue_options,
369: message_properties => message_properties,

Line 726: dequeue_options dbms_aq.dequeue_options_t;

722: timeout out NOCOPY boolean,
723: multiconsumer in boolean default FALSE)
724: as
725:
726: dequeue_options dbms_aq.dequeue_options_t;
727: message_properties dbms_aq.message_properties_t;
728: snap_too_old exception;
729: pragma exception_init(snap_too_old, -1555);
730: begin

Line 727: message_properties dbms_aq.message_properties_t;

723: multiconsumer in boolean default FALSE)
724: as
725:
726: dequeue_options dbms_aq.dequeue_options_t;
727: message_properties dbms_aq.message_properties_t;
728: snap_too_old exception;
729: pragma exception_init(snap_too_old, -1555);
730: begin
731:

Line 736: dequeue_options.wait := dbms_aq.NO_WAIT;

732: -- find out the schema name
733: wf_queue.set_queue_names;
734:
735: dequeue_options.dequeue_mode := dequeuemode;
736: dequeue_options.wait := dbms_aq.NO_WAIT;
737: dequeue_options.navigation := navigation;
738:
739: -- if message_handle is set then use it instead of correlation
740: -- NOTE: if message_handle is set FIRST/NEXT_MESSAGE dont have effect

Line 762: dbms_aq.dequeue( queue_name => Dequeue_Event.queuename,

758: dequeue_options.consumer_name := wf_queue.account_name;
759: end if;
760:
761: begin
762: dbms_aq.dequeue( queue_name => Dequeue_Event.queuename,
763: dequeue_options => dequeue_options,
764: message_properties => message_properties,
765: payload => Dequeue_Event.payload,
766: msgid => message_handle );

Line 773: if (dequeue_options.navigation = dbms_aq.FIRST_MESSAGE) then

769: when snap_too_old then
770: --Workaround for AQ when receiving ORA-01555 using NEXT_MESSAGE as
771: --navigation. We will try to set to FIRST_MESSAGE and dequeue to
772: --silently handle this exception.
773: if (dequeue_options.navigation = dbms_aq.FIRST_MESSAGE) then
774: raise;
775: else
776: dequeue_options.navigation := dbms_aq.FIRST_MESSAGE;
777: dbms_aq.dequeue( queue_name => Dequeue_Event.queuename,

Line 776: dequeue_options.navigation := dbms_aq.FIRST_MESSAGE;

772: --silently handle this exception.
773: if (dequeue_options.navigation = dbms_aq.FIRST_MESSAGE) then
774: raise;
775: else
776: dequeue_options.navigation := dbms_aq.FIRST_MESSAGE;
777: dbms_aq.dequeue( queue_name => Dequeue_Event.queuename,
778: dequeue_options => dequeue_options,
779: message_properties => message_properties,
780: payload => Dequeue_Event.payload,

Line 777: dbms_aq.dequeue( queue_name => Dequeue_Event.queuename,

773: if (dequeue_options.navigation = dbms_aq.FIRST_MESSAGE) then
774: raise;
775: else
776: dequeue_options.navigation := dbms_aq.FIRST_MESSAGE;
777: dbms_aq.dequeue( queue_name => Dequeue_Event.queuename,
778: dequeue_options => dequeue_options,
779: message_properties => message_properties,
780: payload => Dequeue_Event.payload,
781: msgid => message_handle );

Line 912: enqueue_options dbms_aq.enqueue_options_t;

908: priority in number default null)
909:
910: as
911: event system.wf_payload_t;
912: enqueue_options dbms_aq.enqueue_options_t;
913: message_properties dbms_aq.message_properties_t;
914: l_increment_delay number;
915: l_min_delay number;
916: l_background_occurrence number;

Line 913: message_properties dbms_aq.message_properties_t;

909:
910: as
911: event system.wf_payload_t;
912: enqueue_options dbms_aq.enqueue_options_t;
913: message_properties dbms_aq.message_properties_t;
914: l_increment_delay number;
915: l_min_delay number;
916: l_background_occurrence number;
917:

Line 995: enqueue_options.visibility := DBMS_AQ.ON_COMMIT;

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
994: -- this way queue data and normal table data (wf statuses) are in synch.
995: enqueue_options.visibility := DBMS_AQ.ON_COMMIT;
996:
997: -- Set the delay if any
998: if l_increment_delay < 0 then
999: message_properties.delay := 0;

Line 1030: dbms_aq.enqueue

1026: if priority is not null then
1027: message_properties.priority := priority;
1028: end if;
1029:
1030: dbms_aq.enqueue
1031: (
1032: queue_name => Enqueue_Event.queuename,
1033: enqueue_options => enqueue_options,
1034: message_properties => message_properties,

Line 1086: navigation := dbms_aq.FIRST_MESSAGE;

1082:
1083: -- loop through the inbound queue.
1084: loop --Process until nothing left on the queue
1085:
1086: navigation := dbms_aq.FIRST_MESSAGE;
1087: nothing_processed :=TRUE;
1088:
1089: loop -- Process till timeout
1090:

Line 1097: dbms_aq.LOCKED,

1093: --We would use this savepoint to rollback if we found that a
1094: --lock is not possible in this session for the reterived itemytype key
1095:
1096: wf_queue.Dequeue_Event(wf_queue.InboundQueue,
1097: dbms_aq.LOCKED,
1098: navigation,
1099: lcorrelation,
1100: payload,
1101: message_handle,

Line 1106: if (navigation = dbms_aq.FIRST_MESSAGE and message_handle is null

1102: timeout);
1103:
1104: -- if no message is found, the message may be enqueued with the
1105: -- old correlation format, so reset the correlation id and retry.
1106: if (navigation = dbms_aq.FIRST_MESSAGE and message_handle is null
1107: and correlation is null and lcorrelation <> nvl(itemtype,'%')) then
1108:
1109: lcorrelation := nvl(itemtype,'%');
1110: goto nextmesg;

Line 1139: navigation := dbms_aq.NEXT_MESSAGE;

1135: -- commit any processing or any clean up
1136: commit;
1137: Fnd_Concurrent.Set_Preferred_RBS;
1138:
1139: navigation := dbms_aq.NEXT_MESSAGE;
1140:
1141: <> -- This is for the case when we reset the corrid and verify
1142: null;
1143: end loop; -- process till timeout

Line 1193: navigation := dbms_aq.FIRST_MESSAGE;

1189: end if;
1190:
1191: loop -- keep processing the queue until there is nothing left
1192:
1193: navigation := dbms_aq.FIRST_MESSAGE;
1194: nothing_processed :=TRUE;
1195:
1196: loop -- keep processing until a timeout.
1197:

Line 1201: dbms_aq.LOCKED,

1197:
1198: message_handle:=null;
1199: wf_queue.Dequeue_Event(
1200: wf_queue.DeferredQueue,
1201: dbms_aq.LOCKED,
1202: navigation,
1203: lcorrelation,
1204: payload,
1205: message_handle,

Line 1217: if (navigation = dbms_aq.FIRST_MESSAGE and message_handle is null

1213: wf_queue.g_dequeue_actid := payload.actid;
1214:
1215: -- if no message is found, the message may be enqueued with the
1216: -- new correlation format, so reset the correlation id and retry.
1217: if (navigation = dbms_aq.FIRST_MESSAGE and message_handle is null
1218: and correlation is null and lcorrelation = itemtype) then
1219:
1220: lcorrelation := wf_queue.account_name||nvl(itemtype,'%');
1221:

Line 1260: navigation := dbms_aq.NEXT_MESSAGE;

1256: if wf_queue.check_instance then
1257: raise shutdown_pending;
1258: end if;
1259:
1260: navigation := dbms_aq.NEXT_MESSAGE;
1261:
1262: end if;
1263: end loop; -- process till time out
1264:

Line 1296: dequeue_options dbms_aq.dequeue_options_t;

1292: correlation in varchar2 default null,
1293: multiconsumer in boolean default FALSE) return raw
1294: is
1295: event system.wf_payload_t;
1296: dequeue_options dbms_aq.dequeue_options_t;
1297: message_properties dbms_aq.message_properties_t;
1298: msg_id raw(16);
1299: begin
1300: dequeue_options.dequeue_mode := dbms_aq.BROWSE;

Line 1297: message_properties dbms_aq.message_properties_t;

1293: multiconsumer in boolean default FALSE) return raw
1294: is
1295: event system.wf_payload_t;
1296: dequeue_options dbms_aq.dequeue_options_t;
1297: message_properties dbms_aq.message_properties_t;
1298: msg_id raw(16);
1299: begin
1300: dequeue_options.dequeue_mode := dbms_aq.BROWSE;
1301: dequeue_options.wait := dbms_aq.NO_WAIT;

Line 1300: dequeue_options.dequeue_mode := dbms_aq.BROWSE;

1296: dequeue_options dbms_aq.dequeue_options_t;
1297: message_properties dbms_aq.message_properties_t;
1298: msg_id raw(16);
1299: begin
1300: dequeue_options.dequeue_mode := dbms_aq.BROWSE;
1301: dequeue_options.wait := dbms_aq.NO_WAIT;
1302: wf_queue.set_queue_names;
1303: if correlation is not null then
1304: dequeue_options.correlation := correlation;

Line 1301: dequeue_options.wait := dbms_aq.NO_WAIT;

1297: message_properties dbms_aq.message_properties_t;
1298: msg_id raw(16);
1299: begin
1300: dequeue_options.dequeue_mode := dbms_aq.BROWSE;
1301: dequeue_options.wait := dbms_aq.NO_WAIT;
1302: wf_queue.set_queue_names;
1303: if correlation is not null then
1304: dequeue_options.correlation := correlation;
1305: else

Line 1314: dequeue_options.navigation := dbms_aq.FIRST_MESSAGE;

1310: dequeue_options.consumer_name := wf_queue.account_name;
1311: end if;
1312:
1313: --execute first read
1314: dequeue_options.navigation := dbms_aq.FIRST_MESSAGE;
1315: dbms_aq.dequeue
1316: (
1317: queue_name => queuename,
1318: dequeue_options => dequeue_options,

Line 1315: dbms_aq.dequeue

1311: end if;
1312:
1313: --execute first read
1314: dequeue_options.navigation := dbms_aq.FIRST_MESSAGE;
1315: dbms_aq.dequeue
1316: (
1317: queue_name => queuename,
1318: dequeue_options => dequeue_options,
1319: message_properties => message_properties,

Line 1332: dequeue_options.navigation := dbms_aq.NEXT_MESSAGE;

1328: end if;
1329:
1330: -- loop with next message
1331: LOOP
1332: dequeue_options.navigation := dbms_aq.NEXT_MESSAGE;
1333: dbms_aq.dequeue
1334: (
1335: queue_name => queuename,
1336: dequeue_options => dequeue_options,

Line 1333: dbms_aq.dequeue

1329:
1330: -- loop with next message
1331: LOOP
1332: dequeue_options.navigation := dbms_aq.NEXT_MESSAGE;
1333: dbms_aq.dequeue
1334: (
1335: queue_name => queuename,
1336: dequeue_options => dequeue_options,
1337: message_properties => message_properties,

Line 1364: x_dequeue_options dbms_aq.dequeue_options_t;

1360: procedure DequeueException (queuename in varchar2)
1361: is
1362:
1363: l_event wf_event_t;
1364: x_dequeue_options dbms_aq.dequeue_options_t;
1365: x_message_properties dbms_aq.message_properties_t;
1366: x_msgid RAW(16);
1367: erragt wf_agent_t;
1368: lsysname varchar2(30);

Line 1365: x_message_properties dbms_aq.message_properties_t;

1361: is
1362:
1363: l_event wf_event_t;
1364: x_dequeue_options dbms_aq.dequeue_options_t;
1365: x_message_properties dbms_aq.message_properties_t;
1366: x_msgid RAW(16);
1367: erragt wf_agent_t;
1368: lsysname varchar2(30);
1369: cmd varchar2(1000);

Line 1381: dbms_aq.dequeue(queue_name => queuename,

1377: x_dequeue_options.wait := 1;
1378:
1379: loop
1380: begin
1381: dbms_aq.dequeue(queue_name => queuename,
1382: dequeue_options => x_dequeue_options,
1383: message_properties => x_message_properties, /* OUT */
1384: payload => l_event, /* OUT */
1385: msgid => x_msgid); /* OUT */

Line 1959: dequeue_options dbms_aq.dequeue_options_t;

1955: l_error_msg varchar2(240);
1956:
1957: l_more_data BOOLEAN := TRUE;
1958: l_message system.wf_message_payload_t;
1959: dequeue_options dbms_aq.dequeue_options_t;
1960: message_properties dbms_aq.message_properties_t;
1961: ii number := 0;
1962: l_loc number := 1;
1963: l_message_contents VARCHAR2(32000);

Line 1960: message_properties dbms_aq.message_properties_t;

1956:
1957: l_more_data BOOLEAN := TRUE;
1958: l_message system.wf_message_payload_t;
1959: dequeue_options dbms_aq.dequeue_options_t;
1960: message_properties dbms_aq.message_properties_t;
1961: ii number := 0;
1962: l_loc number := 1;
1963: l_message_contents VARCHAR2(32000);
1964: l_message_offset binary_integer := 16000;

Line 2011: dequeue_options.dequeue_mode := dbms_aq.BROWSE;

2007:
2008: /*
2009: ** Create a page with a form field with the message payload
2010: */
2011: dequeue_options.dequeue_mode := dbms_aq.BROWSE;
2012: dequeue_options.wait := dbms_aq.NO_WAIT;
2013: dequeue_options.navigation := dbms_aq.FIRST_MESSAGE;
2014:
2015: l_queue_name := wf_core.translate('WF_SCHEMA')||'.'||'WF_'||p_protocol||'_'||substr(p_inbound_outbound, 1, 1)||'_'||

Line 2012: dequeue_options.wait := dbms_aq.NO_WAIT;

2008: /*
2009: ** Create a page with a form field with the message payload
2010: */
2011: dequeue_options.dequeue_mode := dbms_aq.BROWSE;
2012: dequeue_options.wait := dbms_aq.NO_WAIT;
2013: dequeue_options.navigation := dbms_aq.FIRST_MESSAGE;
2014:
2015: l_queue_name := wf_core.translate('WF_SCHEMA')||'.'||'WF_'||p_protocol||'_'||substr(p_inbound_outbound, 1, 1)||'_'||
2016: to_char(p_queue_number)||'_QUEUE';

Line 2013: dequeue_options.navigation := dbms_aq.FIRST_MESSAGE;

2009: ** Create a page with a form field with the message payload
2010: */
2011: dequeue_options.dequeue_mode := dbms_aq.BROWSE;
2012: dequeue_options.wait := dbms_aq.NO_WAIT;
2013: dequeue_options.navigation := dbms_aq.FIRST_MESSAGE;
2014:
2015: l_queue_name := wf_core.translate('WF_SCHEMA')||'.'||'WF_'||p_protocol||'_'||substr(p_inbound_outbound, 1, 1)||'_'||
2016: to_char(p_queue_number)||'_QUEUE';
2017:

Line 2018: dbms_aq.dequeue

2014:
2015: l_queue_name := wf_core.translate('WF_SCHEMA')||'.'||'WF_'||p_protocol||'_'||substr(p_inbound_outbound, 1, 1)||'_'||
2016: to_char(p_queue_number)||'_QUEUE';
2017:
2018: dbms_aq.dequeue
2019: (queue_name => l_queue_name,
2020: dequeue_options => dequeue_options,
2021: message_properties => message_properties,
2022: payload => l_message,

Line 2026: dequeue_options.navigation := dbms_aq.NEXT_MESSAGE;

2022: payload => l_message,
2023: msgid => l_msg_id
2024: );
2025:
2026: dequeue_options.navigation := dbms_aq.NEXT_MESSAGE;
2027:
2028: -- Loop until you reach the requested message
2029: for ii in 2..p_message_number loop
2030:

Line 2033: dbms_aq.dequeue

2029: for ii in 2..p_message_number loop
2030:
2031: htp.p (to_char(ii));
2032:
2033: dbms_aq.dequeue
2034: (queue_name => l_queue_name,
2035: dequeue_options => dequeue_options,
2036: message_properties => message_properties,
2037: payload => l_message,

Line 2427: dbms_aqadm.stop_queue(queue_name => wf_core.translate('WF_SCHEMA')||'.'||'WF_'||

2423:
2424: /*
2425: ** Stop the queue
2426: */
2427: dbms_aqadm.stop_queue(queue_name => wf_core.translate('WF_SCHEMA')||'.'||'WF_'||
2428: p_protocol||'_'||substr(p_inbound_outbound, 1, 1)||'_'||
2429: to_char(ii)||'_QUEUE');
2430: /*
2431: ** Delete the Queues

Line 2433: dbms_aqadm.drop_queue(

2429: to_char(ii)||'_QUEUE');
2430: /*
2431: ** Delete the Queues
2432: */
2433: dbms_aqadm.drop_queue(
2434: queue_name => wf_core.translate('WF_SCHEMA')||'.'||'WF_'||p_protocol||'_'||
2435: substr(p_inbound_outbound, 1, 1)||'_'||to_char(ii)||'_QUEUE');
2436:
2437: /*

Line 2440: dbms_aqadm.drop_queue_table (

2436:
2437: /*
2438: ** Delete the Queue Table
2439: */
2440: dbms_aqadm.drop_queue_table (
2441: queue_table => wf_core.translate('WF_SCHEMA')||'.'||'WF_'||p_protocol||'_'||substr(p_inbound_outbound, 1, 1)||'_'||to_char(ii)||'_TABLE');
2442:
2443: end loop;
2444:

Line 2615: dbms_aqadm.create_queue_table (

2611:
2612: /*
2613: ** Create New Queue Table
2614: */
2615: dbms_aqadm.create_queue_table (
2616: queue_table => wf_core.translate('WF_SCHEMA')||'.'||'WF_'||p_protocol||'_'||substr(p_inbound_outbound, 1, 1)||'_'||to_char(ii)||'_TABLE',
2617: queue_payload_type => 'SYSTEM.WF_MESSAGE_PAYLOAD_T',
2618: storage_clause => 'storage (initial 1m next 1m pctincrease 0 )',
2619: sort_list => 'PRIORITY,ENQ_TIME',

Line 2626: dbms_aqadm.create_queue(

2622:
2623: /*
2624: ** Create New Queues
2625: */
2626: dbms_aqadm.create_queue(
2627: queue_name => wf_core.translate('WF_SCHEMA')||'.'||'WF_'||p_protocol||'_'||
2628: substr(p_inbound_outbound, 1, 1)||'_'||to_char(ii)||'_QUEUE',
2629: queue_table => wf_core.translate('WF_SCHEMA')||'.'||'WF_'||p_protocol||'_'||
2630: substr(p_inbound_outbound, 1, 1)||'_'||to_char(ii)||'_TABLE',

Line 2639: dbms_aqadm.start_queue(queue_name => wf_core.translate('WF_SCHEMA')||'.'||

2635:
2636: /*
2637: ** Start the queue
2638: */
2639: dbms_aqadm.start_queue(queue_name => wf_core.translate('WF_SCHEMA')||'.'||
2640: 'WF_'||p_protocol||'_'||
2641: substr(p_inbound_outbound, 1, 1)|| '_'||to_char(ii)||'_QUEUE');
2642:
2643: end loop;

Line 2849: dbms_aqadm.start_queue(queue_name => l_exception_queue,

2845: raise;
2846: end;
2847:
2848: if l_exception_queue <> '' and l_dequeue_enabled = 'NO' then
2849: dbms_aqadm.start_queue(queue_name => l_exception_queue,
2850: enqueue => FALSE,
2851: dequeue => TRUE);
2852: end if;
2853: return l_exception_queue;

Line 2872: DBMS_AQADM.Add_Subscriber(

2868: lagent sys.aq$_agent;
2869: begin
2870: lagent := sys.aq$_agent(name,'',0);
2871:
2872: DBMS_AQADM.Add_Subscriber(
2873: queue_name=>queuename,
2874: subscriber=>lagent,
2875: rule=>'CORRID like '''||name||'%'''
2876: );

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

2910: OPEN q_disabled (schema, queue_name);
2911: LOOP
2912: FETCH q_disabled into l_qname;
2913: EXIT WHEN q_disabled%NOTFOUND;
2914: DBMS_AQADM.START_QUEUE(wf_queue.deferred_queue_name);
2915: END LOOP;
2916: CLOSE q_disabled;
2917:
2918: --Enable inbound queue

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

2920: OPEN q_disabled (schema, queue_name);
2921: LOOP
2922: FETCH q_disabled into l_qname;
2923: EXIT WHEN q_disabled%NOTFOUND;
2924: DBMS_AQADM.START_QUEUE(wf_queue.inbound_queue_name);
2925: END LOOP;
2926: CLOSE q_disabled;
2927: exception
2928: when others then

Line 3110: l_dequeue_options dbms_aq.dequeue_options_t;

3106: l_object_type varchar2(100);
3107: l_obj_type varchar2(100);
3108: l_pos number := 0;
3109: l_timeout integer;
3110: l_dequeue_options dbms_aq.dequeue_options_t;
3111: l_enqueue_options dbms_aq.enqueue_options_t;
3112: l_message_properties dbms_aq.message_properties_t;
3113: l_payload_evt wf_event_t;
3114: l_payload_jms sys.aq$_JMS_TEXT_MESSAGE;

Line 3111: l_enqueue_options dbms_aq.enqueue_options_t;

3107: l_obj_type varchar2(100);
3108: l_pos number := 0;
3109: l_timeout integer;
3110: l_dequeue_options dbms_aq.dequeue_options_t;
3111: l_enqueue_options dbms_aq.enqueue_options_t;
3112: l_message_properties dbms_aq.message_properties_t;
3113: l_payload_evt wf_event_t;
3114: l_payload_jms sys.aq$_JMS_TEXT_MESSAGE;
3115: l_msg_id raw(16);

Line 3112: l_message_properties dbms_aq.message_properties_t;

3108: l_pos number := 0;
3109: l_timeout integer;
3110: l_dequeue_options dbms_aq.dequeue_options_t;
3111: l_enqueue_options dbms_aq.enqueue_options_t;
3112: l_message_properties dbms_aq.message_properties_t;
3113: l_payload_evt wf_event_t;
3114: l_payload_jms sys.aq$_JMS_TEXT_MESSAGE;
3115: l_msg_id raw(16);
3116: invalid_agent exception;

Line 3157: l_dequeue_options.dequeue_mode := dbms_aq.REMOVE;

3153: l_pos := instr(l_object_type, '.', 1, 1);
3154: l_obj_type := substr(l_object_type, l_pos+1);
3155:
3156: l_timeout := 0;
3157: l_dequeue_options.dequeue_mode := dbms_aq.REMOVE;
3158: l_dequeue_options.wait := dbms_aq.NO_WAIT;
3159: l_dequeue_options.consumer_name := null;
3160: l_enqueue_options.visibility := dbms_aq.ON_COMMIT;
3161:

Line 3158: l_dequeue_options.wait := dbms_aq.NO_WAIT;

3154: l_obj_type := substr(l_object_type, l_pos+1);
3155:
3156: l_timeout := 0;
3157: l_dequeue_options.dequeue_mode := dbms_aq.REMOVE;
3158: l_dequeue_options.wait := dbms_aq.NO_WAIT;
3159: l_dequeue_options.consumer_name := null;
3160: l_enqueue_options.visibility := dbms_aq.ON_COMMIT;
3161:
3162: if l_obj_type = 'WF_EVENT_T' then

Line 3160: l_enqueue_options.visibility := dbms_aq.ON_COMMIT;

3156: l_timeout := 0;
3157: l_dequeue_options.dequeue_mode := dbms_aq.REMOVE;
3158: l_dequeue_options.wait := dbms_aq.NO_WAIT;
3159: l_dequeue_options.consumer_name := null;
3160: l_enqueue_options.visibility := dbms_aq.ON_COMMIT;
3161:
3162: if l_obj_type = 'WF_EVENT_T' then
3163: wf_event_t.Initialize(l_payload_evt);
3164: while (l_timeout = 0) loop

Line 3167: dbms_aq.Dequeue(queue_name => l_schema || '.' || l_excp_qname,

3163: wf_event_t.Initialize(l_payload_evt);
3164: while (l_timeout = 0) loop
3165: begin
3166: --Dequeue the message from the exception queue
3167: dbms_aq.Dequeue(queue_name => l_schema || '.' || l_excp_qname,
3168: dequeue_options => l_dequeue_options,
3169: message_properties => l_message_properties,
3170: payload => l_payload_evt,
3171: msgid => l_msg_id);

Line 3174: l_message_properties.expiration := dbms_aq.never;

3170: payload => l_payload_evt,
3171: msgid => l_msg_id);
3172: l_timeout := 0;
3173: --Enqueue the message in the normal queue
3174: l_message_properties.expiration := dbms_aq.never;
3175: if (upper(p_agent_name) = 'WF_ERROR' OR upper(p_agent_name) = 'WF_IN'
3176: OR upper(p_agent_name) = 'WF_OUT') then
3177: l_message_properties.recipient_list(1) := sys.aq$_agent(p_agent_name,
3178: null,

Line 3181: dbms_aq.enqueue(queue_name => l_queue_name,

3177: l_message_properties.recipient_list(1) := sys.aq$_agent(p_agent_name,
3178: null,
3179: 0);
3180: end if;
3181: dbms_aq.enqueue(queue_name => l_queue_name,
3182: enqueue_options => l_enqueue_options,
3183: message_properties => l_message_properties,
3184: payload => l_payload_evt,
3185: msgid => l_msg_id);

Line 3201: dbms_aq.Dequeue(queue_name => l_schema || '.' || l_excp_qname,

3197: l_timeout := 0;
3198: while (l_timeout = 0) loop
3199: begin
3200: --Dequeue the message from the exception queue
3201: dbms_aq.Dequeue(queue_name => l_schema || '.' || l_excp_qname,
3202: dequeue_options => l_dequeue_options,
3203: message_properties => l_message_properties,
3204: payload => l_payload_jms,
3205: msgid => l_msg_id);

Line 3208: l_message_properties.expiration := dbms_aq.never;

3204: payload => l_payload_jms,
3205: msgid => l_msg_id);
3206: l_timeout := 0;
3207: --Enqueue the message in the normal queue of the given agent
3208: l_message_properties.expiration := dbms_aq.never;
3209: dbms_aq.enqueue(queue_name => l_queue_name,
3210: enqueue_options => l_enqueue_options,
3211: message_properties => l_message_properties,
3212: payload => l_payload_jms,

Line 3209: dbms_aq.enqueue(queue_name => l_queue_name,

3205: msgid => l_msg_id);
3206: l_timeout := 0;
3207: --Enqueue the message in the normal queue of the given agent
3208: l_message_properties.expiration := dbms_aq.never;
3209: dbms_aq.enqueue(queue_name => l_queue_name,
3210: enqueue_options => l_enqueue_options,
3211: message_properties => l_message_properties,
3212: payload => l_payload_jms,
3213: msgid => l_msg_id);

Line 3275: l_dequeue_options dbms_aq.dequeue_options_t;

3271: l_account_name varchar2(30);
3272: l_payload wf_event_t;
3273: l_msgid raw(16);
3274: l_message_handle raw(16) := NULL;
3275: l_dequeue_options dbms_aq.dequeue_options_t;
3276: l_message_properties dbms_aq.message_properties_t;
3277:
3278: -- Bug 6112028
3279: l_data_type VARCHAR2(106);

Line 3276: l_message_properties dbms_aq.message_properties_t;

3272: l_payload wf_event_t;
3273: l_msgid raw(16);
3274: l_message_handle raw(16) := NULL;
3275: l_dequeue_options dbms_aq.dequeue_options_t;
3276: l_message_properties dbms_aq.message_properties_t;
3277:
3278: -- Bug 6112028
3279: l_data_type VARCHAR2(106);
3280: l_payload_jms SYS.AQ$_JMS_TEXT_MESSAGE;

Line 3318: l_dequeue_options.navigation := dbms_aq.FIRST_MESSAGE;

3314: l_data_type := substr(l_data_type, l_pos+1);
3315:
3316: --No processing is done on the payload data
3317: --So dequeue is done in the REMOVE_NODATA mode
3318: l_dequeue_options.navigation := dbms_aq.FIRST_MESSAGE;
3319: l_dequeue_options.dequeue_mode := dbms_aq.REMOVE_NODATA;
3320: l_dequeue_options.wait := dbms_aq.NO_WAIT;
3321: l_dequeue_options.consumer_name := upper(p_agent_name);
3322:

Line 3319: l_dequeue_options.dequeue_mode := dbms_aq.REMOVE_NODATA;

3315:
3316: --No processing is done on the payload data
3317: --So dequeue is done in the REMOVE_NODATA mode
3318: l_dequeue_options.navigation := dbms_aq.FIRST_MESSAGE;
3319: l_dequeue_options.dequeue_mode := dbms_aq.REMOVE_NODATA;
3320: l_dequeue_options.wait := dbms_aq.NO_WAIT;
3321: l_dequeue_options.consumer_name := upper(p_agent_name);
3322:
3323: --Set the Correlation ID for dequeue only if available

Line 3320: l_dequeue_options.wait := dbms_aq.NO_WAIT;

3316: --No processing is done on the payload data
3317: --So dequeue is done in the REMOVE_NODATA mode
3318: l_dequeue_options.navigation := dbms_aq.FIRST_MESSAGE;
3319: l_dequeue_options.dequeue_mode := dbms_aq.REMOVE_NODATA;
3320: l_dequeue_options.wait := dbms_aq.NO_WAIT;
3321: l_dequeue_options.consumer_name := upper(p_agent_name);
3322:
3323: --Set the Correlation ID for dequeue only if available
3324: --If the given agent is a Workflow Agent then append the

Line 3347: dbms_aq.Dequeue(queue_name => l_queue_name,

3343: while (l_timeout = 0) loop
3344: begin
3345:
3346: if (l_data_type = 'WF_EVENT_T') then
3347: dbms_aq.Dequeue(queue_name => l_queue_name,
3348: dequeue_options => l_dequeue_options,
3349: message_properties => l_message_properties, /* OUT */
3350: payload => l_payload, /* OUT */
3351: msgid => l_message_handle); /* OUT */

Line 3353: dbms_aq.Dequeue(queue_name => l_queue_name,

3349: message_properties => l_message_properties, /* OUT */
3350: payload => l_payload, /* OUT */
3351: msgid => l_message_handle); /* OUT */
3352: elsif l_data_type = 'AQ$_JMS_TEXT_MESSAGE' then
3353: dbms_aq.Dequeue(queue_name => l_queue_name,
3354: dequeue_options => l_dequeue_options,
3355: message_properties => l_message_properties, /* OUT */
3356: payload => l_payload_jms, /* OUT */
3357: msgid => l_message_handle); /* OUT */

Line 3377: if (l_dequeue_options.navigation = dbms_aq.FIRST_MESSAGE) then

3373: when snap_too_old then
3374: --Workaround for AQ when receiving ORA-01555 using NEXT_MESSAGE as
3375: --navigation. We will try to set to FIRST_MESSAGE and dequeue to
3376: --silently handle this exception.
3377: if (l_dequeue_options.navigation = dbms_aq.FIRST_MESSAGE) then
3378: raise;
3379: else
3380: l_dequeue_options.navigation := dbms_aq.FIRST_MESSAGE;
3381:

Line 3380: l_dequeue_options.navigation := dbms_aq.FIRST_MESSAGE;

3376: --silently handle this exception.
3377: if (l_dequeue_options.navigation = dbms_aq.FIRST_MESSAGE) then
3378: raise;
3379: else
3380: l_dequeue_options.navigation := dbms_aq.FIRST_MESSAGE;
3381:
3382: if (l_data_type = 'WF_EVENT_T') then
3383: dbms_aq.Dequeue(queue_name => l_queue_name,
3384: dequeue_options => l_dequeue_options,

Line 3383: dbms_aq.Dequeue(queue_name => l_queue_name,

3379: else
3380: l_dequeue_options.navigation := dbms_aq.FIRST_MESSAGE;
3381:
3382: if (l_data_type = 'WF_EVENT_T') then
3383: dbms_aq.Dequeue(queue_name => l_queue_name,
3384: dequeue_options => l_dequeue_options,
3385: message_properties => l_message_properties, /* OUT */
3386: payload => l_payload, /* OUT */
3387: msgid => l_message_handle); /* OUT */

Line 3390: dbms_aq.Dequeue(queue_name => l_queue_name,

3386: payload => l_payload, /* OUT */
3387: msgid => l_message_handle); /* OUT */
3388:
3389: elsif l_data_type = 'AQ$_JMS_TEXT_MESSAGE' then
3390: dbms_aq.Dequeue(queue_name => l_queue_name,
3391: dequeue_options => l_dequeue_options,
3392: message_properties => l_message_properties, /* OUT */
3393: payload => l_payload_jms, /* OUT */
3394: msgid => l_message_handle); /* OUT */

Line 3408: l_dequeue_options.navigation := dbms_aq.NEXT_MESSAGE;

3404: when others then
3405: raise;
3406: end;
3407:
3408: l_dequeue_options.navigation := dbms_aq.NEXT_MESSAGE;
3409: --Commit if commit frequency
3410: if l_xcount >= p_commit_frequency then
3411: commit;
3412: p_msg_count := p_msg_count + l_xcount;

Line 3461: l_dequeue_options dbms_aq.dequeue_options_t;

3457: l_account_name varchar2(30);
3458: l_payload wf_event_t;
3459: l_msgid raw(16);
3460: l_message_handle raw(16) := NULL;
3461: l_dequeue_options dbms_aq.dequeue_options_t;
3462: l_message_properties dbms_aq.message_properties_t;
3463:
3464: -- Bug 6112028
3465: l_data_type VARCHAR2(106);

Line 3462: l_message_properties dbms_aq.message_properties_t;

3458: l_payload wf_event_t;
3459: l_msgid raw(16);
3460: l_message_handle raw(16) := NULL;
3461: l_dequeue_options dbms_aq.dequeue_options_t;
3462: l_message_properties dbms_aq.message_properties_t;
3463:
3464: -- Bug 6112028
3465: l_data_type VARCHAR2(106);
3466: l_payload_jms SYS.AQ$_JMS_TEXT_MESSAGE;

Line 3508: l_dequeue_options.navigation := dbms_aq.FIRST_MESSAGE;

3504: l_data_type := substr(l_data_type, l_pos+1);
3505:
3506: --No processing is done on the payload data
3507: --So dequeue is done in the REMOVE_NODATA mode
3508: l_dequeue_options.navigation := dbms_aq.FIRST_MESSAGE;
3509: l_dequeue_options.dequeue_mode := dbms_aq.REMOVE_NODATA;
3510: l_dequeue_options.wait := dbms_aq.NO_WAIT;
3511: l_dequeue_options.consumer_name := upper(p_agent_name);
3512: --

Line 3509: l_dequeue_options.dequeue_mode := dbms_aq.REMOVE_NODATA;

3505:
3506: --No processing is done on the payload data
3507: --So dequeue is done in the REMOVE_NODATA mode
3508: l_dequeue_options.navigation := dbms_aq.FIRST_MESSAGE;
3509: l_dequeue_options.dequeue_mode := dbms_aq.REMOVE_NODATA;
3510: l_dequeue_options.wait := dbms_aq.NO_WAIT;
3511: l_dequeue_options.consumer_name := upper(p_agent_name);
3512: --
3513: --Set the Correlation ID for dequeue only if available

Line 3510: l_dequeue_options.wait := dbms_aq.NO_WAIT;

3506: --No processing is done on the payload data
3507: --So dequeue is done in the REMOVE_NODATA mode
3508: l_dequeue_options.navigation := dbms_aq.FIRST_MESSAGE;
3509: l_dequeue_options.dequeue_mode := dbms_aq.REMOVE_NODATA;
3510: l_dequeue_options.wait := dbms_aq.NO_WAIT;
3511: l_dequeue_options.consumer_name := upper(p_agent_name);
3512: --
3513: --Set the Correlation ID for dequeue only if available
3514: --If the given agent is a Workflow Agent then append the

Line 3560: dbms_aq.Dequeue(queue_name => l_queue_name,

3556: l_dequeue_options.msgid := l_msgid;
3557: begin
3558:
3559: if (l_data_type = 'WF_EVENT_T') then
3560: dbms_aq.Dequeue(queue_name => l_queue_name,
3561: dequeue_options => l_dequeue_options,
3562: message_properties => l_message_properties,
3563: payload => l_payload,
3564: msgid => l_message_handle);

Line 3567: dbms_aq.Dequeue(queue_name => l_queue_name,

3563: payload => l_payload,
3564: msgid => l_message_handle);
3565: elsif l_data_type = 'AQ$_JMS_TEXT_MESSAGE' then
3566:
3567: dbms_aq.Dequeue(queue_name => l_queue_name,
3568: dequeue_options => l_dequeue_options,
3569: message_properties => l_message_properties,
3570: payload => l_payload_jms,
3571: msgid => l_message_handle);

Line 3586: if (l_dequeue_options.navigation = dbms_aq.FIRST_MESSAGE) then

3582: when snap_too_old then
3583: --Workaround for AQ when receiving ORA-01555 using NEXT_MESSAGE as
3584: --navigation. We will try to set to FIRST_MESSAGE and dequeue to
3585: --silently handle this exception.
3586: if (l_dequeue_options.navigation = dbms_aq.FIRST_MESSAGE) then
3587: raise;
3588: else
3589: l_dequeue_options.navigation := dbms_aq.FIRST_MESSAGE;
3590:

Line 3589: l_dequeue_options.navigation := dbms_aq.FIRST_MESSAGE;

3585: --silently handle this exception.
3586: if (l_dequeue_options.navigation = dbms_aq.FIRST_MESSAGE) then
3587: raise;
3588: else
3589: l_dequeue_options.navigation := dbms_aq.FIRST_MESSAGE;
3590:
3591: if (l_data_type = 'WF_EVENT_T') then
3592: dbms_aq.Dequeue(queue_name => l_queue_name,
3593: dequeue_options => l_dequeue_options,

Line 3592: dbms_aq.Dequeue(queue_name => l_queue_name,

3588: else
3589: l_dequeue_options.navigation := dbms_aq.FIRST_MESSAGE;
3590:
3591: if (l_data_type = 'WF_EVENT_T') then
3592: dbms_aq.Dequeue(queue_name => l_queue_name,
3593: dequeue_options => l_dequeue_options,
3594: message_properties => l_message_properties, /* OUT */
3595: payload => l_payload, /* OUT */
3596: msgid => l_message_handle); /* OUT */

Line 3599: dbms_aq.Dequeue(queue_name => l_queue_name,

3595: payload => l_payload, /* OUT */
3596: msgid => l_message_handle); /* OUT */
3597:
3598: elsif l_data_type = 'AQ$_JMS_TEXT_MESSAGE' then
3599: dbms_aq.Dequeue(queue_name => l_queue_name,
3600: dequeue_options => l_dequeue_options,
3601: message_properties => l_message_properties, /* OUT */
3602: payload => l_payload_jms, /* OUT */
3603: msgid => l_message_handle); /* OUT */