DBA Data[Home] [Help]

PACKAGE BODY: APPS.JTF_TASK_TEMPLATES_PKG

Source


1 PACKAGE body JTF_TASK_TEMPLATES_PKG as
2 /* $Header: jtftkteb.pls 120.1 2005/07/02 01:28:17 appldev ship $ */
3 procedure INSERT_ROW (
4   X_ROWID in out NOCOPY VARCHAR2,
5   X_TASK_TEMPLATE_ID in NUMBER,
6   X_ALARM_ON in VARCHAR2,
7   X_ALARM_COUNT in NUMBER,
8   X_ALARM_INTERVAL in NUMBER,
9   X_ALARM_INTERVAL_UOM in VARCHAR2,
10   X_DELETED_FLAG in VARCHAR2,
11   X_ATTRIBUTE1 in VARCHAR2,
12   X_ATTRIBUTE2 in VARCHAR2,
13   X_ATTRIBUTE3 in VARCHAR2,
14   X_ATTRIBUTE4 in VARCHAR2,
15   X_ATTRIBUTE5 in VARCHAR2,
16   X_ATTRIBUTE6 in VARCHAR2,
17   X_ATTRIBUTE7 in VARCHAR2,
18   X_ATTRIBUTE8 in VARCHAR2,
19   X_ATTRIBUTE9 in VARCHAR2,
20   X_ATTRIBUTE10 in VARCHAR2,
21   X_ATTRIBUTE11 in VARCHAR2,
22   X_ATTRIBUTE12 in VARCHAR2,
23   X_ATTRIBUTE13 in VARCHAR2,
24   X_ATTRIBUTE14 in VARCHAR2,
25   X_ATTRIBUTE15 in VARCHAR2,
26   X_ATTRIBUTE_CATEGORY in VARCHAR2,
27   X_HOLIDAY_FLAG in VARCHAR2,
28   X_BILLABLE_FLAG in VARCHAR2,
29   X_RECURRENCE_RULE_ID in NUMBER,
30   X_NOTIFICATION_FLAG in VARCHAR2,
31   X_NOTIFICATION_PERIOD in NUMBER,
32   X_NOTIFICATION_PERIOD_UOM in VARCHAR2,
33   X_ALARM_START in NUMBER,
34   X_ALARM_START_UOM in VARCHAR2,
35   X_PRIVATE_FLAG in VARCHAR2,
36   X_PUBLISH_FLAG in VARCHAR2,
37   X_RESTRICT_CLOSURE_FLAG in VARCHAR2,
38   X_MULTI_BOOKED_FLAG in VARCHAR2,
39   X_MILESTONE_FLAG in VARCHAR2,
40   X_TASK_GROUP_ID in NUMBER,
41   X_TASK_NUMBER in VARCHAR2,
42   X_TASK_TYPE_ID in NUMBER,
43   X_TASK_STATUS_ID in NUMBER,
44   X_TASK_PRIORITY_ID in NUMBER,
45   X_DURATION in NUMBER,
46   X_DURATION_UOM in VARCHAR2,
47   X_PLANNED_EFFORT in NUMBER,
48   X_PLANNED_EFFORT_UOM in VARCHAR2,
49   X_TASK_NAME in VARCHAR2,
50   X_DESCRIPTION in VARCHAR2,
51   X_TASK_CONFIRMATION_STATUS in	 VARCHAR2,
52   X_CREATION_DATE in DATE,
53   X_CREATED_BY in NUMBER,
54   X_LAST_UPDATE_DATE in DATE,
55   X_LAST_UPDATED_BY in NUMBER,
56   X_LAST_UPDATE_LOGIN in NUMBER
57 ) is
58   cursor C is select ROWID from JTF_TASK_TEMPLATES_B
59     where TASK_TEMPLATE_ID = X_TASK_TEMPLATE_ID
60     ;
61 begin
62   insert into JTF_TASK_TEMPLATES_B (
63     ALARM_ON,
64     ALARM_COUNT,
65     ALARM_INTERVAL,
66     ALARM_INTERVAL_UOM,
67     DELETED_FLAG,
68     ATTRIBUTE1,
69     ATTRIBUTE2,
70     ATTRIBUTE3,
71     ATTRIBUTE4,
72     ATTRIBUTE5,
73     ATTRIBUTE6,
74     ATTRIBUTE7,
75     ATTRIBUTE8,
76     ATTRIBUTE9,
77     ATTRIBUTE10,
78     ATTRIBUTE11,
79     ATTRIBUTE12,
80     ATTRIBUTE13,
81     ATTRIBUTE14,
82     ATTRIBUTE15,
83     ATTRIBUTE_CATEGORY,
84     HOLIDAY_FLAG,
85     BILLABLE_FLAG,
86     RECURRENCE_RULE_ID,
87     NOTIFICATION_FLAG,
88     NOTIFICATION_PERIOD,
89     NOTIFICATION_PERIOD_UOM,
90     ALARM_START,
91     ALARM_START_UOM,
92     PRIVATE_FLAG,
93     PUBLISH_FLAG,
94     RESTRICT_CLOSURE_FLAG,
95     MULTI_BOOKED_FLAG,
96     MILESTONE_FLAG,
97     TASK_GROUP_ID,
98     TASK_NUMBER,
99     TASK_TYPE_ID,
100     TASK_STATUS_ID,
101     TASK_PRIORITY_ID,
102     DURATION,
103     DURATION_UOM,
104     PLANNED_EFFORT,
105     PLANNED_EFFORT_UOM,
106     TASK_TEMPLATE_ID,
107     TASK_CONFIRMATION_STATUS,
108     CREATION_DATE,
109     CREATED_BY,
110     LAST_UPDATE_DATE,
111     LAST_UPDATED_BY,
112     LAST_UPDATE_LOGIN,
113     OBJECT_VERSION_NUMBER
114   ) values (
115     X_ALARM_ON,
116     X_ALARM_COUNT,
117     X_ALARM_INTERVAL,
118     X_ALARM_INTERVAL_UOM,
119     X_DELETED_FLAG,
120     X_ATTRIBUTE1,
121     X_ATTRIBUTE2,
122     X_ATTRIBUTE3,
123     X_ATTRIBUTE4,
124     X_ATTRIBUTE5,
125     X_ATTRIBUTE6,
126     X_ATTRIBUTE7,
127     X_ATTRIBUTE8,
128     X_ATTRIBUTE9,
129     X_ATTRIBUTE10,
130     X_ATTRIBUTE11,
131     X_ATTRIBUTE12,
132     X_ATTRIBUTE13,
133     X_ATTRIBUTE14,
134     X_ATTRIBUTE15,
135     X_ATTRIBUTE_CATEGORY,
136     X_HOLIDAY_FLAG,
137     X_BILLABLE_FLAG,
138     X_RECURRENCE_RULE_ID,
139     X_NOTIFICATION_FLAG,
140     X_NOTIFICATION_PERIOD,
141     X_NOTIFICATION_PERIOD_UOM,
142     X_ALARM_START,
143     X_ALARM_START_UOM,
144     X_PRIVATE_FLAG,
145     X_PUBLISH_FLAG,
146     X_RESTRICT_CLOSURE_FLAG,
147     X_MULTI_BOOKED_FLAG,
148     X_MILESTONE_FLAG,
149     X_TASK_GROUP_ID,
150     X_TASK_NUMBER,
151     X_TASK_TYPE_ID,
152     X_TASK_STATUS_ID,
153     X_TASK_PRIORITY_ID,
154     X_DURATION,
155     X_DURATION_UOM,
156     X_PLANNED_EFFORT,
157     X_PLANNED_EFFORT_UOM,
158     X_TASK_TEMPLATE_ID,
159     X_TASK_CONFIRMATION_STATUS,
160     X_CREATION_DATE,
161     X_CREATED_BY,
162     X_LAST_UPDATE_DATE,
163     X_LAST_UPDATED_BY,
164     X_LAST_UPDATE_LOGIN,
165     1
166   );
167 
168   insert into JTF_TASK_TEMPLATES_TL (
169     TASK_TEMPLATE_ID,
170     TASK_NAME,
171     DESCRIPTION,
172     CREATED_BY,
173     CREATION_DATE,
174     LAST_UPDATED_BY,
175     LAST_UPDATE_DATE,
176     LAST_UPDATE_LOGIN,
177     LANGUAGE,
178     SOURCE_LANG
179   ) select
180     X_TASK_TEMPLATE_ID,
181     X_TASK_NAME,
182     X_DESCRIPTION,
183     X_CREATED_BY,
184     X_CREATION_DATE,
185     X_LAST_UPDATED_BY,
186     X_LAST_UPDATE_DATE,
187     X_LAST_UPDATE_LOGIN,
188     L.LANGUAGE_CODE,
189     userenv('LANG')
190   from FND_LANGUAGES L
191   where L.INSTALLED_FLAG in ('I', 'B')
192   and not exists
193     (select NULL
194     from JTF_TASK_TEMPLATES_TL T
195     where T.TASK_TEMPLATE_ID = X_TASK_TEMPLATE_ID
196     and T.LANGUAGE = L.LANGUAGE_CODE);
197 
198   open c;
199   fetch c into X_ROWID;
200   if (c%notfound) then
201     close c;
202     raise no_data_found;
203   end if;
204   close c;
205 
206 end INSERT_ROW;
207 
208 procedure LOCK_ROW (
209   X_TASK_TEMPLATE_ID in NUMBER,
210   X_OBJECT_VERSION_NUMBER in NUMBER
211 ) is
212   cursor c is select
213       OBJECT_VERSION_NUMBER
214     from JTF_TASK_TEMPLATES_VL
215     where TASK_TEMPLATE_ID = X_TASK_TEMPLATE_ID
216     and OBJECT_VERSION_NUMBER = X_OBJECT_VERSION_NUMBER
217     for update of TASK_TEMPLATE_ID nowait;
218   recinfo c%rowtype;
219 
220 begin
221   open c;
222   fetch c into recinfo;
223   if (c%notfound) then
224     close c;
225     fnd_message.set_name('FND', 'FORM_RECORD_DELETED');
226     app_exception.raise_exception;
227   end if;
228 
229   close c;
230 
231   if (recinfo.OBJECT_VERSION_NUMBER = X_OBJECT_VERSION_NUMBER)
232   then
233     null;
234   else
235     fnd_message.set_name('FND', 'FORM_RECORD_CHANGED');
236     app_exception.raise_exception;
237   end if;
238 end LOCK_ROW;
239 
240 procedure UPDATE_ROW (
241   X_TASK_TEMPLATE_ID in NUMBER,
242   X_OBJECT_VERSION_NUMBER in NUMBER,
243   X_ALARM_ON in VARCHAR2,
244   X_ALARM_COUNT in NUMBER,
245   X_ALARM_INTERVAL in NUMBER,
246   X_ALARM_INTERVAL_UOM in VARCHAR2,
247   X_DELETED_FLAG in VARCHAR2,
248   X_ATTRIBUTE1 in VARCHAR2,
249   X_ATTRIBUTE2 in VARCHAR2,
250   X_ATTRIBUTE3 in VARCHAR2,
251   X_ATTRIBUTE4 in VARCHAR2,
252   X_ATTRIBUTE5 in VARCHAR2,
253   X_ATTRIBUTE6 in VARCHAR2,
254   X_ATTRIBUTE7 in VARCHAR2,
255   X_ATTRIBUTE8 in VARCHAR2,
256   X_ATTRIBUTE9 in VARCHAR2,
257   X_ATTRIBUTE10 in VARCHAR2,
258   X_ATTRIBUTE11 in VARCHAR2,
259   X_ATTRIBUTE12 in VARCHAR2,
260   X_ATTRIBUTE13 in VARCHAR2,
261   X_ATTRIBUTE14 in VARCHAR2,
262   X_ATTRIBUTE15 in VARCHAR2,
263   X_ATTRIBUTE_CATEGORY in VARCHAR2,
264   X_HOLIDAY_FLAG in VARCHAR2,
265   X_BILLABLE_FLAG in VARCHAR2,
266   X_RECURRENCE_RULE_ID in NUMBER,
267   X_NOTIFICATION_FLAG in VARCHAR2,
268   X_NOTIFICATION_PERIOD in NUMBER,
269   X_NOTIFICATION_PERIOD_UOM in VARCHAR2,
270   X_ALARM_START in NUMBER,
271   X_ALARM_START_UOM in VARCHAR2,
272   X_PRIVATE_FLAG in VARCHAR2,
273   X_PUBLISH_FLAG in VARCHAR2,
274   X_RESTRICT_CLOSURE_FLAG in VARCHAR2,
275   X_MULTI_BOOKED_FLAG in VARCHAR2,
276   X_MILESTONE_FLAG in VARCHAR2,
277   X_TASK_GROUP_ID in NUMBER,
278   X_TASK_NUMBER in VARCHAR2,
279   X_TASK_TYPE_ID in NUMBER,
280   X_TASK_STATUS_ID in NUMBER,
281   X_TASK_PRIORITY_ID in NUMBER,
282   X_DURATION in NUMBER,
283   X_DURATION_UOM in VARCHAR2,
284   X_PLANNED_EFFORT in NUMBER,
285   X_PLANNED_EFFORT_UOM in VARCHAR2,
286   X_TASK_NAME in VARCHAR2,
287   X_DESCRIPTION in VARCHAR2,
288   X_TASK_CONFIRMATION_STATUS in	 VARCHAR2,
289   X_LAST_UPDATE_DATE in DATE,
290   X_LAST_UPDATED_BY in NUMBER,
291   X_LAST_UPDATE_LOGIN in NUMBER
292 ) is
293 begin
294   update JTF_TASK_TEMPLATES_B set
295     ALARM_ON = X_ALARM_ON,
296     OBJECT_VERSION_NUMBER = X_OBJECT_VERSION_NUMBER + 1,
297     ALARM_COUNT = X_ALARM_COUNT,
298     ALARM_INTERVAL = X_ALARM_INTERVAL,
299     ALARM_INTERVAL_UOM = X_ALARM_INTERVAL_UOM,
300     DELETED_FLAG = X_DELETED_FLAG,
301     ATTRIBUTE1 = X_ATTRIBUTE1,
302     ATTRIBUTE2 = X_ATTRIBUTE2,
303     ATTRIBUTE3 = X_ATTRIBUTE3,
304     ATTRIBUTE4 = X_ATTRIBUTE4,
305     ATTRIBUTE5 = X_ATTRIBUTE5,
306     ATTRIBUTE6 = X_ATTRIBUTE6,
307     ATTRIBUTE7 = X_ATTRIBUTE7,
308     ATTRIBUTE8 = X_ATTRIBUTE8,
309     ATTRIBUTE9 = X_ATTRIBUTE9,
310     ATTRIBUTE10 = X_ATTRIBUTE10,
311     ATTRIBUTE11 = X_ATTRIBUTE11,
312     ATTRIBUTE12 = X_ATTRIBUTE12,
313     ATTRIBUTE13 = X_ATTRIBUTE13,
314     ATTRIBUTE14 = X_ATTRIBUTE14,
315     ATTRIBUTE15 = X_ATTRIBUTE15,
316     ATTRIBUTE_CATEGORY = X_ATTRIBUTE_CATEGORY,
317     HOLIDAY_FLAG = X_HOLIDAY_FLAG,
318     BILLABLE_FLAG = X_BILLABLE_FLAG,
319     RECURRENCE_RULE_ID = X_RECURRENCE_RULE_ID,
320     NOTIFICATION_FLAG = X_NOTIFICATION_FLAG,
321     NOTIFICATION_PERIOD = X_NOTIFICATION_PERIOD,
322     NOTIFICATION_PERIOD_UOM = X_NOTIFICATION_PERIOD_UOM,
323     ALARM_START = X_ALARM_START,
324     ALARM_START_UOM = X_ALARM_START_UOM,
325     PRIVATE_FLAG = X_PRIVATE_FLAG,
326     PUBLISH_FLAG = X_PUBLISH_FLAG,
327     RESTRICT_CLOSURE_FLAG = X_RESTRICT_CLOSURE_FLAG,
328     MULTI_BOOKED_FLAG = X_MULTI_BOOKED_FLAG,
329     MILESTONE_FLAG = X_MILESTONE_FLAG,
330     TASK_GROUP_ID = X_TASK_GROUP_ID,
331     TASK_NUMBER = X_TASK_NUMBER,
332     TASK_TYPE_ID = X_TASK_TYPE_ID,
333     TASK_STATUS_ID = X_TASK_STATUS_ID,
334     TASK_PRIORITY_ID = X_TASK_PRIORITY_ID,
335     DURATION = X_DURATION,
336     DURATION_UOM = X_DURATION_UOM,
337     PLANNED_EFFORT = X_PLANNED_EFFORT,
338     PLANNED_EFFORT_UOM = X_PLANNED_EFFORT_UOM,
339     TASK_CONFIRMATION_STATUS = X_TASK_CONFIRMATION_STATUS,
340     LAST_UPDATE_DATE = X_LAST_UPDATE_DATE,
341     LAST_UPDATED_BY = X_LAST_UPDATED_BY,
342     LAST_UPDATE_LOGIN = X_LAST_UPDATE_LOGIN
343   where TASK_TEMPLATE_ID = X_TASK_TEMPLATE_ID ;
344 
345   if (sql%notfound) then
346     raise no_data_found;
347   end if;
348 
349   update JTF_TASK_TEMPLATES_TL set
350     TASK_NAME = X_TASK_NAME,
351     DESCRIPTION = X_DESCRIPTION,
352     LAST_UPDATE_DATE = X_LAST_UPDATE_DATE,
353     LAST_UPDATED_BY = X_LAST_UPDATED_BY,
354     LAST_UPDATE_LOGIN = X_LAST_UPDATE_LOGIN,
355     SOURCE_LANG = userenv('LANG')
356   where TASK_TEMPLATE_ID = X_TASK_TEMPLATE_ID
357   and userenv('LANG') in (LANGUAGE, SOURCE_LANG);
358 
359   if (sql%notfound) then
360     raise no_data_found;
361   end if;
362 end UPDATE_ROW;
363 
364 procedure DELETE_ROW (
365   X_TASK_TEMPLATE_ID in NUMBER
366 ) is
367 begin
368   delete from JTF_TASK_TEMPLATES_TL
369   where TASK_TEMPLATE_ID = X_TASK_TEMPLATE_ID;
370 
371   if (sql%notfound) then
372     raise no_data_found;
373   end if;
374 
375   delete from JTF_TASK_TEMPLATES_B
376   where TASK_TEMPLATE_ID = X_TASK_TEMPLATE_ID ;
377 
378   if (sql%notfound) then
379     raise no_data_found;
380   end if;
381 end DELETE_ROW;
382 
383 procedure ADD_LANGUAGE
384 is
385 begin
386 
387   /* Solving Perf. Bug 3723927*/
388      /* The following delete and update statements are commented out */
389      /* as a quick workaround to fix the time-consuming table handler issue */
390      /*
391 
392   delete from JTF_TASK_TEMPLATES_TL T
393   where not exists
394     (select NULL
395     from JTF_TASK_TEMPLATES_B B
396     where B.TASK_TEMPLATE_ID = T.TASK_TEMPLATE_ID
397     );
398 
399   update JTF_TASK_TEMPLATES_TL T set (
400       TASK_NAME,
401       DESCRIPTION
402     ) = (select
403       B.TASK_NAME,
404       B.DESCRIPTION
405     from JTF_TASK_TEMPLATES_TL B
406     where B.TASK_TEMPLATE_ID = T.TASK_TEMPLATE_ID
407     and B.LANGUAGE = T.SOURCE_LANG)
408   where (
409       T.TASK_TEMPLATE_ID,
410       T.LANGUAGE
411   ) in (select
412       SUBT.TASK_TEMPLATE_ID,
413       SUBT.LANGUAGE
414     from JTF_TASK_TEMPLATES_TL SUBB, JTF_TASK_TEMPLATES_TL SUBT
415     where SUBB.TASK_TEMPLATE_ID = SUBT.TASK_TEMPLATE_ID
416     and SUBB.LANGUAGE = SUBT.SOURCE_LANG
417     and (SUBB.TASK_NAME <> SUBT.TASK_NAME
418       or SUBB.DESCRIPTION <> SUBT.DESCRIPTION
419       or (SUBB.DESCRIPTION is null and SUBT.DESCRIPTION is not null)
420       or (SUBB.DESCRIPTION is not null and SUBT.DESCRIPTION is null)
421   )); */
422 
423   insert into JTF_TASK_TEMPLATES_TL (
424     TASK_TEMPLATE_ID,
425     TASK_NAME,
426     DESCRIPTION,
427     CREATED_BY,
428     CREATION_DATE,
429     LAST_UPDATED_BY,
430     LAST_UPDATE_DATE,
431     LAST_UPDATE_LOGIN,
432     LANGUAGE,
433     SOURCE_LANG
434   ) select
435     B.TASK_TEMPLATE_ID,
436     B.TASK_NAME,
437     B.DESCRIPTION,
438     B.CREATED_BY,
439     B.CREATION_DATE,
440     B.LAST_UPDATED_BY,
441     B.LAST_UPDATE_DATE,
442     B.LAST_UPDATE_LOGIN,
443     L.LANGUAGE_CODE,
444     B.SOURCE_LANG
445   from JTF_TASK_TEMPLATES_TL B, FND_LANGUAGES L
446   where L.INSTALLED_FLAG in ('I', 'B')
447   and B.LANGUAGE = userenv('LANG')
448   and not exists
449     (select NULL
450     from JTF_TASK_TEMPLATES_TL T
451     where T.TASK_TEMPLATE_ID = B.TASK_TEMPLATE_ID
452     and T.LANGUAGE = L.LANGUAGE_CODE);
453 end ADD_LANGUAGE;
454 
455 procedure TRANSLATE_ROW(
456   X_task_Template_ID in number,
457   X_task_NAME in varchar2,
458   X_DESCRIPTION in varchar2,
459   x_owner in varchar2) is
460 begin
461   update jtf_task_templates_tl set
462     task_NAME = nvl(X_task_NAME,task_name),
463     DESCRIPTION = nvl(X_DESCRIPTION,description),
464     LAST_UPDATE_DATE = sysdate,
465     last_updated_by = decode(X_OWNER, 'SEED', 1, 0),
466     LAST_UPDATE_LOGIN = 0,
467     SOURCE_LANG = userenv('LANG')
468   where task_Template_ID = X_task_Template_ID
469   and userenv('LANG') in (LANGUAGE, SOURCE_LANG);
470 
471   if (sql%notfound) then
472     raise no_data_found;
473   end if;
474 end TRANSLATE_ROW;
475 
476 end JTF_TASK_TEMPLATES_PKG;