DBA Data[Home] [Help]

PACKAGE BODY: APPS.IRC_AGENCY_VACANCIES_SWI

Source


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