DBA Data[Home] [Help]

PACKAGE BODY: APPS.BEN_XEL_SHD

Source


4 -- ----------------------------------------------------------------------------
1 Package Body ben_xel_shd as
2 /* $Header: bexelrhi.pkb 120.1 2005/06/08 13:15:34 tjesumic noship $ */
3 --
5 -- |                     Private Global Definitions                           |
6 -- ----------------------------------------------------------------------------
7 --
8 g_package  varchar2(33)	:= '  ben_xel_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
21   --
18   hr_utility.set_location('Entering:'||l_proc, 5);
19   --
20   Return (nvl(g_api_dml, false));
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   cursor c1 is
32    select xrc.name
33    from ben_ext_rcd xrc,
34    ben_ext_data_elmt_in_rcd xer
35    where g_old_rec.ext_data_elmt_id = xer.ext_data_elmt_id
36    and xrc.ext_rcd_id = xer.ext_rcd_id;
37 
38   cursor c2 is
39    select xel.name
40    from ben_ext_data_elmt xel
41    where g_old_rec.ext_data_elmt_id = xel.ttl_sum_ext_data_elmt_id;
42 
43   cursor c3 is
44    select xel.name
45    from ben_ext_data_elmt xel,
46         ben_ext_where_clause xwc
47    where g_old_rec.ext_data_elmt_id = xwc.cond_ext_data_elmt_id
48    and   xel.ext_data_elmt_id = xwc.ext_data_elmt_id;
49 
50   l_proc 	varchar2(72) := g_package||'constraint_error';
51   l_name ben_ext_data_elmt.name%type ;
52 --
53 Begin
54   hr_utility.set_location('Entering:'||l_proc, 5);
55   --
56   If (p_constraint_name = 'BEN_EXT_DATA_ELMT_FK2') Then
57     fnd_message.set_name('PAY', 'HR_6153_ALL_PROCEDURE_FAIL');
58     fnd_message.set_token('PROCEDURE', l_proc);
59     fnd_message.set_token('STEP','5');
60     fnd_message.raise_error;
61   ElsIf (p_constraint_name = 'BEN_EXT_DATA_ELMT_PK') Then
62     fnd_message.set_name('PAY', 'HR_6153_ALL_PROCEDURE_FAIL');
63     fnd_message.set_token('PROCEDURE', l_proc);
64     fnd_message.set_token('STEP','10');
65     fnd_message.raise_error;
66   ElsIf (p_constraint_name = 'BEN_EXT_DATA_ELMT_DECD_FK1') Then
67     fnd_message.set_name('BEN', 'BEN_92477_ELMT_HAS_CHLD2');
68     fnd_message.raise_error;
69   ElsIf (p_constraint_name = 'BEN_EXT_WHERE_CLAUSE_FK1') Then
70     fnd_message.set_name('BEN', 'BEN_92476_ELMT_HAS_CHLD1');
71     fnd_message.raise_error;
72   ElsIf (p_constraint_name = 'BEN_EXT_DATA_ELMT_FK3') Then
73     open c2;
74     fetch c2 into l_name;
75     close c2;
76     fnd_message.set_name('BEN', 'BEN_92475_ELMT_USED_IN_TTL');
77     fnd_message.set_token('DATA_ELMT', l_name);
78     fnd_message.raise_error;
79   ElsIf (p_constraint_name = 'BEN_EXT_WHERE_CLAUSE_FK2') Then
80     open c3;
81     fetch c3 into l_name;
82     close c3;
83     fnd_message.set_name('BEN', 'BEN_92475_ELMT_USED_IN_TTL');
84     fnd_message.set_token('DATA_ELMT', l_name);
85     fnd_message.raise_error;
86   ElsIf (p_constraint_name = 'BEN_EXT_DATA_ELMT_IN_RCD_FK1') Then
87     open c1;
88     fetch c1 into l_name;
89     close c1;
90     fnd_message.set_name('BEN', 'BEN_92474_ELMT_USED_IN_RCD');
91     fnd_message.set_token('RECORD', l_name);
92     fnd_message.raise_error;
93   Else
94     fnd_message.set_name('PAY', 'HR_7877_API_INVALID_CONSTRAINT');
95     fnd_message.set_token('PROCEDURE', l_proc);
96     fnd_message.set_token('CONSTRAINT_NAME', p_constraint_name);
97     fnd_message.raise_error;
98 
99   End If;
100   --
101   hr_utility.set_location(' Leaving:'||l_proc, 10);
102 End constraint_error;
103 --
104 -- ----------------------------------------------------------------------------
105 -- |-----------------------------< api_updating >-----------------------------|
106 -- ----------------------------------------------------------------------------
107 Function api_updating
108   (
109   p_ext_data_elmt_id                   in number,
110   p_object_version_number              in number
111   )      Return Boolean Is
112 --
113   --
114   -- Cursor selects the 'current' row from the HR Schema
115   --
116   Cursor C_Sel1 is
117     select
118 		ext_data_elmt_id,
119 	name,
120         xml_tag_name,
121 	data_elmt_typ_cd,
122 	data_elmt_rl,
123 	frmt_mask_cd,
124 	string_val,
125 	dflt_val,
126 	max_length_num,
127 	just_cd,
128 	ttl_fnctn_cd,
129 	ttl_cond_oper_cd,
130 	ttl_cond_val,
131 	ttl_sum_ext_data_elmt_id,
132 	ttl_cond_ext_data_elmt_id,
133 	ext_fld_id,
134 	business_group_id,
135 	legislation_code,
136 	xel_attribute_category,
137 	xel_attribute1,
138 	xel_attribute2,
139 	xel_attribute3,
140 	xel_attribute4,
141 	xel_attribute5,
142 	xel_attribute6,
143 	xel_attribute7,
144 	xel_attribute8,
145 	xel_attribute9,
146 	xel_attribute10,
147 	xel_attribute11,
148 	xel_attribute12,
149 	xel_attribute13,
150 	xel_attribute14,
151 	xel_attribute15,
152 	xel_attribute16,
153 	xel_attribute17,
154 	xel_attribute18,
155 	xel_attribute19,
156 	xel_attribute20,
157 	xel_attribute21,
158 	xel_attribute22,
159 	xel_attribute23,
160 	xel_attribute24,
161 	xel_attribute25,
162 	xel_attribute26,
163 	xel_attribute27,
164 	xel_attribute28,
165 	xel_attribute29,
166 	xel_attribute30,
167 	defined_balance_id,
168         last_update_date,
169         creation_date,
170         last_updated_by,
171         last_update_login,
172         created_by ,
173 	object_version_number
174     from	ben_ext_data_elmt
175     where	ext_data_elmt_id = p_ext_data_elmt_id;
176 --
177   l_proc	varchar2(72)	:= g_package||'api_updating';
181   hr_utility.set_location('Entering:'||l_proc, 5);
178   l_fct_ret	boolean;
179 --
180 Begin
182   --
183   If (
184 	p_ext_data_elmt_id is null and
185 	p_object_version_number is null
186      ) Then
187     --
188     -- One of the primary key arguments is null therefore we must
189     -- set the returning function value to false
190     --
191     l_fct_ret := false;
192   Else
196        ) Then
193     If (
194 	p_ext_data_elmt_id = g_old_rec.ext_data_elmt_id and
195 	p_object_version_number = g_old_rec.object_version_number
197       hr_utility.set_location(l_proc, 10);
198       --
199       -- The g_old_rec is current therefore we must
200       -- set the returning function to true
201       --
202       l_fct_ret := true;
203     Else
204       --
205       -- Select the current row into g_old_rec
206       --
207       Open C_Sel1;
208       Fetch C_Sel1 Into g_old_rec;
209       If C_Sel1%notfound Then
210         Close C_Sel1;
211         --
212         -- The primary key is invalid therefore we must error
213         --
214         fnd_message.set_name('PAY', 'HR_7220_INVALID_PRIMARY_KEY');
215         fnd_message.raise_error;
216       End If;
217       Close C_Sel1;
218       If (p_object_version_number <> g_old_rec.object_version_number) Then
219         fnd_message.set_name('PAY', 'HR_7155_OBJECT_INVALID');
220         fnd_message.raise_error;
221       End If;
222       hr_utility.set_location(l_proc, 15);
223       l_fct_ret := true;
224     End If;
225   End If;
226   hr_utility.set_location(' Leaving:'||l_proc, 20);
227   Return (l_fct_ret);
228 --
232 -- |---------------------------------< lck >----------------------------------|
229 End api_updating;
230 --
231 -- ----------------------------------------------------------------------------
233 -- ----------------------------------------------------------------------------
234 Procedure lck
235   (
236   p_ext_data_elmt_id                   in number,
237   p_object_version_number              in number
238   ) is
239 --
240 -- Cursor selects the 'current' row from the HR Schema
241 --
242   Cursor C_Sel1 is
243     select 	ext_data_elmt_id,
244 	name,
245         xml_tag_name,
246 	data_elmt_typ_cd,
247 	data_elmt_rl,
248 	frmt_mask_cd,
249 	string_val,
250 	dflt_val,
251 	max_length_num,
252 	just_cd,
253 	ttl_fnctn_cd,
254 	ttl_cond_oper_cd,
255 	ttl_cond_val,
256 	ttl_sum_ext_data_elmt_id,
257 	ttl_cond_ext_data_elmt_id,
258 	ext_fld_id,
259 	business_group_id,
260 	legislation_code,
261 	xel_attribute_category,
262 	xel_attribute1,
263 	xel_attribute2,
264 	xel_attribute3,
265 	xel_attribute4,
266 	xel_attribute5,
267 	xel_attribute6,
268 	xel_attribute7,
269 	xel_attribute8,
270 	xel_attribute9,
271 	xel_attribute10,
272 	xel_attribute11,
273 	xel_attribute12,
274 	xel_attribute13,
275 	xel_attribute14,
276 	xel_attribute15,
277 	xel_attribute16,
278 	xel_attribute17,
279 	xel_attribute18,
280 	xel_attribute19,
281 	xel_attribute20,
282 	xel_attribute21,
283 	xel_attribute22,
284 	xel_attribute23,
285 	xel_attribute24,
286 	xel_attribute25,
287 	xel_attribute26,
288 	xel_attribute27,
289 	xel_attribute28,
290 	xel_attribute29,
291 	xel_attribute30,
292 	defined_balance_id,
293         last_update_date,
294         creation_date,
295         last_updated_by,
296         last_update_login,
297         created_by ,
298 	object_version_number
299     from	ben_ext_data_elmt
300     where	ext_data_elmt_id = p_ext_data_elmt_id
301     for	update nowait;
302 --
303   l_proc	varchar2(72) := g_package||'lck';
304 --
305 Begin
306   hr_utility.set_location('Entering:'||l_proc, 5);
307   --
308   -- Add any mandatory argument checking here:
309   -- Example:
310   -- hr_api.mandatory_arg_error
311   --   (p_api_name       => l_proc,
312   --    p_argument       => 'object_version_number',
313   --    p_argument_value => p_object_version_number);
314   --
315   Open  C_Sel1;
316   Fetch C_Sel1 Into g_old_rec;
317   If C_Sel1%notfound then
318     Close C_Sel1;
319     --
320     -- The primary key is invalid therefore we must error
321     --
322     fnd_message.set_name('PAY', 'HR_7220_INVALID_PRIMARY_KEY');
323     fnd_message.raise_error;
324   End If;
325   Close C_Sel1;
326   If (p_object_version_number <> g_old_rec.object_version_number) Then
327         fnd_message.set_name('PAY', 'HR_7155_OBJECT_INVALID');
328         fnd_message.raise_error;
329       End If;
330 --
331   hr_utility.set_location(' Leaving:'||l_proc, 10);
332 --
333 -- We need to trap the ORA LOCK exception
334 --
335 Exception
336   When HR_Api.Object_Locked then
337     --
338     -- The object is locked therefore we need to supply a meaningful
339     -- error message.
340     --
341     fnd_message.set_name('PAY', 'HR_7165_OBJECT_LOCKED');
342     fnd_message.set_token('TABLE_NAME', 'ben_ext_data_elmt');
343     fnd_message.raise_error;
344 End lck;
345 --
346 -- ----------------------------------------------------------------------------
347 -- |-----------------------------< convert_args >-----------------------------|
348 -- ----------------------------------------------------------------------------
349 Function convert_args
350 	(
351 	p_ext_data_elmt_id              in number,
352 	p_name                          in varchar2,
353 	p_xml_tag_name                  in varchar2,
354 	p_data_elmt_typ_cd              in varchar2,
355 	p_data_elmt_rl                  in number,
356 	p_frmt_mask_cd                  in varchar2,
357 	p_string_val                    in varchar2,
358 	p_dflt_val                      in varchar2,
359 	p_max_length_num                in number,
360 	p_just_cd                      in varchar2,
361 	p_ttl_fnctn_cd			in varchar2,
362 	p_ttl_cond_oper_cd 		in varchar2,
363 	p_ttl_cond_val			in varchar2,
364 	p_ttl_sum_ext_data_elmt_id	in number,
365 	p_ttl_cond_ext_data_elmt_id	in number,
366 	p_ext_fld_id                    in number,
367 	p_business_group_id             in number,
368 	p_legislation_code              in varchar2,
369 	p_xel_attribute_category        in varchar2,
370 	p_xel_attribute1                in varchar2,
371 	p_xel_attribute2                in varchar2,
372 	p_xel_attribute3                in varchar2,
373 	p_xel_attribute4                in varchar2,
374 	p_xel_attribute5                in varchar2,
375 	p_xel_attribute6                in varchar2,
376 	p_xel_attribute7                in varchar2,
377 	p_xel_attribute8                in varchar2,
378 	p_xel_attribute9                in varchar2,
379 	p_xel_attribute10               in varchar2,
380 	p_xel_attribute11               in varchar2,
381 	p_xel_attribute12               in varchar2,
382 	p_xel_attribute13               in varchar2,
386 	p_xel_attribute17               in varchar2,
383 	p_xel_attribute14               in varchar2,
384 	p_xel_attribute15               in varchar2,
385 	p_xel_attribute16               in varchar2,
387 	p_xel_attribute18               in varchar2,
388 	p_xel_attribute19               in varchar2,
389 	p_xel_attribute20               in varchar2,
390 	p_xel_attribute21               in varchar2,
391 	p_xel_attribute22               in varchar2,
392 	p_xel_attribute23               in varchar2,
393 	p_xel_attribute24               in varchar2,
394 	p_xel_attribute25               in varchar2,
395 	p_xel_attribute26               in varchar2,
396 	p_xel_attribute27               in varchar2,
397 	p_xel_attribute28               in varchar2,
398 	p_xel_attribute29               in varchar2,
399 	p_xel_attribute30               in varchar2,
400 	p_defined_balance_id            in number,
401         p_last_update_date              in date,
402         p_creation_date                 in date,
403         p_last_updated_by               in number,
404         p_last_update_login             in number,
405         p_created_by                    in number,
406 	p_object_version_number         in number
407 	)
408 	Return g_rec_type is
409 --
410   l_rec	  g_rec_type;
411   l_proc  varchar2(72) := g_package||'convert_args';
412 --
413 Begin
414   --
415   hr_utility.set_location('Entering:'||l_proc, 5);
416   --
417   -- Convert arguments into local l_rec structure.
418   --
419   l_rec.ext_data_elmt_id                 := p_ext_data_elmt_id;
420   l_rec.name                             := p_name;
421   l_rec.xml_tag_name                     := p_xml_tag_name ;
422   l_rec.data_elmt_typ_cd                 := p_data_elmt_typ_cd;
423   l_rec.data_elmt_rl                     := p_data_elmt_rl;
424   l_rec.frmt_mask_cd                     := p_frmt_mask_cd;
425   l_rec.string_val                       := p_string_val;
426   l_rec.dflt_val                         := p_dflt_val;
427   l_rec.max_length_num                   := p_max_length_num;
428   l_rec.just_cd                          := p_just_cd;
429   l_rec.ttl_fnctn_cd		   	 := p_ttl_fnctn_cd;
430   l_rec.ttl_cond_oper_cd 		 := p_ttl_cond_oper_cd;
431   l_rec.ttl_cond_val			 := p_ttl_cond_val;
432   l_rec.ttl_sum_ext_data_elmt_id	 := p_ttl_sum_ext_data_elmt_id;
433   l_rec.ttl_cond_ext_data_elmt_id	 := p_ttl_cond_ext_data_elmt_id;
434   l_rec.ext_fld_id                       := p_ext_fld_id;
435   l_rec.business_group_id                := p_business_group_id;
436   l_rec.legislation_code                 := p_legislation_code;
437   l_rec.xel_attribute_category           := p_xel_attribute_category;
438   l_rec.xel_attribute1                   := p_xel_attribute1;
439   l_rec.xel_attribute2                   := p_xel_attribute2;
440   l_rec.xel_attribute3                   := p_xel_attribute3;
441   l_rec.xel_attribute4                   := p_xel_attribute4;
442   l_rec.xel_attribute5                   := p_xel_attribute5;
443   l_rec.xel_attribute6                   := p_xel_attribute6;
444   l_rec.xel_attribute7                   := p_xel_attribute7;
445   l_rec.xel_attribute8                   := p_xel_attribute8;
446   l_rec.xel_attribute9                   := p_xel_attribute9;
447   l_rec.xel_attribute10                  := p_xel_attribute10;
448   l_rec.xel_attribute11                  := p_xel_attribute11;
449   l_rec.xel_attribute12                  := p_xel_attribute12;
450   l_rec.xel_attribute13                  := p_xel_attribute13;
451   l_rec.xel_attribute14                  := p_xel_attribute14;
452   l_rec.xel_attribute15                  := p_xel_attribute15;
453   l_rec.xel_attribute16                  := p_xel_attribute16;
454   l_rec.xel_attribute17                  := p_xel_attribute17;
455   l_rec.xel_attribute18                  := p_xel_attribute18;
456   l_rec.xel_attribute19                  := p_xel_attribute19;
457   l_rec.xel_attribute20                  := p_xel_attribute20;
458   l_rec.xel_attribute21                  := p_xel_attribute21;
459   l_rec.xel_attribute22                  := p_xel_attribute22;
460   l_rec.xel_attribute23                  := p_xel_attribute23;
461   l_rec.xel_attribute24                  := p_xel_attribute24;
462   l_rec.xel_attribute25                  := p_xel_attribute25;
463   l_rec.xel_attribute26                  := p_xel_attribute26;
464   l_rec.xel_attribute27                  := p_xel_attribute27;
465   l_rec.xel_attribute28                  := p_xel_attribute28;
466   l_rec.xel_attribute29                  := p_xel_attribute29;
467   l_rec.xel_attribute30                  := p_xel_attribute30;
468   l_rec.defined_balance_id               := p_defined_balance_id;
469   l_rec.last_update_date                 := p_last_update_date;
470   l_rec.creation_date                    := p_creation_date;
471   l_rec.last_updated_by                  := p_last_updated_by;
472   l_rec.last_update_login                := p_last_update_login;
473   l_rec.created_by                       := p_created_by;
474   l_rec.object_version_number            := p_object_version_number;
475   --
476   -- Return the plsql record structure.
477   --
478   hr_utility.set_location(' Leaving:'||l_proc, 10);
479   Return(l_rec);
480 --
481 End convert_args;
482 --
483 end ben_xel_shd;