[Home] [Help]
PACKAGE BODY: APPS.BNE_LAYOUT_BLOCKS_PKG
Source
1 package body BNE_LAYOUT_BLOCKS_PKG as
2 /* $Header: bnelaybb.pls 120.4 2005/09/04 23:24:42 dvayro noship $ */
3
4 procedure INSERT_ROW (
5 X_ROWID in out NOCOPY VARCHAR2,
6 X_APPLICATION_ID in NUMBER,
7 X_LAYOUT_CODE in VARCHAR2,
8 X_BLOCK_ID in NUMBER,
9 X_OBJECT_VERSION_NUMBER in NUMBER,
10 X_PARENT_ID in NUMBER,
11 X_LAYOUT_ELEMENT in VARCHAR2,
12 X_STYLE_CLASS in VARCHAR2,
13 X_STYLE in VARCHAR2,
14 X_ROW_STYLE_CLASS in VARCHAR2,
15 X_ROW_STYLE in VARCHAR2,
16 X_COL_STYLE_CLASS in VARCHAR2,
17 X_COL_STYLE in VARCHAR2,
18 X_PROMPT_DISPLAYED_FLAG in VARCHAR2,
19 X_PROMPT_STYLE_CLASS in VARCHAR2,
20 X_PROMPT_STYLE in VARCHAR2,
21 X_HINT_DISPLAYED_FLAG in VARCHAR2,
22 X_HINT_STYLE_CLASS in VARCHAR2,
23 X_HINT_STYLE in VARCHAR2,
24 X_ORIENTATION in VARCHAR2,
25 X_LAYOUT_CONTROL in VARCHAR2,
26 X_DISPLAY_FLAG in VARCHAR2,
27 X_BLOCKSIZE in NUMBER,
28 X_MINSIZE in NUMBER,
29 X_MAXSIZE in NUMBER,
30 X_SEQUENCE_NUM in NUMBER,
31 X_PROMPT_COLSPAN in NUMBER,
32 X_HINT_COLSPAN in NUMBER,
33 X_ROW_COLSPAN in NUMBER,
34 X_SUMMARY_STYLE_CLASS in VARCHAR2,
35 X_SUMMARY_STYLE in VARCHAR2,
36 X_USER_NAME in VARCHAR2,
37 X_CREATION_DATE in DATE,
38 X_CREATED_BY in NUMBER,
39 X_LAST_UPDATE_DATE in DATE,
40 X_LAST_UPDATED_BY in NUMBER,
41 X_LAST_UPDATE_LOGIN in NUMBER,
42 X_PROMPT_ABOVE in VARCHAR2,
43 X_TITLE_STYLE_CLASS in VARCHAR2,
44 X_TITLE_STYLE in VARCHAR2
45 ) is
46 cursor C is select ROWID from BNE_LAYOUT_BLOCKS_B
47 where APPLICATION_ID = X_APPLICATION_ID
48 and LAYOUT_CODE = X_LAYOUT_CODE
49 and BLOCK_ID = X_BLOCK_ID
50 ;
51 begin
52 insert into BNE_LAYOUT_BLOCKS_B (
53 APPLICATION_ID,
54 LAYOUT_CODE,
55 BLOCK_ID,
56 OBJECT_VERSION_NUMBER,
57 PARENT_ID,
58 LAYOUT_ELEMENT,
59 STYLE_CLASS,
60 STYLE,
61 ROW_STYLE_CLASS,
62 ROW_STYLE,
63 COL_STYLE_CLASS,
64 COL_STYLE,
65 PROMPT_DISPLAYED_FLAG,
66 PROMPT_STYLE_CLASS,
67 PROMPT_STYLE,
68 HINT_DISPLAYED_FLAG,
69 HINT_STYLE_CLASS,
70 HINT_STYLE,
71 ORIENTATION,
72 LAYOUT_CONTROL,
73 DISPLAY_FLAG,
74 BLOCKSIZE,
75 MINSIZE,
76 MAXSIZE,
77 SEQUENCE_NUM,
78 PROMPT_COLSPAN,
79 HINT_COLSPAN,
80 ROW_COLSPAN,
81 SUMMARY_STYLE_CLASS,
82 SUMMARY_STYLE,
83 TITLE_STYLE_CLASS,
84 TITLE_STYLE,
85 CREATION_DATE,
86 CREATED_BY,
87 LAST_UPDATE_DATE,
88 LAST_UPDATED_BY,
89 LAST_UPDATE_LOGIN
90 ) values (
91 X_APPLICATION_ID,
92 X_LAYOUT_CODE,
93 X_BLOCK_ID,
94 X_OBJECT_VERSION_NUMBER,
95 X_PARENT_ID,
96 X_LAYOUT_ELEMENT,
97 X_STYLE_CLASS,
98 X_STYLE,
99 X_ROW_STYLE_CLASS,
100 X_ROW_STYLE,
101 X_COL_STYLE_CLASS,
102 X_COL_STYLE,
103 X_PROMPT_DISPLAYED_FLAG,
104 X_PROMPT_STYLE_CLASS,
105 X_PROMPT_STYLE,
106 X_HINT_DISPLAYED_FLAG,
107 X_HINT_STYLE_CLASS,
108 X_HINT_STYLE,
109 X_ORIENTATION,
110 X_LAYOUT_CONTROL,
111 X_DISPLAY_FLAG,
112 X_BLOCKSIZE,
113 X_MINSIZE,
114 X_MAXSIZE,
115 X_SEQUENCE_NUM,
116 X_PROMPT_COLSPAN,
117 X_HINT_COLSPAN,
118 X_ROW_COLSPAN,
119 X_SUMMARY_STYLE_CLASS,
120 X_SUMMARY_STYLE,
121 X_TITLE_STYLE_CLASS,
122 X_TITLE_STYLE,
123 X_CREATION_DATE,
124 X_CREATED_BY,
125 X_LAST_UPDATE_DATE,
126 X_LAST_UPDATED_BY,
127 X_LAST_UPDATE_LOGIN
128 );
129
130 insert into BNE_LAYOUT_BLOCKS_TL (
131 APPLICATION_ID,
132 LAYOUT_CODE,
133 BLOCK_ID,
134 USER_NAME,
135 PROMPT_ABOVE,
136 CREATED_BY,
137 CREATION_DATE,
138 LAST_UPDATED_BY,
139 LAST_UPDATE_LOGIN,
140 LAST_UPDATE_DATE,
141 LANGUAGE,
142 SOURCE_LANG
143 ) select
144 X_APPLICATION_ID,
145 X_LAYOUT_CODE,
146 X_BLOCK_ID,
147 X_USER_NAME,
148 X_PROMPT_ABOVE,
149 X_CREATED_BY,
150 X_CREATION_DATE,
151 X_LAST_UPDATED_BY,
152 X_LAST_UPDATE_LOGIN,
153 X_LAST_UPDATE_DATE,
154 L.LANGUAGE_CODE,
155 userenv('LANG')
156 from FND_LANGUAGES L
157 where L.INSTALLED_FLAG in ('I', 'B')
158 and not exists
159 (select NULL
160 from BNE_LAYOUT_BLOCKS_TL T
161 where T.APPLICATION_ID = X_APPLICATION_ID
162 and T.LAYOUT_CODE = X_LAYOUT_CODE
163 and T.BLOCK_ID = X_BLOCK_ID
164 and T.LANGUAGE = L.LANGUAGE_CODE);
165
166 open c;
167 fetch c into X_ROWID;
168 if (c%notfound) then
169 close c;
170 raise no_data_found;
171 end if;
172 close c;
173
174 end INSERT_ROW;
175
176 procedure LOCK_ROW (
177 X_APPLICATION_ID in NUMBER,
178 X_LAYOUT_CODE in VARCHAR2,
179 X_BLOCK_ID in NUMBER,
180 X_OBJECT_VERSION_NUMBER in NUMBER,
181 X_PARENT_ID in NUMBER,
182 X_LAYOUT_ELEMENT in VARCHAR2,
183 X_STYLE_CLASS in VARCHAR2,
184 X_STYLE in VARCHAR2,
185 X_ROW_STYLE_CLASS in VARCHAR2,
186 X_ROW_STYLE in VARCHAR2,
187 X_COL_STYLE_CLASS in VARCHAR2,
188 X_COL_STYLE in VARCHAR2,
189 X_PROMPT_DISPLAYED_FLAG in VARCHAR2,
190 X_PROMPT_STYLE_CLASS in VARCHAR2,
191 X_PROMPT_STYLE in VARCHAR2,
192 X_HINT_DISPLAYED_FLAG in VARCHAR2,
193 X_HINT_STYLE_CLASS in VARCHAR2,
194 X_HINT_STYLE in VARCHAR2,
195 X_ORIENTATION in VARCHAR2,
196 X_LAYOUT_CONTROL in VARCHAR2,
197 X_DISPLAY_FLAG in VARCHAR2,
198 X_BLOCKSIZE in NUMBER,
199 X_MINSIZE in NUMBER,
200 X_MAXSIZE in NUMBER,
201 X_SEQUENCE_NUM in NUMBER,
202 X_PROMPT_COLSPAN in NUMBER,
203 X_HINT_COLSPAN in NUMBER,
204 X_ROW_COLSPAN in NUMBER,
205 X_SUMMARY_STYLE_CLASS in VARCHAR2,
206 X_SUMMARY_STYLE in VARCHAR2,
207 X_USER_NAME in VARCHAR2,
208 X_PROMPT_ABOVE in VARCHAR2,
209 X_TITLE_STYLE_CLASS in VARCHAR2,
210 X_TITLE_STYLE in VARCHAR2
211 ) is
212 cursor c is select
213 OBJECT_VERSION_NUMBER,
214 PARENT_ID,
215 LAYOUT_ELEMENT,
216 STYLE_CLASS,
217 STYLE,
218 ROW_STYLE_CLASS,
219 ROW_STYLE,
220 COL_STYLE_CLASS,
221 COL_STYLE,
222 PROMPT_DISPLAYED_FLAG,
223 PROMPT_STYLE_CLASS,
224 PROMPT_STYLE,
225 HINT_DISPLAYED_FLAG,
226 HINT_STYLE_CLASS,
227 HINT_STYLE,
228 ORIENTATION,
229 LAYOUT_CONTROL,
230 DISPLAY_FLAG,
231 BLOCKSIZE,
232 MINSIZE,
233 MAXSIZE,
234 SEQUENCE_NUM,
235 PROMPT_COLSPAN,
236 HINT_COLSPAN,
237 ROW_COLSPAN,
238 SUMMARY_STYLE_CLASS,
239 SUMMARY_STYLE,
240 TITLE_STYLE_CLASS,
241 TITLE_STYLE
242 from BNE_LAYOUT_BLOCKS_B
243 where APPLICATION_ID = X_APPLICATION_ID
244 and LAYOUT_CODE = X_LAYOUT_CODE
245 and BLOCK_ID = X_BLOCK_ID
246 for update of APPLICATION_ID nowait;
247 recinfo c%rowtype;
248
249 cursor c1 is select
250 USER_NAME,
251 decode(LANGUAGE, userenv('LANG'), 'Y', 'N') BASELANG
252 from BNE_LAYOUT_BLOCKS_TL
253 where APPLICATION_ID = X_APPLICATION_ID
254 and LAYOUT_CODE = X_LAYOUT_CODE
255 and BLOCK_ID = X_BLOCK_ID
256 and userenv('LANG') in (LANGUAGE, SOURCE_LANG)
257 for update of APPLICATION_ID nowait;
258 begin
259 open c;
260 fetch c into recinfo;
261 if (c%notfound) then
262 close c;
263 fnd_message.set_name('FND', 'FORM_RECORD_DELETED');
264 app_exception.raise_exception;
265 end if;
266 close c;
267 if ( (recinfo.OBJECT_VERSION_NUMBER = X_OBJECT_VERSION_NUMBER)
268 AND ((recinfo.PARENT_ID = X_PARENT_ID)
269 OR ((recinfo.PARENT_ID is null) AND (X_PARENT_ID is null)))
270 AND (recinfo.LAYOUT_ELEMENT = X_LAYOUT_ELEMENT)
271 AND ((recinfo.STYLE_CLASS = X_STYLE_CLASS)
272 OR ((recinfo.STYLE_CLASS is null) AND (X_STYLE_CLASS is null)))
273 AND ((recinfo.STYLE = X_STYLE)
274 OR ((recinfo.STYLE is null) AND (X_STYLE is null)))
275 AND ((recinfo.ROW_STYLE_CLASS = X_ROW_STYLE_CLASS)
276 OR ((recinfo.ROW_STYLE_CLASS is null) AND (X_ROW_STYLE_CLASS is null)))
277 AND ((recinfo.ROW_STYLE = X_ROW_STYLE)
278 OR ((recinfo.ROW_STYLE is null) AND (X_ROW_STYLE is null)))
279 AND ((recinfo.COL_STYLE_CLASS = X_COL_STYLE_CLASS)
280 OR ((recinfo.COL_STYLE_CLASS is null) AND (X_COL_STYLE_CLASS is null)))
281 AND ((recinfo.COL_STYLE = X_COL_STYLE)
282 OR ((recinfo.COL_STYLE is null) AND (X_COL_STYLE is null)))
283 AND (recinfo.PROMPT_DISPLAYED_FLAG = X_PROMPT_DISPLAYED_FLAG)
284 AND ((recinfo.PROMPT_STYLE_CLASS = X_PROMPT_STYLE_CLASS)
285 OR ((recinfo.PROMPT_STYLE_CLASS is null) AND (X_PROMPT_STYLE_CLASS is null)))
286 AND ((recinfo.PROMPT_STYLE = X_PROMPT_STYLE)
287 OR ((recinfo.PROMPT_STYLE is null) AND (X_PROMPT_STYLE is null)))
288 AND (recinfo.HINT_DISPLAYED_FLAG = X_HINT_DISPLAYED_FLAG)
289 AND ((recinfo.HINT_STYLE_CLASS = X_HINT_STYLE_CLASS)
290 OR ((recinfo.HINT_STYLE_CLASS is null) AND (X_HINT_STYLE_CLASS is null)))
291 AND ((recinfo.HINT_STYLE = X_HINT_STYLE)
292 OR ((recinfo.HINT_STYLE is null) AND (X_HINT_STYLE is null)))
293 AND (recinfo.ORIENTATION = X_ORIENTATION)
294 AND (recinfo.LAYOUT_CONTROL = X_LAYOUT_CONTROL)
295 AND (recinfo.DISPLAY_FLAG = X_DISPLAY_FLAG)
296 AND (recinfo.BLOCKSIZE = X_BLOCKSIZE)
297 AND (recinfo.MINSIZE = X_MINSIZE)
298 AND (recinfo.MAXSIZE = X_MAXSIZE)
299 AND (recinfo.SEQUENCE_NUM = X_SEQUENCE_NUM)
300 AND ((recinfo.PROMPT_COLSPAN = X_PROMPT_COLSPAN)
301 OR ((recinfo.PROMPT_COLSPAN is null) AND (X_PROMPT_COLSPAN is null)))
302 AND ((recinfo.HINT_COLSPAN = X_HINT_COLSPAN)
303 OR ((recinfo.HINT_COLSPAN is null) AND (X_HINT_COLSPAN is null)))
304 AND ((recinfo.ROW_COLSPAN = X_ROW_COLSPAN)
305 OR ((recinfo.ROW_COLSPAN is null) AND (X_ROW_COLSPAN is null)))
306 AND ((recinfo.SUMMARY_STYLE_CLASS = X_SUMMARY_STYLE_CLASS)
307 OR ((recinfo.SUMMARY_STYLE_CLASS is null) AND (X_SUMMARY_STYLE_CLASS is null)))
308 AND ((recinfo.SUMMARY_STYLE = X_SUMMARY_STYLE)
309 OR ((recinfo.SUMMARY_STYLE is null) AND (X_SUMMARY_STYLE is null)))
310 AND ((recinfo.TITLE_STYLE_CLASS = X_TITLE_STYLE_CLASS)
311 OR ((recinfo.TITLE_STYLE_CLASS is null) AND (X_TITLE_STYLE_CLASS is null)))
312 AND ((recinfo.TITLE_STYLE = X_TITLE_STYLE)
313 OR ((recinfo.TITLE_STYLE is null) AND (X_TITLE_STYLE is null)))
314 ) then
315 null;
316 else
317 fnd_message.set_name('FND', 'FORM_RECORD_CHANGED');
318 app_exception.raise_exception;
319 end if;
320
321 for tlinfo in c1 loop
322 if (tlinfo.BASELANG = 'Y') then
323 if ( (tlinfo.USER_NAME = X_USER_NAME)
324 ) then
325 null;
326 else
327 fnd_message.set_name('FND', 'FORM_RECORD_CHANGED');
328 app_exception.raise_exception;
329 end if;
330 end if;
331 end loop;
332 return;
333 end LOCK_ROW;
334
335 procedure UPDATE_ROW (
336 X_APPLICATION_ID in NUMBER,
337 X_LAYOUT_CODE in VARCHAR2,
338 X_BLOCK_ID in NUMBER,
339 X_OBJECT_VERSION_NUMBER in NUMBER,
340 X_PARENT_ID in NUMBER,
341 X_LAYOUT_ELEMENT in VARCHAR2,
342 X_STYLE_CLASS in VARCHAR2,
343 X_STYLE in VARCHAR2,
344 X_ROW_STYLE_CLASS in VARCHAR2,
345 X_ROW_STYLE in VARCHAR2,
346 X_COL_STYLE_CLASS in VARCHAR2,
347 X_COL_STYLE in VARCHAR2,
348 X_PROMPT_DISPLAYED_FLAG in VARCHAR2,
349 X_PROMPT_STYLE_CLASS in VARCHAR2,
350 X_PROMPT_STYLE in VARCHAR2,
351 X_HINT_DISPLAYED_FLAG in VARCHAR2,
352 X_HINT_STYLE_CLASS in VARCHAR2,
353 X_HINT_STYLE in VARCHAR2,
354 X_ORIENTATION in VARCHAR2,
355 X_LAYOUT_CONTROL in VARCHAR2,
356 X_DISPLAY_FLAG in VARCHAR2,
357 X_BLOCKSIZE in NUMBER,
358 X_MINSIZE in NUMBER,
359 X_MAXSIZE in NUMBER,
360 X_SEQUENCE_NUM in NUMBER,
361 X_PROMPT_COLSPAN in NUMBER,
362 X_HINT_COLSPAN in NUMBER,
363 X_ROW_COLSPAN in NUMBER,
364 X_SUMMARY_STYLE_CLASS in VARCHAR2,
365 X_SUMMARY_STYLE in VARCHAR2,
366 X_USER_NAME in VARCHAR2,
367 X_LAST_UPDATE_DATE in DATE,
368 X_LAST_UPDATED_BY in NUMBER,
369 X_LAST_UPDATE_LOGIN in NUMBER,
370 X_PROMPT_ABOVE in VARCHAR2,
371 X_TITLE_STYLE_CLASS in VARCHAR2,
372 X_TITLE_STYLE in VARCHAR2
373 ) is
374 begin
375 update BNE_LAYOUT_BLOCKS_B set
376 OBJECT_VERSION_NUMBER = X_OBJECT_VERSION_NUMBER,
377 PARENT_ID = X_PARENT_ID,
378 LAYOUT_ELEMENT = X_LAYOUT_ELEMENT,
379 STYLE_CLASS = X_STYLE_CLASS,
380 STYLE = X_STYLE,
381 ROW_STYLE_CLASS = X_ROW_STYLE_CLASS,
382 ROW_STYLE = X_ROW_STYLE,
383 COL_STYLE_CLASS = X_COL_STYLE_CLASS,
384 COL_STYLE = X_COL_STYLE,
385 PROMPT_DISPLAYED_FLAG = X_PROMPT_DISPLAYED_FLAG,
386 PROMPT_STYLE_CLASS = X_PROMPT_STYLE_CLASS,
387 PROMPT_STYLE = X_PROMPT_STYLE,
388 HINT_DISPLAYED_FLAG = X_HINT_DISPLAYED_FLAG,
389 HINT_STYLE_CLASS = X_HINT_STYLE_CLASS,
390 HINT_STYLE = X_HINT_STYLE,
391 ORIENTATION = X_ORIENTATION,
392 LAYOUT_CONTROL = X_LAYOUT_CONTROL,
393 DISPLAY_FLAG = X_DISPLAY_FLAG,
394 BLOCKSIZE = X_BLOCKSIZE,
395 MINSIZE = X_MINSIZE,
396 MAXSIZE = X_MAXSIZE,
397 SEQUENCE_NUM = X_SEQUENCE_NUM,
398 PROMPT_COLSPAN = X_PROMPT_COLSPAN,
399 HINT_COLSPAN = X_HINT_COLSPAN,
400 ROW_COLSPAN = X_ROW_COLSPAN,
401 SUMMARY_STYLE_CLASS = X_SUMMARY_STYLE_CLASS,
402 SUMMARY_STYLE = X_SUMMARY_STYLE,
403 TITLE_STYLE_CLASS = X_TITLE_STYLE_CLASS,
404 TITLE_STYLE = X_TITLE_STYLE,
405 LAST_UPDATE_DATE = X_LAST_UPDATE_DATE,
406 LAST_UPDATED_BY = X_LAST_UPDATED_BY,
407 LAST_UPDATE_LOGIN = X_LAST_UPDATE_LOGIN
408 where APPLICATION_ID = X_APPLICATION_ID
409 and LAYOUT_CODE = X_LAYOUT_CODE
410 and BLOCK_ID = X_BLOCK_ID;
411
412 if (sql%notfound) then
413 raise no_data_found;
414 end if;
415
416 update BNE_LAYOUT_BLOCKS_TL set
417 USER_NAME = X_USER_NAME,
418 PROMPT_ABOVE = X_PROMPT_ABOVE,
419 LAST_UPDATE_DATE = X_LAST_UPDATE_DATE,
420 LAST_UPDATED_BY = X_LAST_UPDATED_BY,
421 LAST_UPDATE_LOGIN = X_LAST_UPDATE_LOGIN,
422 SOURCE_LANG = userenv('LANG')
423 where APPLICATION_ID = X_APPLICATION_ID
424 and LAYOUT_CODE = X_LAYOUT_CODE
425 and BLOCK_ID = X_BLOCK_ID
426 and userenv('LANG') in (LANGUAGE, SOURCE_LANG);
427
428 if (sql%notfound) then
429 raise no_data_found;
430 end if;
431 end UPDATE_ROW;
432
433 procedure DELETE_ROW (
434 X_APPLICATION_ID in NUMBER,
435 X_LAYOUT_CODE in VARCHAR2,
436 X_BLOCK_ID in NUMBER
437 ) is
438 begin
439 delete from BNE_LAYOUT_BLOCKS_TL
440 where APPLICATION_ID = X_APPLICATION_ID
441 and LAYOUT_CODE = X_LAYOUT_CODE
442 and BLOCK_ID = X_BLOCK_ID;
443
444 if (sql%notfound) then
445 raise no_data_found;
446 end if;
447
448 delete from BNE_LAYOUT_BLOCKS_B
449 where APPLICATION_ID = X_APPLICATION_ID
450 and LAYOUT_CODE = X_LAYOUT_CODE
451 and BLOCK_ID = X_BLOCK_ID;
452
453 if (sql%notfound) then
454 raise no_data_found;
455 end if;
456 end DELETE_ROW;
457
458 procedure ADD_LANGUAGE
459 is
460 begin
464 from BNE_LAYOUT_BLOCKS_B B
461 delete from BNE_LAYOUT_BLOCKS_TL T
462 where not exists
463 (select NULL
465 where B.APPLICATION_ID = T.APPLICATION_ID
466 and B.LAYOUT_CODE = T.LAYOUT_CODE
467 and B.BLOCK_ID = T.BLOCK_ID
468 );
469
470 update BNE_LAYOUT_BLOCKS_TL T set (
471 USER_NAME
472 ) = (select
473 B.USER_NAME
474 from BNE_LAYOUT_BLOCKS_TL B
475 where B.APPLICATION_ID = T.APPLICATION_ID
476 and B.LAYOUT_CODE = T.LAYOUT_CODE
477 and B.BLOCK_ID = T.BLOCK_ID
478 and B.LANGUAGE = T.SOURCE_LANG)
479 where (
480 T.APPLICATION_ID,
481 T.LAYOUT_CODE,
482 T.BLOCK_ID,
483 T.LANGUAGE
484 ) in (select
485 SUBT.APPLICATION_ID,
486 SUBT.LAYOUT_CODE,
487 SUBT.BLOCK_ID,
488 SUBT.LANGUAGE
489 from BNE_LAYOUT_BLOCKS_TL SUBB, BNE_LAYOUT_BLOCKS_TL SUBT
490 where SUBB.APPLICATION_ID = SUBT.APPLICATION_ID
491 and SUBB.LAYOUT_CODE = SUBT.LAYOUT_CODE
492 and SUBB.BLOCK_ID = SUBT.BLOCK_ID
493 and SUBB.LANGUAGE = SUBT.SOURCE_LANG
494 and (SUBB.USER_NAME <> SUBT.USER_NAME
495 ));
496
497 insert into BNE_LAYOUT_BLOCKS_TL (
498 APPLICATION_ID,
499 LAYOUT_CODE,
500 BLOCK_ID,
501 USER_NAME,
502 CREATED_BY,
503 CREATION_DATE,
504 LAST_UPDATED_BY,
505 LAST_UPDATE_LOGIN,
506 LAST_UPDATE_DATE,
507 LANGUAGE,
508 SOURCE_LANG
509 ) select
510 B.APPLICATION_ID,
511 B.LAYOUT_CODE,
512 B.BLOCK_ID,
513 B.USER_NAME,
514 B.CREATED_BY,
515 B.CREATION_DATE,
516 B.LAST_UPDATED_BY,
517 B.LAST_UPDATE_LOGIN,
518 B.LAST_UPDATE_DATE,
519 L.LANGUAGE_CODE,
520 B.SOURCE_LANG
521 from BNE_LAYOUT_BLOCKS_TL B, FND_LANGUAGES L
522 where L.INSTALLED_FLAG in ('I', 'B')
523 and B.LANGUAGE = userenv('LANG')
524 and not exists
525 (select NULL
526 from BNE_LAYOUT_BLOCKS_TL T
527 where T.APPLICATION_ID = B.APPLICATION_ID
528 and T.LAYOUT_CODE = B.LAYOUT_CODE
529 and T.BLOCK_ID = B.BLOCK_ID
530 and T.LANGUAGE = L.LANGUAGE_CODE);
531 end ADD_LANGUAGE;
532
533 --------------------------------------------------------------------------------
534 -- PROCEDURE: TRANSLATE_ROW --
535 -- --
536 -- DESCRIPTION: Load a translation into the BNE_LAYOUT_BLOCKS entity. --
537 -- This proc is called from the apps loader. --
538 -- --
539 -- SEE: http://www-apps.us.oracle.com/atg/plans/r115/fndloadqr.txt --
540 -- --
541 -- --
542 -- MODIFICATION HISTORY --
543 -- Date Username Description --
544 -- 1-Oct-02 DGROVES CREATED --
545 --------------------------------------------------------------------------------
546 procedure TRANSLATE_ROW(
547 x_layout_asn in VARCHAR2,
548 x_layout_code in VARCHAR2,
549 x_block_id in VARCHAR2,
550 x_user_name in VARCHAR2,
551 x_owner in VARCHAR2,
552 x_last_update_date in VARCHAR2,
553 x_custom_mode in VARCHAR2,
554 x_prompt_above in VARCHAR2
555 )
556 is
557 l_app_id number;
558 f_luby number; -- entity owner in file
559 f_ludate date; -- entity update date in file
560 db_luby number; -- entity owner in db
561 db_ludate date; -- entity update date in db
562 begin
563 -- translate values to IDs
564 l_app_id := BNE_LCT_TOOLS_PKG.ASN_TO_APP_ID(x_layout_asn);
565
566 -- Translate owner to file_last_updated_by
567 f_luby := fnd_load_util.owner_id(x_owner);
568
569 -- Translate char last_update_date to date
570 f_ludate := nvl(to_date(x_last_update_date, 'YYYY/MM/DD'), sysdate);
571 begin
572 select LAST_UPDATED_BY, LAST_UPDATE_DATE
573 into db_luby, db_ludate
574 from BNE_LAYOUT_BLOCKS_TL
575 where APPLICATION_ID = l_app_id
576 and LAYOUT_CODE = x_layout_code
577 and BLOCK_ID = x_block_id
578 and LANGUAGE = userenv('LANG');
579
580 -- Test for customization and version
581 if (fnd_load_util.upload_test(f_luby, f_ludate, db_luby,
582 db_ludate, x_custom_mode)) then
583
584 update BNE_LAYOUT_BLOCKS_TL
585 set USER_NAME = x_user_name,
586 PROMPT_ABOVE = x_prompt_above,
587 LAST_UPDATE_DATE = f_ludate,
588 LAST_UPDATED_BY = f_luby,
589 LAST_UPDATE_LOGIN = 0,
590 SOURCE_LANG = userenv('LANG')
591 where APPLICATION_ID = l_app_id
592 AND LAYOUT_CODE = x_layout_code
593 AND BLOCK_ID = x_block_id
594 AND userenv('LANG') in (LANGUAGE, SOURCE_LANG)
595 ;
596 end if;
597 exception
601 end;
598 when no_data_found then
599 -- Do not insert missing translations, skip this row
600 null;
602 end TRANSLATE_ROW;
603
604
605 --------------------------------------------------------------------------------
606 -- PROCEDURE: LOAD_ROW --
607 -- --
608 -- DESCRIPTION: Load a row into the BNE_LAYOUT_BLOCKS entity. --
609 -- This proc is called from the apps loader. --
610 -- --
611 -- SEE: http://www-apps.us.oracle.com/atg/plans/r115/fndloadqr.txt --
612 -- --
613 -- --
614 -- MODIFICATION HISTORY --
615 -- Date Username Description --
616 -- 1-Oct-02 DGROVES CREATED --
617 --------------------------------------------------------------------------------
618 procedure LOAD_ROW(
619 x_layout_asn in VARCHAR2,
620 x_layout_code in VARCHAR2,
621 x_block_id in VARCHAR2,
622 x_object_version_number in VARCHAR2,
623 x_parent_id in VARCHAR2,
624 x_layout_element in VARCHAR2,
625 x_style_class in VARCHAR2,
626 x_style in VARCHAR2,
627 x_row_style_class in VARCHAR2,
628 x_row_style in VARCHAR2,
629 x_col_style_class in VARCHAR2,
630 x_col_style in VARCHAR2,
631 x_prompt_displayed_flag in VARCHAR2,
632 x_prompt_style_class in VARCHAR2,
633 x_prompt_style in VARCHAR2,
634 x_hint_displayed_flag in VARCHAR2,
635 x_hint_style_class in VARCHAR2,
636 x_hint_style in VARCHAR2,
637 x_orientation in VARCHAR2,
638 x_layout_control in VARCHAR2,
639 x_display_flag in VARCHAR2,
640 x_blocksize in VARCHAR2,
641 x_minsize in VARCHAR2,
642 x_maxsize in VARCHAR2,
643 x_sequence_num in VARCHAR2,
644 x_prompt_colspan in VARCHAR2,
645 x_hint_colspan in VARCHAR2,
646 x_row_colspan in VARCHAR2,
647 x_summary_style_class in VARCHAR2,
648 x_summary_style in VARCHAR2,
649 x_user_name in VARCHAR2,
650 x_owner in VARCHAR2,
651 x_last_update_date in VARCHAR2,
652 x_custom_mode in VARCHAR2,
653 x_prompt_above in VARCHAR2,
654 x_title_style_class in VARCHAR2,
655 x_title_style in VARCHAR2
656 )
657 is
658 l_app_id number;
659 l_row_id varchar2(64);
660 f_luby number; -- entity owner in file
661 f_ludate date; -- entity update date in file
662 db_luby number; -- entity owner in db
663 db_ludate date; -- entity update date in db
664 begin
665 -- translate values to IDs
666 l_app_id := BNE_LCT_TOOLS_PKG.ASN_TO_APP_ID(x_layout_asn);
667
668 -- Translate owner to file_last_updated_by
669 f_luby := fnd_load_util.owner_id(x_owner);
670
671 -- Translate char last_update_date to date
672 f_ludate := nvl(to_date(x_last_update_date, 'YYYY/MM/DD'), sysdate);
673 begin
674 select LAST_UPDATED_BY, LAST_UPDATE_DATE
675 into db_luby, db_ludate
676 from BNE_LAYOUT_BLOCKS_B
677 where APPLICATION_ID = l_app_id
678 and LAYOUT_CODE = x_layout_code
679 and BLOCK_ID = x_block_id;
680
681 -- Test for customization and version
682 if (fnd_load_util.upload_test(f_luby, f_ludate, db_luby,
683 db_ludate, x_custom_mode)) then
684 -- Update existing row
685 BNE_LAYOUT_BLOCKS_PKG.Update_Row(
686 X_APPLICATION_ID => l_app_id,
687 X_LAYOUT_CODE => x_layout_code,
688 X_BLOCK_ID => x_block_id,
689 X_OBJECT_VERSION_NUMBER => x_object_version_number,
690 X_PARENT_ID => x_parent_id,
691 X_LAYOUT_ELEMENT => x_layout_element,
692 X_STYLE_CLASS => x_style_class,
693 X_STYLE => x_style,
694 X_ROW_STYLE_CLASS => x_row_style_class,
695 X_ROW_STYLE => x_row_style,
696 X_COL_STYLE_CLASS => x_col_style_class,
697 X_COL_STYLE => x_col_style,
698 X_PROMPT_DISPLAYED_FLAG => x_prompt_displayed_flag,
699 X_PROMPT_STYLE_CLASS => x_prompt_style_class,
700 X_PROMPT_STYLE => x_prompt_style,
701 X_HINT_DISPLAYED_FLAG => x_hint_displayed_flag,
702 X_HINT_STYLE_CLASS => x_hint_style_class,
703 X_HINT_STYLE => x_hint_style,
704 X_ORIENTATION => x_orientation,
705 X_LAYOUT_CONTROL => x_layout_control,
706 X_DISPLAY_FLAG => x_display_flag,
707 X_BLOCKSIZE => x_blocksize,
708 X_MINSIZE => x_minsize,
709 X_MAXSIZE => x_maxsize,
710 X_SEQUENCE_NUM => x_sequence_num,
711 X_PROMPT_COLSPAN => x_prompt_colspan,
712 X_HINT_COLSPAN => x_hint_colspan,
713 X_ROW_COLSPAN => x_row_colspan,
714 X_SUMMARY_STYLE_CLASS => x_summary_style_class,
715 X_SUMMARY_STYLE => x_summary_style,
716 X_USER_NAME => x_user_name,
717 X_LAST_UPDATE_DATE => f_ludate,
718 X_LAST_UPDATED_BY => f_luby,
719 X_LAST_UPDATE_LOGIN => 0,
720 X_PROMPT_ABOVE => x_prompt_above,
721 X_TITLE_STYLE_CLASS => x_title_style_class,
722 X_TITLE_STYLE => x_title_style
723 );
724 end if;
725 exception
726 when no_data_found then
727 -- Record doesn't exist - insert in all cases
728 BNE_LAYOUT_BLOCKS_PKG.Insert_Row(
729 X_ROWID => l_row_id,
730 X_APPLICATION_ID => l_app_id,
731 X_LAYOUT_CODE => x_layout_code,
732 X_BLOCK_ID => x_block_id,
733 X_OBJECT_VERSION_NUMBER => x_object_version_number,
734 X_PARENT_ID => x_parent_id,
735 X_LAYOUT_ELEMENT => x_layout_element,
736 X_STYLE_CLASS => x_style_class,
737 X_STYLE => x_style,
738 X_ROW_STYLE_CLASS => x_row_style_class,
739 X_ROW_STYLE => x_row_style,
740 X_COL_STYLE_CLASS => x_col_style_class,
741 X_COL_STYLE => x_col_style,
742 X_PROMPT_DISPLAYED_FLAG => x_prompt_displayed_flag,
743 X_PROMPT_STYLE_CLASS => x_prompt_style_class,
744 X_PROMPT_STYLE => x_prompt_style,
745 X_HINT_DISPLAYED_FLAG => x_hint_displayed_flag,
746 X_HINT_STYLE_CLASS => x_hint_style_class,
747 X_HINT_STYLE => x_hint_style,
748 X_ORIENTATION => x_orientation,
749 X_LAYOUT_CONTROL => x_layout_control,
750 X_DISPLAY_FLAG => x_display_flag,
751 X_BLOCKSIZE => x_blocksize,
752 X_MINSIZE => x_minsize,
753 X_MAXSIZE => x_maxsize,
754 X_SEQUENCE_NUM => x_sequence_num,
755 X_PROMPT_COLSPAN => x_prompt_colspan,
756 X_HINT_COLSPAN => x_hint_colspan,
757 X_ROW_COLSPAN => x_row_colspan,
758 X_SUMMARY_STYLE_CLASS => x_summary_style_class,
759 X_SUMMARY_STYLE => x_summary_style,
760 X_USER_NAME => x_user_name,
761 X_CREATION_DATE => f_ludate,
765 X_LAST_UPDATE_LOGIN => 0,
762 X_CREATED_BY => f_luby,
763 X_LAST_UPDATE_DATE => f_ludate,
764 X_LAST_UPDATED_BY => f_luby,
766 X_PROMPT_ABOVE => x_prompt_above,
767 X_TITLE_STYLE_CLASS => x_title_style_class,
768 X_TITLE_STYLE => x_title_style
769 );
770 end;
771 end LOAD_ROW;
772
773
774 end BNE_LAYOUT_BLOCKS_PKG;