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