DBA Data[Home] [Help]

PACKAGE BODY: APPS.HR_ASSESSMENTS_SWI

Source


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