[Home] [Help]
PACKAGE BODY: APPS.HXC_ALIAS_DEFN_UPLOAD_PKG
Source
1 PACKAGE BODY hxc_alias_defn_upload_pkg AS
2 /* $Header: hxcloddef.pkb 115.1 2002/09/03 12:09:27 ksethi noship $ */
3
4 FUNCTION find_alias_reference_object ( p_alias_type VARCHAR2,p_reference_object VARCHAR2 ) RETURN VARCHAR2 IS
5
6 CURSOR csr_get_alias_reference_object IS
7 (select ff.descriptive_flex_context_code
8 from fnd_descr_flex_contexts_vl ff
9 where ff.DESCRIPTIVE_FLEX_CONTEXT_NAME = p_reference_object
10 and p_alias_type = 'OTL_ALT_DDF'
11 union
12 select to_char(ff.FLEX_VALUE_SET_ID)
13 from fnd_flex_value_sets ff
14 where ff.FLEX_VALUE_SET_NAME = p_reference_object
15 and p_alias_type in ('VALUE_SET_NONE','VALUE_SET_TABLE')
16 );
17 l_alias_reference_object hxc_alias_types.reference_object%TYPE;
18 BEGIN
19 OPEN csr_get_alias_reference_object;
20 FETCH csr_get_alias_reference_object INTO l_alias_reference_object;
21 CLOSE csr_get_alias_reference_object;
22 RETURN l_alias_reference_object;
23 END find_alias_reference_object;
24
25
26 FUNCTION find_alias_type_id ( p_alias_type VARCHAR2,p_alias_reference_object VARCHAR2 ) RETURN number IS
27 CURSOR csr_get_alias_type_id IS
28 SELECT alias_type_id
29 FROM hxc_alias_types
30 WHERE alias_type = p_alias_type
31 and reference_object = p_alias_reference_object;
32 l_alias_type_id hxc_alias_types.alias_type_id%TYPE;
33 BEGIN
34 OPEN csr_get_alias_type_id;
35 FETCH csr_get_alias_type_id INTO l_alias_type_id;
36 CLOSE csr_get_alias_type_id;
37 RETURN l_alias_type_id;
38 END find_alias_type_id;
39
40
41 PROCEDURE load_alias_definition_row (
42 p_alias_definition_name IN VARCHAR2
43 , p_owner IN VARCHAR2
44 , p_legislation_code IN VARCHAR2
45 , p_alias_context_code IN VARCHAR2
46 , p_description IN VARCHAR2
47 , p_timecard_field IN VARCHAR2
48 , p_prompt IN VARCHAR2
49 , p_alias_type IN VARCHAR2
50 , p_reference_object IN VARCHAR2
51 , p_custom_mode IN VARCHAR2 ) IS
52
53 l_alias_type_id hxc_alias_types.alias_type_id%TYPE;
54 l_alias_reference_object hxc_alias_types.reference_object%TYPE;
55 l_alias_definition_id hxc_alias_definitions.alias_definition_id%TYPE;
56 l_business_group_id hxc_alias_definitions.business_group_id%TYPE;
57 l_legislation_code hxc_alias_definitions.legislation_code%TYPE;
58 l_alias_context_code hxc_alias_definitions.alias_context_code%TYPE;
59 l_description hxc_alias_definitions.description%TYPE;
60 l_alias_definition_name hxc_alias_definitions.alias_definition_name%TYPE;
61 l_timecard_field hxc_alias_definitions.timecard_field%TYPE;
62 l_ovn hxc_alias_definitions.object_version_number%TYPE;
63 l_owner VARCHAR2(6);
64
65 BEGIN
66 l_alias_reference_object:= find_alias_reference_object(p_alias_type, p_reference_object);
67 l_alias_type_id := find_alias_type_id(p_alias_type, l_alias_reference_object);
68
69
70 BEGIN
71 SELECT alias_definition_id
72 , DECODE( NVL(last_updated_by,-1), 1, 'SEED', 'CUSTOM')
73 , business_group_id
74 , legislation_code
75 , alias_context_code
76 , description
77 , alias_definition_name
78 , timecard_field
79 , object_version_number
80
81 INTO l_alias_definition_id
82 ,l_owner
83 ,l_business_group_id
84 ,l_legislation_code
85 ,l_alias_context_code
86 ,l_description
87 ,l_alias_definition_name
88 ,l_timecard_field
89 ,l_ovn
90
91 FROM hxc_alias_definitions had
92 WHERE had.alias_definition_name = p_alias_definition_name
93 and had.ALIAS_TYPE_ID = l_alias_type_id;
94
95 IF ( p_custom_mode = 'FORCE' OR l_owner = 'SEED' )
96 THEN
97 -- only update if the alias component mapping that has actually changed
98
99
100 hxc_had_upd.upd
101 (p_alias_definition_id => l_alias_definition_id
102 ,p_object_version_number => l_ovn
103 ,p_alias_definition_name => p_alias_definition_name
104 ,p_alias_context_code => p_alias_context_code
105 ,p_business_group_id => null
106 ,p_legislation_code => p_legislation_code
107 ,p_timecard_field => p_timecard_field
108 ,p_description => p_description
109 ,p_prompt => p_prompt
110 ,p_alias_type_id => l_alias_type_id
111 );
112
113 END IF;
114 EXCEPTION WHEN NO_DATA_FOUND
115 THEN
116 hxc_had_ins.ins
117 (p_alias_definition_name => p_alias_definition_name
118 ,p_alias_context_code => p_alias_context_code
119 ,p_business_group_id => null
120 ,p_legislation_code => p_legislation_code
121 ,p_timecard_field => p_timecard_field
122 ,p_description => p_description
123 ,p_prompt => p_prompt
124 ,p_alias_definition_id => l_alias_definition_id
125 ,p_object_version_number => l_ovn
126 ,p_alias_type_id => l_alias_type_id
127 );
128 END;
129 END load_alias_definition_row;
130 END hxc_alias_defn_upload_pkg;