DBA Data[Home] [Help]

PACKAGE BODY: APPS.HR_PERFORMANCE_RATINGS_SWI

Source


1 Package Body hr_performance_ratings_swi As
2 /* $Header: peprtswi.pkb 120.1 2006/02/13 14:13:54 vbala noship $ */
3 --
4 -- Package variables
5 --
6 g_package  varchar2(33) := 'hr_performance_ratings_swi.';
7 --
8 -- ----------------------------------------------------------------------------
9 -- |-----------------------< create_performance_rating >----------------------|
10 -- ----------------------------------------------------------------------------
11 PROCEDURE create_performance_rating
12   (p_validate                     in     number    default hr_api.g_false_num
13   ,p_effective_date               in     date
14   ,p_appraisal_id                 in     number
15   ,p_person_id                    in     number    default null
16   ,p_objective_id                 in     number
17   ,p_performance_level_id         in     number    default null
18   ,p_comments                     in     varchar2  default null
19   ,p_attribute_category           in     varchar2  default null
20   ,p_attribute1                   in     varchar2  default null
21   ,p_attribute2                   in     varchar2  default null
22   ,p_attribute3                   in     varchar2  default null
23   ,p_attribute4                   in     varchar2  default null
24   ,p_attribute5                   in     varchar2  default null
25   ,p_attribute6                   in     varchar2  default null
26   ,p_attribute7                   in     varchar2  default null
27   ,p_attribute8                   in     varchar2  default null
28   ,p_attribute9                   in     varchar2  default null
29   ,p_attribute10                  in     varchar2  default null
30   ,p_attribute11                  in     varchar2  default null
31   ,p_attribute12                  in     varchar2  default null
32   ,p_attribute13                  in     varchar2  default null
33   ,p_attribute14                  in     varchar2  default null
34   ,p_attribute15                  in     varchar2  default null
35   ,p_attribute16                  in     varchar2  default null
36   ,p_attribute17                  in     varchar2  default null
37   ,p_attribute18                  in     varchar2  default null
38   ,p_attribute19                  in     varchar2  default null
39   ,p_attribute20                  in     varchar2  default null
40   ,p_performance_rating_id        in	 number
41   ,p_object_version_number           out nocopy number
42   ,p_return_status                   out nocopy varchar2
43   ,p_appr_line_score              in     number    default null
44   ) is
45   --
46   -- Variables for API Boolean parameters
47   l_validate                      boolean;
48   l_performance_rating_id number;
49   --
50   -- Variables for IN/OUT parameters
51   --
52   -- Other variables
53   l_proc    varchar2(72) := g_package ||'create_performance_rating';
54 Begin
55   hr_utility.set_location(' Entering:' || l_proc,10);
56   --
57   -- Issue a savepoint
58   --
59   savepoint create_performance_rating_swi;
60   --
61   -- Initialise Multiple Message Detection
62   --
63   hr_multi_message.enable_message_list;
64   --
65   -- Remember IN OUT parameter IN values
66   --
67   --
68   -- Convert constant values to their corresponding boolean value
69   --
70   l_validate :=
71     hr_api.constant_to_boolean
72       (p_constant_value => p_validate);
73   --
74   -- Register Surrogate ID or user key values
75   --
76   per_prt_ins.set_base_key_value
77           (p_performance_rating_id => p_performance_rating_id
78       );
79 
80   --
81   -- Call API
82   --
83   hr_performance_ratings_api.create_performance_rating
84     (p_validate                     => l_validate
85     ,p_effective_date               => p_effective_date
86     ,p_appraisal_id                 => p_appraisal_id
87     ,p_person_id                    => p_person_id
88     ,p_objective_id                 => p_objective_id
89     ,p_performance_level_id         => p_performance_level_id
90     ,p_comments                     => p_comments
91     ,p_attribute_category           => p_attribute_category
92     ,p_attribute1                   => p_attribute1
93     ,p_attribute2                   => p_attribute2
94     ,p_attribute3                   => p_attribute3
95     ,p_attribute4                   => p_attribute4
96     ,p_attribute5                   => p_attribute5
97     ,p_attribute6                   => p_attribute6
98     ,p_attribute7                   => p_attribute7
99     ,p_attribute8                   => p_attribute8
100     ,p_attribute9                   => p_attribute9
101     ,p_attribute10                  => p_attribute10
102     ,p_attribute11                  => p_attribute11
103     ,p_attribute12                  => p_attribute12
104     ,p_attribute13                  => p_attribute13
105     ,p_attribute14                  => p_attribute14
106     ,p_attribute15                  => p_attribute15
107     ,p_attribute16                  => p_attribute16
108     ,p_attribute17                  => p_attribute17
109     ,p_attribute18                  => p_attribute18
110     ,p_attribute19                  => p_attribute19
111     ,p_attribute20                  => p_attribute20
112     ,p_performance_rating_id        => l_performance_rating_id
113     ,p_object_version_number        => p_object_version_number
114     ,p_appr_line_score              => p_appr_line_score
115     );
116   --
117   -- Convert API warning boolean parameter values to specific
118   -- messages and add them to Multiple Message List
119   --
120   --
121   -- Convert API non-warning boolean parameter values
122   --
123   --
124   -- Derive the API return status value based on whether
125   -- messages of any type exist in the Multiple Message List.
126   -- Also disable Multiple Message Detection.
127   --
128   p_return_status := hr_multi_message.get_return_status_disable;
129   hr_utility.set_location(' Leaving:' || l_proc,20);
130   --
131 exception
132   when hr_multi_message.error_message_exist then
133     --
134     -- Catch the Multiple Message List exception which
135     -- indicates API processing has been aborted because
136     -- at least one message exists in the list.
137     --
138     rollback to create_performance_rating_swi;
139     --
140     -- Reset IN OUT parameters and set OUT parameters
141     --
142     p_object_version_number        := null;
143     p_return_status := hr_multi_message.get_return_status_disable;
144     hr_utility.set_location(' Leaving:' || l_proc, 30);
145   when others then
146     --
147     -- When Multiple Message Detection is enabled catch
148     -- any Application specific or other unexpected
149     -- exceptions.  Adding appropriate details to the
150     -- Multiple Message List.  Otherwise re-raise the
151     -- error.
152     --
153     rollback to create_performance_rating_swi;
154     if hr_multi_message.unexpected_error_add(l_proc) then
155        hr_utility.set_location(' Leaving:' || l_proc,40);
156        raise;
157     end if;
158     --
159     -- Reset IN OUT and set OUT parameters
160     --
161     p_object_version_number        := null;
162     p_return_status := hr_multi_message.get_return_status_disable;
163     hr_utility.set_location(' Leaving:' || l_proc,50);
164 end create_performance_rating;
165 -- ----------------------------------------------------------------------------
166 -- |-----------------------< delete_performance_rating >----------------------|
167 -- ----------------------------------------------------------------------------
168 PROCEDURE delete_performance_rating
169   (p_validate                     in     number    default hr_api.g_false_num
170   ,p_performance_rating_id        in     number
171   ,p_object_version_number        in     number
172   ,p_return_status                   out nocopy varchar2
173   ) is
174   --
175   -- Variables for API Boolean parameters
176   l_validate                      boolean;
177   --
178   -- Variables for IN/OUT parameters
179   --
180   -- Other variables
181   l_proc    varchar2(72) := g_package ||'delete_performance_rating';
182 Begin
183   hr_utility.set_location(' Entering:' || l_proc,10);
184   --
185   -- Issue a savepoint
186   --
187   savepoint delete_performance_rating_swi;
188   --
189   -- Initialise Multiple Message Detection
190   --
191   hr_multi_message.enable_message_list;
192   --
193   -- Remember IN OUT parameter IN values
194   --
195   --
196   -- Convert constant values to their corresponding boolean value
197   --
198   l_validate :=
199     hr_api.constant_to_boolean
200       (p_constant_value => p_validate);
201   --
202   -- Register Surrogate ID or user key values
203   --
204   --
205   -- Call API
206   --
207   hr_performance_ratings_api.delete_performance_rating
208     (p_validate                     => l_validate
209     ,p_performance_rating_id        => p_performance_rating_id
210     ,p_object_version_number        => p_object_version_number
211     );
212   --
213   -- Convert API warning boolean parameter values to specific
214   -- messages and add them to Multiple Message List
215   --
216   --
217   -- Convert API non-warning boolean parameter values
218   --
219   --
220   -- Derive the API return status value based on whether
221   -- messages of any type exist in the Multiple Message List.
222   -- Also disable Multiple Message Detection.
223   --
224   p_return_status := hr_multi_message.get_return_status_disable;
225   hr_utility.set_location(' Leaving:' || l_proc,20);
226   --
227 exception
228   when hr_multi_message.error_message_exist then
229     --
230     -- Catch the Multiple Message List exception which
231     -- indicates API processing has been aborted because
232     -- at least one message exists in the list.
233     --
234     rollback to delete_performance_rating_swi;
235     --
236     -- Reset IN OUT parameters and set OUT parameters
237     --
238     p_return_status := hr_multi_message.get_return_status_disable;
239     hr_utility.set_location(' Leaving:' || l_proc, 30);
240   when others then
241     --
242     -- When Multiple Message Detection is enabled catch
243     -- any Application specific or other unexpected
244     -- exceptions.  Adding appropriate details to the
245     -- Multiple Message List.  Otherwise re-raise the
246     -- error.
247     --
248     rollback to delete_performance_rating_swi;
249     if hr_multi_message.unexpected_error_add(l_proc) then
250        hr_utility.set_location(' Leaving:' || l_proc,40);
251        raise;
252     end if;
253     --
254     -- Reset IN OUT and set OUT parameters
255     --
256     p_return_status := hr_multi_message.get_return_status_disable;
257     hr_utility.set_location(' Leaving:' || l_proc,50);
258 end delete_performance_rating;
259 -- ----------------------------------------------------------------------------
260 -- |-----------------------< update_performance_rating >----------------------|
261 -- ----------------------------------------------------------------------------
262 PROCEDURE update_performance_rating
263   (p_validate                     in     number    default hr_api.g_false_num
264   ,p_effective_date               in     date
265   ,p_performance_rating_id        in     number
266   ,p_person_id                    in     number    default hr_api.g_number
267   ,p_object_version_number        in out nocopy number
268   ,p_appraisal_id                 in     number    default hr_api.g_number
269   ,p_objective_id                 in     number    default hr_api.g_number
270   ,p_performance_level_id         in     number    default hr_api.g_number
271   ,p_comments                     in     varchar2  default hr_api.g_varchar2
272   ,p_attribute_category           in     varchar2  default hr_api.g_varchar2
273   ,p_attribute1                   in     varchar2  default hr_api.g_varchar2
274   ,p_attribute2                   in     varchar2  default hr_api.g_varchar2
275   ,p_attribute3                   in     varchar2  default hr_api.g_varchar2
276   ,p_attribute4                   in     varchar2  default hr_api.g_varchar2
277   ,p_attribute5                   in     varchar2  default hr_api.g_varchar2
278   ,p_attribute6                   in     varchar2  default hr_api.g_varchar2
279   ,p_attribute7                   in     varchar2  default hr_api.g_varchar2
280   ,p_attribute8                   in     varchar2  default hr_api.g_varchar2
281   ,p_attribute9                   in     varchar2  default hr_api.g_varchar2
282   ,p_attribute10                  in     varchar2  default hr_api.g_varchar2
283   ,p_attribute11                  in     varchar2  default hr_api.g_varchar2
284   ,p_attribute12                  in     varchar2  default hr_api.g_varchar2
285   ,p_attribute13                  in     varchar2  default hr_api.g_varchar2
286   ,p_attribute14                  in     varchar2  default hr_api.g_varchar2
287   ,p_attribute15                  in     varchar2  default hr_api.g_varchar2
288   ,p_attribute16                  in     varchar2  default hr_api.g_varchar2
289   ,p_attribute17                  in     varchar2  default hr_api.g_varchar2
290   ,p_attribute18                  in     varchar2  default hr_api.g_varchar2
291   ,p_attribute19                  in     varchar2  default hr_api.g_varchar2
292   ,p_attribute20                  in     varchar2  default hr_api.g_varchar2
293   ,p_return_status                   out nocopy varchar2
294   ,p_appr_line_score              in     number  default hr_api.g_number
295   ) is
296   --
297   -- Variables for API Boolean parameters
298   l_validate                      boolean;
299   --
300   -- Variables for IN/OUT parameters
301   l_object_version_number         number;
302   --
303   -- Other variables
304   l_proc    varchar2(72) := g_package ||'update_performance_rating';
305 Begin
306   hr_utility.set_location(' Entering:' || l_proc,10);
307   --
308   -- Issue a savepoint
309   --
310   savepoint update_performance_rating_swi;
311   --
312   -- Initialise Multiple Message Detection
313   --
314   hr_multi_message.enable_message_list;
315   --
316   -- Remember IN OUT parameter IN values
317   --
318   l_object_version_number         := p_object_version_number;
319   --
320   -- Convert constant values to their corresponding boolean value
321   --
322   l_validate :=
323     hr_api.constant_to_boolean
324       (p_constant_value => p_validate);
325   --
326   -- Register Surrogate ID or user key values
327   --
328   --
329   -- Call API
330   --
331   hr_performance_ratings_api.update_performance_rating
332     (p_validate                     => l_validate
333     ,p_effective_date               => p_effective_date
334     ,p_performance_rating_id        => p_performance_rating_id
335     ,p_person_id                    => p_person_id
336     ,p_object_version_number        => p_object_version_number
337     ,p_appraisal_id                 => p_appraisal_id
338     ,p_objective_id                 => p_objective_id
339     ,p_performance_level_id         => p_performance_level_id
340     ,p_comments                     => p_comments
341     ,p_attribute_category           => p_attribute_category
342     ,p_attribute1                   => p_attribute1
343     ,p_attribute2                   => p_attribute2
344     ,p_attribute3                   => p_attribute3
345     ,p_attribute4                   => p_attribute4
346     ,p_attribute5                   => p_attribute5
347     ,p_attribute6                   => p_attribute6
348     ,p_attribute7                   => p_attribute7
349     ,p_attribute8                   => p_attribute8
350     ,p_attribute9                   => p_attribute9
351     ,p_attribute10                  => p_attribute10
352     ,p_attribute11                  => p_attribute11
353     ,p_attribute12                  => p_attribute12
354     ,p_attribute13                  => p_attribute13
355     ,p_attribute14                  => p_attribute14
356     ,p_attribute15                  => p_attribute15
357     ,p_attribute16                  => p_attribute16
358     ,p_attribute17                  => p_attribute17
359     ,p_attribute18                  => p_attribute18
360     ,p_attribute19                  => p_attribute19
361     ,p_attribute20                  => p_attribute20
362     ,p_appr_line_score              => p_appr_line_score
363     );
364   --
365   -- Convert API warning boolean parameter values to specific
366   -- messages and add them to Multiple Message List
367   --
368   --
369   -- Convert API non-warning boolean parameter values
370   --
371   --
372   -- Derive the API return status value based on whether
373   -- messages of any type exist in the Multiple Message List.
374   -- Also disable Multiple Message Detection.
375   --
376   p_return_status := hr_multi_message.get_return_status_disable;
377   hr_utility.set_location(' Leaving:' || l_proc,20);
378   --
379 exception
380   when hr_multi_message.error_message_exist then
381     --
382     -- Catch the Multiple Message List exception which
383     -- indicates API processing has been aborted because
384     -- at least one message exists in the list.
385     --
386     rollback to update_performance_rating_swi;
387     --
388     -- Reset IN OUT parameters and set OUT parameters
389     --
390     p_object_version_number        := l_object_version_number;
391     p_return_status := hr_multi_message.get_return_status_disable;
392     hr_utility.set_location(' Leaving:' || l_proc, 30);
393   when others then
394     --
395     -- When Multiple Message Detection is enabled catch
396     -- any Application specific or other unexpected
397     -- exceptions.  Adding appropriate details to the
398     -- Multiple Message List.  Otherwise re-raise the
399     -- error.
400     --
401     rollback to update_performance_rating_swi;
402     if hr_multi_message.unexpected_error_add(l_proc) then
403        hr_utility.set_location(' Leaving:' || l_proc,40);
404        raise;
405     end if;
406     --
407     -- Reset IN OUT and set OUT parameters
408     --
409     p_object_version_number        := l_object_version_number;
410     p_return_status := hr_multi_message.get_return_status_disable;
411     hr_utility.set_location(' Leaving:' || l_proc,50);
412 end update_performance_rating;
413 
414 -- ----------------------------------------------------------------------------
415 -- |---------------------------< process_api >--------------------------------|
416 -- ----------------------------------------------------------------------------
417 
418 Procedure process_api
419 ( p_document            in         CLOB
420  ,p_return_status       out nocopy VARCHAR2
421  ,p_validate            in         number    default hr_api.g_false_num
422  ,p_effective_date      in         date      default null
423 )
424 IS
425    l_postState VARCHAR2(2);
426    l_return_status VARCHAR2(1);
427    l_object_version_number number;
428    l_commitElement xmldom.DOMElement;
429    l_parser xmlparser.Parser;
430    l_CommitNode xmldom.DOMNode;
431    l_proc    varchar2(72) := g_package || 'process_api';
432 
433 BEGIN
434 
435    hr_utility.set_location(' Entering:' || l_proc,10);
436    hr_utility.set_location(' CLOB --> xmldom.DOMNode:' || l_proc,15);
437 
438    l_parser      := xmlparser.newParser;
439    xmlparser.ParseCLOB(l_parser,p_document);
440    l_CommitNode  := xmldom.makeNode(xmldom.getDocumentElement(xmlparser.getDocument(l_parser)));
441 
442    hr_utility.set_location('Extracting the PostState:' || l_proc,20);
443 
444    l_commitElement := xmldom.makeElement(l_CommitNode);
445    l_postState := xmldom.getAttribute(l_commitElement, 'PS');
446    l_object_version_number := hr_transaction_swi.getNumberValue(l_CommitNode,'ObjectVersionNumber');
447 
448    if l_postState = '0' then
449 
450         create_performance_rating
451       ( p_validate                     => p_validate
452        ,p_effective_date               => p_effective_date
453        ,p_appraisal_id                 => hr_transaction_swi.getNumberValue(l_CommitNode,'AppraisalId',null)
454        ,p_person_id                    => hr_transaction_swi.getNumberValue(l_CommitNode,'PersonId',null)
455        ,p_objective_id                 => hr_transaction_swi.getNumberValue(l_CommitNode,'ObjectiveId',null)
456        ,p_performance_level_id         => hr_transaction_swi.getNumberValue(l_CommitNode,'PerformanceLevelId',null)
457        ,p_comments                     => hr_transaction_swi.getVarchar2Value(l_CommitNode,'Comments',null)
458        ,p_attribute_category           => hr_transaction_swi.getVarchar2Value(l_CommitNode,'AttributeCategory',null)
459        ,p_attribute1                   => hr_transaction_swi.getVarchar2Value(l_CommitNode,'Attribute1',null)
460        ,p_attribute2                   => hr_transaction_swi.getVarchar2Value(l_CommitNode,'Attribute2',null)
461        ,p_attribute3                   => hr_transaction_swi.getVarchar2Value(l_CommitNode,'Attribute3',null)
462        ,p_attribute4                   => hr_transaction_swi.getVarchar2Value(l_CommitNode,'Attribute4',null)
463        ,p_attribute5                   => hr_transaction_swi.getVarchar2Value(l_CommitNode,'Attribute5',null)
464        ,p_attribute6                   => hr_transaction_swi.getVarchar2Value(l_CommitNode,'Attribute6',null)
465        ,p_attribute7                   => hr_transaction_swi.getVarchar2Value(l_CommitNode,'Attribute7',null)
466        ,p_attribute8                   => hr_transaction_swi.getVarchar2Value(l_CommitNode,'Attribute8',null)
467        ,p_attribute9                   => hr_transaction_swi.getVarchar2Value(l_CommitNode,'Attribute9',null)
468        ,p_attribute10                  => hr_transaction_swi.getVarchar2Value(l_CommitNode,'Attribute10',null)
469        ,p_attribute11                  => hr_transaction_swi.getVarchar2Value(l_CommitNode,'Attribute11',null)
470        ,p_attribute12                  => hr_transaction_swi.getVarchar2Value(l_CommitNode,'Attribute12',null)
471        ,p_attribute13                  => hr_transaction_swi.getVarchar2Value(l_CommitNode,'Attribute13',null)
472        ,p_attribute14                  => hr_transaction_swi.getVarchar2Value(l_CommitNode,'Attribute14',null)
473        ,p_attribute15                  => hr_transaction_swi.getVarchar2Value(l_CommitNode,'Attribute15',null)
474        ,p_attribute16                  => hr_transaction_swi.getVarchar2Value(l_CommitNode,'Attribute16',null)
475        ,p_attribute17                  => hr_transaction_swi.getVarchar2Value(l_CommitNode,'Attribute17',null)
476        ,p_attribute18                  => hr_transaction_swi.getVarchar2Value(l_CommitNode,'Attribute18',null)
477        ,p_attribute19                  => hr_transaction_swi.getVarchar2Value(l_CommitNode,'Attribute19',null)
478        ,p_attribute20                  => hr_transaction_swi.getVarchar2Value(l_CommitNode,'Attribute20',null)
479        ,p_performance_rating_id        => hr_transaction_swi.getNumberValue(l_CommitNode,'PerformanceRatingId',null)
480        ,p_object_version_number        => l_object_version_number
481        ,p_return_status                => l_return_status
482        ,p_appr_line_score              => hr_transaction_swi.getNumberValue(l_CommitNode,'ApprLineScore',null)
483       );
484 
485    elsif l_postState = '2' then
486 
487         update_performance_rating
488       ( p_validate                     => p_validate
489        ,p_effective_date               => p_effective_date
490        ,p_performance_rating_id        => hr_transaction_swi.getNumberValue(l_CommitNode,'PerformanceRatingId')
491        ,p_person_id                    => hr_transaction_swi.getNumberValue(l_CommitNode,'PersonId')
492        ,p_object_version_number        => l_object_version_number
493        ,p_appraisal_id                 => hr_transaction_swi.getNumberValue(l_CommitNode,'AppraisalId')
494        ,p_objective_id                 => hr_transaction_swi.getNumberValue(l_CommitNode,'ObjectiveId')
495        ,p_performance_level_id         => hr_transaction_swi.getNumberValue(l_CommitNode,'PerformanceLevelId')
496        ,p_comments                     => hr_transaction_swi.getVarchar2Value(l_CommitNode,'Comments')
497        ,p_attribute_category           => hr_transaction_swi.getVarchar2Value(l_CommitNode,'AttributeCategory')
498        ,p_attribute1                   => hr_transaction_swi.getVarchar2Value(l_CommitNode,'Attribute1')
499        ,p_attribute2                   => hr_transaction_swi.getVarchar2Value(l_CommitNode,'Attribute2')
500        ,p_attribute3                   => hr_transaction_swi.getVarchar2Value(l_CommitNode,'Attribute3')
501        ,p_attribute4                   => hr_transaction_swi.getVarchar2Value(l_CommitNode,'Attribute4')
502        ,p_attribute5                   => hr_transaction_swi.getVarchar2Value(l_CommitNode,'Attribute5')
503        ,p_attribute6                   => hr_transaction_swi.getVarchar2Value(l_CommitNode,'Attribute6')
504        ,p_attribute7                   => hr_transaction_swi.getVarchar2Value(l_CommitNode,'Attribute7')
505        ,p_attribute8                   => hr_transaction_swi.getVarchar2Value(l_CommitNode,'Attribute8')
506        ,p_attribute9                   => hr_transaction_swi.getVarchar2Value(l_CommitNode,'Attribute9')
507        ,p_attribute10                  => hr_transaction_swi.getVarchar2Value(l_CommitNode,'Attribute10')
508        ,p_attribute11                  => hr_transaction_swi.getVarchar2Value(l_CommitNode,'Attribute11')
509        ,p_attribute12                  => hr_transaction_swi.getVarchar2Value(l_CommitNode,'Attribute12')
510        ,p_attribute13                  => hr_transaction_swi.getVarchar2Value(l_CommitNode,'Attribute13')
511        ,p_attribute14                  => hr_transaction_swi.getVarchar2Value(l_CommitNode,'Attribute14')
512        ,p_attribute15                  => hr_transaction_swi.getVarchar2Value(l_CommitNode,'Attribute15')
513        ,p_attribute16                  => hr_transaction_swi.getVarchar2Value(l_CommitNode,'Attribute16')
514        ,p_attribute17                  => hr_transaction_swi.getVarchar2Value(l_CommitNode,'Attribute17')
515        ,p_attribute18                  => hr_transaction_swi.getVarchar2Value(l_CommitNode,'Attribute18')
516        ,p_attribute19                  => hr_transaction_swi.getVarchar2Value(l_CommitNode,'Attribute19')
517        ,p_attribute20                  => hr_transaction_swi.getVarchar2Value(l_CommitNode,'Attribute20')
518        ,p_return_status                => l_return_status
519        ,p_appr_line_score              => hr_transaction_swi.getNumberValue(l_CommitNode,'ApprLineScore')
520       );
521 
522    elsif l_postState = '3' then
523 
524         delete_performance_rating
525       ( p_validate                     => p_validate
526        ,p_performance_rating_id        => hr_transaction_swi.getNumberValue(l_CommitNode,'PerformanceRatingId')
527        ,p_object_version_number        => l_object_version_number
528        ,p_return_status                => l_return_status
529       );
530 
531       p_return_status := l_return_status;
532 
533    end if;
534 
535    hr_utility.set_location('Exiting:' || l_proc,40);
536 
537 END process_api;
538 
539 end hr_performance_ratings_swi;