[Home] [Help]
PACKAGE BODY: APPS.HXC_LAYOUTS_UPLOAD_PKG
Source
1 PACKAGE BODY hxc_layouts_upload_pkg AS
2 /* $Header: hxculaupl.pkb 120.2 2005/09/23 09:47:53 rchennur noship $ */
3
4 glb_debug VARCHAR2(32000) := NULL;
5 l_modifier_level hxc_layouts.modifier_level%TYPE;
6 g_debug boolean :=hr_utility.debug_enabled;
7
8 -- =================================================================
9 -- == find_application_id
10 -- =================================================================
11 FUNCTION find_application_id
12 (p_application_short_name IN VARCHAR2
13 )
14 RETURN fnd_application.application_id%TYPE
15 IS
16 --
17 l_appl_id fnd_application.application_id%TYPE;
18 --
19 BEGIN
20 --
21 IF p_application_short_name IS NULL THEN
22 l_appl_id := NULL;
23 ELSE
24 SELECT application_id
25 INTO l_appl_id
26 FROM fnd_application
27 WHERE application_short_name = P_APPLICATION_SHORT_NAME;
28 END IF;
29 --
30 RETURN l_appl_id;
31 --
32 EXCEPTION
33 WHEN NO_DATA_FOUND then
34 FND_MESSAGE.SET_NAME('HXC','HXC_xxxxx_INVALID_APPL_NAME');
35 FND_MESSAGE.RAISE_ERROR;
36 END find_application_id;
37
38 -- =================================================================
39 -- == find_layout_id
40 -- =================================================================
41 FUNCTION find_layout_id
42 (p_layout_name IN VARCHAR2
43 )
44 RETURN hxc_layouts.layout_id%TYPE
45 IS
46 --
47 l_layout_id HXC_LAYOUTS.LAYOUT_ID%TYPE;
48 --
49 BEGIN
50 SELECT layout_id
51 INTO l_layout_id
52 FROM hxc_layouts
53 WHERE layout_name = p_layout_name;
54 --
55 RETURN l_layout_id;
56 --
57 EXCEPTION
58 WHEN NO_DATA_FOUND THEN
59 FND_MESSAGE.SET_NAME('HXC','HXC_xxxxx_INVALID_LAYOUT');
60 FND_MESSAGE.RAISE_ERROR;
61 END find_layout_id;
62
63 -- =================================================================
64 -- == find_component_definition_id
65 -- =================================================================
66 FUNCTION find_component_definition_id
67 (p_component_type IN VARCHAR2
68 ,p_render_type IN VARCHAR2
69 )
70 RETURN hxc_layout_comp_definitions.layout_comp_definition_id%TYPE
71 IS
72 --
73 l_layout_comp_definition_id hxc_layout_comp_definitions.layout_comp_definition_id%TYPE;
74 --
75 BEGIN
76 --
77 SELECT layout_comp_definition_id
78 INTO l_layout_comp_definition_id
79 FROM hxc_layout_comp_definitions
80 WHERE component_type = p_component_type
81 AND render_type = p_render_type;
82 --
83 RETURN l_layout_comp_definition_id;
84 --
85 EXCEPTION
86 WHEN NO_DATA_FOUND then
87 FND_MESSAGE.SET_NAME('HXC','HXC_xxxxx_INVALID_DEFINITION');
88 FND_MESSAGE.RAISE_ERROR;
89 END find_component_definition_id;
90
91 -- =================================================================
92 -- == find_component_id
93 -- =================================================================
94 FUNCTION find_component_id
95 (p_component_name IN VARCHAR2
96 ,p_layout_name IN VARCHAR2
97 )
98 RETURN hxc_layout_components.layout_component_id%TYPE
99 IS
100 --
101 l_layout_component_id hxc_layout_components.layout_component_id%TYPE;
102 --
103 BEGIN
104 --
105 IF p_component_name IS NULL THEN
106 l_layout_component_id := NULL;
107 ELSE
108 SELECT layout_component_id
109 INTO l_layout_component_id
110 FROM hxc_layout_components comp
111 ,hxc_layouts lay
112 WHERE component_name = p_component_name
113 AND comp.layout_id = lay.layout_id
114 AND lay.layout_name = p_layout_name;
115 END IF;
116 --
117 RETURN l_layout_component_id;
118 --
119 EXCEPTION
120 WHEN NO_DATA_FOUND then
121 FND_MESSAGE.SET_NAME('HXC','HXC_xxxxx_INVALID_COMPONENT');
122 FND_MESSAGE.SET_TOKEN('COMPONENT_NAME',glb_debug);
123 FND_MESSAGE.RAISE_ERROR;
124 END find_component_id;
125
126 -- =================================================================
127 -- == find_comp_qualifier_id
128 -- =================================================================
129 FUNCTION find_comp_qualifier_id
130 (p_comp_qualifier_name IN VARCHAR2
131 ,p_layout_component_id IN hxc_layout_comp_qualifiers.layout_component_id%TYPE
132 )
133 RETURN hxc_layout_comp_qualifiers.layout_comp_qualifier_id%TYPE
134 IS
135 --
136 l_layout_comp_qualifier_id hxc_layout_comp_qualifiers.layout_comp_qualifier_id%TYPE;
137 --
138 BEGIN
139 --
140 SELECT layout_comp_qualifier_id
141 INTO l_layout_comp_qualifier_id
142 FROM hxc_layout_comp_qualifiers
143 WHERE qualifier_name = p_comp_qualifier_name
144 AND layout_component_id = p_layout_component_id;
145 --
146 RETURN l_layout_comp_qualifier_id;
147 --
148 EXCEPTION
149 WHEN NO_DATA_FOUND then
150 FND_MESSAGE.SET_NAME('HXC','HXC_xxxxx_INVALID_QUALIFIER');
151 FND_MESSAGE.RAISE_ERROR;
152 END find_comp_qualifier_id;
153
154 -- =================================================================
155 -- == load_layout_row
156 -- =================================================================
157 PROCEDURE load_layout_row
158 (p_layout_name IN VARCHAR2
159 ,p_application_short_name IN VARCHAR2
160 ,p_owner IN VARCHAR2
161 ,p_display_layout_name IN VARCHAR2
162 ,p_layout_type IN VARCHAR2
163 ,p_modifier_level IN VARCHAR2 DEFAULT NULL
164 ,p_modifier_value IN VARCHAR2 DEFAULT NULL
165 ,p_top_level_region_code IN VARCHAR2 DEFAULT NULL
166 ,p_custom_mode IN VARCHAR2 DEFAULT NULL
167 )
168 IS
169 --
170 l_layout_id HXC_LAYOUTS.LAYOUT_ID%TYPE;
171 l_object_version_number HXC_LAYOUTS.OBJECT_VERSION_NUMBER%TYPE;
172 l_application_id FND_APPLICATION.APPLICATION_ID%TYPE;
173 l_dummy varchar2(3);
174
175 CURSOR C_DISPLAY_NAME(p_layout_id IN NUMBER)
176 IS
177
178 SELECT 'yes'
179 FROM dual
180 WHERE EXISTS (SELECT 'x'
181 FROM hxc_layouts_tl
182 WHERE layout_id = p_layout_id
183 and DISPLAY_LAYOUT_NAME <> P_DISPLAY_LAYOUT_NAME --added
184 AND userenv('LANG') in ( language, source_lang )
185 );
186
187 BEGIN
188 --
189 g_debug :=hr_utility.debug_enabled;
190 if g_debug then
191 hr_utility.set_location('Entering Load Layout Row ', 10);
192 end if;
193 --
194 -- Find the application id
195 --
196 l_application_id :=
197 find_application_id
198 (P_APPLICATION_SHORT_NAME => P_APPLICATION_SHORT_NAME
199 );
200 --
201 BEGIN
202 if g_debug then
203 hr_utility.set_location('In Load Layout Row ', 20);
204 end if;
205 --
206 -- check to see row exists
207 --
208 SELECT modifier_level
209 ,layout_id
210 ,object_version_number
211 INTO l_modifier_level
212 ,l_layout_id
213 ,l_object_version_number
214 FROM hxc_layouts
215 WHERE layout_name = p_layout_name
216 AND application_id = l_application_id;
217 --
218 -- Remove all components for the layout if it already exists
219 --
220 -- delete rows from HXC_LAYOUT_COMP_PROMPTS
221 DELETE FROM hxc_layout_comp_prompts
222 WHERE layout_component_id IN
223 (SELECT comp.layout_component_id
224 FROM hxc_layout_components comp
225 WHERE comp.layout_id = l_layout_id);
226 --
227 -- delete rows from HXC_LAYOUT_COMP_QUALIFIERS
228 DELETE FROM hxc_layout_comp_qualifiers cq
229 WHERE EXISTS
230 (SELECT comp.layout_component_id
231 FROM hxc_layout_components comp
232 WHERE comp.layout_id = l_layout_id
233 AND cq.layout_component_id = comp.layout_component_id);
234 --
235 -- delete rows from HXC_LAYOUT_COMPONENTS
236 DELETE FROM hxc_layout_components
237 WHERE layout_id = l_layout_id;
238 --
239 IF ( NVL(l_modifier_level, 'ZZZ') = NVL(p_modifier_level, 'ZZZ') ) THEN
240 hxc_layouts_upload_pkg.g_force_ok := TRUE;
241 ELSE
242 hxc_layouts_upload_pkg.g_force_ok := FALSE;
243 END IF;
244 ---
245 l_dummy :=NULL;
246
247 OPEN C_DISPLAY_NAME(l_layout_id);--,language, source_lang )
248 FETCH C_DISPLAY_NAME INTO l_dummy;
249 CLOSE C_DISPLAY_NAME;
250 --
251 IF ( p_custom_mode = 'FORCE' ) THEN
252 HXC_ULA_UPD.UPD
253 (P_LAYOUT_NAME => P_LAYOUT_NAME
254 ,P_APPLICATION_ID => l_application_id
255 ,P_LAYOUT_TYPE => P_LAYOUT_TYPE
256 ,P_MODIFIER_LEVEL => P_MODIFIER_LEVEL
257 ,P_MODIFIER_VALUE => P_MODIFIER_VALUE
258 ,P_TOP_LEVEL_REGION_CODE => P_TOP_LEVEL_REGION_CODE
259 ,P_LAYOUT_ID => l_layout_id
260 ,P_OBJECT_VERSION_NUMBER => l_object_version_number
261 );
262 IF ( l_dummy = 'yes') THEN
263
264 HXC_ULT_UPD.UPD_TL --added1
265 (P_LANGUAGE_CODE => userenv('LANG')
266 ,P_LAYOUT_ID => l_layout_id
267 ,P_DISPLAY_LAYOUT_NAME => P_DISPLAY_LAYOUT_NAME
268 );
269 END IF;
270 ELSE
271 IF hxc_layouts_upload_pkg.g_force_ok THEN
272 HXC_ULA_UPD.UPD
273 (P_LAYOUT_NAME => P_LAYOUT_NAME
274 ,P_APPLICATION_ID => l_application_id
275 ,P_LAYOUT_TYPE => P_LAYOUT_TYPE
276 ,P_MODIFIER_LEVEL => P_MODIFIER_LEVEL
277 ,P_MODIFIER_VALUE => P_MODIFIER_VALUE
278 ,P_TOP_LEVEL_REGION_CODE => P_TOP_LEVEL_REGION_CODE
279 ,P_LAYOUT_ID => l_layout_id
280 ,P_OBJECT_VERSION_NUMBER => l_object_version_number
281 );
282 IF ( l_dummy = 'yes') THEN
283
284 HXC_ULT_UPD.UPD_TL --added1
285 (P_LANGUAGE_CODE => userenv('LANG')
286 ,P_LAYOUT_ID => l_layout_id
287 ,P_DISPLAY_LAYOUT_NAME => P_DISPLAY_LAYOUT_NAME
288 );
289 END IF;
290 END IF; -- ( l_modifier_level = p_modifier_level )
291 END IF; -- ( p_custom_mode = 'FORCE' )
292 EXCEPTION WHEN NO_DATA_FOUND THEN
293 HXC_ULA_INS.INS
294 (P_LAYOUT_NAME => P_LAYOUT_NAME
295 ,P_APPLICATION_ID => l_application_id
296 ,P_LAYOUT_TYPE => P_LAYOUT_TYPE
297 ,P_MODIFIER_LEVEL => P_MODIFIER_LEVEL
298 ,P_MODIFIER_VALUE => P_MODIFIER_VALUE
299 ,P_TOP_LEVEL_REGION_CODE => P_TOP_LEVEL_REGION_CODE
300 ,P_LAYOUT_ID => l_layout_id
301 ,P_OBJECT_VERSION_NUMBER => l_object_version_number
302 ,P_DISPLAY_LAYOUT_NAME => p_display_layout_name
303 );
304 END;
305 END LOAD_LAYOUT_ROW;
306
307 -- =================================================================
308 -- == translate_layout_row
309 -- =================================================================
310 PROCEDURE TRANSLATE_LAYOUT_ROW
311 (P_APPLICATION_SHORT_NAME IN VARCHAR2
312 ,P_LAYOUT_NAME in VARCHAR2
313 ,P_OWNER in VARCHAR2
314 ,P_DISPLAY_LAYOUT_NAME in VARCHAR2
315 ,P_CUSTOM_MODE IN VARCHAR2
316 )
317 IS
318 --
319 l_layout_id HXC_LAYOUTS.LAYOUT_ID%TYPE;
320 l_dummy varchar2(3);
321 --
322 BEGIN
323 --
324 -- Find the Layout id
325 --
326 l_layout_id :=
327 find_layout_id
328 (P_LAYOUT_NAME => P_LAYOUT_NAME
329 );
330 --
331 BEGIN
332 -- see if there is a TL row to update
333 SELECT 'yes'
334 INTO l_dummy
335 FROM dual
336 WHERE EXISTS (SELECT 'x'
337 FROM hxc_layouts_tl
338 WHERE layout_id = l_layout_id
339 and DISPLAY_LAYOUT_NAME <> P_DISPLAY_LAYOUT_NAME --added
340 AND userenv('LANG') in ( language, source_lang )
341 );
342 --
343 IF (( p_custom_mode = 'FORCE' ) or (l_dummy ='yes')) THEN
344 HXC_ULT_UPD.UPD_TL
345 (P_LANGUAGE_CODE => userenv('LANG')
346 ,P_LAYOUT_ID => l_layout_id
347 ,P_DISPLAY_LAYOUT_NAME => P_DISPLAY_LAYOUT_NAME
348 );
349 END IF;
350 EXCEPTION WHEN NO_DATA_FOUND THEN
351 --
352 -- Call the _TL row handler to insert the record
353 --
354 HXC_ULT_INS.INS_TL
355 (P_LANGUAGE_CODE => userenv('LANG')
356 ,P_LAYOUT_ID => l_layout_id
357 ,P_DISPLAY_LAYOUT_NAME => P_DISPLAY_LAYOUT_NAME
358 );
359 END;
360 END TRANSLATE_LAYOUT_ROW;
361
362 -- =================================================================
363 -- == load_definition_row
364 -- =================================================================
365 PROCEDURE LOAD_DEFINITION_ROW
366 (P_COMPONENT_TYPE IN VARCHAR2
367 ,P_OWNER IN VARCHAR2
368 ,P_COMPONENT_CLASS IN VARCHAR2
369 ,P_RENDER_TYPE IN VARCHAR2
370 ,P_CUSTOM_MODE IN VARCHAR2
371 )
372 IS
373 --
374 CURSOR C_COMP_DEF IS
375 SELECT layout_comp_definition_id
376 ,object_version_number
377 FROM hxc_layout_comp_definitions
378 WHERE component_type = p_component_type
379 AND render_type = p_render_type;
380
381
382 CURSOR C_FORCE_OK (p_layout_comp_definition_id HXC_LAYOUT_COMP_DEFINITIONS.LAYOUT_COMP_DEFINITION_ID%TYPE)
383 IS
384 SELECT 'N'
385 FROM hxc_layout_components lc
386 WHERE lc.layout_comp_definition_id = p_layout_comp_definition_id;
387
388
389 l_layout_comp_definition_id HXC_LAYOUT_COMP_DEFINITIONS.LAYOUT_COMP_DEFINITION_ID%TYPE := NULL;
390 l_object_version_number HXC_LAYOUT_COMP_DEFINITIONS.OBJECT_VERSION_NUMBER%TYPE;
391 l_force_ok VARCHAR2(1) := 'Y';
392 --
393 BEGIN
394 --
395
396 OPEN c_comp_def;
397 FETCH c_comp_def INTO l_layout_comp_definition_id,l_object_version_number;
398 IF c_comp_def%NOTFOUND
399 THEN
400 raise no_data_found;
401 END IF;
402 CLOSE c_comp_def;
403
404
405 OPEN C_FORCE_OK(l_layout_comp_definition_id);
406 FETCH C_FORCE_OK INTO l_force_ok;
407 IF C_FORCE_OK%NOTFOUND
408 THEN
409 raise no_data_found;
410 END IF;
411 CLOSE C_FORCE_OK;
412
413 --
414 IF (p_custom_mode = 'FORCE') THEN
415 --
416 -- Call the row handler to update the row
417 --
418 HXC_ULD_UPD.UPD
419 (P_COMPONENT_CLASS=>P_COMPONENT_CLASS
420 ,P_COMPONENT_TYPE => P_COMPONENT_TYPE
424 );
421 ,P_LAYOUT_COMP_DEFINITION_ID => l_layout_comp_definition_id
422 ,p_RENDER_TYPE => p_render_type
423 ,P_OBJECT_VERSION_NUMBER => l_object_version_number
425 END IF; -- p_custom_mode = 'FORCE'
426 EXCEPTION WHEN NO_DATA_FOUND THEN
427 IF (l_layout_comp_definition_id IS NULL) THEN
428 --
429 -- Call the row handler to insert the row
430 --
431 HXC_ULD_INS.INS
432 (P_COMPONENT_CLASS=>P_COMPONENT_CLASS
433 ,P_COMPONENT_TYPE => P_COMPONENT_TYPE
434 ,P_LAYOUT_COMP_DEFINITION_ID => l_layout_comp_definition_id
435 ,p_RENDER_TYPE => p_render_type
436 ,P_OBJECT_VERSION_NUMBER => l_object_version_number
437 );
438 ELSE
439 --
440 -- Call the row handler to update the row
441 --
442 HXC_ULD_UPD.UPD
443 (P_COMPONENT_CLASS=>P_COMPONENT_CLASS
444 ,P_COMPONENT_TYPE => P_COMPONENT_TYPE
445 ,P_LAYOUT_COMP_DEFINITION_ID => l_layout_comp_definition_id
446 ,p_RENDER_TYPE => p_render_type
447 ,P_OBJECT_VERSION_NUMBER => l_object_version_number
448 );
449 END IF;
450 END LOAD_DEFINITION_ROW;
451
452 -- =================================================================
453 -- == load_component_row
454 -- =================================================================
455 PROCEDURE LOAD_COMPONENT_ROW
456 (P_LAYOUT_NAME IN VARCHAR2
457 ,P_COMPONENT_NAME IN VARCHAR2
458 ,P_OWNER IN VARCHAR2
459 ,P_COMPONENT_VALUE IN VARCHAR2
460 ,P_REGION_CODE IN VARCHAR2
461 ,P_REGION_CODE_APP_SHORT_NAME IN VARCHAR2
462 ,P_ATTRIBUTE_CODE IN VARCHAR2
463 ,P_ATTRIBUTE_CODE_APP_SHORT_N IN VARCHAR2
464 ,P_NAME_VALUE_STRING IN VARCHAR2
465 ,P_SEQUENCE IN NUMBER
466 ,P_COMPONENT_DEFINITION IN VARCHAR2
467 ,P_RENDER_TYPE IN VARCHAR2
468 ,P_PARENT_COMPONENT IN VARCHAR2
469 ,P_COMPONENT_ALIAS IN VARCHAR2
470 ,P_PARENT_BEAN IN VARCHAR2
471 ,P_ATTRIBUTE1 IN VARCHAR2
472 ,P_ATTRIBUTE2 IN VARCHAR2
473 ,P_ATTRIBUTE3 IN VARCHAR2
474 ,P_ATTRIBUTE4 IN VARCHAR2
475 ,P_ATTRIBUTE5 IN VARCHAR2
476 ,P_CUSTOM_MODE IN VARCHAR2
477 )
478 IS
479 --
480 l_layout_id HXC_LAYOUTS.LAYOUT_ID%TYPE;
481 l_layout_comp_definition_id HXC_LAYOUT_COMP_DEFINITIONS.LAYOUT_COMP_DEFINITION_ID%TYPE;
482 l_parent_comp_id HXC_LAYOUT_COMPONENTS.PARENT_COMPONENT_ID%TYPE;
483 l_application_id FND_APPLICATION.APPLICATION_ID%TYPE;
484 l_attr_application_id FND_APPLICATION.APPLICATION_ID%TYPE;
485 l_layout_component_id HXC_LAYOUT_COMPONENTS.LAYOUT_COMPONENT_ID%TYPE;
486 l_object_version_number HXC_LAYOUT_COMPONENTS.OBJECT_VERSION_NUMBER%TYPE;
487 --
488 BEGIN
489 --
490 glb_debug := glb_debug || ' ' || P_COMPONENT_NAME;
491 --
492 -- Find the parent, layout and the component
493 --
494 l_layout_id :=
495 find_layout_id
496 (P_LAYOUT_NAME => P_LAYOUT_NAME
497 );
498 --
499 l_layout_comp_definition_id :=
500 find_component_definition_id
501 (P_COMPONENT_TYPE => P_COMPONENT_DEFINITION
502 ,p_render_type => p_render_type
503 );
504 --
505 l_application_id :=
506 find_application_id
507 (P_APPLICATION_SHORT_NAME => P_REGION_CODE_APP_SHORT_NAME
508 );
509 --
510 l_attr_application_id :=
511 find_application_id
512 (p_application_short_name => p_attribute_code_app_short_n
513 );
514 --
515 IF P_PARENT_COMPONENT is NULL then
516 --
517 l_parent_comp_id := NULL;
518 --
519 else
520 l_parent_comp_id :=
521 find_component_id
522 (P_COMPONENT_NAME => P_PARENT_COMPONENT
523 ,p_layout_name => p_layout_name
524 );
525 end if;
526 --
527 BEGIN
528 -- check to see row exists
529 SELECT layout_component_id
530 ,comp.object_version_number
531 INTO l_layout_component_id
532 ,l_object_version_number
533 FROM hxc_layout_components comp
534 ,hxc_layouts lay
538 --
535 WHERE component_name = P_COMPONENT_NAME
536 AND comp.layout_id = lay.layout_id
537 AND layout_name = p_layout_name;
539 IF (p_custom_mode = 'FORCE') THEN
540 HXC_ULC_UPD.UPD
541 (P_LAYOUT_ID => l_layout_id
542 ,P_PARENT_COMPONENT_ID => l_parent_comp_id
543 ,P_SEQUENCE => P_SEQUENCE
544 ,P_COMPONENT_NAME => P_COMPONENT_NAME
545 ,P_COMPONENT_VALUE => P_COMPONENT_VALUE
546 ,P_NAME_VALUE_STRING => P_NAME_VALUE_STRING
547 ,P_REGION_CODE => P_REGION_CODE
548 ,P_REGION_CODE_APP_ID => l_application_id
549 ,P_ATTRIBUTE_CODE => P_ATTRIBUTE_CODE
550 ,P_ATTRIBUTE_CODE_APP_ID => l_attr_application_id
551 ,P_LAYOUT_COMPONENT_ID => l_layout_component_id
552 ,P_OBJECT_VERSION_NUMBER => l_object_version_number
553 ,P_LAYOUT_COMP_DEFINITION_ID => l_layout_comp_definition_id
554 ,P_COMPONENT_ALIAS => P_COMPONENT_ALIAS
555 ,P_PARENT_BEAN => P_PARENT_BEAN
556 ,P_ATTRIBUTE1 => P_ATTRIBUTE1
557 ,P_ATTRIBUTE2 => P_ATTRIBUTE2
558 ,P_ATTRIBUTE3 => P_ATTRIBUTE3
559 ,P_ATTRIBUTE4 => P_ATTRIBUTE4
560 ,P_ATTRIBUTE5 => P_ATTRIBUTE5
561 );
562 ELSE
563 IF hxc_layouts_upload_pkg.g_force_ok THEN
564 HXC_ULC_UPD.UPD
565 (P_LAYOUT_ID => l_layout_id
566 ,P_PARENT_COMPONENT_ID => l_parent_comp_id
567 ,P_SEQUENCE => P_SEQUENCE
568 ,P_COMPONENT_NAME => P_COMPONENT_NAME
569 ,P_COMPONENT_VALUE => P_COMPONENT_VALUE
570 ,P_NAME_VALUE_STRING => P_NAME_VALUE_STRING
571 ,P_REGION_CODE => P_REGION_CODE
572 ,P_REGION_CODE_APP_ID => l_application_id
573 ,P_ATTRIBUTE_CODE => P_ATTRIBUTE_CODE
574 ,P_ATTRIBUTE_CODE_APP_ID => l_attr_application_id
575 ,P_LAYOUT_COMPONENT_ID => l_layout_component_id
576 ,P_OBJECT_VERSION_NUMBER => l_object_version_number
577 ,P_LAYOUT_COMP_DEFINITION_ID => l_layout_comp_definition_id
578 ,P_COMPONENT_ALIAS => P_COMPONENT_ALIAS
579 ,P_PARENT_BEAN => P_PARENT_BEAN
580 ,P_ATTRIBUTE1 => P_ATTRIBUTE1
581 ,P_ATTRIBUTE2 => P_ATTRIBUTE2
582 ,P_ATTRIBUTE3 => P_ATTRIBUTE3
583 ,P_ATTRIBUTE4 => P_ATTRIBUTE4
584 ,P_ATTRIBUTE5 => P_ATTRIBUTE5
585 );
586 END IF; -- hxc_layouts_upload_pkg.g_force_ok
587 END IF; -- ( p_custom_mode = 'FORCE' )
588 EXCEPTION WHEN NO_DATA_FOUND THEN
589 HXC_ULC_INS.INS
590 (P_LAYOUT_ID => l_layout_id
591 ,P_PARENT_COMPONENT_ID => l_parent_comp_id
592 ,P_SEQUENCE => P_SEQUENCE
593 ,P_COMPONENT_NAME => P_COMPONENT_NAME
594 ,P_COMPONENT_VALUE => P_COMPONENT_VALUE
595 ,P_NAME_VALUE_STRING => P_NAME_VALUE_STRING
596 ,P_REGION_CODE => P_REGION_CODE
597 ,P_REGION_CODE_APP_ID => l_application_id
598 ,P_ATTRIBUTE_CODE => P_ATTRIBUTE_CODE
599 ,P_ATTRIBUTE_CODE_APP_ID => l_attr_application_id
600 ,P_LAYOUT_COMPONENT_ID => l_layout_component_id
601 ,P_OBJECT_VERSION_NUMBER => l_object_version_number
602 ,P_LAYOUT_COMP_DEFINITION_ID => l_layout_comp_definition_id
603 ,P_COMPONENT_ALIAS => P_COMPONENT_ALIAS
604 ,P_PARENT_BEAN => P_PARENT_BEAN
605 ,P_ATTRIBUTE1 => P_ATTRIBUTE1
606 ,P_ATTRIBUTE2 => P_ATTRIBUTE2
607 ,P_ATTRIBUTE3 => P_ATTRIBUTE3
608 ,P_ATTRIBUTE4 => P_ATTRIBUTE4
609 ,P_ATTRIBUTE5 => P_ATTRIBUTE5
610 );
611 END;
612 END LOAD_COMPONENT_ROW;
613
614 -- =================================================================
615 -- == load_prompt_row
616 -- =================================================================
617 PROCEDURE LOAD_PROMPT_ROW
618 (P_COMPONENT_NAME IN VARCHAR2
619 ,P_PROMPT_ALIAS IN VARCHAR2
620 ,P_PROMPT_TYPE IN VARCHAR2
621 ,P_OWNER IN VARCHAR2
622 ,P_REGION_CODE IN VARCHAR2
623 ,P_REGION_APP_SHORT_NAME IN VARCHAR2
624 ,P_ATTRIBUTE_CODE IN VARCHAR2
625 ,P_ATTRIBUTE_APP_SHORT_NAME IN VARCHAR2
626 ,p_layout_name IN VARCHAR2
627 ,P_CUSTOM_MODE IN VARCHAR2 DEFAULT NULL
628 )
629 IS
630 --
631 l_layout_component_id HXC_LAYOUT_COMPONENTS.LAYOUT_COMPONENT_ID%TYPE;
632 l_layout_comp_prompt_id HXC_LAYOUT_COMP_PROMPTS.LAYOUT_COMP_PROMPT_ID%TYPE;
633 l_object_version_number HXC_LAYOUT_COMP_PROMPTS.OBJECT_VERSION_NUMBER%TYPE;
634 l_region_app_id hxc_layout_comp_prompts.region_application_id%TYPE;
635 l_attribute_app_id hxc_layout_comp_prompts.attribute_application_id%TYPE;
636 --
637 BEGIN
638 --
639 -- Find the component ID
640 --
641 l_layout_component_id :=
642 find_component_id
643 (P_COMPONENT_NAME => P_COMPONENT_NAME
644 ,p_layout_name => p_layout_name
645 );
646 --
647 l_region_app_id :=
648 find_application_id
649 (P_APPLICATION_SHORT_NAME => P_REGION_APP_SHORT_NAME
650 );
651 --
655 );
652 l_attribute_app_id :=
653 find_application_id
654 (P_APPLICATION_SHORT_NAME => P_ATTRIBUTE_APP_SHORT_NAME
656 --
657 BEGIN
658 -- check to see if the row exists
659 SELECT lcp.layout_comp_prompt_id
660 ,lcp.object_version_number
661 INTO l_layout_comp_prompt_id
662 ,l_object_version_number
663 FROM HXC_LAYOUT_COMP_PROMPTS lcp
664 WHERE lcp.prompt_alias = p_prompt_alias
665 AND lcp.prompt_type = p_prompt_type
666 AND lcp.layout_component_id = l_layout_component_id;
667
668 IF ( p_custom_mode = 'FORCE' )
669 THEN
670 --
671 -- Use the Row handler to update the row
672 --
673 HXC_ULP_UPD.UPD
674 (P_LAYOUT_COMPONENT_ID => l_layout_component_id
675 ,P_PROMPT_ALIAS => P_PROMPT_ALIAS
676 ,P_PROMPT_TYPE => P_PROMPT_TYPE
677 ,p_region_code => p_region_code
678 ,p_region_application_id => l_region_app_id
679 ,p_attribute_code => p_attribute_code
680 ,p_attribute_application_id => l_attribute_app_id
681 ,P_LAYOUT_COMP_PROMPT_ID => l_layout_comp_prompt_id
682 ,P_OBJECT_VERSION_NUMBER => l_object_version_number
683 );
684 ELSE
685 IF HXC_layouts_upload_pkg.g_force_ok THEN
686 HXC_ULP_UPD.UPD
687 (P_LAYOUT_COMPONENT_ID => l_layout_component_id
688 ,P_PROMPT_ALIAS => P_PROMPT_ALIAS
689 ,P_PROMPT_TYPE => P_PROMPT_TYPE
690 ,p_region_code => p_region_code
691 ,p_region_application_id => l_region_app_id
692 ,p_attribute_code => p_attribute_code
693 ,p_attribute_application_id => l_attribute_app_id
694 ,P_LAYOUT_COMP_PROMPT_ID => l_layout_comp_prompt_id
695 ,P_OBJECT_VERSION_NUMBER => l_object_version_number
696 );
697 END IF; -- HXC_layouts_upload_pkg.g_force_ok
698 END IF; -- p_custom_mode = 'FORCE'
699 EXCEPTION WHEN NO_DATA_FOUND THEN
700 --
701 -- Use the Row handler to insert the row
702 --
703
704 HXC_ULP_INS.INS
705 (P_LAYOUT_COMPONENT_ID => l_layout_component_id
706 ,P_PROMPT_ALIAS => P_PROMPT_ALIAS
707 ,P_PROMPT_TYPE => P_PROMPT_TYPE
708 ,p_region_code => p_region_code
709 ,p_region_application_id => l_region_app_id
710 ,p_attribute_code => p_attribute_code
711 ,p_attribute_application_id => l_attribute_app_id
712 ,P_LAYOUT_COMP_PROMPT_ID => l_layout_comp_prompt_id
713 ,P_OBJECT_VERSION_NUMBER => l_object_version_number);
714 END;
715 END LOAD_PROMPT_ROW;
716
717 -- =================================================================
718 -- == load_qualifier_row
719 -- =================================================================
720 PROCEDURE LOAD_QUALIFIER_ROW
721 (P_COMPONENT_NAME IN VARCHAR2
722 ,P_QUALIFIER_NAME IN VARCHAR2
723 ,P_OWNER IN VARCHAR2
724 ,P_QUALIFIER_ATTRIBUTE_CATEGORY IN VARCHAR2
725 ,P_QUALIFIER_ATTRIBUTE1 IN VARCHAR2
726 ,P_QUALIFIER_ATTRIBUTE2 IN VARCHAR2
727 ,P_QUALIFIER_ATTRIBUTE3 IN VARCHAR2
728 ,P_QUALIFIER_ATTRIBUTE4 IN VARCHAR2
729 ,P_QUALIFIER_ATTRIBUTE5 IN VARCHAR2
730 ,P_QUALIFIER_ATTRIBUTE6 IN VARCHAR2
731 ,P_QUALIFIER_ATTRIBUTE7 IN VARCHAR2
732 ,P_QUALIFIER_ATTRIBUTE8 IN VARCHAR2
733 ,P_QUALIFIER_ATTRIBUTE9 IN VARCHAR2
734 ,P_QUALIFIER_ATTRIBUTE10 IN VARCHAR2
735 ,P_QUALIFIER_ATTRIBUTE11 IN VARCHAR2
736 ,P_QUALIFIER_ATTRIBUTE12 IN VARCHAR2
737 ,P_QUALIFIER_ATTRIBUTE13 IN VARCHAR2
738 ,P_QUALIFIER_ATTRIBUTE14 IN VARCHAR2
739 ,P_QUALIFIER_ATTRIBUTE15 IN VARCHAR2
740 ,P_QUALIFIER_ATTRIBUTE16 IN VARCHAR2
741 ,P_QUALIFIER_ATTRIBUTE17 IN VARCHAR2
742 ,P_QUALIFIER_ATTRIBUTE18 IN VARCHAR2
743 ,P_QUALIFIER_ATTRIBUTE19 IN VARCHAR2
744 ,P_QUALIFIER_ATTRIBUTE20 IN VARCHAR2
745 ,P_QUALIFIER_ATTRIBUTE21 IN VARCHAR2
746 ,P_QUALIFIER_ATTRIBUTE22 IN VARCHAR2
747 ,P_QUALIFIER_ATTRIBUTE23 IN VARCHAR2
748 ,P_QUALIFIER_ATTRIBUTE24 IN VARCHAR2
749 ,P_QUALIFIER_ATTRIBUTE25 IN VARCHAR2
750 ,P_QUALIFIER_ATTRIBUTE26 IN VARCHAR2
751 ,P_QUALIFIER_ATTRIBUTE27 IN VARCHAR2
752 ,P_QUALIFIER_ATTRIBUTE28 IN VARCHAR2
753 ,P_QUALIFIER_ATTRIBUTE29 IN VARCHAR2
754 ,P_QUALIFIER_ATTRIBUTE30 IN VARCHAR2
755 ,p_layout_name IN VARCHAR2
756 ,P_CUSTOM_MODE IN VARCHAR2 DEFAULT NULL
757 )
758 IS
759 --
760 l_layout_component_id HXC_LAYOUT_COMPONENTS.LAYOUT_COMPONENT_ID%TYPE;
761 l_layout_comp_qualifier_id HXC_LAYOUT_COMP_QUALIFIERS.LAYOUT_COMP_QUALIFIER_ID%TYPE;
762 l_object_version_number HXC_LAYOUT_COMP_QUALIFIERS.OBJECT_VERSION_NUMBER%TYPE;
763 --
764 BEGIN
765 --
766 -- Find the component ID
767 --
768 l_layout_component_id :=
772 );
769 find_component_id
770 (P_COMPONENT_NAME => P_COMPONENT_NAME
771 ,p_layout_name => p_layout_name
773 BEGIN
774 -- check to see the row exists
775 SELECT layout_comp_qualifier_id
776 ,object_version_number
777 INTO l_layout_comp_qualifier_id
778 ,l_object_version_number
779 FROM HXC_LAYOUT_COMP_QUALIFIERS
780 WHERE qualifier_name = p_qualifier_name
781 and layout_component_id = l_layout_component_id;
782
783 IF (p_custom_mode = 'FORCE') THEN
784 --
785 -- Use the Row handler to update the row
786 --
787 HXC_ULQ_UPD.UPD
788 (P_LAYOUT_COMPONENT_ID => l_layout_component_id
789 ,P_QUALIFIER_NAME => P_QUALIFIER_NAME
790 ,P_QUALIFIER_ATTRIBUTE_CATEGORY => P_QUALIFIER_ATTRIBUTE_CATEGORY
791 ,P_QUALIFIER_ATTRIBUTE1 => P_QUALIFIER_ATTRIBUTE1
792 ,P_QUALIFIER_ATTRIBUTE2 => P_QUALIFIER_ATTRIBUTE2
793 ,P_QUALIFIER_ATTRIBUTE3 => P_QUALIFIER_ATTRIBUTE3
794 ,P_QUALIFIER_ATTRIBUTE4 => P_QUALIFIER_ATTRIBUTE4
795 ,P_QUALIFIER_ATTRIBUTE5 => P_QUALIFIER_ATTRIBUTE5
796 ,P_QUALIFIER_ATTRIBUTE6 => P_QUALIFIER_ATTRIBUTE6
797 ,P_QUALIFIER_ATTRIBUTE7 => P_QUALIFIER_ATTRIBUTE7
798 ,P_QUALIFIER_ATTRIBUTE8 => P_QUALIFIER_ATTRIBUTE8
799 ,P_QUALIFIER_ATTRIBUTE9 => P_QUALIFIER_ATTRIBUTE9
800 ,P_QUALIFIER_ATTRIBUTE10 => P_QUALIFIER_ATTRIBUTE10
801 ,P_QUALIFIER_ATTRIBUTE11 => P_QUALIFIER_ATTRIBUTE11
802 ,P_QUALIFIER_ATTRIBUTE12 => P_QUALIFIER_ATTRIBUTE12
803 ,P_QUALIFIER_ATTRIBUTE13 => P_QUALIFIER_ATTRIBUTE13
804 ,P_QUALIFIER_ATTRIBUTE14 => P_QUALIFIER_ATTRIBUTE14
805 ,P_QUALIFIER_ATTRIBUTE15 => P_QUALIFIER_ATTRIBUTE15
806 ,P_QUALIFIER_ATTRIBUTE16 => P_QUALIFIER_ATTRIBUTE16
807 ,P_QUALIFIER_ATTRIBUTE17 => P_QUALIFIER_ATTRIBUTE17
808 ,P_QUALIFIER_ATTRIBUTE18 => P_QUALIFIER_ATTRIBUTE18
809 ,P_QUALIFIER_ATTRIBUTE19 => P_QUALIFIER_ATTRIBUTE19
810 ,P_QUALIFIER_ATTRIBUTE20 => P_QUALIFIER_ATTRIBUTE20
811 ,P_QUALIFIER_ATTRIBUTE21 => P_QUALIFIER_ATTRIBUTE21
812 ,P_QUALIFIER_ATTRIBUTE22 => P_QUALIFIER_ATTRIBUTE22
813 ,P_QUALIFIER_ATTRIBUTE23 => P_QUALIFIER_ATTRIBUTE23
814 ,P_QUALIFIER_ATTRIBUTE24 => P_QUALIFIER_ATTRIBUTE24
815 ,P_QUALIFIER_ATTRIBUTE25 => P_QUALIFIER_ATTRIBUTE25
816 ,P_QUALIFIER_ATTRIBUTE26 => P_QUALIFIER_ATTRIBUTE26
817 ,P_QUALIFIER_ATTRIBUTE27 => P_QUALIFIER_ATTRIBUTE27
818 ,P_QUALIFIER_ATTRIBUTE28 => P_QUALIFIER_ATTRIBUTE28
819 ,P_QUALIFIER_ATTRIBUTE29 => P_QUALIFIER_ATTRIBUTE29
820 ,P_QUALIFIER_ATTRIBUTE30 => P_QUALIFIER_ATTRIBUTE30
821 ,P_LAYOUT_COMP_QUALIFIER_ID => l_layout_comp_qualifier_id
822 ,P_OBJECT_VERSION_NUMBER => l_object_version_number
823 );
824 ELSE
825 IF HXC_layouts_upload_pkg.g_force_ok THEN
826 HXC_ULQ_UPD.UPD
827 (P_LAYOUT_COMPONENT_ID => l_layout_component_id
828 ,P_QUALIFIER_NAME => P_QUALIFIER_NAME
829 ,P_QUALIFIER_ATTRIBUTE_CATEGORY => P_QUALIFIER_ATTRIBUTE_CATEGORY
830 ,P_QUALIFIER_ATTRIBUTE1 => P_QUALIFIER_ATTRIBUTE1
831 ,P_QUALIFIER_ATTRIBUTE2 => P_QUALIFIER_ATTRIBUTE2
832 ,P_QUALIFIER_ATTRIBUTE3 => P_QUALIFIER_ATTRIBUTE3
833 ,P_QUALIFIER_ATTRIBUTE4 => P_QUALIFIER_ATTRIBUTE4
834 ,P_QUALIFIER_ATTRIBUTE5 => P_QUALIFIER_ATTRIBUTE5
835 ,P_QUALIFIER_ATTRIBUTE6 => P_QUALIFIER_ATTRIBUTE6
836 ,P_QUALIFIER_ATTRIBUTE7 => P_QUALIFIER_ATTRIBUTE7
837 ,P_QUALIFIER_ATTRIBUTE8 => P_QUALIFIER_ATTRIBUTE8
838 ,P_QUALIFIER_ATTRIBUTE9 => P_QUALIFIER_ATTRIBUTE9
839 ,P_QUALIFIER_ATTRIBUTE10 => P_QUALIFIER_ATTRIBUTE10
840 ,P_QUALIFIER_ATTRIBUTE11 => P_QUALIFIER_ATTRIBUTE11
841 ,P_QUALIFIER_ATTRIBUTE12 => P_QUALIFIER_ATTRIBUTE12
842 ,P_QUALIFIER_ATTRIBUTE13 => P_QUALIFIER_ATTRIBUTE13
843 ,P_QUALIFIER_ATTRIBUTE14 => P_QUALIFIER_ATTRIBUTE14
844 ,P_QUALIFIER_ATTRIBUTE15 => P_QUALIFIER_ATTRIBUTE15
845 ,P_QUALIFIER_ATTRIBUTE16 => P_QUALIFIER_ATTRIBUTE16
846 ,P_QUALIFIER_ATTRIBUTE17 => P_QUALIFIER_ATTRIBUTE17
847 ,P_QUALIFIER_ATTRIBUTE18 => P_QUALIFIER_ATTRIBUTE18
848 ,P_QUALIFIER_ATTRIBUTE19 => P_QUALIFIER_ATTRIBUTE19
849 ,P_QUALIFIER_ATTRIBUTE20 => P_QUALIFIER_ATTRIBUTE20
850 ,P_QUALIFIER_ATTRIBUTE21 => P_QUALIFIER_ATTRIBUTE21
851 ,P_QUALIFIER_ATTRIBUTE22 => P_QUALIFIER_ATTRIBUTE22
855 ,P_QUALIFIER_ATTRIBUTE26 => P_QUALIFIER_ATTRIBUTE26
852 ,P_QUALIFIER_ATTRIBUTE23 => P_QUALIFIER_ATTRIBUTE23
853 ,P_QUALIFIER_ATTRIBUTE24 => P_QUALIFIER_ATTRIBUTE24
854 ,P_QUALIFIER_ATTRIBUTE25 => P_QUALIFIER_ATTRIBUTE25
856 ,P_QUALIFIER_ATTRIBUTE27 => P_QUALIFIER_ATTRIBUTE27
857 ,P_QUALIFIER_ATTRIBUTE28 => P_QUALIFIER_ATTRIBUTE28
858 ,P_QUALIFIER_ATTRIBUTE29 => P_QUALIFIER_ATTRIBUTE29
859 ,P_QUALIFIER_ATTRIBUTE30 => P_QUALIFIER_ATTRIBUTE30
860 ,P_LAYOUT_COMP_QUALIFIER_ID => l_layout_comp_qualifier_id
861 ,P_OBJECT_VERSION_NUMBER => l_object_version_number
862 );
863 END IF; -- HXC_layouts_upload_pkg.g_force_ok
864 END IF; -- p_custom_mode = 'FORCE'
865 EXCEPTION WHEN NO_DATA_FOUND THEN
866 --
867 -- Use the Row handler to insert the row
868 --
869 HXC_ULQ_INS.INS
870 (P_LAYOUT_COMPONENT_ID => l_layout_component_id
871 ,P_QUALIFIER_NAME => P_QUALIFIER_NAME
872 ,P_QUALIFIER_ATTRIBUTE_CATEGORY => P_QUALIFIER_ATTRIBUTE_CATEGORY
873 ,P_QUALIFIER_ATTRIBUTE1 => P_QUALIFIER_ATTRIBUTE1
874 ,P_QUALIFIER_ATTRIBUTE2 => P_QUALIFIER_ATTRIBUTE2
875 ,P_QUALIFIER_ATTRIBUTE3 => P_QUALIFIER_ATTRIBUTE3
876 ,P_QUALIFIER_ATTRIBUTE4 => P_QUALIFIER_ATTRIBUTE4
877 ,P_QUALIFIER_ATTRIBUTE5 => P_QUALIFIER_ATTRIBUTE5
878 ,P_QUALIFIER_ATTRIBUTE6 => P_QUALIFIER_ATTRIBUTE6
879 ,P_QUALIFIER_ATTRIBUTE7 => P_QUALIFIER_ATTRIBUTE7
880 ,P_QUALIFIER_ATTRIBUTE8 => P_QUALIFIER_ATTRIBUTE8
881 ,P_QUALIFIER_ATTRIBUTE9 => P_QUALIFIER_ATTRIBUTE9
882 ,P_QUALIFIER_ATTRIBUTE10 => P_QUALIFIER_ATTRIBUTE10
883 ,P_QUALIFIER_ATTRIBUTE11 => P_QUALIFIER_ATTRIBUTE11
884 ,P_QUALIFIER_ATTRIBUTE12 => P_QUALIFIER_ATTRIBUTE12
885 ,P_QUALIFIER_ATTRIBUTE13 => P_QUALIFIER_ATTRIBUTE13
886 ,P_QUALIFIER_ATTRIBUTE14 => P_QUALIFIER_ATTRIBUTE14
887 ,P_QUALIFIER_ATTRIBUTE15 => P_QUALIFIER_ATTRIBUTE15
888 ,P_QUALIFIER_ATTRIBUTE16 => P_QUALIFIER_ATTRIBUTE16
889 ,P_QUALIFIER_ATTRIBUTE17 => P_QUALIFIER_ATTRIBUTE17
890 ,P_QUALIFIER_ATTRIBUTE18 => P_QUALIFIER_ATTRIBUTE18
891 ,P_QUALIFIER_ATTRIBUTE19 => P_QUALIFIER_ATTRIBUTE19
892 ,P_QUALIFIER_ATTRIBUTE20 => P_QUALIFIER_ATTRIBUTE20
893 ,P_QUALIFIER_ATTRIBUTE21 => P_QUALIFIER_ATTRIBUTE21
894 ,P_QUALIFIER_ATTRIBUTE22 => P_QUALIFIER_ATTRIBUTE22
895 ,P_QUALIFIER_ATTRIBUTE23 => P_QUALIFIER_ATTRIBUTE23
896 ,P_QUALIFIER_ATTRIBUTE24 => P_QUALIFIER_ATTRIBUTE24
897 ,P_QUALIFIER_ATTRIBUTE25 => P_QUALIFIER_ATTRIBUTE25
898 ,P_QUALIFIER_ATTRIBUTE26 => P_QUALIFIER_ATTRIBUTE26
899 ,P_QUALIFIER_ATTRIBUTE27 => P_QUALIFIER_ATTRIBUTE27
900 ,P_QUALIFIER_ATTRIBUTE28 => P_QUALIFIER_ATTRIBUTE28
901 ,P_QUALIFIER_ATTRIBUTE29 => P_QUALIFIER_ATTRIBUTE29
902 ,P_QUALIFIER_ATTRIBUTE30 => P_QUALIFIER_ATTRIBUTE30
903 ,P_LAYOUT_COMP_QUALIFIER_ID => l_layout_comp_qualifier_id
904 ,P_OBJECT_VERSION_NUMBER => l_object_version_number
905 );
906 END;
907 END LOAD_QUALIFIER_ROW;
908
909 -- =================================================================
910 -- == load_rule_row
911 -- =================================================================
912 /*
913 PROCEDURE LOAD_RULE_ROW
914 (P_QUALIFIER_NAME IN VARCHAR2
915 ,P_RULE_NAME IN VARCHAR2
916 ,P_OWNER IN VARCHAR2
917 ,P_RULE_TYPE IN VARCHAR2
918 ,P_RULE_DETAIL IN VARCHAR2
919 ,P_RULE_VALUE IN VARCHAR2
920 ,P_CUSTOM_MODE IN VARCHAR2
921 )
922 IS
923 --
924 l_layout_comp_qualifier_id HXC_LAYOUT_COMP_QUALIFIERS.LAYOUT_COMP_QUALIFIER_ID%TYPE;
925 l_layout_comp_qual_rule_id HXC_LAYOUT_COMP_QUAL_RULES.LAYOUT_COMP_QUAL_RULE_ID%TYPE;
926 l_object_version_number HXC_LAYOUT_COMP_QUAL_RULES.OBJECT_VERSION_NUMBER%TYPE;
927 --
928 BEGIN
929 --
930 -- Obtain the qualifier id
931 --
932 l_layout_comp_qualifier_id :=
933 find_comp_qualifier_id
934 (P_COMP_QUALIFIER_NAME => P_QUALIFIER_NAME
935 );
936 --
937 BEGIN
938 SELECT layout_comp_qual_rule_id
939 ,object_version_number
940 INTO l_layout_comp_qual_rule_id
941 ,l_object_version_number
942 FROM HXC_LAYOUT_COMP_QUAL_RULES
943 WHERE rule_name = p_rule_name;
944
945 IF (p_custom_mode = 'FORCE') THEN
946 --
947 -- Use the row handler to update the rule data
948 --
949 HXC_ULR_UPD.UPD
950 (P_RULE_NAME => P_RULE_NAME
951 ,P_RULE_TYPE => P_RULE_TYPE
952 ,P_LAYOUT_COMP_QUALIFIER_ID => l_layout_comp_qualifier_id
953 ,P_RULE_DETAIL => P_RULE_DETAIL
954 ,P_RULE_VALUE => P_RULE_VALUE
955 ,P_LAYOUT_COMP_QUAL_RULE_ID => l_layout_comp_qual_rule_id
956 ,P_OBJECT_VERSION_NUMBER => l_object_version_number
957 );
958 ELSE
959 IF HXC_layouts_upload_pkg.g_force_ok THEN
960 --
961 -- Use the row handler to update the rule data
965 ,P_RULE_TYPE => P_RULE_TYPE
962 --
963 HXC_ULR_UPD.UPD
964 (P_RULE_NAME => P_RULE_NAME
966 ,P_LAYOUT_COMP_QUALIFIER_ID => l_layout_comp_qualifier_id
967 ,P_RULE_DETAIL => P_RULE_DETAIL
968 ,P_RULE_VALUE => P_RULE_VALUE
969 ,P_LAYOUT_COMP_QUAL_RULE_ID => l_layout_comp_qual_rule_id
970 ,P_OBJECT_VERSION_NUMBER => l_object_version_number
971 );
972 END IF; -- HXC_layouts_upload_pkg.g_force_ok
973 END IF; -- p_custom_mode = 'FORCE'
974 EXCEPTION WHEN NO_DATA_FOUND THEN
975 --
976 -- Use the row handler to insert the rule data
977 --
978 HXC_ULR_INS.INS
979 (P_RULE_NAME => P_RULE_NAME
980 ,P_RULE_TYPE => P_RULE_TYPE
981 ,P_LAYOUT_COMP_QUALIFIER_ID => l_layout_comp_qualifier_id
982 ,P_RULE_DETAIL => P_RULE_DETAIL
983 ,P_RULE_VALUE => P_RULE_VALUE
984 ,P_LAYOUT_COMP_QUAL_RULE_ID => l_layout_comp_qual_rule_id
985 ,P_OBJECT_VERSION_NUMBER => l_object_version_number
986 );
987 END;
988 END LOAD_RULE_ROW;
989 */
990 -- =================================================================
991 -- == load_layout_row
992 -- =================================================================
993 PROCEDURE load_layout_row(
994 p_layout_name IN VARCHAR2,
995 p_application_short_name IN VARCHAR2,
996 p_owner IN VARCHAR2,
997 p_display_layout_name IN VARCHAR2,
998 p_layout_type IN VARCHAR2,
999 p_modifier_level IN VARCHAR2 DEFAULT NULL,
1000 p_modifier_value IN VARCHAR2 DEFAULT NULL,
1001 p_top_level_region_code IN VARCHAR2 DEFAULT NULL,
1002 p_custom_mode IN VARCHAR2 DEFAULT NULL,
1003 p_last_update_date IN VARCHAR2
1004 )
1005 IS
1006
1007 --
1008 l_layout_id hxc_layouts.layout_id%TYPE;
1009 l_object_version_number hxc_layouts.object_version_number%TYPE;
1010 l_application_id fnd_application.application_id%TYPE;
1011 l_dummy VARCHAR2(3);
1012 l_last_update_date_db DATE;
1013 l_last_updated_by_db NUMBER(15);
1014 l_last_updated_by_f NUMBER(15);
1015 l_last_update_date_f DATE;
1016
1017 CURSOR c_display_name(p_layout_id IN NUMBER)
1018 IS
1019 SELECT 'yes'
1020 FROM dual
1021 WHERE EXISTS( SELECT 'x'
1022 FROM hxc_layouts_tl
1023 WHERE layout_id = p_layout_id
1024 AND display_layout_name <>
1025 p_display_layout_name --added
1026 AND userenv('LANG') IN (LANGUAGE, source_lang));
1027 BEGIN
1028 --
1029 g_debug :=hr_utility.debug_enabled;
1030 l_last_updated_by_f := fnd_load_util.owner_id(p_owner);
1031 l_last_update_date_f :=
1032 nvl(TO_DATE(p_last_update_date, 'YYYY/MM/DD'), sysdate);
1033 if g_debug then
1034 hr_utility.set_location('Entering Load Layout Row ', 10);
1035 end if;
1036 --
1037 -- Find the application id
1038 --
1039 l_application_id :=
1040 find_application_id(
1041 p_application_short_name=> p_application_short_name
1042 );
1043
1044 --
1045 BEGIN
1046 if g_debug then
1047 hr_utility.set_location('In Load Layout Row ', 20);
1048 end if;
1049
1050 --
1051 -- check to see row exists
1052 --
1053 SELECT modifier_level,
1054 layout_id,
1055 object_version_number,
1056 last_update_date,
1057 last_updated_by
1058 INTO l_modifier_level,
1059 l_layout_id,
1060 l_object_version_number,
1061 l_last_update_date_db,
1062 l_last_updated_by_db
1063 FROM hxc_layouts
1064 WHERE layout_name = p_layout_name
1065 AND application_id = l_application_id;
1066
1067 --
1068 -- Remove all components for the layout if it already exists
1069 --
1070 -- delete rows from HXC_LAYOUT_COMP_PROMPTS
1071 DELETE FROM hxc_layout_comp_prompts
1072 WHERE layout_component_id IN (SELECT comp.layout_component_id
1073 FROM hxc_layout_components comp
1074 WHERE comp.layout_id =
1075 l_layout_id);
1076
1077 --
1078 -- delete rows from HXC_LAYOUT_COMP_QUALIFIERS
1079 DELETE FROM hxc_layout_comp_qualifiers cq
1080 WHERE EXISTS( SELECT comp.layout_component_id
1081 FROM hxc_layout_components comp
1082 WHERE comp.layout_id = l_layout_id
1083 AND cq.layout_component_id =
1084 comp.layout_component_id);
1085
1086 --
1087 -- delete rows from HXC_LAYOUT_COMPONENTS
1091 --
1088 DELETE FROM hxc_layout_components
1089 WHERE layout_id = l_layout_id;
1090
1092 IF (nvl(l_modifier_level, 'ZZZ') = nvl(p_modifier_level, 'ZZZ'))
1093 THEN
1094 hxc_layouts_upload_pkg.g_force_ok := TRUE;
1095 ELSE
1096 hxc_layouts_upload_pkg.g_force_ok := FALSE;
1097 END IF;
1098
1099 ---
1100 l_dummy := NULL;
1101 OPEN c_display_name(l_layout_id); --,language, source_lang )
1102 FETCH c_display_name INTO l_dummy;
1103 CLOSE c_display_name;
1104
1105 --
1106 IF (fnd_load_util.upload_test(
1107 l_last_updated_by_f,
1108 l_last_update_date_f,
1109 l_last_updated_by_db,
1110 l_last_update_date_db,
1111 p_custom_mode
1112 )
1113 )
1114 THEN
1115 hxc_ula_upd.upd(
1116 p_layout_name=> p_layout_name,
1117 p_application_id=> l_application_id,
1118 p_layout_type=> p_layout_type,
1119 p_modifier_level=> p_modifier_level,
1120 p_modifier_value=> p_modifier_value,
1121 p_top_level_region_code=> p_top_level_region_code,
1122 p_layout_id=> l_layout_id,
1123 p_object_version_number=> l_object_version_number
1124 );
1125
1126 IF (l_dummy = 'yes')
1127 THEN
1128 hxc_ult_upd.upd_tl --added1
1129 (
1130 p_language_code=> userenv('LANG'),
1131 p_layout_id=> l_layout_id,
1132 p_display_layout_name=> p_display_layout_name
1133 );
1134 END IF;
1135 ELSE
1136 IF hxc_layouts_upload_pkg.g_force_ok
1137 THEN
1138 hxc_ula_upd.upd(
1139 p_layout_name=> p_layout_name,
1140 p_application_id=> l_application_id,
1141 p_layout_type=> p_layout_type,
1142 p_modifier_level=> p_modifier_level,
1143 p_modifier_value=> p_modifier_value,
1144 p_top_level_region_code=> p_top_level_region_code,
1145 p_layout_id=> l_layout_id,
1146 p_object_version_number=> l_object_version_number
1147 );
1148
1149 IF (l_dummy = 'yes')
1150 THEN
1151 hxc_ult_upd.upd_tl --added1
1152 (
1153 p_language_code=> userenv('LANG'),
1154 p_layout_id=> l_layout_id,
1155 p_display_layout_name=> p_display_layout_name
1156 );
1157 END IF;
1158 END IF; -- ( l_modifier_level = p_modifier_level )
1159 END IF; -- ( p_custom_mode = 'FORCE' )
1160 EXCEPTION
1161 WHEN no_data_found
1162 THEN
1163 hxc_ula_ins.ins(
1164 p_layout_name=> p_layout_name,
1165 p_application_id=> l_application_id,
1166 p_layout_type=> p_layout_type,
1167 p_modifier_level=> p_modifier_level,
1168 p_modifier_value=> p_modifier_value,
1169 p_top_level_region_code=> p_top_level_region_code,
1170 p_layout_id=> l_layout_id,
1171 p_object_version_number=> l_object_version_number,
1172 p_display_layout_name=> p_display_layout_name
1173 );
1174 END;
1175 END load_layout_row;
1176
1177
1178 -- =================================================================
1179 -- == translate_layout_row
1180 -- =================================================================
1181 PROCEDURE translate_layout_row(
1182 p_application_short_name IN VARCHAR2,
1183 p_layout_name IN VARCHAR2,
1184 p_owner IN VARCHAR2,
1185 p_display_layout_name IN VARCHAR2,
1186 p_custom_mode IN VARCHAR2,
1187 p_last_update_date IN VARCHAR2
1188 )
1189 IS
1190
1191 --
1192 l_layout_id hxc_layouts.layout_id%TYPE;
1193 l_dummy VARCHAR2(3);
1194 l_last_update_date_db DATE;
1195 l_last_updated_by_db NUMBER(15);
1196 l_last_updated_by_f NUMBER(15);
1197 l_last_update_date_f DATE;
1198
1199 --
1200 BEGIN
1201 --
1202 -- Find the Layout id
1203 --
1204 l_last_updated_by_f := fnd_load_util.owner_id(p_owner);
1205 l_last_update_date_f :=
1206 nvl(TO_DATE(p_last_update_date, 'YYYY/MM/DD'), sysdate);
1207 l_layout_id := find_layout_id(p_layout_name => p_layout_name);
1208
1209 --
1210 BEGIN
1211 -- see if there is a TL row to update
1212 SELECT 'yes'
1213 INTO l_dummy
1214 FROM dual
1215 WHERE EXISTS( SELECT 'x'
1216 FROM hxc_layouts_tl
1217 WHERE layout_id = l_layout_id
1218 AND display_layout_name <>
1219 p_display_layout_name --added
1220 AND userenv('LANG') IN (LANGUAGE, source_lang));
1224 last_updated_by
1221
1222 --
1223 SELECT last_update_date,
1225 INTO l_last_update_date_db,
1226 l_last_updated_by_db
1227 FROM hxc_layouts_tl
1228 WHERE layout_id = l_layout_id
1229 AND display_layout_name <> p_display_layout_name --added
1230 AND userenv('LANG') = LANGUAGE;
1231
1232 IF ( fnd_load_util.upload_test(
1233 l_last_updated_by_f,
1234 l_last_update_date_f,
1235 l_last_updated_by_db,
1236 l_last_update_date_db,
1237 p_custom_mode
1238 )
1239 OR (l_dummy = 'yes')
1240 )
1241 THEN
1242 hxc_ult_upd.upd_tl(
1243 p_language_code=> userenv('LANG'),
1244 p_layout_id=> l_layout_id,
1245 p_display_layout_name=> p_display_layout_name
1246 );
1247 END IF;
1248 EXCEPTION
1249 WHEN no_data_found
1250 THEN
1251 --
1252 -- Call the _TL row handler to insert the record
1253 --
1254 hxc_ult_ins.ins_tl(
1255 p_language_code=> userenv('LANG'),
1256 p_layout_id=> l_layout_id,
1257 p_display_layout_name=> p_display_layout_name
1258 );
1259 END;
1260 END translate_layout_row;
1261
1262
1263 -- =================================================================
1264 -- == load_definition_row
1265 -- =================================================================
1266 PROCEDURE load_definition_row(
1267 p_component_type IN VARCHAR2,
1268 p_owner IN VARCHAR2,
1269 p_component_class IN VARCHAR2,
1270 p_render_type IN VARCHAR2,
1271 p_custom_mode IN VARCHAR2,
1272 p_last_update_date IN VARCHAR2
1273 )
1274 IS
1275
1276 --
1277 l_last_update_date_db DATE;
1278 l_last_updated_by_db NUMBER(15);
1279 l_last_updated_by_f NUMBER(15);
1280 l_last_update_date_f DATE;
1281
1282 CURSOR c_comp_def
1283 IS
1284 SELECT layout_comp_definition_id,
1285 object_version_number,
1286 last_update_date,
1287 last_updated_by
1288 FROM hxc_layout_comp_definitions
1289 WHERE component_type = p_component_type
1290 AND render_type = p_render_type;
1291
1292 CURSOR c_force_ok(
1293 p_layout_comp_definition_id hxc_layout_comp_definitions.layout_comp_definition_id%TYPE
1294 )
1295 IS
1296 SELECT 'N'
1297 FROM hxc_layout_components lc
1298 WHERE lc.layout_comp_definition_id = p_layout_comp_definition_id;
1299
1300 l_layout_comp_definition_id hxc_layout_comp_definitions.layout_comp_definition_id%TYPE
1301 := NULL;
1302 l_object_version_number hxc_layout_comp_definitions.object_version_number%TYPE;
1303 l_force_ok VARCHAR2(1) := 'Y';
1304
1305 --
1306 BEGIN
1307 --
1308 l_last_updated_by_f := fnd_load_util.owner_id(p_owner);
1309 l_last_update_date_f :=
1310 nvl(TO_DATE(p_last_update_date, 'YYYY/MM/DD'), sysdate);
1311 OPEN c_comp_def;
1312 FETCH c_comp_def INTO l_layout_comp_definition_id,
1313 l_object_version_number,
1314 l_last_update_date_db,
1315 l_last_updated_by_db;
1316
1317 IF c_comp_def%NOTFOUND
1318 THEN
1319 RAISE no_data_found;
1320 END IF;
1321
1322 CLOSE c_comp_def;
1323 OPEN c_force_ok(l_layout_comp_definition_id);
1324 FETCH c_force_ok INTO l_force_ok;
1325
1326 IF c_force_ok%NOTFOUND
1327 THEN
1328 RAISE no_data_found;
1329 END IF;
1330
1331 CLOSE c_force_ok;
1332
1333 --
1334 IF (fnd_load_util.upload_test(
1335 l_last_updated_by_f,
1336 l_last_update_date_f,
1337 l_last_updated_by_db,
1338 l_last_update_date_db,
1339 p_custom_mode
1340 )
1341 )
1342 THEN
1343 --
1344 -- Call the row handler to update the row
1345 --
1346 hxc_uld_upd.upd(
1347 p_component_class=> p_component_class,
1348 p_component_type=> p_component_type,
1349 p_layout_comp_definition_id=> l_layout_comp_definition_id,
1350 p_render_type=> p_render_type,
1351 p_object_version_number=> l_object_version_number
1352 );
1353 END IF; -- p_custom_mode = 'FORCE'
1354 EXCEPTION
1355 WHEN no_data_found
1356 THEN
1357 IF (l_layout_comp_definition_id IS NULL)
1358 THEN
1359 --
1360 -- Call the row handler to insert the row
1361 --
1362 hxc_uld_ins.ins(
1363 p_component_class=> p_component_class,
1364 p_component_type=> p_component_type,
1368 );
1365 p_layout_comp_definition_id=> l_layout_comp_definition_id,
1366 p_render_type=> p_render_type,
1367 p_object_version_number=> l_object_version_number
1369 ELSE
1370 --
1371 -- Call the row handler to update the row
1372 --
1373 hxc_uld_upd.upd(
1374 p_component_class=> p_component_class,
1375 p_component_type=> p_component_type,
1376 p_layout_comp_definition_id=> l_layout_comp_definition_id,
1377 p_render_type=> p_render_type,
1378 p_object_version_number=> l_object_version_number
1379 );
1380 END IF;
1381 END load_definition_row;
1382
1383
1384 -- =================================================================
1385 -- == load_component_row
1386 -- =================================================================
1387 PROCEDURE load_component_row(
1388 p_layout_name IN VARCHAR2,
1389 p_component_name IN VARCHAR2,
1390 p_owner IN VARCHAR2,
1391 p_component_value IN VARCHAR2,
1392 p_region_code IN VARCHAR2,
1393 p_region_code_app_short_name IN VARCHAR2,
1394 p_attribute_code IN VARCHAR2,
1395 p_attribute_code_app_short_n IN VARCHAR2,
1396 p_name_value_string IN VARCHAR2,
1397 p_sequence IN NUMBER,
1398 p_component_definition IN VARCHAR2,
1399 p_render_type IN VARCHAR2,
1400 p_parent_component IN VARCHAR2,
1401 p_component_alias IN VARCHAR2,
1402 p_parent_bean IN VARCHAR2,
1403 p_attribute1 IN VARCHAR2,
1404 p_attribute2 IN VARCHAR2,
1405 p_attribute3 IN VARCHAR2,
1406 p_attribute4 IN VARCHAR2,
1407 p_attribute5 IN VARCHAR2,
1408 p_custom_mode IN VARCHAR2,
1409 p_last_update_date IN VARCHAR2
1410 )
1411 IS
1412
1413 --
1414 l_layout_id hxc_layouts.layout_id%TYPE;
1415 l_layout_comp_definition_id hxc_layout_comp_definitions.layout_comp_definition_id%TYPE;
1416 l_parent_comp_id hxc_layout_components.parent_component_id%TYPE;
1417 l_application_id fnd_application.application_id%TYPE;
1418 l_attr_application_id fnd_application.application_id%TYPE;
1419 l_layout_component_id hxc_layout_components.layout_component_id%TYPE;
1420 l_object_version_number hxc_layout_components.object_version_number%TYPE;
1421
1422 --
1423 l_last_update_date_db DATE;
1424 l_last_updated_by_db NUMBER(15);
1425 l_last_updated_by_f NUMBER(15);
1426 l_last_update_date_f DATE;
1427 BEGIN
1428 --
1429 l_last_updated_by_f := fnd_load_util.owner_id(p_owner);
1430 l_last_update_date_f :=
1431 nvl(TO_DATE(p_last_update_date, 'YYYY/MM/DD'), sysdate);
1432 glb_debug := glb_debug || ' ' || p_component_name;
1433 --
1434 -- Find the parent, layout and the component
1435 --
1436 l_layout_id := find_layout_id(p_layout_name => p_layout_name);
1437 --
1438 l_layout_comp_definition_id :=
1439 find_component_definition_id(
1440 p_component_type=> p_component_definition,
1441 p_render_type=> p_render_type
1442 );
1443 --
1444 l_application_id :=
1445 find_application_id(
1446 p_application_short_name=> p_region_code_app_short_name
1447 );
1448 --
1449 l_attr_application_id :=
1450 find_application_id(
1451 p_application_short_name=> p_attribute_code_app_short_n
1452 );
1453
1454 --
1455 IF p_parent_component IS NULL
1456 THEN
1457 --
1458 l_parent_comp_id := NULL;
1459 --
1460 ELSE
1461 l_parent_comp_id :=
1462 find_component_id(
1463 p_component_name=> p_parent_component,
1464 p_layout_name=> p_layout_name
1465 );
1466 END IF;
1467
1468 --
1469 BEGIN
1470 -- check to see row exists
1471 SELECT layout_component_id,
1472 comp.object_version_number,
1473 comp.last_update_date,
1474 comp.last_updated_by
1475 INTO l_layout_component_id,
1476 l_object_version_number,
1477 l_last_update_date_db,
1478 l_last_updated_by_db
1479 FROM hxc_layout_components comp,
1480 hxc_layouts lay
1481 WHERE component_name = p_component_name
1482 AND comp.layout_id = lay.layout_id
1483 AND layout_name = p_layout_name;
1484
1485 --
1486 IF (fnd_load_util.upload_test(
1487 l_last_updated_by_f,
1488 l_last_update_date_f,
1489 l_last_updated_by_db,
1490 l_last_update_date_db,
1494 THEN
1491 p_custom_mode
1492 )
1493 )
1495 hxc_ulc_upd.upd(
1496 p_layout_id=> l_layout_id,
1497 p_parent_component_id=> l_parent_comp_id,
1498 p_sequence=> p_sequence,
1499 p_component_name=> p_component_name,
1500 p_component_value=> p_component_value,
1501 p_name_value_string=> p_name_value_string,
1502 p_region_code=> p_region_code,
1503 p_region_code_app_id=> l_application_id,
1504 p_attribute_code=> p_attribute_code,
1505 p_attribute_code_app_id=> l_attr_application_id,
1506 p_layout_component_id=> l_layout_component_id,
1507 p_object_version_number=> l_object_version_number,
1508 p_layout_comp_definition_id=> l_layout_comp_definition_id,
1509 p_component_alias=> p_component_alias,
1510 p_parent_bean=> p_parent_bean,
1511 p_attribute1=> p_attribute1,
1512 p_attribute2=> p_attribute2,
1513 p_attribute3=> p_attribute3,
1514 p_attribute4=> p_attribute4,
1515 p_attribute5=> p_attribute5
1516 );
1517 ELSE
1518 IF hxc_layouts_upload_pkg.g_force_ok
1519 THEN
1520 hxc_ulc_upd.upd(
1521 p_layout_id=> l_layout_id,
1522 p_parent_component_id=> l_parent_comp_id,
1523 p_sequence=> p_sequence,
1524 p_component_name=> p_component_name,
1525 p_component_value=> p_component_value,
1526 p_name_value_string=> p_name_value_string,
1527 p_region_code=> p_region_code,
1528 p_region_code_app_id=> l_application_id,
1529 p_attribute_code=> p_attribute_code,
1530 p_attribute_code_app_id=> l_attr_application_id,
1531 p_layout_component_id=> l_layout_component_id,
1532 p_object_version_number=> l_object_version_number,
1533 p_layout_comp_definition_id=> l_layout_comp_definition_id,
1534 p_component_alias=> p_component_alias,
1535 p_parent_bean=> p_parent_bean,
1536 p_attribute1=> p_attribute1,
1537 p_attribute2=> p_attribute2,
1538 p_attribute3=> p_attribute3,
1539 p_attribute4=> p_attribute4,
1540 p_attribute5=> p_attribute5
1541 );
1542 END IF; -- hxc_layouts_upload_pkg.g_force_ok
1543 END IF; -- ( p_custom_mode = 'FORCE' )
1544 EXCEPTION
1545 WHEN no_data_found
1546 THEN
1547 hxc_ulc_ins.ins(
1548 p_layout_id=> l_layout_id,
1549 p_parent_component_id=> l_parent_comp_id,
1550 p_sequence=> p_sequence,
1551 p_component_name=> p_component_name,
1552 p_component_value=> p_component_value,
1553 p_name_value_string=> p_name_value_string,
1554 p_region_code=> p_region_code,
1555 p_region_code_app_id=> l_application_id,
1556 p_attribute_code=> p_attribute_code,
1557 p_attribute_code_app_id=> l_attr_application_id,
1558 p_layout_component_id=> l_layout_component_id,
1559 p_object_version_number=> l_object_version_number,
1560 p_layout_comp_definition_id=> l_layout_comp_definition_id,
1561 p_component_alias=> p_component_alias,
1562 p_parent_bean=> p_parent_bean,
1563 p_attribute1=> p_attribute1,
1564 p_attribute2=> p_attribute2,
1565 p_attribute3=> p_attribute3,
1566 p_attribute4=> p_attribute4,
1567 p_attribute5=> p_attribute5
1568 );
1569 END;
1570 END load_component_row;
1571
1572
1573 -- =================================================================
1574 -- == load_prompt_row
1575 -- =================================================================
1576 PROCEDURE load_prompt_row(
1577 p_component_name IN VARCHAR2,
1578 p_prompt_alias IN VARCHAR2,
1579 p_prompt_type IN VARCHAR2,
1580 p_owner IN VARCHAR2,
1581 p_region_code IN VARCHAR2,
1582 p_region_app_short_name IN VARCHAR2,
1583 p_attribute_code IN VARCHAR2,
1584 p_attribute_app_short_name IN VARCHAR2,
1585 p_layout_name IN VARCHAR2,
1586 p_custom_mode IN VARCHAR2 DEFAULT NULL,
1587 p_last_update_date IN VARCHAR2
1588 )
1589 IS
1590
1591 --
1592 l_layout_component_id hxc_layout_components.layout_component_id%TYPE;
1593 l_layout_comp_prompt_id hxc_layout_comp_prompts.layout_comp_prompt_id%TYPE;
1594 l_object_version_number hxc_layout_comp_prompts.object_version_number%TYPE;
1595 l_region_app_id hxc_layout_comp_prompts.region_application_id%TYPE;
1596 l_attribute_app_id hxc_layout_comp_prompts.attribute_application_id%TYPE;
1597
1598 --
1599 l_last_update_date_db DATE;
1600 l_last_updated_by_db NUMBER(15);
1604 --
1601 l_last_updated_by_f NUMBER(15);
1602 l_last_update_date_f DATE;
1603 BEGIN
1605 -- Find the component ID
1606 --
1607 l_last_updated_by_f := fnd_load_util.owner_id(p_owner);
1608 l_last_update_date_f :=
1609 nvl(TO_DATE(p_last_update_date, 'YYYY/MM/DD'), sysdate);
1610 l_layout_component_id :=
1611 find_component_id(
1612 p_component_name=> p_component_name,
1613 p_layout_name=> p_layout_name
1614 );
1615 --
1616 l_region_app_id :=
1617 find_application_id(
1618 p_application_short_name=> p_region_app_short_name
1619 );
1620 --
1621 l_attribute_app_id :=
1622 find_application_id(
1623 p_application_short_name=> p_attribute_app_short_name
1624 );
1625
1626 --
1627 BEGIN
1628 -- check to see if the row exists
1629 SELECT lcp.layout_comp_prompt_id,
1630 lcp.object_version_number,
1631 last_update_date,
1632 last_updated_by
1633 INTO l_layout_comp_prompt_id,
1634 l_object_version_number,
1635 l_last_update_date_db,
1636 l_last_updated_by_db
1637 FROM hxc_layout_comp_prompts lcp
1638 WHERE lcp.prompt_alias = p_prompt_alias
1639 AND lcp.prompt_type = p_prompt_type
1640 AND lcp.layout_component_id = l_layout_component_id;
1641
1642 IF (fnd_load_util.upload_test(
1643 l_last_updated_by_f,
1644 l_last_update_date_f,
1645 l_last_updated_by_db,
1646 l_last_update_date_db,
1647 p_custom_mode
1648 )
1649 )
1650 THEN
1651 --
1652 -- Use the Row handler to update the row
1653 --
1654 hxc_ulp_upd.upd(
1655 p_layout_component_id=> l_layout_component_id,
1656 p_prompt_alias=> p_prompt_alias,
1657 p_prompt_type=> p_prompt_type,
1658 p_region_code=> p_region_code,
1659 p_region_application_id=> l_region_app_id,
1660 p_attribute_code=> p_attribute_code,
1661 p_attribute_application_id=> l_attribute_app_id,
1662 p_layout_comp_prompt_id=> l_layout_comp_prompt_id,
1663 p_object_version_number=> l_object_version_number
1664 );
1665 ELSE
1666 IF hxc_layouts_upload_pkg.g_force_ok
1667 THEN
1668 hxc_ulp_upd.upd(
1669 p_layout_component_id=> l_layout_component_id,
1670 p_prompt_alias=> p_prompt_alias,
1671 p_prompt_type=> p_prompt_type,
1672 p_region_code=> p_region_code,
1673 p_region_application_id=> l_region_app_id,
1674 p_attribute_code=> p_attribute_code,
1675 p_attribute_application_id=> l_attribute_app_id,
1676 p_layout_comp_prompt_id=> l_layout_comp_prompt_id,
1677 p_object_version_number=> l_object_version_number
1678 );
1679 END IF; -- HXC_layouts_upload_pkg.g_force_ok
1680 END IF; -- p_custom_mode = 'FORCE'
1681 EXCEPTION
1682 WHEN no_data_found
1683 THEN
1684 --
1685 -- Use the Row handler to insert the row
1686 --
1687
1688 hxc_ulp_ins.ins(
1689 p_layout_component_id=> l_layout_component_id,
1690 p_prompt_alias=> p_prompt_alias,
1691 p_prompt_type=> p_prompt_type,
1692 p_region_code=> p_region_code,
1693 p_region_application_id=> l_region_app_id,
1694 p_attribute_code=> p_attribute_code,
1695 p_attribute_application_id=> l_attribute_app_id,
1696 p_layout_comp_prompt_id=> l_layout_comp_prompt_id,
1697 p_object_version_number=> l_object_version_number
1698 );
1699 END;
1700 END load_prompt_row;
1701
1702
1703 -- =================================================================
1704 -- == load_qualifier_row
1705 -- =================================================================
1706 PROCEDURE load_qualifier_row(
1707 p_component_name IN VARCHAR2,
1708 p_qualifier_name IN VARCHAR2,
1709 p_owner IN VARCHAR2,
1710 p_qualifier_attribute_category IN VARCHAR2,
1711 p_qualifier_attribute1 IN VARCHAR2,
1712 p_qualifier_attribute2 IN VARCHAR2,
1713 p_qualifier_attribute3 IN VARCHAR2,
1714 p_qualifier_attribute4 IN VARCHAR2,
1715 p_qualifier_attribute5 IN VARCHAR2,
1716 p_qualifier_attribute6 IN VARCHAR2,
1717 p_qualifier_attribute7 IN VARCHAR2,
1718 p_qualifier_attribute8 IN VARCHAR2,
1719 p_qualifier_attribute9 IN VARCHAR2,
1720 p_qualifier_attribute10 IN VARCHAR2,
1721 p_qualifier_attribute11 IN VARCHAR2,
1722 p_qualifier_attribute12 IN VARCHAR2,
1726 p_qualifier_attribute16 IN VARCHAR2,
1723 p_qualifier_attribute13 IN VARCHAR2,
1724 p_qualifier_attribute14 IN VARCHAR2,
1725 p_qualifier_attribute15 IN VARCHAR2,
1727 p_qualifier_attribute17 IN VARCHAR2,
1728 p_qualifier_attribute18 IN VARCHAR2,
1729 p_qualifier_attribute19 IN VARCHAR2,
1730 p_qualifier_attribute20 IN VARCHAR2,
1731 p_qualifier_attribute21 IN VARCHAR2,
1732 p_qualifier_attribute22 IN VARCHAR2,
1733 p_qualifier_attribute23 IN VARCHAR2,
1734 p_qualifier_attribute24 IN VARCHAR2,
1735 p_qualifier_attribute25 IN VARCHAR2,
1736 p_qualifier_attribute26 IN VARCHAR2,
1737 p_qualifier_attribute27 IN VARCHAR2,
1738 p_qualifier_attribute28 IN VARCHAR2,
1739 p_qualifier_attribute29 IN VARCHAR2,
1740 p_qualifier_attribute30 IN VARCHAR2,
1741 p_layout_name IN VARCHAR2,
1742 p_custom_mode IN VARCHAR2 DEFAULT NULL,
1743 p_last_update_date IN VARCHAR2
1744 )
1745 IS
1746
1747 --
1748 l_layout_component_id hxc_layout_components.layout_component_id%TYPE;
1749 l_layout_comp_qualifier_id hxc_layout_comp_qualifiers.layout_comp_qualifier_id%TYPE;
1750 l_object_version_number hxc_layout_comp_qualifiers.object_version_number%TYPE;
1751
1752 --
1753 l_last_update_date_db DATE;
1754 l_last_updated_by_db NUMBER(15);
1755 l_last_updated_by_f NUMBER(15);
1756 l_last_update_date_f DATE;
1757 BEGIN
1758 --
1759 l_last_updated_by_f := fnd_load_util.owner_id(p_owner);
1760 l_last_update_date_f :=
1761 nvl(TO_DATE(p_last_update_date, 'YYYY/MM/DD'), sysdate);
1762 -- Find the component ID
1763 --
1764 l_layout_component_id :=
1765 find_component_id(
1766 p_component_name=> p_component_name,
1767 p_layout_name=> p_layout_name
1768 );
1769
1770 BEGIN
1771 -- check to see the row exists
1772 SELECT layout_comp_qualifier_id,
1773 object_version_number,
1774 last_update_date,
1775 last_updated_by
1776 INTO l_layout_comp_qualifier_id,
1777 l_object_version_number,
1778 l_last_update_date_db,
1779 l_last_updated_by_db
1780 FROM hxc_layout_comp_qualifiers
1781 WHERE qualifier_name = p_qualifier_name
1782 AND layout_component_id = l_layout_component_id;
1783
1784 IF (fnd_load_util.upload_test(
1785 l_last_updated_by_f,
1786 l_last_update_date_f,
1787 l_last_updated_by_db,
1788 l_last_update_date_db,
1789 p_custom_mode
1790 )
1791 )
1792 THEN
1793 --
1794 -- Use the Row handler to update the row
1795 --
1796 hxc_ulq_upd.upd(
1797 p_layout_component_id=> l_layout_component_id,
1798 p_qualifier_name=> p_qualifier_name,
1799 p_qualifier_attribute_category=> p_qualifier_attribute_category,
1800 p_qualifier_attribute1=> p_qualifier_attribute1,
1801 p_qualifier_attribute2=> p_qualifier_attribute2,
1802 p_qualifier_attribute3=> p_qualifier_attribute3,
1803 p_qualifier_attribute4=> p_qualifier_attribute4,
1804 p_qualifier_attribute5=> p_qualifier_attribute5,
1805 p_qualifier_attribute6=> p_qualifier_attribute6,
1806 p_qualifier_attribute7=> p_qualifier_attribute7,
1807 p_qualifier_attribute8=> p_qualifier_attribute8,
1808 p_qualifier_attribute9=> p_qualifier_attribute9,
1809 p_qualifier_attribute10=> p_qualifier_attribute10,
1810 p_qualifier_attribute11=> p_qualifier_attribute11,
1811 p_qualifier_attribute12=> p_qualifier_attribute12,
1812 p_qualifier_attribute13=> p_qualifier_attribute13,
1813 p_qualifier_attribute14=> p_qualifier_attribute14,
1814 p_qualifier_attribute15=> p_qualifier_attribute15,
1815 p_qualifier_attribute16=> p_qualifier_attribute16,
1816 p_qualifier_attribute17=> p_qualifier_attribute17,
1817 p_qualifier_attribute18=> p_qualifier_attribute18,
1818 p_qualifier_attribute19=> p_qualifier_attribute19,
1819 p_qualifier_attribute20=> p_qualifier_attribute20,
1820 p_qualifier_attribute21=> p_qualifier_attribute21,
1821 p_qualifier_attribute22=> p_qualifier_attribute22,
1822 p_qualifier_attribute23=> p_qualifier_attribute23,
1823 p_qualifier_attribute24=> p_qualifier_attribute24,
1824 p_qualifier_attribute25=> p_qualifier_attribute25,
1825 p_qualifier_attribute26=> p_qualifier_attribute26,
1826 p_qualifier_attribute27=> p_qualifier_attribute27,
1827 p_qualifier_attribute28=> p_qualifier_attribute28,
1828 p_qualifier_attribute29=> p_qualifier_attribute29,
1832 );
1829 p_qualifier_attribute30=> p_qualifier_attribute30,
1830 p_layout_comp_qualifier_id=> l_layout_comp_qualifier_id,
1831 p_object_version_number=> l_object_version_number
1833 ELSE
1834 IF hxc_layouts_upload_pkg.g_force_ok
1835 THEN
1836 hxc_ulq_upd.upd(
1837 p_layout_component_id=> l_layout_component_id,
1838 p_qualifier_name=> p_qualifier_name,
1839 p_qualifier_attribute_category=> p_qualifier_attribute_category,
1840 p_qualifier_attribute1=> p_qualifier_attribute1,
1841 p_qualifier_attribute2=> p_qualifier_attribute2,
1842 p_qualifier_attribute3=> p_qualifier_attribute3,
1843 p_qualifier_attribute4=> p_qualifier_attribute4,
1844 p_qualifier_attribute5=> p_qualifier_attribute5,
1845 p_qualifier_attribute6=> p_qualifier_attribute6,
1846 p_qualifier_attribute7=> p_qualifier_attribute7,
1847 p_qualifier_attribute8=> p_qualifier_attribute8,
1848 p_qualifier_attribute9=> p_qualifier_attribute9,
1849 p_qualifier_attribute10=> p_qualifier_attribute10,
1850 p_qualifier_attribute11=> p_qualifier_attribute11,
1851 p_qualifier_attribute12=> p_qualifier_attribute12,
1852 p_qualifier_attribute13=> p_qualifier_attribute13,
1853 p_qualifier_attribute14=> p_qualifier_attribute14,
1854 p_qualifier_attribute15=> p_qualifier_attribute15,
1855 p_qualifier_attribute16=> p_qualifier_attribute16,
1856 p_qualifier_attribute17=> p_qualifier_attribute17,
1857 p_qualifier_attribute18=> p_qualifier_attribute18,
1858 p_qualifier_attribute19=> p_qualifier_attribute19,
1859 p_qualifier_attribute20=> p_qualifier_attribute20,
1860 p_qualifier_attribute21=> p_qualifier_attribute21,
1861 p_qualifier_attribute22=> p_qualifier_attribute22,
1862 p_qualifier_attribute23=> p_qualifier_attribute23,
1863 p_qualifier_attribute24=> p_qualifier_attribute24,
1864 p_qualifier_attribute25=> p_qualifier_attribute25,
1865 p_qualifier_attribute26=> p_qualifier_attribute26,
1866 p_qualifier_attribute27=> p_qualifier_attribute27,
1867 p_qualifier_attribute28=> p_qualifier_attribute28,
1868 p_qualifier_attribute29=> p_qualifier_attribute29,
1869 p_qualifier_attribute30=> p_qualifier_attribute30,
1873 END IF; -- HXC_layouts_upload_pkg.g_force_ok
1870 p_layout_comp_qualifier_id=> l_layout_comp_qualifier_id,
1871 p_object_version_number=> l_object_version_number
1872 );
1874 END IF; -- p_custom_mode = 'FORCE'
1875 EXCEPTION
1876 WHEN no_data_found
1877 THEN
1878 --
1879 -- Use the Row handler to insert the row
1880 --
1881 hxc_ulq_ins.ins(
1882 p_layout_component_id=> l_layout_component_id,
1883 p_qualifier_name=> p_qualifier_name,
1884 p_qualifier_attribute_category=> p_qualifier_attribute_category,
1885 p_qualifier_attribute1=> p_qualifier_attribute1,
1886 p_qualifier_attribute2=> p_qualifier_attribute2,
1887 p_qualifier_attribute3=> p_qualifier_attribute3,
1888 p_qualifier_attribute4=> p_qualifier_attribute4,
1889 p_qualifier_attribute5=> p_qualifier_attribute5,
1890 p_qualifier_attribute6=> p_qualifier_attribute6,
1891 p_qualifier_attribute7=> p_qualifier_attribute7,
1892 p_qualifier_attribute8=> p_qualifier_attribute8,
1893 p_qualifier_attribute9=> p_qualifier_attribute9,
1894 p_qualifier_attribute10=> p_qualifier_attribute10,
1895 p_qualifier_attribute11=> p_qualifier_attribute11,
1896 p_qualifier_attribute12=> p_qualifier_attribute12,
1897 p_qualifier_attribute13=> p_qualifier_attribute13,
1898 p_qualifier_attribute14=> p_qualifier_attribute14,
1899 p_qualifier_attribute15=> p_qualifier_attribute15,
1900 p_qualifier_attribute16=> p_qualifier_attribute16,
1901 p_qualifier_attribute17=> p_qualifier_attribute17,
1902 p_qualifier_attribute18=> p_qualifier_attribute18,
1903 p_qualifier_attribute19=> p_qualifier_attribute19,
1904 p_qualifier_attribute20=> p_qualifier_attribute20,
1905 p_qualifier_attribute21=> p_qualifier_attribute21,
1906 p_qualifier_attribute22=> p_qualifier_attribute22,
1907 p_qualifier_attribute23=> p_qualifier_attribute23,
1908 p_qualifier_attribute24=> p_qualifier_attribute24,
1909 p_qualifier_attribute25=> p_qualifier_attribute25,
1910 p_qualifier_attribute26=> p_qualifier_attribute26,
1911 p_qualifier_attribute27=> p_qualifier_attribute27,
1912 p_qualifier_attribute28=> p_qualifier_attribute28,
1913 p_qualifier_attribute29=> p_qualifier_attribute29,
1914 p_qualifier_attribute30=> p_qualifier_attribute30,
1915 p_layout_comp_qualifier_id=> l_layout_comp_qualifier_id,
1916 p_object_version_number=> l_object_version_number
1917 );
1918 END;
1919 END load_qualifier_row;
1920 -- =================================================================
1921 -- == load_rule_row
1922 -- =================================================================
1923 /*
1924 PROCEDURE LOAD_RULE_ROW
1925 (P_QUALIFIER_NAME IN VARCHAR2
1926 ,P_RULE_NAME IN VARCHAR2
1927 ,P_OWNER IN VARCHAR2
1928 ,P_RULE_TYPE IN VARCHAR2
1929 ,P_RULE_DETAIL IN VARCHAR2
1930 ,P_RULE_VALUE IN VARCHAR2
1931 ,P_CUSTOM_MODE IN VARCHAR2
1932 )
1933 IS
1934 --
1935 l_layout_comp_qualifier_id HXC_LAYOUT_COMP_QUALIFIERS.LAYOUT_COMP_QUALIFIER_ID%TYPE;
1936 l_layout_comp_qual_rule_id HXC_LAYOUT_COMP_QUAL_RULES.LAYOUT_COMP_QUAL_RULE_ID%TYPE;
1937 l_object_version_number HXC_LAYOUT_COMP_QUAL_RULES.OBJECT_VERSION_NUMBER%TYPE;
1938 --
1939 BEGIN
1940 --
1941 -- Obtain the qualifier id
1942 --
1943 l_layout_comp_qualifier_id :=
1944 find_comp_qualifier_id
1945 (P_COMP_QUALIFIER_NAME => P_QUALIFIER_NAME
1946 );
1947 --
1948 BEGIN
1949 SELECT layout_comp_qual_rule_id
1950 ,object_version_number
1951 INTO l_layout_comp_qual_rule_id
1952 ,l_object_version_number
1953 FROM HXC_LAYOUT_COMP_QUAL_RULES
1954 WHERE rule_name = p_rule_name;
1955
1956 IF (p_custom_mode = 'FORCE') THEN
1957 --
1958 -- Use the row handler to update the rule data
1959 --
1960 HXC_ULR_UPD.UPD
1961 (P_RULE_NAME => P_RULE_NAME
1962 ,P_RULE_TYPE => P_RULE_TYPE
1963 ,P_LAYOUT_COMP_QUALIFIER_ID => l_layout_comp_qualifier_id
1964 ,P_RULE_DETAIL => P_RULE_DETAIL
1965 ,P_RULE_VALUE => P_RULE_VALUE
1966 ,P_LAYOUT_COMP_QUAL_RULE_ID => l_layout_comp_qual_rule_id
1967 ,P_OBJECT_VERSION_NUMBER => l_object_version_number
1968 );
1969 ELSE
1970 IF HXC_layouts_upload_pkg.g_force_ok THEN
1971 --
1972 -- Use the row handler to update the rule data
1973 --
1974 HXC_ULR_UPD.UPD
1975 (P_RULE_NAME => P_RULE_NAME
1976 ,P_RULE_TYPE => P_RULE_TYPE
1977 ,P_LAYOUT_COMP_QUALIFIER_ID => l_layout_comp_qualifier_id
1978 ,P_RULE_DETAIL => P_RULE_DETAIL
1979 ,P_RULE_VALUE => P_RULE_VALUE
1980 ,P_LAYOUT_COMP_QUAL_RULE_ID => l_layout_comp_qual_rule_id
1981 ,P_OBJECT_VERSION_NUMBER => l_object_version_number
1982 );
1983 END IF; -- HXC_layouts_upload_pkg.g_force_ok
1984 END IF; -- p_custom_mode = 'FORCE'
1985 EXCEPTION WHEN NO_DATA_FOUND THEN
1986 --
1987 -- Use the row handler to insert the rule data
1988 --
1989 HXC_ULR_INS.INS
1990 (P_RULE_NAME => P_RULE_NAME
1991 ,P_RULE_TYPE => P_RULE_TYPE
1992 ,P_LAYOUT_COMP_QUALIFIER_ID => l_layout_comp_qualifier_id
1993 ,P_RULE_DETAIL => P_RULE_DETAIL
1994 ,P_RULE_VALUE => P_RULE_VALUE
1995 ,P_LAYOUT_COMP_QUAL_RULE_ID => l_layout_comp_qual_rule_id
1996 ,P_OBJECT_VERSION_NUMBER => l_object_version_number
1997 );
1998 END;
1999 END LOAD_RULE_ROW;
2000 */
2001
2002 END hxc_layouts_upload_pkg;