[Home] [Help]
PACKAGE BODY: APPS.HR_API_MODULE_INTERNAL
Source
1 Package Body hr_api_module_internal as
2 /* $Header: peamdbsi.pkb 115.0 99/07/17 18:29:25 porting ship $ */
3 --
4 -- Package Variables
5 --
6 g_package varchar2(33) := ' hr_api_module_internal.';
7 --
8 -- ------------------------------------------------------------------------
9 -- |--------------------------< create_api_module >----------------------------|
10 -- ------------------------------------------------------------------------
11 --
12 procedure create_api_module
13 (p_validate in boolean default false,
14 p_effective_date in date,
15 p_api_module_type IN varchar2,
16 p_module_name IN varchar2,
17 p_data_within_business_group IN varchar2 default 'Y',
18 p_legislation_code IN varchar2 default null,
19 p_module_package IN varchar2 default null,
20 p_api_module_id OUT number) is
21 --
22 -- Declare cursors and local variables
23 --
24 l_effective_date date;
25 --
26 -- Out variables
27 --
28 l_api_module_id hr_api_modules.api_module_id%TYPE;
29 --
30 l_proc varchar2(72) := g_package||'create_module';
31 --
32 -- Declare a cursor that will check whether the passed
33 -- in module type and module name form a unique combination
34 --
35 cursor csr_valid_combo is
36 select api_module_id from hr_api_modules ham
37 where ham.module_name = p_module_name
38 and ham.api_module_type = p_api_module_type;
39 --
40 begin
41 hr_utility.set_location('Entering:'|| l_proc, 5);
42 --
43 -- Set l_effective_date equal to truncated version of p_effective_date for
44 -- API work. Stops dates being passed to row handlers with time portion.
45 --
46 l_effective_date := trunc(p_effective_date);
47 --
48 -- Issue a savepoint if operating in validation only mode.
49 --
50 if p_validate then
51 savepoint create_api_module;
52 end if;
53 --
54 hr_utility.set_location(l_proc, 10);
55 --
56 -- Validation in addition to Table Handlers
57 --
58 -- None required.
59 --
60 -- Process Logic
61 --
62 --------------------------------------------------------
63 -- Check for unique Module name and module type combo --
64 --------------------------------------------------------
65 open csr_valid_combo;
66 fetch csr_valid_combo into l_api_module_id;
67
68 -- If the module does not exist then create it.
69 -- Do not error if the module does exist, simply return.
70 --
71 if csr_valid_combo%notfound then
72 --
73 -- Insert the module.
74 --
75 hr_amd_ins.ins
76 (
77 p_api_module_id => l_api_module_id,
78 p_effective_date => l_effective_date,
79 p_api_module_type => p_api_module_type,
80 p_module_name => p_module_name,
81 p_data_within_business_group => p_data_within_business_group,
82 p_legislation_code => p_legislation_code,
83 p_module_package => p_module_package
84 );
85 end if;
86 close csr_valid_combo;
87 --
88 hr_utility.set_location(l_proc, 20);
89 --
90 -- When in validation only mode raise the Validate_Enabled exception
91 --
92 if p_validate then
93 raise hr_api.validate_enabled;
94 end if;
95 --
96 -- Set all output arguments
97 --
98 p_api_module_id := l_api_module_id;
99 --
100 hr_utility.set_location(' Leaving:'||l_proc, 100);
101 exception
102 when hr_api.validate_enabled then
103 --
104 -- Only set output warning arguments
105 -- (Any key or derived arguments must be set to null
106 -- when validation only mode is being used.)
107 --
108 p_api_module_id := null;
109 --
110 -- As the Validate_Enabled exception has been raised
111 -- we must rollback to the savepoint
112 --
113 ROLLBACK TO create_api_module;
114 --
115 end create_api_module;
116 --
117 -- ------------------------------------------------------------------------
118 -- |--------------------------< delete_api_module >----------------------------|
119 -- ------------------------------------------------------------------------
120 --
121 procedure delete_api_module
122 (p_validate in boolean default false,
123 p_api_module_id in number) is
124 --
125 l_proc varchar2(72) := g_package||'delete_api_module';
126 --
127 begin
128 hr_utility.set_location('Entering:'|| l_proc, 5);
129 --
130 -- Issue a savepoint if operating in validation only mode.
131 --
132 if p_validate then
133 savepoint delete_api_module;
134 end if;
135 --
136 hr_utility.set_location(l_proc, 10);
137 --
138 -- Validation in addition to Table Handlers
139 --
140 -- None required.
141 --
142 -- Process Logic
143 --
144 hr_amd_del.del
145 (p_api_module_id => p_api_module_id);
146 --
147 hr_utility.set_location(l_proc, 20);
148 --
149 -- When in validation only mode raise the Validate_Enabled exception
150 --
151 if p_validate then
152 raise hr_api.validate_enabled;
153 end if;
154 --
155 hr_utility.set_location(' Leaving:'||l_proc, 100);
156 exception
157 when hr_api.validate_enabled then
158 --
159 -- As the Validate_Enabled exception has been raised
160 -- we must rollback to the savepoint
161 --
162 ROLLBACK TO delete_api_module;
163 end delete_api_module;
164 --
165 --
166 -- ------------------------------------------------------------------------
167 -- |--------------------------< update_api_module >----------------------------|
168 -- ------------------------------------------------------------------------
169 --
170 procedure update_api_module
171 (p_validate in boolean default false,
172 p_api_module_id in number,
173 p_module_name IN varchar2 default hr_api.g_varchar2,
174 p_module_package IN varchar2 default hr_api.g_varchar2,
175 p_data_within_business_group IN varchar2 default hr_api.g_varchar2,
176 p_effective_date IN date
177 ) is
178 --
179 l_proc varchar2(72) := g_package||'update_api_module';
180 --
181 begin
182 hr_utility.set_location('Entering:'|| l_proc, 5);
183 --
184 -- Issue a savepoint if operating in validation only mode.
185 --
186 if p_validate then
187 savepoint update_api_module;
188 end if;
189 --
190 hr_utility.set_location(l_proc, 10);
191 --
192 -- Validation in addition to Table Handlers
193 --
194 -- None required.
195 --
196 -- Process Logic
197 --
198 hr_amd_upd.upd
199 (p_api_module_id => p_api_module_id,
200 p_module_name => p_module_name,
201 p_module_package => p_module_package,
202 p_data_within_business_group => p_data_within_business_group,
203 p_effective_date => p_effective_date
204 );
205 --
206 hr_utility.set_location(l_proc, 20);
207 --
208 -- When in validation only mode raise the Validate_Enabled exception
209 --
210 if p_validate then
211 raise hr_api.validate_enabled;
212 end if;
213 --
214 hr_utility.set_location(' Leaving:'||l_proc, 100);
215 exception
216 when hr_api.validate_enabled then
217 --
218 -- As the Validate_Enabled exception has been raised
219 -- we must rollback to the savepoint
220 --
221 ROLLBACK TO update_api_module;
222 end update_api_module;
223 --
224 end hr_api_module_internal;