DBA Data[Home] [Help]

PACKAGE BODY: APPS.PAY_BALANCE_FEEDS_BE1

Source


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