DBA Data[Home] [Help]

PACKAGE BODY: APPS.PRP_COMPONENT_STYLES_PKG

Source


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