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