DBA Data[Home] [Help]

PACKAGE BODY: APPS.AR_BPA_PAGE_SETUPS_PKG

Source


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