DBA Data[Home] [Help]

PACKAGE BODY: APPS.JTF_TASK_PRIORITIES_PKG

Source


1 PACKAGE body JTF_TASK_PRIORITIES_PKG as
2 /* $Header: jtftkprb.pls 120.2 2006/05/30 13:16:22 sbarat ship $ */
3 procedure INSERT_ROW (
4   X_ROWID in OUT NOCOPY VARCHAR2,
5   X_TASK_PRIORITY_ID in NUMBER,
6   X_IMPORTANCE_LEVEL in NUMBER,
7   X_START_DATE_ACTIVE in DATE,
8   X_END_DATE_ACTIVE in DATE,
9   X_SEEDED_FLAG in VARCHAR2,
10   X_ATTRIBUTE1 in VARCHAR2,
11   X_ATTRIBUTE2 in VARCHAR2,
12   X_ATTRIBUTE3 in VARCHAR2,
13   X_ATTRIBUTE4 in VARCHAR2,
14   X_ATTRIBUTE5 in VARCHAR2,
15   X_ATTRIBUTE6 in VARCHAR2,
16   X_ATTRIBUTE7 in VARCHAR2,
17   X_ATTRIBUTE8 in VARCHAR2,
18   X_ATTRIBUTE9 in VARCHAR2,
19   X_ATTRIBUTE10 in VARCHAR2,
20   X_ATTRIBUTE11 in VARCHAR2,
21   X_ATTRIBUTE12 in VARCHAR2,
22   X_ATTRIBUTE13 in VARCHAR2,
23   X_ATTRIBUTE14 in VARCHAR2,
24   X_ATTRIBUTE15 in VARCHAR2,
25   X_ATTRIBUTE_CATEGORY in VARCHAR2,
26   X_NAME in VARCHAR2,
27   X_DESCRIPTION in VARCHAR2,
28   X_CREATION_DATE in DATE,
29   X_CREATED_BY in NUMBER,
30   X_LAST_UPDATE_DATE in DATE,
31   X_LAST_UPDATED_BY in NUMBER,
32   X_LAST_UPDATE_LOGIN in NUMBER
33 ) is
34   cursor C is select ROWID from JTF_TASK_PRIORITIES_B
35     where TASK_PRIORITY_ID = X_TASK_PRIORITY_ID
36     ;
37 begin
38   insert into JTF_TASK_PRIORITIES_B (
39     TASK_PRIORITY_ID,
40     IMPORTANCE_LEVEL,
41     START_DATE_ACTIVE,
42     END_DATE_ACTIVE,
43     SEEDED_FLAG,
44     ATTRIBUTE1,
45     ATTRIBUTE2,
46     ATTRIBUTE3,
47     ATTRIBUTE4,
48     ATTRIBUTE5,
49     ATTRIBUTE6,
50     ATTRIBUTE7,
51     ATTRIBUTE8,
52     ATTRIBUTE9,
53     ATTRIBUTE10,
54     ATTRIBUTE11,
55     ATTRIBUTE12,
56     ATTRIBUTE13,
57     ATTRIBUTE14,
58     ATTRIBUTE15,
59     ATTRIBUTE_CATEGORY,
60     CREATION_DATE,
61     CREATED_BY,
62     LAST_UPDATE_DATE,
63     LAST_UPDATED_BY,
64     LAST_UPDATE_LOGIN,
65     OBJECT_VERSION_NUMBER
66   ) values (
67     X_TASK_PRIORITY_ID,
68     X_IMPORTANCE_LEVEL,
69     X_START_DATE_ACTIVE,
70     X_END_DATE_ACTIVE,
71     X_SEEDED_FLAG,
72     X_ATTRIBUTE1,
73     X_ATTRIBUTE2,
74     X_ATTRIBUTE3,
75     X_ATTRIBUTE4,
76     X_ATTRIBUTE5,
77     X_ATTRIBUTE6,
78     X_ATTRIBUTE7,
79     X_ATTRIBUTE8,
80     X_ATTRIBUTE9,
81     X_ATTRIBUTE10,
82     X_ATTRIBUTE11,
83     X_ATTRIBUTE12,
84     X_ATTRIBUTE13,
85     X_ATTRIBUTE14,
86     X_ATTRIBUTE15,
87     X_ATTRIBUTE_CATEGORY,
88     X_CREATION_DATE,
89     X_CREATED_BY,
90     X_LAST_UPDATE_DATE,
91     X_LAST_UPDATED_BY,
92     X_LAST_UPDATE_LOGIN,
93     1
94   );
95 
96   insert into JTF_TASK_PRIORITIES_TL (
97     TASK_PRIORITY_ID,
98     NAME,
99     DESCRIPTION,
100     CREATED_BY,
101     CREATION_DATE,
102     LAST_UPDATED_BY,
103     LAST_UPDATE_DATE,
104     LAST_UPDATE_LOGIN,
105     LANGUAGE,
106     SOURCE_LANG
107   ) select
108     X_TASK_PRIORITY_ID,
109     X_NAME,
110     X_DESCRIPTION,
111     X_CREATED_BY,
112     X_CREATION_DATE,
113     X_LAST_UPDATED_BY,
114     X_LAST_UPDATE_DATE,
115     X_LAST_UPDATE_LOGIN,
116     L.LANGUAGE_CODE,
117     userenv('LANG')
118   from FND_LANGUAGES L
119   where L.INSTALLED_FLAG in ('I', 'B')
120   and not exists
121     (select NULL
122     from JTF_TASK_PRIORITIES_TL T
123     where T.TASK_PRIORITY_ID = X_TASK_PRIORITY_ID
124     and T.LANGUAGE = L.LANGUAGE_CODE);
125 
126   open c;
127   fetch c into X_ROWID;
128   if (c%notfound) then
129     close c;
130     raise no_data_found;
131   end if;
132   close c;
133 
134 end INSERT_ROW;
135 
136 procedure LOCK_ROW (
137   X_TASK_PRIORITY_ID in NUMBER,
138   X_OBJECT_VERSION_NUMBER in NUMBER
139 ) is
140   cursor c is select
141         OBJECT_VERSION_NUMBER
142     from JTF_TASK_PRIORITIES_VL
143     where TASK_PRIORITY_ID = X_TASK_PRIORITY_ID
144     for update of TASK_PRIORITY_ID nowait;
145   recinfo c%rowtype;
146 
147 begin
148   open c;
149   fetch c into recinfo;
150   if (c%notfound) then
151     close c;
152     fnd_message.set_name('FND', 'FORM_RECORD_DELETED');
153     app_exception.raise_exception;
154   end if;
155   close c;
156 
157   if (recinfo.OBJECT_VERSION_NUMBER = X_OBJECT_VERSION_NUMBER)
158   then
159     null;
160   else
161     fnd_message.set_name('FND', 'FORM_RECORD_CHANGED');
162     app_exception.raise_exception;
163   end if;
164 
165 end LOCK_ROW;
166 
167 procedure UPDATE_ROW (
168   X_TASK_PRIORITY_ID in NUMBER,
169   X_OBJECT_VERSION_NUMBER in NUMBER,
170   X_IMPORTANCE_LEVEL in NUMBER,
171   X_START_DATE_ACTIVE in DATE,
172   X_END_DATE_ACTIVE in DATE,
173   X_SEEDED_FLAG in VARCHAR2,
174   X_ATTRIBUTE1 in VARCHAR2,
175   X_ATTRIBUTE2 in VARCHAR2,
176   X_ATTRIBUTE3 in VARCHAR2,
177   X_ATTRIBUTE4 in VARCHAR2,
178   X_ATTRIBUTE5 in VARCHAR2,
179   X_ATTRIBUTE6 in VARCHAR2,
180   X_ATTRIBUTE7 in VARCHAR2,
181   X_ATTRIBUTE8 in VARCHAR2,
182   X_ATTRIBUTE9 in VARCHAR2,
183   X_ATTRIBUTE10 in VARCHAR2,
184   X_ATTRIBUTE11 in VARCHAR2,
185   X_ATTRIBUTE12 in VARCHAR2,
186   X_ATTRIBUTE13 in VARCHAR2,
187   X_ATTRIBUTE14 in VARCHAR2,
188   X_ATTRIBUTE15 in VARCHAR2,
189   X_ATTRIBUTE_CATEGORY in VARCHAR2,
190   X_NAME in VARCHAR2,
191   X_DESCRIPTION in VARCHAR2,
192   X_LAST_UPDATE_DATE in DATE,
193   X_LAST_UPDATED_BY in NUMBER,
194   X_LAST_UPDATE_LOGIN in NUMBER
195 ) is
196 begin
197   update JTF_TASK_PRIORITIES_B set
198     IMPORTANCE_LEVEL = X_IMPORTANCE_LEVEL,
199     /*CHANGED TO OBJECT_VERSION_NUMBER +1 */
200     OBJECT_VERSION_NUMBER = X_OBJECT_VERSION_NUMBER+1,
201     START_DATE_ACTIVE = X_START_DATE_ACTIVE,
202     END_DATE_ACTIVE = X_END_DATE_ACTIVE,
203     SEEDED_FLAG = X_SEEDED_FLAG,
204     ATTRIBUTE1 = X_ATTRIBUTE1,
205     ATTRIBUTE2 = X_ATTRIBUTE2,
206     ATTRIBUTE3 = X_ATTRIBUTE3,
207     ATTRIBUTE4 = X_ATTRIBUTE4,
208     ATTRIBUTE5 = X_ATTRIBUTE5,
209     ATTRIBUTE6 = X_ATTRIBUTE6,
210     ATTRIBUTE7 = X_ATTRIBUTE7,
211     ATTRIBUTE8 = X_ATTRIBUTE8,
212     ATTRIBUTE9 = X_ATTRIBUTE9,
213     ATTRIBUTE10 = X_ATTRIBUTE10,
214     ATTRIBUTE11 = X_ATTRIBUTE11,
215     ATTRIBUTE12 = X_ATTRIBUTE12,
216     ATTRIBUTE13 = X_ATTRIBUTE13,
217     ATTRIBUTE14 = X_ATTRIBUTE14,
218     ATTRIBUTE15 = X_ATTRIBUTE15,
219     ATTRIBUTE_CATEGORY = X_ATTRIBUTE_CATEGORY,
220     LAST_UPDATE_DATE = X_LAST_UPDATE_DATE,
221     LAST_UPDATED_BY = X_LAST_UPDATED_BY,
222     LAST_UPDATE_LOGIN = X_LAST_UPDATE_LOGIN
223   where TASK_PRIORITY_ID = X_TASK_PRIORITY_ID ;
224 
225   if (sql%notfound) then
226     raise no_data_found;
227   end if;
228 
229   update JTF_TASK_PRIORITIES_TL set
230     NAME = X_NAME,
231     DESCRIPTION = X_DESCRIPTION,
232     LAST_UPDATE_DATE = X_LAST_UPDATE_DATE,
233     LAST_UPDATED_BY = X_LAST_UPDATED_BY,
234     LAST_UPDATE_LOGIN = X_LAST_UPDATE_LOGIN,
235     SOURCE_LANG = userenv('LANG')
236   where TASK_PRIORITY_ID = X_TASK_PRIORITY_ID
237   and userenv('LANG') in (LANGUAGE, SOURCE_LANG);
238 
239   if (sql%notfound) then
240     raise no_data_found;
241   end if;
242 end UPDATE_ROW;
243 
244 procedure DELETE_ROW (
245   X_TASK_PRIORITY_ID in NUMBER
246 ) is
247 begin
248   delete from JTF_TASK_PRIORITIES_TL
249   where TASK_PRIORITY_ID = X_TASK_PRIORITY_ID;
250 
251   if (sql%notfound) then
252     raise no_data_found;
253   end if;
254 
255   delete from JTF_TASK_PRIORITIES_B
256   where TASK_PRIORITY_ID = X_TASK_PRIORITY_ID ;
257 
258   if (sql%notfound) then
259     raise no_data_found;
260   end if;
261 end DELETE_ROW;
262 
263 procedure ADD_LANGUAGE
264 is
265 begin
266 
267   /* Solving Perf. Bug 3723927*/
268      /* The following delete and update statements are commented out */
269      /* as a quick workaround to fix the time-consuming table handler issue */
270   /*
271   delete from JTF_TASK_PRIORITIES_TL T
272   where not exists
273     (select NULL
274     from JTF_TASK_PRIORITIES_B B
275     where B.TASK_PRIORITY_ID = T.TASK_PRIORITY_ID
276     );
277 
278   update JTF_TASK_PRIORITIES_TL T set (
279       NAME,
280       DESCRIPTION
281     ) = (select
282       B.NAME,
283       B.DESCRIPTION
284     from JTF_TASK_PRIORITIES_TL B
285     where B.TASK_PRIORITY_ID = T.TASK_PRIORITY_ID
286     and B.LANGUAGE = T.SOURCE_LANG)
287   where (
288       T.TASK_PRIORITY_ID,
289       T.LANGUAGE
290   ) in (select
291       SUBT.TASK_PRIORITY_ID,
292       SUBT.LANGUAGE
293     from JTF_TASK_PRIORITIES_TL SUBB, JTF_TASK_PRIORITIES_TL SUBT
294     where SUBB.TASK_PRIORITY_ID = SUBT.TASK_PRIORITY_ID
295     and SUBB.LANGUAGE = SUBT.SOURCE_LANG
296     and (SUBB.NAME <> SUBT.NAME
297       or SUBB.DESCRIPTION <> SUBT.DESCRIPTION
298       or (SUBB.DESCRIPTION is null and SUBT.DESCRIPTION is not null)
299       or (SUBB.DESCRIPTION is not null and SUBT.DESCRIPTION is null)
300   ));
301   */
302   insert into JTF_TASK_PRIORITIES_TL (
303     TASK_PRIORITY_ID,
304     NAME,
305     DESCRIPTION,
306     CREATED_BY,
307     CREATION_DATE,
308     LAST_UPDATED_BY,
309     LAST_UPDATE_DATE,
310     LAST_UPDATE_LOGIN,
311     LANGUAGE,
312     SOURCE_LANG
313   ) select /*+ INDEX(b JTF_TASK_PRIORITIES_TL_U1) INDEX (l FND_LANGUAGES_N1) */  -- Added index hint for bug# 5213367 on 30/05/2006
314     B.TASK_PRIORITY_ID,
315     B.NAME,
316     B.DESCRIPTION,
317     B.CREATED_BY,
318     B.CREATION_DATE,
319     B.LAST_UPDATED_BY,
320     B.LAST_UPDATE_DATE,
321     B.LAST_UPDATE_LOGIN,
322     L.LANGUAGE_CODE,
323     B.SOURCE_LANG
324   from JTF_TASK_PRIORITIES_TL B, FND_LANGUAGES L
325   where L.INSTALLED_FLAG in ('I', 'B')
326   and B.LANGUAGE = userenv('LANG')
327   and not exists
328     (select NULL
329     from JTF_TASK_PRIORITIES_TL T
330     where T.TASK_PRIORITY_ID = B.TASK_PRIORITY_ID
331     and T.LANGUAGE = L.LANGUAGE_CODE);
332 end ADD_LANGUAGE;
333 
334 procedure TRANSLATE_ROW(
335   X_TASK_priority_ID in varchar2,
336   X_NAME in varchar2,
337   X_DESCRIPTION in varchar2,
338   x_owner in varchar2  ) is
339 l_user_id                 NUMBER := 0;
340    BEGIN
341       IF x_owner = 'SEED'
342       THEN
343          l_user_id := 1;
344       END IF;
345   update jtf_task_priorities_tl set
346     NAME= nvl(X_NAME,name),
347     DESCRIPTION= nvl(X_DESCRIPTION,description),
348     LAST_UPDATE_DATE = sysdate,
349     LAST_UPDATE_LOGIN = 0,
350     SOURCE_LANG = userenv('LANG'),
351     last_updated_by  = l_user_id
352     where task_priority_id = X_task_priority_id
353   and userenv('LANG') in (LANGUAGE, SOURCE_LANG);
354 
355   if (sql%notfound) then
356     raise no_data_found;
357   end if;
358 end TRANSLATE_ROW;
359 
360 procedure LOAD_ROW (
361   X_TASK_PRIORITY_ID in NUMBER,
362   X_IMPORTANCE_LEVEL in NUMBER,
363   X_START_DATE_ACTIVE in DATE,
364   X_END_DATE_ACTIVE in DATE,
365   X_SEEDED_FLAG in VARCHAR2,
366   X_ATTRIBUTE1 in VARCHAR2,
367   X_ATTRIBUTE2 in VARCHAR2,
368   X_ATTRIBUTE3 in VARCHAR2,
369   X_ATTRIBUTE4 in VARCHAR2,
370   X_ATTRIBUTE5 in VARCHAR2,
371   X_ATTRIBUTE6 in VARCHAR2,
372   X_ATTRIBUTE7 in VARCHAR2,
373   X_ATTRIBUTE8 in VARCHAR2,
374   X_ATTRIBUTE9 in VARCHAR2,
375   X_ATTRIBUTE10 in VARCHAR2,
376   X_ATTRIBUTE11 in VARCHAR2,
377   X_ATTRIBUTE12 in VARCHAR2,
378   X_ATTRIBUTE13 in VARCHAR2,
379   X_ATTRIBUTE14 in VARCHAR2,
380   X_ATTRIBUTE15 in VARCHAR2,
381   X_ATTRIBUTE_CATEGORY in VARCHAR2,
382   X_NAME in VARCHAR2,
383   X_DESCRIPTION in VARCHAR2,
384   X_OWNER in VARCHAR2
385 )
386 AS
387       l_user_id                 NUMBER := 0;
388       l_task_type_id            NUMBER;
389       l_rowid                   ROWID;
390       l_object_version_number   NUMBER;
391    BEGIN
392       IF x_owner = 'SEED'
393       THEN
394          l_user_id := 1;
395       END IF;
396 
397       --Check if there is record in the base table as well as in the TL table.
398       --If there is some faulty data where we populate the base table without the
399       --populating the TL table then this query will throw no_data_found exception.
400 
401 
402       SELECT object_version_number
403         INTO l_object_version_number
404          from jtf_task_priorities_vl
405          where  task_priority_id = x_task_priority_id;
406 
407 
408 
409       update JTF_TASK_PRIORITIES_B set
410         IMPORTANCE_LEVEL = X_IMPORTANCE_LEVEL,
411         /*CHANGED TO OBJECT_VERSION_NUMBER +1 */
412          OBJECT_VERSION_NUMBER = l_object_version_number+1,
413           START_DATE_ACTIVE = X_START_DATE_ACTIVE,
414            END_DATE_ACTIVE = X_END_DATE_ACTIVE,
415             SEEDED_FLAG = X_SEEDED_FLAG,
416              LAST_UPDATE_DATE = sysdate,
417             LAST_UPDATED_BY = l_user_id,
418            LAST_UPDATE_LOGIN = 0
419          where TASK_PRIORITY_ID = X_TASK_PRIORITY_ID ;
420 
421 
422       update JTF_TASK_PRIORITIES_TL set
423          NAME = X_NAME,
424           DESCRIPTION = X_DESCRIPTION,
425             LAST_UPDATE_DATE = sysdate,
426            LAST_UPDATED_BY = l_user_id,
427           LAST_UPDATE_LOGIN = 0,
428          SOURCE_LANG = userenv('LANG')
429        where TASK_PRIORITY_ID = X_TASK_PRIORITY_ID
430         and userenv('LANG') in (LANGUAGE, SOURCE_LANG);
431 
432 
433    exception
434    when no_data_found then
435 
436 
437    jtf_task_priorities_pkg.insert_row (
438 	    x_rowid => l_rowid ,
439          x_task_priority_id => x_task_priority_id,
440 	    x_importance_level => x_IMPORTANCE_LEVEL ,
441          x_start_date_active => x_start_date_active,
442          x_end_date_active => x_end_date_active,
443          x_seeded_flag => x_seeded_flag,
444          x_attribute1 => x_attribute1,
445          x_attribute2 => x_attribute2,
446          x_attribute3 => x_attribute3,
447          x_attribute4 => x_attribute4,
448          x_attribute5 => x_attribute5,
449          x_attribute6 => x_attribute6,
450          x_attribute7 => x_attribute7,
451          x_attribute8 => x_attribute8,
452          x_attribute9 => x_attribute9,
453          x_attribute10 => x_attribute10,
454          x_attribute11 => x_attribute11,
455          x_attribute12 => x_attribute12,
456          x_attribute13 => x_attribute13,
457          x_attribute14 => x_attribute14,
458          x_attribute15 => x_attribute15,
459          x_attribute_category => x_attribute_category,
460          x_name => x_name,
461          x_description => x_description,
462 	    x_creation_date => sysdate ,
463 	    x_created_by => l_user_id  ,
464          x_last_update_date => SYSDATE,
465          x_last_updated_by => l_user_id  ,
466          x_last_update_login => 0
467       );
468 
469 end ;
470 
471 
472 
473 end JTF_TASK_PRIORITIES_PKG;