[Home] [Help]
PACKAGE BODY: APPS.JTF_PREFAB_CA_COMPS_PKG
Source
1 package body JTF_PREFAB_CA_COMPS_PKG as
2 /* $Header: jtfprecacomptb.pls 120.8.12000000.5 2007/07/27 08:35:51 amaddula ship $ */
3 procedure INSERT_ROW (
4 X_ROWID in out NOCOPY VARCHAR2,
5 X_CA_COMP_ID in NUMBER,
6 X_SECURITY_GROUP_ID in NUMBER,
7 X_APPLICATION_ID in NUMBER,
8 X_COMP_NAME in VARCHAR2,
9 X_COMPONENT_KEY in VARCHAR2,
10 X_LOADER_CLASS_NAME in VARCHAR2,
11 X_TIMEOUT_TYPE in VARCHAR2,
12 X_TIMEOUT in NUMBER,
13 X_TIMEOUT_UNIT in VARCHAR2,
14 X_SGID_ENABLED_FLAG in VARCHAR2,
15 X_STAT_ENABLED_FLAG in VARCHAR2,
16 X_DISTRIBUTED_FLAG in VARCHAR2,
17 X_CACHE_GENERIC_FLAG in VARCHAR2,
18 X_BUSINESS_EVENT_NAME in VARCHAR2,
19 X_OBJECT_VERSION_NUMBER in NUMBER,
20 X_DESCRIPTION in VARCHAR2,
21 X_CREATION_DATE in DATE,
22 X_CREATED_BY in NUMBER,
23 X_LAST_UPDATE_DATE in DATE,
24 X_LAST_UPDATED_BY in NUMBER,
25 X_LAST_UPDATE_LOGIN in NUMBER
26 ) is
27 l_ca_comp_id NUMBER;
28 -- cursor C is select ROWID from JTF_PREFAB_CA_COMPS_B
29 -- where CA_COMP_ID = X_CA_COMP_ID;
30 begin
31 -- The following select is required as we are referring the X_CA_COMP_ID in
32 -- two insert statements and calling JTF.CA_COMP_ID_SEQ.nextval twice will return two different values.
33 select JTF.CA_COMP_ID_SEQ.nextval into l_ca_comp_id from dual;
34 insert into JTF_PREFAB_CA_COMPS_B (
35 -- SECURITY_GROUP_ID,
36 APPLICATION_ID,
37 COMP_NAME,
38 COMPONENT_KEY,
39 LOADER_CLASS_NAME,
40 TIMEOUT_TYPE,
41 TIMEOUT,
42 TIMEOUT_UNIT,
43 SGID_ENABLED_FLAG,
44 STAT_ENABLED_FLAG,
45 DISTRIBUTED_FLAG,
46 CACHE_GENERIC_FLAG,
47 BUSINESS_EVENT_NAME,
48 CA_COMP_ID,
49 OBJECT_VERSION_NUMBER,
50 CREATION_DATE,
51 CREATED_BY,
52 LAST_UPDATE_DATE,
53 LAST_UPDATED_BY,
54 LAST_UPDATE_LOGIN
55 ) values (
56 -- X_SECURITY_GROUP_ID,
57 X_APPLICATION_ID,
58 X_COMP_NAME,
59 X_COMPONENT_KEY,
60 X_LOADER_CLASS_NAME,
61 X_TIMEOUT_TYPE,
62 X_TIMEOUT,
63 X_TIMEOUT_UNIT,
64 X_SGID_ENABLED_FLAG,
65 X_STAT_ENABLED_FLAG,
66 X_DISTRIBUTED_FLAG,
67 X_CACHE_GENERIC_FLAG,
68 X_BUSINESS_EVENT_NAME,
69 -- X_CA_COMP_ID,
70 l_ca_comp_id,
71 X_OBJECT_VERSION_NUMBER,
72 X_CREATION_DATE,
73 X_CREATED_BY,
74 X_LAST_UPDATE_DATE,
75 X_LAST_UPDATED_BY,
76 X_LAST_UPDATE_LOGIN
77 );
78
79 insert into JTF_PREFAB_CA_COMPS_TL (
80 DESCRIPTION,
81 CREATED_BY,
82 CREATION_DATE,
83 LAST_UPDATED_BY,
84 LAST_UPDATE_DATE,
85 LAST_UPDATE_LOGIN,
86 -- SECURITY_GROUP_ID,
87 CA_COMP_ID,
88 LANGUAGE,
89 SOURCE_LANG
90 ) select
91 X_DESCRIPTION,
92 X_CREATED_BY,
93 X_CREATION_DATE,
94 X_LAST_UPDATED_BY,
95 X_LAST_UPDATE_DATE,
96 X_LAST_UPDATE_LOGIN,
97 -- X_SECURITY_GROUP_ID,
98 --X_CA_COMP_ID,
99 l_ca_comp_id,
100 L.LANGUAGE_CODE,
101 userenv('LANG')
102 from FND_LANGUAGES L
103 where L.INSTALLED_FLAG in ('I', 'B')
104 and not exists
105 (select NULL
106 from JTF_PREFAB_CA_COMPS_TL T
107 where T.CA_COMP_ID = l_ca_comp_id
108 and T.LANGUAGE = L.LANGUAGE_CODE);
109
110 -- open c;
111 -- fetch c into X_ROWID;
112 -- if (c%notfound) then
113 -- close c;
114 -- raise no_data_found;
115 -- end if;
116 -- close c;
117
118 end INSERT_ROW;
119
120 procedure LOCK_ROW (
121 X_CA_COMP_ID in NUMBER,
122 X_SECURITY_GROUP_ID in NUMBER,
123 X_APPLICATION_ID in NUMBER,
124 X_COMP_NAME in VARCHAR2,
125 X_COMPONENT_KEY in VARCHAR2,
126 X_LOADER_CLASS_NAME in VARCHAR2,
127 X_TIMEOUT_TYPE in VARCHAR2,
128 X_TIMEOUT in NUMBER,
129 X_TIMEOUT_UNIT in VARCHAR2,
130 X_SGID_ENABLED_FLAG in VARCHAR2,
131 X_STAT_ENABLED_FLAG in VARCHAR2,
132 X_DISTRIBUTED_FLAG in VARCHAR2,
133 X_CACHE_GENERIC_FLAG in VARCHAR2,
134 X_BUSINESS_EVENT_NAME in VARCHAR2,
135 X_OBJECT_VERSION_NUMBER in NUMBER,
136 X_DESCRIPTION in VARCHAR2
137 ) is
138 cursor c is select
139 SECURITY_GROUP_ID,
140 APPLICATION_ID,
141 COMP_NAME,
142 COMPONENT_KEY,
143 LOADER_CLASS_NAME,
144 TIMEOUT_TYPE,
145 TIMEOUT,
146 TIMEOUT_UNIT,
147 SGID_ENABLED_FLAG,
148 STAT_ENABLED_FLAG,
149 DISTRIBUTED_FLAG,
150 CACHE_GENERIC_FLAG,
151 BUSINESS_EVENT_NAME,
152 OBJECT_VERSION_NUMBER
153 from JTF_PREFAB_CA_COMPS_B
154 where CA_COMP_ID = X_CA_COMP_ID
155 for update of CA_COMP_ID nowait;
156 recinfo c%rowtype;
157
158 cursor c1 is select
159 DESCRIPTION,
160 decode(LANGUAGE, userenv('LANG'), 'Y', 'N') BASELANG
161 from JTF_PREFAB_CA_COMPS_TL
162 where CA_COMP_ID = X_CA_COMP_ID
163 and userenv('LANG') in (LANGUAGE, SOURCE_LANG)
164 for update of CA_COMP_ID nowait;
165 begin
166 open c;
167 fetch c into recinfo;
168 if (c%notfound) then
169 close c;
170 fnd_message.set_name('FND', 'FORM_RECORD_DELETED');
171 app_exception.raise_exception;
172 end if;
173 close c;
174 if (
175 (recinfo.APPLICATION_ID = X_APPLICATION_ID)
176 -- AND ((recinfo.SECURITY_GROUP_ID = X_SECURITY_GROUP_ID)
177 -- OR ((recinfo.SECURITY_GROUP_ID is null) AND (X_SECURITY_GROUP_ID is null)))
178 AND (recinfo.COMP_NAME = X_COMP_NAME)
179 AND (recinfo.COMPONENT_KEY = X_COMPONENT_KEY)
180 AND (recinfo.LOADER_CLASS_NAME = X_LOADER_CLASS_NAME)
181 AND (recinfo.TIMEOUT_TYPE = X_TIMEOUT_TYPE)
182 AND (recinfo.TIMEOUT = X_TIMEOUT)
183 AND (recinfo.TIMEOUT_UNIT = X_TIMEOUT_UNIT)
184 AND (recinfo.SGID_ENABLED_FLAG = X_SGID_ENABLED_FLAG)
185 AND (recinfo.STAT_ENABLED_FLAG = X_STAT_ENABLED_FLAG)
186 AND (recinfo.DISTRIBUTED_FLAG = X_DISTRIBUTED_FLAG)
187 AND (recinfo.CACHE_GENERIC_FLAG = X_CACHE_GENERIC_FLAG)
188 AND (recinfo.BUSINESS_EVENT_NAME = X_BUSINESS_EVENT_NAME)
189 AND (recinfo.OBJECT_VERSION_NUMBER = X_OBJECT_VERSION_NUMBER)
190 ) then
191 null;
192 else
193 fnd_message.set_name('FND', 'FORM_RECORD_CHANGED');
194 app_exception.raise_exception;
195 end if;
196
197 for tlinfo in c1 loop
198 if (tlinfo.BASELANG = 'Y') then
199 if ( (tlinfo.DESCRIPTION = X_DESCRIPTION)
200 ) then
201 null;
202 else
203 fnd_message.set_name('FND', 'FORM_RECORD_CHANGED');
204 app_exception.raise_exception;
205 end if;
206 end if;
207 end loop;
208 return;
209 end LOCK_ROW;
210
211 procedure UPDATE_ROW (
212 X_CA_COMP_ID in NUMBER,
213 X_SECURITY_GROUP_ID in NUMBER,
214 X_APPLICATION_ID in NUMBER,
215 X_COMP_NAME in VARCHAR2,
216 X_COMPONENT_KEY in VARCHAR2,
217 X_LOADER_CLASS_NAME in VARCHAR2,
218 X_TIMEOUT_TYPE in VARCHAR2,
219 X_TIMEOUT in NUMBER,
220 X_TIMEOUT_UNIT in VARCHAR2,
221 X_SGID_ENABLED_FLAG in VARCHAR2,
222 X_STAT_ENABLED_FLAG in VARCHAR2,
223 X_DISTRIBUTED_FLAG in VARCHAR2,
224 X_CACHE_GENERIC_FLAG in VARCHAR2,
225 X_BUSINESS_EVENT_NAME in VARCHAR2,
226 X_OBJECT_VERSION_NUMBER in NUMBER,
227 X_DESCRIPTION in VARCHAR2,
228 X_LAST_UPDATE_DATE in DATE,
229 X_LAST_UPDATED_BY in NUMBER,
230 X_LAST_UPDATE_LOGIN in NUMBER
231 ) is
232 begin
233 update JTF_PREFAB_CA_COMPS_B set
234 -- SECURITY_GROUP_ID = X_SECURITY_GROUP_ID,
235 APPLICATION_ID = X_APPLICATION_ID,
236 COMP_NAME = X_COMP_NAME,
237 COMPONENT_KEY = X_COMPONENT_KEY,
238 LOADER_CLASS_NAME = X_LOADER_CLASS_NAME,
239 TIMEOUT_TYPE = X_TIMEOUT_TYPE,
240 TIMEOUT = X_TIMEOUT,
241 TIMEOUT_UNIT = X_TIMEOUT_UNIT,
242 SGID_ENABLED_FLAG = X_SGID_ENABLED_FLAG,
243 STAT_ENABLED_FLAG = X_STAT_ENABLED_FLAG,
244 DISTRIBUTED_FLAG = X_DISTRIBUTED_FLAG,
245 CACHE_GENERIC_FLAG = X_CACHE_GENERIC_FLAG,
246 BUSINESS_EVENT_NAME = X_BUSINESS_EVENT_NAME,
247 OBJECT_VERSION_NUMBER = X_OBJECT_VERSION_NUMBER,
248 LAST_UPDATE_DATE = X_LAST_UPDATE_DATE,
249 LAST_UPDATED_BY = X_LAST_UPDATED_BY,
250 LAST_UPDATE_LOGIN = X_LAST_UPDATE_LOGIN
251 where CA_COMP_ID = X_CA_COMP_ID;
252
253 if (sql%notfound) then
254 raise no_data_found;
255 end if;
256
257 update JTF_PREFAB_CA_COMPS_TL set
258 DESCRIPTION = X_DESCRIPTION,
259 LAST_UPDATE_DATE = X_LAST_UPDATE_DATE,
260 LAST_UPDATED_BY = X_LAST_UPDATED_BY,
261 LAST_UPDATE_LOGIN = X_LAST_UPDATE_LOGIN,
262 SOURCE_LANG = userenv('LANG')
263 where CA_COMP_ID = X_CA_COMP_ID
264 and userenv('LANG') in (LANGUAGE, SOURCE_LANG);
265
266 if (sql%notfound) then
267 raise no_data_found;
268 end if;
269 end UPDATE_ROW;
270
271 -- Customized cached seed-data have last_updated_by column as -1.
272 -- To apply patches on them, modify the last_updated_by column to -1
273
274 procedure UPDATE_ROW_1 (
275 X_CA_COMP_ID in NUMBER,
276 X_LAST_UPDATED_BY in NUMBER
277 ) is
278 begin
279 update JTF_PREFAB_CA_COMPS_B set
280 LAST_UPDATED_BY = X_LAST_UPDATED_BY
281 where CA_COMP_ID = X_CA_COMP_ID;
282
283 if (sql%notfound) then
284 raise no_data_found;
285 end if;
286
287 end UPDATE_ROW_1;
288
289 procedure DELETE_ROW (
290 X_CA_COMP_ID in NUMBER
291 ) is
292 begin
293 delete from JTF_PREFAB_CA_COMPS_TL
294 where CA_COMP_ID = X_CA_COMP_ID;
295
296 if (sql%notfound) then
297 raise no_data_found;
298 end if;
299
300 delete from JTF_PREFAB_CA_COMPS_B
301 where CA_COMP_ID = X_CA_COMP_ID;
302
303 if (sql%notfound) then
304 raise no_data_found;
305 end if;
306 end DELETE_ROW;
307
308 procedure ADD_LANGUAGE
309 is
310 begin
311 delete from JTF_PREFAB_CA_COMPS_TL T
312 where not exists
313 (select NULL
314 from JTF_PREFAB_CA_COMPS_B B
315 where B.CA_COMP_ID = T.CA_COMP_ID
316 );
317
318 update JTF_PREFAB_CA_COMPS_TL T set (
319 DESCRIPTION
320 ) = (select
321 B.DESCRIPTION
322 from JTF_PREFAB_CA_COMPS_TL B
323 where B.CA_COMP_ID = T.CA_COMP_ID
324 and B.LANGUAGE = T.SOURCE_LANG)
325 where (
326 T.CA_COMP_ID,
327 T.LANGUAGE
328 ) in (select
329 SUBT.CA_COMP_ID,
330 SUBT.LANGUAGE
331 from JTF_PREFAB_CA_COMPS_TL SUBB, JTF_PREFAB_CA_COMPS_TL SUBT
332 where SUBB.CA_COMP_ID = SUBT.CA_COMP_ID
333 and SUBB.LANGUAGE = SUBT.SOURCE_LANG
334 and (SUBB.DESCRIPTION <> SUBT.DESCRIPTION
335 ));
336
337 insert into JTF_PREFAB_CA_COMPS_TL (
338 DESCRIPTION,
339 CREATED_BY,
340 CREATION_DATE,
341 LAST_UPDATED_BY,
342 LAST_UPDATE_DATE,
343 LAST_UPDATE_LOGIN,
344 -- SECURITY_GROUP_ID,
345 CA_COMP_ID,
346 LANGUAGE,
347 SOURCE_LANG
348 ) select
349 B.DESCRIPTION,
350 B.CREATED_BY,
351 B.CREATION_DATE,
352 B.LAST_UPDATED_BY,
353 B.LAST_UPDATE_DATE,
354 B.LAST_UPDATE_LOGIN,
355 -- B.SECURITY_GROUP_ID,
356 B.CA_COMP_ID,
357 L.LANGUAGE_CODE,
358 B.SOURCE_LANG
359 from JTF_PREFAB_CA_COMPS_TL B, FND_LANGUAGES L
360 where L.INSTALLED_FLAG in ('I', 'B')
361 and B.LANGUAGE = userenv('LANG')
362 and not exists
363 (select NULL
364 from JTF_PREFAB_CA_COMPS_TL T
365 where T.CA_COMP_ID = B.CA_COMP_ID
366 and T.LANGUAGE = L.LANGUAGE_CODE);
367 end ADD_LANGUAGE;
368
369 procedure LOAD_ROW (
370 X_SECURITY_GROUP_ID in NUMBER,
371 X_APPLICATION_ID in NUMBER,
372 X_COMP_NAME in VARCHAR2,
373 X_COMPONENT_KEY in VARCHAR2,
374 X_LOADER_CLASS_NAME in VARCHAR2,
375 X_TIMEOUT_TYPE in VARCHAR2,
376 X_TIMEOUT in NUMBER,
377 X_TIMEOUT_UNIT in VARCHAR2,
378 X_SGID_ENABLED_FLAG in VARCHAR2,
379 X_STAT_ENABLED_FLAG in VARCHAR2,
380 X_DISTRIBUTED_FLAG in VARCHAR2,
381 X_CACHE_GENERIC_FLAG in VARCHAR2,
382 X_BUSINESS_EVENT_NAME in VARCHAR2,
383 X_OBJECT_VERSION_NUMBER in NUMBER,
384 X_DESCRIPTION in VARCHAR2,
385 X_LAST_UPDATE_DATE in DATE,
386 X_OWNER in VARCHAR2,
387 X_CUSTOM_MODE in VARCHAR2
388 ) is
389 --****** local variables ******
390 l_row_id VARCHAR2(255);
391 f_luby NUMBER;
392 f_ludate DATE;
393 db_luby NUMBER;
394 db_ludate DATE;
395 l_ca_comp_id NUMBER;
396 l_host_app_id NUMBER;
397
398 -- cursor c is select nvl(max(CA_COMP_ID), 0) from jtf_prefab_ca_comps_b where CA_COMP_ID < 10000;
399 -- cursor c_ha is select nvl(max(HA_COMP_ID), 0) from jtf_prefab_ha_comps where HA_COMP_ID < 10000;
400 l_pseudo_seq NUMBER := NULL;
401 l_pseudo_seq_ha NUMBER := NULL;
402
403 CURSOR host_apps_cursor IS
404 SELECT host_app_id
405 FROM jtf_prefab_host_apps
406 WHERE application_id = X_APPLICATION_ID;
407
408 CURSOR host_apps_cursor_gen IS
409 SELECT host_app_id
410 FROM jtf_prefab_host_apps
411 WHERE application_id = -1;
412
413 begin
414 -- Translate owner to file_last_updated_by
415 f_luby := fnd_load_util.owner_id(X_OWNER);
416
417 -- Translate char last_update_date to date
418 f_ludate := X_LAST_UPDATE_DATE;
419
420
421 begin
422 SELECT CA_COMP_ID, LAST_UPDATED_BY, LAST_UPDATE_DATE
423 INTO l_ca_comp_id, db_luby, db_ludate
424 FROM JTF_PREFAB_CA_COMPS_B
425 WHERE APPLICATION_ID = X_APPLICATION_ID AND
426 COMPONENT_KEY = X_COMPONENT_KEY;
427
428 if (fnd_load_util.upload_test(f_luby, f_ludate, db_luby,
429 db_ludate, X_CUSTOM_MODE)) then
430 -- **** call Update row ****
431 JTF_PREFAB_CA_COMPS_PKG.UPDATE_ROW (
432 X_CA_COMP_ID => l_ca_comp_id,
433 X_SECURITY_GROUP_ID => X_SECURITY_GROUP_ID,
434 X_APPLICATION_ID => X_APPLICATION_ID,
435 X_COMP_NAME => X_COMP_NAME,
436 X_COMPONENT_KEY => X_COMPONENT_KEY,
437 X_LOADER_CLASS_NAME => X_LOADER_CLASS_NAME,
438 X_TIMEOUT_TYPE => X_TIMEOUT_TYPE,
439 X_TIMEOUT => X_TIMEOUT,
440 X_TIMEOUT_UNIT => X_TIMEOUT_UNIT,
441 X_SGID_ENABLED_FLAG => X_SGID_ENABLED_FLAG,
442 X_STAT_ENABLED_FLAG => X_STAT_ENABLED_FLAG,
443 X_DISTRIBUTED_FLAG => X_DISTRIBUTED_FLAG,
444 X_CACHE_GENERIC_FLAG => X_CACHE_GENERIC_FLAG,
445 X_BUSINESS_EVENT_NAME => X_BUSINESS_EVENT_NAME,
446 X_OBJECT_VERSION_NUMBER => X_OBJECT_VERSION_NUMBER,
447 X_DESCRIPTION => X_DESCRIPTION,
448 X_LAST_UPDATE_DATE => f_ludate,
449 X_LAST_UPDATED_BY => f_luby,
450 X_LAST_UPDATE_LOGIN => 0);
451 end if;
452 exception
453 when no_data_found then
454 -- **** generate pseudo sequence ***
455 -- OPEN c;
456 -- FETCH c INTO l_pseudo_seq;
457 -- CLOSE c;
458
459 -- this is just to pass some integer number to the insert_row proc.
460 -- in the insert_row proc we replace this value with the JTF.CA_COMP_ID_SEQ.nextval/JTF.CA_COMP_ID_SEQ.currval wherever required
461 -- so this value is just a dummy value
462 l_pseudo_seq := 1;
463 JTF_PREFAB_CA_COMPS_PKG.INSERT_ROW (
467 X_APPLICATION_ID => X_APPLICATION_ID,
464 X_ROWID => l_row_id,
465 X_CA_COMP_ID => l_pseudo_seq,
466 X_SECURITY_GROUP_ID => X_SECURITY_GROUP_ID,
468 X_COMP_NAME => X_COMP_NAME,
469 X_COMPONENT_KEY => X_COMPONENT_KEY,
470 X_LOADER_CLASS_NAME => X_LOADER_CLASS_NAME,
471 X_TIMEOUT_TYPE => X_TIMEOUT_TYPE,
472 X_TIMEOUT => X_TIMEOUT,
473 X_TIMEOUT_UNIT => X_TIMEOUT_UNIT,
474 X_SGID_ENABLED_FLAG => X_SGID_ENABLED_FLAG,
475 X_STAT_ENABLED_FLAG => X_STAT_ENABLED_FLAG,
476 X_DISTRIBUTED_FLAG => X_DISTRIBUTED_FLAG,
477 X_CACHE_GENERIC_FLAG => X_CACHE_GENERIC_FLAG,
478 X_BUSINESS_EVENT_NAME => X_BUSINESS_EVENT_NAME,
479 X_OBJECT_VERSION_NUMBER => X_OBJECT_VERSION_NUMBER,
480 X_DESCRIPTION => X_DESCRIPTION,
481 X_CREATION_DATE => f_ludate,
482 X_CREATED_BY => f_luby,
483 X_LAST_UPDATE_DATE => f_ludate,
484 X_LAST_UPDATED_BY => f_luby,
485 X_LAST_UPDATE_LOGIN => 0);
486
487 -- for each application/host pair that the filter belongs to,
488 -- add a row to ha_filters
489 -- OPEN c_ha;
490 -- FETCH c_ha INTO l_pseudo_seq_ha;
491 -- CLOSE c_ha;
492
493 IF X_CACHE_GENERIC_FLAG = 'f' THEN
494 OPEN host_apps_cursor;
495 FETCH host_apps_cursor INTO l_host_app_id;
496
497 WHILE host_apps_cursor%FOUND LOOP
498 -- we are inserting into only one table so get the value from JTF.HA_COMP_ID_SEQ
499 -- l_pseudo_seq_ha := l_pseudo_seq_ha + 1;
500 INSERT INTO jtf_prefab_ha_comps (ha_comp_id,
501 object_version_number,
502 created_by,
503 creation_date,
504 last_updated_by,
505 last_update_date,
506 last_update_login,
507 -- security_group_id,
508 host_app_id,
509 ca_comp_id,
510 cache_policy,
511 cache_clear_flag,
512 cache_reload_flag)
513 VALUES (JTF.HA_COMP_ID_SEQ.nextval,
514 X_OBJECT_VERSION_NUMBER,
515 f_luby,
516 f_ludate,
517 f_luby,
518 f_ludate,
519 0,
520 -- NULL,
521 l_host_app_id,
522 --as we have already inserted comp_id value into JTF_PREFAB_CA_COMPS_B table
523 JTF.CA_COMP_ID_SEQ.currval,
524 -- l_pseudo_seq,
525 'CO',
526 'f',
527 'f');
528 FETCH host_apps_cursor INTO l_host_app_id;
529 END LOOP;
530 CLOSE host_apps_cursor;
531 END IF;
532
533 IF X_CACHE_GENERIC_FLAG = 't' THEN
534 OPEN host_apps_cursor_gen;
535 FETCH host_apps_cursor_gen INTO l_host_app_id;
536
537 WHILE host_apps_cursor_gen%FOUND LOOP
538 -- we are inserting into only one table so get the value from JTF.HA_COMP_ID_SEQ
539 -- l_pseudo_seq_ha := l_pseudo_seq_ha + 1;
540 INSERT INTO jtf_prefab_ha_comps (ha_comp_id,
541 object_version_number,
542 created_by,
543 creation_date,
544 last_updated_by,
545 last_update_date,
546 last_update_login,
547 -- security_group_id,
548 host_app_id,
549 ca_comp_id,
550 cache_policy,
551 cache_clear_flag,
552 cache_reload_flag)
553 VALUES (JTF.HA_COMP_ID_SEQ.nextval,
554 X_OBJECT_VERSION_NUMBER,
555 f_luby,
556 f_ludate,
557 f_luby,
558 f_ludate,
559 0,
560 -- NULL,
561 l_host_app_id,
562 --as we have already inserted comp_id value into JTF_PREFAB_CA_COMPS_B table
563 JTF.CA_COMP_ID_SEQ.currval,
564 -- l_pseudo_seq,
565 'CO',
569 END LOOP;
566 'f',
567 'f');
568 FETCH host_apps_cursor_gen INTO l_host_app_id;
570 CLOSE host_apps_cursor_gen;
571 END IF;
572 end;
573
574 end LOAD_ROW;
575
576 procedure TRANSLATE_ROW (
577 X_APPLICATION_ID in NUMBER,
578 X_COMPONENT_KEY in VARCHAR2,
579 X_DESCRIPTION in VARCHAR2,
580 X_LAST_UPDATE_DATE in DATE,
581 X_OWNER in VARCHAR2,
582 X_CUSTOM_MODE in VARCHAR2
583 ) is
584 -- **** local variables *****
585 f_luby NUMBER;
586 f_ludate DATE;
587 db_luby NUMBER;
588 db_ludate DATE;
589 l_ca_comp_id NUMBER;
590 begin
591
592 f_luby := fnd_load_util.owner_id(X_OWNER);
593
594 f_ludate := X_LAST_UPDATE_DATE;
595
596 begin
597 SELECT tl.CA_COMP_ID, tl.LAST_UPDATED_BY, tl.LAST_UPDATE_DATE
598 INTO l_ca_comp_id, db_luby, db_ludate
599 FROM JTF_PREFAB_CA_COMPS_B b, JTF_PREFAB_CA_COMPS_TL tl
600 WHERE b.CA_COMP_ID = tl.CA_COMP_ID AND
601 b.APPLICATION_ID = X_APPLICATION_ID AND
602 b.COMPONENT_KEY = X_COMPONENT_KEY AND
603 tl.LANGUAGE = userenv('LANG');
604
605 if (fnd_load_util.upload_test(f_luby, f_ludate, db_luby,
606 db_ludate, X_CUSTOM_MODE))
607 then
608 update JTF_PREFAB_CA_COMPS_TL set
609 DESCRIPTION = nvl(X_DESCRIPTION, DESCRIPTION),
610 LAST_UPDATE_DATE = f_ludate,
611 LAST_UPDATED_BY = f_luby,
612 LAST_UPDATE_LOGIN = 0,
613 SOURCE_LANG = userenv('LANG')
614 where userenv('LANG') in (LANGUAGE, SOURCE_LANG) and
615 CA_COMP_ID = l_ca_comp_id;
616 end if;
617 exception
618 when no_data_found then null;
619 end;
620 end TRANSLATE_ROW;
621
622 end JTF_PREFAB_CA_COMPS_PKG;