DBA Data[Home] [Help]

PACKAGE BODY: APPS.CS_SR_TYPE_CATEGORIES_PKG

Source


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