DBA Data[Home] [Help]

PACKAGE BODY: APPS.HR_APPLICANT_BE2

Source


1 package body hr_applicant_be2 as 
2 --Code generated on 13/08/2013 06:42:21
3 /* $Header: hrapiwfe.pkb 120.11 2011/12/24 13:28:35 vboggava ship $*/
4 procedure  hire_applicant_a (
5 p_hire_date                    date,
6 p_person_id                    number,
7 p_assignment_id                number,
8 p_person_type_id               number,
9 p_national_identifier          varchar2,
10 p_per_object_version_number    number,
11 p_employee_number              varchar2,
12 p_per_effective_start_date     date,
13 p_per_effective_end_date       date,
14 p_unaccepted_asg_del_warning   boolean,
15 p_assign_payroll_warning       boolean,
16 p_oversubscribed_vacancy_id    number,
17 p_original_date_of_hire        date) is
18   l_event_key number;
19   l_event_data clob;
20   l_event_name varchar2(250);
21   l_text varchar2(2000);
22   l_message varchar2(10);
23   --
24   cursor get_seq is
25   select per_wf_events_s.nextval from dual;
26   --
27   l_proc varchar2(72):='  hr_applicant_be2. hire_applicant_a';
28 begin
29   hr_utility.set_location('Entering: '||l_proc,10);
30   -- check the status of the business event
31   l_event_name:='oracle.apps.per.api.applicant. hire_applicant';
32   l_message:=wf_event.test(l_event_name);
33   --
34   if (l_message='MESSAGE') then
35     hr_utility.set_location(l_proc,20);
36     --
37     -- get a key for the event
38     --
39     open get_seq;
40     fetch get_seq into l_event_key;
41     close get_seq;
42     --
43     -- build the xml data for the event
44     --
45     dbms_lob.createTemporary(l_event_data,false,dbms_lob.call);
46     l_text:='<?xml version =''1.0'' encoding =''ASCII''?>';
47     dbms_lob.writeAppend(l_event_data,length(l_text),l_text);
48     l_text:='<applicant>';
49     dbms_lob.writeAppend(l_event_data,length(l_text),l_text);
50     --
51     l_text:='<hire_date>';
52     l_text:=l_text||fnd_date.date_to_canonical(p_hire_date);
53     l_text:=l_text||'</hire_date>';
54     dbms_lob.writeAppend(l_event_data,length(l_text),l_text);
55     l_text:='<person_id>';
56     l_text:=l_text||fnd_number.number_to_canonical(p_person_id);
57     l_text:=l_text||'</person_id>';
58     dbms_lob.writeAppend(l_event_data,length(l_text),l_text);
59     l_text:='<assignment_id>';
60     l_text:=l_text||fnd_number.number_to_canonical(p_assignment_id);
61     l_text:=l_text||'</assignment_id>';
62     dbms_lob.writeAppend(l_event_data,length(l_text),l_text);
63     l_text:='<person_type_id>';
64     l_text:=l_text||fnd_number.number_to_canonical(p_person_type_id);
65     l_text:=l_text||'</person_type_id>';
66     dbms_lob.writeAppend(l_event_data,length(l_text),l_text);
67     l_text:='<national_identifier>';
68     l_text:=l_text||irc_utilities_pkg.removeTags(p_national_identifier);
69     l_text:=l_text||'</national_identifier>';
70     dbms_lob.writeAppend(l_event_data,length(l_text),l_text);
71     l_text:='<per_object_version_number>';
72     l_text:=l_text||fnd_number.number_to_canonical(p_per_object_version_number);
73     l_text:=l_text||'</per_object_version_number>';
74     dbms_lob.writeAppend(l_event_data,length(l_text),l_text);
75     l_text:='<employee_number>';
76     l_text:=l_text||irc_utilities_pkg.removeTags(p_employee_number);
77     l_text:=l_text||'</employee_number>';
78     dbms_lob.writeAppend(l_event_data,length(l_text),l_text);
79     l_text:='<per_effective_start_date>';
80     l_text:=l_text||fnd_date.date_to_canonical(p_per_effective_start_date);
81     l_text:=l_text||'</per_effective_start_date>';
82     dbms_lob.writeAppend(l_event_data,length(l_text),l_text);
83     l_text:='<per_effective_end_date>';
84     l_text:=l_text||fnd_date.date_to_canonical(p_per_effective_end_date);
85     l_text:=l_text||'</per_effective_end_date>';
86     dbms_lob.writeAppend(l_event_data,length(l_text),l_text);
87     l_text:='<unaccepted_asg_del_warning>';
88 if(P_UNACCEPTED_ASG_DEL_WARNING) then
89 l_text:=l_text||'TRUE';
90 else
91 l_text:=l_text||'FALSE';
92 end if;
93     l_text:=l_text||'</unaccepted_asg_del_warning>';
94     dbms_lob.writeAppend(l_event_data,length(l_text),l_text);
95     l_text:='<assign_payroll_warning>';
96 if(P_ASSIGN_PAYROLL_WARNING) then
97 l_text:=l_text||'TRUE';
98 else
99 l_text:=l_text||'FALSE';
100 end if;
101     l_text:=l_text||'</assign_payroll_warning>';
102     dbms_lob.writeAppend(l_event_data,length(l_text),l_text);
103     l_text:='<oversubscribed_vacancy_id>';
104     l_text:=l_text||fnd_number.number_to_canonical(p_oversubscribed_vacancy_id);
105     l_text:=l_text||'</oversubscribed_vacancy_id>';
106     dbms_lob.writeAppend(l_event_data,length(l_text),l_text);
107     l_text:='<original_date_of_hire>';
108     l_text:=l_text||fnd_date.date_to_canonical(p_original_date_of_hire);
109     l_text:=l_text||'</original_date_of_hire>';
110     dbms_lob.writeAppend(l_event_data,length(l_text),l_text);
111     l_text:='</applicant>';
112     --
113     dbms_lob.writeAppend(l_event_data,length(l_text),l_text);
114     --
115     if p_per_effective_start_date is not NULL and
116        p_per_effective_start_date > trunc(SYSDATE) and
117         fnd_profile.value('HR_DEFER_FD_BE_EVENTS') = 'Y' then 
118        -- raise the event with the event data, with send date set to effective date
119        wf_event.raise(p_event_name=>l_event_name
120                      ,p_event_key=>l_event_key
121                      ,p_event_data=>l_event_data
122                      ,p_send_date => p_per_effective_start_date);
123         --
124     else 
125        -- raise the event with the event data
126        wf_event.raise(p_event_name=>l_event_name
127                      ,p_event_key=>l_event_key
128                      ,p_event_data=>l_event_data);
129     end if;
130   elsif (l_message='KEY') then
131     hr_utility.set_location(l_proc,30);
132     -- get a key for the event
133     open get_seq;
134     fetch get_seq into l_event_key;
135     close get_seq;
136     if p_per_effective_start_date is not NULL and
137        p_per_effective_start_date > trunc(SYSDATE) and
138         fnd_profile.value('HR_DEFER_FD_BE_EVENTS') = 'Y' then 
139        -- this is a key event, so just raise the event
140        -- without the event data, with send date set to effective date
141        wf_event.raise(p_event_name=>l_event_name
142                      ,p_event_key=>l_event_key
143                      ,p_send_date => p_per_effective_start_date);
144        --
145     else
146        -- this is a key event, so just raise the event
147        -- without the event data
148        wf_event.raise(p_event_name=>l_event_name
149                      ,p_event_key=>l_event_key);
150     end if;
151   elsif (l_message='NONE') then
152     hr_utility.set_location(l_proc,40);
153     -- no event is required, so do nothing
154     null;
155   end if;
156     hr_utility.set_location('Leaving: '||l_proc,50);
157 end  hire_applicant_a;
158 end hr_applicant_be2;