27: --
28: -- Private variables
29: --
30:
31: P_DEBUG varchar2(1) := FNDCP_TMSRV.DBG_OFF;
32: Q_Name varchar2(64) := null;
33: RetQ_Name varchar2(64) := null;
34: P_SENDER_ID varchar2(30) := null;
35: P_SENDER_AGENT sys.aq$_agent;
76:
77: Q_Name := schema || '.' || QUEUE_NAME;
78: RetQ_Name := schema || '.' || RETURN_QUEUE_NAME;
79:
80: e_code := FNDCP_TMSRV.E_SUCCESS;
81:
82: commit;
83:
84: end initialize;
87:
88: procedure set_debug(dbgtype in varchar2) is
89: begin
90: P_DEBUG := dbgtype;
91: FNDCP_TMSRV.P_DEBUG := dbgtype;
92: end set_debug;
93:
94:
95:
160: MESSAGE_PROPERTIES => msg_props,
161: PAYLOAD => payload,
162: MSGID => msgid);
163:
164: e_code := FNDCP_TMSRV.E_SUCCESS;
165:
166: exception
167: when queue_timeout then
168: e_code := FNDCP_TMSRV.E_TIMEOUT;
164: e_code := FNDCP_TMSRV.E_SUCCESS;
165:
166: exception
167: when queue_timeout then
168: e_code := FNDCP_TMSRV.E_TIMEOUT;
169: return;
170:
171: when others then
172: fndcp_tmsrv.debug_info('tmsrv_queue.read_message', 'Caught exception in DQ', sqlerrm);
168: e_code := FNDCP_TMSRV.E_TIMEOUT;
169: return;
170:
171: when others then
172: fndcp_tmsrv.debug_info('tmsrv_queue.read_message', 'Caught exception in DQ', sqlerrm);
173: return;
174: end;
175:
176:
174: end;
175:
176:
177: pktyp := payload.msgtype;
178: if (pktyp not in (FNDCP_TMSRV.PK_TRN, FNDCP_TMSRV.PK_TRN_D1, FNDCP_TMSRV.PK_TRN_D2)) then
179: e_code := FNDCP_TMSRV.E_OTHER;
180: return;
181: end if;
182:
175:
176:
177: pktyp := payload.msgtype;
178: if (pktyp not in (FNDCP_TMSRV.PK_TRN, FNDCP_TMSRV.PK_TRN_D1, FNDCP_TMSRV.PK_TRN_D2)) then
179: e_code := FNDCP_TMSRV.E_OTHER;
180: return;
181: end if;
182:
183: set_debug(pktyp);
239: if arg_19 <> chr(0) then numargs := numargs + 1; end if;
240: arg_20 := payload.arg20;
241: if arg_20 <> chr(0) then numargs := numargs + 1; end if;
242:
243: if ( P_DEBUG <> FNDCP_TMSRV.DBG_OFF ) then
244: fndcp_tmsrv.debug_info('TMSRV_QUEUE.read_message',
245: 'Unpacked request details', NULL, 'M');
246:
247: end if;
240: arg_20 := payload.arg20;
241: if arg_20 <> chr(0) then numargs := numargs + 1; end if;
242:
243: if ( P_DEBUG <> FNDCP_TMSRV.DBG_OFF ) then
244: fndcp_tmsrv.debug_info('TMSRV_QUEUE.read_message',
245: 'Unpacked request details', NULL, 'M');
246:
247: end if;
248:
248:
249: sql_stmt := 'ALTER SESSION SET SQL_TRACE = '|| enable_trace;
250: EXECUTE IMMEDIATE sql_stmt ;
251:
252: if ( P_DEBUG <> FNDCP_TMSRV.DBG_OFF ) then
253: fndcp_tmsrv.debug_info('TMSRV_QUEUE.read_message',
254: 'SQL_TRACE:', enable_trace, 'M');
255:
256: end if;
249: sql_stmt := 'ALTER SESSION SET SQL_TRACE = '|| enable_trace;
250: EXECUTE IMMEDIATE sql_stmt ;
251:
252: if ( P_DEBUG <> FNDCP_TMSRV.DBG_OFF ) then
253: fndcp_tmsrv.debug_info('TMSRV_QUEUE.read_message',
254: 'SQL_TRACE:', enable_trace, 'M');
255:
256: end if;
257:
262: fnd_message.set_name ('FND', 'SQL-Generic error');
263: fnd_message.set_token ('ERRNO', sqlcode, FALSE);
264: fnd_message.set_token ('REASON', sqlerrm, FALSE);
265: fnd_message.set_token ('ROUTINE', 'TMSRV_QUEUE.READ_MESSAGE', FALSE);
266: fndcp_tmsrv.debug_info('tmsrv_queue.read_message', 'Caught exception', sqlerrm);
267: e_code := FNDCP_TMSRV.E_OTHER;
268: end read_message;
269:
270:
263: fnd_message.set_token ('ERRNO', sqlcode, FALSE);
264: fnd_message.set_token ('REASON', sqlerrm, FALSE);
265: fnd_message.set_token ('ROUTINE', 'TMSRV_QUEUE.READ_MESSAGE', FALSE);
266: fndcp_tmsrv.debug_info('tmsrv_queue.read_message', 'Caught exception', sqlerrm);
267: e_code := FNDCP_TMSRV.E_OTHER;
268: end read_message;
269:
270:
271:
282: msg system.FND_CP_TM_AQ_PAYLOAD;
283:
284: begin
285:
286: e_code := FNDCP_TMSRV.E_SUCCESS;
287:
288: FNDCP_TMSRV.P_RETVALCOUNT := 0; -- Reset the return values table.
289:
290: if ( P_DEBUG <> FNDCP_TMSRV.DBG_OFF ) then
284: begin
285:
286: e_code := FNDCP_TMSRV.E_SUCCESS;
287:
288: FNDCP_TMSRV.P_RETVALCOUNT := 0; -- Reset the return values table.
289:
290: if ( P_DEBUG <> FNDCP_TMSRV.DBG_OFF ) then
291: fndcp_tmsrv.debug_info('TMSRV_QUEUE.write_message',
292: 'Packing return message' ,
286: e_code := FNDCP_TMSRV.E_SUCCESS;
287:
288: FNDCP_TMSRV.P_RETVALCOUNT := 0; -- Reset the return values table.
289:
290: if ( P_DEBUG <> FNDCP_TMSRV.DBG_OFF ) then
291: fndcp_tmsrv.debug_info('TMSRV_QUEUE.write_message',
292: 'Packing return message' ,
293: reqid, 'S');
294:
287:
288: FNDCP_TMSRV.P_RETVALCOUNT := 0; -- Reset the return values table.
289:
290: if ( P_DEBUG <> FNDCP_TMSRV.DBG_OFF ) then
291: fndcp_tmsrv.debug_info('TMSRV_QUEUE.write_message',
292: 'Packing return message' ,
293: reqid, 'S');
294:
295: end if;
311: outcome,
312: message,
313: null,
314: null,
315: FNDCP_TMSRV.P_RETURN_VALS(1),
316: FNDCP_TMSRV.P_RETURN_VALS(2),
317: FNDCP_TMSRV.P_RETURN_VALS(3),
318: FNDCP_TMSRV.P_RETURN_VALS(4),
319: FNDCP_TMSRV.P_RETURN_VALS(5),
312: message,
313: null,
314: null,
315: FNDCP_TMSRV.P_RETURN_VALS(1),
316: FNDCP_TMSRV.P_RETURN_VALS(2),
317: FNDCP_TMSRV.P_RETURN_VALS(3),
318: FNDCP_TMSRV.P_RETURN_VALS(4),
319: FNDCP_TMSRV.P_RETURN_VALS(5),
320: FNDCP_TMSRV.P_RETURN_VALS(6),
313: null,
314: null,
315: FNDCP_TMSRV.P_RETURN_VALS(1),
316: FNDCP_TMSRV.P_RETURN_VALS(2),
317: FNDCP_TMSRV.P_RETURN_VALS(3),
318: FNDCP_TMSRV.P_RETURN_VALS(4),
319: FNDCP_TMSRV.P_RETURN_VALS(5),
320: FNDCP_TMSRV.P_RETURN_VALS(6),
321: FNDCP_TMSRV.P_RETURN_VALS(7),
314: null,
315: FNDCP_TMSRV.P_RETURN_VALS(1),
316: FNDCP_TMSRV.P_RETURN_VALS(2),
317: FNDCP_TMSRV.P_RETURN_VALS(3),
318: FNDCP_TMSRV.P_RETURN_VALS(4),
319: FNDCP_TMSRV.P_RETURN_VALS(5),
320: FNDCP_TMSRV.P_RETURN_VALS(6),
321: FNDCP_TMSRV.P_RETURN_VALS(7),
322: FNDCP_TMSRV.P_RETURN_VALS(8),
315: FNDCP_TMSRV.P_RETURN_VALS(1),
316: FNDCP_TMSRV.P_RETURN_VALS(2),
317: FNDCP_TMSRV.P_RETURN_VALS(3),
318: FNDCP_TMSRV.P_RETURN_VALS(4),
319: FNDCP_TMSRV.P_RETURN_VALS(5),
320: FNDCP_TMSRV.P_RETURN_VALS(6),
321: FNDCP_TMSRV.P_RETURN_VALS(7),
322: FNDCP_TMSRV.P_RETURN_VALS(8),
323: FNDCP_TMSRV.P_RETURN_VALS(9),
316: FNDCP_TMSRV.P_RETURN_VALS(2),
317: FNDCP_TMSRV.P_RETURN_VALS(3),
318: FNDCP_TMSRV.P_RETURN_VALS(4),
319: FNDCP_TMSRV.P_RETURN_VALS(5),
320: FNDCP_TMSRV.P_RETURN_VALS(6),
321: FNDCP_TMSRV.P_RETURN_VALS(7),
322: FNDCP_TMSRV.P_RETURN_VALS(8),
323: FNDCP_TMSRV.P_RETURN_VALS(9),
324: FNDCP_TMSRV.P_RETURN_VALS(10),
317: FNDCP_TMSRV.P_RETURN_VALS(3),
318: FNDCP_TMSRV.P_RETURN_VALS(4),
319: FNDCP_TMSRV.P_RETURN_VALS(5),
320: FNDCP_TMSRV.P_RETURN_VALS(6),
321: FNDCP_TMSRV.P_RETURN_VALS(7),
322: FNDCP_TMSRV.P_RETURN_VALS(8),
323: FNDCP_TMSRV.P_RETURN_VALS(9),
324: FNDCP_TMSRV.P_RETURN_VALS(10),
325: FNDCP_TMSRV.P_RETURN_VALS(11),
318: FNDCP_TMSRV.P_RETURN_VALS(4),
319: FNDCP_TMSRV.P_RETURN_VALS(5),
320: FNDCP_TMSRV.P_RETURN_VALS(6),
321: FNDCP_TMSRV.P_RETURN_VALS(7),
322: FNDCP_TMSRV.P_RETURN_VALS(8),
323: FNDCP_TMSRV.P_RETURN_VALS(9),
324: FNDCP_TMSRV.P_RETURN_VALS(10),
325: FNDCP_TMSRV.P_RETURN_VALS(11),
326: FNDCP_TMSRV.P_RETURN_VALS(12),
319: FNDCP_TMSRV.P_RETURN_VALS(5),
320: FNDCP_TMSRV.P_RETURN_VALS(6),
321: FNDCP_TMSRV.P_RETURN_VALS(7),
322: FNDCP_TMSRV.P_RETURN_VALS(8),
323: FNDCP_TMSRV.P_RETURN_VALS(9),
324: FNDCP_TMSRV.P_RETURN_VALS(10),
325: FNDCP_TMSRV.P_RETURN_VALS(11),
326: FNDCP_TMSRV.P_RETURN_VALS(12),
327: FNDCP_TMSRV.P_RETURN_VALS(13),
320: FNDCP_TMSRV.P_RETURN_VALS(6),
321: FNDCP_TMSRV.P_RETURN_VALS(7),
322: FNDCP_TMSRV.P_RETURN_VALS(8),
323: FNDCP_TMSRV.P_RETURN_VALS(9),
324: FNDCP_TMSRV.P_RETURN_VALS(10),
325: FNDCP_TMSRV.P_RETURN_VALS(11),
326: FNDCP_TMSRV.P_RETURN_VALS(12),
327: FNDCP_TMSRV.P_RETURN_VALS(13),
328: FNDCP_TMSRV.P_RETURN_VALS(14),
321: FNDCP_TMSRV.P_RETURN_VALS(7),
322: FNDCP_TMSRV.P_RETURN_VALS(8),
323: FNDCP_TMSRV.P_RETURN_VALS(9),
324: FNDCP_TMSRV.P_RETURN_VALS(10),
325: FNDCP_TMSRV.P_RETURN_VALS(11),
326: FNDCP_TMSRV.P_RETURN_VALS(12),
327: FNDCP_TMSRV.P_RETURN_VALS(13),
328: FNDCP_TMSRV.P_RETURN_VALS(14),
329: FNDCP_TMSRV.P_RETURN_VALS(15),
322: FNDCP_TMSRV.P_RETURN_VALS(8),
323: FNDCP_TMSRV.P_RETURN_VALS(9),
324: FNDCP_TMSRV.P_RETURN_VALS(10),
325: FNDCP_TMSRV.P_RETURN_VALS(11),
326: FNDCP_TMSRV.P_RETURN_VALS(12),
327: FNDCP_TMSRV.P_RETURN_VALS(13),
328: FNDCP_TMSRV.P_RETURN_VALS(14),
329: FNDCP_TMSRV.P_RETURN_VALS(15),
330: FNDCP_TMSRV.P_RETURN_VALS(16),
323: FNDCP_TMSRV.P_RETURN_VALS(9),
324: FNDCP_TMSRV.P_RETURN_VALS(10),
325: FNDCP_TMSRV.P_RETURN_VALS(11),
326: FNDCP_TMSRV.P_RETURN_VALS(12),
327: FNDCP_TMSRV.P_RETURN_VALS(13),
328: FNDCP_TMSRV.P_RETURN_VALS(14),
329: FNDCP_TMSRV.P_RETURN_VALS(15),
330: FNDCP_TMSRV.P_RETURN_VALS(16),
331: FNDCP_TMSRV.P_RETURN_VALS(17),
324: FNDCP_TMSRV.P_RETURN_VALS(10),
325: FNDCP_TMSRV.P_RETURN_VALS(11),
326: FNDCP_TMSRV.P_RETURN_VALS(12),
327: FNDCP_TMSRV.P_RETURN_VALS(13),
328: FNDCP_TMSRV.P_RETURN_VALS(14),
329: FNDCP_TMSRV.P_RETURN_VALS(15),
330: FNDCP_TMSRV.P_RETURN_VALS(16),
331: FNDCP_TMSRV.P_RETURN_VALS(17),
332: FNDCP_TMSRV.P_RETURN_VALS(18),
325: FNDCP_TMSRV.P_RETURN_VALS(11),
326: FNDCP_TMSRV.P_RETURN_VALS(12),
327: FNDCP_TMSRV.P_RETURN_VALS(13),
328: FNDCP_TMSRV.P_RETURN_VALS(14),
329: FNDCP_TMSRV.P_RETURN_VALS(15),
330: FNDCP_TMSRV.P_RETURN_VALS(16),
331: FNDCP_TMSRV.P_RETURN_VALS(17),
332: FNDCP_TMSRV.P_RETURN_VALS(18),
333: FNDCP_TMSRV.P_RETURN_VALS(19),
326: FNDCP_TMSRV.P_RETURN_VALS(12),
327: FNDCP_TMSRV.P_RETURN_VALS(13),
328: FNDCP_TMSRV.P_RETURN_VALS(14),
329: FNDCP_TMSRV.P_RETURN_VALS(15),
330: FNDCP_TMSRV.P_RETURN_VALS(16),
331: FNDCP_TMSRV.P_RETURN_VALS(17),
332: FNDCP_TMSRV.P_RETURN_VALS(18),
333: FNDCP_TMSRV.P_RETURN_VALS(19),
334: FNDCP_TMSRV.P_RETURN_VALS(20)
327: FNDCP_TMSRV.P_RETURN_VALS(13),
328: FNDCP_TMSRV.P_RETURN_VALS(14),
329: FNDCP_TMSRV.P_RETURN_VALS(15),
330: FNDCP_TMSRV.P_RETURN_VALS(16),
331: FNDCP_TMSRV.P_RETURN_VALS(17),
332: FNDCP_TMSRV.P_RETURN_VALS(18),
333: FNDCP_TMSRV.P_RETURN_VALS(19),
334: FNDCP_TMSRV.P_RETURN_VALS(20)
335: );
328: FNDCP_TMSRV.P_RETURN_VALS(14),
329: FNDCP_TMSRV.P_RETURN_VALS(15),
330: FNDCP_TMSRV.P_RETURN_VALS(16),
331: FNDCP_TMSRV.P_RETURN_VALS(17),
332: FNDCP_TMSRV.P_RETURN_VALS(18),
333: FNDCP_TMSRV.P_RETURN_VALS(19),
334: FNDCP_TMSRV.P_RETURN_VALS(20)
335: );
336:
329: FNDCP_TMSRV.P_RETURN_VALS(15),
330: FNDCP_TMSRV.P_RETURN_VALS(16),
331: FNDCP_TMSRV.P_RETURN_VALS(17),
332: FNDCP_TMSRV.P_RETURN_VALS(18),
333: FNDCP_TMSRV.P_RETURN_VALS(19),
334: FNDCP_TMSRV.P_RETURN_VALS(20)
335: );
336:
337: msg_props.delay := DBMS_AQ.NO_DELAY;
330: FNDCP_TMSRV.P_RETURN_VALS(16),
331: FNDCP_TMSRV.P_RETURN_VALS(17),
332: FNDCP_TMSRV.P_RETURN_VALS(18),
333: FNDCP_TMSRV.P_RETURN_VALS(19),
334: FNDCP_TMSRV.P_RETURN_VALS(20)
335: );
336:
337: msg_props.delay := DBMS_AQ.NO_DELAY;
338:
349: message_properties => msg_props,
350: Payload => msg,
351: msgid => msg_id);
352:
353: if ( P_DEBUG <> FNDCP_TMSRV.DBG_OFF ) then
354: fndcp_tmsrv.debug_info('TMSRV_QUEUE.write_message',
355: 'Sent Message' ,
356: reqid, 'S');
357:
350: Payload => msg,
351: msgid => msg_id);
352:
353: if ( P_DEBUG <> FNDCP_TMSRV.DBG_OFF ) then
354: fndcp_tmsrv.debug_info('TMSRV_QUEUE.write_message',
355: 'Sent Message' ,
356: reqid, 'S');
357:
358: end if;
357:
358: end if;
359:
360: -- Turn off debug.
361: set_debug(FNDCP_TMSRV.DBG_OFF);
362:
363: -- Reset all the return values
364: for counter in 1..20 loop
365: FNDCP_TMSRV.P_RETURN_VALS(counter) := null;
361: set_debug(FNDCP_TMSRV.DBG_OFF);
362:
363: -- Reset all the return values
364: for counter in 1..20 loop
365: FNDCP_TMSRV.P_RETURN_VALS(counter) := null;
366: end loop;
367:
368: exception
369: when OTHERS then
366: end loop;
367:
368: exception
369: when OTHERS then
370: e_code := FNDCP_TMSRV.E_OTHER;
371: fnd_message.set_name ('FND', 'SQL-Generic error');
372: fnd_message.set_token ('ERRNO', sqlcode, FALSE);
373: fnd_message.set_token ('REASON', sqlerrm, FALSE);
374: fnd_message.set_token ('ROUTINE', 'TMSRV_QUEUE.COMPLETE_TRANS', FALSE);
371: fnd_message.set_name ('FND', 'SQL-Generic error');
372: fnd_message.set_token ('ERRNO', sqlcode, FALSE);
373: fnd_message.set_token ('REASON', sqlerrm, FALSE);
374: fnd_message.set_token ('ROUTINE', 'TMSRV_QUEUE.COMPLETE_TRANS', FALSE);
375: fndcp_tmsrv.debug_info('tmsrv_queue.complete_trans', 'Caught exception', sqlerrm);
376: raise;
377:
378: end write_message;
379: