DBA Data[Home] [Help]

PACKAGE BODY: APPS.PAY_ELEMENT_TYPES_BE3

Source


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