46: pragma AUTONOMOUS_TRANSACTION;
47:
48: Begin
49: if cpid is not null then
50: DBMS_AQADM.REMOVE_SUBSCRIBER(queue_name =>Q_Schema||'.FND_CP_GSM_IPC_AQ',
51: subscriber => sys.aq$_agent('FNDCPGSMIPC_Cartridge_'||to_char(cpid),
52: NULL, NULL));
53:
54: DBMS_AQADM.REMOVE_SUBSCRIBER(queue_name =>Q_Schema||'.FND_CP_GSM_IPC_AQ',
50: DBMS_AQADM.REMOVE_SUBSCRIBER(queue_name =>Q_Schema||'.FND_CP_GSM_IPC_AQ',
51: subscriber => sys.aq$_agent('FNDCPGSMIPC_Cartridge_'||to_char(cpid),
52: NULL, NULL));
53:
54: DBMS_AQADM.REMOVE_SUBSCRIBER(queue_name =>Q_Schema||'.FND_CP_GSM_IPC_AQ',
55: subscriber => sys.aq$_agent('FNDCPGSMIPC_Service_'||to_char(cpid),
56: NULL, NULL));
57: else
58: sql_stmt := 'declare ';
63:
64: sql_stmt := sql_stmt || ' begin ';
65: sql_stmt := sql_stmt || ' for c1rec in c1 loop ';
66:
67: sql_stmt := sql_stmt || 'DBMS_AQADM.REMOVE_SUBSCRIBER(queue_name => ''';
68: sql_stmt := sql_stmt || Q_Schema || '.FND_CP_GSM_IPC_AQ'', ';
69: sql_stmt := sql_stmt || 'subscriber=>sys.aq$_agent(c1rec.name,NULL,NULL));';
70:
71: sql_stmt := sql_stmt || ' end loop; ';
93: procedure Init_Cartridge is
94:
95: Not_Done Boolean;
96: PAYLOAD system.FND_CP_GSM_IPQ_AQ_PAYLOAD;
97: dq_opts DBMS_AQ.DEQUEUE_OPTIONS_T;
98: msg_props DBMS_AQ.MESSAGE_PROPERTIES_T;
99: msgid raw(16);
100:
101: pragma AUTONOMOUS_TRANSACTION;
94:
95: Not_Done Boolean;
96: PAYLOAD system.FND_CP_GSM_IPQ_AQ_PAYLOAD;
97: dq_opts DBMS_AQ.DEQUEUE_OPTIONS_T;
98: msg_props DBMS_AQ.MESSAGE_PROPERTIES_T;
99: msgid raw(16);
100:
101: pragma AUTONOMOUS_TRANSACTION;
102:
102:
103: Begin
104: /* we should clear expired messages out of exception queue */
105: dq_opts.consumer_name := NULL;
106: dq_opts.DEQUEUE_MODE := DBMS_AQ.REMOVE;
107: dq_opts.NAVIGATION := DBMS_AQ.FIRST_MESSAGE;
108: dq_opts.VISIBILITY := DBMS_AQ.ON_COMMIT;
109: dq_opts.WAIT := DBMS_AQ.NO_WAIT;
110: dq_opts.MSGID := NULL;
103: Begin
104: /* we should clear expired messages out of exception queue */
105: dq_opts.consumer_name := NULL;
106: dq_opts.DEQUEUE_MODE := DBMS_AQ.REMOVE;
107: dq_opts.NAVIGATION := DBMS_AQ.FIRST_MESSAGE;
108: dq_opts.VISIBILITY := DBMS_AQ.ON_COMMIT;
109: dq_opts.WAIT := DBMS_AQ.NO_WAIT;
110: dq_opts.MSGID := NULL;
111:
104: /* we should clear expired messages out of exception queue */
105: dq_opts.consumer_name := NULL;
106: dq_opts.DEQUEUE_MODE := DBMS_AQ.REMOVE;
107: dq_opts.NAVIGATION := DBMS_AQ.FIRST_MESSAGE;
108: dq_opts.VISIBILITY := DBMS_AQ.ON_COMMIT;
109: dq_opts.WAIT := DBMS_AQ.NO_WAIT;
110: dq_opts.MSGID := NULL;
111:
112: Not_Done := TRUE;
105: dq_opts.consumer_name := NULL;
106: dq_opts.DEQUEUE_MODE := DBMS_AQ.REMOVE;
107: dq_opts.NAVIGATION := DBMS_AQ.FIRST_MESSAGE;
108: dq_opts.VISIBILITY := DBMS_AQ.ON_COMMIT;
109: dq_opts.WAIT := DBMS_AQ.NO_WAIT;
110: dq_opts.MSGID := NULL;
111:
112: Not_Done := TRUE;
113:
112: Not_Done := TRUE;
113:
114: while Not_Done LOOP
115: begin
116: DBMS_AQ.DEQUEUE(QUEUE_NAME=>Q_Schema||'.AQ$_FND_CP_GSM_IPC_AQTBL_E',
117: DEQUEUE_OPTIONS => dq_opts,
118: MESSAGE_PROPERTIES => msg_props,
119: PAYLOAD => payload,
120: MSGID => msgid);
159:
160: pragma AUTONOMOUS_TRANSACTION;
161:
162: begin
163: DBMS_AQADM.ADD_SUBSCRIBER(queue_name =>Q_Schema||'.FND_CP_GSM_IPC_AQ',
164: subscriber => sys.aq$_agent('FNDCPGSMIPC_Cartridge_'||to_char(cpid),
165: NULL, NULL));
166:
167: DBMS_AQADM.ADD_SUBSCRIBER(queue_name =>Q_Schema||'.FND_CP_GSM_IPC_AQ',
163: DBMS_AQADM.ADD_SUBSCRIBER(queue_name =>Q_Schema||'.FND_CP_GSM_IPC_AQ',
164: subscriber => sys.aq$_agent('FNDCPGSMIPC_Cartridge_'||to_char(cpid),
165: NULL, NULL));
166:
167: DBMS_AQADM.ADD_SUBSCRIBER(queue_name =>Q_Schema||'.FND_CP_GSM_IPC_AQ',
168: subscriber => sys.aq$_agent('FNDCPGSMIPC_Service_'||to_char(cpid),
169: NULL, NULL));
170:
171: Send_Message(cpid,'Initialize',Params,Debug_Level);
194: Parameters in Varchar2,
195: Debug_Level in Varchar2) is
196:
197:
198: enq_opts DBMS_AQ.enqueue_options_t;
199: msg_props DBMS_AQ.message_properties_t;
200: msg_id raw(16);
201: msg system.FND_CP_GSM_IPQ_AQ_PAYLOAD;
202: sessionid number;
195: Debug_Level in Varchar2) is
196:
197:
198: enq_opts DBMS_AQ.enqueue_options_t;
199: msg_props DBMS_AQ.message_properties_t;
200: msg_id raw(16);
201: msg system.FND_CP_GSM_IPQ_AQ_PAYLOAD;
202: sessionid number;
203:
206: begin
207: msg := system.FND_CP_GSM_IPQ_AQ_PAYLOAD(
208: Handle,Message,Parameters,Debug_Level);
209:
210: enq_opts.visibility := DBMS_AQ.ON_COMMIT;
211: enq_opts.sequence_deviation := NULL;
212: msg_props.delay := DBMS_AQ.NO_DELAY;
213: msg_props.expiration := 365 * 24 * 3600; -- One Year
214: msg_props.recipient_list(1) := sys.aq$_agent(
208: Handle,Message,Parameters,Debug_Level);
209:
210: enq_opts.visibility := DBMS_AQ.ON_COMMIT;
211: enq_opts.sequence_deviation := NULL;
212: msg_props.delay := DBMS_AQ.NO_DELAY;
213: msg_props.expiration := 365 * 24 * 3600; -- One Year
214: msg_props.recipient_list(1) := sys.aq$_agent(
215: 'FNDCPGSMIPC_Service_'||to_char(Handle),NULL, NULL);
216: msg_props.sender_id := sys.aq$_agent(
215: 'FNDCPGSMIPC_Service_'||to_char(Handle),NULL, NULL);
216: msg_props.sender_id := sys.aq$_agent(
217: 'FNDCPGSMIPC_Cartridge_'||to_char(Handle), NULL, NULL);
218:
219: DBMS_AQ.Enqueue( queue_name => Q_Schema||'.FND_CP_GSM_IPC_AQ',
220: enqueue_options => enq_opts,
221: message_properties => msg_props,
222: Payload => msg,
223: msgid => msg_id);
258: Status_Name Varchar2(30);
259: Status_code Varchar2(1);
260: More_Flag Varchar2(1);
261: PAYLOAD system.FND_CP_GSM_IPQ_AQ_PAYLOAD;
262: dq_opts DBMS_AQ.DEQUEUE_OPTIONS_T;
263: msg_props DBMS_AQ.MESSAGE_PROPERTIES_T;
264: msgid raw(16);
265: last_msg raw(16);
266:
259: Status_code Varchar2(1);
260: More_Flag Varchar2(1);
261: PAYLOAD system.FND_CP_GSM_IPQ_AQ_PAYLOAD;
262: dq_opts DBMS_AQ.DEQUEUE_OPTIONS_T;
263: msg_props DBMS_AQ.MESSAGE_PROPERTIES_T;
264: msgid raw(16);
265: last_msg raw(16);
266:
267: pragma AUTONOMOUS_TRANSACTION;
271:
272: while (Not_Done) LOOP -- Clear off excess messages
273:
274: dq_opts.consumer_name := 'FNDCPGSMIPC_Cartridge_'||to_char(Handle);
275: dq_opts.DEQUEUE_MODE := DBMS_AQ.BROWSE;
276: dq_opts.NAVIGATION := DBMS_AQ.FIRST_MESSAGE;
277: dq_opts.VISIBILITY := DBMS_AQ.ON_COMMIT;
278: dq_opts.WAIT := DBMS_AQ.NO_WAIT;
279: dq_opts.MSGID := NULL;
272: while (Not_Done) LOOP -- Clear off excess messages
273:
274: dq_opts.consumer_name := 'FNDCPGSMIPC_Cartridge_'||to_char(Handle);
275: dq_opts.DEQUEUE_MODE := DBMS_AQ.BROWSE;
276: dq_opts.NAVIGATION := DBMS_AQ.FIRST_MESSAGE;
277: dq_opts.VISIBILITY := DBMS_AQ.ON_COMMIT;
278: dq_opts.WAIT := DBMS_AQ.NO_WAIT;
279: dq_opts.MSGID := NULL;
280:
273:
274: dq_opts.consumer_name := 'FNDCPGSMIPC_Cartridge_'||to_char(Handle);
275: dq_opts.DEQUEUE_MODE := DBMS_AQ.BROWSE;
276: dq_opts.NAVIGATION := DBMS_AQ.FIRST_MESSAGE;
277: dq_opts.VISIBILITY := DBMS_AQ.ON_COMMIT;
278: dq_opts.WAIT := DBMS_AQ.NO_WAIT;
279: dq_opts.MSGID := NULL;
280:
281: DBMS_AQ.DEQUEUE(QUEUE_NAME=>Q_Schema||'.FND_CP_GSM_IPC_AQ',
274: dq_opts.consumer_name := 'FNDCPGSMIPC_Cartridge_'||to_char(Handle);
275: dq_opts.DEQUEUE_MODE := DBMS_AQ.BROWSE;
276: dq_opts.NAVIGATION := DBMS_AQ.FIRST_MESSAGE;
277: dq_opts.VISIBILITY := DBMS_AQ.ON_COMMIT;
278: dq_opts.WAIT := DBMS_AQ.NO_WAIT;
279: dq_opts.MSGID := NULL;
280:
281: DBMS_AQ.DEQUEUE(QUEUE_NAME=>Q_Schema||'.FND_CP_GSM_IPC_AQ',
282: DEQUEUE_OPTIONS => dq_opts,
277: dq_opts.VISIBILITY := DBMS_AQ.ON_COMMIT;
278: dq_opts.WAIT := DBMS_AQ.NO_WAIT;
279: dq_opts.MSGID := NULL;
280:
281: DBMS_AQ.DEQUEUE(QUEUE_NAME=>Q_Schema||'.FND_CP_GSM_IPC_AQ',
282: DEQUEUE_OPTIONS => dq_opts,
283: MESSAGE_PROPERTIES => msg_props,
284: PAYLOAD => payload,
285: MSGID => msgid);
286:
287: last_msg := msgid;
288: Status_Name := PAYLOAD.Message;
289:
290: dq_opts.NAVIGATION := DBMS_AQ.NEXT_MESSAGE;
291:
292: begin
293: DBMS_AQ.DEQUEUE(QUEUE_NAME=>Q_Schema||'.FND_CP_GSM_IPC_AQ',
294: DEQUEUE_OPTIONS => dq_opts,
289:
290: dq_opts.NAVIGATION := DBMS_AQ.NEXT_MESSAGE;
291:
292: begin
293: DBMS_AQ.DEQUEUE(QUEUE_NAME=>Q_Schema||'.FND_CP_GSM_IPC_AQ',
294: DEQUEUE_OPTIONS => dq_opts,
295: MESSAGE_PROPERTIES => msg_props,
296: PAYLOAD => payload,
297: MSGID => msgid);
304: Not_Done := FALSE;
305: else -- Kill the first message
306: dq_opts.CORRELATION := Null;
307: dq_opts.MSGID := last_msg;
308: dq_opts.DEQUEUE_MODE := DBMS_AQ.REMOVE_NODATA;
309:
310: DBMS_AQ.DEQUEUE(QUEUE_NAME=>Q_Schema||'.FND_CP_GSM_IPC_AQ',
311: DEQUEUE_OPTIONS => dq_opts,
312: MESSAGE_PROPERTIES => msg_props,
306: dq_opts.CORRELATION := Null;
307: dq_opts.MSGID := last_msg;
308: dq_opts.DEQUEUE_MODE := DBMS_AQ.REMOVE_NODATA;
309:
310: DBMS_AQ.DEQUEUE(QUEUE_NAME=>Q_Schema||'.FND_CP_GSM_IPC_AQ',
311: DEQUEUE_OPTIONS => dq_opts,
312: MESSAGE_PROPERTIES => msg_props,
313: PAYLOAD => payload,
314: MSGID => msgid);
396: etrace varchar2(4) := Null;
397: diag_level char := Null;
398: sql_stmt VARCHAR2(200) := null;
399: PAYLOAD system.FND_CP_GSM_IPQ_AQ_PAYLOAD;
400: dq_opts DBMS_AQ.DEQUEUE_OPTIONS_T;
401: msg_props DBMS_AQ.MESSAGE_PROPERTIES_T;
402: msgid raw(16);
403:
404: pragma AUTONOMOUS_TRANSACTION;
397: diag_level char := Null;
398: sql_stmt VARCHAR2(200) := null;
399: PAYLOAD system.FND_CP_GSM_IPQ_AQ_PAYLOAD;
400: dq_opts DBMS_AQ.DEQUEUE_OPTIONS_T;
401: msg_props DBMS_AQ.MESSAGE_PROPERTIES_T;
402: msgid raw(16);
403:
404: pragma AUTONOMOUS_TRANSACTION;
405:
416: 'fnd.plsql.FND_CP_GSM_IPC.Init_Service',
417: 'Handle ' ||to_char(Handle)||': status updated to running');
418: end if;
419: dq_opts.consumer_name := 'FNDCPGSMIPC_Service_'|| to_char(Handle);
420: dq_opts.DEQUEUE_MODE := DBMS_AQ.REMOVE;
421: dq_opts.NAVIGATION := DBMS_AQ.FIRST_MESSAGE;
422: dq_opts.VISIBILITY := DBMS_AQ.IMMEDIATE;
423: dq_opts.WAIT := DBMS_AQ.FOREVER;
424: dq_opts.MSGID := NULL;
417: 'Handle ' ||to_char(Handle)||': status updated to running');
418: end if;
419: dq_opts.consumer_name := 'FNDCPGSMIPC_Service_'|| to_char(Handle);
420: dq_opts.DEQUEUE_MODE := DBMS_AQ.REMOVE;
421: dq_opts.NAVIGATION := DBMS_AQ.FIRST_MESSAGE;
422: dq_opts.VISIBILITY := DBMS_AQ.IMMEDIATE;
423: dq_opts.WAIT := DBMS_AQ.FOREVER;
424: dq_opts.MSGID := NULL;
425:
418: end if;
419: dq_opts.consumer_name := 'FNDCPGSMIPC_Service_'|| to_char(Handle);
420: dq_opts.DEQUEUE_MODE := DBMS_AQ.REMOVE;
421: dq_opts.NAVIGATION := DBMS_AQ.FIRST_MESSAGE;
422: dq_opts.VISIBILITY := DBMS_AQ.IMMEDIATE;
423: dq_opts.WAIT := DBMS_AQ.FOREVER;
424: dq_opts.MSGID := NULL;
425:
426: DBMS_AQ.DEQUEUE(QUEUE_NAME=>Q_Schema||'.FND_CP_GSM_IPC_AQ',
419: dq_opts.consumer_name := 'FNDCPGSMIPC_Service_'|| to_char(Handle);
420: dq_opts.DEQUEUE_MODE := DBMS_AQ.REMOVE;
421: dq_opts.NAVIGATION := DBMS_AQ.FIRST_MESSAGE;
422: dq_opts.VISIBILITY := DBMS_AQ.IMMEDIATE;
423: dq_opts.WAIT := DBMS_AQ.FOREVER;
424: dq_opts.MSGID := NULL;
425:
426: DBMS_AQ.DEQUEUE(QUEUE_NAME=>Q_Schema||'.FND_CP_GSM_IPC_AQ',
427: DEQUEUE_OPTIONS => dq_opts,
422: dq_opts.VISIBILITY := DBMS_AQ.IMMEDIATE;
423: dq_opts.WAIT := DBMS_AQ.FOREVER;
424: dq_opts.MSGID := NULL;
425:
426: DBMS_AQ.DEQUEUE(QUEUE_NAME=>Q_Schema||'.FND_CP_GSM_IPC_AQ',
427: DEQUEUE_OPTIONS => dq_opts,
428: MESSAGE_PROPERTIES => msg_props,
429: PAYLOAD => payload,
430: MSGID => msgid);
567: Blocking_Sleep_Time in number default 30) is
568:
569: Not_Done boolean;
570: payload system.FND_CP_GSM_IPQ_AQ_PAYLOAD;
571: dq_opts DBMS_AQ.DEQUEUE_OPTIONS_T;
572: msg_props DBMS_AQ.MESSAGE_PROPERTIES_T;
573: msgid raw(16);
574:
575:
568:
569: Not_Done boolean;
570: payload system.FND_CP_GSM_IPQ_AQ_PAYLOAD;
571: dq_opts DBMS_AQ.DEQUEUE_OPTIONS_T;
572: msg_props DBMS_AQ.MESSAGE_PROPERTIES_T;
573: msgid raw(16);
574:
575:
576: pragma AUTONOMOUS_TRANSACTION;
580:
581: Not_Done := TRUE;
582:
583: if (Consume_Flag = 'Y') then
584: dq_opts.DEQUEUE_MODE := DBMS_AQ.REMOVE;
585: else
586: dq_opts.DEQUEUE_MODE := DBMS_AQ.BROWSE;
587: end if;
588:
582:
583: if (Consume_Flag = 'Y') then
584: dq_opts.DEQUEUE_MODE := DBMS_AQ.REMOVE;
585: else
586: dq_opts.DEQUEUE_MODE := DBMS_AQ.BROWSE;
587: end if;
588:
589: dq_opts.NAVIGATION := DBMS_AQ.FIRST_MESSAGE;
590: dq_opts.VISIBILITY := DBMS_AQ.IMMEDIATE;
585: else
586: dq_opts.DEQUEUE_MODE := DBMS_AQ.BROWSE;
587: end if;
588:
589: dq_opts.NAVIGATION := DBMS_AQ.FIRST_MESSAGE;
590: dq_opts.VISIBILITY := DBMS_AQ.IMMEDIATE;
591:
592: if (Message_Wait_Timeout is null) then
593: dq_opts.WAIT := DBMS_AQ.NO_WAIT;
586: dq_opts.DEQUEUE_MODE := DBMS_AQ.BROWSE;
587: end if;
588:
589: dq_opts.NAVIGATION := DBMS_AQ.FIRST_MESSAGE;
590: dq_opts.VISIBILITY := DBMS_AQ.IMMEDIATE;
591:
592: if (Message_Wait_Timeout is null) then
593: dq_opts.WAIT := DBMS_AQ.NO_WAIT;
594: else
589: dq_opts.NAVIGATION := DBMS_AQ.FIRST_MESSAGE;
590: dq_opts.VISIBILITY := DBMS_AQ.IMMEDIATE;
591:
592: if (Message_Wait_Timeout is null) then
593: dq_opts.WAIT := DBMS_AQ.NO_WAIT;
594: else
595: dq_opts.WAIT := Message_Wait_Timeout;
596: end if;
597:
599: dq_opts.consumer_name := 'FNDCPGSMIPC_Service_'||to_char(Handle);
600:
601: while (Not_Done) LOOP
602: begin
603: DBMS_AQ.DEQUEUE(QUEUE_NAME=>Q_Schema||'.FND_CP_GSM_IPC_AQ',
604: DEQUEUE_OPTIONS => dq_opts,
605: MESSAGE_PROPERTIES => msg_props,
606: PAYLOAD => payload,
607: MSGID => msgid);
628: END LOOP;
629:
630: /* set more flag */
631:
632: dq_opts.DEQUEUE_MODE := DBMS_AQ.BROWSE;
633: dq_opts.NAVIGATION := DBMS_AQ.FIRST_MESSAGE;
634: dq_opts.VISIBILITY := DBMS_AQ.IMMEDIATE;
635: dq_opts.WAIT := DBMS_AQ.NO_WAIT;
636:
629:
630: /* set more flag */
631:
632: dq_opts.DEQUEUE_MODE := DBMS_AQ.BROWSE;
633: dq_opts.NAVIGATION := DBMS_AQ.FIRST_MESSAGE;
634: dq_opts.VISIBILITY := DBMS_AQ.IMMEDIATE;
635: dq_opts.WAIT := DBMS_AQ.NO_WAIT;
636:
637: begin
630: /* set more flag */
631:
632: dq_opts.DEQUEUE_MODE := DBMS_AQ.BROWSE;
633: dq_opts.NAVIGATION := DBMS_AQ.FIRST_MESSAGE;
634: dq_opts.VISIBILITY := DBMS_AQ.IMMEDIATE;
635: dq_opts.WAIT := DBMS_AQ.NO_WAIT;
636:
637: begin
638: DBMS_AQ.DEQUEUE(QUEUE_NAME=>Q_Schema||'.FND_CP_GSM_IPC_AQ',
631:
632: dq_opts.DEQUEUE_MODE := DBMS_AQ.BROWSE;
633: dq_opts.NAVIGATION := DBMS_AQ.FIRST_MESSAGE;
634: dq_opts.VISIBILITY := DBMS_AQ.IMMEDIATE;
635: dq_opts.WAIT := DBMS_AQ.NO_WAIT;
636:
637: begin
638: DBMS_AQ.DEQUEUE(QUEUE_NAME=>Q_Schema||'.FND_CP_GSM_IPC_AQ',
639: DEQUEUE_OPTIONS => dq_opts,
634: dq_opts.VISIBILITY := DBMS_AQ.IMMEDIATE;
635: dq_opts.WAIT := DBMS_AQ.NO_WAIT;
636:
637: begin
638: DBMS_AQ.DEQUEUE(QUEUE_NAME=>Q_Schema||'.FND_CP_GSM_IPC_AQ',
639: DEQUEUE_OPTIONS => dq_opts,
640: MESSAGE_PROPERTIES => msg_props,
641: PAYLOAD => payload,
642: MSGID => msgid);
752: /* No longer used */
753: Procedure obsolete_Update_Status ( Handle in Number,
754: Status in Varchar2) is
755:
756: msg_props dbms_aq.message_properties_t;
757: enq_opts dbms_aq.enqueue_options_t;
758: msg system.FND_CP_GSM_IPQ_AQ_PAYLOAD;
759: msg_id raw(16);
760:
753: Procedure obsolete_Update_Status ( Handle in Number,
754: Status in Varchar2) is
755:
756: msg_props dbms_aq.message_properties_t;
757: enq_opts dbms_aq.enqueue_options_t;
758: msg system.FND_CP_GSM_IPQ_AQ_PAYLOAD;
759: msg_id raw(16);
760:
761: pragma AUTONOMOUS_TRANSACTION;
762:
763: Begin
764: msg := system.FND_CP_GSM_IPQ_AQ_PAYLOAD(Handle, Status, NULL, NULL);
765:
766: enq_opts.visibility := DBMS_AQ.IMMEDIATE;
767: enq_opts.sequence_deviation := NULL;
768:
769: msg_props.delay := DBMS_AQ.NO_DELAY;
770: msg_props.expiration := 365 * 24 * 3600; -- One Year
765:
766: enq_opts.visibility := DBMS_AQ.IMMEDIATE;
767: enq_opts.sequence_deviation := NULL;
768:
769: msg_props.delay := DBMS_AQ.NO_DELAY;
770: msg_props.expiration := 365 * 24 * 3600; -- One Year
771: msg_props.recipient_list(1) :=sys.aq$_agent(
772: 'FNDCPGSMIPC_Cartridge_'||to_char(Handle),NULL,NULL);
773: msg_props.sender_id := sys.aq$_agent(
772: 'FNDCPGSMIPC_Cartridge_'||to_char(Handle),NULL,NULL);
773: msg_props.sender_id := sys.aq$_agent(
774: 'FNDCPGSMIPC_Service_'||to_char(Handle), NULL, NULL);
775:
776: DBMS_AQ.Enqueue( queue_name => Q_Schema||'.FND_CP_GSM_IPC_AQ',
777: enqueue_options => enq_opts,
778: message_properties => msg_props,
779: Payload => msg,
780: msgid => msg_id);