[Home] [Help]
PACKAGE BODY: APPS.BEN_XFI_SHD
Source
1 Package Body ben_xfi_shd as
2 /* $Header: bexfirhi.pkb 120.0 2005/05/28 12:33:36 appldev noship $ */
3 --
4 -- ----------------------------------------------------------------------------
5 -- | Private Global Definitions |
6 -- ----------------------------------------------------------------------------
7 --
8 g_package varchar2(33) := ' ben_xfi_shd.'; -- Global package name
9 --
10 -- ----------------------------------------------------------------------------
11 -- |------------------------< return_api_dml_status >-------------------------|
12 -- ----------------------------------------------------------------------------
13 Function return_api_dml_status Return Boolean Is
14 --
15 l_proc varchar2(72) := g_package||'return_api_dml_status';
16 --
17 Begin
18 hr_utility.set_location('Entering:'||l_proc, 5);
19 --
20 Return (nvl(g_api_dml, false));
21 --
22 hr_utility.set_location(' Leaving:'||l_proc, 10);
23 End return_api_dml_status;
24 --
25 -- ----------------------------------------------------------------------------
26 -- |---------------------------< constraint_error >---------------------------|
27 -- ----------------------------------------------------------------------------
28 Procedure constraint_error
29 (p_constraint_name in all_constraints.constraint_name%TYPE) Is
30 --
31 l_proc varchar2(72) := g_package||'constraint_error';
32 cursor c1 is
33 select xdf.name
34 from ben_ext_dfn xdf
35 where xdf.ext_file_id = g_old_rec.ext_file_id;
36
37 l_name varchar2(100);
38 --
39 Begin
40 hr_utility.set_location('Entering:'||l_proc, 5);
41 --
42 If (p_constraint_name = 'BEN_EXT_FILE_FK1') Then
43 fnd_message.set_name('PAY', 'HR_6153_ALL_PROCEDURE_FAIL');
44 fnd_message.set_token('PROCEDURE', l_proc);
45 fnd_message.set_token('STEP','5');
46 fnd_message.raise_error;
47 ElsIf (p_constraint_name = 'BEN_EXT_FILE_PK') Then
48 fnd_message.set_name('PAY', 'HR_6153_ALL_PROCEDURE_FAIL');
49 fnd_message.set_token('PROCEDURE', l_proc);
50 fnd_message.set_token('STEP','10');
51 fnd_message.raise_error;
52 ElsIf (p_constraint_name = 'BEN_EXT_RCD_IN_FILE_FK1') Then
53 fnd_message.set_name('BEN', 'BEN_92485_XRF_EXISTS2');
54 fnd_message.raise_error;
55 ElsIf (p_constraint_name = 'BEN_EXT_DFN_FK2') Then
56 open c1;
57 fetch c1 into l_name;
58 close c1;
59 fnd_message.set_name('BEN', 'BEN_92484_XDF_EXISTS');
60 fnd_message.set_token('EXT_NAME', l_name);
61 fnd_message.raise_error;
62 Else
63 fnd_message.set_name('PAY', 'HR_7877_API_INVALID_CONSTRAINT');
64 fnd_message.set_token('PROCEDURE', l_proc);
65 fnd_message.set_token('CONSTRAINT_NAME', p_constraint_name);
66 fnd_message.raise_error;
67 End If;
68 --
69 hr_utility.set_location(' Leaving:'||l_proc, 10);
70 End constraint_error;
71 --
72 -- ----------------------------------------------------------------------------
73 -- |-----------------------------< api_updating >-----------------------------|
74 -- ----------------------------------------------------------------------------
75 Function api_updating
76 (
77 p_ext_file_id in number,
78 p_object_version_number in number
79 ) Return Boolean Is
80 --
81 --
82 -- Cursor selects the 'current' row from the HR Schema
83 --
84 Cursor C_Sel1 is
85 select
86 ext_file_id,
87 name,
88 xml_tag_name,
89 business_group_id,
90 legislation_code,
91 xfi_attribute_category,
92 xfi_attribute1,
93 xfi_attribute2,
94 xfi_attribute3,
95 xfi_attribute4,
96 xfi_attribute5,
97 xfi_attribute6,
98 xfi_attribute7,
99 xfi_attribute8,
100 xfi_attribute9,
101 xfi_attribute10,
102 xfi_attribute11,
103 xfi_attribute12,
104 xfi_attribute13,
105 xfi_attribute14,
106 xfi_attribute15,
107 xfi_attribute16,
108 xfi_attribute17,
109 xfi_attribute18,
110 xfi_attribute19,
111 xfi_attribute20,
112 xfi_attribute21,
113 xfi_attribute22,
114 xfi_attribute23,
115 xfi_attribute24,
116 xfi_attribute25,
117 xfi_attribute26,
118 xfi_attribute27,
119 xfi_attribute28,
120 xfi_attribute29,
121 xfi_attribute30,
122 ext_rcd_in_file_id ,
123 ext_data_elmt_in_rcd_id1,
124 ext_data_elmt_in_rcd_id2,
125 last_update_date,
126 creation_date,
127 last_updated_by,
128 last_update_login,
129 created_by ,
130 object_version_number
131 from ben_ext_file
132 where ext_file_id = p_ext_file_id;
133 --
134 l_proc varchar2(72) := g_package||'api_updating';
135 l_fct_ret boolean;
136 --
137 Begin
138 hr_utility.set_location('Entering:'||l_proc, 5);
139 --
140 If (
141 p_ext_file_id is null and
142 p_object_version_number is null
143 ) Then
144 --
145 -- One of the primary key arguments is null therefore we must
146 -- set the returning function value to false
147 --
148 l_fct_ret := false;
149 Else
150 If (
151 p_ext_file_id = g_old_rec.ext_file_id and
152 p_object_version_number = g_old_rec.object_version_number
153 ) Then
154 hr_utility.set_location(l_proc, 10);
155 --
156 -- The g_old_rec is current therefore we must
157 -- set the returning function to true
158 --
159 l_fct_ret := true;
160 Else
161 --
162 -- Select the current row into g_old_rec
163 --
164 Open C_Sel1;
165 Fetch C_Sel1 Into g_old_rec;
166 If C_Sel1%notfound Then
167 Close C_Sel1;
168 --
169 -- The primary key is invalid therefore we must error
170 --
171 fnd_message.set_name('PAY', 'HR_7220_INVALID_PRIMARY_KEY');
172 fnd_message.raise_error;
173 End If;
174 Close C_Sel1;
175 If (p_object_version_number <> g_old_rec.object_version_number) Then
176 fnd_message.set_name('PAY', 'HR_7155_OBJECT_INVALID');
177 fnd_message.raise_error;
178 End If;
179 hr_utility.set_location(l_proc, 15);
180 l_fct_ret := true;
181 End If;
182 End If;
183 hr_utility.set_location(' Leaving:'||l_proc, 20);
184 Return (l_fct_ret);
185 --
186 End api_updating;
187 --
188 -- ----------------------------------------------------------------------------
189 -- |---------------------------------< lck >----------------------------------|
190 -- ----------------------------------------------------------------------------
191 Procedure lck
192 (
193 p_ext_file_id in number,
194 p_object_version_number in number
195 ) is
196 --
197 -- Cursor selects the 'current' row from the HR Schema
198 --
199 Cursor C_Sel1 is
200 select ext_file_id,
201 name,
202 xml_tag_name,
203 business_group_id,
204 legislation_code,
205 xfi_attribute_category,
206 xfi_attribute1,
207 xfi_attribute2,
208 xfi_attribute3,
209 xfi_attribute4,
210 xfi_attribute5,
211 xfi_attribute6,
212 xfi_attribute7,
213 xfi_attribute8,
214 xfi_attribute9,
215 xfi_attribute10,
216 xfi_attribute11,
217 xfi_attribute12,
218 xfi_attribute13,
219 xfi_attribute14,
220 xfi_attribute15,
221 xfi_attribute16,
222 xfi_attribute17,
223 xfi_attribute18,
224 xfi_attribute19,
225 xfi_attribute20,
226 xfi_attribute21,
227 xfi_attribute22,
228 xfi_attribute23,
229 xfi_attribute24,
230 xfi_attribute25,
231 xfi_attribute26,
232 xfi_attribute27,
233 xfi_attribute28,
234 xfi_attribute29,
235 xfi_attribute30,
236 ext_rcd_in_file_id ,
237 ext_data_elmt_in_rcd_id1 ,
238 ext_data_elmt_in_rcd_id2 ,
239 last_update_date,
240 creation_date,
241 last_updated_by,
242 last_update_login,
243 created_by ,
244 object_version_number
245 from ben_ext_file
246 where ext_file_id = p_ext_file_id
247 for update nowait;
248 --
249 l_proc varchar2(72) := g_package||'lck';
250 --
251 Begin
252 hr_utility.set_location('Entering:'||l_proc, 5);
253 --
254 -- Add any mandatory argument checking here:
255 -- Example:
256 -- hr_api.mandatory_arg_error
257 -- (p_api_name => l_proc,
258 -- p_argument => 'object_version_number',
259 -- p_argument_value => p_object_version_number);
260 --
261 Open C_Sel1;
262 Fetch C_Sel1 Into g_old_rec;
263 If C_Sel1%notfound then
264 Close C_Sel1;
265 --
266 -- The primary key is invalid therefore we must error
267 --
268 fnd_message.set_name('PAY', 'HR_7220_INVALID_PRIMARY_KEY');
269 fnd_message.raise_error;
270 End If;
271 Close C_Sel1;
272 If (p_object_version_number <> g_old_rec.object_version_number) Then
273 fnd_message.set_name('PAY', 'HR_7155_OBJECT_INVALID');
274 fnd_message.raise_error;
275 End If;
276 --
277 hr_utility.set_location(' Leaving:'||l_proc, 10);
278 --
279 -- We need to trap the ORA LOCK exception
280 --
281 Exception
282 When HR_Api.Object_Locked then
283 --
284 -- The object is locked therefore we need to supply a meaningful
285 -- error message.
286 --
287 fnd_message.set_name('PAY', 'HR_7165_OBJECT_LOCKED');
288 fnd_message.set_token('TABLE_NAME', 'ben_ext_file');
289 fnd_message.raise_error;
290 End lck;
291 --
292 -- ----------------------------------------------------------------------------
293 -- |-----------------------------< convert_args >-----------------------------|
294 -- ----------------------------------------------------------------------------
295 Function convert_args
296 (
297 p_ext_file_id in number,
298 p_name in varchar2,
299 p_xml_tag_name in varchar2,
300 p_business_group_id in number,
301 p_legislation_code in varchar2,
302 p_xfi_attribute_category in varchar2,
303 p_xfi_attribute1 in varchar2,
304 p_xfi_attribute2 in varchar2,
305 p_xfi_attribute3 in varchar2,
306 p_xfi_attribute4 in varchar2,
307 p_xfi_attribute5 in varchar2,
308 p_xfi_attribute6 in varchar2,
309 p_xfi_attribute7 in varchar2,
310 p_xfi_attribute8 in varchar2,
311 p_xfi_attribute9 in varchar2,
312 p_xfi_attribute10 in varchar2,
313 p_xfi_attribute11 in varchar2,
314 p_xfi_attribute12 in varchar2,
315 p_xfi_attribute13 in varchar2,
316 p_xfi_attribute14 in varchar2,
317 p_xfi_attribute15 in varchar2,
318 p_xfi_attribute16 in varchar2,
319 p_xfi_attribute17 in varchar2,
320 p_xfi_attribute18 in varchar2,
321 p_xfi_attribute19 in varchar2,
322 p_xfi_attribute20 in varchar2,
323 p_xfi_attribute21 in varchar2,
324 p_xfi_attribute22 in varchar2,
325 p_xfi_attribute23 in varchar2,
326 p_xfi_attribute24 in varchar2,
327 p_xfi_attribute25 in varchar2,
328 p_xfi_attribute26 in varchar2,
329 p_xfi_attribute27 in varchar2,
330 p_xfi_attribute28 in varchar2,
331 p_xfi_attribute29 in varchar2,
332 p_xfi_attribute30 in varchar2,
333 p_ext_rcd_in_file_id in number ,
334 p_ext_data_elmt_in_rcd_id1 in number ,
335 p_ext_data_elmt_in_rcd_id2 in number ,
336 p_last_update_date in date,
337 p_creation_date in date,
338 p_last_updated_by in number,
339 p_last_update_login in number,
340 p_created_by in number,
341 p_object_version_number in number
342 )
343 Return g_rec_type is
344 --
345 l_rec g_rec_type;
346 l_proc varchar2(72) := g_package||'convert_args';
347 --
348 Begin
349 --
350 hr_utility.set_location('Entering:'||l_proc, 5);
351 --
352 -- Convert arguments into local l_rec structure.
353 --
354 l_rec.ext_file_id := p_ext_file_id;
355 l_rec.name := p_name;
356 l_rec.xml_tag_name := p_xml_tag_name;
357 l_rec.business_group_id := p_business_group_id;
358 l_rec.legislation_code := p_legislation_code;
359 l_rec.xfi_attribute_category := p_xfi_attribute_category;
360 l_rec.xfi_attribute1 := p_xfi_attribute1;
361 l_rec.xfi_attribute2 := p_xfi_attribute2;
362 l_rec.xfi_attribute3 := p_xfi_attribute3;
363 l_rec.xfi_attribute4 := p_xfi_attribute4;
364 l_rec.xfi_attribute5 := p_xfi_attribute5;
365 l_rec.xfi_attribute6 := p_xfi_attribute6;
366 l_rec.xfi_attribute7 := p_xfi_attribute7;
367 l_rec.xfi_attribute8 := p_xfi_attribute8;
368 l_rec.xfi_attribute9 := p_xfi_attribute9;
369 l_rec.xfi_attribute10 := p_xfi_attribute10;
370 l_rec.xfi_attribute11 := p_xfi_attribute11;
371 l_rec.xfi_attribute12 := p_xfi_attribute12;
372 l_rec.xfi_attribute13 := p_xfi_attribute13;
373 l_rec.xfi_attribute14 := p_xfi_attribute14;
374 l_rec.xfi_attribute15 := p_xfi_attribute15;
375 l_rec.xfi_attribute16 := p_xfi_attribute16;
376 l_rec.xfi_attribute17 := p_xfi_attribute17;
377 l_rec.xfi_attribute18 := p_xfi_attribute18;
378 l_rec.xfi_attribute19 := p_xfi_attribute19;
379 l_rec.xfi_attribute20 := p_xfi_attribute20;
380 l_rec.xfi_attribute21 := p_xfi_attribute21;
381 l_rec.xfi_attribute22 := p_xfi_attribute22;
382 l_rec.xfi_attribute23 := p_xfi_attribute23;
383 l_rec.xfi_attribute24 := p_xfi_attribute24;
384 l_rec.xfi_attribute25 := p_xfi_attribute25;
385 l_rec.xfi_attribute26 := p_xfi_attribute26;
386 l_rec.xfi_attribute27 := p_xfi_attribute27;
387 l_rec.xfi_attribute28 := p_xfi_attribute28;
388 l_rec.xfi_attribute29 := p_xfi_attribute29;
389 l_rec.xfi_attribute30 := p_xfi_attribute30;
390 l_rec.ext_rcd_in_file_id := p_ext_rcd_in_file_id;
391 l_rec.ext_data_elmt_in_rcd_id1 := p_ext_data_elmt_in_rcd_id1 ;
392 l_rec.ext_data_elmt_in_rcd_id2 := p_ext_data_elmt_in_rcd_id2 ;
393 l_rec.last_update_date := p_last_update_date;
394 l_rec.creation_date := p_creation_date;
395 l_rec.last_updated_by := p_last_updated_by;
396 l_rec.last_update_login := p_last_update_login;
397 l_rec.created_by := p_created_by;
398 l_rec.object_version_number := p_object_version_number;
399 --
400 -- Return the plsql record structure.
401 --
402 hr_utility.set_location(' Leaving:'||l_proc, 10);
403 Return(l_rec);
404 --
405 End convert_args;
406 --
407 end ben_xfi_shd;