DBA Data[Home] [Help]

PACKAGE BODY: APPS.HR_ASSIGNMENT_BED

Source


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