[Home] [Help]
PACKAGE BODY: APPS.JTF_TASK_REFERENCES_PKG
Source
1 PACKAGE body JTF_TASK_REFERENCES_PKG as
2 /* $Header: jtftkrfb.pls 120.2 2006/01/19 06:21:30 sbarat ship $ */
3
4 procedure INSERT_ROW (
5 X_ROWID in out NOCOPY VARCHAR2,
6 X_TASK_REFERENCE_ID in NUMBER,
7 X_TASK_ID in NUMBER,
8 X_OBJECT_TYPE_CODE in VARCHAR2,
9 X_OBJECT_NAME in VARCHAR2,
10 X_OBJECT_ID in NUMBER,
11 X_OBJECT_DETAILS in VARCHAR2,
12 X_REFERENCE_CODE in VARCHAR2,
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_USAGE 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 JTF_TASK_REFERENCES_B
37 where TASK_REFERENCE_ID = X_TASK_REFERENCE_ID
38 ;
39 begin
40 insert into JTF_TASK_REFERENCES_B (
41 TASK_REFERENCE_ID,
42 TASK_ID,
43 OBJECT_TYPE_CODE,
44 OBJECT_NAME,
45 OBJECT_ID,
46 OBJECT_DETAILS,
47 REFERENCE_CODE,
48 ATTRIBUTE1,
49 ATTRIBUTE2,
50 ATTRIBUTE3,
51 ATTRIBUTE4,
52 ATTRIBUTE5,
53 ATTRIBUTE6,
54 ATTRIBUTE7,
55 ATTRIBUTE8,
56 ATTRIBUTE9,
57 ATTRIBUTE10,
58 ATTRIBUTE11,
59 ATTRIBUTE12,
60 ATTRIBUTE13,
61 ATTRIBUTE14,
62 ATTRIBUTE15,
63 ATTRIBUTE_CATEGORY,
64 CREATION_DATE,
65 CREATED_BY,
66 LAST_UPDATE_DATE,
67 LAST_UPDATED_BY,
68 LAST_UPDATE_LOGIN,
69 OBJECT_VERSION_NUMBER
70 ) values (
71 X_TASK_REFERENCE_ID,
72 X_TASK_ID,
73 X_OBJECT_TYPE_CODE,
74 X_OBJECT_NAME,
75 X_OBJECT_ID,
76 X_OBJECT_DETAILS,
77 X_REFERENCE_CODE,
78 X_ATTRIBUTE1,
79 X_ATTRIBUTE2,
80 X_ATTRIBUTE3,
81 X_ATTRIBUTE4,
82 X_ATTRIBUTE5,
83 X_ATTRIBUTE6,
84 X_ATTRIBUTE7,
85 X_ATTRIBUTE8,
86 X_ATTRIBUTE9,
87 X_ATTRIBUTE10,
88 X_ATTRIBUTE11,
89 X_ATTRIBUTE12,
90 X_ATTRIBUTE13,
91 X_ATTRIBUTE14,
92 X_ATTRIBUTE15,
93 X_ATTRIBUTE_CATEGORY,
94 X_CREATION_DATE,
95 X_CREATED_BY,
96 X_LAST_UPDATE_DATE,
97 X_LAST_UPDATED_BY,
98 X_LAST_UPDATE_LOGIN,
99 1
100 );
101
102 insert into JTF_TASK_REFERENCES_TL (
103 TASK_REFERENCE_ID,
104 USAGE,
105 CREATED_BY,
106 CREATION_DATE,
107 LAST_UPDATED_BY,
108 LAST_UPDATE_DATE,
109 LAST_UPDATE_LOGIN,
110 LANGUAGE,
111 SOURCE_LANG
112 ) select
113 X_TASK_REFERENCE_ID,
114 X_USAGE,
115 X_CREATED_BY,
116 X_CREATION_DATE,
117 X_LAST_UPDATED_BY,
118 X_LAST_UPDATE_DATE,
119 X_LAST_UPDATE_LOGIN,
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 JTF_TASK_REFERENCES_TL T
127 where T.TASK_REFERENCE_ID = X_TASK_REFERENCE_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_TASK_REFERENCE_ID in NUMBER,
142 X_OBJECT_VERSION_NUMBER in NUMBER
143 ) is
144 cursor c is select
145 OBJECT_VERSION_NUMBER
146 from JTF_TASK_REFERENCES_VL
147 where TASK_REFERENCE_ID = X_TASK_REFERENCE_ID
148 and OBJECT_VERSION_NUMBER = X_OBJECT_VERSION_NUMBER
149 for update of TASK_REFERENCE_ID nowait;
150 recinfo c%rowtype;
151
152 begin
153 open c;
154 fetch c into recinfo;
155 if (c%notfound) then
156 close c;
157 fnd_message.set_name('FND', 'FORM_RECORD_DELETED');
158 app_exception.raise_exception;
159 end if;
160 close c;
161
162 if (recinfo.OBJECT_VERSION_NUMBER = X_OBJECT_VERSION_NUMBER)
163 then
164 null;
165 else
166 fnd_message.set_name('FND', 'FORM_RECORD_CHANGED');
167 app_exception.raise_exception;
168 end if;
169 end LOCK_ROW;
170
171
172 procedure UPDATE_ROW (
173 X_TASK_REFERENCE_ID in NUMBER,
174 X_OBJECT_VERSION_NUMBER in NUMBER,
175 X_TASK_ID in NUMBER,
176 X_OBJECT_TYPE_CODE in VARCHAR2,
177 X_OBJECT_NAME in VARCHAR2,
178 X_OBJECT_ID in NUMBER,
179 X_OBJECT_DETAILS in VARCHAR2,
180 X_REFERENCE_CODE in VARCHAR2,
181 X_ATTRIBUTE1 in VARCHAR2,
182 X_ATTRIBUTE2 in VARCHAR2,
183 X_ATTRIBUTE3 in VARCHAR2,
184 X_ATTRIBUTE4 in VARCHAR2,
185 X_ATTRIBUTE5 in VARCHAR2,
186 X_ATTRIBUTE6 in VARCHAR2,
187 X_ATTRIBUTE7 in VARCHAR2,
188 X_ATTRIBUTE8 in VARCHAR2,
189 X_ATTRIBUTE9 in VARCHAR2,
190 X_ATTRIBUTE10 in VARCHAR2,
191 X_ATTRIBUTE11 in VARCHAR2,
192 X_ATTRIBUTE12 in VARCHAR2,
193 X_ATTRIBUTE13 in VARCHAR2,
194 X_ATTRIBUTE14 in VARCHAR2,
195 X_ATTRIBUTE15 in VARCHAR2,
196 X_ATTRIBUTE_CATEGORY in VARCHAR2,
197 X_USAGE in VARCHAR2,
198 X_LAST_UPDATE_DATE in DATE,
199 X_LAST_UPDATED_BY in NUMBER,
200 X_LAST_UPDATE_LOGIN in NUMBER
201 ) is
202 begin
203 update JTF_TASK_REFERENCES_B set
204 TASK_ID = X_TASK_ID,
205 OBJECT_VERSION_NUMBER = X_OBJECT_VERSION_NUMBER,
206 OBJECT_TYPE_CODE = X_OBJECT_TYPE_CODE,
207 OBJECT_NAME = X_OBJECT_NAME,
208 OBJECT_ID = X_OBJECT_ID,
209 OBJECT_DETAILS = X_OBJECT_DETAILS,
210 REFERENCE_CODE = X_REFERENCE_CODE,
211 ATTRIBUTE1 = X_ATTRIBUTE1,
212 ATTRIBUTE2 = X_ATTRIBUTE2,
213 ATTRIBUTE3 = X_ATTRIBUTE3,
214 ATTRIBUTE4 = X_ATTRIBUTE4,
215 ATTRIBUTE5 = X_ATTRIBUTE5,
216 ATTRIBUTE6 = X_ATTRIBUTE6,
217 ATTRIBUTE7 = X_ATTRIBUTE7,
218 ATTRIBUTE8 = X_ATTRIBUTE8,
219 ATTRIBUTE9 = X_ATTRIBUTE9,
220 ATTRIBUTE10 = X_ATTRIBUTE10,
221 ATTRIBUTE11 = X_ATTRIBUTE11,
222 ATTRIBUTE12 = X_ATTRIBUTE12,
223 ATTRIBUTE13 = X_ATTRIBUTE13,
224 ATTRIBUTE14 = X_ATTRIBUTE14,
225 ATTRIBUTE15 = X_ATTRIBUTE15,
226 ATTRIBUTE_CATEGORY = X_ATTRIBUTE_CATEGORY,
227 LAST_UPDATE_DATE = X_LAST_UPDATE_DATE,
228 LAST_UPDATED_BY = X_LAST_UPDATED_BY,
229 LAST_UPDATE_LOGIN = X_LAST_UPDATE_LOGIN
230 where TASK_REFERENCE_ID = X_TASK_REFERENCE_ID;
231
232 if (sql%notfound) then
233 raise no_data_found;
234 end if;
235
236 update JTF_TASK_REFERENCES_TL set
237 USAGE = X_USAGE,
238 LAST_UPDATE_DATE = X_LAST_UPDATE_DATE,
239 LAST_UPDATED_BY = X_LAST_UPDATED_BY,
240 LAST_UPDATE_LOGIN = X_LAST_UPDATE_LOGIN,
241 SOURCE_LANG = userenv('LANG')
242 where TASK_REFERENCE_ID = X_TASK_REFERENCE_ID
243 and userenv('LANG') in (LANGUAGE, SOURCE_LANG);
244
245 if (sql%notfound) then
246 raise no_data_found;
247 end if;
248 end UPDATE_ROW;
249
250 procedure DELETE_ROW (
251 X_TASK_REFERENCE_ID in NUMBER
252 ) is
253 begin
254 delete from JTF_TASK_REFERENCES_TL
255 where TASK_REFERENCE_ID = X_TASK_REFERENCE_ID;
256
257 if (sql%notfound) then
258 raise no_data_found;
259 end if;
260
261 delete from JTF_TASK_REFERENCES_B
262 where TASK_REFERENCE_ID = X_TASK_REFERENCE_ID ;
263
264 if (sql%notfound) then
265 raise no_data_found;
266 end if;
267 end DELETE_ROW;
268
269 procedure ADD_LANGUAGE
270 is
271 begin
272
273 /* Solving Perf. Bug 3723927 */
274 /* The following delete and update statements are commented out */
275 /* as a quick workaround to fix the time-consuming table handler issue */
276 /*
277
278 delete from JTF_TASK_REFERENCES_TL T
279 where not exists
280 (select NULL
281 from JTF_TASK_REFERENCES_B B
282 where B.TASK_REFERENCE_ID = T.TASK_REFERENCE_ID
283 );
284
285 update JTF_TASK_REFERENCES_TL T set (
286 USAGE
287 ) = (select
288 B.USAGE
289 from JTF_TASK_REFERENCES_TL B
290 where B.TASK_REFERENCE_ID = T.TASK_REFERENCE_ID
291 and B.LANGUAGE = T.SOURCE_LANG)
292 where (
293 T.TASK_REFERENCE_ID,
294 T.LANGUAGE
295 ) in (select
296 SUBT.TASK_REFERENCE_ID,
297 SUBT.LANGUAGE
298 from JTF_TASK_REFERENCES_TL SUBB, JTF_TASK_REFERENCES_TL SUBT
299 where SUBB.TASK_REFERENCE_ID = SUBT.TASK_REFERENCE_ID
300 and SUBB.LANGUAGE = SUBT.SOURCE_LANG
301 and (SUBB.USAGE <> SUBT.USAGE
302 or (SUBB.USAGE is null and SUBT.USAGE is not null)
303 or (SUBB.USAGE is not null and SUBT.USAGE is null)
304 ));
305 */
306
307 -- Added hint 'parallel' by SBARAT on 19/01/2006 for perf bug# 4888496
308
309 insert into JTF_TASK_REFERENCES_TL (
310 TASK_REFERENCE_ID,
311 USAGE,
312 CREATED_BY,
313 CREATION_DATE,
314 LAST_UPDATED_BY,
315 LAST_UPDATE_DATE,
316 LAST_UPDATE_LOGIN,
317 LANGUAGE,
318 SOURCE_LANG
319 ) select /*+ parallel(B) parallel(L) */
320 B.TASK_REFERENCE_ID,
321 B.USAGE,
322 B.CREATED_BY,
323 B.CREATION_DATE,
324 B.LAST_UPDATED_BY,
325 B.LAST_UPDATE_DATE,
326 B.LAST_UPDATE_LOGIN,
327 L.LANGUAGE_CODE,
328 B.SOURCE_LANG
329 from JTF_TASK_REFERENCES_TL B, FND_LANGUAGES L
330 where L.INSTALLED_FLAG in ('I', 'B')
331 and B.LANGUAGE = userenv('LANG')
332 and not exists
333 (select /*+ parallel(T) */ NULL
334 from JTF_TASK_REFERENCES_TL T
335 where T.TASK_REFERENCE_ID = B.TASK_REFERENCE_ID
336 and T.LANGUAGE = L.LANGUAGE_CODE);
337 end ADD_LANGUAGE;
338
339 procedure translate_row(
340 x_task_reference_id in number,
341 x_usage in varchar2,
342 x_owner in varchar2 )
343 as
344 begin
345 update jtf_task_references_tl set
346 usage = nvl(X_usage,usage),
347 LAST_UPDATE_DATE = sysdate,
348 LAST_UPDATEd_by = decode(x_owner,'SEED',1,0),
349 LAST_UPDATE_LOGIN = 0,
350 SOURCE_LANG = userenv('LANG')
351 where task_reference_id = X_task_reference_id
352 and userenv('LANG') in (LANGUAGE, SOURCE_LANG);
353
354 if (sql%notfound) then
355 raise no_data_found;
356 end if;
357
358 end ;
359
360 end JTF_TASK_REFERENCES_PKG;