[Home] [Help]
PACKAGE BODY: APPS.BEN_LSF_SHD
Source
1 Package Body ben_lsf_shd as
2 /* $Header: belsfrhi.pkb 120.0 2005/05/28 03:37:45 appldev noship $ */
3 --
4 -- ----------------------------------------------------------------------------
5 -- | Private Global Definitions |
6 -- ----------------------------------------------------------------------------
7 --
8 g_package varchar2(33) := ' ben_lsf_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 --
33 Begin
34 hr_utility.set_location('Entering:'||l_proc, 5);
35 --
36 If (p_constraint_name = 'BEN_LOS_FCTR_FK1') Then
37 fnd_message.set_name('PAY', 'HR_6153_ALL_PROCEDURE_FAIL');
38 fnd_message.set_token('PROCEDURE', l_proc);
39 fnd_message.set_token('STEP','5');
40 fnd_message.raise_error;
41 ElsIf (p_constraint_name = 'BEN_LOS_FCTR_PK') Then
42 fnd_message.set_name('PAY', 'HR_6153_ALL_PROCEDURE_FAIL');
43 fnd_message.set_token('PROCEDURE', l_proc);
44 fnd_message.set_token('STEP','10');
45 fnd_message.raise_error;
46 ElsIf (p_constraint_name = 'BEN_LOSE_RT_FK1') Then
47 ben_utility.child_exists_error(p_table_name => 'BEN_LOS_RT_F');
48 ElsIf (p_constraint_name = 'BEN_CMB_AGE_LGH_OF_SVC_FCT_FK2') Then
49 ben_utility.child_exists_error(p_table_name => 'BEN_CMBN_AGE_LGTH_OF_SVC_FCTR');
50 ElsIf (p_constraint_name = 'BEN_ELIG_LOS_PRTE_FK1') Then
51 ben_utility.child_exists_error(p_table_name => 'BEN_ELIG_LOS_PRTE_F');
52 ElsIf (p_constraint_name = 'BEN_VSTG_LOS_RQMT_FK1') Then
53 ben_utility.child_exists_error(p_table_name => 'BEN_VSTG_LOS_RQMT');
54 Else
55 fnd_message.set_name('PAY', 'HR_7877_API_INVALID_CONSTRAINT');
56 fnd_message.set_token('PROCEDURE', l_proc);
57 fnd_message.set_token('CONSTRAINT_NAME', p_constraint_name);
58 fnd_message.raise_error;
59 End If;
60 --
61 hr_utility.set_location(' Leaving:'||l_proc, 10);
62 End constraint_error;
63 --
64 -- ----------------------------------------------------------------------------
65 -- |-----------------------------< api_updating >-----------------------------|
66 -- ----------------------------------------------------------------------------
67 Function api_updating
68 (
69 p_los_fctr_id in number,
70 p_object_version_number in number
71 ) Return Boolean Is
72 --
73 --
74 -- Cursor selects the 'current' row from the HR Schema
75 --
76 Cursor C_Sel1 is
77 select
78 los_fctr_id,
79 name,
80 business_group_id,
81 los_det_cd,
82 los_det_rl,
83 mn_los_num,
84 mx_los_num,
85 no_mx_los_num_apls_flag,
86 no_mn_los_num_apls_flag,
87 rndg_cd,
88 rndg_rl,
89 los_dt_to_use_cd,
90 los_dt_to_use_rl,
91 los_uom,
92 los_calc_rl,
93 los_alt_val_to_use_cd,
94 lsf_attribute_category,
95 lsf_attribute1,
96 lsf_attribute2,
97 lsf_attribute3,
98 lsf_attribute4,
99 lsf_attribute5,
100 lsf_attribute6,
101 lsf_attribute7,
102 lsf_attribute8,
103 lsf_attribute9,
104 lsf_attribute10,
105 lsf_attribute11,
106 lsf_attribute12,
107 lsf_attribute13,
108 lsf_attribute14,
109 lsf_attribute15,
110 lsf_attribute16,
111 lsf_attribute17,
112 lsf_attribute18,
113 lsf_attribute19,
114 lsf_attribute20,
115 lsf_attribute21,
116 lsf_attribute22,
117 lsf_attribute23,
118 lsf_attribute24,
119 lsf_attribute25,
120 lsf_attribute26,
121 lsf_attribute27,
122 lsf_attribute28,
123 lsf_attribute29,
124 lsf_attribute30,
125 object_version_number,
126 use_overid_svc_dt_flag
127 from ben_los_fctr
128 where los_fctr_id = p_los_fctr_id;
129 --
130 l_proc varchar2(72) := g_package||'api_updating';
131 l_fct_ret boolean;
132 --
133 Begin
134 hr_utility.set_location('Entering:'||l_proc, 5);
135 --
136 If (
137 p_los_fctr_id is null and
138 p_object_version_number is null
139 ) Then
140 --
141 -- One of the primary key arguments is null therefore we must
142 -- set the returning function value to false
143 --
144 l_fct_ret := false;
145 Else
146 If (
147 p_los_fctr_id = g_old_rec.los_fctr_id and
148 p_object_version_number = g_old_rec.object_version_number
149 ) Then
150 hr_utility.set_location(l_proc, 10);
151 --
152 -- The g_old_rec is current therefore we must
153 -- set the returning function to true
154 --
155 l_fct_ret := true;
156 Else
157 --
158 -- Select the current row into g_old_rec
159 --
160 Open C_Sel1;
161 Fetch C_Sel1 Into g_old_rec;
162 If C_Sel1%notfound Then
163 Close C_Sel1;
164 --
165 -- The primary key is invalid therefore we must error
166 --
167 fnd_message.set_name('PAY', 'HR_7220_INVALID_PRIMARY_KEY');
168 fnd_message.raise_error;
169 End If;
170 Close C_Sel1;
171 If (p_object_version_number <> g_old_rec.object_version_number) Then
172 fnd_message.set_name('PAY', 'HR_7155_OBJECT_INVALID');
173 fnd_message.raise_error;
174 End If;
175 hr_utility.set_location(l_proc, 15);
176 l_fct_ret := true;
177 End If;
178 End If;
179 hr_utility.set_location(' Leaving:'||l_proc, 20);
180 Return (l_fct_ret);
181 --
182 End api_updating;
183 --
184 -- ----------------------------------------------------------------------------
185 -- |---------------------------------< lck >----------------------------------|
186 -- ----------------------------------------------------------------------------
187 Procedure lck
188 (
189 p_los_fctr_id in number,
190 p_object_version_number in number
191 ) is
192 --
193 -- Cursor selects the 'current' row from the HR Schema
194 --
195 Cursor C_Sel1 is
196 select los_fctr_id,
197 name,
198 business_group_id,
199 los_det_cd,
200 los_det_rl,
201 mn_los_num,
202 mx_los_num,
203 no_mx_los_num_apls_flag,
204 no_mn_los_num_apls_flag,
205 rndg_cd,
206 rndg_rl,
207 los_dt_to_use_cd,
208 los_dt_to_use_rl,
209 los_uom,
210 los_calc_rl,
211 los_alt_val_to_use_cd,
212 lsf_attribute_category,
213 lsf_attribute1,
214 lsf_attribute2,
215 lsf_attribute3,
216 lsf_attribute4,
217 lsf_attribute5,
218 lsf_attribute6,
219 lsf_attribute7,
220 lsf_attribute8,
221 lsf_attribute9,
222 lsf_attribute10,
223 lsf_attribute11,
224 lsf_attribute12,
225 lsf_attribute13,
226 lsf_attribute14,
227 lsf_attribute15,
228 lsf_attribute16,
229 lsf_attribute17,
230 lsf_attribute18,
231 lsf_attribute19,
232 lsf_attribute20,
233 lsf_attribute21,
234 lsf_attribute22,
235 lsf_attribute23,
236 lsf_attribute24,
237 lsf_attribute25,
238 lsf_attribute26,
239 lsf_attribute27,
240 lsf_attribute28,
241 lsf_attribute29,
242 lsf_attribute30,
243 object_version_number,
244 use_overid_svc_dt_flag
245 from ben_los_fctr
246 where los_fctr_id = p_los_fctr_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_los_fctr');
289 fnd_message.raise_error;
290 End lck;
291 --
292 -- ----------------------------------------------------------------------------
293 -- |-----------------------------< convert_args >-----------------------------|
294 -- ----------------------------------------------------------------------------
295 Function convert_args
296 (
297 p_los_fctr_id in number,
298 p_name in varchar2,
299 p_business_group_id in number,
300 p_los_det_cd in varchar2,
301 p_los_det_rl in number,
302 p_mn_los_num in number,
303 p_mx_los_num in number,
304 p_no_mx_los_num_apls_flag in varchar2,
305 p_no_mn_los_num_apls_flag in varchar2,
306 p_rndg_cd in varchar2,
307 p_rndg_rl in number,
308 p_los_dt_to_use_cd in varchar2,
309 p_los_dt_to_use_rl in number,
310 p_los_uom in varchar2,
311 p_los_calc_rl in number,
312 p_los_alt_val_to_use_cd in varchar2,
313 p_lsf_attribute_category in varchar2,
314 p_lsf_attribute1 in varchar2,
315 p_lsf_attribute2 in varchar2,
316 p_lsf_attribute3 in varchar2,
317 p_lsf_attribute4 in varchar2,
318 p_lsf_attribute5 in varchar2,
319 p_lsf_attribute6 in varchar2,
320 p_lsf_attribute7 in varchar2,
321 p_lsf_attribute8 in varchar2,
322 p_lsf_attribute9 in varchar2,
323 p_lsf_attribute10 in varchar2,
324 p_lsf_attribute11 in varchar2,
325 p_lsf_attribute12 in varchar2,
326 p_lsf_attribute13 in varchar2,
327 p_lsf_attribute14 in varchar2,
328 p_lsf_attribute15 in varchar2,
329 p_lsf_attribute16 in varchar2,
330 p_lsf_attribute17 in varchar2,
331 p_lsf_attribute18 in varchar2,
332 p_lsf_attribute19 in varchar2,
333 p_lsf_attribute20 in varchar2,
334 p_lsf_attribute21 in varchar2,
335 p_lsf_attribute22 in varchar2,
336 p_lsf_attribute23 in varchar2,
337 p_lsf_attribute24 in varchar2,
338 p_lsf_attribute25 in varchar2,
339 p_lsf_attribute26 in varchar2,
340 p_lsf_attribute27 in varchar2,
341 p_lsf_attribute28 in varchar2,
342 p_lsf_attribute29 in varchar2,
343 p_lsf_attribute30 in varchar2,
344 p_object_version_number in number,
345 p_use_overid_svc_dt_flag in varchar2
346 )
347 Return g_rec_type is
348 --
349 l_rec g_rec_type;
350 l_proc varchar2(72) := g_package||'convert_args';
351 --
352 Begin
353 --
354 hr_utility.set_location('Entering:'||l_proc, 5);
355 --
356 -- Convert arguments into local l_rec structure.
357 --
358 l_rec.los_fctr_id := p_los_fctr_id;
359 l_rec.name := p_name;
360 l_rec.business_group_id := p_business_group_id;
361 l_rec.los_det_cd := p_los_det_cd;
362 l_rec.los_det_rl := p_los_det_rl;
363 l_rec.mn_los_num := p_mn_los_num;
364 l_rec.mx_los_num := p_mx_los_num;
365 l_rec.no_mx_los_num_apls_flag := p_no_mx_los_num_apls_flag;
366 l_rec.no_mn_los_num_apls_flag := p_no_mn_los_num_apls_flag;
367 l_rec.rndg_cd := p_rndg_cd;
368 l_rec.rndg_rl := p_rndg_rl;
369 l_rec.los_dt_to_use_cd := p_los_dt_to_use_cd;
370 l_rec.los_dt_to_use_rl := p_los_dt_to_use_rl;
371 l_rec.los_uom := p_los_uom;
372 l_rec.los_calc_rl := p_los_calc_rl;
373 l_rec.los_alt_val_to_use_cd := p_los_alt_val_to_use_cd;
374 l_rec.lsf_attribute_category := p_lsf_attribute_category;
375 l_rec.lsf_attribute1 := p_lsf_attribute1;
376 l_rec.lsf_attribute2 := p_lsf_attribute2;
377 l_rec.lsf_attribute3 := p_lsf_attribute3;
378 l_rec.lsf_attribute4 := p_lsf_attribute4;
379 l_rec.lsf_attribute5 := p_lsf_attribute5;
380 l_rec.lsf_attribute6 := p_lsf_attribute6;
381 l_rec.lsf_attribute7 := p_lsf_attribute7;
382 l_rec.lsf_attribute8 := p_lsf_attribute8;
383 l_rec.lsf_attribute9 := p_lsf_attribute9;
384 l_rec.lsf_attribute10 := p_lsf_attribute10;
385 l_rec.lsf_attribute11 := p_lsf_attribute11;
386 l_rec.lsf_attribute12 := p_lsf_attribute12;
387 l_rec.lsf_attribute13 := p_lsf_attribute13;
388 l_rec.lsf_attribute14 := p_lsf_attribute14;
389 l_rec.lsf_attribute15 := p_lsf_attribute15;
390 l_rec.lsf_attribute16 := p_lsf_attribute16;
391 l_rec.lsf_attribute17 := p_lsf_attribute17;
392 l_rec.lsf_attribute18 := p_lsf_attribute18;
393 l_rec.lsf_attribute19 := p_lsf_attribute19;
394 l_rec.lsf_attribute20 := p_lsf_attribute20;
395 l_rec.lsf_attribute21 := p_lsf_attribute21;
396 l_rec.lsf_attribute22 := p_lsf_attribute22;
397 l_rec.lsf_attribute23 := p_lsf_attribute23;
398 l_rec.lsf_attribute24 := p_lsf_attribute24;
399 l_rec.lsf_attribute25 := p_lsf_attribute25;
400 l_rec.lsf_attribute26 := p_lsf_attribute26;
401 l_rec.lsf_attribute27 := p_lsf_attribute27;
402 l_rec.lsf_attribute28 := p_lsf_attribute28;
403 l_rec.lsf_attribute29 := p_lsf_attribute29;
404 l_rec.lsf_attribute30 := p_lsf_attribute30;
405 l_rec.object_version_number := p_object_version_number;
406 l_rec.use_overid_svc_dt_flag := p_use_overid_svc_dt_flag;
407 --
408 -- Return the plsql record structure.
409 --
410 hr_utility.set_location(' Leaving:'||l_proc, 10);
411 Return(l_rec);
412 --
413 End convert_args;
414 --
415 end ben_lsf_shd;