DBA Data[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;