DBA Data[Home] [Help]

PACKAGE BODY: APPS.HRDPP_DELETE_ELIG_CVRD_DPNT

Source


1 package body hrdpp_DELETE_ELIG_CVRD_DPNT as
2 /*
3  * Generated by hr_pump_meta_mapper at: 2012/11/27 04:11:49
4  * Generated for API: ben_elig_cvrd_dpnt_api.DELETE_ELIG_CVRD_DPNT
5  */
6 --
7 dh constant date := hr_api.g_date;
8 nh constant number := hr_api.g_number;
9 vh constant varchar2(64) := hr_api.g_varchar2;
10 c_sot constant date := to_date('01010001','DDMMYYYY');
11 cn constant varchar2(32) := '<NULL>';
12 dn constant date := null;
13 nn constant number := null;
14 vn constant varchar2(1) := null;
15 --
16 function dc(p in date) return varchar2 is
17 begin
18 if p<c_sot then
19  if p<>trunc(p) then
20   return to_char(p,'SYYYY/MM/DD HH24:MI:SS');
21  end if;
22  return to_char(p,'SYYYY/MM/DD');
23 elsif p<>trunc(p) then
24  return to_char(p,'YYYY/MM/DD HH24:MI:SS');
25 end if;
26 return to_char(p,'YYYY/MM/DD');
27 end dc;
28 function d(p in varchar2) return date is
29 begin
30 if length(p)=10 then
31 return to_date(p,'YYYY/MM/DD');
32 elsif length(p)=19 then
33 return to_date(p,'YYYY/MM/DD HH24:MI:SS');
34 elsif length(p)=11 then
35 return to_date(p,'SYYYY/MM/DD');
36 elsif length(p)=20 then
37 return to_date(p,'SYYYY/MM/DD HH24:MI:SS');
38 end if;
39 -- Try default format as last resort.
40 return to_date(p,'YYYY/MM/DD');
41 end d;
42 function n(p in varchar2) return number is
43 begin
44 return to_number(p);
45 end n;
46 function dd(p in date,i in varchar2)
47 return varchar2 is
48 begin
49 if upper(i) = 'N' then return dc(p);
50 else return cn; end if;
51 end dd;
52 function nd(p in number,i in varchar2)
53 return varchar2 is
54 begin
55 if upper(i) = 'N' then return to_char(p);
56 else return cn; end if;
57 end nd;
58 --
59 procedure iuk
60 (p_batch_line_id  in number,
61 p_user_key_value in varchar2,
62 p_unique_key_id  in number)
63 is
64 begin
65 hr_data_pump.entry('ins_user_key');
66 insert into hr_pump_batch_line_user_keys
67 (user_key_id, batch_line_id,user_key_value,unique_key_id)
68 values
69 (hr_pump_batch_line_user_keys_s.nextval,
70 p_batch_line_id,
71 p_user_key_value,
72 p_unique_key_id);
73 hr_data_pump.exit('ins_user_key');
74 end iuk;
75 --
76 procedure insert_batch_lines
77 (p_batch_id      in number
78 ,p_data_pump_batch_line_id in number default null
79 ,p_data_pump_business_grp_name in varchar2 default null
80 ,p_user_sequence in number default null
81 ,p_link_value    in number default null
82 ,P_EFFECTIVE_DATE in date
83 ,P_DATETRACK_MODE in varchar2
84 ,P_MULTI_ROW_ACTN in boolean default null
85 ,P_CALLED_FROM in varchar2
86 ,P_ELIG_CVRD_DPNT_USER_KEY in varchar2) is
87 blid number := p_data_pump_batch_line_id;
88  L_MULTI_ROW_ACTN varchar2(5);
89 begin
90 if P_MULTI_ROW_ACTN is null then
91  L_MULTI_ROW_ACTN := null;
92 elsif P_MULTI_ROW_ACTN then
93  L_MULTI_ROW_ACTN := 'TRUE';
94 else 
95  L_MULTI_ROW_ACTN := 'FALSE';
96 end if;
97 if blid is not null then
98 delete from hr_pump_batch_lines where batch_line_id = blid;
99 delete from hr_pump_batch_exceptions
100 where source_type = 'BATCH_LINE' and source_id = blid;
101 end if;
102 insert into hr_pump_batch_lines
103 (batch_id
104 ,batch_line_id
105 ,business_group_name
106 ,api_module_id
107 ,line_status
108 ,user_sequence
109 ,link_value
110 ,pval003
111 ,pval004
112 ,pval005
113 ,pval006
114 ,pval007)
115 values
116 (p_batch_id
117 ,nvl(blid,hr_pump_batch_lines_s.nextval)
118 ,p_data_pump_business_grp_name
119 ,608
120 ,'U'
121 ,p_user_sequence
122 ,p_link_value
123 ,dc(P_EFFECTIVE_DATE)
124 ,P_DATETRACK_MODE
125 ,L_MULTI_ROW_ACTN
126 ,P_CALLED_FROM
127 ,P_ELIG_CVRD_DPNT_USER_KEY);
128 end insert_batch_lines;
129 --
130 procedure call
131 (p_business_group_id in number,
132 p_batch_line_id     in number) is
133 cursor cr is
134 select l.rowid myrowid,
135 decode(l.pval001,cn,dn,d(l.pval001)) p1,
136 decode(l.pval002,cn,dn,d(l.pval002)) p2,
137 decode(l.pval003,cn,dn,d(l.pval003)) p3,
138 decode(l.pval004,cn,vn,l.pval004) p4,
139 decode(l.pval005,cn,vn,vn,null,l.pval005) p5,
140 l.pval005 d5,
141 decode(l.pval006,cn,vn,l.pval006) p6,
142 decode(l.pval007,cn,vn,l.pval007) p7
143 from hr_pump_batch_lines l
144 where l.batch_line_id = p_batch_line_id;
145 --
146 c cr%rowtype;
147 l_validate boolean := false;
148 L_MULTI_ROW_ACTN boolean;
149 L_ELIG_CVRD_DPNT_ID number;
150 L_OBJECT_VERSION_NUMBER number;
151 --
152 begin
153 hr_data_pump.entry('call');
154 open cr;
155 fetch cr into c;
156 if cr%notfound then
157 hr_utility.set_message(800,'HR_50326_DP_NO_ROW');
158 hr_utility.set_message_token('TABLE','HR_PUMP_BATCH_LINES');
159 hr_utility.set_message_token('COLUMN','P_BATCH_LINE_ID');
160 hr_utility.set_message_token('VALUE',p_batch_line_id);
161 hr_utility.raise_error;
162 end if;
163 --
164 if upper(c.p5) = 'TRUE' then
165 L_MULTI_ROW_ACTN := true;
166 elsif upper(c.p5) = 'FALSE' then
167 L_MULTI_ROW_ACTN := false;
168 elsif c.p5 is not null then
169 hr_utility.set_message(800,'HR_50327_DP_TYPE_ERR');
170 hr_utility.set_message_token('TYPE','BOOLEAN');
171 hr_utility.set_message_token('PARAMETER','P_MULTI_ROW_ACTN');
172 hr_utility.set_message_token('VALUE',c.p5);
173 hr_utility.set_message_token('TABLE','HR_PUMP_BATCH_LINES');
174 hr_utility.raise_error;
175 end if;
176 --
177 if c.p7 is null then
178 L_ELIG_CVRD_DPNT_ID:=nn;
179 else
180 L_ELIG_CVRD_DPNT_ID := 
181 hr_pump_get.get_elig_cvrd_dpnt_id
182 (P_ELIG_CVRD_DPNT_USER_KEY => c.p7);
183 end if;
184 --
185 if c.p7 is null or
186 c.p3 is null then
187 L_OBJECT_VERSION_NUMBER:=nn;
188 else
189 L_OBJECT_VERSION_NUMBER := 
190 hr_pump_get.GET_ELIG_CVRD_DPNT_OVN
191 (P_ELIG_CVRD_DPNT_USER_KEY => c.p7
192 ,P_EFFECTIVE_DATE => c.p3);
193 end if;
194 --
195 hr_data_pump.api_trc_on;
196 ben_elig_cvrd_dpnt_api.DELETE_ELIG_CVRD_DPNT
197 (p_validate => l_validate
198 ,P_ELIG_CVRD_DPNT_ID => L_ELIG_CVRD_DPNT_ID
199 ,P_EFFECTIVE_START_DATE => c.p1
200 ,P_EFFECTIVE_END_DATE => c.p2
201 ,P_OBJECT_VERSION_NUMBER => L_OBJECT_VERSION_NUMBER
202 ,p_business_group_id => p_business_group_id
203 ,P_EFFECTIVE_DATE => c.p3
204 ,P_DATETRACK_MODE => c.p4
205 ,P_MULTI_ROW_ACTN => L_MULTI_ROW_ACTN
206 ,P_CALLED_FROM => c.p6);
207 hr_data_pump.api_trc_off;
208 
209 --
210 update hr_pump_batch_lines l set
211 l.pval001 = decode(c.p1,null,cn,dc(c.p1)),
212 l.pval002 = decode(c.p2,null,cn,dc(c.p2))
213 where l.rowid = c.myrowid;
214 --
215 close cr;
216 --
217 hr_data_pump.exit('call');
218 exception
219  when hr_multi_message.error_message_exist then
220    if cr%isopen then
221     close cr;
222    end if;
223    hr_pump_utils.set_multi_msg_error_flag(true);
224  when others then
225  if cr%isopen then
226   close cr;
227  end if;
228  raise;
229 end call;
230 end hrdpp_DELETE_ELIG_CVRD_DPNT;