DBA Data[Home] [Help]

PACKAGE BODY: APPS.HRDPP_UPDATE_EXTERNAL_EFFORT_L

Source


1 package body hrdpp_UPDATE_EXTERNAL_EFFORT_L as
2 /*
3  * Generated by hr_pump_meta_mapper at: 2007/01/03 23:01:50
4  * Generated for API: PSP_EXTERNAL_EFFORT_LINES_API.UPDATE_EXTERNAL_EFFORT_LINE
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_BATCH_NAME in varchar2 default null
83 ,P_DISTRIBUTION_DATE in date default null
84 ,P_PERSON_ID in number default null
85 ,P_ASSIGNMENT_ID in number default null
86 ,P_CURRENCY_CODE in varchar2 default null
87 ,P_DISTRIBUTION_AMOUNT in number default null
88 ,I_DISTRIBUTION_AMOUNT in varchar2 default 'N'
89 ,P_SET_OF_BOOKS_ID in number default null
90 ,P_GL_CODE_COMBINATION_ID in number default null
91 ,P_PROJECT_ID in number default null
92 ,P_TASK_ID in number default null
93 ,P_AWARD_ID in number default null
94 ,P_EXPENDITURE_ORGANIZATION_ID in number default null
95 ,P_EXPENDITURE_TYPE in varchar2 default null
96 ,P_ATTRIBUTE_CATEGORY in varchar2 default null
97 ,P_ATTRIBUTE1 in varchar2 default null
98 ,P_ATTRIBUTE2 in varchar2 default null
99 ,P_ATTRIBUTE3 in varchar2 default null
100 ,P_ATTRIBUTE4 in varchar2 default null
101 ,P_ATTRIBUTE5 in varchar2 default null
102 ,P_ATTRIBUTE6 in varchar2 default null
103 ,P_ATTRIBUTE7 in varchar2 default null
104 ,P_ATTRIBUTE8 in varchar2 default null
105 ,P_ATTRIBUTE9 in varchar2 default null
106 ,P_ATTRIBUTE10 in varchar2 default null
107 ,P_ATTRIBUTE11 in varchar2 default null
108 ,P_ATTRIBUTE12 in varchar2 default null
109 ,P_ATTRIBUTE13 in varchar2 default null
110 ,P_ATTRIBUTE14 in varchar2 default null
111 ,P_ATTRIBUTE15 in varchar2 default null
112 ,P_OBJECT_VERSION_NUMBER in number
113 ,P_EXT_EFFORT_LINE_USER_KEY in varchar2) is
114 blid number := p_data_pump_batch_line_id;
115 begin
116 if blid is not null then
117 delete from hr_pump_batch_lines where batch_line_id = blid;
118 delete from hr_pump_batch_exceptions
119 where source_type = 'BATCH_LINE' and source_id = blid;
120 end if;
121 insert into hr_pump_batch_lines
122 (batch_id
123 ,batch_line_id
124 ,business_group_name
125 ,api_module_id
126 ,line_status
127 ,user_sequence
128 ,link_value
129 ,pval001
130 ,pval002
131 ,pval003
132 ,pval004
133 ,pval005
134 ,pval006
135 ,pval007
136 ,pval008
137 ,pval009
138 ,pval010
139 ,pval011
140 ,pval012
141 ,pval013
142 ,pval014
143 ,pval015
144 ,pval016
145 ,pval017
146 ,pval018
147 ,pval019
148 ,pval020
149 ,pval021
150 ,pval022
151 ,pval023
152 ,pval024
153 ,pval025
154 ,pval026
155 ,pval027
156 ,pval028
157 ,pval029
158 ,pval030
159 ,pval032)
160 values
161 (p_batch_id
162 ,nvl(blid,hr_pump_batch_lines_s.nextval)
163 ,p_data_pump_business_grp_name
164 ,3800
165 ,'U'
166 ,p_user_sequence
167 ,p_link_value
168 ,P_BATCH_NAME
169 ,dc(P_DISTRIBUTION_DATE)
170 ,P_PERSON_ID
171 ,P_ASSIGNMENT_ID
172 ,P_CURRENCY_CODE
173 ,nd(P_DISTRIBUTION_AMOUNT,I_DISTRIBUTION_AMOUNT)
174 ,P_SET_OF_BOOKS_ID
175 ,P_GL_CODE_COMBINATION_ID
176 ,P_PROJECT_ID
177 ,P_TASK_ID
178 ,P_AWARD_ID
179 ,P_EXPENDITURE_ORGANIZATION_ID
180 ,P_EXPENDITURE_TYPE
181 ,P_ATTRIBUTE_CATEGORY
182 ,P_ATTRIBUTE1
183 ,P_ATTRIBUTE2
184 ,P_ATTRIBUTE3
185 ,P_ATTRIBUTE4
186 ,P_ATTRIBUTE5
187 ,P_ATTRIBUTE6
188 ,P_ATTRIBUTE7
189 ,P_ATTRIBUTE8
190 ,P_ATTRIBUTE9
191 ,P_ATTRIBUTE10
192 ,P_ATTRIBUTE11
193 ,P_ATTRIBUTE12
194 ,P_ATTRIBUTE13
195 ,P_ATTRIBUTE14
196 ,P_ATTRIBUTE15
197 ,P_OBJECT_VERSION_NUMBER
198 ,P_EXT_EFFORT_LINE_USER_KEY);
199 end insert_batch_lines;
200 --
201 procedure call
202 (p_business_group_id in number,
203 p_batch_line_id     in number) is
204 cursor cr is
205 select l.rowid myrowid,
206 decode(l.pval001,cn,vn,vn,vh,l.pval001) p1,
207 l.pval001 d1,
208 decode(l.pval002,cn,dn,vn,D(NULL),d(l.pval002)) p2,
209 l.pval002 d2,
210 decode(l.pval003,cn,nn,vn,NULL,n(l.pval003)) p3,
211 l.pval003 d3,
212 decode(l.pval004,cn,nn,vn,NULL,n(l.pval004)) p4,
213 l.pval004 d4,
214 decode(l.pval005,cn,vn,vn,vh,l.pval005) p5,
215 l.pval005 d5,
216 decode(l.pval006,cn,nn,vn,nh,n(l.pval006)) p6,
217 l.pval006 d6,
218 decode(l.pval007,cn,nn,vn,NULL,n(l.pval007)) p7,
219 l.pval007 d7,
220 decode(l.pval008,cn,nn,vn,NULL,n(l.pval008)) p8,
221 l.pval008 d8,
222 decode(l.pval009,cn,nn,vn,NULL,n(l.pval009)) p9,
223 l.pval009 d9,
224 decode(l.pval010,cn,nn,vn,NULL,n(l.pval010)) p10,
225 l.pval010 d10,
226 decode(l.pval011,cn,nn,vn,NULL,n(l.pval011)) p11,
227 l.pval011 d11,
228 decode(l.pval012,cn,nn,vn,NULL,n(l.pval012)) p12,
229 l.pval012 d12,
230 decode(l.pval013,cn,vn,vn,vh,l.pval013) p13,
231 l.pval013 d13,
232 decode(l.pval014,cn,vn,vn,vh,l.pval014) p14,
233 l.pval014 d14,
234 decode(l.pval015,cn,vn,vn,vh,l.pval015) p15,
235 l.pval015 d15,
236 decode(l.pval016,cn,vn,vn,vh,l.pval016) p16,
237 l.pval016 d16,
238 decode(l.pval017,cn,vn,vn,vh,l.pval017) p17,
239 l.pval017 d17,
240 decode(l.pval018,cn,vn,vn,vh,l.pval018) p18,
241 l.pval018 d18,
242 decode(l.pval019,cn,vn,vn,vh,l.pval019) p19,
243 l.pval019 d19,
244 decode(l.pval020,cn,vn,vn,vh,l.pval020) p20,
245 l.pval020 d20,
246 decode(l.pval021,cn,vn,vn,vh,l.pval021) p21,
247 l.pval021 d21,
248 decode(l.pval022,cn,vn,vn,vh,l.pval022) p22,
249 l.pval022 d22,
250 decode(l.pval023,cn,vn,vn,vh,l.pval023) p23,
251 l.pval023 d23,
252 decode(l.pval024,cn,vn,vn,vh,l.pval024) p24,
253 l.pval024 d24,
254 decode(l.pval025,cn,vn,vn,vh,l.pval025) p25,
255 l.pval025 d25,
256 decode(l.pval026,cn,vn,vn,vh,l.pval026) p26,
257 l.pval026 d26,
258 decode(l.pval027,cn,vn,vn,vh,l.pval027) p27,
259 l.pval027 d27,
260 decode(l.pval028,cn,vn,vn,vh,l.pval028) p28,
261 l.pval028 d28,
262 decode(l.pval029,cn,vn,vn,vh,l.pval029) p29,
263 l.pval029 d29,
264 decode(l.pval030,cn,nn,n(l.pval030)) p30,
265 l.pval031 p31,
266 decode(l.pval032,cn,vn,l.pval032) p32
267 from hr_pump_batch_lines l
268 where l.batch_line_id = p_batch_line_id;
269 --
270 c cr%rowtype;
271 l_validate boolean := false;
272 L_RETURN_STATUS boolean;
273 L_EXTERNAL_EFFORT_LINE_ID number;
274 --
275 begin
276 hr_data_pump.entry('call');
277 open cr;
278 fetch cr into c;
279 if cr%notfound then
280 hr_utility.set_message(800,'HR_50326_DP_NO_ROW');
281 hr_utility.set_message_token('TABLE','HR_PUMP_BATCH_LINES');
282 hr_utility.set_message_token('COLUMN','P_BATCH_LINE_ID');
283 hr_utility.set_message_token('VALUE',p_batch_line_id);
284 hr_utility.raise_error;
285 end if;
286 --
287 if c.p32 is null then
288 L_EXTERNAL_EFFORT_LINE_ID:=nn;
289 else
290 L_EXTERNAL_EFFORT_LINE_ID := 
291 PSP_EXTERNAL_EFFORT_LINES_PKG.get_external_effort_line_id
292 (P_EXT_EFFORT_LINE_USER_KEY => c.p32);
293 end if;
294 --
295 hr_data_pump.api_trc_on;
296 PSP_EXTERNAL_EFFORT_LINES_API.UPDATE_EXTERNAL_EFFORT_LINE
297 (p_validate => l_validate
298 ,P_EXTERNAL_EFFORT_LINE_ID => L_EXTERNAL_EFFORT_LINE_ID
299 ,P_BATCH_NAME => c.p1
300 ,P_DISTRIBUTION_DATE => c.p2
301 ,P_PERSON_ID => c.p3
302 ,P_ASSIGNMENT_ID => c.p4
303 ,P_CURRENCY_CODE => c.p5
304 ,P_DISTRIBUTION_AMOUNT => c.p6
305 ,p_business_group_id => p_business_group_id
306 ,P_SET_OF_BOOKS_ID => c.p7
307 ,P_GL_CODE_COMBINATION_ID => c.p8
308 ,P_PROJECT_ID => c.p9
309 ,P_TASK_ID => c.p10
310 ,P_AWARD_ID => c.p11
311 ,P_EXPENDITURE_ORGANIZATION_ID => c.p12
312 ,P_EXPENDITURE_TYPE => c.p13
313 ,P_ATTRIBUTE_CATEGORY => c.p14
314 ,P_ATTRIBUTE1 => c.p15
315 ,P_ATTRIBUTE2 => c.p16
316 ,P_ATTRIBUTE3 => c.p17
317 ,P_ATTRIBUTE4 => c.p18
318 ,P_ATTRIBUTE5 => c.p19
319 ,P_ATTRIBUTE6 => c.p20
320 ,P_ATTRIBUTE7 => c.p21
321 ,P_ATTRIBUTE8 => c.p22
322 ,P_ATTRIBUTE9 => c.p23
323 ,P_ATTRIBUTE10 => c.p24
324 ,P_ATTRIBUTE11 => c.p25
325 ,P_ATTRIBUTE12 => c.p26
326 ,P_ATTRIBUTE13 => c.p27
327 ,P_ATTRIBUTE14 => c.p28
328 ,P_ATTRIBUTE15 => c.p29
329 ,P_OBJECT_VERSION_NUMBER => c.p30
330 ,P_RETURN_STATUS => L_RETURN_STATUS);
331 hr_data_pump.api_trc_off;
332 --
333 if L_RETURN_STATUS then
334 c.p31 := 'TRUE';
335 else
336 c.p31 := 'FALSE';
337 end if;
338 --
339 update hr_pump_batch_lines l set
340 l.pval030 = decode(c.p30,null,cn,c.p30),
341 l.pval031 = decode(c.p31,null,cn,c.p31)
342 where l.rowid = c.myrowid;
343 --
344 close cr;
345 --
346 hr_data_pump.exit('call');
347 exception
348  when hr_multi_message.error_message_exist then
349    if cr%isopen then
350     close cr;
351    end if;
352    hr_pump_utils.set_multi_msg_error_flag(true);
353  when others then
354  if cr%isopen then
355   close cr;
356  end if;
357  raise;
358 end call;
359 end hrdpp_UPDATE_EXTERNAL_EFFORT_L;