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