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