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