DBA Data[Home] [Help]

PACKAGE BODY: APPS.HR_ASSIGNMENT_BEK

Source


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