DBA Data[Home] [Help]

PACKAGE BODY: APPS.CN_CW_SETUP_TASKS_ALL_PKG

Source


1 PACKAGE BODY CN_CW_SETUP_TASKS_ALL_PKG as
2 /* $Header: cntcwstb.pls 120.0 2005/09/08 04:09 raramasa noship $ */
3 
4 procedure INSERT_ROW (
5   X_ROWID in out nocopy VARCHAR2,
6   X_SETUP_TASK_CODE in VARCHAR2,
7   X_WORKBENCH_ITEM_CODE in VARCHAR2,
8   X_SETUP_TASK_SEQUENCE in NUMBER,
9   X_SETUP_TASK_STATUS in VARCHAR2,
10   X_SETUP_TASK_TYPE in VARCHAR2,
11   X_SETUP_TASK_ACTION in VARCHAR2,
12   X_OBJECT_VERSION_NUMBER in NUMBER,
13   X_SETUP_TASK_NAME in VARCHAR2,
14   X_SETUP_TASK_DESCRIPTION in VARCHAR2,
15   X_CREATION_DATE in DATE,
16   X_CREATED_BY in NUMBER,
17   X_LAST_UPDATE_DATE in DATE,
18   X_LAST_UPDATED_BY in NUMBER,
19   X_LAST_UPDATE_LOGIN in NUMBER,
20   X_ORG_ID  in  NUMBER
21 ) is
22   cursor C is select ROWID from CN_CW_SETUP_TASKS_ALL_B
23     where SETUP_TASK_CODE = X_SETUP_TASK_CODE
24     AND ORG_ID  = X_ORG_ID
25     ;
26 begin
27   insert into CN_CW_SETUP_TASKS_ALL_B (
28     SETUP_TASK_CODE,
29     WORKBENCH_ITEM_CODE,
30     SETUP_TASK_SEQUENCE,
31     SETUP_TASK_STATUS,
32     SETUP_TASK_TYPE,
33     SETUP_TASK_ACTION,
34     OBJECT_VERSION_NUMBER,
35     CREATION_DATE,
36     CREATED_BY,
37     LAST_UPDATE_DATE,
38     LAST_UPDATED_BY,
39     LAST_UPDATE_LOGIN,
40     ORG_ID
41   ) values (
42     X_SETUP_TASK_CODE,
43     X_WORKBENCH_ITEM_CODE,
44     X_SETUP_TASK_SEQUENCE,
45     X_SETUP_TASK_STATUS,
46     X_SETUP_TASK_TYPE,
47     X_SETUP_TASK_ACTION,
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     X_ORG_ID
55   );
56 
57   insert into CN_CW_SETUP_TASKS_ALL_TL (
58     SETUP_TASK_CODE,
59     SETUP_TASK_NAME,
60     SETUP_TASK_DESCRIPTION,
61     LAST_UPDATE_DATE,
62     LAST_UPDATED_BY,
63     LAST_UPDATE_LOGIN,
64     CREATED_BY,
65     CREATION_DATE,
66     LANGUAGE,
67     SOURCE_LANG,
68     ORG_ID
69   ) select
70     X_SETUP_TASK_CODE,
71     X_SETUP_TASK_NAME,
72     X_SETUP_TASK_DESCRIPTION,
73     X_LAST_UPDATE_DATE,
74     X_LAST_UPDATED_BY,
75     X_LAST_UPDATE_LOGIN,
76     X_CREATED_BY,
77     X_CREATION_DATE,
78     L.LANGUAGE_CODE,
79     userenv('LANG'),
80     X_ORG_ID
81   from FND_LANGUAGES L
82   where L.INSTALLED_FLAG in ('I', 'B')
83   and not exists
84     (select NULL
85     from CN_CW_SETUP_TASKS_ALL_TL T
86     where T.SETUP_TASK_CODE = X_SETUP_TASK_CODE
87     and T.ORG_ID    = X_ORG_ID
88     and T.LANGUAGE = L.LANGUAGE_CODE);
89 
90   open c;
91   fetch c into X_ROWID;
92   if (c%notfound) then
93     close c;
94     raise no_data_found;
95   end if;
96   close c;
97 
98 end INSERT_ROW;
99 
100 procedure LOCK_ROW (
101   X_SETUP_TASK_CODE in VARCHAR2,
102   X_WORKBENCH_ITEM_CODE in VARCHAR2,
103   X_SETUP_TASK_SEQUENCE in NUMBER,
104   X_SETUP_TASK_STATUS in VARCHAR2,
105   X_SETUP_TASK_TYPE in VARCHAR2,
106   X_SETUP_TASK_ACTION in VARCHAR2,
107   X_OBJECT_VERSION_NUMBER in NUMBER,
108   X_SETUP_TASK_NAME in VARCHAR2,
109   X_SETUP_TASK_DESCRIPTION in VARCHAR2,
110   X_ORG_ID  in  NUMBER
111 ) is
112   cursor c is select
113       WORKBENCH_ITEM_CODE,
114       SETUP_TASK_SEQUENCE,
115       SETUP_TASK_STATUS,
116       SETUP_TASK_TYPE,
117       SETUP_TASK_ACTION,
118       OBJECT_VERSION_NUMBER
119     from CN_CW_SETUP_TASKS_ALL_B
120     where SETUP_TASK_CODE = X_SETUP_TASK_CODE
121     and ORG_ID  = X_ORG_ID
122     for update of SETUP_TASK_CODE nowait;
123   recinfo c%rowtype;
124 
125   cursor c1 is select
126       SETUP_TASK_NAME,
127       SETUP_TASK_DESCRIPTION,
128       decode(LANGUAGE, userenv('LANG'), 'Y', 'N') BASELANG
129     from CN_CW_SETUP_TASKS_ALL_TL
130     where SETUP_TASK_CODE = X_SETUP_TASK_CODE
131     and ORG_ID  = X_ORG_ID
132     and userenv('LANG') in (LANGUAGE, SOURCE_LANG)
133     for update of SETUP_TASK_CODE nowait;
134 begin
135   open c;
136   fetch c into recinfo;
137   if (c%notfound) then
138     close c;
139     fnd_message.set_name('FND', 'FORM_RECORD_DELETED');
140     app_exception.raise_exception;
141   end if;
142   close c;
143   if (    (recinfo.WORKBENCH_ITEM_CODE = X_WORKBENCH_ITEM_CODE)
144       AND (recinfo.SETUP_TASK_SEQUENCE = X_SETUP_TASK_SEQUENCE)
145       AND (recinfo.SETUP_TASK_STATUS = X_SETUP_TASK_STATUS)
146       AND ((recinfo.SETUP_TASK_TYPE = X_SETUP_TASK_TYPE)
147            OR ((recinfo.SETUP_TASK_TYPE is null) AND (X_SETUP_TASK_TYPE is null)))
148       AND ((recinfo.SETUP_TASK_ACTION = X_SETUP_TASK_ACTION)
149            OR ((recinfo.SETUP_TASK_ACTION is null) AND (X_SETUP_TASK_ACTION is null)))
150       AND ((recinfo.OBJECT_VERSION_NUMBER = X_OBJECT_VERSION_NUMBER)
151            OR ((recinfo.OBJECT_VERSION_NUMBER is null) AND (X_OBJECT_VERSION_NUMBER is null)))
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.SETUP_TASK_NAME = X_SETUP_TASK_NAME)
162           AND (tlinfo.SETUP_TASK_DESCRIPTION = X_SETUP_TASK_DESCRIPTION)
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 if;
170   end loop;
171   return;
172 end LOCK_ROW;
173 
174 procedure UPDATE_ROW (
175   X_SETUP_TASK_CODE in VARCHAR2,
176   X_WORKBENCH_ITEM_CODE in VARCHAR2,
177   X_SETUP_TASK_SEQUENCE in NUMBER,
178   X_SETUP_TASK_STATUS in VARCHAR2,
179   X_SETUP_TASK_TYPE in VARCHAR2,
180   X_SETUP_TASK_ACTION in VARCHAR2,
181   X_OBJECT_VERSION_NUMBER in NUMBER,
182   X_SETUP_TASK_NAME in VARCHAR2,
183   X_SETUP_TASK_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   X_ORG_ID  in  NUMBER
188 ) is
189 begin
190   update CN_CW_SETUP_TASKS_ALL_B set
191     WORKBENCH_ITEM_CODE = X_WORKBENCH_ITEM_CODE,
192     SETUP_TASK_SEQUENCE = X_SETUP_TASK_SEQUENCE,
193     SETUP_TASK_STATUS = X_SETUP_TASK_STATUS,
194     SETUP_TASK_TYPE = X_SETUP_TASK_TYPE,
195     SETUP_TASK_ACTION = X_SETUP_TASK_ACTION,
196     OBJECT_VERSION_NUMBER = X_OBJECT_VERSION_NUMBER,
197     LAST_UPDATE_DATE = X_LAST_UPDATE_DATE,
198     LAST_UPDATED_BY = X_LAST_UPDATED_BY,
199     LAST_UPDATE_LOGIN = X_LAST_UPDATE_LOGIN
200   where SETUP_TASK_CODE = X_SETUP_TASK_CODE
201   and ORG_ID  = X_ORG_ID;
202 
203   if (sql%notfound) then
204     raise no_data_found;
205   end if;
206 
207   update CN_CW_SETUP_TASKS_ALL_TL set
208     SETUP_TASK_NAME = X_SETUP_TASK_NAME,
209     SETUP_TASK_DESCRIPTION = X_SETUP_TASK_DESCRIPTION,
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     SOURCE_LANG = userenv('LANG')
214   where SETUP_TASK_CODE = X_SETUP_TASK_CODE
215   and ORG_ID  = X_ORG_ID
216   and userenv('LANG') in (LANGUAGE, SOURCE_LANG);
217 
218   if (sql%notfound) then
219     raise no_data_found;
220   end if;
221 end UPDATE_ROW;
222 
223 procedure DELETE_ROW (
224   X_SETUP_TASK_CODE in VARCHAR2,
225   X_ORG_ID  in  NUMBER
226 ) is
227 begin
228   delete from CN_CW_SETUP_TASKS_ALL_TL
229   where SETUP_TASK_CODE = X_SETUP_TASK_CODE
230   and ORG_ID  = X_ORG_ID;
231 
232   if (sql%notfound) then
233     raise no_data_found;
234   end if;
238   and ORG_ID  = X_ORG_ID;
235 
236   delete from CN_CW_SETUP_TASKS_ALL_B
237   where SETUP_TASK_CODE = X_SETUP_TASK_CODE
239 
240   if (sql%notfound) then
241     raise no_data_found;
242   end if;
243 end DELETE_ROW;
244 
245 PROCEDURE TRANSLATE_ROW
246   ( X_SETUP_TASK_CODE IN VARCHAR2,
247     X_SETUP_TASK_NAME IN VARCHAR2,
248     X_SETUP_TASK_DESCRIPTION IN VARCHAR2,
249     X_OWNER IN VARCHAR2
250     ) IS
251        user_id NUMBER;
252 BEGIN
253     -- Validate input data
254    IF (X_SETUP_TASK_CODE IS NULL)
255      OR (X_SETUP_TASK_NAME IS NULL) OR (X_SETUP_TASK_DESCRIPTION IS NULL) THEN
256       GOTO end_translate_row;
257    END IF;
258 
259    IF (X_OWNER IS NOT NULL) AND (X_OWNER = 'SEED') THEN
260       user_id := 1;
261     ELSE
262       user_id := 0;
263    END IF;
264    -- Update the translation
265    UPDATE CN_CW_SETUP_TASKS_ALL_TL  SET
266    SETUP_TASK_NAME = X_SETUP_TASK_NAME,
267    SETUP_TASK_DESCRIPTION=X_SETUP_TASK_DESCRIPTION,
268    last_update_date = sysdate,
269    last_updated_by = user_id,
270    last_update_login = 0,
271    source_lang = userenv('LANG')
272    WHERE SETUP_TASK_CODE = X_SETUP_TASK_CODE
273    AND userenv('LANG') IN (LANGUAGE, SOURCE_LANG);
274 
275    << end_translate_row >>
276      NULL;
277 END TRANSLATE_ROW;
278 
279 PROCEDURE LOAD_ROW
280   ( X_SETUP_TASK_CODE IN VARCHAR2,
281     X_WORKBENCH_ITEM_CODE IN VARCHAR2,
282     X_SETUP_TASK_SEQUENCE IN NUMBER,
283     X_SETUP_TASK_STATUS IN VARCHAR2,
284     X_SETUP_TASK_TYPE IN VARCHAR2,
285     X_SETUP_TASK_ACTION IN VARCHAR2,
286     X_ORG_ID IN NUMBER,
287     X_SETUP_TASK_NAME IN VARCHAR2,
288     X_SETUP_TASK_DESCRIPTION IN VARCHAR2,
289     X_OWNER IN VARCHAR2)
290  IS
291  USER_ID NUMBER;
292  BEGIN
293    IF (X_SETUP_TASK_CODE IS NULL) OR (X_SETUP_TASK_NAME IS NULL) THEN
294        GOTO end_load_row;
295    END IF;
296    IF (X_OWNER IS NOT NULL) AND (X_OWNER = 'SEED') THEN
297       USER_ID := 1;
298     ELSE
299       USER_ID := 0;
300    END IF;
301    UPDATE CN_CW_SETUP_TASKS_ALL_B SET
302     WORKBENCH_ITEM_CODE = X_WORKBENCH_ITEM_CODE,
303     SETUP_TASK_SEQUENCE = X_SETUP_TASK_SEQUENCE,
304     SETUP_TASK_STATUS =  X_SETUP_TASK_STATUS,
305     SETUP_TASK_TYPE = X_SETUP_TASK_TYPE,
306     SETUP_TASK_ACTION = X_SETUP_TASK_ACTION,
307     LAST_UPDATE_DATE = SYSDATE,
308     LAST_UPDATED_BY = USER_ID,
309     LAST_UPDATE_LOGIN = 0
310    where SETUP_TASK_CODE = X_SETUP_TASK_CODE;
311 
312    IF (SQL%NOTFOUND)  THEN
313      -- Insert new record to _B table
314     INSERT INTO CN_CW_SETUP_TASKS_ALL_B (
315     SETUP_TASK_CODE,
316     WORKBENCH_ITEM_CODE,
317     SETUP_TASK_SEQUENCE,
318     SETUP_TASK_STATUS,
319     SETUP_TASK_TYPE,
320     SETUP_TASK_ACTION,
321     OBJECT_VERSION_NUMBER,
322     CREATION_DATE,
323     CREATED_BY,
324     LAST_UPDATE_DATE,
325     LAST_UPDATED_BY,
326     LAST_UPDATE_LOGIN,
327     ORG_ID) values (
328     X_SETUP_TASK_CODE,
329     X_WORKBENCH_ITEM_CODE,
330     X_SETUP_TASK_SEQUENCE,
331     X_SETUP_TASK_STATUS,
332     X_SETUP_TASK_TYPE,
333     X_SETUP_TASK_ACTION,
334     1,
335     SYSDATE,
336     USER_ID,
337     SYSDATE,
338     USER_ID,
339     0,
340     X_ORG_ID
341   );
342   END IF;
343 
344   UPDATE CN_CW_SETUP_TASKS_ALL_TL set
345     SETUP_TASK_NAME = X_SETUP_TASK_NAME,
346     SETUP_TASK_DESCRIPTION = X_SETUP_TASK_DESCRIPTION,
347     LAST_UPDATED_BY = USER_ID,
348     LAST_UPDATE_LOGIN = 0,
349     SOURCE_LANG = userenv('LANG')
350   where SETUP_TASK_CODE = X_SETUP_TASK_CODE
351   and userenv('LANG') in (LANGUAGE, SOURCE_LANG);
352 
353   IF (SQL%NOTFOUND) THEN
354   insert into CN_CW_SETUP_TASKS_ALL_TL (
355     SETUP_TASK_CODE,
356     SETUP_TASK_NAME,
357     SETUP_TASK_DESCRIPTION,
358     LAST_UPDATE_DATE,
359     LAST_UPDATED_BY,
360     LAST_UPDATE_LOGIN,
361     CREATED_BY,
362     CREATION_DATE,
363     LANGUAGE,
364     SOURCE_LANG,
365     ORG_ID
366   ) select
367     X_SETUP_TASK_CODE,
368     X_SETUP_TASK_NAME,
369     X_SETUP_TASK_DESCRIPTION,
370     SYSDATE,
371     USER_ID,
372     0,
373     USER_ID,
374     SYSDATE,
375     L.LANGUAGE_CODE,
376     userenv('LANG'),
377     X_ORG_ID
378   from FND_LANGUAGES L
379   where L.INSTALLED_FLAG in ('I', 'B')
383     where T.SETUP_TASK_CODE = X_SETUP_TASK_CODE
380   and not exists
381     (select NULL
382     from CN_CW_SETUP_TASKS_ALL_TL T
384     and T.LANGUAGE = L.LANGUAGE_CODE AND
385     ORG_ID=X_ORG_ID);
386   END IF;
387 
388 << end_load_row >>
389 NULL;
390 END LOAD_ROW;
391 
392 
393 procedure ADD_LANGUAGE
394 is
395 begin
396   delete from CN_CW_SETUP_TASKS_ALL_TL T
397   where not exists
398     (select NULL
399     from CN_CW_SETUP_TASKS_ALL_B B
400     where B.SETUP_TASK_CODE = T.SETUP_TASK_CODE
401     and B.ORG_ID  = T.ORG_ID
402     );
403 
404   update CN_CW_SETUP_TASKS_ALL_TL T set (
405       SETUP_TASK_NAME,
406       SETUP_TASK_DESCRIPTION
407     ) = (select
408       B.SETUP_TASK_NAME,
409       B.SETUP_TASK_DESCRIPTION
410     from CN_CW_SETUP_TASKS_ALL_TL B
411     where B.SETUP_TASK_CODE = T.SETUP_TASK_CODE
412     and ORG_ID  = T.ORG_ID
413     and B.LANGUAGE = T.SOURCE_LANG)
414   where (
415       T.SETUP_TASK_CODE,
416       T.ORG_ID,
417       T.LANGUAGE
418   ) in (select
419       SUBT.SETUP_TASK_CODE,
420       SUBT.ORG_ID,
421       SUBT.LANGUAGE
422     from CN_CW_SETUP_TASKS_ALL_TL SUBB, CN_CW_SETUP_TASKS_ALL_TL SUBT
423     where SUBB.SETUP_TASK_CODE = SUBT.SETUP_TASK_CODE
424     and SUBB.ORG_ID = SUBT.ORG_ID
425     and SUBB.LANGUAGE = SUBT.SOURCE_LANG
426     and (SUBB.SETUP_TASK_NAME <> SUBT.SETUP_TASK_NAME
427       or SUBB.SETUP_TASK_DESCRIPTION <> SUBT.SETUP_TASK_DESCRIPTION
428   ));
429 
430   insert into CN_CW_SETUP_TASKS_ALL_TL (
431     SETUP_TASK_CODE,
432     SETUP_TASK_NAME,
433     SETUP_TASK_DESCRIPTION,
434     LAST_UPDATE_DATE,
435     LAST_UPDATED_BY,
436     LAST_UPDATE_LOGIN,
437     CREATED_BY,
438     CREATION_DATE,
439     LANGUAGE,
440     SOURCE_LANG,
441     ORG_ID
442   ) select /*+ ORDERED */
443     B.SETUP_TASK_CODE,
444     B.SETUP_TASK_NAME,
445     B.SETUP_TASK_DESCRIPTION,
446     B.LAST_UPDATE_DATE,
447     B.LAST_UPDATED_BY,
448     B.LAST_UPDATE_LOGIN,
449     B.CREATED_BY,
450     B.CREATION_DATE,
451     L.LANGUAGE_CODE,
452     B.SOURCE_LANG,
453     B.ORG_ID
454   from CN_CW_SETUP_TASKS_ALL_TL B, FND_LANGUAGES L
455   where L.INSTALLED_FLAG in ('I', 'B')
456   and B.LANGUAGE = userenv('LANG')
457   and not exists
458     (select NULL
459     from CN_CW_SETUP_TASKS_ALL_TL T
460     where T.SETUP_TASK_CODE = B.SETUP_TASK_CODE
461       and T.ORG_ID = B.ORG_ID
462     and T.LANGUAGE = L.LANGUAGE_CODE);
463 end ADD_LANGUAGE;
464 
465 PROCEDURE LOAD_SEED_ROW (
466 x_upload_mode in varchar2,
467 x_owner  in varchar2,
468 x_setup_task_code  in varchar2,
469 x_setup_task_name  in varchar2,
470 x_setup_task_description  in varchar2,
471 x_workbench_item_code  in varchar2,
472 x_setup_task_sequence  in varchar2,
473 x_setup_task_status  in varchar2,
474 x_setup_task_type  in varchar2,
475 x_setup_task_action  in varchar2,
476 x_org_id  in varchar2
477 )
478 IS
479 BEGIN
480      if (x_upload_mode = 'NLS') then
481        cn_cw_setup_tasks_all_pkg.translate_row
482         	(x_setup_task_code,
483     	     x_setup_task_name,
484         	 x_setup_task_description,
485         	 x_owner);
486      else
487        cn_cw_setup_tasks_all_pkg.load_row
488 				(x_setup_task_code,
489 				x_workbench_item_code,
490 				to_number(x_setup_task_sequence),
491 				x_setup_task_status,
492 				x_setup_task_type,
493 				x_setup_task_action,
494 				to_number(x_org_id),
495 				x_setup_task_name,
496 				x_setup_task_description,
497 				x_owner);
498      end if;
499 END LOAD_SEED_ROW;
500 
501 
502 end CN_CW_SETUP_TASKS_ALL_PKG;