DBA Data[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;