1 package body FND_CONCURRENT_QUEUES_PKG as
2 /* $Header: AFCPDCQB.pls 120.2 2005/08/19 18:50:39 tkamiya ship $ */
3
4 procedure INSERT_ROW (
5 X_ROWID in out NOCOPY VARCHAR2,
6 X_APPLICATION_ID in NUMBER,
7 X_CONCURRENT_QUEUE_ID in NUMBER,
8 X_RESOURCE_CONSUMER_GROUP in VARCHAR2,
9 X_CONCURRENT_QUEUE_NAME in VARCHAR2,
10 X_PROCESSOR_APPLICATION_ID in NUMBER,
11 X_CONCURRENT_PROCESSOR_ID in NUMBER,
12 X_MAX_PROCESSES in NUMBER,
13 X_RUNNING_PROCESSES in NUMBER,
14 X_CACHE_SIZE in NUMBER,
15 X_MIN_PROCESSES in NUMBER,
16 X_TARGET_PROCESSES in NUMBER,
17 X_TARGET_NODE in VARCHAR2,
18 X_TARGET_QUEUE in VARCHAR2,
19 X_SLEEP_SECONDS in NUMBER,
20 X_CONTROL_CODE in VARCHAR2,
21 X_DIAGNOSTIC_LEVEL in VARCHAR2,
22 X_MANAGER_TYPE in VARCHAR2,
23 X_NODE_NAME in VARCHAR2,
24 X_NODE_NAME2 in VARCHAR2,
25 X_OS_QUEUE in VARCHAR2,
26 X_OS_QUEUE2 in VARCHAR2,
27 X_DATA_GROUP_ID in NUMBER,
28 X_RESTART_TYPE in VARCHAR2,
29 X_RESTART_INTERVAL in NUMBER,
30 X_ATTRIBUTE_CATEGORY in VARCHAR2,
31 X_ATTRIBUTE in VARCHAR2,
32 X_ATTRIBUTE1 in VARCHAR2,
33 X_ATTRIBUTE2 in VARCHAR2,
34 X_ATTRIBUTE3 in VARCHAR2,
35 X_ATTRIBUTE4 in VARCHAR2,
36 X_ATTRIBUTE5 in VARCHAR2,
37 X_ATTRIBUTE6 in VARCHAR2,
38 X_ATTRIBUTE7 in VARCHAR2,
39 X_ATTRIBUTE8 in VARCHAR2,
40 X_ATTRIBUTE9 in VARCHAR2,
41 X_ATTRIBUTE10 in VARCHAR2,
42 X_ATTRIBUTE11 in VARCHAR2,
43 X_ATTRIBUTE12 in VARCHAR2,
44 X_ENABLED_FLAG in VARCHAR2,
45 X_DESCRIPTION in VARCHAR2,
46 X_USER_CONCURRENT_QUEUE_NAME in VARCHAR2,
47 X_CREATION_DATE in DATE,
48 X_CREATED_BY in NUMBER,
49 X_LAST_UPDATE_DATE in DATE,
50 X_LAST_UPDATED_BY in NUMBER,
51 X_LAST_UPDATE_LOGIN in NUMBER
52 ) is
53 cursor C is select ROWID from FND_CONCURRENT_QUEUES
54 where APPLICATION_ID = X_APPLICATION_ID
55 and CONCURRENT_QUEUE_ID = X_CONCURRENT_QUEUE_ID
56 ;
57 begin
58 insert into FND_CONCURRENT_QUEUES (
59 RESOURCE_CONSUMER_GROUP,
60 APPLICATION_ID,
61 CONCURRENT_QUEUE_ID,
62 CONCURRENT_QUEUE_NAME,
63 PROCESSOR_APPLICATION_ID,
64 CONCURRENT_PROCESSOR_ID,
65 MAX_PROCESSES,
66 RUNNING_PROCESSES,
67 CACHE_SIZE,
68 MIN_PROCESSES,
69 TARGET_PROCESSES,
70 TARGET_NODE,
71 TARGET_QUEUE,
72 SLEEP_SECONDS,
73 CONTROL_CODE,
74 DIAGNOSTIC_LEVEL,
75 MANAGER_TYPE,
76 NODE_NAME,
77 NODE_NAME2,
78 OS_QUEUE,
79 OS_QUEUE2,
80 DATA_GROUP_ID,
81 RESTART_TYPE,
82 RESTART_INTERVAL,
83 ATTRIBUTE_CATEGORY,
84 ATTRIBUTE,
85 ATTRIBUTE1,
86 ATTRIBUTE2,
87 ATTRIBUTE3,
88 ATTRIBUTE4,
89 ATTRIBUTE5,
90 ATTRIBUTE6,
91 ATTRIBUTE7,
92 ATTRIBUTE8,
93 ATTRIBUTE9,
94 ATTRIBUTE10,
95 ATTRIBUTE11,
96 ATTRIBUTE12,
97 ENABLED_FLAG,
98 CREATION_DATE,
99 CREATED_BY,
100 LAST_UPDATE_DATE,
101 LAST_UPDATED_BY,
102 LAST_UPDATE_LOGIN
103 ) values (
104 X_RESOURCE_CONSUMER_GROUP,
105 X_APPLICATION_ID,
106 X_CONCURRENT_QUEUE_ID,
107 X_CONCURRENT_QUEUE_NAME,
108 X_PROCESSOR_APPLICATION_ID,
109 X_CONCURRENT_PROCESSOR_ID,
110 X_MAX_PROCESSES,
111 X_RUNNING_PROCESSES,
112 X_CACHE_SIZE,
113 X_MIN_PROCESSES,
114 X_TARGET_PROCESSES,
115 X_TARGET_NODE,
116 X_TARGET_QUEUE,
117 X_SLEEP_SECONDS,
118 X_CONTROL_CODE,
119 X_DIAGNOSTIC_LEVEL,
120 X_MANAGER_TYPE,
121 X_NODE_NAME,
122 X_NODE_NAME2,
123 X_OS_QUEUE,
124 X_OS_QUEUE2,
125 X_DATA_GROUP_ID,
126 X_RESTART_TYPE,
127 X_RESTART_INTERVAL,
128 X_ATTRIBUTE_CATEGORY,
129 X_ATTRIBUTE,
130 X_ATTRIBUTE1,
131 X_ATTRIBUTE2,
132 X_ATTRIBUTE3,
133 X_ATTRIBUTE4,
134 X_ATTRIBUTE5,
135 X_ATTRIBUTE6,
136 X_ATTRIBUTE7,
137 X_ATTRIBUTE8,
138 X_ATTRIBUTE9,
139 X_ATTRIBUTE10,
140 X_ATTRIBUTE11,
141 X_ATTRIBUTE12,
142 X_ENABLED_FLAG,
143 X_CREATION_DATE,
144 X_CREATED_BY,
145 X_LAST_UPDATE_DATE,
146 X_LAST_UPDATED_BY,
147 X_LAST_UPDATE_LOGIN
148 );
149
150 insert into FND_CONCURRENT_QUEUES_TL (
151 USER_CONCURRENT_QUEUE_NAME,
152 APPLICATION_ID,
153 CONCURRENT_QUEUE_ID,
154 CONCURRENT_QUEUE_NAME,
155 CREATION_DATE,
156 CREATED_BY,
157 LAST_UPDATE_DATE,
158 LAST_UPDATED_BY,
159 LAST_UPDATE_LOGIN,
160 DESCRIPTION,
161 LANGUAGE,
162 SOURCE_LANG
163 ) select
164 X_USER_CONCURRENT_QUEUE_NAME,
165 X_APPLICATION_ID,
166 X_CONCURRENT_QUEUE_ID,
167 X_CONCURRENT_QUEUE_NAME,
168 X_CREATION_DATE,
169 X_CREATED_BY,
170 X_LAST_UPDATE_DATE,
171 X_LAST_UPDATED_BY,
172 X_LAST_UPDATE_LOGIN,
173 X_DESCRIPTION,
174 L.LANGUAGE_CODE,
175 userenv('LANG')
176 from FND_LANGUAGES L
177 where L.INSTALLED_FLAG in ('I', 'B')
178 and not exists
179 (select NULL
180 from FND_CONCURRENT_QUEUES_TL T
181 where T.APPLICATION_ID = X_APPLICATION_ID
182 and T.CONCURRENT_QUEUE_ID = X_CONCURRENT_QUEUE_ID
183 and T.LANGUAGE = L.LANGUAGE_CODE);
184
185 open c;
186 fetch c into X_ROWID;
187 if (c%notfound) then
188 close c;
189 raise no_data_found;
190 end if;
191 close c;
192
193 end INSERT_ROW;
194
195 procedure LOCK_ROW (
196 X_APPLICATION_ID in NUMBER,
197 X_CONCURRENT_QUEUE_ID in NUMBER,
198 X_RESOURCE_CONSUMER_GROUP in VARCHAR2,
199 X_CONCURRENT_QUEUE_NAME in VARCHAR2,
200 X_PROCESSOR_APPLICATION_ID in NUMBER,
201 X_CONCURRENT_PROCESSOR_ID in NUMBER,
202 X_MAX_PROCESSES in NUMBER,
203 X_RUNNING_PROCESSES in NUMBER,
204 X_CACHE_SIZE in NUMBER,
205 X_MIN_PROCESSES in NUMBER,
206 X_TARGET_PROCESSES in NUMBER,
207 X_TARGET_NODE in VARCHAR2,
208 X_TARGET_QUEUE in VARCHAR2,
209 X_SLEEP_SECONDS in NUMBER,
210 X_CONTROL_CODE in VARCHAR2,
211 X_DIAGNOSTIC_LEVEL in VARCHAR2,
212 X_MANAGER_TYPE in VARCHAR2,
213 X_NODE_NAME in VARCHAR2,
214 X_NODE_NAME2 in VARCHAR2,
215 X_OS_QUEUE in VARCHAR2,
216 X_OS_QUEUE2 in VARCHAR2,
217 X_DATA_GROUP_ID in NUMBER,
218 X_RESTART_TYPE in VARCHAR2,
219 X_RESTART_INTERVAL in NUMBER,
220 X_ATTRIBUTE_CATEGORY in VARCHAR2,
221 X_ATTRIBUTE in VARCHAR2,
222 X_ATTRIBUTE1 in VARCHAR2,
223 X_ATTRIBUTE2 in VARCHAR2,
224 X_ATTRIBUTE3 in VARCHAR2,
225 X_ATTRIBUTE4 in VARCHAR2,
226 X_ATTRIBUTE5 in VARCHAR2,
227 X_ATTRIBUTE6 in VARCHAR2,
228 X_ATTRIBUTE7 in VARCHAR2,
229 X_ATTRIBUTE8 in VARCHAR2,
230 X_ATTRIBUTE9 in VARCHAR2,
231 X_ATTRIBUTE10 in VARCHAR2,
232 X_ATTRIBUTE11 in VARCHAR2,
233 X_ATTRIBUTE12 in VARCHAR2,
234 X_ENABLED_FLAG in VARCHAR2,
235 X_DESCRIPTION in VARCHAR2,
236 X_USER_CONCURRENT_QUEUE_NAME in VARCHAR2
237 ) is
238 cursor c is select
239 RESOURCE_CONSUMER_GROUP,
240 CONCURRENT_QUEUE_NAME,
241 PROCESSOR_APPLICATION_ID,
242 CONCURRENT_PROCESSOR_ID,
243 MAX_PROCESSES,
244 RUNNING_PROCESSES,
245 CACHE_SIZE,
246 MIN_PROCESSES,
247 TARGET_PROCESSES,
248 TARGET_NODE,
249 TARGET_QUEUE,
250 SLEEP_SECONDS,
251 CONTROL_CODE,
252 DIAGNOSTIC_LEVEL,
253 MANAGER_TYPE,
254 NODE_NAME,
255 NODE_NAME2,
256 OS_QUEUE,
257 OS_QUEUE2,
258 DATA_GROUP_ID,
259 RESTART_TYPE,
260 RESTART_INTERVAL,
261 ATTRIBUTE_CATEGORY,
262 ATTRIBUTE,
263 ATTRIBUTE1,
264 ATTRIBUTE2,
265 ATTRIBUTE3,
266 ATTRIBUTE4,
267 ATTRIBUTE5,
268 ATTRIBUTE6,
269 ATTRIBUTE7,
270 ATTRIBUTE8,
271 ATTRIBUTE9,
272 ATTRIBUTE10,
273 ATTRIBUTE11,
274 ATTRIBUTE12,
275 ENABLED_FLAG
276 from FND_CONCURRENT_QUEUES
277 where APPLICATION_ID = X_APPLICATION_ID
278 and CONCURRENT_QUEUE_ID = X_CONCURRENT_QUEUE_ID
279 for update of APPLICATION_ID nowait;
280 recinfo c%rowtype;
281
282 cursor c1 is select
283 DESCRIPTION,
284 USER_CONCURRENT_QUEUE_NAME,
285 decode(LANGUAGE, userenv('LANG'), 'Y', 'N') BASELANG
286 from FND_CONCURRENT_QUEUES_TL
287 where APPLICATION_ID = X_APPLICATION_ID
288 and CONCURRENT_QUEUE_ID = X_CONCURRENT_QUEUE_ID
289 and userenv('LANG') in (LANGUAGE, SOURCE_LANG)
290 for update of APPLICATION_ID nowait;
291 begin
292 open c;
293 fetch c into recinfo;
294 if (c%notfound) then
295 close c;
296 fnd_message.set_name('FND', 'FORM_RECORD_DELETED');
297 app_exception.raise_exception;
298 end if;
299 close c;
300 if ( ((recinfo.RESOURCE_CONSUMER_GROUP = X_RESOURCE_CONSUMER_GROUP)
301 OR ((recinfo.RESOURCE_CONSUMER_GROUP is null) AND (X_RESOURCE_CONSUMER_GROUP is null)))
302 AND (recinfo.CONCURRENT_QUEUE_NAME = X_CONCURRENT_QUEUE_NAME)
303 AND (recinfo.PROCESSOR_APPLICATION_ID = X_PROCESSOR_APPLICATION_ID)
304 AND (recinfo.CONCURRENT_PROCESSOR_ID = X_CONCURRENT_PROCESSOR_ID)
305 AND (recinfo.MAX_PROCESSES = X_MAX_PROCESSES)
306 AND (recinfo.RUNNING_PROCESSES = X_RUNNING_PROCESSES)
307 AND ((recinfo.CACHE_SIZE = X_CACHE_SIZE)
308 OR ((recinfo.CACHE_SIZE is null) AND (X_CACHE_SIZE is null)))
309 AND ((recinfo.MIN_PROCESSES = X_MIN_PROCESSES)
310 OR ((recinfo.MIN_PROCESSES is null) AND (X_MIN_PROCESSES is null)))
311 AND ((recinfo.TARGET_PROCESSES = X_TARGET_PROCESSES)
312 OR ((recinfo.TARGET_PROCESSES is null) AND (X_TARGET_PROCESSES is null)))
313 AND ((recinfo.TARGET_NODE = X_TARGET_NODE)
314 OR ((recinfo.TARGET_NODE is null) AND (X_TARGET_NODE is null)))
315 AND ((recinfo.TARGET_QUEUE = X_TARGET_QUEUE)
316 OR ((recinfo.TARGET_QUEUE is null) AND (X_TARGET_QUEUE is null)))
317 AND ((recinfo.SLEEP_SECONDS = X_SLEEP_SECONDS)
318 OR ((recinfo.SLEEP_SECONDS is null) AND (X_SLEEP_SECONDS is null)))
319 AND ((recinfo.CONTROL_CODE = X_CONTROL_CODE)
320 OR ((recinfo.CONTROL_CODE is null) AND (X_CONTROL_CODE is null)))
321 AND ((recinfo.DIAGNOSTIC_LEVEL = X_DIAGNOSTIC_LEVEL)
322 OR ((recinfo.DIAGNOSTIC_LEVEL is null) AND (X_DIAGNOSTIC_LEVEL is null)))
323 AND ((recinfo.MANAGER_TYPE = X_MANAGER_TYPE)
324 OR ((recinfo.MANAGER_TYPE is null) AND (X_MANAGER_TYPE is null)))
325 AND ((recinfo.NODE_NAME = X_NODE_NAME)
326 OR ((recinfo.NODE_NAME is null) AND (X_NODE_NAME is null)))
327 AND ((recinfo.NODE_NAME2 = X_NODE_NAME2)
328 OR ((recinfo.NODE_NAME2 is null) AND (X_NODE_NAME2 is null)))
329 AND ((recinfo.OS_QUEUE = X_OS_QUEUE)
330 OR ((recinfo.OS_QUEUE is null) AND (X_OS_QUEUE is null)))
331 AND ((recinfo.OS_QUEUE2 = X_OS_QUEUE2)
332 OR ((recinfo.OS_QUEUE2 is null) AND (X_OS_QUEUE2 is null)))
333 AND ((recinfo.DATA_GROUP_ID = X_DATA_GROUP_ID)
334 OR ((recinfo.DATA_GROUP_ID is null) AND (X_DATA_GROUP_ID is null)))
335 AND ((recinfo.RESTART_TYPE = X_RESTART_TYPE)
336 OR ((recinfo.RESTART_TYPE is null) AND (X_RESTART_TYPE is null)))
337 AND ((recinfo.RESTART_INTERVAL = X_RESTART_INTERVAL)
338 OR ((recinfo.RESTART_INTERVAL is null) AND (X_RESTART_INTERVAL is null)))
339 AND ((recinfo.ATTRIBUTE_CATEGORY = X_ATTRIBUTE_CATEGORY)
340 OR ((recinfo.ATTRIBUTE_CATEGORY is null) AND (X_ATTRIBUTE_CATEGORY is null)))
341 AND ((recinfo.ATTRIBUTE = X_ATTRIBUTE)
342 OR ((recinfo.ATTRIBUTE is null) AND (X_ATTRIBUTE is null)))
343 AND ((recinfo.ATTRIBUTE1 = X_ATTRIBUTE1)
344 OR ((recinfo.ATTRIBUTE1 is null) AND (X_ATTRIBUTE1 is null)))
345 AND ((recinfo.ATTRIBUTE2 = X_ATTRIBUTE2)
346 OR ((recinfo.ATTRIBUTE2 is null) AND (X_ATTRIBUTE2 is null)))
347 AND ((recinfo.ATTRIBUTE3 = X_ATTRIBUTE3)
348 OR ((recinfo.ATTRIBUTE3 is null) AND (X_ATTRIBUTE3 is null)))
349 AND ((recinfo.ATTRIBUTE4 = X_ATTRIBUTE4)
350 OR ((recinfo.ATTRIBUTE4 is null) AND (X_ATTRIBUTE4 is null)))
351 AND ((recinfo.ATTRIBUTE5 = X_ATTRIBUTE5)
352 OR ((recinfo.ATTRIBUTE5 is null) AND (X_ATTRIBUTE5 is null)))
353 AND ((recinfo.ATTRIBUTE6 = X_ATTRIBUTE6)
354 OR ((recinfo.ATTRIBUTE6 is null) AND (X_ATTRIBUTE6 is null)))
355 AND ((recinfo.ATTRIBUTE7 = X_ATTRIBUTE7)
356 OR ((recinfo.ATTRIBUTE7 is null) AND (X_ATTRIBUTE7 is null)))
357 AND ((recinfo.ATTRIBUTE8 = X_ATTRIBUTE8)
358 OR ((recinfo.ATTRIBUTE8 is null) AND (X_ATTRIBUTE8 is null)))
359 AND ((recinfo.ATTRIBUTE9 = X_ATTRIBUTE9)
360 OR ((recinfo.ATTRIBUTE9 is null) AND (X_ATTRIBUTE9 is null)))
361 AND ((recinfo.ATTRIBUTE10 = X_ATTRIBUTE10)
362 OR ((recinfo.ATTRIBUTE10 is null) AND (X_ATTRIBUTE10 is null)))
363 AND ((recinfo.ATTRIBUTE11 = X_ATTRIBUTE11)
364 OR ((recinfo.ATTRIBUTE11 is null) AND (X_ATTRIBUTE11 is null)))
365 AND ((recinfo.ATTRIBUTE12 = X_ATTRIBUTE12)
366 OR ((recinfo.ATTRIBUTE12 is null) AND (X_ATTRIBUTE12 is null)))
367 AND (recinfo.ENABLED_FLAG = X_ENABLED_FLAG)
368 ) then
369 null;
370 else
371 fnd_message.set_name('FND', 'FORM_RECORD_CHANGED');
372 app_exception.raise_exception;
373 end if;
374
375 for tlinfo in c1 loop
376 if (tlinfo.BASELANG = 'Y') then
377 if ( ((tlinfo.DESCRIPTION = X_DESCRIPTION)
378 OR ((tlinfo.DESCRIPTION is null) AND (X_DESCRIPTION is null)))
379 AND ((tlinfo.USER_CONCURRENT_QUEUE_NAME = X_USER_CONCURRENT_QUEUE_NAME)
380 OR ((tlinfo.USER_CONCURRENT_QUEUE_NAME is null) AND (X_USER_CONCURRENT_QUEUE_NAME is null)))
381 ) then
382 null;
383 else
384 fnd_message.set_name('FND', 'FORM_RECORD_CHANGED');
385 app_exception.raise_exception;
386 end if;
387 end if;
388 end loop;
389 return;
390 end LOCK_ROW;
391
392 procedure UPDATE_ROW (
393 X_APPLICATION_ID in NUMBER,
394 X_CONCURRENT_QUEUE_ID in NUMBER,
395 X_RESOURCE_CONSUMER_GROUP in VARCHAR2,
396 X_CONCURRENT_QUEUE_NAME in VARCHAR2,
397 X_PROCESSOR_APPLICATION_ID in NUMBER,
398 X_CONCURRENT_PROCESSOR_ID in NUMBER,
399 X_MAX_PROCESSES in NUMBER,
400 X_RUNNING_PROCESSES in NUMBER,
401 X_CACHE_SIZE in NUMBER,
402 X_MIN_PROCESSES in NUMBER,
403 X_TARGET_PROCESSES in NUMBER,
404 X_TARGET_NODE in VARCHAR2,
405 X_TARGET_QUEUE in VARCHAR2,
406 X_SLEEP_SECONDS in NUMBER,
407 X_CONTROL_CODE in VARCHAR2,
408 X_DIAGNOSTIC_LEVEL in VARCHAR2,
409 X_MANAGER_TYPE in VARCHAR2,
410 X_NODE_NAME in VARCHAR2,
411 X_NODE_NAME2 in VARCHAR2,
412 X_OS_QUEUE in VARCHAR2,
413 X_OS_QUEUE2 in VARCHAR2,
414 X_DATA_GROUP_ID in NUMBER,
415 X_RESTART_TYPE in VARCHAR2,
416 X_RESTART_INTERVAL in NUMBER,
417 X_ATTRIBUTE_CATEGORY in VARCHAR2,
418 X_ATTRIBUTE in VARCHAR2,
419 X_ATTRIBUTE1 in VARCHAR2,
420 X_ATTRIBUTE2 in VARCHAR2,
421 X_ATTRIBUTE3 in VARCHAR2,
422 X_ATTRIBUTE4 in VARCHAR2,
423 X_ATTRIBUTE5 in VARCHAR2,
424 X_ATTRIBUTE6 in VARCHAR2,
425 X_ATTRIBUTE7 in VARCHAR2,
426 X_ATTRIBUTE8 in VARCHAR2,
427 X_ATTRIBUTE9 in VARCHAR2,
428 X_ATTRIBUTE10 in VARCHAR2,
429 X_ATTRIBUTE11 in VARCHAR2,
430 X_ATTRIBUTE12 in VARCHAR2,
431 X_ENABLED_FLAG in VARCHAR2,
432 X_DESCRIPTION in VARCHAR2,
433 X_USER_CONCURRENT_QUEUE_NAME in VARCHAR2,
434 X_LAST_UPDATE_DATE in DATE,
435 X_LAST_UPDATED_BY in NUMBER,
439 update FND_CONCURRENT_QUEUES set
436 X_LAST_UPDATE_LOGIN in NUMBER
437 ) is
438 begin
440 RESOURCE_CONSUMER_GROUP = X_RESOURCE_CONSUMER_GROUP,
441 CONCURRENT_QUEUE_NAME = X_CONCURRENT_QUEUE_NAME,
442 PROCESSOR_APPLICATION_ID = X_PROCESSOR_APPLICATION_ID,
443 CONCURRENT_PROCESSOR_ID = X_CONCURRENT_PROCESSOR_ID,
444 MAX_PROCESSES = X_MAX_PROCESSES,
445 RUNNING_PROCESSES = X_RUNNING_PROCESSES,
446 CACHE_SIZE = X_CACHE_SIZE,
447 MIN_PROCESSES = X_MIN_PROCESSES,
448 TARGET_PROCESSES = X_TARGET_PROCESSES,
449 TARGET_NODE = X_TARGET_NODE,
450 TARGET_QUEUE = X_TARGET_QUEUE,
451 SLEEP_SECONDS = X_SLEEP_SECONDS,
452 CONTROL_CODE = X_CONTROL_CODE,
453 DIAGNOSTIC_LEVEL = X_DIAGNOSTIC_LEVEL,
454 MANAGER_TYPE = X_MANAGER_TYPE,
455 NODE_NAME = X_NODE_NAME,
456 NODE_NAME2 = X_NODE_NAME2,
457 OS_QUEUE = X_OS_QUEUE,
458 OS_QUEUE2 = X_OS_QUEUE2,
459 DATA_GROUP_ID = X_DATA_GROUP_ID,
460 RESTART_TYPE = X_RESTART_TYPE,
461 RESTART_INTERVAL = X_RESTART_INTERVAL,
462 ATTRIBUTE_CATEGORY = X_ATTRIBUTE_CATEGORY,
463 ATTRIBUTE = X_ATTRIBUTE,
464 ATTRIBUTE1 = X_ATTRIBUTE1,
465 ATTRIBUTE2 = X_ATTRIBUTE2,
466 ATTRIBUTE3 = X_ATTRIBUTE3,
467 ATTRIBUTE4 = X_ATTRIBUTE4,
468 ATTRIBUTE5 = X_ATTRIBUTE5,
469 ATTRIBUTE6 = X_ATTRIBUTE6,
470 ATTRIBUTE7 = X_ATTRIBUTE7,
471 ATTRIBUTE8 = X_ATTRIBUTE8,
472 ATTRIBUTE9 = X_ATTRIBUTE9,
473 ATTRIBUTE10 = X_ATTRIBUTE10,
474 ATTRIBUTE11 = X_ATTRIBUTE11,
475 ATTRIBUTE12 = X_ATTRIBUTE12,
476 ENABLED_FLAG = X_ENABLED_FLAG,
477 LAST_UPDATE_DATE = X_LAST_UPDATE_DATE,
478 LAST_UPDATED_BY = X_LAST_UPDATED_BY,
479 LAST_UPDATE_LOGIN = X_LAST_UPDATE_LOGIN
480 where APPLICATION_ID = X_APPLICATION_ID
481 and CONCURRENT_QUEUE_ID = X_CONCURRENT_QUEUE_ID;
482
483 if (sql%notfound) then
484 raise no_data_found;
485 end if;
486
487 update FND_CONCURRENT_QUEUES_TL set
488 DESCRIPTION = X_DESCRIPTION,
489 USER_CONCURRENT_QUEUE_NAME = X_USER_CONCURRENT_QUEUE_NAME,
490 LAST_UPDATE_DATE = X_LAST_UPDATE_DATE,
491 LAST_UPDATED_BY = X_LAST_UPDATED_BY,
492 LAST_UPDATE_LOGIN = X_LAST_UPDATE_LOGIN,
493 SOURCE_LANG = userenv('LANG')
494 where APPLICATION_ID = X_APPLICATION_ID
495 and CONCURRENT_QUEUE_ID = X_CONCURRENT_QUEUE_ID
496 and userenv('LANG') in (LANGUAGE, SOURCE_LANG);
497
498 if (sql%notfound) then
499 raise no_data_found;
500 end if;
501 end UPDATE_ROW;
502
503 procedure DELETE_ROW (
504 X_APPLICATION_ID in NUMBER,
505 X_CONCURRENT_QUEUE_ID in NUMBER
506 ) is
507 begin
508 delete from FND_CONCURRENT_QUEUES_TL
509 where APPLICATION_ID = X_APPLICATION_ID
510 and CONCURRENT_QUEUE_ID = X_CONCURRENT_QUEUE_ID;
511
512 if (sql%notfound) then
513 raise no_data_found;
514 end if;
515
516 delete from FND_CONCURRENT_QUEUES
517 where APPLICATION_ID = X_APPLICATION_ID
518 and CONCURRENT_QUEUE_ID = X_CONCURRENT_QUEUE_ID;
519
520 if (sql%notfound) then
521 raise no_data_found;
522 end if;
523 end DELETE_ROW;
524
525 procedure ADD_LANGUAGE
526 is
527 begin
528
529 /* Mar/19/03 requested by Ric Ginsberg */
530 /* The following delete and update statements are commented out */
531 /* as a quick workaround to fix the time-consuming table handler issue */
532 /* Eventually we'll need to turn them into a separate fix_language procedure */
533 /*
534
535 delete from FND_CONCURRENT_QUEUES_TL T
536 where not exists
537 (select NULL
538 from FND_CONCURRENT_QUEUES B
539 where B.APPLICATION_ID = T.APPLICATION_ID
540 and B.CONCURRENT_QUEUE_ID = T.CONCURRENT_QUEUE_ID
541 );
542
543 update FND_CONCURRENT_QUEUES_TL T set (
544 DESCRIPTION,
545 USER_CONCURRENT_QUEUE_NAME
546 ) = (select
547 B.DESCRIPTION,
548 B.USER_CONCURRENT_QUEUE_NAME
549 from FND_CONCURRENT_QUEUES_TL B
550 where B.APPLICATION_ID = T.APPLICATION_ID
551 and B.CONCURRENT_QUEUE_ID = T.CONCURRENT_QUEUE_ID
552 and B.LANGUAGE = T.SOURCE_LANG)
553 where (
554 T.APPLICATION_ID,
555 T.CONCURRENT_QUEUE_ID,
556 T.LANGUAGE
557 ) in (select
558 SUBT.APPLICATION_ID,
559 SUBT.CONCURRENT_QUEUE_ID,
560 SUBT.LANGUAGE
561 from FND_CONCURRENT_QUEUES_TL SUBB, FND_CONCURRENT_QUEUES_TL SUBT
562 where SUBB.APPLICATION_ID = SUBT.APPLICATION_ID
563 and SUBB.CONCURRENT_QUEUE_ID = SUBT.CONCURRENT_QUEUE_ID
564 and SUBB.LANGUAGE = SUBT.SOURCE_LANG
565 and (SUBB.DESCRIPTION <> SUBT.DESCRIPTION
566 or (SUBB.DESCRIPTION is null and SUBT.DESCRIPTION is not null)
567 or (SUBB.DESCRIPTION is not null and SUBT.DESCRIPTION is null)
568 or SUBB.USER_CONCURRENT_QUEUE_NAME <> SUBT.USER_CONCURRENT_QUEUE_NAME
569 or (SUBB.USER_CONCURRENT_QUEUE_NAME is null and SUBT.USER_CONCURRENT_QUEUE_NAME is not null)
570 or (SUBB.USER_CONCURRENT_QUEUE_NAME is not null and SUBT.USER_CONCURRENT_QUEUE_NAME is null)
571 ));
572
573 */
574
578 CONCURRENT_QUEUE_ID,
575 insert into FND_CONCURRENT_QUEUES_TL (
576 USER_CONCURRENT_QUEUE_NAME,
577 APPLICATION_ID,
579 CONCURRENT_QUEUE_NAME,
580 CREATION_DATE,
581 CREATED_BY,
582 LAST_UPDATE_DATE,
583 LAST_UPDATED_BY,
584 LAST_UPDATE_LOGIN,
585 DESCRIPTION,
586 LANGUAGE,
587 SOURCE_LANG
588 ) select
589 B.USER_CONCURRENT_QUEUE_NAME,
590 B.APPLICATION_ID,
591 B.CONCURRENT_QUEUE_ID,
592 B.CONCURRENT_QUEUE_NAME,
593 B.CREATION_DATE,
594 B.CREATED_BY,
595 B.LAST_UPDATE_DATE,
596 B.LAST_UPDATED_BY,
597 B.LAST_UPDATE_LOGIN,
598 B.DESCRIPTION,
599 L.LANGUAGE_CODE,
600 B.SOURCE_LANG
601 from FND_CONCURRENT_QUEUES_TL B, FND_LANGUAGES L
602 where L.INSTALLED_FLAG in ('I', 'B')
603 and B.LANGUAGE = userenv('LANG')
604 and not exists
605 (select NULL
606 from FND_CONCURRENT_QUEUES_TL T
607 where T.APPLICATION_ID = B.APPLICATION_ID
608 and T.CONCURRENT_QUEUE_ID = B.CONCURRENT_QUEUE_ID
609 and T.LANGUAGE = L.LANGUAGE_CODE);
610 end ADD_LANGUAGE;
611
612 end FND_CONCURRENT_QUEUES_PKG;