DBA Data[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;