1 package body hr_applicant_be4 as
2 --Code generated on 13/08/2013 06:42:22
3 /* $Header: hrapiwfe.pkb 120.11 2011/12/24 13:28:35 vboggava ship $*/
4 procedure convert_to_applicant_a (
5 p_effective_date date,
6 p_person_id number,
7 p_business_group_id number,
8 p_object_version_number number,
9 p_applicant_number varchar2,
10 p_person_type_id number,
11 p_effective_start_date date,
12 p_effective_end_date date,
13 p_appl_override_warning boolean) is
14 l_event_key number;
15 l_event_data clob;
16 l_event_name varchar2(250);
17 l_text varchar2(2000);
18 l_message varchar2(10);
19 --
20 cursor get_seq is
21 select per_wf_events_s.nextval from dual;
22 --
23 l_proc varchar2(72):=' hr_applicant_be4.convert_to_applicant_a';
24 begin
25 hr_utility.set_location('Entering: '||l_proc,10);
26 -- check the status of the business event
27 l_event_name:='oracle.apps.per.api.applicant.convert_to_applicant';
28 l_message:=wf_event.test(l_event_name);
29 --
30 if (l_message='MESSAGE') then
31 hr_utility.set_location(l_proc,20);
32 --
33 -- get a key for the event
34 --
35 open get_seq;
36 fetch get_seq into l_event_key;
37 close get_seq;
38 --
39 -- build the xml data for the event
40 --
41 dbms_lob.createTemporary(l_event_data,false,dbms_lob.call);
42 l_text:='<?xml version =''1.0'' encoding =''ASCII''?>';
43 dbms_lob.writeAppend(l_event_data,length(l_text),l_text);
44 l_text:='<applicant>';
45 dbms_lob.writeAppend(l_event_data,length(l_text),l_text);
46 --
47 l_text:='<effective_date>';
48 l_text:=l_text||fnd_date.date_to_canonical(p_effective_date);
49 l_text:=l_text||'</effective_date>';
50 dbms_lob.writeAppend(l_event_data,length(l_text),l_text);
51 l_text:='<person_id>';
52 l_text:=l_text||fnd_number.number_to_canonical(p_person_id);
53 l_text:=l_text||'</person_id>';
54 dbms_lob.writeAppend(l_event_data,length(l_text),l_text);
55 l_text:='<business_group_id>';
56 l_text:=l_text||fnd_number.number_to_canonical(p_business_group_id);
57 l_text:=l_text||'</business_group_id>';
58 dbms_lob.writeAppend(l_event_data,length(l_text),l_text);
59 l_text:='<object_version_number>';
60 l_text:=l_text||fnd_number.number_to_canonical(p_object_version_number);
61 l_text:=l_text||'</object_version_number>';
62 dbms_lob.writeAppend(l_event_data,length(l_text),l_text);
63 l_text:='<applicant_number>';
64 l_text:=l_text||irc_utilities_pkg.removeTags(p_applicant_number);
65 l_text:=l_text||'</applicant_number>';
66 dbms_lob.writeAppend(l_event_data,length(l_text),l_text);
67 l_text:='<person_type_id>';
68 l_text:=l_text||fnd_number.number_to_canonical(p_person_type_id);
69 l_text:=l_text||'</person_type_id>';
70 dbms_lob.writeAppend(l_event_data,length(l_text),l_text);
71 l_text:='<effective_start_date>';
72 l_text:=l_text||fnd_date.date_to_canonical(p_effective_start_date);
73 l_text:=l_text||'</effective_start_date>';
74 dbms_lob.writeAppend(l_event_data,length(l_text),l_text);
75 l_text:='<effective_end_date>';
76 l_text:=l_text||fnd_date.date_to_canonical(p_effective_end_date);
77 l_text:=l_text||'</effective_end_date>';
78 dbms_lob.writeAppend(l_event_data,length(l_text),l_text);
79 l_text:='<appl_override_warning>';
80 if(P_APPL_OVERRIDE_WARNING) then
81 l_text:=l_text||'TRUE';
82 else
83 l_text:=l_text||'FALSE';
84 end if;
85 l_text:=l_text||'</appl_override_warning>';
86 dbms_lob.writeAppend(l_event_data,length(l_text),l_text);
87 l_text:='</applicant>';
88 --
89 dbms_lob.writeAppend(l_event_data,length(l_text),l_text);
90 --
91 if p_effective_start_date is not NULL and
92 p_effective_start_date > trunc(SYSDATE) and
93 fnd_profile.value('HR_DEFER_FD_BE_EVENTS') = 'Y' then
94 -- raise the event with the event data, with send date set to effective date
95 wf_event.raise(p_event_name=>l_event_name
96 ,p_event_key=>l_event_key
97 ,p_event_data=>l_event_data
98 ,p_send_date => p_effective_start_date);
99 --
100 else
101 -- raise the event with the event data
102 wf_event.raise(p_event_name=>l_event_name
103 ,p_event_key=>l_event_key
104 ,p_event_data=>l_event_data);
105 end if;
106 elsif (l_message='KEY') then
107 hr_utility.set_location(l_proc,30);
108 -- get a key for the event
109 open get_seq;
110 fetch get_seq into l_event_key;
111 close get_seq;
112 if p_effective_start_date is not NULL and
113 p_effective_start_date > trunc(SYSDATE) and
114 fnd_profile.value('HR_DEFER_FD_BE_EVENTS') = 'Y' then
115 -- this is a key event, so just raise the event
116 -- without the event data, with send date set to effective date
117 wf_event.raise(p_event_name=>l_event_name
118 ,p_event_key=>l_event_key
119 ,p_send_date => p_effective_start_date);
120 --
121 else
122 -- this is a key event, so just raise the event
123 -- without the event data
124 wf_event.raise(p_event_name=>l_event_name
125 ,p_event_key=>l_event_key);
126 end if;
127 elsif (l_message='NONE') then
128 hr_utility.set_location(l_proc,40);
129 -- no event is required, so do nothing
130 null;
131 end if;
132 hr_utility.set_location('Leaving: '||l_proc,50);
133 end convert_to_applicant_a;
134 end hr_applicant_be4;