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: -- find out the schema name

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

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;
737:
738: -- if message_handle is set then use it instead of correlation
739: -- NOTE: if message_handle is set FIRST/NEXT_MESSAGE dont have effect

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

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

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

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

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

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

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

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

Line 910: enqueue_options dbms_aq.enqueue_options_t;

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

Line 911: message_properties dbms_aq.message_properties_t;

907:
908: as
909: event system.wf_payload_t;
910: enqueue_options dbms_aq.enqueue_options_t;
911: message_properties dbms_aq.message_properties_t;
912: l_increment_delay number;
913: l_min_delay number;
914: l_background_occurrence number;
915: l_inst_id WF_ITEMS.INST_ID%TYPE;

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 1037: dbms_aq.enqueue

1033: if priority is not null then
1034: message_properties.priority := priority;
1035: end if;
1036:
1037: dbms_aq.enqueue
1038: (
1039: queue_name => Enqueue_Event.queuename,
1040: enqueue_options => enqueue_options,
1041: message_properties => message_properties,

Line 1093: navigation := dbms_aq.FIRST_MESSAGE;

1089:
1090: -- loop through the inbound queue.
1091: loop --Process until nothing left on the queue
1092:
1093: navigation := dbms_aq.FIRST_MESSAGE;
1094: nothing_processed :=TRUE;
1095:
1096: loop -- Process till timeout
1097:

Line 1104: dbms_aq.LOCKED,

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,
1108: message_handle,

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

1109: timeout);
1110:
1111: -- if no message is found, the message may be enqueued with the
1112: -- old correlation format, so reset the correlation id and retry.
1113: if (navigation = dbms_aq.FIRST_MESSAGE and message_handle is null
1114: and correlation is null and lcorrelation <> nvl(itemtype,'%')) then
1115:
1116: lcorrelation := nvl(itemtype,'%');
1117: goto nextmesg;

Line 1149: navigation := dbms_aq.NEXT_MESSAGE;

1145: -- commit any processing or any clean up
1146: commit;
1147: Fnd_Concurrent.Set_Preferred_RBS;
1148:
1149: navigation := dbms_aq.NEXT_MESSAGE;
1150:
1151: <> -- This is for the case when we reset the corrid and verify
1152: null;
1153: end loop; -- process till timeout

Line 1210: navigation := dbms_aq.FIRST_MESSAGE;

1206: end if;
1207:
1208: loop -- keep processing the queue until there is nothing left
1209:
1210: navigation := dbms_aq.FIRST_MESSAGE;
1211: nothing_processed :=TRUE;
1212:
1213: loop -- keep processing until a timeout.
1214:

Line 1218: dbms_aq.LOCKED,

1214:
1215: message_handle:=null;
1216: wf_queue.Dequeue_Event(
1217: wf_queue.DeferredQueue,
1218: dbms_aq.LOCKED,
1219: navigation,
1220: lcorrelation,
1221: payload,
1222: message_handle,

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

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
1235: and correlation is null and lcorrelation = itemtype) then
1236:
1237: lcorrelation := wf_queue.account_name||nvl(itemtype,'%');
1238:

Line 1280: navigation := dbms_aq.NEXT_MESSAGE;

1276: if wf_queue.check_instance then
1277: raise shutdown_pending;
1278: end if;
1279:
1280: navigation := dbms_aq.NEXT_MESSAGE;
1281:
1282: end if;
1283: end loop; -- process till time out
1284:

Line 1316: dequeue_options dbms_aq.dequeue_options_t;

1312: correlation in varchar2 default null,
1313: multiconsumer in boolean default FALSE) return raw
1314: is
1315: event system.wf_payload_t;
1316: dequeue_options dbms_aq.dequeue_options_t;
1317: message_properties dbms_aq.message_properties_t;
1318: msg_id raw(16);
1319: begin
1320: dequeue_options.dequeue_mode := dbms_aq.BROWSE;

Line 1317: message_properties dbms_aq.message_properties_t;

1313: multiconsumer in boolean default FALSE) return raw
1314: is
1315: event system.wf_payload_t;
1316: dequeue_options dbms_aq.dequeue_options_t;
1317: message_properties dbms_aq.message_properties_t;
1318: msg_id raw(16);
1319: begin
1320: dequeue_options.dequeue_mode := dbms_aq.BROWSE;
1321: dequeue_options.wait := dbms_aq.NO_WAIT;

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

1316: dequeue_options dbms_aq.dequeue_options_t;
1317: message_properties dbms_aq.message_properties_t;
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;

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

1317: message_properties dbms_aq.message_properties_t;
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

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

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;
1335: dbms_aq.dequeue
1336: (
1337: queue_name => queuename,
1338: dequeue_options => dequeue_options,

Line 1335: dbms_aq.dequeue

1331: end if;
1332:
1333: --execute first read
1334: dequeue_options.navigation := dbms_aq.FIRST_MESSAGE;
1335: dbms_aq.dequeue
1336: (
1337: queue_name => queuename,
1338: dequeue_options => dequeue_options,
1339: message_properties => message_properties,

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

1348: end if;
1349:
1350: -- loop with next message
1351: LOOP
1352: dequeue_options.navigation := dbms_aq.NEXT_MESSAGE;
1353: dbms_aq.dequeue
1354: (
1355: queue_name => queuename,
1356: dequeue_options => dequeue_options,

Line 1353: dbms_aq.dequeue

1349:
1350: -- loop with next message
1351: LOOP
1352: dequeue_options.navigation := dbms_aq.NEXT_MESSAGE;
1353: dbms_aq.dequeue
1354: (
1355: queue_name => queuename,
1356: dequeue_options => dequeue_options,
1357: message_properties => message_properties,

Line 1384: x_dequeue_options dbms_aq.dequeue_options_t;

1380: procedure DequeueException (queuename in varchar2)
1381: is
1382:
1383: l_event wf_event_t;
1384: x_dequeue_options dbms_aq.dequeue_options_t;
1385: x_message_properties dbms_aq.message_properties_t;
1386: x_msgid RAW(16);
1387: erragt wf_agent_t;
1388: lsysname varchar2(30);

Line 1385: x_message_properties dbms_aq.message_properties_t;

1381: is
1382:
1383: l_event wf_event_t;
1384: x_dequeue_options dbms_aq.dequeue_options_t;
1385: x_message_properties dbms_aq.message_properties_t;
1386: x_msgid RAW(16);
1387: erragt wf_agent_t;
1388: lsysname varchar2(30);
1389: cmd varchar2(1000);

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

1397: x_dequeue_options.wait := 1;
1398:
1399: loop
1400: begin
1401: dbms_aq.dequeue(queue_name => queuename,
1402: dequeue_options => x_dequeue_options,
1403: message_properties => x_message_properties, /* OUT */
1404: payload => l_event, /* OUT */
1405: msgid => x_msgid); /* OUT */

Line 1979: dequeue_options dbms_aq.dequeue_options_t;

1975: l_error_msg varchar2(240);
1976:
1977: l_more_data BOOLEAN := TRUE;
1978: l_message system.wf_message_payload_t;
1979: dequeue_options dbms_aq.dequeue_options_t;
1980: message_properties dbms_aq.message_properties_t;
1981: ii number := 0;
1982: l_loc number := 1;
1983: l_message_contents VARCHAR2(32000);

Line 1980: message_properties dbms_aq.message_properties_t;

1976:
1977: l_more_data BOOLEAN := TRUE;
1978: l_message system.wf_message_payload_t;
1979: dequeue_options dbms_aq.dequeue_options_t;
1980: message_properties dbms_aq.message_properties_t;
1981: ii number := 0;
1982: l_loc number := 1;
1983: l_message_contents VARCHAR2(32000);
1984: l_message_offset binary_integer := 16000;

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

2027:
2028: /*
2029: ** Create a page with a form field with the message payload
2030: */
2031: dequeue_options.dequeue_mode := dbms_aq.BROWSE;
2032: dequeue_options.wait := dbms_aq.NO_WAIT;
2033: dequeue_options.navigation := dbms_aq.FIRST_MESSAGE;
2034:
2035: l_queue_name := wf_core.translate('WF_SCHEMA')||'.'||'WF_'||p_protocol||'_'||substr(p_inbound_outbound, 1, 1)||'_'||

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

2028: /*
2029: ** Create a page with a form field with the message payload
2030: */
2031: dequeue_options.dequeue_mode := dbms_aq.BROWSE;
2032: dequeue_options.wait := dbms_aq.NO_WAIT;
2033: dequeue_options.navigation := dbms_aq.FIRST_MESSAGE;
2034:
2035: l_queue_name := wf_core.translate('WF_SCHEMA')||'.'||'WF_'||p_protocol||'_'||substr(p_inbound_outbound, 1, 1)||'_'||
2036: to_char(p_queue_number)||'_QUEUE';

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

2029: ** Create a page with a form field with the message payload
2030: */
2031: dequeue_options.dequeue_mode := dbms_aq.BROWSE;
2032: dequeue_options.wait := dbms_aq.NO_WAIT;
2033: dequeue_options.navigation := dbms_aq.FIRST_MESSAGE;
2034:
2035: l_queue_name := wf_core.translate('WF_SCHEMA')||'.'||'WF_'||p_protocol||'_'||substr(p_inbound_outbound, 1, 1)||'_'||
2036: to_char(p_queue_number)||'_QUEUE';
2037:

Line 2038: dbms_aq.dequeue

2034:
2035: l_queue_name := wf_core.translate('WF_SCHEMA')||'.'||'WF_'||p_protocol||'_'||substr(p_inbound_outbound, 1, 1)||'_'||
2036: to_char(p_queue_number)||'_QUEUE';
2037:
2038: dbms_aq.dequeue
2039: (queue_name => l_queue_name,
2040: dequeue_options => dequeue_options,
2041: message_properties => message_properties,
2042: payload => l_message,

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

2042: payload => l_message,
2043: msgid => l_msg_id
2044: );
2045:
2046: dequeue_options.navigation := dbms_aq.NEXT_MESSAGE;
2047:
2048: -- Loop until you reach the requested message
2049: for ii in 2..p_message_number loop
2050:

Line 2053: dbms_aq.dequeue

2049: for ii in 2..p_message_number loop
2050:
2051: htp.p (to_char(ii));
2052:
2053: dbms_aq.dequeue
2054: (queue_name => l_queue_name,
2055: dequeue_options => dequeue_options,
2056: message_properties => message_properties,
2057: payload => l_message,

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

2443:
2444: /*
2445: ** Stop the queue
2446: */
2447: dbms_aqadm.stop_queue(queue_name => wf_core.translate('WF_SCHEMA')||'.'||'WF_'||
2448: p_protocol||'_'||substr(p_inbound_outbound, 1, 1)||'_'||
2449: to_char(ii)||'_QUEUE');
2450: /*
2451: ** Delete the Queues

Line 2453: dbms_aqadm.drop_queue(

2449: to_char(ii)||'_QUEUE');
2450: /*
2451: ** Delete the Queues
2452: */
2453: dbms_aqadm.drop_queue(
2454: queue_name => wf_core.translate('WF_SCHEMA')||'.'||'WF_'||p_protocol||'_'||
2455: substr(p_inbound_outbound, 1, 1)||'_'||to_char(ii)||'_QUEUE');
2456:
2457: /*

Line 2460: dbms_aqadm.drop_queue_table (

2456:
2457: /*
2458: ** Delete the Queue Table
2459: */
2460: dbms_aqadm.drop_queue_table (
2461: queue_table => wf_core.translate('WF_SCHEMA')||'.'||'WF_'||p_protocol||'_'||substr(p_inbound_outbound, 1, 1)||'_'||to_char(ii)||'_TABLE');
2462:
2463: end loop;
2464:

Line 2635: dbms_aqadm.create_queue_table (

2631:
2632: /*
2633: ** Create New Queue Table
2634: */
2635: dbms_aqadm.create_queue_table (
2636: queue_table => wf_core.translate('WF_SCHEMA')||'.'||'WF_'||p_protocol||'_'||substr(p_inbound_outbound, 1, 1)||'_'||to_char(ii)||'_TABLE',
2637: queue_payload_type => 'SYSTEM.WF_MESSAGE_PAYLOAD_T',
2638: storage_clause => 'storage (initial 1m next 1m pctincrease 0 )',
2639: sort_list => 'PRIORITY,ENQ_TIME',

Line 2646: dbms_aqadm.create_queue(

2642:
2643: /*
2644: ** Create New Queues
2645: */
2646: dbms_aqadm.create_queue(
2647: queue_name => wf_core.translate('WF_SCHEMA')||'.'||'WF_'||p_protocol||'_'||
2648: substr(p_inbound_outbound, 1, 1)||'_'||to_char(ii)||'_QUEUE',
2649: queue_table => wf_core.translate('WF_SCHEMA')||'.'||'WF_'||p_protocol||'_'||
2650: substr(p_inbound_outbound, 1, 1)||'_'||to_char(ii)||'_TABLE',

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

2655:
2656: /*
2657: ** Start the queue
2658: */
2659: dbms_aqadm.start_queue(queue_name => wf_core.translate('WF_SCHEMA')||'.'||
2660: 'WF_'||p_protocol||'_'||
2661: substr(p_inbound_outbound, 1, 1)|| '_'||to_char(ii)||'_QUEUE');
2662:
2663: end loop;

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

2865: raise;
2866: end;
2867:
2868: if l_exception_queue <> '' and l_dequeue_enabled = 'NO' then
2869: dbms_aqadm.start_queue(queue_name => l_exception_queue,
2870: enqueue => FALSE,
2871: dequeue => TRUE);
2872: end if;
2873: return l_exception_queue;

Line 2892: DBMS_AQADM.Add_Subscriber(

2888: lagent sys.aq$_agent;
2889: begin
2890: lagent := sys.aq$_agent(name,'',0);
2891:
2892: DBMS_AQADM.Add_Subscriber(
2893: queue_name=>queuename,
2894: subscriber=>lagent,
2895: rule=>'CORRID like '''||name||'%'''
2896: );

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 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 3130: l_dequeue_options dbms_aq.dequeue_options_t;

3126: l_object_type varchar2(100);
3127: l_obj_type varchar2(100);
3128: l_pos number := 0;
3129: l_timeout integer;
3130: l_dequeue_options dbms_aq.dequeue_options_t;
3131: l_enqueue_options dbms_aq.enqueue_options_t;
3132: l_message_properties dbms_aq.message_properties_t;
3133: l_payload_evt wf_event_t;
3134: l_payload_jms sys.aq$_JMS_TEXT_MESSAGE;

Line 3131: l_enqueue_options dbms_aq.enqueue_options_t;

3127: l_obj_type varchar2(100);
3128: l_pos number := 0;
3129: l_timeout integer;
3130: l_dequeue_options dbms_aq.dequeue_options_t;
3131: l_enqueue_options dbms_aq.enqueue_options_t;
3132: l_message_properties dbms_aq.message_properties_t;
3133: l_payload_evt wf_event_t;
3134: l_payload_jms sys.aq$_JMS_TEXT_MESSAGE;
3135: l_msg_id raw(16);

Line 3132: l_message_properties dbms_aq.message_properties_t;

3128: l_pos number := 0;
3129: l_timeout integer;
3130: l_dequeue_options dbms_aq.dequeue_options_t;
3131: l_enqueue_options dbms_aq.enqueue_options_t;
3132: l_message_properties dbms_aq.message_properties_t;
3133: l_payload_evt wf_event_t;
3134: l_payload_jms sys.aq$_JMS_TEXT_MESSAGE;
3135: l_msg_id raw(16);
3136: invalid_agent exception;

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

3173: l_pos := instr(l_object_type, '.', 1, 1);
3174: l_obj_type := substr(l_object_type, l_pos+1);
3175:
3176: l_timeout := 0;
3177: l_dequeue_options.dequeue_mode := dbms_aq.REMOVE;
3178: l_dequeue_options.wait := dbms_aq.NO_WAIT;
3179: l_dequeue_options.consumer_name := null;
3180: l_enqueue_options.visibility := dbms_aq.ON_COMMIT;
3181:

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

3174: l_obj_type := substr(l_object_type, l_pos+1);
3175:
3176: l_timeout := 0;
3177: l_dequeue_options.dequeue_mode := dbms_aq.REMOVE;
3178: l_dequeue_options.wait := dbms_aq.NO_WAIT;
3179: l_dequeue_options.consumer_name := null;
3180: l_enqueue_options.visibility := dbms_aq.ON_COMMIT;
3181:
3182: if l_obj_type = 'WF_EVENT_T' then

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

3176: l_timeout := 0;
3177: l_dequeue_options.dequeue_mode := dbms_aq.REMOVE;
3178: l_dequeue_options.wait := dbms_aq.NO_WAIT;
3179: l_dequeue_options.consumer_name := null;
3180: l_enqueue_options.visibility := dbms_aq.ON_COMMIT;
3181:
3182: if l_obj_type = 'WF_EVENT_T' then
3183: wf_event_t.Initialize(l_payload_evt);
3184: while (l_timeout = 0) loop

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

3183: wf_event_t.Initialize(l_payload_evt);
3184: while (l_timeout = 0) loop
3185: begin
3186: --Dequeue the message from the exception queue
3187: dbms_aq.Dequeue(queue_name => l_schema || '.' || l_excp_qname,
3188: dequeue_options => l_dequeue_options,
3189: message_properties => l_message_properties,
3190: payload => l_payload_evt,
3191: msgid => l_msg_id);

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

3190: payload => l_payload_evt,
3191: msgid => l_msg_id);
3192: l_timeout := 0;
3193: --Enqueue the message in the normal queue
3194: l_message_properties.expiration := dbms_aq.never;
3195: if (upper(p_agent_name) = 'WF_ERROR' OR upper(p_agent_name) = 'WF_IN'
3196: OR upper(p_agent_name) = 'WF_OUT') then
3197: l_message_properties.recipient_list(1) := sys.aq$_agent(p_agent_name,
3198: null,

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

3197: l_message_properties.recipient_list(1) := sys.aq$_agent(p_agent_name,
3198: null,
3199: 0);
3200: end if;
3201: dbms_aq.enqueue(queue_name => l_queue_name,
3202: enqueue_options => l_enqueue_options,
3203: message_properties => l_message_properties,
3204: payload => l_payload_evt,
3205: msgid => l_msg_id);

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

3217: l_timeout := 0;
3218: while (l_timeout = 0) loop
3219: begin
3220: --Dequeue the message from the exception queue
3221: dbms_aq.Dequeue(queue_name => l_schema || '.' || l_excp_qname,
3222: dequeue_options => l_dequeue_options,
3223: message_properties => l_message_properties,
3224: payload => l_payload_jms,
3225: msgid => l_msg_id);

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

3224: payload => l_payload_jms,
3225: msgid => l_msg_id);
3226: l_timeout := 0;
3227: --Enqueue the message in the normal queue of the given agent
3228: l_message_properties.expiration := dbms_aq.never;
3229: dbms_aq.enqueue(queue_name => l_queue_name,
3230: enqueue_options => l_enqueue_options,
3231: message_properties => l_message_properties,
3232: payload => l_payload_jms,

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

3225: msgid => l_msg_id);
3226: l_timeout := 0;
3227: --Enqueue the message in the normal queue of the given agent
3228: l_message_properties.expiration := dbms_aq.never;
3229: dbms_aq.enqueue(queue_name => l_queue_name,
3230: enqueue_options => l_enqueue_options,
3231: message_properties => l_message_properties,
3232: payload => l_payload_jms,
3233: msgid => l_msg_id);

Line 3295: l_dequeue_options dbms_aq.dequeue_options_t;

3291: l_account_name varchar2(30);
3292: l_payload wf_event_t;
3293: l_msgid raw(16);
3294: l_message_handle raw(16) := NULL;
3295: l_dequeue_options dbms_aq.dequeue_options_t;
3296: l_message_properties dbms_aq.message_properties_t;
3297:
3298: -- Bug 6112028
3299: l_data_type VARCHAR2(106);

Line 3296: l_message_properties dbms_aq.message_properties_t;

3292: l_payload wf_event_t;
3293: l_msgid raw(16);
3294: l_message_handle raw(16) := NULL;
3295: l_dequeue_options dbms_aq.dequeue_options_t;
3296: l_message_properties dbms_aq.message_properties_t;
3297:
3298: -- Bug 6112028
3299: l_data_type VARCHAR2(106);
3300: l_payload_jms SYS.AQ$_JMS_TEXT_MESSAGE;

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

3334: l_data_type := substr(l_data_type, l_pos+1);
3335:
3336: --No processing is done on the payload data
3337: --So dequeue is done in the REMOVE_NODATA mode
3338: l_dequeue_options.navigation := dbms_aq.FIRST_MESSAGE;
3339: l_dequeue_options.dequeue_mode := dbms_aq.REMOVE_NODATA;
3340: l_dequeue_options.wait := dbms_aq.NO_WAIT;
3341: l_dequeue_options.consumer_name := upper(p_agent_name);
3342:

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

3335:
3336: --No processing is done on the payload data
3337: --So dequeue is done in the REMOVE_NODATA mode
3338: l_dequeue_options.navigation := dbms_aq.FIRST_MESSAGE;
3339: l_dequeue_options.dequeue_mode := dbms_aq.REMOVE_NODATA;
3340: l_dequeue_options.wait := dbms_aq.NO_WAIT;
3341: l_dequeue_options.consumer_name := upper(p_agent_name);
3342:
3343: --Set the Correlation ID for dequeue only if available

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

3336: --No processing is done on the payload data
3337: --So dequeue is done in the REMOVE_NODATA mode
3338: l_dequeue_options.navigation := dbms_aq.FIRST_MESSAGE;
3339: l_dequeue_options.dequeue_mode := dbms_aq.REMOVE_NODATA;
3340: l_dequeue_options.wait := dbms_aq.NO_WAIT;
3341: l_dequeue_options.consumer_name := upper(p_agent_name);
3342:
3343: --Set the Correlation ID for dequeue only if available
3344: --If the given agent is a Workflow Agent then append the

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

3363: while (l_timeout = 0) loop
3364: begin
3365:
3366: if (l_data_type = 'WF_EVENT_T') then
3367: dbms_aq.Dequeue(queue_name => l_queue_name,
3368: dequeue_options => l_dequeue_options,
3369: message_properties => l_message_properties, /* OUT */
3370: payload => l_payload, /* OUT */
3371: msgid => l_message_handle); /* OUT */

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

3369: message_properties => l_message_properties, /* OUT */
3370: payload => l_payload, /* OUT */
3371: msgid => l_message_handle); /* OUT */
3372: elsif l_data_type = 'AQ$_JMS_TEXT_MESSAGE' then
3373: dbms_aq.Dequeue(queue_name => l_queue_name,
3374: dequeue_options => l_dequeue_options,
3375: message_properties => l_message_properties, /* OUT */
3376: payload => l_payload_jms, /* OUT */
3377: msgid => l_message_handle); /* OUT */

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

3393: when snap_too_old then
3394: --Workaround for AQ when receiving ORA-01555 using NEXT_MESSAGE as
3395: --navigation. We will try to set to FIRST_MESSAGE and dequeue to
3396: --silently handle this exception.
3397: if (l_dequeue_options.navigation = dbms_aq.FIRST_MESSAGE) then
3398: raise;
3399: else
3400: l_dequeue_options.navigation := dbms_aq.FIRST_MESSAGE;
3401:

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

3396: --silently handle this exception.
3397: if (l_dequeue_options.navigation = dbms_aq.FIRST_MESSAGE) then
3398: raise;
3399: else
3400: l_dequeue_options.navigation := dbms_aq.FIRST_MESSAGE;
3401:
3402: if (l_data_type = 'WF_EVENT_T') then
3403: dbms_aq.Dequeue(queue_name => l_queue_name,
3404: dequeue_options => l_dequeue_options,

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

3399: else
3400: l_dequeue_options.navigation := dbms_aq.FIRST_MESSAGE;
3401:
3402: if (l_data_type = 'WF_EVENT_T') then
3403: dbms_aq.Dequeue(queue_name => l_queue_name,
3404: dequeue_options => l_dequeue_options,
3405: message_properties => l_message_properties, /* OUT */
3406: payload => l_payload, /* OUT */
3407: msgid => l_message_handle); /* OUT */

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

3406: payload => l_payload, /* OUT */
3407: msgid => l_message_handle); /* OUT */
3408:
3409: elsif l_data_type = 'AQ$_JMS_TEXT_MESSAGE' then
3410: dbms_aq.Dequeue(queue_name => l_queue_name,
3411: dequeue_options => l_dequeue_options,
3412: message_properties => l_message_properties, /* OUT */
3413: payload => l_payload_jms, /* OUT */
3414: msgid => l_message_handle); /* OUT */

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

3424: when others then
3425: raise;
3426: end;
3427:
3428: l_dequeue_options.navigation := dbms_aq.NEXT_MESSAGE;
3429: --Commit if commit frequency
3430: if l_xcount >= p_commit_frequency then
3431: commit;
3432: p_msg_count := p_msg_count + l_xcount;

Line 3481: l_dequeue_options dbms_aq.dequeue_options_t;

3477: l_account_name varchar2(30);
3478: l_payload wf_event_t;
3479: l_msgid raw(16);
3480: l_message_handle raw(16) := NULL;
3481: l_dequeue_options dbms_aq.dequeue_options_t;
3482: l_message_properties dbms_aq.message_properties_t;
3483:
3484: -- Bug 6112028
3485: l_data_type VARCHAR2(106);

Line 3482: l_message_properties dbms_aq.message_properties_t;

3478: l_payload wf_event_t;
3479: l_msgid raw(16);
3480: l_message_handle raw(16) := NULL;
3481: l_dequeue_options dbms_aq.dequeue_options_t;
3482: l_message_properties dbms_aq.message_properties_t;
3483:
3484: -- Bug 6112028
3485: l_data_type VARCHAR2(106);
3486: l_payload_jms SYS.AQ$_JMS_TEXT_MESSAGE;

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

3524: l_data_type := substr(l_data_type, l_pos+1);
3525:
3526: --No processing is done on the payload data
3527: --So dequeue is done in the REMOVE_NODATA mode
3528: l_dequeue_options.navigation := dbms_aq.FIRST_MESSAGE;
3529: l_dequeue_options.dequeue_mode := dbms_aq.REMOVE_NODATA;
3530: l_dequeue_options.wait := dbms_aq.NO_WAIT;
3531: l_dequeue_options.consumer_name := upper(p_agent_name);
3532: --

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

3525:
3526: --No processing is done on the payload data
3527: --So dequeue is done in the REMOVE_NODATA mode
3528: l_dequeue_options.navigation := dbms_aq.FIRST_MESSAGE;
3529: l_dequeue_options.dequeue_mode := dbms_aq.REMOVE_NODATA;
3530: l_dequeue_options.wait := dbms_aq.NO_WAIT;
3531: l_dequeue_options.consumer_name := upper(p_agent_name);
3532: --
3533: --Set the Correlation ID for dequeue only if available

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

3526: --No processing is done on the payload data
3527: --So dequeue is done in the REMOVE_NODATA mode
3528: l_dequeue_options.navigation := dbms_aq.FIRST_MESSAGE;
3529: l_dequeue_options.dequeue_mode := dbms_aq.REMOVE_NODATA;
3530: l_dequeue_options.wait := dbms_aq.NO_WAIT;
3531: l_dequeue_options.consumer_name := upper(p_agent_name);
3532: --
3533: --Set the Correlation ID for dequeue only if available
3534: --If the given agent is a Workflow Agent then append the

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

3576: l_dequeue_options.msgid := l_msgid;
3577: begin
3578:
3579: if (l_data_type = 'WF_EVENT_T') then
3580: dbms_aq.Dequeue(queue_name => l_queue_name,
3581: dequeue_options => l_dequeue_options,
3582: message_properties => l_message_properties,
3583: payload => l_payload,
3584: msgid => l_message_handle);

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

3583: payload => l_payload,
3584: msgid => l_message_handle);
3585: elsif l_data_type = 'AQ$_JMS_TEXT_MESSAGE' then
3586:
3587: dbms_aq.Dequeue(queue_name => l_queue_name,
3588: dequeue_options => l_dequeue_options,
3589: message_properties => l_message_properties,
3590: payload => l_payload_jms,
3591: msgid => l_message_handle);

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

3602: when snap_too_old then
3603: --Workaround for AQ when receiving ORA-01555 using NEXT_MESSAGE as
3604: --navigation. We will try to set to FIRST_MESSAGE and dequeue to
3605: --silently handle this exception.
3606: if (l_dequeue_options.navigation = dbms_aq.FIRST_MESSAGE) then
3607: raise;
3608: else
3609: l_dequeue_options.navigation := dbms_aq.FIRST_MESSAGE;
3610:

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

3605: --silently handle this exception.
3606: if (l_dequeue_options.navigation = dbms_aq.FIRST_MESSAGE) then
3607: raise;
3608: else
3609: l_dequeue_options.navigation := dbms_aq.FIRST_MESSAGE;
3610:
3611: if (l_data_type = 'WF_EVENT_T') then
3612: dbms_aq.Dequeue(queue_name => l_queue_name,
3613: dequeue_options => l_dequeue_options,

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

3608: else
3609: l_dequeue_options.navigation := dbms_aq.FIRST_MESSAGE;
3610:
3611: if (l_data_type = 'WF_EVENT_T') then
3612: dbms_aq.Dequeue(queue_name => l_queue_name,
3613: dequeue_options => l_dequeue_options,
3614: message_properties => l_message_properties, /* OUT */
3615: payload => l_payload, /* OUT */
3616: msgid => l_message_handle); /* OUT */

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

3615: payload => l_payload, /* OUT */
3616: msgid => l_message_handle); /* OUT */
3617:
3618: elsif l_data_type = 'AQ$_JMS_TEXT_MESSAGE' then
3619: dbms_aq.Dequeue(queue_name => l_queue_name,
3620: dequeue_options => l_dequeue_options,
3621: message_properties => l_message_properties, /* OUT */
3622: payload => l_payload_jms, /* OUT */
3623: msgid => l_message_handle); /* OUT */