DBA Data[Home] [Help]

PACKAGE BODY: APPS.PQP_AAT_API

Source


1 Package Body pqp_aat_api as
2 /* $Header: pqaatapi.pkb 120.3.12010000.1 2008/07/28 11:06:57 appldev ship $ */
3 --
4 -- Package Variables
5 --
6 g_package  varchar2(33) := '  pqp_aat_api.';
7 
8 --
9 -- ---------------------------------------------------------------------------+
10 -- |---------------------< <create_assignment_attribute> >--------------------|
11 -- ---------------------------------------------------------------------------+
12 --
13 procedure create_assignment_attribute
14   (p_validate                      in     boolean  default false
15   ,p_effective_date                in     date
16   ,p_business_group_id             in     number
17   ,p_effective_start_date             out nocopy date
18   ,p_effective_end_date               out nocopy date
19   ,p_assignment_id                 in     number
20   ,p_contract_type                 in     varchar2	default null
21   ,p_work_pattern                  in     varchar2	default null
22   ,p_start_day                     in     varchar2	default null
23   ,p_primary_company_car            in     number	default null
24   ,p_primary_car_fuel_benefit       in     varchar2	default null
25   ,p_primary_capital_contribution   in     number	default null
26   ,p_primary_class_1a               in     varchar2	default null
27   ,p_secondary_company_car          in     number	default null
28   ,p_secondary_car_fuel_benefit     in     varchar2	default null
29   ,p_secondary_capital_contributi   in     number	default null
30   ,p_secondary_class_1a             in     varchar2	default null
31   ,p_company_car_calc_method        in     varchar2	default null
32   ,p_company_car_rates_table_id     in     number	default null
33   ,p_company_car_secondary_table    in     number	default null
34   ,p_private_car                    in     number	default null
35   ,p_private_car_calc_method        in     varchar2	default null
36   ,p_private_car_rates_table_id     in     number	default null
37   ,p_private_car_essential_table    in     number	default null
38   ,p_primary_private_contribution   in number		default null
39   ,p_secondary_private_contributi   in number		default null
40   ,p_tp_is_teacher                  in varchar2		default null
41   --added for head Teacher seconded location for salary scale calculation
42   ,p_tp_headteacher_grp_code        in number 		default null
43   ,p_tp_safeguarded_grade           in varchar2		default null
44   ,p_tp_safeguarded_grade_id        in number		default null
45   ,p_tp_safeguarded_rate_type       in varchar2		default null
46   ,p_tp_safeguarded_rate_id         in number		default null
47   ,p_tp_spinal_point_id             in number		default null
48   ,p_tp_elected_pension             in varchar2		default null
49   ,p_tp_fast_track                  in varchar2		default null
50   ,p_aat_attribute_category     in varchar2		default null
51   ,p_aat_attribute1             in varchar2		default null
52   ,p_aat_attribute2             in varchar2		default null
53   ,p_aat_attribute3             in varchar2		default null
54   ,p_aat_attribute4             in varchar2		default null
55   ,p_aat_attribute5             in varchar2		default null
56   ,p_aat_attribute6             in varchar2		default null
57   ,p_aat_attribute7             in varchar2		default null
58   ,p_aat_attribute8             in varchar2		default null
59   ,p_aat_attribute9             in varchar2		default null
60   ,p_aat_attribute10            in varchar2		default null
61   ,p_aat_attribute11            in varchar2		default null
62   ,p_aat_attribute12            in varchar2		default null
63   ,p_aat_attribute13            in varchar2		default null
64   ,p_aat_attribute14            in varchar2		default null
65   ,p_aat_attribute15            in varchar2		default null
66   ,p_aat_attribute16            in varchar2		default null
67   ,p_aat_attribute17            in varchar2		default null
68   ,p_aat_attribute18            in varchar2		default null
69   ,p_aat_attribute19            in varchar2		default null
70   ,p_aat_attribute20            in varchar2		default null
71   ,p_aat_information_category   in varchar2		default null
72   ,p_aat_information1           in varchar2		default null
73   ,p_aat_information2           in varchar2		default null
74   ,p_aat_information3           in varchar2		default null
75   ,p_aat_information4           in varchar2		default null
76   ,p_aat_information5           in varchar2		default null
77   ,p_aat_information6           in varchar2		default null
78   ,p_aat_information7           in varchar2		default null
79   ,p_aat_information8           in varchar2		default null
80   ,p_aat_information9           in varchar2		default null
81   ,p_aat_information10          in varchar2		default null
82   ,p_aat_information11          in varchar2		default null
83   ,p_aat_information12          in varchar2		default null
84   ,p_aat_information13          in varchar2		default null
85   ,p_aat_information14          in varchar2		default null
86   ,p_aat_information15          in varchar2		default null
87   ,p_aat_information16          in varchar2		default null
88   ,p_aat_information17          in varchar2		default null
89   ,p_aat_information18          in varchar2		default null
90   ,p_aat_information19          in varchar2		default null
91   ,p_aat_information20          in varchar2		default null
92   ,p_lgps_process_flag          in varchar2           default null
93   ,p_lgps_exclusion_type        in varchar2           default null
94   ,p_lgps_pensionable_pay       in varchar2           default null
95   ,p_lgps_trans_arrang_flag     in varchar2           default null
96   ,p_lgps_membership_number     in varchar2           default null
97   ,p_assignment_attribute_id          out nocopy number
98   ,p_object_version_number            out nocopy number
99   ) is
100   --
101   -- Declaring cursors and local variables
102 
103   l_assignment_attribute_id     number;
104   l_object_version_number       number;
105   l_proc                varchar2(72) := g_package||'create_assignment_attribute';
106   l_effective_date              date;
107   l_effective_start_date        date;
108   l_effective_end_date          date;
109 
110   --
111 begin
112   hr_utility.set_location('Entering:'|| l_proc, 10);
113   --
114   -- Issue a savepoint
115   --
116   savepoint create_assignment_attribute;
117   --
118   -- Truncate the time portion from all IN date parameters
119   --
120      l_effective_date           := trunc(p_effective_date);
121      l_effective_start_date     := trunc(p_effective_start_date);
122      l_effective_end_date       := trunc(p_effective_end_date);
123 
124 
125   --
126   -- Call Before Process User Hook
127   --
128   begin
129     pqp_aat_api_bk1.create_assignment_attribute_b
130       (p_effective_date             => l_effective_date
131       ,p_business_group_id          => p_business_group_id
132       ,p_effective_start_date       => l_effective_start_date
133       ,p_effective_end_date         => l_effective_end_date
134       ,p_assignment_id              => p_assignment_id
135       ,p_contract_type              => p_contract_type
136       ,p_work_pattern               => p_work_pattern
137       ,p_start_day                  => p_start_day
138       ,p_primary_company_car        => p_primary_company_car
139       ,p_primary_car_fuel_benefit   => p_primary_car_fuel_benefit
140       ,p_primary_capital_contribution => p_primary_capital_contribution
141       ,p_primary_class_1a           => p_primary_class_1a
142       ,p_secondary_company_car      => p_secondary_company_car
143       ,p_secondary_car_fuel_benefit => p_secondary_car_fuel_benefit
144       ,p_secondary_capital_contributi => p_secondary_capital_contributi
145       ,p_secondary_class_1a         => p_secondary_class_1a
146       ,p_company_car_calc_method    => p_company_car_calc_method
147       ,p_company_car_rates_table_id  => p_company_car_rates_table_id
148       ,p_company_car_secondary_table => p_company_car_secondary_table
149       ,p_private_car                => p_private_car
150       ,p_private_car_calc_method    => p_private_car_calc_method
151       ,p_private_car_rates_table_id    => p_private_car_rates_table_id
152       ,p_private_car_essential_table => p_private_car_essential_table
153       ,p_primary_private_contribution   => p_primary_private_contribution
154       ,p_secondary_private_contributi   => p_secondary_private_contributi
155       ,p_tp_is_teacher                  => p_tp_is_teacher
156        --added for head Teacher seconded location for salary scale calculation
157       ,p_tp_headteacher_grp_code     => p_tp_headteacher_grp_code
158       ,p_tp_safeguarded_grade           => p_tp_safeguarded_grade
159       ,p_tp_safeguarded_grade_id        => p_tp_safeguarded_grade_id
160       ,p_tp_safeguarded_rate_type       => p_tp_safeguarded_rate_type
161       ,p_tp_safeguarded_rate_id         => p_tp_safeguarded_rate_id
162       ,p_tp_spinal_point_id             => p_tp_spinal_point_id
163       ,p_tp_elected_pension             => p_tp_elected_pension
164       ,p_tp_fast_track                  => p_tp_fast_track
165       ,p_aat_attribute_category         => p_aat_attribute_category
166       ,p_aat_attribute1                 => p_aat_attribute1
167       ,p_aat_attribute2                 => p_aat_attribute2
168       ,p_aat_attribute3                 => p_aat_attribute3
169       ,p_aat_attribute4                 => p_aat_attribute4
170       ,p_aat_attribute5                 => p_aat_attribute5
171       ,p_aat_attribute6                 => p_aat_attribute6
172       ,p_aat_attribute7                 => p_aat_attribute7
173       ,p_aat_attribute8                 => p_aat_attribute8
174       ,p_aat_attribute9                 => p_aat_attribute9
175       ,p_aat_attribute10                => p_aat_attribute10
176       ,p_aat_attribute11                => p_aat_attribute11
177       ,p_aat_attribute12                => p_aat_attribute12
178       ,p_aat_attribute13                => p_aat_attribute13
179       ,p_aat_attribute14                => p_aat_attribute14
180       ,p_aat_attribute15                => p_aat_attribute15
181       ,p_aat_attribute16                => p_aat_attribute16
182       ,p_aat_attribute17                => p_aat_attribute17
183       ,p_aat_attribute18                => p_aat_attribute18
184       ,p_aat_attribute19                => p_aat_attribute19
185       ,p_aat_attribute20                => p_aat_attribute20
186       ,p_aat_information_category       => p_aat_information_category
187       ,p_aat_information1               => p_aat_information1
188       ,p_aat_information2               => p_aat_information2
189       ,p_aat_information3               => p_aat_information3
190       ,p_aat_information4               => p_aat_information4
191       ,p_aat_information5               => p_aat_information5
192       ,p_aat_information6               => p_aat_information6
193       ,p_aat_information7               => p_aat_information7
194       ,p_aat_information8               => p_aat_information8
195       ,p_aat_information9               => p_aat_information9
196       ,p_aat_information10              => p_aat_information10
197       ,p_aat_information11              => p_aat_information11
198       ,p_aat_information12              => p_aat_information12
199       ,p_aat_information13              => p_aat_information13
200       ,p_aat_information14              => p_aat_information14
201       ,p_aat_information15              => p_aat_information15
202       ,p_aat_information16              => p_aat_information16
203       ,p_aat_information17              => p_aat_information17
204       ,p_aat_information18              => p_aat_information18
205       ,p_aat_information19              => p_aat_information19
206       ,p_aat_information20              => p_aat_information20
207       ,p_lgps_process_flag              => p_lgps_process_flag
208       ,p_lgps_exclusion_type            => p_lgps_exclusion_type
209       ,p_lgps_pensionable_pay           => p_lgps_pensionable_pay
210       ,p_lgps_trans_arrang_flag         => p_lgps_trans_arrang_flag
211       ,p_lgps_membership_number         => p_lgps_membership_number
212       );
213   exception
214     when hr_api.cannot_find_prog_unit then
215       hr_api.cannot_find_prog_unit_error
216         (p_module_name => 'create_assignment_attribute'
217         ,p_hook_type   => 'BP'
218         );
219   end;
220   --
221   -- Validation in addition to Row Handlers
222   --
223 
224 
225 
226   --
227   -- Process Logic, calling Row Handler for insert
228 
229      pqp_aat_ins.ins
230       (p_effective_date         => l_effective_date
231       ,p_business_group_id      => p_business_group_id
232       ,p_effective_start_date   => l_effective_start_date
233       ,p_effective_end_date     => l_effective_end_date
234       ,p_assignment_id          => p_assignment_id
235       ,p_contract_type          => p_contract_type
236       ,p_work_pattern           => p_work_pattern
237       ,p_start_day              => p_start_day
238       ,p_primary_company_car        => p_primary_company_car
239       ,p_primary_car_fuel_benefit   => p_primary_car_fuel_benefit
240       ,p_primary_capital_contribution => p_primary_capital_contribution
241       ,p_primary_class_1a           => p_primary_class_1a
242       ,p_secondary_company_car      => p_secondary_company_car
243       ,p_secondary_car_fuel_benefit => p_secondary_car_fuel_benefit
244       ,p_secondary_capital_contributi => p_secondary_capital_contributi
245       ,p_secondary_class_1a         => p_secondary_class_1a
246       ,p_company_car_calc_method    => p_company_car_calc_method
247       ,p_company_car_rates_table_id    => p_company_car_rates_table_id
248       ,p_company_car_secondary_table => p_company_car_secondary_table
249       ,p_private_car                => p_private_car
250       ,p_private_car_calc_method    => p_private_car_calc_method
251       ,p_private_car_rates_table_id    => p_private_car_rates_table_id
252       ,p_private_car_essential_table => p_private_car_essential_table
253       ,p_primary_private_contribution   => p_primary_private_contribution
254       ,p_secondary_private_contributi   => p_secondary_private_contributi
255       ,p_tp_is_teacher                  => p_tp_is_teacher
256        --added for head Teacher seconded location for salary scale calculation
257       ,p_tp_headteacher_grp_code        => p_tp_headteacher_grp_code
258       ,p_tp_safeguarded_grade           => p_tp_safeguarded_grade
259       ,p_tp_safeguarded_grade_id        => p_tp_safeguarded_grade_id
260       ,p_tp_safeguarded_rate_type       => p_tp_safeguarded_rate_type
261       ,p_tp_safeguarded_rate_id         => p_tp_safeguarded_rate_id
262       ,p_tp_spinal_point_id             => p_tp_spinal_point_id
263       ,p_tp_elected_pension             => p_tp_elected_pension
264       ,p_tp_fast_track                  => p_tp_fast_track
265       ,p_aat_attribute_category         => p_aat_attribute_category
266       ,p_aat_attribute1                 => p_aat_attribute1
267       ,p_aat_attribute2                 => p_aat_attribute2
268       ,p_aat_attribute3                 => p_aat_attribute3
269       ,p_aat_attribute4                 => p_aat_attribute4
270       ,p_aat_attribute5                 => p_aat_attribute5
271       ,p_aat_attribute6                 => p_aat_attribute6
272       ,p_aat_attribute7                 => p_aat_attribute7
273       ,p_aat_attribute8                 => p_aat_attribute8
274       ,p_aat_attribute9                 => p_aat_attribute9
275       ,p_aat_attribute10                => p_aat_attribute10
276       ,p_aat_attribute11                => p_aat_attribute11
277       ,p_aat_attribute12                => p_aat_attribute12
278       ,p_aat_attribute13                => p_aat_attribute13
279       ,p_aat_attribute14                => p_aat_attribute14
280       ,p_aat_attribute15                => p_aat_attribute15
281       ,p_aat_attribute16                => p_aat_attribute16
282       ,p_aat_attribute17                => p_aat_attribute17
283       ,p_aat_attribute18                => p_aat_attribute18
284       ,p_aat_attribute19                => p_aat_attribute19
285       ,p_aat_attribute20                => p_aat_attribute20
286       ,p_aat_information_category       => p_aat_information_category
287       ,p_aat_information1               => p_aat_information1
288       ,p_aat_information2               => p_aat_information2
289       ,p_aat_information3               => p_aat_information3
290       ,p_aat_information4               => p_aat_information4
291       ,p_aat_information5               => p_aat_information5
292       ,p_aat_information6               => p_aat_information6
293       ,p_aat_information7               => p_aat_information7
294       ,p_aat_information8               => p_aat_information8
295       ,p_aat_information9               => p_aat_information9
296       ,p_aat_information10              => p_aat_information10
297       ,p_aat_information11              => p_aat_information11
298       ,p_aat_information12              => p_aat_information12
299       ,p_aat_information13              => p_aat_information13
300       ,p_aat_information14              => p_aat_information14
301       ,p_aat_information15              => p_aat_information15
302       ,p_aat_information16              => p_aat_information16
303       ,p_aat_information17              => p_aat_information17
304       ,p_aat_information18              => p_aat_information18
305       ,p_aat_information19              => p_aat_information19
306       ,p_aat_information20              => p_aat_information20
307       ,p_lgps_process_flag              => p_lgps_process_flag
308       ,p_lgps_exclusion_type            => p_lgps_exclusion_type
309       ,p_lgps_pensionable_pay           => p_lgps_pensionable_pay
310       ,p_lgps_trans_arrang_flag         => p_lgps_trans_arrang_flag
311       ,p_lgps_membership_number         => p_lgps_membership_number
312       ,p_assignment_attribute_id    => l_assignment_attribute_id
313       ,p_object_version_number      => l_object_version_number
314       );
315   --
316 
317 
318   --
319   -- Call After Process User Hook
320   --
321   begin
322     pqp_aat_api_bk1.create_assignment_attribute_a
323       (p_effective_date         => l_effective_date
324       ,p_business_group_id      => p_business_group_id
325       ,p_effective_start_date   => l_effective_start_date
326       ,p_effective_end_date     => l_effective_end_date
327       ,p_assignment_id          => p_assignment_id
328       ,p_contract_type          => p_contract_type
329       ,p_work_pattern           => p_work_pattern
330       ,p_start_day              => p_start_day
331       ,p_primary_company_car        => p_primary_company_car
332       ,p_primary_car_fuel_benefit   => p_primary_car_fuel_benefit
333       ,p_primary_capital_contribution => p_primary_capital_contribution
334       ,p_primary_class_1a           => p_primary_class_1a
335       ,p_secondary_company_car      => p_secondary_company_car
336       ,p_secondary_car_fuel_benefit => p_secondary_car_fuel_benefit
337       ,p_secondary_capital_contributi => p_secondary_capital_contributi
338       ,p_secondary_class_1a         => p_secondary_class_1a
339       ,p_company_car_calc_method    => p_company_car_calc_method
340       ,p_company_car_rates_table_id    => p_company_car_rates_table_id
341       ,p_company_car_secondary_table => p_company_car_secondary_table
342       ,p_private_car                => p_private_car
343       ,p_private_car_calc_method    => p_private_car_calc_method
344       ,p_private_car_rates_table_id    => p_private_car_rates_table_id
345       ,p_private_car_essential_table => p_private_car_essential_table
346       ,p_primary_private_contribution   => p_primary_private_contribution
347       ,p_secondary_private_contributi   => p_secondary_private_contributi
348       ,p_tp_is_teacher                  => p_tp_is_teacher
349        --added for head Teacher seconded location for salary scale calculation
350       ,p_tp_headteacher_grp_code        => p_tp_headteacher_grp_code
351       ,p_tp_safeguarded_grade           => p_tp_safeguarded_grade
352       ,p_tp_safeguarded_grade_id        => p_tp_safeguarded_grade_id
353       ,p_tp_safeguarded_rate_type       => p_tp_safeguarded_rate_type
354       ,p_tp_safeguarded_rate_id         => p_tp_safeguarded_rate_id
355       ,p_tp_spinal_point_id             => p_tp_spinal_point_id
356       ,p_tp_elected_pension             => p_tp_elected_pension
357       ,p_tp_fast_track                  => p_tp_fast_track
358       ,p_aat_attribute_category         => p_aat_attribute_category
359       ,p_aat_attribute1                 => p_aat_attribute1
360       ,p_aat_attribute2                 => p_aat_attribute2
361       ,p_aat_attribute3                 => p_aat_attribute3
362       ,p_aat_attribute4                 => p_aat_attribute4
363       ,p_aat_attribute5                 => p_aat_attribute5
364       ,p_aat_attribute6                 => p_aat_attribute6
365       ,p_aat_attribute7                 => p_aat_attribute7
366       ,p_aat_attribute8                 => p_aat_attribute8
367       ,p_aat_attribute9                 => p_aat_attribute9
368       ,p_aat_attribute10                => p_aat_attribute10
369       ,p_aat_attribute11                => p_aat_attribute11
373       ,p_aat_attribute15                => p_aat_attribute15
370       ,p_aat_attribute12                => p_aat_attribute12
371       ,p_aat_attribute13                => p_aat_attribute13
372       ,p_aat_attribute14                => p_aat_attribute14
374       ,p_aat_attribute16                => p_aat_attribute16
375       ,p_aat_attribute17                => p_aat_attribute17
376       ,p_aat_attribute18                => p_aat_attribute18
377       ,p_aat_attribute19                => p_aat_attribute19
378       ,p_aat_attribute20                => p_aat_attribute20
379       ,p_aat_information_category       => p_aat_information_category
380       ,p_aat_information1               => p_aat_information1
381       ,p_aat_information2               => p_aat_information2
382       ,p_aat_information3               => p_aat_information3
383       ,p_aat_information4               => p_aat_information4
384       ,p_aat_information5               => p_aat_information5
385       ,p_aat_information6               => p_aat_information6
386       ,p_aat_information7               => p_aat_information7
387       ,p_aat_information8               => p_aat_information8
388       ,p_aat_information9               => p_aat_information9
389       ,p_aat_information10              => p_aat_information10
390       ,p_aat_information11              => p_aat_information11
391       ,p_aat_information12              => p_aat_information12
392       ,p_aat_information13              => p_aat_information13
393       ,p_aat_information14              => p_aat_information14
394       ,p_aat_information15              => p_aat_information15
395       ,p_aat_information16              => p_aat_information16
396       ,p_aat_information17              => p_aat_information17
397       ,p_aat_information18              => p_aat_information18
398       ,p_aat_information19              => p_aat_information19
399       ,p_aat_information20              => p_aat_information20
400       ,p_lgps_process_flag              => p_lgps_process_flag
401       ,p_lgps_exclusion_type            => p_lgps_exclusion_type
402       ,p_lgps_pensionable_pay           => p_lgps_pensionable_pay
403       ,p_lgps_trans_arrang_flag         => p_lgps_trans_arrang_flag
404       ,p_lgps_membership_number         => p_lgps_membership_number
405       ,p_assignment_attribute_id =>l_assignment_attribute_id
406       ,p_object_version_number  => l_object_version_number
407       );
408   exception
409     when hr_api.cannot_find_prog_unit then
410       hr_api.cannot_find_prog_unit_error
411         (p_module_name => 'create_assignment_attribute'
412         ,p_hook_type   => 'AP'
413         );
414   end;
415   --
416   -- When in validation only mode raise the Validate_Enabled exception
417   --
418   if p_validate then
419     raise hr_api.validate_enabled;
420   end if;
421   --
422   -- Set all output arguments
423   --
424   p_assignment_attribute_id     := l_assignment_attribute_id;
425   p_object_version_number       := l_object_version_number;
426   p_effective_start_date        := l_effective_start_date;
427   p_effective_end_date          := l_effective_end_date;
428 
429   --
430   hr_utility.set_location(' Leaving:'||l_proc, 70);
431 exception
432   when hr_api.validate_enabled then
433     --
434     -- As the Validate_Enabled exception has been raised
435     -- we must rollback to the savepoint
436     --
437     rollback to create_assignment_attribute;
438     --
439     -- Only set output warning arguments
440     -- (Any key or derived arguments must be set to null
441     -- when validation only mode is being used.)
442     --
443     p_assignment_attribute_id   := null;
444     p_object_version_number     := null;
445     p_effective_start_date      := null;
446     p_effective_end_date        := null;
447 
448     hr_utility.set_location(' Leaving:'||l_proc, 80);
449   when others then
450     --
451     -- A validation or unexpected error has occured
452     --
453     rollback to create_assignment_attribute;
454     p_assignment_attribute_id   := null;
455     p_object_version_number     := null;
456     p_effective_start_date      := null;
457     p_effective_end_date        := null;
458     hr_utility.set_location(' Leaving:'||l_proc, 90);
459     raise;
460 end create_assignment_attribute;
461 --
462 --
463 -- ---------------------------------------------------------------------------+
464 -- |---------------------< <update_assignment_attribute> >--------------------|
465 -- ---------------------------------------------------------------------------+
466 --
467 procedure update_assignment_attribute
468   (p_validate                      in     boolean  default false
469   ,p_effective_date                in     date
470   ,p_datetrack_mode                in     varchar2
471   ,p_assignment_attribute_id       in     number
472   ,p_business_group_id             in     number
473   ,p_effective_start_date             out nocopy date
474   ,p_effective_end_date               out nocopy date
475   ,p_assignment_id                 in     number   default hr_api.g_number
476   ,p_contract_type                 in     varchar2 default hr_api.g_varchar2
477   ,p_work_pattern                  in     varchar2 default hr_api.g_varchar2
478   ,p_start_day                     in     varchar2 default hr_api.g_varchar2
479   ,p_primary_company_car           in     number   default hr_api.g_number
480   ,p_primary_car_fuel_benefit      in     varchar2 default hr_api.g_varchar2
481   ,p_primary_capital_contribution  in     number    default hr_api.g_number
485   ,p_secondary_capital_contributi  in     number    default hr_api.g_number
482   ,p_primary_class_1a              in     varchar2 default hr_api.g_varchar2
483   ,p_secondary_company_car         in     number   default hr_api.g_number
484   ,p_secondary_car_fuel_benefit    in     varchar2 default hr_api.g_varchar2
486   ,p_secondary_class_1a            in     varchar2 default hr_api.g_varchar2
487   ,p_company_car_calc_method       in     varchar2 default hr_api.g_varchar2
488   ,p_company_car_rates_table_id    in     number default hr_api.g_number
489   ,p_company_car_secondary_table   in     number default hr_api.g_number
490   ,p_private_car                   in     number    default hr_api.g_number
491   ,p_private_car_calc_method       in     varchar2 default hr_api.g_varchar2
492   ,p_private_car_rates_table_id    in     number default hr_api.g_number
493   ,p_private_car_essential_table   in     number default hr_api.g_number
494   ,p_primary_private_contribution  in     number  default hr_api.g_number
495   ,p_secondary_private_contributi  in     number  default hr_api.g_number
496   ,p_tp_is_teacher                 in     varchar2  default hr_api.g_varchar2
497   --added for head Teacher seconded location for salary scale calculation
498   ,p_tp_headteacher_grp_code       in     number  default hr_api.g_number
499   ,p_tp_safeguarded_grade          in     varchar2  default hr_api.g_varchar2
500   ,p_tp_safeguarded_grade_id       in     number    default hr_api.g_number
501   ,p_tp_safeguarded_rate_type      in     varchar2  default hr_api.g_varchar2
502   ,p_tp_safeguarded_rate_id        in     number    default hr_api.g_number
503   ,p_tp_spinal_point_id            in     number  default hr_api.g_number
504   ,p_tp_elected_pension            in     varchar2  default hr_api.g_varchar2
505   ,p_tp_fast_track                 in     varchar2  default hr_api.g_varchar2
506   ,p_aat_attribute_category     in varchar2  default hr_api.g_varchar2
507   ,p_aat_attribute1             in varchar2  default hr_api.g_varchar2
508   ,p_aat_attribute2             in varchar2  default hr_api.g_varchar2
509   ,p_aat_attribute3             in varchar2  default hr_api.g_varchar2
510   ,p_aat_attribute4             in varchar2  default hr_api.g_varchar2
511   ,p_aat_attribute5             in varchar2  default hr_api.g_varchar2
512   ,p_aat_attribute6             in varchar2  default hr_api.g_varchar2
513   ,p_aat_attribute7             in varchar2  default hr_api.g_varchar2
514   ,p_aat_attribute8             in varchar2  default hr_api.g_varchar2
515   ,p_aat_attribute9             in varchar2  default hr_api.g_varchar2
516   ,p_aat_attribute10            in varchar2  default hr_api.g_varchar2
517   ,p_aat_attribute11            in varchar2  default hr_api.g_varchar2
518   ,p_aat_attribute12            in varchar2  default hr_api.g_varchar2
519   ,p_aat_attribute13            in varchar2  default hr_api.g_varchar2
520   ,p_aat_attribute14            in varchar2  default hr_api.g_varchar2
521   ,p_aat_attribute15            in varchar2  default hr_api.g_varchar2
522   ,p_aat_attribute16            in varchar2  default hr_api.g_varchar2
523   ,p_aat_attribute17            in varchar2  default hr_api.g_varchar2
524   ,p_aat_attribute18            in varchar2  default hr_api.g_varchar2
525   ,p_aat_attribute19            in varchar2  default hr_api.g_varchar2
526   ,p_aat_attribute20            in varchar2  default hr_api.g_varchar2
527   ,p_aat_information_category   in varchar2  default hr_api.g_varchar2
528   ,p_aat_information1           in varchar2  default hr_api.g_varchar2
529   ,p_aat_information2           in varchar2  default hr_api.g_varchar2
530   ,p_aat_information3           in varchar2  default hr_api.g_varchar2
531   ,p_aat_information4           in varchar2  default hr_api.g_varchar2
532   ,p_aat_information5           in varchar2  default hr_api.g_varchar2
533   ,p_aat_information6           in varchar2  default hr_api.g_varchar2
534   ,p_aat_information7           in varchar2  default hr_api.g_varchar2
535   ,p_aat_information8           in varchar2  default hr_api.g_varchar2
536   ,p_aat_information9           in varchar2  default hr_api.g_varchar2
537   ,p_aat_information10          in varchar2  default hr_api.g_varchar2
538   ,p_aat_information11          in varchar2  default hr_api.g_varchar2
539   ,p_aat_information12          in varchar2  default hr_api.g_varchar2
540   ,p_aat_information13          in varchar2  default hr_api.g_varchar2
541   ,p_aat_information14          in varchar2  default hr_api.g_varchar2
542   ,p_aat_information15          in varchar2  default hr_api.g_varchar2
543   ,p_aat_information16          in varchar2  default hr_api.g_varchar2
544   ,p_aat_information17          in varchar2  default hr_api.g_varchar2
545   ,p_aat_information18          in varchar2  default hr_api.g_varchar2
546   ,p_aat_information19          in varchar2  default hr_api.g_varchar2
547   ,p_aat_information20          in varchar2  default hr_api.g_varchar2
548   ,p_lgps_process_flag          in varchar2  default hr_api.g_varchar2
549   ,p_lgps_exclusion_type        in varchar2  default hr_api.g_varchar2
550   ,p_lgps_pensionable_pay       in varchar2  default hr_api.g_varchar2
551   ,p_lgps_trans_arrang_flag     in varchar2  default hr_api.g_varchar2
552   ,p_lgps_membership_number     in varchar2  default hr_api.g_varchar2
553   ,p_object_version_number         in out nocopy number
554   ) is
555   --
556   -- Declaring cursors and local variables
557   --
558   l_object_version_number       number;
559   l_proc                        varchar2(72) := g_package||'update_assignment_attribute';
560   l_effective_date              date;
561   l_effective_start_date        date;
562   l_effective_end_date          date;
563 begin
567   --
564   hr_utility.set_location('Entering:'|| l_proc, 10);
565   --
566   -- Issue a savepoint
568   savepoint update_assignment_attribute;
569   --
570   -- Truncate the time portion from all IN date parameters
571   --
572 
573      l_effective_date           := trunc(p_effective_date);
574      l_effective_start_date     := trunc(p_effective_start_date);
575      l_effective_end_date       := trunc(p_effective_end_date);
576 
577 
578   --
579   -- Call Before Process User Hook
580   --
581   begin
582     pqp_aat_api_bk2.update_assignment_attribute_b
583       (p_effective_date         => l_effective_date
584       ,p_datetrack_mode         => p_datetrack_mode
585       ,p_business_group_id      => p_business_group_id
586       ,p_effective_start_date   => l_effective_start_date
587       ,p_effective_end_date     => l_effective_end_date
588       ,p_assignment_id          => p_assignment_id
589       ,p_contract_type          => p_contract_type
590       ,p_work_pattern           => p_work_pattern
591       ,p_start_day              => p_start_day
592       ,p_primary_company_car        => p_primary_company_car
593       ,p_primary_car_fuel_benefit   => p_primary_car_fuel_benefit
594       ,p_primary_capital_contribution => p_primary_capital_contribution
595       ,p_primary_class_1a           => p_primary_class_1a
596       ,p_secondary_company_car      => p_secondary_company_car
597       ,p_secondary_car_fuel_benefit => p_secondary_car_fuel_benefit
598       ,p_secondary_capital_contributi => p_secondary_capital_contributi
599       ,p_secondary_class_1a         => p_secondary_class_1a
600       ,p_company_car_calc_method    => p_company_car_calc_method
601       ,p_company_car_rates_table_id    => p_company_car_rates_table_id
602       ,p_company_car_secondary_table => p_company_car_secondary_table
603       ,p_private_car                => p_private_car
604       ,p_private_car_calc_method    => p_private_car_calc_method
605       ,p_private_car_rates_table_id    => p_private_car_rates_table_id
606       ,p_private_car_essential_table => p_private_car_essential_table
607       ,p_primary_private_contribution   => p_primary_private_contribution
608       ,p_secondary_private_contributi   => p_secondary_private_contributi
609       ,p_tp_is_teacher                  => p_tp_is_teacher
610        --added for head Teacher seconded location for salary scale calculation
611       ,p_tp_headteacher_grp_code        => p_tp_headteacher_grp_code
612       ,p_tp_safeguarded_grade           => p_tp_safeguarded_grade
613       ,p_tp_safeguarded_grade_id        => p_tp_safeguarded_grade_id
614       ,p_tp_safeguarded_rate_type       => p_tp_safeguarded_rate_type
615       ,p_tp_safeguarded_rate_id         => p_tp_safeguarded_rate_id
616       ,p_tp_spinal_point_id             => p_tp_spinal_point_id
617       ,p_tp_elected_pension             => p_tp_elected_pension
618       ,p_tp_fast_track                  => p_tp_fast_track
619       ,p_aat_attribute_category         => p_aat_attribute_category
620       ,p_aat_attribute1                 => p_aat_attribute1
621       ,p_aat_attribute2                 => p_aat_attribute2
622       ,p_aat_attribute3                 => p_aat_attribute3
623       ,p_aat_attribute4                 => p_aat_attribute4
624       ,p_aat_attribute5                 => p_aat_attribute5
625       ,p_aat_attribute6                 => p_aat_attribute6
626       ,p_aat_attribute7                 => p_aat_attribute7
627       ,p_aat_attribute8                 => p_aat_attribute8
628       ,p_aat_attribute9                 => p_aat_attribute9
629       ,p_aat_attribute10                => p_aat_attribute10
630       ,p_aat_attribute11                => p_aat_attribute11
631       ,p_aat_attribute12                => p_aat_attribute12
632       ,p_aat_attribute13                => p_aat_attribute13
633       ,p_aat_attribute14                => p_aat_attribute14
634       ,p_aat_attribute15                => p_aat_attribute15
635       ,p_aat_attribute16                => p_aat_attribute16
636       ,p_aat_attribute17                => p_aat_attribute17
637       ,p_aat_attribute18                => p_aat_attribute18
638       ,p_aat_attribute19                => p_aat_attribute19
639       ,p_aat_attribute20                => p_aat_attribute20
640       ,p_aat_information_category       => p_aat_information_category
641       ,p_aat_information1               => p_aat_information1
642       ,p_aat_information2               => p_aat_information2
643       ,p_aat_information3               => p_aat_information3
644       ,p_aat_information4               => p_aat_information4
645       ,p_aat_information5               => p_aat_information5
646       ,p_aat_information6               => p_aat_information6
647       ,p_aat_information7               => p_aat_information7
648       ,p_aat_information8               => p_aat_information8
649       ,p_aat_information9               => p_aat_information9
650       ,p_aat_information10              => p_aat_information10
651       ,p_aat_information11              => p_aat_information11
652       ,p_aat_information12              => p_aat_information12
653       ,p_aat_information13              => p_aat_information13
654       ,p_aat_information14              => p_aat_information14
655       ,p_aat_information15              => p_aat_information15
656       ,p_aat_information16              => p_aat_information16
657       ,p_aat_information17              => p_aat_information17
658       ,p_aat_information18              => p_aat_information18
659       ,p_aat_information19              => p_aat_information19
660       ,p_aat_information20              => p_aat_information20
664       ,p_lgps_trans_arrang_flag         => p_lgps_trans_arrang_flag
661       ,p_lgps_process_flag              => p_lgps_process_flag
662       ,p_lgps_exclusion_type            => p_lgps_exclusion_type
663       ,p_lgps_pensionable_pay           => p_lgps_pensionable_pay
665       ,p_lgps_membership_number         => p_lgps_membership_number
666       ,p_assignment_attribute_id =>p_assignment_attribute_id
667       ,p_object_version_number  => p_object_version_number
668       );
669   exception
670     when hr_api.cannot_find_prog_unit then
671       hr_api.cannot_find_prog_unit_error
672         (p_module_name => 'update_assignment_attribute'
673         ,p_hook_type   => 'BP'
674         );
675   end;
676   --
677   -- Validation in addition to Row Handlers
678   --
679 
680      l_object_version_number := p_object_version_number;
681 
682   --
683   -- Process Logic, calling Row Handler for update
684     pqp_aat_upd.upd
685       (p_effective_date         => l_effective_date
686       ,p_datetrack_mode         => p_datetrack_mode
687       ,p_business_group_id      => p_business_group_id
688       ,p_effective_start_date   => l_effective_start_date
689       ,p_effective_end_date     => l_effective_end_date
690       ,p_assignment_id          => p_assignment_id
691       ,p_contract_type          => p_contract_type
692       ,p_work_pattern           => p_work_pattern
693       ,p_start_day              => p_start_day
694       ,p_primary_company_car        => p_primary_company_car
695       ,p_primary_car_fuel_benefit   => p_primary_car_fuel_benefit
696       ,p_primary_capital_contribution => p_primary_capital_contribution
697       ,p_primary_class_1a           => p_primary_class_1a
698       ,p_secondary_company_car      => p_secondary_company_car
699       ,p_secondary_car_fuel_benefit => p_secondary_car_fuel_benefit
700       ,p_secondary_capital_contributi => p_secondary_capital_contributi
701       ,p_secondary_class_1a         => p_secondary_class_1a
702       ,p_company_car_calc_method    => p_company_car_calc_method
703       ,p_company_car_rates_table_id    => p_company_car_rates_table_id
704       ,p_company_car_secondary_table => p_company_car_secondary_table
705       ,p_private_car                => p_private_car
706       ,p_private_car_calc_method    => p_private_car_calc_method
707       ,p_private_car_rates_table_id    => p_private_car_rates_table_id
708       ,p_private_car_essential_table  => p_private_car_essential_table
709       ,p_primary_private_contribution   => p_primary_private_contribution
710       ,p_secondary_private_contributi   => p_secondary_private_contributi
711       ,p_tp_is_teacher                  => p_tp_is_teacher
712        --added for head Teacher seconded location for salary scale calculation
713       ,p_tp_headteacher_grp_code        => p_tp_headteacher_grp_code
714       ,p_tp_safeguarded_grade           => p_tp_safeguarded_grade
715       ,p_tp_safeguarded_grade_id        => p_tp_safeguarded_grade_id
716       ,p_tp_safeguarded_rate_type       => p_tp_safeguarded_rate_type
717       ,p_tp_safeguarded_rate_id         => p_tp_safeguarded_rate_id
718       ,p_tp_spinal_point_id             => p_tp_spinal_point_id
719       ,p_tp_elected_pension             => p_tp_elected_pension
720       ,p_tp_fast_track                  => p_tp_fast_track
721       ,p_aat_attribute_category         => p_aat_attribute_category
722       ,p_aat_attribute1                 => p_aat_attribute1
723       ,p_aat_attribute2                 => p_aat_attribute2
724       ,p_aat_attribute3                 => p_aat_attribute3
725       ,p_aat_attribute4                 => p_aat_attribute4
726       ,p_aat_attribute5                 => p_aat_attribute5
727       ,p_aat_attribute6                 => p_aat_attribute6
728       ,p_aat_attribute7                 => p_aat_attribute7
729       ,p_aat_attribute8                 => p_aat_attribute8
730       ,p_aat_attribute9                 => p_aat_attribute9
731       ,p_aat_attribute10                => p_aat_attribute10
732       ,p_aat_attribute11                => p_aat_attribute11
733       ,p_aat_attribute12                => p_aat_attribute12
734       ,p_aat_attribute13                => p_aat_attribute13
735       ,p_aat_attribute14                => p_aat_attribute14
736       ,p_aat_attribute15                => p_aat_attribute15
737       ,p_aat_attribute16                => p_aat_attribute16
738       ,p_aat_attribute17                => p_aat_attribute17
739       ,p_aat_attribute18                => p_aat_attribute18
740       ,p_aat_attribute19                => p_aat_attribute19
741       ,p_aat_attribute20                => p_aat_attribute20
742       ,p_aat_information_category       => p_aat_information_category
743       ,p_aat_information1               => p_aat_information1
744       ,p_aat_information2               => p_aat_information2
745       ,p_aat_information3               => p_aat_information3
746       ,p_aat_information4               => p_aat_information4
747       ,p_aat_information5               => p_aat_information5
748       ,p_aat_information6               => p_aat_information6
749       ,p_aat_information7               => p_aat_information7
750       ,p_aat_information8               => p_aat_information8
751       ,p_aat_information9               => p_aat_information9
752       ,p_aat_information10              => p_aat_information10
753       ,p_aat_information11              => p_aat_information11
754       ,p_aat_information12              => p_aat_information12
755       ,p_aat_information13              => p_aat_information13
756       ,p_aat_information14              => p_aat_information14
757       ,p_aat_information15              => p_aat_information15
761       ,p_aat_information19              => p_aat_information19
758       ,p_aat_information16              => p_aat_information16
759       ,p_aat_information17              => p_aat_information17
760       ,p_aat_information18              => p_aat_information18
762       ,p_aat_information20              => p_aat_information20
763       ,p_lgps_process_flag              => p_lgps_process_flag
764       ,p_lgps_exclusion_type            => p_lgps_exclusion_type
765       ,p_lgps_pensionable_pay           => p_lgps_pensionable_pay
766       ,p_lgps_trans_arrang_flag         => p_lgps_trans_arrang_flag
767       ,p_lgps_membership_number         => p_lgps_membership_number
768       ,p_assignment_attribute_id =>p_assignment_attribute_id
769       ,p_object_version_number  => l_object_version_number
770     );
771   --
772 
773 
774 
775   --
776   -- Call After Process User Hook
777   --
778   begin
779     pqp_aat_api_bk2.update_assignment_attribute_a
780       (p_effective_date         => l_effective_date
781       ,p_datetrack_mode         => p_datetrack_mode
782       ,p_business_group_id      => p_business_group_id
783       ,p_effective_start_date   => l_effective_start_date
784       ,p_effective_end_date     => l_effective_end_date
785       ,p_assignment_id          => p_assignment_id
786       ,p_contract_type          => p_contract_type
787       ,p_work_pattern           => p_work_pattern
788       ,p_start_day              => p_start_day
789       ,p_primary_company_car        => p_primary_company_car
790       ,p_primary_car_fuel_benefit   => p_primary_car_fuel_benefit
791       ,p_primary_capital_contribution => p_primary_capital_contribution
792       ,p_primary_class_1a           => p_primary_class_1a
793       ,p_secondary_company_car      => p_secondary_company_car
794       ,p_secondary_car_fuel_benefit => p_secondary_car_fuel_benefit
795       ,p_secondary_capital_contributi => p_secondary_capital_contributi
796       ,p_secondary_class_1a         => p_secondary_class_1a
797       ,p_company_car_calc_method    => p_company_car_calc_method
798       ,p_company_car_rates_table_id    => p_company_car_rates_table_id
799       ,p_company_car_secondary_table => p_company_car_secondary_table
800       ,p_private_car                => p_private_car
801       ,p_private_car_calc_method    => p_private_car_calc_method
802       ,p_private_car_rates_table_id    => p_private_car_rates_table_id
803       ,p_private_car_essential_table => p_private_car_essential_table
804       ,p_primary_private_contribution   => p_primary_private_contribution
805       ,p_secondary_private_contributi   => p_secondary_private_contributi
806       ,p_tp_is_teacher                  => p_tp_is_teacher
807        --added for head Teacher seconded location for salary scale calculation
808       ,p_tp_headteacher_grp_code        => p_tp_headteacher_grp_code
809       ,p_tp_safeguarded_grade           => p_tp_safeguarded_grade
810       ,p_tp_safeguarded_grade_id        => p_tp_safeguarded_grade_id
811       ,p_tp_safeguarded_rate_type       => p_tp_safeguarded_rate_type
812       ,p_tp_safeguarded_rate_id         => p_tp_safeguarded_rate_id
813       ,p_tp_spinal_point_id             => p_tp_spinal_point_id
814       ,p_tp_elected_pension             => p_tp_elected_pension
815       ,p_tp_fast_track                  => p_tp_fast_track
816       ,p_aat_attribute_category         => p_aat_attribute_category
817       ,p_aat_attribute1                 => p_aat_attribute1
818       ,p_aat_attribute2                 => p_aat_attribute2
819       ,p_aat_attribute3                 => p_aat_attribute3
820       ,p_aat_attribute4                 => p_aat_attribute4
821       ,p_aat_attribute5                 => p_aat_attribute5
822       ,p_aat_attribute6                 => p_aat_attribute6
823       ,p_aat_attribute7                 => p_aat_attribute7
824       ,p_aat_attribute8                 => p_aat_attribute8
825       ,p_aat_attribute9                 => p_aat_attribute9
826       ,p_aat_attribute10                => p_aat_attribute10
827       ,p_aat_attribute11                => p_aat_attribute11
828       ,p_aat_attribute12                => p_aat_attribute12
829       ,p_aat_attribute13                => p_aat_attribute13
830       ,p_aat_attribute14                => p_aat_attribute14
831       ,p_aat_attribute15                => p_aat_attribute15
832       ,p_aat_attribute16                => p_aat_attribute16
833       ,p_aat_attribute17                => p_aat_attribute17
834       ,p_aat_attribute18                => p_aat_attribute18
835       ,p_aat_attribute19                => p_aat_attribute19
836       ,p_aat_attribute20                => p_aat_attribute20
837       ,p_aat_information_category       => p_aat_information_category
838       ,p_aat_information1               => p_aat_information1
839       ,p_aat_information2               => p_aat_information2
840       ,p_aat_information3               => p_aat_information3
841       ,p_aat_information4               => p_aat_information4
842       ,p_aat_information5               => p_aat_information5
843       ,p_aat_information6               => p_aat_information6
844       ,p_aat_information7               => p_aat_information7
845       ,p_aat_information8               => p_aat_information8
846       ,p_aat_information9               => p_aat_information9
847       ,p_aat_information10              => p_aat_information10
848       ,p_aat_information11              => p_aat_information11
849       ,p_aat_information12              => p_aat_information12
850       ,p_aat_information13              => p_aat_information13
851       ,p_aat_information14              => p_aat_information14
855       ,p_aat_information18              => p_aat_information18
852       ,p_aat_information15              => p_aat_information15
853       ,p_aat_information16              => p_aat_information16
854       ,p_aat_information17              => p_aat_information17
856       ,p_aat_information19              => p_aat_information19
857       ,p_aat_information20              => p_aat_information20
858       ,p_lgps_process_flag              => p_lgps_process_flag
859       ,p_lgps_exclusion_type            => p_lgps_exclusion_type
860       ,p_lgps_pensionable_pay           => p_lgps_pensionable_pay
861       ,p_lgps_trans_arrang_flag         => p_lgps_trans_arrang_flag
862       ,p_lgps_membership_number         => p_lgps_membership_number
863       ,p_assignment_attribute_id =>p_assignment_attribute_id
864       ,p_object_version_number  => l_object_version_number
865       );
866   exception
867     when hr_api.cannot_find_prog_unit then
868       hr_api.cannot_find_prog_unit_error
869         (p_module_name => 'update_assignment_attribute'
870         ,p_hook_type   => 'AP'
871         );
872   end;
873   --
874   -- When in validation only mode raise the Validate_Enabled exception
875   --
876   if p_validate then
877     raise hr_api.validate_enabled;
878   end if;
879   --
880   -- Set all output arguments
881   --
882   p_object_version_number  := l_object_version_number;
883   p_effective_start_date   := l_effective_start_date;
884   p_effective_end_date     := l_effective_end_date;
885 
886   --
887   hr_utility.set_location(' Leaving:'||l_proc, 70);
888 exception
889   when hr_api.validate_enabled then
890     --
891     -- As the Validate_Enabled exception has been raised
892     -- we must rollback to the savepoint
893     --
894     rollback to update_assignment_attribute;
895     --
896     -- Only set output warning arguments
897     -- (Any key or derived arguments must be set to null
898     -- when validation only mode is being used.)
899     --
900     p_object_version_number  := null;
901     p_effective_start_date   := null;
902     p_effective_end_date     := null;
903 
904     hr_utility.set_location(' Leaving:'||l_proc, 80);
905   when others then
906     --
907     -- A validation or unexpected error has occured
908     --
909     rollback to update_assignment_attribute;
910     p_object_version_number  := l_object_version_number;
911     p_effective_start_date   := null;
912     p_effective_end_date     := null;
913     hr_utility.set_location(' Leaving:'||l_proc, 90);
914     raise;
915 end update_assignment_attribute;
916 --
917 --
918 -- ---------------------------------------------------------------------------+
919 -- |---------------------< <delete_assignment_attribute> >--------------------|
920 -- ---------------------------------------------------------------------------+
921 --
922 procedure delete_assignment_attribute
923   (p_validate                      in     boolean  default false
924   ,p_effective_date                in     date
925   ,p_datetrack_mode                in     varchar2
926   ,p_business_group_id             in     number
927   ,p_assignment_attribute_id       in     number
928   ,p_effective_start_date             out nocopy date
929   ,p_effective_end_date               out nocopy date
930   ,p_object_version_number         in out nocopy number
931   ) is
932   --
933   -- Declare cursors and local variables
934   --
935 
936   l_proc                varchar2(72) := g_package||'delete_assignment_attribute';
937   l_effective_date              date;
938   l_effective_start_date        date;
939   l_effective_end_date          date;
940   l_object_version_number       number;
941 
942 begin
943   hr_utility.set_location('Entering:'|| l_proc, 10);
944   --
945   -- Issue a savepoint
946   --
947   savepoint delete_assignment_attribute;
948   --
949   -- Truncate the time portion from all IN date parameters
950   --
951 
952      l_effective_date           := trunc(p_effective_date);
953      l_effective_start_date     := trunc(p_effective_start_date);
954      l_effective_end_date       := trunc(p_effective_end_date);
955 
956   --
957   -- Call Before Process User Hook
958   --
959   begin
960     pqp_aat_api_bk3.delete_assignment_attribute_b
961       (p_effective_date                => l_effective_date
962       ,p_datetrack_mode                => p_datetrack_mode
963       ,p_assignment_attribute_id       => p_assignment_attribute_id
964       ,p_effective_start_date          => l_effective_start_date
965       ,p_effective_end_date            => l_effective_end_date
966       ,p_object_version_number         => p_object_version_number
967       );
968   exception
969     when hr_api.cannot_find_prog_unit then
970       hr_api.cannot_find_prog_unit_error
971         (p_module_name => 'delete_assignment_attribute'
972         ,p_hook_type   => 'BP'
973         );
974   end;
975   --
976   -- Validation in addition to Row Handlers
977   --
978 
979      l_object_version_number := p_object_version_number;
980 
981 
982   --
983   -- Process Logic
984      pqp_aat_del.del
985       (p_effective_date         => l_effective_date
986       ,p_assignment_attribute_id =>p_assignment_attribute_id
987       ,p_datetrack_mode         => p_datetrack_mode
988       ,p_effective_start_date   => l_effective_start_date
989       ,p_effective_end_date     => l_effective_end_date
990       ,p_object_version_number  => l_object_version_number
991       );
992   --
993 
994 
995 
996   --
997   -- Call After Process User Hook
998   --
999   begin
1000     pqp_aat_api_bk3.delete_assignment_attribute_a
1001       (p_effective_date                => l_effective_date
1002       ,p_datetrack_mode                => p_datetrack_mode
1003       ,p_assignment_attribute_id       => p_assignment_attribute_id
1004       ,p_effective_start_date          => l_effective_start_date
1005       ,p_effective_end_date            => l_effective_end_date
1006       ,p_object_version_number         => l_object_version_number
1007       );
1008   exception
1009     when hr_api.cannot_find_prog_unit then
1010       hr_api.cannot_find_prog_unit_error
1011         (p_module_name => 'delete_assignment_attribute'
1012         ,p_hook_type   => 'AP'
1013         );
1014   end;
1015   --
1016   -- When in validation only mode raise the Validate_Enabled exception
1017   --
1018   if p_validate then
1019     raise hr_api.validate_enabled;
1020   end if;
1021   --
1022   -- Set all output arguments
1023   --
1024     p_object_version_number := l_object_version_number;
1025     p_effective_start_date  := l_effective_start_date;
1026     p_effective_end_date    := l_effective_end_date;
1027   --
1028   hr_utility.set_location(' Leaving:'||l_proc, 70);
1029 exception
1030   when hr_api.validate_enabled then
1031     --
1032     -- As the Validate_Enabled exception has been raised
1033     -- we must rollback to the savepoint
1034     --
1035     rollback to delete_assignment_attribute;
1036     --
1037     -- Only set output warning arguments
1038     -- (Any key or derived arguments must be set to null
1039     -- when validation only mode is being used.)
1040      p_object_version_number := null;
1041      p_effective_start_date  := null;
1042      p_effective_end_date    := null;
1043     --
1044     hr_utility.set_location(' Leaving:'||l_proc, 80);
1045   when others then
1046     --
1047     -- A validation or unexpected error has occured
1048     --
1049     rollback to delete_assignment_attribute;
1050     p_object_version_number  := l_object_version_number;
1051     p_effective_start_date   := null;
1052     p_effective_end_date     := null;
1053     hr_utility.set_location(' Leaving:'||l_proc, 90);
1054     raise;
1055 end delete_assignment_attribute;
1056 
1057 --
1058 end pqp_aat_api;