DBA Data[Home] [Help]

PACKAGE BODY: APPS.HR_ASSIGNMENT_BEI

Source


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