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