DBA Data[Home] [Help]

PACKAGE BODY: APPS.JTF_OBJECTS_PKG

Source


1 PACKAGE body JTF_OBJECTS_PKG as
2 /* $Header: jtftkobb.pls 120.2 2005/12/19 17:19:41 rhshriva ship $ */
3 procedure INSERT_ROW (
4   X_ROWID in out nocopy VARCHAR2,
5   X_SEEDED_FLAG in VARCHAR2,
6   X_ATTRIBUTE1 in VARCHAR2,
7   X_ATTRIBUTE2 in VARCHAR2,
8   X_ATTRIBUTE3 in VARCHAR2,
9   X_ATTRIBUTE4 in VARCHAR2,
10   X_ATTRIBUTE5 in VARCHAR2,
11   X_ATTRIBUTE6 in VARCHAR2,
12   X_ATTRIBUTE7 in VARCHAR2,
13   X_ATTRIBUTE8 in VARCHAR2,
14   X_ATTRIBUTE9 in VARCHAR2,
15   X_ATTRIBUTE10 in VARCHAR2,
16   X_ATTRIBUTE11 in VARCHAR2,
17   X_ATTRIBUTE12 in VARCHAR2,
18   X_ATTRIBUTE13 in VARCHAR2,
19   X_ATTRIBUTE14 in VARCHAR2,
20   X_ATTRIBUTE15 in VARCHAR2,
21   X_ATTRIBUTE_CATEGORY in VARCHAR2,
22   X_SELECT_NAME in VARCHAR2,
23   X_SELECT_DETAILS in VARCHAR2,
24   X_FROM_TABLE in VARCHAR2,
25   X_WHERE_CLAUSE in VARCHAR2,
26   X_ORDER_BY_CLAUSE in VARCHAR2,
27   X_START_DATE_ACTIVE in DATE,
28   X_ENTER_FROM_TASK in VARCHAR2,
29   X_END_DATE_ACTIVE in DATE,
30   X_OBJECT_PARAMETERS in VARCHAR2,
31   X_SELECT_ID in VARCHAR2,
32   X_OBJECT_CODE in VARCHAR2,
33   X_OBJECT_FUNCTION in VARCHAR2,
34   X_NAME in VARCHAR2,
35   X_DESCRIPTION in VARCHAR2,
36   X_LOV_WINDOW_TITLE in VARCHAR2,
37   X_LOV_NAME_TITLE in VARCHAR2,
38   X_LOV_DETAILS_TITLE in VARCHAR2,
39   X_CREATION_DATE in DATE,
40   X_CREATED_BY in NUMBER,
41   X_LAST_UPDATE_DATE in DATE,
42   X_LAST_UPDATED_BY in NUMBER,
43   X_LAST_UPDATE_LOGIN in NUMBER,
44   X_URL in VARCHAR2 ,
45   X_APPLICATION_ID in NUMBER,
46   X_LAUNCH_METHOD in VARCHAR2,
47   X_WEB_FUNCTION_NAME in VARCHAR2,
48   X_WEB_FUNCTION_PARAMETERS in VARCHAR2,
49   X_FND_OBJ_NAME in VARCHAR2,
50   X_PREDICATE_ALIAS in VARCHAR2,
51   X_INACTIVE_CLAUSE in VARCHAR2,
52   X_OA_WEB_FUNCTION_NAME in VARCHAR2,
53   X_OA_WEB_FUNCTION_PARAMETERS in VARCHAR2
54   ) is
55   cursor C is select ROWID from JTF_OBJECTS_B
56     where OBJECT_CODE = X_OBJECT_CODE
57     ;
58 begin
59   insert into JTF_OBJECTS_B (
60     SEEDED_FLAG,
61     ATTRIBUTE1,
62     ATTRIBUTE2,
63     ATTRIBUTE3,
64     ATTRIBUTE4,
65     ATTRIBUTE5,
66     ATTRIBUTE6,
67     ATTRIBUTE7,
68     ATTRIBUTE8,
69     ATTRIBUTE9,
70     ATTRIBUTE10,
71     ATTRIBUTE11,
72     ATTRIBUTE12,
73     ATTRIBUTE13,
74     ATTRIBUTE14,
75     ATTRIBUTE15,
76     ATTRIBUTE_CATEGORY,
77     SELECT_NAME,
78     SELECT_DETAILS,
79     FROM_TABLE,
80     WHERE_CLAUSE,
81     ORDER_BY_CLAUSE,
82     START_DATE_ACTIVE,
83     ENTER_FROM_TASK,
84     END_DATE_ACTIVE,
85     OBJECT_PARAMETERS,
86     SELECT_ID,
87     OBJECT_CODE,
88     OBJECT_FUNCTION,
89     CREATION_DATE,
90     CREATED_BY,
91     LAST_UPDATE_DATE,
92     LAST_UPDATED_BY,
93     LAST_UPDATE_LOGIN,
94     OBJECT_VERSION_NUMBER,
95     URL,
96     APPLICATION_ID,
97     LAUNCH_METHOD,
98     WEB_FUNCTION_NAME,
99     WEB_FUNCTION_PARAMETERS,
100     FND_OBJ_NAME,
101     PREDICATE_ALIAS,
102     INACTIVE_CLAUSE,
103     OA_WEB_FUNCTION_NAME ,
104     OA_WEB_FUNCTION_PARAMETERS
105   ) values (
106     X_SEEDED_FLAG,
107     X_ATTRIBUTE1,
108     X_ATTRIBUTE2,
109     X_ATTRIBUTE3,
110     X_ATTRIBUTE4,
111     X_ATTRIBUTE5,
112     X_ATTRIBUTE6,
113     X_ATTRIBUTE7,
114     X_ATTRIBUTE8,
115     X_ATTRIBUTE9,
116     X_ATTRIBUTE10,
117     X_ATTRIBUTE11,
118     X_ATTRIBUTE12,
119     X_ATTRIBUTE13,
120     X_ATTRIBUTE14,
121     X_ATTRIBUTE15,
122     X_ATTRIBUTE_CATEGORY,
123     X_SELECT_NAME,
124     X_SELECT_DETAILS,
125     X_FROM_TABLE,
126     X_WHERE_CLAUSE,
127     X_ORDER_BY_CLAUSE,
128     X_START_DATE_ACTIVE,
129     X_ENTER_FROM_TASK,
130     X_END_DATE_ACTIVE,
131     X_OBJECT_PARAMETERS,
132     X_SELECT_ID,
133     X_OBJECT_CODE,
134     X_OBJECT_FUNCTION,
135     X_CREATION_DATE,
136     X_CREATED_BY,
137     X_LAST_UPDATE_DATE,
138     X_LAST_UPDATED_BY,
139     X_LAST_UPDATE_LOGIN,
140     1,
141     X_URL,
142     X_APPLICATION_ID,
143     X_LAUNCH_METHOD,
144     X_WEB_FUNCTION_NAME,
145     X_WEB_FUNCTION_PARAMETERS,
146     X_FND_OBJ_NAME ,
147     X_PREDICATE_ALIAS,
148     X_INACTIVE_CLAUSE,
149     X_OA_WEB_FUNCTION_NAME,
150     X_OA_WEB_FUNCTION_PARAMETERS
151   );
152 
153   insert into JTF_OBJECTS_TL (
154     OBJECT_CODE,
155     NAME,
156     DESCRIPTION,
157     LOV_WINDOW_TITLE,
158     LOV_NAME_TITLE,
159     LOV_DETAILS_TITLE,
160     CREATED_BY,
161     CREATION_DATE,
162     LAST_UPDATED_BY,
163     LAST_UPDATE_DATE,
164     LAST_UPDATE_LOGIN,
165     LANGUAGE,
166     SOURCE_LANG
167   ) select
168     X_OBJECT_CODE,
169     X_NAME,
170     X_DESCRIPTION,
171     X_LOV_WINDOW_TITLE,
172     X_LOV_NAME_TITLE,
173     X_LOV_DETAILS_TITLE,
174     X_CREATED_BY,
175     X_CREATION_DATE,
176     X_LAST_UPDATED_BY,
177     X_LAST_UPDATE_DATE,
178     X_LAST_UPDATE_LOGIN,
179     L.LANGUAGE_CODE,
180     userenv('LANG')
181   from FND_LANGUAGES L
182   where L.INSTALLED_FLAG in ('I', 'B')
183   and not exists
184     (select NULL
185     from JTF_OBJECTS_TL T
186     where T.OBJECT_CODE = X_OBJECT_CODE
187     and T.LANGUAGE = L.LANGUAGE_CODE);
188 
189   open c;
190   fetch c into X_ROWID;
191   if (c%notfound) then
192     close c;
193     raise no_data_found;
194   end if;
195   close c;
196 end INSERT_ROW;
197 
198 procedure LOCK_ROW (
199   X_object_CODE in VARCHAR2,
200   X_OBJECT_VERSION_NUMBER in NUMBER
201 ) is
202   cursor c is select
203         OBJECT_VERSION_NUMBER
204     from JTF_objects_vl
205     where object_CODE = X_object_CODE
206     for update of object_CODE nowait;
207   recinfo c%rowtype;
208 
209 
210 begin
211   open c;
212   fetch c into recinfo;
213   if (c%notfound) then
214     close c;
215     fnd_message.set_name('FND', 'FORM_RECORD_DELETED');
216     app_exception.raise_exception;
217   end if;
218   close c;
219 
220   if (recinfo.OBJECT_VERSION_NUMBER = X_OBJECT_VERSION_NUMBER)
221   then
222     null;
223   else
224     fnd_message.set_name('FND', 'FORM_RECORD_CHANGED');
225     app_exception.raise_exception;
226   end if;
227 
228   return;
229 end LOCK_ROW;
230 
231 
232 procedure UPDATE_ROW (
233   X_SEEDED_FLAG in VARCHAR2,
234   X_ATTRIBUTE1 in VARCHAR2,
235   X_ATTRIBUTE2 in VARCHAR2,
236   X_ATTRIBUTE3 in VARCHAR2,
237   X_ATTRIBUTE4 in VARCHAR2,
238   X_ATTRIBUTE5 in VARCHAR2,
239   X_ATTRIBUTE6 in VARCHAR2,
240   X_ATTRIBUTE7 in VARCHAR2,
241   X_ATTRIBUTE8 in VARCHAR2,
242   X_ATTRIBUTE9 in VARCHAR2,
243   X_ATTRIBUTE10 in VARCHAR2,
244   X_ATTRIBUTE11 in VARCHAR2,
245   X_ATTRIBUTE12 in VARCHAR2,
246   X_ATTRIBUTE13 in VARCHAR2,
247   X_ATTRIBUTE14 in VARCHAR2,
248   X_ATTRIBUTE15 in VARCHAR2,
249   X_ATTRIBUTE_CATEGORY in VARCHAR2,
250   X_SELECT_NAME in VARCHAR2,
251   X_SELECT_DETAILS in VARCHAR2,
252   X_FROM_TABLE in VARCHAR2,
253   X_WHERE_CLAUSE in VARCHAR2,
254   X_ORDER_BY_CLAUSE in VARCHAR2,
255   X_START_DATE_ACTIVE in DATE,
256   X_ENTER_FROM_TASK in VARCHAR2,
257   X_END_DATE_ACTIVE in DATE,
258   X_OBJECT_PARAMETERS in VARCHAR2,
259   X_SELECT_ID in VARCHAR2,
260   X_OBJECT_CODE in VARCHAR2,
261   X_OBJECT_FUNCTION in VARCHAR2,
262   X_NAME in VARCHAR2,
263   X_DESCRIPTION in VARCHAR2,
264   X_LOV_WINDOW_TITLE in VARCHAR2,
265   X_LOV_NAME_TITLE in VARCHAR2,
266   X_LOV_DETAILS_TITLE in VARCHAR2,
267   X_LAST_UPDATE_DATE in DATE,
268   X_LAST_UPDATED_BY in NUMBER,
269   X_LAST_UPDATE_LOGIN in NUMBER,
270   X_OBJECT_VERSION_NUMBER in NUMBER,
271   X_URL in VARCHAR2,
272   X_APPLICATION_ID in NUMBER,
273   X_LAUNCH_METHOD in VARCHAR2,
274   X_WEB_FUNCTION_NAME in VARCHAR2,
275   X_WEB_FUNCTION_PARAMETERS in VARCHAR2,
276   X_FND_OBJ_NAME in VARCHAR2,
277   X_PREDICATE_ALIAS in VARCHAR2,
278   X_INACTIVE_CLAUSE in VARCHAR2,
279   X_OA_WEB_FUNCTION_NAME in VARCHAR2,
280   X_OA_WEB_FUNCTION_PARAMETERS in VARCHAR2
281 ) is
282 begin
283   update JTF_OBJECTS_B set
284     SEEDED_FLAG = X_SEEDED_FLAG,
285     ATTRIBUTE1 = X_ATTRIBUTE1,
286     ATTRIBUTE2 = X_ATTRIBUTE2,
287     ATTRIBUTE3 = X_ATTRIBUTE3,
288     ATTRIBUTE4 = X_ATTRIBUTE4,
289     ATTRIBUTE5 = X_ATTRIBUTE5,
290     ATTRIBUTE6 = X_ATTRIBUTE6,
291     ATTRIBUTE7 = X_ATTRIBUTE7,
292     ATTRIBUTE8 = X_ATTRIBUTE8,
293     ATTRIBUTE9 = X_ATTRIBUTE9,
294     ATTRIBUTE10 = X_ATTRIBUTE10,
295     ATTRIBUTE11 = X_ATTRIBUTE11,
296     ATTRIBUTE12 = X_ATTRIBUTE12,
297     ATTRIBUTE13 = X_ATTRIBUTE13,
298     ATTRIBUTE14 = X_ATTRIBUTE14,
299     ATTRIBUTE15 = X_ATTRIBUTE15,
300     ATTRIBUTE_CATEGORY = X_ATTRIBUTE_CATEGORY,
301     SELECT_NAME = X_SELECT_NAME,
302     SELECT_DETAILS = X_SELECT_DETAILS,
303     FROM_TABLE = X_FROM_TABLE,
304     WHERE_CLAUSE = X_WHERE_CLAUSE,
305     ORDER_BY_CLAUSE = X_ORDER_BY_CLAUSE,
306     START_DATE_ACTIVE = X_START_DATE_ACTIVE,
307     ENTER_FROM_TASK = X_ENTER_FROM_TASK,
308     END_DATE_ACTIVE = X_END_DATE_ACTIVE,
309     OBJECT_PARAMETERS = X_OBJECT_PARAMETERS,
310     SELECT_ID = X_SELECT_ID,
311     OBJECT_CODE = X_OBJECT_CODE,
312     OBJECT_FUNCTION = X_OBJECT_FUNCTION,
313     LAST_UPDATE_DATE = X_LAST_UPDATE_DATE,
314     LAST_UPDATED_BY = X_LAST_UPDATED_BY,
315     LAST_UPDATE_LOGIN = X_LAST_UPDATE_LOGIN,
316     OBJECT_VERSION_NUMBER = X_OBJECT_VERSION_NUMBER,
317     URL = x_URL,
318     APPLICATION_ID = X_APPLICATION_ID,
319     LAUNCH_METHOD =  X_LAUNCH_METHOD,
320     WEB_FUNCTION_NAME = X_WEB_FUNCTION_NAME,
321     WEB_FUNCTION_PARAMETERS = X_WEB_FUNCTION_PARAMETERS,
322     FND_OBJ_NAME = X_FND_OBJ_NAME,
323     PREDICATE_ALIAS = X_PREDICATE_ALIAS,
324     INACTIVE_CLAUSE = X_INACTIVE_CLAUSE,
325     OA_WEB_FUNCTION_NAME = X_OA_WEB_FUNCTION_NAME,
326     OA_WEB_FUNCTION_PARAMETERS = X_OA_WEB_FUNCTION_PARAMETERS
327   where OBJECT_CODE = X_OBJECT_CODE;
328 
329   if (sql%notfound) then
330     raise no_data_found;
331   end if;
332 
333   update JTF_OBJECTS_TL set
334     NAME = X_NAME,
335     DESCRIPTION = X_DESCRIPTION,
336     LOV_WINDOW_TITLE = X_LOV_WINDOW_TITLE,
337     LOV_NAME_TITLE = X_LOV_NAME_TITLE,
338     LOV_DETAILS_TITLE = X_LOV_DETAILS_TITLE,
339     LAST_UPDATE_DATE = X_LAST_UPDATE_DATE,
340     LAST_UPDATED_BY = X_LAST_UPDATED_BY,
341     LAST_UPDATE_LOGIN = X_LAST_UPDATE_LOGIN,
342     SOURCE_LANG = userenv('LANG')
343   where OBJECT_CODE = X_OBJECT_CODE
344   and userenv('LANG') in (LANGUAGE, SOURCE_LANG);
345 
346   if (sql%notfound) then
347     raise no_data_found;
348   end if;
349 end UPDATE_ROW;
350 
351 procedure DELETE_ROW (
352   X_OBJECT_CODE in  VARCHAR2
353 ) is
354 begin
355   delete from JTF_OBJECTS_TL
356   where OBJECT_CODE = X_OBJECT_CODE;
357 
358   if (sql%notfound) then
359     raise no_data_found;
360   end if;
361 
362   delete from JTF_OBJECTS_B
363   where OBJECT_CODE = X_OBJECT_CODE;
364 
365   if (sql%notfound) then
366     raise no_data_found;
367   end if;
368 end DELETE_ROW;
369 
370 procedure ADD_LANGUAGE
371 is
372 
373 
374 
375 TYPE ob_tab IS TABLE OF jtf_objects_tl.object_code%type ;
376 ob_tab_var ob_tab:=ob_tab();
377 cursor c is
378 select distinct object_code from JTF_OBJECTS_TL;
379 
380 
381 begin
382   /* Solving Perf. Bug 3723927*/
383      /* The following delete and update statements are commented out */
384      /* as a quick workaround to fix the time-consuming table handler issue */
385      /*
386 
387   delete from JTF_OBJECTS_TL T
388   where not exists
389     (select NULL
390     from JTF_OBJECTS_B B
391     where B.OBJECT_CODE = T.OBJECT_CODE
392     );
393 
394   update JTF_OBJECTS_TL T set (
395       NAME,
396       DESCRIPTION,
397       LOV_WINDOW_TITLE,
398       LOV_NAME_TITLE,
399       LOV_DETAILS_TITLE
400     ) = (select
401       B.NAME,
402       B.DESCRIPTION,
403       B.LOV_WINDOW_TITLE,
404       B.LOV_NAME_TITLE,
405       B.LOV_DETAILS_TITLE
406     from JTF_OBJECTS_TL B
407     where B.OBJECT_CODE = T.OBJECT_CODE
408     and B.LANGUAGE = T.SOURCE_LANG)
409   where (
410       T.OBJECT_CODE,
411       T.LANGUAGE
412   ) in (select
413       SUBT.OBJECT_CODE,
414       SUBT.LANGUAGE
415     from JTF_OBJECTS_TL SUBB, JTF_OBJECTS_TL SUBT
416     where SUBB.OBJECT_CODE = SUBT.OBJECT_CODE
417     and SUBB.LANGUAGE = SUBT.SOURCE_LANG
418     and (SUBB.NAME <> SUBT.NAME
419       or SUBB.DESCRIPTION <> SUBT.DESCRIPTION
420       or (SUBB.DESCRIPTION is null and SUBT.DESCRIPTION is not null)
421       or (SUBB.DESCRIPTION is not null and SUBT.DESCRIPTION is null)
422       or SUBB.LOV_WINDOW_TITLE <> SUBT.LOV_WINDOW_TITLE
423       or (SUBB.LOV_WINDOW_TITLE is null and SUBT.LOV_WINDOW_TITLE is not null)
424       or (SUBB.LOV_WINDOW_TITLE is not null and SUBT.LOV_WINDOW_TITLE is null)
425       or SUBB.LOV_NAME_TITLE <> SUBT.LOV_NAME_TITLE
426       or (SUBB.LOV_NAME_TITLE is null and SUBT.LOV_NAME_TITLE is not null)
427       or (SUBB.LOV_NAME_TITLE is not null and SUBT.LOV_NAME_TITLE is null)
428       or SUBB.LOV_DETAILS_TITLE <> SUBT.LOV_DETAILS_TITLE
429       or (SUBB.LOV_DETAILS_TITLE is null and SUBT.LOV_DETAILS_TITLE is not null)
430       or (SUBB.LOV_DETAILS_TITLE is not null and SUBT.LOV_DETAILS_TITLE is null)
431   ));
432   */
433 
434 
435 
436    OPEN c;
437 
438    FETCH c BULK COLLECT INTO ob_tab_var;
439 
440     if    (c%ISOPEN)  then
441          Close c;
442     END IF;
443 
444       If ( ob_tab_var.COUNT > 0)  then
445 
446 
447  FORALL i in ob_tab_var.first..ob_tab_var.last
448 
449   insert into JTF_OBJECTS_TL (
450     OBJECT_CODE,
451     NAME,
452     DESCRIPTION,
453     LOV_WINDOW_TITLE,
454     LOV_NAME_TITLE,
455     LOV_DETAILS_TITLE,
456     CREATED_BY,
457     CREATION_DATE,
458     LAST_UPDATED_BY,
459     LAST_UPDATE_DATE,
460     LAST_UPDATE_LOGIN,
461     LANGUAGE,
462     SOURCE_LANG
463   ) select
464     B.OBJECT_CODE,
465     B.NAME,
466     B.DESCRIPTION,
467     B.LOV_WINDOW_TITLE,
468     B.LOV_NAME_TITLE,
469     B.LOV_DETAILS_TITLE,
470     B.CREATED_BY,
471     B.CREATION_DATE,
472     B.LAST_UPDATED_BY,
473     B.LAST_UPDATE_DATE,
474     B.LAST_UPDATE_LOGIN,
475     L.LANGUAGE_CODE,
476     B.SOURCE_LANG
477   from JTF_OBJECTS_TL B, FND_LANGUAGES L
478   where L.INSTALLED_FLAG in ('I', 'B')
479   and B.LANGUAGE = userenv('LANG')
480   and b.object_code=ob_tab_var(i)
481   and not exists
482     (select NULL
483     from JTF_OBJECTS_TL T
484     where T.OBJECT_CODE = B.OBJECT_CODE
485     and T.LANGUAGE = L.LANGUAGE_CODE);
486 
487 end if; -- for If ( ob_tab_var.COUNT > 0)  then
488 
489 end ADD_LANGUAGE;
490 
491 procedure TRANSLATE_ROW(
492   X_object_code in varchar2,
493   X_NAME in varchar2,
494   X_DESCRIPTION in varchar2,
495   X_lov_window_title in varchar2,
496   X_lov_name_title in varchar2,
497   X_lov_details_title in varchar2 ) is
498 begin
499  update jtf_objects_tl set
500     NAME= X_NAME,
501     DESCRIPTION= X_DESCRIPTION,
502     lov_window_title = X_lov_window_title ,
503     lov_name_title = X_lov_name_title,
504     lov_details_title = X_lov_details_title,
505     LAST_UPDATE_DATE = sysdate,
506     LAST_UPDATE_LOGIN = 0,
507     SOURCE_LANG = userenv('LANG')
508   where object_code = X_object_code
509   and userenv('LANG') in (LANGUAGE, SOURCE_LANG);
510 
511   if (sql%notfound) then
512     raise no_data_found;
513   end if;
514 end TRANSLATE_ROW;
515 
516 end JTF_OBJECTS_PKG;