DBA Data[Home] [Help]

PACKAGE BODY: APPS.CUG_TSK_TYP_ATTR_DEPS_PKG

Source


1 package body CUG_TSK_TYP_ATTR_DEPS_PKG as
2 /* $Header: CUGSRTPB.pls 115.4 2002/12/04 20:05:39 pkesani noship $ */
3 procedure INSERT_ROW (
4   X_ROWID in out NOCOPY VARCHAR2,
5   X_TSK_TYP_ATTR_DEP_ID in NUMBER,
6   X_OBJECT_VERSION_NUMBER in NUMBER,
7   X_INCIDENT_TYPE_ID in NUMBER,
8   X_TASK_TYPE_ID in NUMBER,
9   X_SR_ATTRIBUTE_CODE in VARCHAR2,
10   X_SR_ATTRIBUTE_OPERATOR in VARCHAR2,
11   X_START_DATE_ACTIVE in DATE,
12   X_END_DATE_ACTIVE in DATE,
13   X_ATTRIBUTE1 in VARCHAR2,
14   X_ATTRIBUTE2 in VARCHAR2,
15   X_ATTRIBUTE3 in VARCHAR2,
16   X_ATTRIBUTE4 in VARCHAR2,
17   X_ATTRIBUTE5 in VARCHAR2,
18   X_ATTRIBUTE6 in VARCHAR2,
19   X_ATTRIBUTE7 in VARCHAR2,
20   X_ATTRIBUTE8 in VARCHAR2,
21   X_ATTRIBUTE9 in VARCHAR2,
22   X_ATTRIBUTE10 in VARCHAR2,
23   X_ATTRIBUTE11 in VARCHAR2,
24   X_ATTRIBUTE12 in VARCHAR2,
25   X_ATTRIBUTE13 in VARCHAR2,
26   X_ATTRIBUTE14 in VARCHAR2,
27   X_ATTRIBUTE15 in VARCHAR2,
28   X_ATTRIBUTE_CATEGORY in VARCHAR2,
29   X_SR_ATTRIBUTE_VALUE in VARCHAR2,
30   X_CREATION_DATE in DATE,
31   X_CREATED_BY in NUMBER,
32   X_LAST_UPDATE_DATE in DATE,
33   X_LAST_UPDATED_BY in NUMBER,
34   X_LAST_UPDATE_LOGIN in NUMBER
35 ) is
36   cursor C is select ROWID from CUG_TSK_TYP_ATTR_DEPS_B
37     where TSK_TYP_ATTR_DEP_ID = X_TSK_TYP_ATTR_DEP_ID
38     ;
39 begin
40   insert into CUG_TSK_TYP_ATTR_DEPS_B (
41     TSK_TYP_ATTR_DEP_ID,
42     OBJECT_VERSION_NUMBER,
43     INCIDENT_TYPE_ID,
44     TASK_TYPE_ID,
45     SR_ATTRIBUTE_CODE,
46     SR_ATTRIBUTE_OPERATOR,
47     START_DATE_ACTIVE,
48     END_DATE_ACTIVE,
49     ATTRIBUTE1,
50     ATTRIBUTE2,
51     ATTRIBUTE3,
52     ATTRIBUTE4,
53     ATTRIBUTE5,
54     ATTRIBUTE6,
55     ATTRIBUTE7,
56     ATTRIBUTE8,
57     ATTRIBUTE9,
58     ATTRIBUTE10,
59     ATTRIBUTE11,
60     ATTRIBUTE12,
61     ATTRIBUTE13,
62     ATTRIBUTE14,
63     ATTRIBUTE15,
64     ATTRIBUTE_CATEGORY,
65     CREATION_DATE,
66     CREATED_BY,
67     LAST_UPDATE_DATE,
68     LAST_UPDATED_BY,
69     LAST_UPDATE_LOGIN
70   ) values (
71     X_TSK_TYP_ATTR_DEP_ID,
72     X_OBJECT_VERSION_NUMBER,
73     X_INCIDENT_TYPE_ID,
74     X_TASK_TYPE_ID,
75     X_SR_ATTRIBUTE_CODE,
76     X_SR_ATTRIBUTE_OPERATOR,
77     X_START_DATE_ACTIVE,
78     X_END_DATE_ACTIVE,
79     X_ATTRIBUTE1,
80     X_ATTRIBUTE2,
81     X_ATTRIBUTE3,
82     X_ATTRIBUTE4,
83     X_ATTRIBUTE5,
84     X_ATTRIBUTE6,
85     X_ATTRIBUTE7,
86     X_ATTRIBUTE8,
87     X_ATTRIBUTE9,
88     X_ATTRIBUTE10,
89     X_ATTRIBUTE11,
90     X_ATTRIBUTE12,
91     X_ATTRIBUTE13,
92     X_ATTRIBUTE14,
93     X_ATTRIBUTE15,
94     X_ATTRIBUTE_CATEGORY,
95     X_CREATION_DATE,
96     X_CREATED_BY,
97     X_LAST_UPDATE_DATE,
98     X_LAST_UPDATED_BY,
99     X_LAST_UPDATE_LOGIN
100   );
101 
102   insert into CUG_TSK_TYP_ATTR_DEPS_TL (
103     TSK_TYP_ATTR_DEP_ID,
104     CREATED_BY,
105     CREATION_DATE,
106     LAST_UPDATED_BY,
107     LAST_UPDATE_LOGIN,
108     LAST_UPDATE_DATE,
109     SR_ATTRIBUTE_VALUE,
110     LANGUAGE,
111     SOURCE_LANG
112   ) select
113     X_TSK_TYP_ATTR_DEP_ID,
114     X_CREATED_BY,
115     X_CREATION_DATE,
116     X_LAST_UPDATED_BY,
117     X_LAST_UPDATE_LOGIN,
118     X_LAST_UPDATE_DATE,
119     X_SR_ATTRIBUTE_VALUE,
120     L.LANGUAGE_CODE,
121     userenv('LANG')
122   from FND_LANGUAGES L
123   where L.INSTALLED_FLAG in ('I', 'B')
124   and not exists
125     (select NULL
126     from CUG_TSK_TYP_ATTR_DEPS_TL T
127     where T.TSK_TYP_ATTR_DEP_ID = X_TSK_TYP_ATTR_DEP_ID
128     and T.LANGUAGE = L.LANGUAGE_CODE);
129 
130   open c;
131   fetch c into X_ROWID;
132   if (c%notfound) then
133     close c;
134     raise no_data_found;
135   end if;
136   close c;
137 
138 end INSERT_ROW;
139 
140 procedure LOCK_ROW (
141   X_TSK_TYP_ATTR_DEP_ID in NUMBER,
142   X_OBJECT_VERSION_NUMBER in NUMBER,
143   X_INCIDENT_TYPE_ID in NUMBER,
144   X_TASK_TYPE_ID in NUMBER,
145   X_SR_ATTRIBUTE_CODE in VARCHAR2,
146   X_SR_ATTRIBUTE_OPERATOR in VARCHAR2,
147   X_START_DATE_ACTIVE in DATE,
148   X_END_DATE_ACTIVE in DATE,
149   X_ATTRIBUTE1 in VARCHAR2,
150   X_ATTRIBUTE2 in VARCHAR2,
151   X_ATTRIBUTE3 in VARCHAR2,
152   X_ATTRIBUTE4 in VARCHAR2,
153   X_ATTRIBUTE5 in VARCHAR2,
154   X_ATTRIBUTE6 in VARCHAR2,
155   X_ATTRIBUTE7 in VARCHAR2,
156   X_ATTRIBUTE8 in VARCHAR2,
157   X_ATTRIBUTE9 in VARCHAR2,
158   X_ATTRIBUTE10 in VARCHAR2,
159   X_ATTRIBUTE11 in VARCHAR2,
160   X_ATTRIBUTE12 in VARCHAR2,
161   X_ATTRIBUTE13 in VARCHAR2,
162   X_ATTRIBUTE14 in VARCHAR2,
163   X_ATTRIBUTE15 in VARCHAR2,
164   X_ATTRIBUTE_CATEGORY in VARCHAR2,
165   X_SR_ATTRIBUTE_VALUE in VARCHAR2
166 ) is
167   cursor c is select
168       OBJECT_VERSION_NUMBER,
169       INCIDENT_TYPE_ID,
170       TASK_TYPE_ID,
171       SR_ATTRIBUTE_CODE,
172       SR_ATTRIBUTE_OPERATOR,
173       START_DATE_ACTIVE,
174       END_DATE_ACTIVE,
175       ATTRIBUTE1,
176       ATTRIBUTE2,
177       ATTRIBUTE3,
178       ATTRIBUTE4,
179       ATTRIBUTE5,
180       ATTRIBUTE6,
181       ATTRIBUTE7,
182       ATTRIBUTE8,
183       ATTRIBUTE9,
184       ATTRIBUTE10,
185       ATTRIBUTE11,
186       ATTRIBUTE12,
187       ATTRIBUTE13,
188       ATTRIBUTE14,
189       ATTRIBUTE15,
190       ATTRIBUTE_CATEGORY
191     from CUG_TSK_TYP_ATTR_DEPS_B
192     where TSK_TYP_ATTR_DEP_ID = X_TSK_TYP_ATTR_DEP_ID
193     for update of TSK_TYP_ATTR_DEP_ID nowait;
194   recinfo c%rowtype;
195 
196   cursor c1 is select
197       SR_ATTRIBUTE_VALUE,
198       decode(LANGUAGE, userenv('LANG'), 'Y', 'N') BASELANG
199     from CUG_TSK_TYP_ATTR_DEPS_TL
200     where TSK_TYP_ATTR_DEP_ID = X_TSK_TYP_ATTR_DEP_ID
201     and userenv('LANG') in (LANGUAGE, SOURCE_LANG)
202     for update of TSK_TYP_ATTR_DEP_ID nowait;
203 begin
204   open c;
205   fetch c into recinfo;
206   if (c%notfound) then
207     close c;
208     fnd_message.set_name('FND', 'FORM_RECORD_DELETED');
209     app_exception.raise_exception;
210   end if;
211   close c;
212   if (    ((recinfo.OBJECT_VERSION_NUMBER = X_OBJECT_VERSION_NUMBER)
213            OR ((recinfo.OBJECT_VERSION_NUMBER is null) AND (X_OBJECT_VERSION_NUMBER is null)))
214       AND (recinfo.INCIDENT_TYPE_ID = X_INCIDENT_TYPE_ID)
215       AND (recinfo.TASK_TYPE_ID = X_TASK_TYPE_ID)
216       AND ((recinfo.SR_ATTRIBUTE_CODE = X_SR_ATTRIBUTE_CODE)
217            OR ((recinfo.SR_ATTRIBUTE_CODE is null) AND (X_SR_ATTRIBUTE_CODE is null)))
218       AND ((recinfo.SR_ATTRIBUTE_OPERATOR = X_SR_ATTRIBUTE_OPERATOR)
219            OR ((recinfo.SR_ATTRIBUTE_OPERATOR is null) AND (X_SR_ATTRIBUTE_OPERATOR is null)))
220       AND ((recinfo.START_DATE_ACTIVE = X_START_DATE_ACTIVE)
221            OR ((recinfo.START_DATE_ACTIVE is null) AND (X_START_DATE_ACTIVE is null)))
222       AND ((recinfo.END_DATE_ACTIVE = X_END_DATE_ACTIVE)
223            OR ((recinfo.END_DATE_ACTIVE is null) AND (X_END_DATE_ACTIVE is null)))
224       AND ((recinfo.ATTRIBUTE1 = X_ATTRIBUTE1)
225            OR ((recinfo.ATTRIBUTE1 is null) AND (X_ATTRIBUTE1 is null)))
226       AND ((recinfo.ATTRIBUTE2 = X_ATTRIBUTE2)
227            OR ((recinfo.ATTRIBUTE2 is null) AND (X_ATTRIBUTE2 is null)))
228       AND ((recinfo.ATTRIBUTE3 = X_ATTRIBUTE3)
229            OR ((recinfo.ATTRIBUTE3 is null) AND (X_ATTRIBUTE3 is null)))
230       AND ((recinfo.ATTRIBUTE4 = X_ATTRIBUTE4)
231            OR ((recinfo.ATTRIBUTE4 is null) AND (X_ATTRIBUTE4 is null)))
232       AND ((recinfo.ATTRIBUTE5 = X_ATTRIBUTE5)
233            OR ((recinfo.ATTRIBUTE5 is null) AND (X_ATTRIBUTE5 is null)))
234       AND ((recinfo.ATTRIBUTE6 = X_ATTRIBUTE6)
235            OR ((recinfo.ATTRIBUTE6 is null) AND (X_ATTRIBUTE6 is null)))
236       AND ((recinfo.ATTRIBUTE7 = X_ATTRIBUTE7)
237            OR ((recinfo.ATTRIBUTE7 is null) AND (X_ATTRIBUTE7 is null)))
238       AND ((recinfo.ATTRIBUTE8 = X_ATTRIBUTE8)
239            OR ((recinfo.ATTRIBUTE8 is null) AND (X_ATTRIBUTE8 is null)))
240       AND ((recinfo.ATTRIBUTE9 = X_ATTRIBUTE9)
241            OR ((recinfo.ATTRIBUTE9 is null) AND (X_ATTRIBUTE9 is null)))
242       AND ((recinfo.ATTRIBUTE10 = X_ATTRIBUTE10)
243            OR ((recinfo.ATTRIBUTE10 is null) AND (X_ATTRIBUTE10 is null)))
244       AND ((recinfo.ATTRIBUTE11 = X_ATTRIBUTE11)
245            OR ((recinfo.ATTRIBUTE11 is null) AND (X_ATTRIBUTE11 is null)))
246       AND ((recinfo.ATTRIBUTE12 = X_ATTRIBUTE12)
247            OR ((recinfo.ATTRIBUTE12 is null) AND (X_ATTRIBUTE12 is null)))
248       AND ((recinfo.ATTRIBUTE13 = X_ATTRIBUTE13)
249            OR ((recinfo.ATTRIBUTE13 is null) AND (X_ATTRIBUTE13 is null)))
250       AND ((recinfo.ATTRIBUTE14 = X_ATTRIBUTE14)
251            OR ((recinfo.ATTRIBUTE14 is null) AND (X_ATTRIBUTE14 is null)))
252       AND ((recinfo.ATTRIBUTE15 = X_ATTRIBUTE15)
253            OR ((recinfo.ATTRIBUTE15 is null) AND (X_ATTRIBUTE15 is null)))
254       AND ((recinfo.ATTRIBUTE_CATEGORY = X_ATTRIBUTE_CATEGORY)
255            OR ((recinfo.ATTRIBUTE_CATEGORY is null) AND (X_ATTRIBUTE_CATEGORY is null)))
256   ) then
257     null;
258   else
259     fnd_message.set_name('FND', 'FORM_RECORD_CHANGED');
260     app_exception.raise_exception;
261   end if;
262 
263   for tlinfo in c1 loop
264     if (tlinfo.BASELANG = 'Y') then
265       if (    ((tlinfo.SR_ATTRIBUTE_VALUE = X_SR_ATTRIBUTE_VALUE)
266                OR ((tlinfo.SR_ATTRIBUTE_VALUE is null) AND (X_SR_ATTRIBUTE_VALUE is null)))
267       ) then
268         null;
269       else
270         fnd_message.set_name('FND', 'FORM_RECORD_CHANGED');
271         app_exception.raise_exception;
272       end if;
273     end if;
274   end loop;
275   return;
276 end LOCK_ROW;
277 
278 procedure UPDATE_ROW (
279   X_TSK_TYP_ATTR_DEP_ID in NUMBER,
280   X_OBJECT_VERSION_NUMBER in NUMBER,
281   X_INCIDENT_TYPE_ID in NUMBER,
282   X_TASK_TYPE_ID in NUMBER,
283   X_SR_ATTRIBUTE_CODE in VARCHAR2,
284   X_SR_ATTRIBUTE_OPERATOR in VARCHAR2,
285   X_START_DATE_ACTIVE in DATE,
286   X_END_DATE_ACTIVE in DATE,
287   X_ATTRIBUTE1 in VARCHAR2,
288   X_ATTRIBUTE2 in VARCHAR2,
289   X_ATTRIBUTE3 in VARCHAR2,
290   X_ATTRIBUTE4 in VARCHAR2,
291   X_ATTRIBUTE5 in VARCHAR2,
292   X_ATTRIBUTE6 in VARCHAR2,
293   X_ATTRIBUTE7 in VARCHAR2,
294   X_ATTRIBUTE8 in VARCHAR2,
295   X_ATTRIBUTE9 in VARCHAR2,
296   X_ATTRIBUTE10 in VARCHAR2,
297   X_ATTRIBUTE11 in VARCHAR2,
298   X_ATTRIBUTE12 in VARCHAR2,
299   X_ATTRIBUTE13 in VARCHAR2,
300   X_ATTRIBUTE14 in VARCHAR2,
301   X_ATTRIBUTE15 in VARCHAR2,
302   X_ATTRIBUTE_CATEGORY in VARCHAR2,
303   X_SR_ATTRIBUTE_VALUE in VARCHAR2,
304   X_LAST_UPDATE_DATE in DATE,
305   X_LAST_UPDATED_BY in NUMBER,
306   X_LAST_UPDATE_LOGIN in NUMBER
307 ) is
308 begin
309   update CUG_TSK_TYP_ATTR_DEPS_B set
310     OBJECT_VERSION_NUMBER = X_OBJECT_VERSION_NUMBER,
311     INCIDENT_TYPE_ID = X_INCIDENT_TYPE_ID,
312     TASK_TYPE_ID = X_TASK_TYPE_ID,
313     SR_ATTRIBUTE_CODE = X_SR_ATTRIBUTE_CODE,
314     SR_ATTRIBUTE_OPERATOR = X_SR_ATTRIBUTE_OPERATOR,
315     START_DATE_ACTIVE = X_START_DATE_ACTIVE,
316     END_DATE_ACTIVE = X_END_DATE_ACTIVE,
317     ATTRIBUTE1 = X_ATTRIBUTE1,
318     ATTRIBUTE2 = X_ATTRIBUTE2,
319     ATTRIBUTE3 = X_ATTRIBUTE3,
320     ATTRIBUTE4 = X_ATTRIBUTE4,
321     ATTRIBUTE5 = X_ATTRIBUTE5,
322     ATTRIBUTE6 = X_ATTRIBUTE6,
323     ATTRIBUTE7 = X_ATTRIBUTE7,
324     ATTRIBUTE8 = X_ATTRIBUTE8,
325     ATTRIBUTE9 = X_ATTRIBUTE9,
326     ATTRIBUTE10 = X_ATTRIBUTE10,
327     ATTRIBUTE11 = X_ATTRIBUTE11,
328     ATTRIBUTE12 = X_ATTRIBUTE12,
329     ATTRIBUTE13 = X_ATTRIBUTE13,
330     ATTRIBUTE14 = X_ATTRIBUTE14,
331     ATTRIBUTE15 = X_ATTRIBUTE15,
332     ATTRIBUTE_CATEGORY = X_ATTRIBUTE_CATEGORY,
333     LAST_UPDATE_DATE = X_LAST_UPDATE_DATE,
334     LAST_UPDATED_BY = X_LAST_UPDATED_BY,
335     LAST_UPDATE_LOGIN = X_LAST_UPDATE_LOGIN
336   where TSK_TYP_ATTR_DEP_ID = X_TSK_TYP_ATTR_DEP_ID;
337 
338   if (sql%notfound) then
339     raise no_data_found;
340   end if;
341 
342   update CUG_TSK_TYP_ATTR_DEPS_TL set
343     SR_ATTRIBUTE_VALUE = X_SR_ATTRIBUTE_VALUE,
344     LAST_UPDATE_DATE = X_LAST_UPDATE_DATE,
345     LAST_UPDATED_BY = X_LAST_UPDATED_BY,
346     LAST_UPDATE_LOGIN = X_LAST_UPDATE_LOGIN,
347     SOURCE_LANG = userenv('LANG')
348   where TSK_TYP_ATTR_DEP_ID = X_TSK_TYP_ATTR_DEP_ID
349   and userenv('LANG') in (LANGUAGE, SOURCE_LANG);
350 
351   if (sql%notfound) then
352     raise no_data_found;
353   end if;
354 end UPDATE_ROW;
355 
356 procedure DELETE_ROW (
357   X_TSK_TYP_ATTR_DEP_ID in NUMBER
358 ) is
359 begin
360   delete from CUG_TSK_TYP_ATTR_DEPS_TL
361   where TSK_TYP_ATTR_DEP_ID = X_TSK_TYP_ATTR_DEP_ID;
362 
363   if (sql%notfound) then
364     raise no_data_found;
365   end if;
366 
367   delete from CUG_TSK_TYP_ATTR_DEPS_B
368   where TSK_TYP_ATTR_DEP_ID = X_TSK_TYP_ATTR_DEP_ID;
369 
370   if (sql%notfound) then
371     raise no_data_found;
372   end if;
373 end DELETE_ROW;
374 
375 procedure ADD_LANGUAGE
376 is
377 begin
378   delete from CUG_TSK_TYP_ATTR_DEPS_TL T
379   where not exists
380     (select NULL
381     from CUG_TSK_TYP_ATTR_DEPS_B B
382     where B.TSK_TYP_ATTR_DEP_ID = T.TSK_TYP_ATTR_DEP_ID
383     );
384 
385   update CUG_TSK_TYP_ATTR_DEPS_TL T set (
386       SR_ATTRIBUTE_VALUE
387     ) = (select
388       B.SR_ATTRIBUTE_VALUE
389     from CUG_TSK_TYP_ATTR_DEPS_TL B
390     where B.TSK_TYP_ATTR_DEP_ID = T.TSK_TYP_ATTR_DEP_ID
391     and B.LANGUAGE = T.SOURCE_LANG)
392   where (
393       T.TSK_TYP_ATTR_DEP_ID,
394       T.LANGUAGE
395   ) in (select
396       SUBT.TSK_TYP_ATTR_DEP_ID,
397       SUBT.LANGUAGE
398     from CUG_TSK_TYP_ATTR_DEPS_TL SUBB, CUG_TSK_TYP_ATTR_DEPS_TL SUBT
399     where SUBB.TSK_TYP_ATTR_DEP_ID = SUBT.TSK_TYP_ATTR_DEP_ID
403       or (SUBB.SR_ATTRIBUTE_VALUE is not null and SUBT.SR_ATTRIBUTE_VALUE is null)
400     and SUBB.LANGUAGE = SUBT.SOURCE_LANG
401     and (SUBB.SR_ATTRIBUTE_VALUE <> SUBT.SR_ATTRIBUTE_VALUE
402       or (SUBB.SR_ATTRIBUTE_VALUE is null and SUBT.SR_ATTRIBUTE_VALUE is not null)
404   ));
405 
406   insert into CUG_TSK_TYP_ATTR_DEPS_TL (
407     TSK_TYP_ATTR_DEP_ID,
408     CREATED_BY,
409     CREATION_DATE,
410     LAST_UPDATED_BY,
411     LAST_UPDATE_LOGIN,
412     LAST_UPDATE_DATE,
413     SR_ATTRIBUTE_VALUE,
414     LANGUAGE,
415     SOURCE_LANG
416   ) select /*+ ORDERED */
417     B.TSK_TYP_ATTR_DEP_ID,
418     B.CREATED_BY,
419     B.CREATION_DATE,
420     B.LAST_UPDATED_BY,
421     B.LAST_UPDATE_LOGIN,
422     B.LAST_UPDATE_DATE,
423     B.SR_ATTRIBUTE_VALUE,
424     L.LANGUAGE_CODE,
425     B.SOURCE_LANG
426   from CUG_TSK_TYP_ATTR_DEPS_TL B, FND_LANGUAGES L
427   where L.INSTALLED_FLAG in ('I', 'B')
428   and B.LANGUAGE = userenv('LANG')
429   and not exists
430     (select NULL
431     from CUG_TSK_TYP_ATTR_DEPS_TL T
432     where T.TSK_TYP_ATTR_DEP_ID = B.TSK_TYP_ATTR_DEP_ID
433     and T.LANGUAGE = L.LANGUAGE_CODE);
434 end ADD_LANGUAGE;
435 
436 end CUG_TSK_TYP_ATTR_DEPS_PKG;