DBA Data[Home] [Help]

PACKAGE BODY: APPS.JTF_TASK_DATE_TYPES_PKG

Source


1 PACKAGE body JTF_TASK_DATE_TYPES_PKG as
2 /* $Header: jtftkdtb.pls 115.17 2004/08/30 23:40:53 sachoudh ship $ */
3 procedure INSERT_ROW (
4   X_ROWID in out nocopy VARCHAR2,
5   X_DATE_TYPE_ID in NUMBER,
6   X_SEQUENCE in NUMBER,
7   X_APPLICATION_REFERENCE in VARCHAR2,
8   X_ATTRIBUTE1 in VARCHAR2,
9   X_ATTRIBUTE2 in VARCHAR2,
10   X_ATTRIBUTE3 in VARCHAR2,
11   X_ATTRIBUTE4 in VARCHAR2,
12   X_ATTRIBUTE5 in VARCHAR2,
13   X_ATTRIBUTE6 in VARCHAR2,
14   X_ATTRIBUTE7 in VARCHAR2,
15   X_ATTRIBUTE8 in VARCHAR2,
16   X_ATTRIBUTE9 in VARCHAR2,
17   X_ATTRIBUTE10 in VARCHAR2,
18   X_ATTRIBUTE11 in VARCHAR2,
19   X_ATTRIBUTE12 in VARCHAR2,
20   X_ATTRIBUTE13 in VARCHAR2,
21   X_ATTRIBUTE14 in VARCHAR2,
22   X_ATTRIBUTE15 in VARCHAR2,
23   X_ATTRIBUTE_CATEGORY in VARCHAR2,
24   X_DATE_TYPE in VARCHAR2,
25   X_DESCRIPTION in VARCHAR2,
26   X_CREATION_DATE in DATE,
27   X_CREATED_BY in NUMBER,
28   X_LAST_UPDATE_DATE in DATE,
29   X_LAST_UPDATED_BY in NUMBER,
30   X_LAST_UPDATE_LOGIN in NUMBER
31 ) is
32   cursor C is select ROWID from JTF_TASK_DATE_TYPES_B
33     where DATE_TYPE_ID = X_DATE_TYPE_ID
34     ;
35 begin
36   insert into JTF_TASK_DATE_TYPES_B (
37     DATE_TYPE_ID,
38     SEQUENCE,
39     APPLICATION_REFERENCE,
40     ATTRIBUTE1,
41     ATTRIBUTE2,
42     ATTRIBUTE3,
43     ATTRIBUTE4,
44     ATTRIBUTE5,
45     ATTRIBUTE6,
46     ATTRIBUTE7,
47     ATTRIBUTE8,
48     ATTRIBUTE9,
49     ATTRIBUTE10,
50     ATTRIBUTE11,
51     ATTRIBUTE12,
52     ATTRIBUTE13,
53     ATTRIBUTE14,
54     ATTRIBUTE15,
55     ATTRIBUTE_CATEGORY,
56     CREATION_DATE,
57     CREATED_BY,
58     LAST_UPDATE_DATE,
59     LAST_UPDATED_BY,
60     LAST_UPDATE_LOGIN,
61     OBJECT_VERSION_NUMBER
62   ) values (
63     X_DATE_TYPE_ID,
64     X_SEQUENCE,
65     X_APPLICATION_REFERENCE,
66     X_ATTRIBUTE1,
67     X_ATTRIBUTE2,
68     X_ATTRIBUTE3,
69     X_ATTRIBUTE4,
70     X_ATTRIBUTE5,
71     X_ATTRIBUTE6,
72     X_ATTRIBUTE7,
73     X_ATTRIBUTE8,
74     X_ATTRIBUTE9,
75     X_ATTRIBUTE10,
76     X_ATTRIBUTE11,
77     X_ATTRIBUTE12,
78     X_ATTRIBUTE13,
79     X_ATTRIBUTE14,
80     X_ATTRIBUTE15,
81     X_ATTRIBUTE_CATEGORY,
82     X_CREATION_DATE,
83     X_CREATED_BY,
84     X_LAST_UPDATE_DATE,
85     X_LAST_UPDATED_BY,
86     X_LAST_UPDATE_LOGIN,
87     1
88   );
89 
90   insert into JTF_TASK_DATE_TYPES_TL (
91     DATE_TYPE_ID,
92     DATE_TYPE,
93     DESCRIPTION,
94     CREATED_BY,
95     CREATION_DATE,
96     LAST_UPDATED_BY,
97     LAST_UPDATE_DATE,
98     LAST_UPDATE_LOGIN,
99     LANGUAGE,
100     SOURCE_LANG
101   ) select
102     X_DATE_TYPE_ID,
103     X_DATE_TYPE,
104     X_DESCRIPTION,
105     X_CREATED_BY,
106     X_CREATION_DATE,
107     X_LAST_UPDATED_BY,
108     X_LAST_UPDATE_DATE,
109     X_LAST_UPDATE_LOGIN,
110     L.LANGUAGE_CODE,
111     userenv('LANG')
112   from FND_LANGUAGES L
113   where L.INSTALLED_FLAG in ('I', 'B')
114   and not exists
115     (select NULL
116     from JTF_TASK_DATE_TYPES_TL T
117     where T.DATE_TYPE_ID = X_DATE_TYPE_ID
118     and T.LANGUAGE = L.LANGUAGE_CODE);
119 
120   open c;
121   fetch c into X_ROWID;
122   if (c%notfound) then
123     close c;
124     raise no_data_found;
125   end if;
126   close c;
127 
128 end INSERT_ROW;
129 
130 procedure LOCK_ROW (
131   X_DATE_TYPE_ID in NUMBER,
132   X_OBJECT_VERSION_NUMBER in NUMBER
133 ) is
134   cursor c is select
135         OBJECT_VERSION_NUMBER
136     from JTF_TASK_DATE_TYPES_VL
137     where DATE_TYPE_ID = X_DATE_TYPE_ID
138     for update of DATE_TYPE_ID nowait;
139   recinfo c%rowtype;
140 
141 begin
142   open c;
143   fetch c into recinfo;
144   if (c%notfound) then
145     close c;
146     fnd_message.set_name('FND', 'FORM_RECORD_DELETED');
147     app_exception.raise_exception;
148   end if;
149   close c;
150   if (recinfo.OBJECT_VERSION_NUMBER = X_OBJECT_VERSION_NUMBER)
151   then
152     null;
153   else
154     fnd_message.set_name('FND', 'FORM_RECORD_CHANGED');
155     app_exception.raise_exception;
156   end if;
157 
158 
159 end LOCK_ROW;
160 
161 procedure UPDATE_ROW (
162   X_DATE_TYPE_ID in NUMBER,
163   X_OBJECT_VERSION_NUMBER in NUMBER,
164   X_SEQUENCE in NUMBER,
165   X_APPLICATION_REFERENCE in VARCHAR2,
166   X_ATTRIBUTE1 in VARCHAR2,
167   X_ATTRIBUTE2 in VARCHAR2,
168   X_ATTRIBUTE3 in VARCHAR2,
169   X_ATTRIBUTE4 in VARCHAR2,
170   X_ATTRIBUTE5 in VARCHAR2,
171   X_ATTRIBUTE6 in VARCHAR2,
172   X_ATTRIBUTE7 in VARCHAR2,
173   X_ATTRIBUTE8 in VARCHAR2,
174   X_ATTRIBUTE9 in VARCHAR2,
175   X_ATTRIBUTE10 in VARCHAR2,
176   X_ATTRIBUTE11 in VARCHAR2,
177   X_ATTRIBUTE12 in VARCHAR2,
178   X_ATTRIBUTE13 in VARCHAR2,
179   X_ATTRIBUTE14 in VARCHAR2,
180   X_ATTRIBUTE15 in VARCHAR2,
181   X_ATTRIBUTE_CATEGORY in VARCHAR2,
182   X_DATE_TYPE in VARCHAR2,
183   X_DESCRIPTION in VARCHAR2,
184   X_LAST_UPDATE_DATE in DATE,
185   X_LAST_UPDATED_BY in NUMBER,
186   X_LAST_UPDATE_LOGIN in NUMBER
187 ) is
188 begin
189   update JTF_TASK_DATE_TYPES_B set
190     SEQUENCE = X_SEQUENCE,
191     /*changed from X_OBJECT_VERSION_NUMBER TO X_OBJECT_VERSION_NUMBER +1 */
192     OBJECT_VERSION_NUMBER = X_OBJECT_VERSION_NUMBER+1,
193     APPLICATION_REFERENCE = X_APPLICATION_REFERENCE,
194     ATTRIBUTE1 = X_ATTRIBUTE1,
195     ATTRIBUTE2 = X_ATTRIBUTE2,
196     ATTRIBUTE3 = X_ATTRIBUTE3,
197     ATTRIBUTE4 = X_ATTRIBUTE4,
198     ATTRIBUTE5 = X_ATTRIBUTE5,
199     ATTRIBUTE6 = X_ATTRIBUTE6,
200     ATTRIBUTE7 = X_ATTRIBUTE7,
201     ATTRIBUTE8 = X_ATTRIBUTE8,
202     ATTRIBUTE9 = X_ATTRIBUTE9,
203     ATTRIBUTE10 = X_ATTRIBUTE10,
204     ATTRIBUTE11 = X_ATTRIBUTE11,
205     ATTRIBUTE12 = X_ATTRIBUTE12,
206     ATTRIBUTE13 = X_ATTRIBUTE13,
207     ATTRIBUTE14 = X_ATTRIBUTE14,
208     ATTRIBUTE15 = X_ATTRIBUTE15,
209     ATTRIBUTE_CATEGORY = X_ATTRIBUTE_CATEGORY,
210     LAST_UPDATE_DATE = X_LAST_UPDATE_DATE,
211     LAST_UPDATED_BY = X_LAST_UPDATED_BY,
212     LAST_UPDATE_LOGIN = X_LAST_UPDATE_LOGIN
213   where DATE_TYPE_ID = X_DATE_TYPE_ID  ;
214 
215   if (sql%notfound) then
216     raise no_data_found;
217   end if;
218 
219   update JTF_TASK_DATE_TYPES_TL set
220     DATE_TYPE = X_DATE_TYPE,
221     DESCRIPTION = X_DESCRIPTION,
222     LAST_UPDATE_DATE = X_LAST_UPDATE_DATE,
223     LAST_UPDATED_BY = X_LAST_UPDATED_BY,
224     LAST_UPDATE_LOGIN = X_LAST_UPDATE_LOGIN,
225     SOURCE_LANG = userenv('LANG')
226   where DATE_TYPE_ID = X_DATE_TYPE_ID
227   and userenv('LANG') in (LANGUAGE, SOURCE_LANG);
228 
229   if (sql%notfound) then
230     raise no_data_found;
231   end if;
232 end UPDATE_ROW;
233 
234 procedure DELETE_ROW (
235   X_DATE_TYPE_ID in NUMBER
236 ) is
237 begin
238   delete from JTF_TASK_DATE_TYPES_TL
239   where DATE_TYPE_ID = X_DATE_TYPE_ID;
240 
241   if (sql%notfound) then
242     raise no_data_found;
243   end if;
244 
245   delete from JTF_TASK_DATE_TYPES_B
246   where DATE_TYPE_ID = X_DATE_TYPE_ID ;
247 
248   if (sql%notfound) then
249     raise no_data_found;
250   end if;
251 end DELETE_ROW;
252 
253 procedure ADD_LANGUAGE
254 is
255 begin
256 
257    /* Solving Perf. Bug 3723927*/
258      /* The following delete and update statements are commented out */
259      /* as a quick workaround to fix the time-consuming table handler issue */
260    /*
261 
262   delete from JTF_TASK_DATE_TYPES_TL T
263   where not exists
264     (select NULL
265     from JTF_TASK_DATE_TYPES_B B
266     where B.DATE_TYPE_ID = T.DATE_TYPE_ID
267     );
268 
269   update JTF_TASK_DATE_TYPES_TL T set (
270       DATE_TYPE,
271       DESCRIPTION
272     ) = (select
273       B.DATE_TYPE,
274       B.DESCRIPTION
275     from JTF_TASK_DATE_TYPES_TL B
276     where B.DATE_TYPE_ID = T.DATE_TYPE_ID
277     and B.LANGUAGE = T.SOURCE_LANG)
278   where (
279       T.DATE_TYPE_ID,
280       T.LANGUAGE
281   ) in (select
282       SUBT.DATE_TYPE_ID,
283       SUBT.LANGUAGE
284     from JTF_TASK_DATE_TYPES_TL SUBB, JTF_TASK_DATE_TYPES_TL SUBT
285     where SUBB.DATE_TYPE_ID = SUBT.DATE_TYPE_ID
286     and SUBB.LANGUAGE = SUBT.SOURCE_LANG
287     and (SUBB.DATE_TYPE <> SUBT.DATE_TYPE
288       or SUBB.DESCRIPTION <> SUBT.DESCRIPTION
289       or (SUBB.DESCRIPTION is null and SUBT.DESCRIPTION is not null)
290       or (SUBB.DESCRIPTION is not null and SUBT.DESCRIPTION is null)
291   )); */
292 
293   insert into JTF_TASK_DATE_TYPES_TL (
294     DATE_TYPE_ID,
295     DATE_TYPE,
296     DESCRIPTION,
297     CREATED_BY,
298     CREATION_DATE,
299     LAST_UPDATED_BY,
300     LAST_UPDATE_DATE,
301     LAST_UPDATE_LOGIN,
302     LANGUAGE,
303     SOURCE_LANG
304   ) select
305     B.DATE_TYPE_ID,
306     B.DATE_TYPE,
307     B.DESCRIPTION,
308     B.CREATED_BY,
309     B.CREATION_DATE,
310     B.LAST_UPDATED_BY,
311     B.LAST_UPDATE_DATE,
312     B.LAST_UPDATE_LOGIN,
313     L.LANGUAGE_CODE,
314     B.SOURCE_LANG
315   from JTF_TASK_DATE_TYPES_TL B, FND_LANGUAGES L
316   where L.INSTALLED_FLAG in ('I', 'B')
317   and B.LANGUAGE = userenv('LANG')
318   and not exists
319     (select NULL
320     from JTF_TASK_DATE_TYPES_TL T
321     where T.DATE_TYPE_ID = B.DATE_TYPE_ID
322     and T.LANGUAGE = L.LANGUAGE_CODE);
323 end ADD_LANGUAGE;
324 
325 
326 procedure translate_row(
327    x_date_type_id in number,
328    x_date_type in varchar2,
329    x_description in varchar2,
330    x_owner   in varchar2 )
331 as
332 begin
333   update jtf_task_date_types_tl set
334     date_type = nvl(x_date_type,date_type),
335     description = nvl(x_description,description ),
336     LAST_UPDATE_DATE = sysdate,
337     LAST_UPDATEd_by = decode(x_owner,'SEED',1,0),
338     LAST_UPDATE_LOGIN = 0,
339     SOURCE_LANG = userenv('LANG')
340   where date_type_id = X_date_type_id
341   and userenv('LANG') in (LANGUAGE, SOURCE_LANG);
342 
343   if (sql%notfound) then
344     raise no_data_found;
345   end if;
346 
347 end ;
348 
349 end JTF_TASK_DATE_TYPES_PKG;