DBA Data[Home] [Help]

PACKAGE BODY: APPS.SSP_MAT_SHD

Source


1 Package Body ssp_mat_shd as
2 /* $Header: spmatrhi.pkb 120.10 2011/08/24 13:51:07 npannamp ship $ */
3 --
4 -- ----------------------------------------------------------------------------
5 -- |                     Private Global Definitions                           |
6 -- ----------------------------------------------------------------------------
7 --
8 g_package  varchar2(33)	:= '  ssp_mat_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 = 'SSP_MAT_NOTE_OF_BIRTH_TOO_SOON') Then
37     fnd_message.set_name ('SSP', 'SSP_35012_EARLY_BIRTH_NOTIFIC');
38     --
39   ElsIf (p_constraint_name = 'SSP_MAT_MPP_MUST_START_SUNDAY') Then
40     fnd_message.set_name ('SSP', 'SSP_35054_MPP_NOT_SUNDAY');
41     --
42   ElsIf (p_constraint_name = 'SSP_MAT_INTEND_TO_RETURN_DATE') Then
43     fnd_message.set_name ('SSP', 'SSP_35013_INV_EVNT_RET_DATE');
44     --
45   ElsIf (p_constraint_name = 'SSP_MAT_STILLBIRTH_NEEDS_DATE') Then
46     fnd_message.set_name ('SSP', 'SSP_35004_LIVE_BIRTH_FLAG');
47     --
48   ElsIf (p_constraint_name = 'SSP_MAT_MPP_SMA_START_DATES') Then
52     fnd_message.set_name ('SSP', 'SSP_35058_UNFIT_TO_RETURN');
49     fnd_message.set_name ('SSP', 'SSP_35014_FWD_MPP_START');
50     --
51   ElsIf (p_constraint_name = 'SSP_MAT_UNFIT_TO_RETURN_DATE') Then
53     --
54   ElsIf (p_constraint_name = 'SSP_MATERNITIES_PK') Then
55     fnd_message.set_name ('SSP', 'SSP_35041_DUP_MATERNITY_PK');
56     --
57   ElsIf (p_constraint_name = 'SSP_MATERNITIES_UK1') Then
58     fnd_message.set_name ('SSP', 'SSP_35009_DUP_DUE_DATE');
59     --
60   ElsIf (p_constraint_name = 'SSP_MAT_MPP_START_BIRTH_DATE') Then
61     fnd_message.set_name ('SSP', 'SSP_35055_MPP_SUN_FOLLW_BIRTH');
62     --
63   ElsIf (p_constraint_name = 'SSP_MAT_NOTIFICATION_OF_BIRTH') Then
64     fnd_message.set_name ('SSP', 'SSP_35059_NOTIF_OF_BIRTH');
65     --
66   ElsIf (p_constraint_name = 'SSP_MATERNITIES_FK1') Then
67     fnd_message.set_name('SSP', 'SSP_35057_BAD_PERSON_ID');
68     --
69   Else
70     fnd_message.set_name ('PAY', 'HR_7877_API_INVALID_CONSTRAINT');
71     fnd_message.set_token('PROCEDURE', l_proc);
72     fnd_message.set_token('CONSTRAINT_NAME', p_constraint_name);
73   End If;
74   --
75   fnd_message.raise_error;
76   --
77   hr_utility.set_location(' Leaving:'||l_proc, 10);
78 End constraint_error;
79 --
80 -- ----------------------------------------------------------------------------
81 -- |-----------------------------< api_updating >-----------------------------|
82 -- ----------------------------------------------------------------------------
83 Function api_updating
84   (
85   p_maternity_id                       in number,
86   p_object_version_number              in number
87   )      Return Boolean Is
88 --
89   --
90   -- Cursor selects the 'current' row from the HR Schema
91   --
92   Cursor C_Sel1 is
93     select
94     maternity_id,
95     due_date,
96     person_id,
97     start_date_maternity_allowance,
98     notification_of_birth_date,
99     unfit_for_scheduled_return,
100     stated_return_date,
101     intend_to_return_flag,
102     start_date_with_new_employer,
103     smp_must_be_paid_by_date,
104     pay_smp_as_lump_sum,
105     live_birth_flag,
106     actual_birth_date,
107     mpp_start_date,
108     object_version_number,
109     attribute_category,
110     attribute1,
111     attribute2,
112     attribute3,
113     attribute4,
114     attribute5,
115     attribute6,
116     attribute7,
117     attribute8,
118     attribute9,
119     attribute10,
120     attribute11,
121     attribute12,
122     attribute13,
123     attribute14,
124     attribute15,
125     attribute16,
126     attribute17,
127     attribute18,
128     attribute19,
129     attribute20,
130     LEAVE_TYPE,
131     MATCHING_DATE,
132     PLACEMENT_DATE,
133     DISRUPTED_PLACEMENT_DATE,
134     mat_information_category,
135     mat_information1,
136     mat_information2,
137     mat_information3,
138     mat_information4,
139     mat_information5,
140     mat_information6,
141     mat_information7,
142     mat_information8,
143     mat_information9,
144     mat_information10,
145     mat_information11,
146     mat_information12,
147     mat_information13,
148     mat_information14,
149     mat_information15,
150     mat_information16,
151     mat_information17,
152     mat_information18,
153     mat_information19,
154     mat_information20,
155     mat_information21,
156     mat_information22,
157     mat_information23,
158     mat_information24,
159     mat_information25,
160     mat_information26,
161     mat_information27,
162     mat_information28,
163     mat_information29,
164     mat_information30,
165     partner_stat_pay_start_date,
166     partner_return_to_work,
167     partner_death_date
168     from	ssp_maternities
169     where	maternity_id = p_maternity_id;
170 --
171   l_proc	varchar2(72)	:= g_package||'api_updating';
172   l_fct_ret	boolean;
173 --
174 Begin
175   hr_utility.set_location('Entering:'||l_proc, 5);
176   --
177   If (
178 	p_maternity_id is null and
179 	p_object_version_number is null
180      ) Then
181     --
182     -- One of the primary key arguments is null therefore we must
183     -- set the returning function value to false
187     If (
184     --
185     l_fct_ret := false;
186   Else
188 	p_maternity_id = g_old_rec.maternity_id and
189 	p_object_version_number = g_old_rec.object_version_number
190        ) Then
191       hr_utility.set_location(l_proc, 10);
192       --
193       -- The g_old_rec is current therefore we must
194       -- set the returning function to true
195       --
196       l_fct_ret := true;
197     Else
198       --
199       -- Select the current row into g_old_rec
200       --
201       Open C_Sel1;
202       Fetch C_Sel1 Into g_old_rec;
203       If C_Sel1%notfound Then
204         Close C_Sel1;
205         --
206         -- The primary key is invalid therefore we must error
207         --
208         fnd_message.set_name ('PAY', 'HR_7220_INVALID_PRIMARY_KEY');
209         fnd_message.raise_error;
210       End If;
211       Close C_Sel1;
212       If (p_object_version_number <> g_old_rec.object_version_number) Then
213         fnd_message.set_name ('PAY', 'HR_7155_OBJECT_INVALID');
214         fnd_message.raise_error;
215       End If;
216       hr_utility.set_location(l_proc, 15);
217       l_fct_ret := true;
218     End If;
219   End If;
220   hr_utility.set_location(' Leaving:'||l_proc, 20);
221   Return (l_fct_ret);
222 --
223 End api_updating;
224 --
225 -- ----------------------------------------------------------------------------
226 -- |---------------------------------< lck >----------------------------------|
227 -- ----------------------------------------------------------------------------
228 Procedure lck
229   (
230   p_maternity_id                       in number,
231   p_object_version_number              in number
232   ) is
233 --
234 -- Cursor selects the 'current' row from the HR Schema
235 --
236   Cursor C_Sel1 is
237     select maternity_id,
238            due_date,
239            person_id,
240            start_date_maternity_allowance,
241            notification_of_birth_date,
242            unfit_for_scheduled_return,
243            stated_return_date,
244            intend_to_return_flag,
245            start_date_with_new_employer,
246            smp_must_be_paid_by_date,
247            pay_smp_as_lump_sum,
248            live_birth_flag,
249            actual_birth_date,
250            mpp_start_date,
251            object_version_number,
252            attribute_category,
253            attribute1,
254            attribute2,
255            attribute3,
256            attribute4,
257            attribute5,
258            attribute6,
259            attribute7,
260            attribute8,
261            attribute9,
262            attribute10,
263            attribute11,
264            attribute12,
265            attribute13,
266            attribute14,
267            attribute15,
268            attribute16,
269            attribute17,
270            attribute18,
271            attribute19,
272            attribute20,
273            LEAVE_TYPE,
274            MATCHING_DATE,
275            PLACEMENT_DATE,
276            DISRUPTED_PLACEMENT_DATE,
277            mat_information_category,
278            mat_information1,
279            mat_information2,
280            mat_information3,
281            mat_information4,
282            mat_information5,
283            mat_information6,
284            mat_information7,
285            mat_information8,
286            mat_information9,
287            mat_information10,
288            mat_information11,
289            mat_information12,
290            mat_information13,
291            mat_information14,
292            mat_information15,
293            mat_information16,
294            mat_information17,
295            mat_information18,
296            mat_information19,
297            mat_information20,
298            mat_information21,
299            mat_information22,
300            mat_information23,
301            mat_information24,
302            mat_information25,
303            mat_information26,
304            mat_information27,
305            mat_information28,
306            mat_information29,
307            mat_information30,
308 	   partner_stat_pay_start_date,
309 	   partner_return_to_work,
310 	   partner_death_date
311     from	ssp_maternities
312     where	maternity_id = p_maternity_id
313     for	update nowait;
314 --
315   l_proc	varchar2(72) := g_package||'lck';
316 --
320   -- Add any mandatory argument checking here:
317 Begin
318   hr_utility.set_location('Entering:'||l_proc, 5);
319   --
321   -- Example:
322   -- hr_api.mandatory_arg_error
323   --   (p_api_name       => l_proc,
324   --    p_argument       => 'object_version_number',
325   --    p_argument_value => p_object_version_number);
326   --
327   Open  C_Sel1;
328   Fetch C_Sel1 Into g_old_rec;
329   If C_Sel1%notfound then
330     Close C_Sel1;
331     --
332     -- The primary key is invalid therefore we must error
333     --
334     fnd_message.set_name ('PAY', 'HR_7220_INVALID_PRIMARY_KEY');
335     fnd_message.raise_error;
336   End If;
337   Close C_Sel1;
338   If (p_object_version_number <> g_old_rec.object_version_number) Then
339         fnd_message.set_name ('PAY', 'HR_7155_OBJECT_INVALID');
340         fnd_message.raise_error;
341       End If;
342 --
343   hr_utility.set_location(' Leaving:'||l_proc, 10);
344 --
345 -- We need to trap the ORA LOCK exception
346 --
347 Exception
348   When HR_Api.Object_Locked then
349     --
350     -- The object is locked therefore we need to supply a meaningful
351     -- error message.
352     --
353     fnd_message.set_name ('PAY', 'HR_7165_OBJECT_LOCKED');
354     fnd_message.set_token('TABLE_NAME', 'ssp_maternities');
355     fnd_message.raise_error;
356 End lck;
357 --
358 -- ----------------------------------------------------------------------------
359 -- |-----------------------------< convert_args >-----------------------------|
360 -- ----------------------------------------------------------------------------
361 Function convert_args
362 	(
363 	p_maternity_id                  in number,
364 	p_due_date                      in date,
365 	p_person_id                     in number,
366 	p_start_date_SMA  in date,
367 	p_notification_of_birth_date    in date,
368 	p_unfit_for_scheduled_return    in varchar2,
369 	p_stated_return_date            in date,
370 	p_intend_to_return_flag         in varchar2,
371 	p_start_date_with_new_employer  in date,
372 	p_smp_must_be_paid_by_date      in date,
373 	p_pay_smp_as_lump_sum           in varchar2,
374 	p_live_birth_flag               in varchar2,
375 	p_actual_birth_date             in date,
376 	p_mpp_start_date                in date,
377 	p_object_version_number         in number,
378 	p_attribute_category            in varchar2,
379 	p_attribute1                    in varchar2,
380 	p_attribute2                    in varchar2,
381 	p_attribute3                    in varchar2,
382 	p_attribute4                    in varchar2,
383 	p_attribute5                    in varchar2,
384 	p_attribute6                    in varchar2,
385 	p_attribute7                    in varchar2,
386 	p_attribute8                    in varchar2,
387 	p_attribute9                    in varchar2,
388 	p_attribute10                   in varchar2,
389 	p_attribute11                   in varchar2,
390 	p_attribute12                   in varchar2,
391 	p_attribute13                   in varchar2,
392 	p_attribute14                   in varchar2,
393 	p_attribute15                   in varchar2,
394 	p_attribute16                   in varchar2,
395 	p_attribute17                   in varchar2,
396 	p_attribute18                   in varchar2,
397 	p_attribute19                   in varchar2,
398 	p_attribute20                   in varchar2,
399         p_LEAVE_TYPE                    in VARCHAR2 default 'MA',
400         p_MATCHING_DATE                 in DATE default null,
401         p_PLACEMENT_DATE                in DATE default null,
402         p_DISRUPTED_PLACEMENT_DATE      in DATE default null,
403         p_mat_information_category      in varchar2,
404         p_mat_information1              in varchar2,
405         p_mat_information2              in varchar2,
406         p_mat_information3              in varchar2,
407         p_mat_information4              in varchar2,
408         p_mat_information5              in varchar2,
409         p_mat_information6              in varchar2,
410         p_mat_information7              in varchar2,
411         p_mat_information8              in varchar2,
412         p_mat_information9              in varchar2,
413         p_mat_information10             in varchar2,
414         p_mat_information11             in varchar2,
415         p_mat_information12             in varchar2,
416         p_mat_information13             in varchar2,
417         p_mat_information14             in varchar2,
418         p_mat_information15             in varchar2,
419         p_mat_information16             in varchar2,
420         p_mat_information17             in varchar2,
421         p_mat_information18             in varchar2,
422         p_mat_information19             in varchar2,
423         p_mat_information20             in varchar2,
424         p_mat_information21             in varchar2,
425         p_mat_information22             in varchar2,
426         p_mat_information23             in varchar2,
427         p_mat_information24             in varchar2,
428         p_mat_information25             in varchar2,
429         p_mat_information26             in varchar2,
430         p_mat_information27             in varchar2,
431         p_mat_information28             in varchar2,
432         p_mat_information29             in varchar2,
433         p_mat_information30             in varchar2,
434 	p_partner_stat_pay_start_date   in date,
435 	p_partner_return_to_work 	in date,
436 	p_partner_death_date 		in date
437 )
438 	Return g_rec_type is
439 --
440   l_rec	  g_rec_type;
441   l_proc  varchar2(72) := g_package||'convert_args';
442 --
443 Begin
444   --
448   --
445   hr_utility.set_location('Entering:'||l_proc, 5);
446   --
447   -- Convert arguments into local l_rec structure.
449   l_rec.maternity_id                     := p_maternity_id;
450   l_rec.due_date                         := p_due_date;
451   l_rec.person_id                        := p_person_id;
452   l_rec.start_date_maternity_allowance   := p_start_date_SMA;
453   l_rec.notification_of_birth_date       := p_notification_of_birth_date;
454   l_rec.unfit_for_scheduled_return       := p_unfit_for_scheduled_return;
455   l_rec.stated_return_date               := p_stated_return_date;
456   l_rec.intend_to_return_flag            := p_intend_to_return_flag;
457   l_rec.start_date_with_new_employer     := p_start_date_with_new_employer;
458   l_rec.smp_must_be_paid_by_date         := p_smp_must_be_paid_by_date;
459   l_rec.pay_smp_as_lump_sum              := p_pay_smp_as_lump_sum;
460   l_rec.live_birth_flag                  := p_live_birth_flag;
461   l_rec.actual_birth_date                := p_actual_birth_date;
462   l_rec.mpp_start_date                   := p_mpp_start_date;
463   l_rec.object_version_number            := p_object_version_number;
464   l_rec.attribute_category               := p_attribute_category;
465   l_rec.attribute1                       := p_attribute1;
466   l_rec.attribute2                       := p_attribute2;
467   l_rec.attribute3                       := p_attribute3;
468   l_rec.attribute4                       := p_attribute4;
469   l_rec.attribute5                       := p_attribute5;
470   l_rec.attribute6                       := p_attribute6;
471   l_rec.attribute7                       := p_attribute7;
472   l_rec.attribute8                       := p_attribute8;
473   l_rec.attribute9                       := p_attribute9;
474   l_rec.attribute10                      := p_attribute10;
475   l_rec.attribute11                      := p_attribute11;
476   l_rec.attribute12                      := p_attribute12;
477   l_rec.attribute13                      := p_attribute13;
478   l_rec.attribute14                      := p_attribute14;
479   l_rec.attribute15                      := p_attribute15;
480   l_rec.attribute16                      := p_attribute16;
481   l_rec.attribute17                      := p_attribute17;
482   l_rec.attribute18                      := p_attribute18;
483   l_rec.attribute19                      := p_attribute19;
484   l_rec.attribute20                      := p_attribute20;
485   l_rec.LEAVE_TYPE                       := p_LEAVE_TYPE;
486   l_rec.MATCHING_DATE                    := p_MATCHING_DATE;
487   l_rec.PLACEMENT_DATE                   := p_PLACEMENT_DATE;
488   l_rec.DISRUPTED_PLACEMENT_DATE         := p_DISRUPTED_PLACEMENT_DATE;
489   l_rec.mat_information_category         := p_mat_information_category;
490   l_rec.mat_information1                 := p_mat_information1;
491   l_rec.mat_information2                 := p_mat_information2;
492   l_rec.mat_information3                 := p_mat_information3;
493   l_rec.mat_information4                 := p_mat_information4;
494   l_rec.mat_information5                 := p_mat_information5;
495   l_rec.mat_information6                 := p_mat_information6;
496   l_rec.mat_information7                 := p_mat_information7;
497   l_rec.mat_information8                 := p_mat_information8;
498   l_rec.mat_information9                 := p_mat_information9;
499   l_rec.mat_information10                := p_mat_information10;
500   l_rec.mat_information11                := p_mat_information11;
501   l_rec.mat_information12                := p_mat_information12;
502   l_rec.mat_information13                := p_mat_information13;
503   l_rec.mat_information14                := p_mat_information14;
504   l_rec.mat_information15                := p_mat_information15;
505   l_rec.mat_information16                := p_mat_information16;
506   l_rec.mat_information17                := p_mat_information17;
507   l_rec.mat_information18                := p_mat_information18;
508   l_rec.mat_information19                := p_mat_information19;
509   l_rec.mat_information20                := p_mat_information20;
510   l_rec.mat_information21                := p_mat_information21;
511   l_rec.mat_information22                := p_mat_information22;
512   l_rec.mat_information23                := p_mat_information23;
513   l_rec.mat_information24                := p_mat_information24;
514   l_rec.mat_information25                := p_mat_information25;
515   l_rec.mat_information26                := p_mat_information26;
516   l_rec.mat_information27                := p_mat_information27;
517   l_rec.mat_information28                := p_mat_information28;
518   l_rec.mat_information29                := p_mat_information29;
519   l_rec.mat_information30                := p_mat_information30;
520   l_rec.partner_stat_pay_start_date   	 := p_partner_stat_pay_start_date;
521   l_rec.partner_return_to_work 		 := p_partner_return_to_work ;
522   l_rec.partner_death_date 		 := p_partner_death_date ;
523 
524 
525   --
526   -- Return the plsql record structure.
527   --
528   hr_utility.set_location(' Leaving:'||l_proc, 10);
529   Return(l_rec);
530 --
531 End convert_args;
532 --
533 end ssp_mat_shd;