[Home] [Help]
PACKAGE BODY: APPS.BEN_CPG_SHD
Source
1 Package Body ben_cpg_shd as
2 /* $Header: becpgrhi.pkb 120.0 2005/05/28 01:13:13 appldev noship $ */
3 --
4 -- ----------------------------------------------------------------------------
5 -- | Private Global Definitions |
6 -- ----------------------------------------------------------------------------
7 --
8 g_package varchar2(33) := ' ben_cpg_shd.'; -- Global package name
9 g_debug boolean := hr_utility.debug_enabled;
10 --
11 -- ----------------------------------------------------------------------------
12 -- |------------------------< return_api_dml_status >-------------------------|
13 -- ----------------------------------------------------------------------------
14 Function return_api_dml_status Return Boolean Is
15 --
16 Begin
17 --
18 Return (nvl(g_api_dml, false));
19 --
20 End return_api_dml_status;
21 --
22 -- ----------------------------------------------------------------------------
23 -- |---------------------------< constraint_error >---------------------------|
24 -- ----------------------------------------------------------------------------
25 Procedure constraint_error
26 (p_constraint_name in all_constraints.constraint_name%TYPE
27 ) Is
28 --
29 l_proc varchar2(72) := g_package||'constraint_error';
30 --
31 Begin
32 --
33 If (p_constraint_name = 'BEN_CWB_PERSON_GROUPS_PK') Then
34 fnd_message.set_name('PAY', 'HR_6153_ALL_PROCEDURE_FAIL');
35 fnd_message.set_token('PROCEDURE', l_proc);
36 fnd_message.set_token('STEP','5');
37 fnd_message.raise_error;
38 Else
39 fnd_message.set_name('PAY', 'HR_7877_API_INVALID_CONSTRAINT');
40 fnd_message.set_token('PROCEDURE', l_proc);
41 fnd_message.set_token('CONSTRAINT_NAME', p_constraint_name);
42 fnd_message.raise_error;
43 End If;
44 --
45 End constraint_error;
46 --
47 -- ----------------------------------------------------------------------------
48 -- |-----------------------------< api_updating >-----------------------------|
49 -- ----------------------------------------------------------------------------
50 Function api_updating
51 (p_group_per_in_ler_id in number
52 ,p_group_pl_id in number
53 ,p_group_oipl_id in number
54 ,p_object_version_number in number
55 )
56 Return Boolean Is
57 --
58 --
59 -- Cursor selects the 'current' row from the HR Schema
60 --
61 Cursor C_Sel1 is
62 select
63 group_per_in_ler_id
64 ,group_pl_id
65 ,group_oipl_id
66 ,lf_evt_ocrd_dt
67 ,bdgt_pop_cd
68 ,due_dt
69 ,access_cd
70 ,approval_cd
71 ,approval_date
72 ,approval_comments
73 ,submit_cd
74 ,submit_date
75 ,submit_comments
76 ,dist_bdgt_val
77 ,ws_bdgt_val
78 ,rsrv_val
79 ,dist_bdgt_mn_val
80 ,dist_bdgt_mx_val
81 ,dist_bdgt_incr_val
82 ,ws_bdgt_mn_val
83 ,ws_bdgt_mx_val
84 ,ws_bdgt_incr_val
85 ,rsrv_mn_val
86 ,rsrv_mx_val
87 ,rsrv_incr_val
88 ,dist_bdgt_iss_val
89 ,ws_bdgt_iss_val
90 ,dist_bdgt_iss_date
91 ,ws_bdgt_iss_date
92 ,ws_bdgt_val_last_upd_date
93 ,dist_bdgt_val_last_upd_date
94 ,rsrv_val_last_upd_date
95 ,ws_bdgt_val_last_upd_by
96 ,dist_bdgt_val_last_upd_by
97 ,rsrv_val_last_upd_by
98 ,object_version_number
99 from ben_cwb_person_groups
100 where group_per_in_ler_id = p_group_per_in_ler_id
101 and group_pl_id = p_group_pl_id
102 and group_oipl_id = p_group_oipl_id;
103 --
104 l_fct_ret boolean;
105 --
106 Begin
107 --
108 If (p_group_per_in_ler_id is null and
109 p_group_pl_id is null and
110 p_group_oipl_id is null and
111 p_object_version_number is null
112 ) Then
113 --
114 -- One of the primary key arguments is null therefore we must
115 -- set the returning function value to false
116 --
117 l_fct_ret := false;
118 Else
119 If (p_group_per_in_ler_id
120 = ben_cpg_shd.g_old_rec.group_per_in_ler_id and
121 p_group_pl_id
122 = ben_cpg_shd.g_old_rec.group_pl_id and
123 p_group_oipl_id
124 = ben_cpg_shd.g_old_rec.group_oipl_id and
125 p_object_version_number
126 = ben_cpg_shd.g_old_rec.object_version_number
127 ) Then
128 --
129 -- The g_old_rec is current therefore we must
130 -- set the returning function to true
131 --
132 l_fct_ret := true;
133 Else
134 --
135 -- Select the current row into g_old_rec
136 --
137 Open C_Sel1;
138 Fetch C_Sel1 Into ben_cpg_shd.g_old_rec;
139 If C_Sel1%notfound Then
140 Close C_Sel1;
141 --
142 -- The primary key is invalid therefore we must error
143 --
144 fnd_message.set_name('PAY', 'HR_7220_INVALID_PRIMARY_KEY');
145 fnd_message.raise_error;
146 End If;
147 Close C_Sel1;
148 If (p_object_version_number
149 <> ben_cpg_shd.g_old_rec.object_version_number) Then
150 fnd_message.set_name('PAY', 'HR_7155_OBJECT_INVALID');
151 fnd_message.raise_error;
152 End If;
153 l_fct_ret := true;
154 End If;
155 End If;
156 Return (l_fct_ret);
157 --
158 End api_updating;
159 --
160 -- ----------------------------------------------------------------------------
161 -- |---------------------------------< lck >----------------------------------|
162 -- ----------------------------------------------------------------------------
163 Procedure lck
164 (p_group_per_in_ler_id in number
165 ,p_group_pl_id in number
166 ,p_group_oipl_id in number
167 ,p_object_version_number in number
168 ) is
169 --
170 -- Cursor selects the 'current' row from the HR Schema
171 --
172 Cursor C_Sel1 is
173 select
174 group_per_in_ler_id
175 ,group_pl_id
176 ,group_oipl_id
177 ,lf_evt_ocrd_dt
178 ,bdgt_pop_cd
179 ,due_dt
180 ,access_cd
181 ,approval_cd
182 ,approval_date
183 ,approval_comments
184 ,submit_cd
185 ,submit_date
186 ,submit_comments
187 ,dist_bdgt_val
188 ,ws_bdgt_val
189 ,rsrv_val
190 ,dist_bdgt_mn_val
191 ,dist_bdgt_mx_val
192 ,dist_bdgt_incr_val
193 ,ws_bdgt_mn_val
194 ,ws_bdgt_mx_val
195 ,ws_bdgt_incr_val
196 ,rsrv_mn_val
197 ,rsrv_mx_val
198 ,rsrv_incr_val
199 ,dist_bdgt_iss_val
200 ,ws_bdgt_iss_val
201 ,dist_bdgt_iss_date
202 ,ws_bdgt_iss_date
203 ,ws_bdgt_val_last_upd_date
204 ,dist_bdgt_val_last_upd_date
205 ,rsrv_val_last_upd_date
206 ,ws_bdgt_val_last_upd_by
207 ,dist_bdgt_val_last_upd_by
208 ,rsrv_val_last_upd_by
209 ,object_version_number
210 from ben_cwb_person_groups
211 where group_per_in_ler_id = p_group_per_in_ler_id
212 and group_pl_id = p_group_pl_id
213 and group_oipl_id = p_group_oipl_id
214 for update nowait;
215 --
216 l_proc varchar2(72) := g_package||'lck';
217 --
218 Begin
219 if g_debug then
220 hr_utility.set_location('Entering:'||l_proc, 5);
221 end if;
222 --
223 hr_api.mandatory_arg_error
224 (p_api_name => l_proc
225 ,p_argument => 'GROUP_PER_IN_LER_ID'
226 ,p_argument_value => p_group_per_in_ler_id
227 );
228 if g_debug then
229 hr_utility.set_location(l_proc,6);
230 end if;
231 hr_api.mandatory_arg_error
232 (p_api_name => l_proc
233 ,p_argument => 'GROUP_PL_ID'
234 ,p_argument_value => p_group_pl_id
235 );
236 if g_debug then
237 hr_utility.set_location(l_proc,7);
238 end if;
239 hr_api.mandatory_arg_error
240 (p_api_name => l_proc
241 ,p_argument => 'GROUP_OIPL_ID'
242 ,p_argument_value => p_group_oipl_id
243 );
244 if g_debug then
245 hr_utility.set_location(l_proc,8);
246 end if;
247 hr_api.mandatory_arg_error
248 (p_api_name => l_proc
249 ,p_argument => 'OBJECT_VERSION_NUMBER'
250 ,p_argument_value => p_object_version_number
251 );
252 --
253 Open C_Sel1;
254 Fetch C_Sel1 Into ben_cpg_shd.g_old_rec;
255 If C_Sel1%notfound then
256 Close C_Sel1;
257 --
258 -- The primary key is invalid therefore we must error
259 --
260 fnd_message.set_name('PAY', 'HR_7220_INVALID_PRIMARY_KEY');
261 fnd_message.raise_error;
262 End If;
263 Close C_Sel1;
264 If (p_object_version_number
265 <> ben_cpg_shd.g_old_rec.object_version_number) Then
266 fnd_message.set_name('PAY', 'HR_7155_OBJECT_INVALID');
267 fnd_message.raise_error;
268 End If;
269 --
270 if g_debug then
271 hr_utility.set_location(' Leaving:'||l_proc, 10);
272 end if;
273 --
274 -- We need to trap the ORA LOCK exception
275 --
276 Exception
277 When HR_Api.Object_Locked then
278 --
279 -- The object is locked therefore we need to supply a meaningful
280 -- error message.
281 --
282 fnd_message.set_name('PAY', 'HR_7165_OBJECT_LOCKED');
283 fnd_message.set_token('TABLE_NAME', 'ben_cwb_person_groups');
284 fnd_message.raise_error;
285 End lck;
286 --
287 -- ----------------------------------------------------------------------------
288 -- |-----------------------------< convert_args >-----------------------------|
289 -- ----------------------------------------------------------------------------
290 Function convert_args
291 (p_group_per_in_ler_id in number
292 ,p_group_pl_id in number
293 ,p_group_oipl_id in number
294 ,p_lf_evt_ocrd_dt in date
295 ,p_bdgt_pop_cd in varchar2
296 ,p_due_dt in date
297 ,p_access_cd in varchar2
298 ,p_approval_cd in varchar2
299 ,p_approval_date in date
300 ,p_approval_comments in varchar2
301 ,p_submit_cd in varchar2
302 ,p_submit_date in date
303 ,p_submit_comments in varchar2
304 ,p_dist_bdgt_val in number
305 ,p_ws_bdgt_val in number
306 ,p_rsrv_val in number
307 ,p_dist_bdgt_mn_val in number
308 ,p_dist_bdgt_mx_val in number
309 ,p_dist_bdgt_incr_val in number
310 ,p_ws_bdgt_mn_val in number
311 ,p_ws_bdgt_mx_val in number
312 ,p_ws_bdgt_incr_val in number
313 ,p_rsrv_mn_val in number
314 ,p_rsrv_mx_val in number
315 ,p_rsrv_incr_val in number
316 ,p_dist_bdgt_iss_val in number
317 ,p_ws_bdgt_iss_val in number
318 ,p_dist_bdgt_iss_date in date
319 ,p_ws_bdgt_iss_date in date
320 ,p_ws_bdgt_val_last_upd_date in date
321 ,p_dist_bdgt_val_last_upd_date in date
322 ,p_rsrv_val_last_upd_date in date
323 ,p_ws_bdgt_val_last_upd_by in number
324 ,p_dist_bdgt_val_last_upd_by in number
325 ,p_rsrv_val_last_upd_by in number
326 ,p_object_version_number in number
327 )
328 Return g_rec_type is
329 --
330 l_rec g_rec_type;
331 --
332 Begin
333 --
334 -- Convert arguments into local l_rec structure.
335 --
336 l_rec.group_per_in_ler_id := p_group_per_in_ler_id;
337 l_rec.group_pl_id := p_group_pl_id;
338 l_rec.group_oipl_id := p_group_oipl_id;
339 l_rec.lf_evt_ocrd_dt := p_lf_evt_ocrd_dt;
340 l_rec.bdgt_pop_cd := p_bdgt_pop_cd;
341 l_rec.due_dt := p_due_dt;
342 l_rec.access_cd := p_access_cd;
343 l_rec.approval_cd := p_approval_cd;
344 l_rec.approval_date := p_approval_date;
345 l_rec.approval_comments := p_approval_comments;
346 l_rec.submit_cd := p_submit_cd;
347 l_rec.submit_date := p_submit_date;
348 l_rec.submit_comments := p_submit_comments;
349 l_rec.dist_bdgt_val := p_dist_bdgt_val;
350 l_rec.ws_bdgt_val := p_ws_bdgt_val;
351 l_rec.rsrv_val := p_rsrv_val;
352 l_rec.dist_bdgt_mn_val := p_dist_bdgt_mn_val;
353 l_rec.dist_bdgt_mx_val := p_dist_bdgt_mx_val;
354 l_rec.dist_bdgt_incr_val := p_dist_bdgt_incr_val;
355 l_rec.ws_bdgt_mn_val := p_ws_bdgt_mn_val;
356 l_rec.ws_bdgt_mx_val := p_ws_bdgt_mx_val;
357 l_rec.ws_bdgt_incr_val := p_ws_bdgt_incr_val;
358 l_rec.rsrv_mn_val := p_rsrv_mn_val;
359 l_rec.rsrv_mx_val := p_rsrv_mx_val;
360 l_rec.rsrv_incr_val := p_rsrv_incr_val;
361 l_rec.dist_bdgt_iss_val := p_dist_bdgt_iss_val;
362 l_rec.ws_bdgt_iss_val := p_ws_bdgt_iss_val;
363 l_rec.dist_bdgt_iss_date := p_dist_bdgt_iss_date;
364 l_rec.ws_bdgt_iss_date := p_ws_bdgt_iss_date;
365 l_rec.ws_bdgt_val_last_upd_date := p_ws_bdgt_val_last_upd_date;
366 l_rec.dist_bdgt_val_last_upd_date := p_dist_bdgt_val_last_upd_date;
367 l_rec.rsrv_val_last_upd_date := p_rsrv_val_last_upd_date;
368 l_rec.ws_bdgt_val_last_upd_by := p_ws_bdgt_val_last_upd_by;
369 l_rec.dist_bdgt_val_last_upd_by := p_dist_bdgt_val_last_upd_by;
370 l_rec.rsrv_val_last_upd_by := p_rsrv_val_last_upd_by;
371 l_rec.object_version_number := p_object_version_number;
372 --
373 -- Return the plsql record structure.
374 --
375 Return(l_rec);
376 --
377 End convert_args;
378 --
379 end ben_cpg_shd;