DBA Data[Home] [Help]
Skip to content

PACKAGE BODY: APPS.HR_PL_PREVIOUS_EMPLOYMENT_API

Source


1 Package body hr_pl_previous_employment_api  as
2 /* $Header: pepempli.pkb 120.0 2005/05/31 13:27:48 appldev noship $ */
3 
4  -- Package Variables
5    g_package   VARCHAR2(33);
6 
7 -- ----------------------------------------------------------------------------
8 -- |-------------------------< create_pl_previous_employer>---------------------------|
9 -- ----------------------------------------------------------------------------
10 
11 procedure create_pl_previous_employer
12 (
13    p_effective_date               IN      date
14   ,p_validate                     IN      boolean   default false
15   ,p_business_group_id            IN      number
16   ,p_person_id                    IN      number
17   ,p_party_id                     IN      number    default null
18   ,p_start_date                   IN      date      default null
19   ,p_end_date                     IN      date      default null
20   ,p_period_years                 IN      number    default null
21   ,p_period_months                IN      number    default null
22   ,p_period_days                  IN      number    default null
23   ,p_employer_name                IN      varchar2
24   ,p_employer_country             IN      varchar2  default null
25   ,p_employer_address             IN      varchar2  default null
26   ,p_employer_type                IN      varchar2  default null
27   ,p_employer_subtype             IN      varchar2  default null
28   ,p_description                  IN      varchar2  default null
29   ,p_all_assignments              IN      varchar2  default 'N'
30   ,p_pem_attribute_category       IN      varchar2  default null
31   ,p_pem_attribute1               IN      varchar2  default null
32   ,p_pem_attribute2               IN      varchar2  default null
33   ,p_pem_attribute3               IN      varchar2  default null
34   ,p_pem_attribute4               IN      varchar2  default null
35   ,p_pem_attribute5               IN      varchar2  default null
36   ,p_pem_attribute6               IN      varchar2  default null
37   ,p_pem_attribute7               IN      varchar2  default null
38   ,p_pem_attribute8               IN      varchar2  default null
39   ,p_pem_attribute9               IN      varchar2  default null
40   ,p_pem_attribute10              IN      varchar2  default null
41   ,p_pem_attribute11              IN      varchar2  default null
42   ,p_pem_attribute12              IN      varchar2  default null
43   ,p_pem_attribute13              IN      varchar2  default null
44   ,p_pem_attribute14              IN      varchar2  default null
45   ,p_pem_attribute15              IN      varchar2  default null
46   ,p_pem_attribute16              IN      varchar2  default null
47   ,p_pem_attribute17              IN      varchar2  default null
48   ,p_pem_attribute18              IN      varchar2  default null
49   ,p_pem_attribute19              IN      varchar2  default null
50   ,p_pem_attribute20              IN      varchar2  default null
51   ,p_pem_attribute21              IN      varchar2  default null
52   ,p_pem_attribute22              IN      varchar2  default null
53   ,p_pem_attribute23              IN      varchar2  default null
54   ,p_pem_attribute24              IN      varchar2  default null
55   ,p_pem_attribute25              IN      varchar2  default null
56   ,p_pem_attribute26              IN      varchar2  default null
57   ,p_pem_attribute27              IN      varchar2  default null
58   ,p_pem_attribute28              IN      varchar2  default null
59   ,p_pem_attribute29              IN      varchar2  default null
60   ,p_pem_attribute30              IN      varchar2  default null
61   ,p_pem_information_category     IN      varchar2  default null
62   ,Direction_Number               IN      varchar2  default null
63   ,Telephone           		      IN      varchar2  default null
64   ,Mobile           		      IN      varchar2  default null
65   ,Fax         			          IN      varchar2  default null
66   ,E_mail         		          IN      varchar2  default null
67   ,Contact_Information            IN      varchar2  default null
68   ,p_pem_information7             IN      varchar2  default null
69   ,p_pem_information8             IN      varchar2  default null
70   ,p_pem_information9             IN      varchar2  default null
71   ,p_pem_information10            IN      varchar2  default null
72   ,p_pem_information11            IN      varchar2  default null
73   ,p_pem_information12            IN      varchar2  default null
74   ,p_pem_information13            IN      varchar2  default null
75   ,p_pem_information14            IN      varchar2  default null
76   ,p_pem_information15            IN      varchar2  default null
77   ,p_pem_information16            IN      varchar2  default null
78   ,p_pem_information17            IN      varchar2  default null
79   ,p_pem_information18            IN      varchar2  default null
80   ,p_pem_information19            IN      varchar2  default null
81   ,p_pem_information20            IN      varchar2  default null
82   ,p_pem_information21            IN      varchar2  default null
83   ,p_pem_information22            IN      varchar2  default null
84   ,p_pem_information23            IN      varchar2  default null
85   ,p_pem_information24            IN      varchar2  default null
86   ,p_pem_information25            IN      varchar2  default null
87   ,p_pem_information26            IN      varchar2  default null
88   ,p_pem_information27            IN      varchar2  default null
89   ,p_pem_information28            IN      varchar2  default null
90   ,p_pem_information29            IN      varchar2  default null
91   ,p_pem_information30            IN      varchar2  default null
92   ,p_previous_employer_id         OUT NOCOPY     number
93   ,p_object_version_number        OUT NOCOPY     number
94 ) is
95 
96   -- Declare cursors and local variables
97   --
98    l_proc                 varchar2(72);
99    l_legislation_code     varchar2(2);
100   --
101    cursor csr_bg is
102     select legislation_code
103     from per_business_groups pbg
104     where pbg.business_group_id in (select pe.business_group_id
105     from per_all_people_f pe
106     where pe.PERSON_ID = p_person_id);
107 
108   l_period_years number;
109   l_period_months number;
110   l_period_days number;
111   --
112 begin
113 
114    g_package := 'hr_pl_previous_employment_api.';
115    l_proc    := g_package||'create_pl_previous_employer';
116   --
117   -- Validation in addition to Row Handlers
118   --
119   -- Check that the specified business group is valid.
120   --
121   open csr_bg;
122   fetch csr_bg
123   into l_legislation_code;
124   if csr_bg%notfound then
125     close csr_bg;
126     hr_utility.set_message(801, 'HR_7208_API_BUS_GRP_INVALID');
127     hr_utility.raise_error;
128   end if;
129   close csr_bg;
130   --
131   -- Check that the legislation of the specified business group is 'PL'.
132   --
133   if l_legislation_code <> 'PL' then
134     hr_utility.set_message(801, 'HR_7961_PER_BUS_GRP_INVALID');
135     hr_utility.set_message_token('LEG_CODE','PL');
136     hr_utility.raise_error;
137   end if;
138 
139     if p_period_years is null and p_period_months is null and p_period_days is null then
140        hr_pl_utility.per_pl_calc_periods(p_start_date
141                                         ,p_end_date
142                                         ,l_period_years
143                                         ,l_period_months
144                                         ,l_period_days);
145   Else
146      l_period_years:=p_period_years;
147      l_period_months:=p_period_months;
148      l_period_days:=p_period_days;
149   End if;
150 
151    hr_utility.set_location('Entering:'|| l_proc, 5);
152 
153   --
154 hr_previous_employment_api.create_previous_employer
155 (
156    p_effective_date               =>	  p_effective_date
157   ,p_validate                     =>      p_validate
158   ,p_business_group_id            =>      p_business_group_id
159   ,p_person_id                    =>      p_person_id
160   ,p_party_id                     =>      p_party_id
161   ,p_start_date                   =>      p_start_date
162   ,p_end_date                     =>      p_end_date
163   ,p_period_years                 =>      l_period_years
164   ,p_period_months                =>      l_period_months
165   ,p_period_days                  =>      l_period_days
166   ,p_employer_name                =>      p_employer_name
167   ,p_employer_country             =>      p_employer_country
168   ,p_employer_address             =>      p_employer_address
169   ,p_employer_type                =>      p_employer_type
170   ,p_employer_subtype             =>      p_employer_subtype
171   ,p_description                  =>      p_description
172   ,p_all_assignments              =>      p_all_assignments
173   ,p_pem_attribute_category       =>      p_pem_attribute_category
174   ,p_pem_attribute1               =>      p_pem_attribute1
175   ,p_pem_attribute2               =>      p_pem_attribute2
176   ,p_pem_attribute3               =>      p_pem_attribute3
177   ,p_pem_attribute4               =>      p_pem_attribute4
178   ,p_pem_attribute5               =>      p_pem_attribute5
179   ,p_pem_attribute6               =>      p_pem_attribute6
180   ,p_pem_attribute7               =>      p_pem_attribute7
181   ,p_pem_attribute8               =>      p_pem_attribute8
182   ,p_pem_attribute9               =>      p_pem_attribute9
183   ,p_pem_attribute10              =>      p_pem_attribute10
184   ,p_pem_attribute11              =>      p_pem_attribute11
185   ,p_pem_attribute12              =>      p_pem_attribute12
186   ,p_pem_attribute13              =>      p_pem_attribute13
187   ,p_pem_attribute14              =>      p_pem_attribute14
188   ,p_pem_attribute15              =>      p_pem_attribute15
189   ,p_pem_attribute16              =>      p_pem_attribute16
190   ,p_pem_attribute17              =>      p_pem_attribute17
191   ,p_pem_attribute18              =>      p_pem_attribute18
192   ,p_pem_attribute19              =>      p_pem_attribute19
193   ,p_pem_attribute20              =>      p_pem_attribute20
194   ,p_pem_attribute21              =>      p_pem_attribute21
195   ,p_pem_attribute22              =>      p_pem_attribute22
196   ,p_pem_attribute23              =>      p_pem_attribute23
197   ,p_pem_attribute24              =>      p_pem_attribute24
198   ,p_pem_attribute25              =>      p_pem_attribute25
199   ,p_pem_attribute26              =>      p_pem_attribute26
200   ,p_pem_attribute27              =>      p_pem_attribute27
201   ,p_pem_attribute28              =>      p_pem_attribute28
202   ,p_pem_attribute29              =>      p_pem_attribute29
203   ,p_pem_attribute30              =>      p_pem_attribute30
204   ,p_pem_information_category     =>      'PL'
205   ,p_pem_information1             =>      Direction_Number
206   ,p_pem_information2             =>      Telephone
207   ,p_pem_information3             =>      Mobile
208   ,p_pem_information4             =>      Fax
209   ,p_pem_information5             =>      E_mail
210   ,p_pem_information6             =>      Contact_Information
211   ,p_pem_information7             =>      p_pem_information7
212   ,p_pem_information8             =>      p_pem_information8
213   ,p_pem_information9             =>      p_pem_information9
214   ,p_pem_information10            =>      p_pem_information10
215   ,p_pem_information11            =>      p_pem_information11
216   ,p_pem_information12            =>      p_pem_information12
217   ,p_pem_information13            =>      p_pem_information13
218   ,p_pem_information14            =>      p_pem_information14
219   ,p_pem_information15            =>      p_pem_information15
220   ,p_pem_information16            =>      p_pem_information16
221   ,p_pem_information17            =>      p_pem_information17
222   ,p_pem_information18            =>      p_pem_information18
223   ,p_pem_information19            =>      p_pem_information19
224   ,p_pem_information20            =>      p_pem_information20
225   ,p_pem_information21            =>      p_pem_information21
226   ,p_pem_information22            =>      p_pem_information22
227   ,p_pem_information23            =>      p_pem_information23
228   ,p_pem_information24            =>      p_pem_information24
229   ,p_pem_information25            =>      p_pem_information25
230   ,p_pem_information26            =>      p_pem_information26
231   ,p_pem_information27            =>      p_pem_information27
232   ,p_pem_information28            =>      p_pem_information28
233   ,p_pem_information29            =>      p_pem_information29
234   ,p_pem_information30            =>      p_pem_information30
235   ,p_previous_employer_id         =>      p_previous_employer_id
236   ,p_object_version_number        =>      p_object_version_number
237 );
238 end create_pl_previous_employer;
239 
240 
241 -- ----------------------------------------------------------------------------
242 -- |-------------------------< update_pl_previous_employer >---------------------------|
243 -- ----------------------------------------------------------------------------
244 
245 
246 procedure update_pl_previous_employer
247 (  p_effective_date             IN      date
248   ,p_validate                   IN      boolean   default false
249   ,p_previous_employer_id       IN      number
250   ,p_start_date                 IN      date      default hr_api.g_date
251   ,p_end_date                   IN      date      default hr_api.g_date
252   ,p_period_years               IN      number    default hr_api.g_number
253   ,p_period_months              IN      number    default hr_api.g_number
254   ,p_period_days                IN      number    default hr_api.g_number
255   ,p_employer_name              IN      varchar2  default hr_api.g_varchar2
256   ,p_employer_country           IN      varchar2  default hr_api.g_varchar2
257   ,p_employer_address           IN      varchar2  default hr_api.g_varchar2
258   ,p_employer_type              IN      varchar2  default hr_api.g_varchar2
259   ,p_employer_subtype           IN      varchar2  default hr_api.g_varchar2
260   ,p_description                IN      varchar2  default hr_api.g_varchar2
261   ,p_all_assignments            IN      varchar2  default 'N'
262   ,p_pem_attribute_category     IN      varchar2  default hr_api.g_varchar2
263   ,p_pem_attribute1             IN      varchar2  default hr_api.g_varchar2
264   ,p_pem_attribute2             IN      varchar2  default hr_api.g_varchar2
265   ,p_pem_attribute3             IN      varchar2  default hr_api.g_varchar2
266   ,p_pem_attribute4             IN      varchar2  default hr_api.g_varchar2
267   ,p_pem_attribute5             IN      varchar2  default hr_api.g_varchar2
268   ,p_pem_attribute6             IN      varchar2  default hr_api.g_varchar2
269   ,p_pem_attribute7             IN      varchar2  default hr_api.g_varchar2
270   ,p_pem_attribute8             IN      varchar2  default hr_api.g_varchar2
271   ,p_pem_attribute9             IN      varchar2  default hr_api.g_varchar2
272   ,p_pem_attribute10            IN      varchar2  default hr_api.g_varchar2
273   ,p_pem_attribute11            IN      varchar2  default hr_api.g_varchar2
274   ,p_pem_attribute12            IN      varchar2  default hr_api.g_varchar2
275   ,p_pem_attribute13            IN      varchar2  default hr_api.g_varchar2
276   ,p_pem_attribute14            IN      varchar2  default hr_api.g_varchar2
277   ,p_pem_attribute15            IN      varchar2  default hr_api.g_varchar2
278   ,p_pem_attribute16            IN      varchar2  default hr_api.g_varchar2
279   ,p_pem_attribute17            IN      varchar2  default hr_api.g_varchar2
280   ,p_pem_attribute18            IN      varchar2  default hr_api.g_varchar2
281   ,p_pem_attribute19            IN      varchar2  default hr_api.g_varchar2
282   ,p_pem_attribute20            IN      varchar2  default hr_api.g_varchar2
283   ,p_pem_attribute21            IN      varchar2  default hr_api.g_varchar2
284   ,p_pem_attribute22            IN      varchar2  default hr_api.g_varchar2
285   ,p_pem_attribute23            IN      varchar2  default hr_api.g_varchar2
286   ,p_pem_attribute24            IN      varchar2  default hr_api.g_varchar2
287   ,p_pem_attribute25            IN      varchar2  default hr_api.g_varchar2
288   ,p_pem_attribute26            IN      varchar2  default hr_api.g_varchar2
289   ,p_pem_attribute27            IN      varchar2  default hr_api.g_varchar2
290   ,p_pem_attribute28            IN      varchar2  default hr_api.g_varchar2
291   ,p_pem_attribute29            IN      varchar2  default hr_api.g_varchar2
292   ,p_pem_attribute30            IN      varchar2  default hr_api.g_varchar2
293   ,p_pem_information_category   IN      varchar2  default hr_api.g_varchar2
294   ,Direction_Number             IN      varchar2  default hr_api.g_varchar2
295   ,Telephone           		    IN      varchar2  default hr_api.g_varchar2
296   ,Mobile           		    IN      varchar2  default hr_api.g_varchar2
297   ,Fax          		        IN      varchar2  default hr_api.g_varchar2
298   ,E_mail         		        IN      varchar2  default hr_api.g_varchar2
299   ,Contact_Information          IN      varchar2  default hr_api.g_varchar2
300   ,p_pem_information7           IN      varchar2  default hr_api.g_varchar2
301   ,p_pem_information8           IN      varchar2  default hr_api.g_varchar2
302   ,p_pem_information9           IN      varchar2  default hr_api.g_varchar2
303   ,p_pem_information10          IN      varchar2  default hr_api.g_varchar2
304   ,p_pem_information11          IN      varchar2  default hr_api.g_varchar2
305   ,p_pem_information12          IN      varchar2  default hr_api.g_varchar2
306   ,p_pem_information13          IN      varchar2  default hr_api.g_varchar2
307   ,p_pem_information14          IN      varchar2  default hr_api.g_varchar2
308   ,p_pem_information15          IN      varchar2  default hr_api.g_varchar2
309   ,p_pem_information16          IN      varchar2  default hr_api.g_varchar2
310   ,p_pem_information17          IN      varchar2  default hr_api.g_varchar2
311   ,p_pem_information18          IN      varchar2  default hr_api.g_varchar2
312   ,p_pem_information19          IN      varchar2  default hr_api.g_varchar2
313   ,p_pem_information20          IN      varchar2  default hr_api.g_varchar2
314   ,p_pem_information21          IN      varchar2  default hr_api.g_varchar2
315   ,p_pem_information22          IN      varchar2  default hr_api.g_varchar2
316   ,p_pem_information23          IN      varchar2  default hr_api.g_varchar2
317   ,p_pem_information24          IN      varchar2  default hr_api.g_varchar2
318   ,p_pem_information25          IN      varchar2  default hr_api.g_varchar2
319   ,p_pem_information26          IN      varchar2  default hr_api.g_varchar2
320   ,p_pem_information27          IN      varchar2  default hr_api.g_varchar2
321   ,p_pem_information28          IN      varchar2  default hr_api.g_varchar2
322   ,p_pem_information29          IN      varchar2  default hr_api.g_varchar2
323   ,p_pem_information30          IN      varchar2  default hr_api.g_varchar2
324   ,p_object_version_number      IN 	OUT NOCOPY  number
325   ) is
326 
327   -- Declare cursors and local variables
328   --
329   l_proc                 varchar2(72);
330   l_legislation_code     varchar2(2);
331   --
332   cursor csr_bg is
333     select legislation_code
334     from per_business_groups pbg
335     where pbg.business_group_id in (select pe.business_group_id
336     from  per_previous_employers pe
337     where pe.PREVIOUS_EMPLOYER_ID = p_previous_employer_id
338    );
339 
340   l_period_years number;
341   l_period_months number;
342   l_period_days number;
343   --
344 begin
345 
346    g_package := 'hr_pl_previous_employment_api.';
347    l_proc    := g_package||'update_pl_previous_employer';
348 
349   --
350   -- Validation in addition to Row Handlers
351   --
352   -- Check that the specified business group is valid.
353   --
354   open csr_bg;
355   fetch csr_bg
356   into l_legislation_code;
357   if csr_bg%notfound then
358     close csr_bg;
359     hr_utility.set_message(801, 'HR_7208_API_BUS_GRP_INVALID');
360     hr_utility.raise_error;
361   end if;
362   close csr_bg;
363   --
364   -- Check that the legislation of the specified business group is 'PL'.
365   --
366   if l_legislation_code <> 'PL' then
367     hr_utility.set_message(801, 'HR_7961_PER_BUS_GRP_INVALID');
368     hr_utility.set_message_token('LEG_CODE','PL');
369     hr_utility.raise_error;
370   end if;
371 
372 
373     if p_period_years is null and p_period_months is null and p_period_days is null then
374        hr_pl_utility.per_pl_calc_periods(p_start_date
375                                         ,p_end_date
376                                         ,l_period_years
377                                         ,l_period_months
378                                         ,l_period_days);
379   Else
380      l_period_years:=p_period_years;
381      l_period_months:=p_period_months;
382      l_period_days:=p_period_days;
383   End if;
384 
385   hr_utility.set_location('Entering:'|| l_proc, 5);
386   --
387 hr_previous_employment_api.update_previous_employer
388 (
389    p_effective_date             =>	p_effective_date
390   ,p_validate                   =>	p_validate
391   ,p_previous_employer_id       =>	p_previous_employer_id
392   ,p_start_date                 =>	p_start_date
393   ,p_end_date                   =>	p_end_date
394   ,p_period_years               =>	l_period_years
395   ,p_period_months              =>	l_period_months
396   ,p_period_days                =>	l_period_days
397   ,p_employer_name              =>	p_employer_name
398   ,p_employer_country           =>	p_employer_country
399   ,p_employer_address           =>	p_employer_address
400   ,p_employer_type              =>	p_employer_type
401   ,p_employer_subtype           =>	p_employer_subtype
402   ,p_description                =>	p_description
403   ,p_all_assignments            =>	p_all_assignments
404   ,p_pem_attribute_category     =>	p_pem_attribute_category
405   ,p_pem_attribute1             =>	p_pem_attribute1
406   ,p_pem_attribute2             =>	p_pem_attribute2
407   ,p_pem_attribute3             =>	p_pem_attribute3
408   ,p_pem_attribute4             =>	p_pem_attribute4
409   ,p_pem_attribute5             =>	p_pem_attribute5
410   ,p_pem_attribute6             =>	p_pem_attribute6
411   ,p_pem_attribute7             =>	p_pem_attribute7
412   ,p_pem_attribute8             =>	p_pem_attribute8
413   ,p_pem_attribute9             =>	p_pem_attribute9
414   ,p_pem_attribute10            =>	p_pem_attribute10
415   ,p_pem_attribute11            =>	p_pem_attribute11
416   ,p_pem_attribute12            =>	p_pem_attribute12
417   ,p_pem_attribute13            =>	p_pem_attribute13
418   ,p_pem_attribute14            =>	p_pem_attribute14
419   ,p_pem_attribute15            =>	p_pem_attribute15
420   ,p_pem_attribute16            =>	p_pem_attribute16
421   ,p_pem_attribute17            =>	p_pem_attribute17
422   ,p_pem_attribute18            =>	p_pem_attribute18
423   ,p_pem_attribute19            =>	p_pem_attribute19
424   ,p_pem_attribute20            =>	p_pem_attribute20
425   ,p_pem_attribute21            =>	p_pem_attribute21
426   ,p_pem_attribute22            =>	p_pem_attribute22
427   ,p_pem_attribute23            =>	p_pem_attribute23
428   ,p_pem_attribute24            =>	p_pem_attribute24
429   ,p_pem_attribute25            =>	p_pem_attribute25
430   ,p_pem_attribute26            =>	p_pem_attribute26
431   ,p_pem_attribute27            =>	p_pem_attribute27
432   ,p_pem_attribute28            =>	p_pem_attribute28
433   ,p_pem_attribute29            =>	p_pem_attribute29
434   ,p_pem_attribute30            =>	p_pem_attribute30
435   ,p_pem_information_category   =>	'PL'
436   ,p_pem_information1           =>	Direction_Number
437   ,p_pem_information2           =>	Telephone
438   ,p_pem_information3           =>	Mobile
439   ,p_pem_information4           =>	Fax
440   ,p_pem_information5           =>	E_mail
441   ,p_pem_information6           =>	Contact_Information
442   ,p_pem_information7           =>	p_pem_information7
443   ,p_pem_information8           =>	p_pem_information8
444   ,p_pem_information9           =>	p_pem_information9
445   ,p_pem_information10          =>	p_pem_information10
446   ,p_pem_information11          =>	p_pem_information11
447   ,p_pem_information12          =>	p_pem_information12
448   ,p_pem_information13          =>	p_pem_information13
449   ,p_pem_information14          =>	p_pem_information14
450   ,p_pem_information15          =>	p_pem_information15
451   ,p_pem_information16          =>	p_pem_information16
452   ,p_pem_information17          =>	p_pem_information17
453   ,p_pem_information18          =>	p_pem_information18
454   ,p_pem_information19          =>	p_pem_information19
455   ,p_pem_information20          =>	p_pem_information20
456   ,p_pem_information21          =>	p_pem_information21
457   ,p_pem_information22          =>	p_pem_information22
458   ,p_pem_information23          =>	p_pem_information23
459   ,p_pem_information24          =>	p_pem_information24
460   ,p_pem_information25          =>	p_pem_information25
461   ,p_pem_information26          =>	p_pem_information26
462   ,p_pem_information27          =>	p_pem_information27
463   ,p_pem_information28          =>	p_pem_information28
464   ,p_pem_information29          =>	p_pem_information29
465   ,p_pem_information30          =>	p_pem_information30
466   ,p_object_version_number      =>	p_object_version_number
467 );
468 
469 end update_pl_previous_employer;
470 -- ----------------------------------------------------------------------------
471 -- |-------------------------< create_pl_previous_employer>---------------------------|
472 -- ----------------------------------------------------------------------------
473 
474 procedure create_pl_previous_job
475 (  p_effective_date                 in     date
476   ,p_validate                       in     boolean  default false
477   ,p_previous_employer_id           in     number
478   ,p_start_date                     in     date     default null
479   ,p_end_date                       in     date     default null
480   ,p_period_years                   in     number   default null
481   ,p_period_months                  in     number   default null
482   ,p_period_days                    in     number   default null
483   ,p_job_name                       in     varchar2 default null
484   ,p_employment_category            in     varchar2 default null
485   ,p_description                    in     varchar2 default null
486   ,p_all_assignments                in     varchar2 default 'N'
487   ,p_pjo_attribute_category         in     varchar2 default null
488   ,p_pjo_attribute1                 in     varchar2 default null
489   ,p_pjo_attribute2                 in     varchar2 default null
490   ,p_pjo_attribute3                 in     varchar2 default null
491   ,p_pjo_attribute4                 in     varchar2 default null
492   ,p_pjo_attribute5                 in     varchar2 default null
493   ,p_pjo_attribute6                 in     varchar2 default null
494   ,p_pjo_attribute7                 in     varchar2 default null
495   ,p_pjo_attribute8                 in     varchar2 default null
496   ,p_pjo_attribute9                 in     varchar2 default null
497   ,p_pjo_attribute10                in     varchar2 default null
498   ,p_pjo_attribute11                in     varchar2 default null
499   ,p_pjo_attribute12                in     varchar2 default null
500   ,p_pjo_attribute13                in     varchar2 default null
501   ,p_pjo_attribute14                in     varchar2 default null
502   ,p_pjo_attribute15                in     varchar2 default null
503   ,p_pjo_attribute16                in     varchar2 default null
504   ,p_pjo_attribute17                in     varchar2 default null
505   ,p_pjo_attribute18                in     varchar2 default null
506   ,p_pjo_attribute19                in     varchar2 default null
507   ,p_pjo_attribute20                in     varchar2 default null
508   ,p_pjo_attribute21                in     varchar2 default null
509   ,p_pjo_attribute22                in     varchar2 default null
510   ,p_pjo_attribute23                in     varchar2 default null
511   ,p_pjo_attribute24                in     varchar2 default null
512   ,p_pjo_attribute25                in     varchar2 default null
513   ,p_pjo_attribute26                in     varchar2 default null
514   ,p_pjo_attribute27                in     varchar2 default null
515   ,p_pjo_attribute28                in     varchar2 default null
516   ,p_pjo_attribute29                in     varchar2 default null
517   ,p_pjo_attribute30                in     varchar2 default null
518   ,p_pjo_information_category       in     varchar2 default null
519   ,Type_Of_Service                  in     varchar2
520   ,p_pjo_information2               in     varchar2 default null
521   ,p_pjo_information3               in     varchar2 default null
522   ,p_pjo_information4               in     varchar2 default null
523   ,p_pjo_information5               in     varchar2 default null
524   ,p_pjo_information6               in     varchar2 default null
525   ,p_pjo_information7               in     varchar2 default null
526   ,p_pjo_information8               in     varchar2 default null
527   ,p_pjo_information9               in     varchar2 default null
528   ,p_pjo_information10              in     varchar2 default null
529   ,p_pjo_information11              in     varchar2 default null
530   ,p_pjo_information12              in     varchar2 default null
531   ,p_pjo_information13              in     varchar2 default null
532   ,p_pjo_information14              in     varchar2 default null
533   ,p_pjo_information15              in     varchar2 default null
534   ,p_pjo_information16              in     varchar2 default null
535   ,p_pjo_information17              in     varchar2 default null
536   ,p_pjo_information18              in     varchar2 default null
537   ,p_pjo_information19              in     varchar2 default null
538   ,p_pjo_information20              in     varchar2 default null
539   ,p_pjo_information21              in     varchar2 default null
540   ,p_pjo_information22              in     varchar2 default null
541   ,p_pjo_information23              in     varchar2 default null
542   ,p_pjo_information24              in     varchar2 default null
543   ,p_pjo_information25              in     varchar2 default null
544   ,p_pjo_information26              in     varchar2 default null
545   ,p_pjo_information27              in     varchar2 default null
546   ,p_pjo_information28              in     varchar2 default null
547   ,p_pjo_information29              in     varchar2 default null
548   ,p_pjo_information30              in     varchar2 default null
549   ,p_previous_job_id                out nocopy    number
550   ,p_object_version_number          out nocopy    number
551 ) is
552 
553   -- Declare cursors and local variables
554   --
555    l_proc                 varchar2(72);
556    l_legislation_code     per_business_groups.legislation_code%type;
557   --
558    cursor csr_bg is
559     select legislation_code
560     from per_business_groups pbg
561     where pbg.business_group_id
562     in (select BUSINESS_GROUP_ID from PER_PREVIOUS_EMPLOYERS where PREVIOUS_EMPLOYER_ID =
563  p_previous_employer_id);
564   l_period_years number;
565   l_period_months number;
566   l_period_days number;
567   --
568 begin
569 
570    g_package :='hr_pl_previous_employment_api.';
571    l_proc    := g_package||'create_pl_previous_job';
572   --
573   -- Validation in addition to Row Handlers
574   --
575   -- Check that the specified business group is valid.
576   --
577   open csr_bg;
578   fetch csr_bg into l_legislation_code;
579   if csr_bg%notfound then
580     close csr_bg;
581     hr_utility.set_message(801, 'HR_7208_API_BUS_GRP_INVALID');
582     hr_utility.raise_error;
583   end if;
584   close csr_bg;
585   --
586   -- Check that the legislation of the specified business group is 'PL'.
587   --
588   if l_legislation_code <> 'PL' then
589     hr_utility.set_message(801, 'HR_7961_PER_BUS_GRP_INVALID');
590     hr_utility.set_message_token('LEG_CODE','PL');
591     hr_utility.raise_error;
592   end if;
593 
594   if p_period_years is null and p_period_months is null and p_period_days is null then
595        hr_pl_utility.per_pl_calc_periods(p_start_date
596                                         ,p_end_date
597                                         ,l_period_years
598                                         ,l_period_months
599                                         ,l_period_days);
600   Else
601      l_period_years:=p_period_years;
602      l_period_months:=p_period_months;
603      l_period_days:=p_period_days;
604   End if;
605 
606      hr_utility.set_location('Entering:'|| l_proc, 5);
607   --
608 hr_previous_employment_api.create_previous_job
609 	(p_effective_date => p_effective_date
610 	,p_validate => p_validate
611   ,p_previous_employer_id        =>p_previous_employer_id
612   ,p_start_date                  =>p_start_date
613   ,p_end_date                    =>p_end_date
614   ,p_period_years                =>l_period_years
615   ,p_period_months               =>l_period_months
616   ,p_period_days                 =>l_period_days
617   ,p_job_name                    =>p_job_name
618   ,p_employment_category         =>p_employment_category
619   ,p_description                 =>p_description
620   ,p_all_assignments             =>p_all_assignments
621   ,p_pjo_attribute_category      =>p_pjo_attribute_category
622   ,p_pjo_attribute1              =>p_pjo_attribute1
623   ,p_pjo_attribute2              =>p_pjo_attribute2
624   ,p_pjo_attribute3              =>p_pjo_attribute3
625   ,p_pjo_attribute4              =>p_pjo_attribute4
626   ,p_pjo_attribute5              =>p_pjo_attribute5
627   ,p_pjo_attribute6              =>p_pjo_attribute6
628   ,p_pjo_attribute7              =>p_pjo_attribute7
629   ,p_pjo_attribute8              =>p_pjo_attribute8
630   ,p_pjo_attribute9              =>p_pjo_attribute9
631   ,p_pjo_attribute10             =>p_pjo_attribute10
632   ,p_pjo_attribute11             =>p_pjo_attribute11
633   ,p_pjo_attribute12             =>p_pjo_attribute12
634   ,p_pjo_attribute13             =>p_pjo_attribute13
635   ,p_pjo_attribute14             =>p_pjo_attribute14
636   ,p_pjo_attribute15             =>p_pjo_attribute15
637   ,p_pjo_attribute16             =>p_pjo_attribute16
638   ,p_pjo_attribute17             =>p_pjo_attribute17
639   ,p_pjo_attribute18             =>p_pjo_attribute18
640   ,p_pjo_attribute19             =>p_pjo_attribute19
641   ,p_pjo_attribute20             =>p_pjo_attribute20
642   ,p_pjo_attribute21             =>p_pjo_attribute21
643   ,p_pjo_attribute22             =>p_pjo_attribute22
644   ,p_pjo_attribute23             =>p_pjo_attribute23
645   ,p_pjo_attribute24             =>p_pjo_attribute24
646   ,p_pjo_attribute25             =>p_pjo_attribute25
647   ,p_pjo_attribute26             =>p_pjo_attribute26
648   ,p_pjo_attribute27             =>p_pjo_attribute27
649   ,p_pjo_attribute28             =>p_pjo_attribute28
650   ,p_pjo_attribute29             =>p_pjo_attribute29
651   ,p_pjo_attribute30             =>p_pjo_attribute30
652   ,p_pjo_information_category    =>'PL'
653   ,p_pjo_information1            =>Type_Of_Service
654   ,p_pjo_information2            =>p_pjo_information2
655   ,p_pjo_information3            =>p_pjo_information3
656   ,p_pjo_information4            =>p_pjo_information4
657   ,p_pjo_information5            =>p_pjo_information5
658   ,p_pjo_information6            =>p_pjo_information6
659   ,p_pjo_information7            =>p_pjo_information7
660   ,p_pjo_information8            =>p_pjo_information8
661   ,p_pjo_information9            =>p_pjo_information9
662   ,p_pjo_information10           =>p_pjo_information10
663   ,p_pjo_information11           =>p_pjo_information11
664   ,p_pjo_information12           =>p_pjo_information12
665   ,p_pjo_information13           =>p_pjo_information13
666   ,p_pjo_information14           =>p_pjo_information14
667   ,p_pjo_information15           =>p_pjo_information15
668   ,p_pjo_information16           =>p_pjo_information16
669   ,p_pjo_information17           =>p_pjo_information17
670   ,p_pjo_information18           =>p_pjo_information18
671   ,p_pjo_information19           =>p_pjo_information19
672   ,p_pjo_information20           =>p_pjo_information20
673   ,p_pjo_information21           =>p_pjo_information21
674   ,p_pjo_information22           =>p_pjo_information22
675   ,p_pjo_information23           =>p_pjo_information23
676   ,p_pjo_information24           =>p_pjo_information24
677   ,p_pjo_information25           =>p_pjo_information25
678   ,p_pjo_information26           =>p_pjo_information26
679   ,p_pjo_information27           =>p_pjo_information27
680   ,p_pjo_information28           =>p_pjo_information28
681   ,p_pjo_information29           =>p_pjo_information29
682   ,p_pjo_information30           =>p_pjo_information30
683   ,p_previous_job_id             =>p_previous_job_id
684   ,p_object_version_number       =>p_object_version_number
685   );
686 end create_pl_previous_job;
687 
688 
689 -- ----------------------------------------------------------------------------
690 -- |-------------------------< update_pl_previous_job >---------------------------|
691 -- ----------------------------------------------------------------------------
692 
693 
694 procedure update_pl_previous_job
695 (  p_effective_date               in     date
696   ,p_validate                     in     boolean   default false
697   ,p_previous_job_id              in     number
698   ,p_start_date                   in     date      default hr_api.g_date
699   ,p_end_date                     in     date      default hr_api.g_date
700   ,p_period_years                 in     number    default hr_api.g_number
701   ,p_period_months                in     number    default hr_api.g_number
702   ,p_period_days                  in     number    default hr_api.g_number
703   ,p_job_name                     in     varchar2  default hr_api.g_varchar2
704   ,p_employment_category          in     varchar2  default hr_api.g_varchar2
705   ,p_description                  in     varchar2  default hr_api.g_varchar2
706   ,p_all_assignments              in     varchar2  default 'N'
707   ,p_pjo_attribute_category       in     varchar2  default hr_api.g_varchar2
708   ,p_pjo_attribute1               in     varchar2  default hr_api.g_varchar2
709   ,p_pjo_attribute2               in     varchar2  default hr_api.g_varchar2
710   ,p_pjo_attribute3               in     varchar2  default hr_api.g_varchar2
711   ,p_pjo_attribute4               in     varchar2  default hr_api.g_varchar2
712   ,p_pjo_attribute5               in     varchar2  default hr_api.g_varchar2
713   ,p_pjo_attribute6               in     varchar2  default hr_api.g_varchar2
714   ,p_pjo_attribute7               in     varchar2  default hr_api.g_varchar2
715   ,p_pjo_attribute8               in     varchar2  default hr_api.g_varchar2
716   ,p_pjo_attribute9               in     varchar2  default hr_api.g_varchar2
717   ,p_pjo_attribute10              in     varchar2  default hr_api.g_varchar2
718   ,p_pjo_attribute11              in     varchar2  default hr_api.g_varchar2
719   ,p_pjo_attribute12              in     varchar2  default hr_api.g_varchar2
720   ,p_pjo_attribute13              in     varchar2  default hr_api.g_varchar2
721   ,p_pjo_attribute14              in     varchar2  default hr_api.g_varchar2
722   ,p_pjo_attribute15              in     varchar2  default hr_api.g_varchar2
723   ,p_pjo_attribute16              in     varchar2  default hr_api.g_varchar2
724   ,p_pjo_attribute17              in     varchar2  default hr_api.g_varchar2
725   ,p_pjo_attribute18              in     varchar2  default hr_api.g_varchar2
726   ,p_pjo_attribute19              in     varchar2  default hr_api.g_varchar2
727   ,p_pjo_attribute20              in     varchar2  default hr_api.g_varchar2
728   ,p_pjo_attribute21              in     varchar2  default hr_api.g_varchar2
729   ,p_pjo_attribute22              in     varchar2  default hr_api.g_varchar2
730   ,p_pjo_attribute23              in     varchar2  default hr_api.g_varchar2
731   ,p_pjo_attribute24              in     varchar2  default hr_api.g_varchar2
732   ,p_pjo_attribute25              in     varchar2  default hr_api.g_varchar2
733   ,p_pjo_attribute26              in     varchar2  default hr_api.g_varchar2
734   ,p_pjo_attribute27              in     varchar2  default hr_api.g_varchar2
735   ,p_pjo_attribute28              in     varchar2  default hr_api.g_varchar2
736   ,p_pjo_attribute29              in     varchar2  default hr_api.g_varchar2
737   ,p_pjo_attribute30              in     varchar2  default hr_api.g_varchar2
738   ,p_pjo_information_category     in     varchar2  default hr_api.g_varchar2
739   ,Type_Of_Service                in     varchar2  default hr_api.g_varchar2
740   ,p_pjo_information2             in     varchar2  default hr_api.g_varchar2
741   ,p_pjo_information3             in     varchar2  default hr_api.g_varchar2
742   ,p_pjo_information4             in     varchar2  default hr_api.g_varchar2
743   ,p_pjo_information5             in     varchar2  default hr_api.g_varchar2
744   ,p_pjo_information6             in     varchar2  default hr_api.g_varchar2
745   ,p_pjo_information7             in     varchar2  default hr_api.g_varchar2
746   ,p_pjo_information8             in     varchar2  default hr_api.g_varchar2
747   ,p_pjo_information9             in     varchar2  default hr_api.g_varchar2
748   ,p_pjo_information10            in     varchar2  default hr_api.g_varchar2
749   ,p_pjo_information11            in     varchar2  default hr_api.g_varchar2
750   ,p_pjo_information12            in     varchar2  default hr_api.g_varchar2
751   ,p_pjo_information13            in     varchar2  default hr_api.g_varchar2
752   ,p_pjo_information14            in     varchar2  default hr_api.g_varchar2
753   ,p_pjo_information15            in     varchar2  default hr_api.g_varchar2
754   ,p_pjo_information16            in     varchar2  default hr_api.g_varchar2
755   ,p_pjo_information17            in     varchar2  default hr_api.g_varchar2
756   ,p_pjo_information18            in     varchar2  default hr_api.g_varchar2
757   ,p_pjo_information19            in     varchar2  default hr_api.g_varchar2
758   ,p_pjo_information20            in     varchar2  default hr_api.g_varchar2
759   ,p_pjo_information21            in     varchar2  default hr_api.g_varchar2
760   ,p_pjo_information22            in     varchar2  default hr_api.g_varchar2
761   ,p_pjo_information23            in     varchar2  default hr_api.g_varchar2
762   ,p_pjo_information24            in     varchar2  default hr_api.g_varchar2
763   ,p_pjo_information25            in     varchar2  default hr_api.g_varchar2
764   ,p_pjo_information26            in     varchar2  default hr_api.g_varchar2
765   ,p_pjo_information27            in     varchar2  default hr_api.g_varchar2
766   ,p_pjo_information28            in     varchar2  default hr_api.g_varchar2
767   ,p_pjo_information29            in     varchar2  default hr_api.g_varchar2
768   ,p_pjo_information30            in     varchar2  default hr_api.g_varchar2
769   ,p_object_version_number        in out nocopy number
770 ) is
771 
772   -- Declare cursors and local variables
773   --
774   l_proc                 varchar2(72);
775   l_legislation_code     varchar2(2);
776   --
777   cursor csr_bg is
778     select legislation_code
779     from per_business_groups pbg
780     where pbg.business_group_id in (select BUSINESS_GROUP_ID from PER_PREVIOUS_JOBS_V
781 pjb,PER_PREVIOUS_EMPLOYERS_V pem
782       where  pjb.PREVIOUS_EMPLOYER_ID=pem.PREVIOUS_EMPLOYER_ID
783        and pjb.PREVIOUS_JOB_ID = p_previous_job_id);
784 
785   l_period_years number;
786   l_period_months number;
787   l_period_days number;
788 --
789 begin
790 
791    g_package := 'hr_pl_previous_employment_api.';
792    l_proc    := g_package||'update_pl_previous_job';
793 
794   --
795   -- Validation in addition to Row Handlers
796   --
797   -- Check that the specified business group is valid.
798   --
799   open csr_bg;
800 
801   fetch csr_bg into l_legislation_code;
802 
803   if csr_bg%notfound then
804     close csr_bg;
805     hr_utility.set_message(801, 'HR_7208_API_BUS_GRP_INVALID');
806     hr_utility.raise_error;
807   end if;
808   close csr_bg;
809   --
810   -- Check that the legislation of the specified business group is 'PL'.
811   --
812   if l_legislation_code <> 'PL' then
813     hr_utility.set_message(801, 'HR_7961_PER_BUS_GRP_INVALID');
814     hr_utility.set_message_token('LEG_CODE','PL');
815     hr_utility.raise_error;
816   end if;
817 
818   if p_period_years is null and p_period_months is null and p_period_days is null then
819        hr_pl_utility.per_pl_calc_periods(p_start_date
820                                         ,p_end_date
821                                         ,l_period_years
822                                         ,l_period_months
823                                         ,l_period_days);
824   Else
825      l_period_years:=p_period_years;
826      l_period_months:=p_period_months;
827      l_period_days:=p_period_days;
828   End if;
829 
830   hr_utility.set_location('Entering:'|| l_proc, 5);
831  --
832 hr_previous_employment_api.update_previous_job
833   (p_effective_date        =>p_effective_date
834   ,p_validate              =>p_validate
835   ,p_previous_job_id       =>p_previous_job_id
836   ,p_start_date            =>p_start_date
837   ,p_end_date              =>p_end_date
838   ,p_period_years          =>l_period_years
839   ,p_period_months         =>l_period_months
840   ,p_period_days           =>l_period_days
841   ,p_job_name              =>p_job_name
842   ,p_employment_category   =>p_employment_category
843   ,p_description           =>p_description
844   ,p_all_assignments       =>p_all_assignments
845   ,p_pjo_attribute_category=>p_pjo_attribute_category
846   ,p_pjo_attribute1        =>p_pjo_attribute1
847   ,p_pjo_attribute2        =>p_pjo_attribute2
848   ,p_pjo_attribute3        =>p_pjo_attribute3
849   ,p_pjo_attribute4        =>p_pjo_attribute4
850   ,p_pjo_attribute5        =>p_pjo_attribute5
851   ,p_pjo_attribute6        =>p_pjo_attribute6
852   ,p_pjo_attribute7        =>p_pjo_attribute7
853   ,p_pjo_attribute8        =>p_pjo_attribute8
854   ,p_pjo_attribute9        =>p_pjo_attribute9
855   ,p_pjo_attribute10       =>p_pjo_attribute10
856   ,p_pjo_attribute11       =>p_pjo_attribute11
857   ,p_pjo_attribute12       =>p_pjo_attribute12
858   ,p_pjo_attribute13       =>p_pjo_attribute13
859   ,p_pjo_attribute14       =>p_pjo_attribute14
860   ,p_pjo_attribute15       =>p_pjo_attribute15
861   ,p_pjo_attribute16       =>p_pjo_attribute16
862   ,p_pjo_attribute17       =>p_pjo_attribute17
863   ,p_pjo_attribute18       =>p_pjo_attribute18
864   ,p_pjo_attribute19       =>p_pjo_attribute19
865   ,p_pjo_attribute20       =>p_pjo_attribute20
866   ,p_pjo_attribute21       =>p_pjo_attribute21
867   ,p_pjo_attribute22       =>p_pjo_attribute22
868   ,p_pjo_attribute23       =>p_pjo_attribute23
869   ,p_pjo_attribute24       =>p_pjo_attribute24
870   ,p_pjo_attribute25       =>p_pjo_attribute25
871   ,p_pjo_attribute26       =>p_pjo_attribute26
872   ,p_pjo_attribute27       =>p_pjo_attribute27
873   ,p_pjo_attribute28       =>p_pjo_attribute28
874   ,p_pjo_attribute29       =>p_pjo_attribute29
875   ,p_pjo_attribute30       =>p_pjo_attribute30
876   ,p_pjo_information_category =>'PL'
877   ,p_pjo_information1      =>Type_Of_Service
878   ,p_pjo_information2      =>p_pjo_information2
879   ,p_pjo_information3      =>p_pjo_information3
880   ,p_pjo_information4      =>p_pjo_information4
881   ,p_pjo_information5      =>p_pjo_information5
882   ,p_pjo_information6      =>p_pjo_information6
883   ,p_pjo_information7      =>p_pjo_information7
884   ,p_pjo_information8      =>p_pjo_information8
885   ,p_pjo_information9      =>p_pjo_information9
886   ,p_pjo_information10     =>p_pjo_information10
887   ,p_pjo_information11     =>p_pjo_information11
888   ,p_pjo_information12     =>p_pjo_information12
889   ,p_pjo_information13     =>p_pjo_information13
890   ,p_pjo_information14     =>p_pjo_information14
891   ,p_pjo_information15     =>p_pjo_information15
892   ,p_pjo_information16     =>p_pjo_information16
893   ,p_pjo_information17     =>p_pjo_information17
894   ,p_pjo_information18     =>p_pjo_information18
895   ,p_pjo_information19     =>p_pjo_information19
896   ,p_pjo_information20     =>p_pjo_information20
897   ,p_pjo_information21     =>p_pjo_information21
898   ,p_pjo_information22     =>p_pjo_information22
899   ,p_pjo_information23     =>p_pjo_information23
900   ,p_pjo_information24     =>p_pjo_information24
901   ,p_pjo_information25     =>p_pjo_information25
902   ,p_pjo_information26     =>p_pjo_information26
903   ,p_pjo_information27     =>p_pjo_information27
904   ,p_pjo_information28     =>p_pjo_information28
905   ,p_pjo_information29     =>p_pjo_information29
906   ,p_pjo_information30     =>p_pjo_information30
907   ,p_object_version_number =>p_object_version_number
908 );
909 
910 end update_pl_previous_job;
911 
912 End hr_pl_previous_employment_api;