DBA Data[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;