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