[Home] [Help]
PACKAGE BODY: APPS.PAY_JP_ITAX_DPNT_INTERFACE_PKG
Source
1 package body pay_jp_itax_dpnt_interface_pkg as
2 /* $Header: pyjpitdp.pkb 120.6 2011/05/31 03:36:47 keyazawa noship $ */
3 --
4 -- Constants
5 --
6 c_package constant varchar2(31) := 'pay_jp_itax_dpnt_interface_pkg.';
7 c_element_name constant pay_element_types_f.element_name%TYPE := 'YEA_DEP_EXM_PROC';
8 c_itax_elm_name constant pay_element_types_f.element_name%TYPE := 'COM_ITX_INFO';
9 c_itax_type_iv_name constant pay_input_values_f.name%TYPE := 'ITX_TYPE';
10 c_non_res_iv_name constant pay_input_values_f.name%TYPE := 'NRES_FLAG';
11 c_value_if_null_tbl constant pay_jp_bee_utility_pkg.t_varchar2_tbl
12 := pay_jp_bee_utility_pkg.entry_value_tbl('0', '0', '0', '0', '0', '0', '0', '0', '0', '0', '0', '0', '0', '0');
13 c_non_res_elm_name constant pay_element_types_f.element_name%TYPE := 'COM_NRES_INFO';
14 c_non_res_date_iv_name constant pay_input_values_f.name%TYPE := 'NRES_START_DATE';
15 c_res_date_iv_name constant pay_input_values_f.name%TYPE := 'PROJECTED_RES_DATE';
16 c_elm pay_element_types_f.element_name%TYPE;
17 c_elm_tl pay_element_types_f_tl.element_name%TYPE;
18 c_elm_tl_max number := 30;
19 --
20 -- Global Variables
21 --
22 g_element_type_id number;
23 g_itax_type_iv_id number;
24 g_non_res_iv_id number;
25 g_non_res_date_iv_id number;
26 g_res_date_iv_id number;
27 -- ----------------------------------------------------------------------------
28 -- |----------------------------< insert_session >----------------------------|
29 -- ----------------------------------------------------------------------------
30 procedure insert_session(p_effective_date in date)
31 is
32 begin
33 insert into fnd_sessions(
34 session_id,
35 effective_date)
36 values( userenv('sessionid'),
37 p_effective_date);
38 commit;
39 end insert_session;
40 -- ----------------------------------------------------------------------------
41 -- |----------------------------< delete_session >----------------------------|
42 -- ----------------------------------------------------------------------------
43 procedure delete_session
44 is
45 begin
46 delete
47 from fnd_sessions
48 where session_id = userenv('sessionid');
49 commit;
50 end delete_session;
51 --
52 function get_elm_tl(
53 p_elm_name in varchar2)
54 return varchar2
55 is
56 --
57 o_elm_tl pay_element_types_f_tl.element_name%type;
58 --
59 -- support only session lang based on case forms and srs session lang is same
60 cursor csr_elm_tl
61 is
62 select /*+ ORDERD */
63 pett.element_name
64 from pay_element_types_f pet,
65 pay_element_types_f_tl pett
66 where pet.element_name = p_elm_name
67 and pet.legislation_code = 'JP'
68 and pett.element_type_id = pet.element_type_id
69 and pett.language = userenv('LANG');
70 --
71 begin
72 --
73 o_elm_tl := c_elm_tl;
74 --
75 if c_elm is null
76 or c_elm <> p_elm_name then
77 --
78 open csr_elm_tl;
79 fetch csr_elm_tl into o_elm_tl;
80 close csr_elm_tl;
81 --
82 c_elm := p_elm_name;
83 --
84 end if;
85 --
86 return o_elm_tl;
87 --
88 end get_elm_tl;
89 --
90 -- ----------------------------------------------------------------------------
91 -- |-----------------------------< transfer_asg >-----------------------------|
92 -- ----------------------------------------------------------------------------
93 procedure transfer_asg(
94 p_business_group_id in number,
95 p_payroll_id in number,
96 p_assignment_id in number,
97 p_effective_date in date,
98 p_upload_date in date,
99 p_assignment_number in varchar2,
100 p_full_name in varchar2,
101 p_batch_id in number,
102 p_create_entry_if_not_exist in varchar2,
103 p_create_asg_set_for_errored in varchar2,
104 p_spouse_type_flag in varchar2,
105 p_dpnt_spouse_dsbl_type_flag in varchar2,
106 p_dpnts_flag in varchar2,
107 p_aged_dpnts_flag in varchar2,
108 p_aged_dpnt_parents_lt_flag in varchar2,
109 p_young_dpnts_flag in varchar2,
110 p_minor_dpnts_flag in varchar2,
111 p_dsbl_dpnts_flag in varchar2,
112 p_svr_dsbl_dpnts_flag in varchar2,
113 p_svr_dsbl_dpnts_lt_flag in varchar2,
114 p_assignment_set_id in out nocopy number,
115 p_assignment_set_name in out nocopy varchar2)
116 is
117 l_proc varchar2(61) := c_package || 'transfer_asg';
118 --
119 l_non_res_flag hr_lookups.lookup_code%TYPE;
120 l_itax_type hr_lookups.lookup_code%TYPE;
121 l_itax_dpnt_rec per_jp_ctr_utility_pkg.t_itax_dpnt_rec;
122 itax_type_is_null exception;
123 multiple_spouses exception;
124 --
125 l_ee_rec pay_jp_bee_utility_pkg.t_ee_rec;
126 l_eev_rec pay_jp_bee_utility_pkg.t_eev_rec;
127 l_new_value_tbl pay_jp_bee_utility_pkg.t_varchar2_tbl;
128 --
129 l_is_different boolean := false;
130 l_change_type hr_lookups.lookup_code%type;
131 l_write_all boolean := false;
132 l_batch_line_id number;
133 l_batch_line_ovn number;
134 --
135 l_non_res_date date;
136 l_res_date date;
137 --
138 procedure create_asg_set_amd
139 is
140 begin
141 if p_create_asg_set_for_errored = 'Y' then
142 if p_assignment_set_id is null then
143 hr_jp_ast_utility_pkg.create_asg_set_with_request_id(
144 p_prefix => 'REQUEST_ID_',
145 p_business_group_id => p_business_group_id,
146 p_payroll_id => p_payroll_id,
147 p_assignment_set_id => p_assignment_set_id,
148 p_assignment_set_name => p_assignment_set_name);
149 commit;
150 end if;
151 --
152 hr_jp_ast_utility_pkg.create_asg_set_amd(
153 p_assignment_set_id => p_assignment_set_id,
154 p_assignment_id => p_assignment_id,
155 p_include_or_exclude => 'I');
156 commit;
157 end if;
158 end create_asg_set_amd;
159 begin
160 hr_utility.set_location('Entering : ' || l_proc, 10);
161 --
162 hr_utility.trace('********************');
163 hr_utility.trace('assignment_id : ' || to_char(p_assignment_id));
164 hr_utility.trace('assignment_number : ' || p_assignment_number);
165 hr_utility.trace('upload_date : ' || to_char(p_upload_date));
166 --
167 -- Derive income tax dependent information from PAY_ELEMENT_ENTRIES_F.
168 --
169 pay_jp_bee_utility_pkg.get_ee(
170 p_assignment_id => p_assignment_id,
171 p_element_type_id => g_element_type_id,
172 p_effective_date => p_upload_date,
173 p_ee_rec => l_ee_rec,
174 p_eev_rec => l_eev_rec);
175 --
176 -- BEE line is created
177 -- 1. When element entry exists and one of input values to be transfered needs to be updated.
178 -- 2. When element entry does not exist and p_create_entry_if_not_exist is set to 'Y'.
179 --
180 if (l_ee_rec.element_entry_id is not null)
181 or (p_create_entry_if_not_exist = 'Y') then
182 --
183 -- Derive Non-resident flag as of Upload Date
184 --
185 l_non_res_date := pay_jp_balance_pkg.get_entry_value_date(
186 p_input_value_id => g_non_res_date_iv_id,
187 p_assignment_id => p_assignment_id,
188 p_effective_date => p_upload_date);
189 l_res_date := nvl(pay_jp_balance_pkg.get_entry_value_date(
190 p_input_value_id => g_res_date_iv_id,
191 p_assignment_id => p_assignment_id,
192 p_effective_date => p_upload_date), TO_DATE('47121231','YYYYMMDD'));
193
194 if l_non_res_date is not null then
195 if (l_non_res_date <= p_upload_date) and (p_upload_date < l_res_date) then
196 l_non_res_flag := 'Y';
197 else
198 l_non_res_flag := 'N';
199 end if;
200 else
201 l_non_res_flag := nvl(pay_jp_balance_pkg.get_entry_value_char(
202 p_input_value_id => g_non_res_iv_id,
203 p_assignment_id => p_assignment_id,
204 p_effective_date => p_upload_date), 'N');
205 end if;
206
207 --
208 -- Derive Income Tax Type as of Upload Date
209 -- If non-resident, set to "NON_RES".
210 --
211 if l_non_res_flag = 'Y' then
212 l_itax_type := 'NON_RES';
213 else
214 l_itax_type := pay_jp_balance_pkg.get_entry_value_char(
215 p_input_value_id => g_itax_type_iv_id,
216 p_assignment_id => p_assignment_id,
217 p_effective_date => p_upload_date);
218 --
219 -- If Income Tax Type is null for resident, raise error
220 --
221 if l_itax_type is null then
222 raise itax_type_is_null;
223 end if;
224 end if;
225 --
226 hr_utility.trace('non_res_flag : ' || l_non_res_flag);
227 hr_utility.trace('itax_type : ' || l_itax_type);
228 --
229 -- Derive income tax dependent information from CTR and CEI
230 -- as of Assessment Date, not Upload Date.
231 --
232 per_jp_ctr_utility_pkg.get_itax_dpnt_info(
233 p_assignment_id => p_assignment_id,
234 p_itax_type => l_itax_type,
235 p_effective_date => p_effective_date,
236 p_itax_dpnt_rec => l_itax_dpnt_rec);
237 --
238 -- If there're multiple spouses, skip processing for current assignment and output log.
239 --
240 if l_itax_dpnt_rec.multiple_spouses_warning then
241 hr_utility.trace('Multiple spouses. Skip processing');
242 raise multiple_spouses;
243 end if;
244 --
245 -- value_if_null is like value used as "default for" clause in FastFormula.
246 --
247 if p_spouse_type_flag = 'Y' then
248 l_new_value_tbl(5) := l_itax_dpnt_rec.spouse_type;
249 end if;
250 if p_dpnt_spouse_dsbl_type_flag = 'Y' then
251 l_new_value_tbl(6) := l_itax_dpnt_rec.dpnt_spouse_dsbl_type;
252 end if;
253 if p_dpnts_flag = 'Y' then
254 l_new_value_tbl(7) := fnd_number.number_to_canonical(l_itax_dpnt_rec.dpnts);
255 end if;
256 if p_aged_dpnts_flag = 'Y' then
257 l_new_value_tbl(8) := fnd_number.number_to_canonical(l_itax_dpnt_rec.aged_dpnts);
258 end if;
259 if p_aged_dpnt_parents_lt_flag = 'Y' then
260 l_new_value_tbl(9) := fnd_number.number_to_canonical(l_itax_dpnt_rec.aged_dpnt_parents_lt);
261 end if;
262 if p_young_dpnts_flag = 'Y' then
263 l_new_value_tbl(10) := fnd_number.number_to_canonical(l_itax_dpnt_rec.young_dpnts);
264 end if;
265 if p_minor_dpnts_flag = 'Y' then
266 l_new_value_tbl(11) := fnd_number.number_to_canonical(l_itax_dpnt_rec.minor_dpnts);
267 end if;
268 if p_dsbl_dpnts_flag = 'Y' then
269 l_new_value_tbl(12) := fnd_number.number_to_canonical(l_itax_dpnt_rec.dsbl_dpnts);
270 end if;
271 if p_svr_dsbl_dpnts_flag = 'Y' then
272 l_new_value_tbl(13) := fnd_number.number_to_canonical(l_itax_dpnt_rec.svr_dsbl_dpnts);
273 end if;
274 if p_svr_dsbl_dpnts_lt_flag = 'Y' then
275 l_new_value_tbl(14) := fnd_number.number_to_canonical(l_itax_dpnt_rec.svr_dsbl_dpnts_lt);
276 end if;
277 --
278 -- Check whether the new_value_tbl is different from eev_rec.entry_value_tbl.
279 -- The following procedure changes new_value_tbl based on eev.
280 --
281 pay_jp_bee_utility_pkg.set_eev(
282 p_ee_rec => l_ee_rec,
283 p_eev_rec => l_eev_rec,
284 p_value_if_null_tbl => c_value_if_null_tbl,
285 p_new_value_tbl => l_new_value_tbl,
286 p_is_different => l_is_different);
287 --
288 if l_is_different then
289 --
290 -- Write to output file
291 --
292 if l_ee_rec.element_entry_id is null then
293 hr_utility.trace('EE not exist. Create EE.');
294 --
295 -- If element does not exist, "Insert" mode.
296 -- Also output all entry values to be transfered.
297 --
298 l_change_type := 'I';
299 l_write_all := true;
300 else
301 hr_utility.trace('EE exists. Compare Start.');
302 --
303 -- When the Upload Date is the same date as ESD,
304 -- it is "Correction" mode, or "Update".
305 -- In this case, only the entry values to be changed are shown in output file.
306 --
307 if l_ee_rec.effective_start_date = p_upload_date then
308 l_change_type := 'C';
309 else
310 l_change_type := 'U';
311 end if;
312 end if;
313 pay_jp_bee_utility_pkg.out(
314 p_full_name => p_full_name,
315 p_assignment_number => p_assignment_number,
316 p_effective_date => p_upload_date,
317 p_change_type => l_change_type,
318 p_eev_rec => l_eev_rec,
319 p_new_value_tbl => l_new_value_tbl,
320 p_write_all => l_write_all);
321 --
322 -- Create BEE Line
323 --
324 l_eev_rec.entry_value_tbl := l_new_value_tbl;
325 pay_jp_bee_utility_pkg.create_batch_line(
326 p_batch_id => p_batch_id,
327 p_assignment_id => p_assignment_id,
328 p_assignment_number => p_assignment_number,
329 p_element_type_id => g_element_type_id,
330 p_element_name => c_element_name,
331 p_effective_date => p_upload_date,
332 p_ee_rec => l_ee_rec,
333 p_eev_rec => l_eev_rec,
334 p_batch_line_id => l_batch_line_id,
335 p_object_version_number => l_batch_line_ovn);
336 commit;
337 end if;
338 end if;
339 --
340 hr_utility.set_location('Leaving : ' || l_proc, 20);
341 exception
342 when itax_type_is_null then
343 pay_jp_bee_utility_pkg.log(
344 p_full_name => p_full_name,
345 p_assignment_number => p_assignment_number,
346 p_application_short_name => 'PAY',
347 p_message_name => 'PAY_JP_ITAX_DPNT_NO_ITAX_TYPE',
348 p_token1 => 'EFFECTIVE_DATE',
349 p_value1 => fnd_date.date_to_chardate(p_upload_date));
350 create_asg_set_amd;
351 --
352 hr_utility.set_location('Leaving : ' || l_proc, 25);
353 when multiple_spouses then
354 pay_jp_bee_utility_pkg.log(
355 p_full_name => p_full_name,
356 p_assignment_number => p_assignment_number,
357 p_application_short_name => 'PAY',
358 p_message_name => 'PAY_JP_ITAX_DPNT_MULTI_SPOUSES',
359 p_token1 => 'EFFECTIVE_DATE',
360 p_value1 => fnd_date.date_to_chardate(p_effective_date));
361 create_asg_set_amd;
362 --
363 hr_utility.set_location('Leaving : ' || l_proc, 26);
364 end transfer_asg;
365 -- ----------------------------------------------------------------------------
366 -- |-----------------------< transfer_from_cei_to_bee >-----------------------|
367 -- ----------------------------------------------------------------------------
368 procedure transfer_from_cei_to_bee(
369 p_errbuf out nocopy varchar2,
370 p_retcode out nocopy varchar2,
371 p_business_group_id in number,
372 p_payroll_id in number,
373 p_time_period_id in number,
374 p_effective_date in varchar2,
375 p_upload_date in varchar2,
376 p_batch_name in varchar2,
377 p_action_if_exists in varchar2,
378 p_reject_if_future_changes in varchar2,
379 p_date_effective_changes in varchar2,
380 p_purge_after_transfer in varchar2,
381 p_assignment_set_id in number,
382 p_create_entry_if_not_exist in varchar2,
383 p_create_asg_set_for_errored in varchar2,
384 p_spouse_type_flag in varchar2,
385 p_dpnt_spouse_dsbl_type_flag in varchar2,
386 p_dpnts_flag in varchar2,
387 p_aged_dpnts_flag in varchar2,
388 p_aged_dpnt_parents_lt_flag in varchar2,
389 p_young_dpnts_flag in varchar2,
390 p_minor_dpnts_flag in varchar2,
391 p_dsbl_dpnts_flag in varchar2,
392 p_svr_dsbl_dpnts_flag in varchar2,
393 p_svr_dsbl_dpnts_lt_flag in varchar2)
394 is
395 l_proc varchar2(61) := c_package || 'transfer_from_cei_to_bee';
396 --
397 l_effective_date date := fnd_date.canonical_to_date(p_effective_date);
398 l_upload_date date := fnd_date.canonical_to_date(p_upload_date);
399 l_period_start_date date;
400 l_period_end_date date;
401 --
402 l_date_effective_changes pay_batch_headers.date_effective_changes%TYPE := p_date_effective_changes;
403 l_batch_id number;
404 l_batch_ovn number;
405 --
406 l_asg_rec hr_jp_ast_utility_pkg.t_asg_rec;
407 l_assignment_set_id number;
408 l_assignment_set_name hr_assignment_sets.assignment_set_name%type;
409 begin
410 -- hr_utility.trace_on('F', 'TTAGAWA');
411 hr_utility.set_location('Entering : ' || l_proc, 10);
412 --
413 -- Validate Input Parameters
414 --
415 -- If all input values are out of scope by transfer process,
416 -- stop processing and raise error.
417 --
418 if p_spouse_type_flag = 'N'
419 and p_dpnt_spouse_dsbl_type_flag = 'N'
420 and p_dpnts_flag = 'N'
421 and p_aged_dpnts_flag = 'N'
422 and p_aged_dpnt_parents_lt_flag = 'N'
423 and p_young_dpnts_flag = 'N'
424 and p_minor_dpnts_flag = 'N'
425 and p_dsbl_dpnts_flag = 'N'
426 and p_svr_dsbl_dpnts_flag = 'N'
427 and p_svr_dsbl_dpnts_lt_flag = 'N' then
428 fnd_message.set_name('PAY', 'PAY_JP_BEE_UTIL_NO_TARGET_IV');
429 fnd_message.raise_error;
430 end if;
431 --
432 -- Validate p_time_period_id and p_upload_date
433 --
434 pay_jp_bee_utility_pkg.chk_upload_date(
435 p_time_period_id => p_time_period_id,
436 p_upload_date => l_upload_date,
437 p_period_start_date => l_period_start_date,
438 p_period_end_date => l_period_end_date);
439 --
440 -- Create BEE Header
441 -- Batch Source : <Request ID>
442 -- Batch Reference : <Element Name>
443 --
444 -- Validate Date Effective Changes
445 --
446 pay_jp_bee_utility_pkg.chk_date_effective_changes(
447 p_action_if_exists => p_action_if_exists,
448 p_reject_if_future_changes => p_reject_if_future_changes,
449 p_date_effective_changes => l_date_effective_changes);
450 --
451 -- Bug.2760646
452 -- Need to populate record into fnd_sessions
453 -- because the formula with this assignment set possibly calls
454 -- dbis which includes fnd_sessions table, e.g. PER_EMP_NUMBER.
455 -- If no records in fnd_sessions, PER_EMP_NUMBER will raise error
456 -- because FF_USER_ENTITIES.NOTFOUND_ALLOWED_FLAG is "N".
457 -- Note FND_SESSIONS.EFFECTIVE_DATE is not changed during the processing
458 -- while the context DATE_EARNED changes for each assignment.
459 --
460 insert_session(l_effective_date);
461 --
462 --
463 c_elm_tl := get_elm_tl(c_element_name);
464 if userenv('LANG') = 'JA' then
465 c_elm_tl_max := trunc(30/lengthb(to_multi_byte(' ')));
466 end if;
467 --
468 pay_batch_element_entry_api.create_batch_header(
469 p_validate => false,
470 p_session_date => l_effective_date,
471 p_batch_name => substrb(p_batch_name, 1, 30),
472 p_business_group_id => p_business_group_id,
473 p_action_if_exists => p_action_if_exists,
474 p_batch_reference => substr(c_elm_tl, 1, c_elm_tl_max),
475 p_batch_source => substrb(to_char(fnd_global.conc_request_id), 1, 30),
476 p_date_effective_changes => l_date_effective_changes,
477 p_purge_after_transfer => p_purge_after_transfer,
478 p_reject_if_future_changes => p_reject_if_future_changes,
479 p_batch_id => l_batch_id,
480 p_object_version_number => l_batch_ovn);
481 commit;
482 --
483 hr_utility.trace('batch_id : ' || to_char(l_batch_id));
484 --
485 -- Initialize Global Variables
486 --
487 g_element_type_id := hr_jp_id_pkg.element_type_id(c_element_name, p_business_group_id);
488 g_itax_type_iv_id := hr_jp_id_pkg.input_value_id(c_itax_elm_name, c_itax_type_iv_name, p_business_group_id);
489 g_non_res_iv_id := hr_jp_id_pkg.input_value_id(c_itax_elm_name, c_non_res_iv_name, p_business_group_id);
490 --
491 g_non_res_date_iv_id := hr_jp_id_pkg.input_value_id(c_non_res_elm_name, c_non_res_date_iv_name, p_business_group_id);
492 g_res_date_iv_id := hr_jp_id_pkg.input_value_id(c_non_res_elm_name, c_res_date_iv_name, p_business_group_id);
493 --
494 -- Derive payroll assignments to be processed
495 --
496 hr_jp_ast_utility_pkg.pay_asgs(
497 p_payroll_id => p_payroll_id,
498 p_effective_date => l_effective_date,
499 p_start_date => l_upload_date,
500 p_end_date => l_period_end_date,
501 p_assignment_set_id => p_assignment_set_id,
502 p_asg_rec => l_asg_rec);
503 --
504 -- Assignment to be transfered Loop
505 --
506 for i in 1..l_asg_rec.assignment_id_tbl.count loop
507 transfer_asg(
508 p_business_group_id => p_business_group_id,
509 p_payroll_id => p_payroll_id,
510 p_assignment_id => l_asg_rec.assignment_id_tbl(i),
511 p_effective_date => l_effective_date,
512 p_upload_date => l_asg_rec.effective_date_tbl(i),
513 p_assignment_number => l_asg_rec.assignment_number_tbl(i),
514 p_full_name => l_asg_rec.full_name_tbl(i),
515 p_batch_id => l_batch_id,
516 p_create_entry_if_not_exist => p_create_entry_if_not_exist,
517 p_create_asg_set_for_errored => p_create_asg_set_for_errored,
518 p_spouse_type_flag => p_spouse_type_flag,
519 p_dpnt_spouse_dsbl_type_flag => p_dpnt_spouse_dsbl_type_flag,
520 p_dpnts_flag => p_dpnts_flag,
521 p_aged_dpnts_flag => p_aged_dpnts_flag,
522 p_aged_dpnt_parents_lt_flag => p_aged_dpnt_parents_lt_flag,
523 p_young_dpnts_flag => p_young_dpnts_flag,
524 p_minor_dpnts_flag => p_minor_dpnts_flag,
525 p_dsbl_dpnts_flag => p_dsbl_dpnts_flag,
526 p_svr_dsbl_dpnts_flag => p_svr_dsbl_dpnts_flag,
527 p_svr_dsbl_dpnts_lt_flag => p_svr_dsbl_dpnts_lt_flag,
528 p_assignment_set_id => l_assignment_set_id,
529 p_assignment_set_name => l_assignment_set_name);
530 end loop;
531 --
532 -- Write the assignment_set_name created into log file
533 --
534 if l_assignment_set_id is not null then
535 fnd_message.set_name('PAY', 'PAY_JP_BEE_UTIL_ASG_SET_CREATE');
536 fnd_message.set_token('ASSIGNMENT_SET_NAME', l_assignment_set_name);
537 fnd_file.put_line(fnd_file.log, fnd_message.get);
538 end if;
539 --
540 -- When no batch lines are created, delete batch header and set message as errbuf.
541 --
542 if pay_jp_bee_utility_pkg.g_num_of_outs = 0 then
543 hr_utility.trace('BEE Header deleted');
544 --
545 pay_batch_element_entry_api.delete_batch_header(
546 p_validate => false,
547 p_batch_id => l_batch_id,
548 p_object_version_number => l_batch_ovn);
549 commit;
550 --
551 fnd_message.set_name('PAY', 'PAY_JP_BEE_UTIL_NO_ASGS');
552 p_errbuf := fnd_message.get;
553 fnd_file.put_line(fnd_file.log, p_errbuf);
554 end if;
555 --
556 -- If at least 1 assignment failed to process, set concurrent request status "Incomplete".
557 --
558 if pay_jp_bee_utility_pkg.g_num_of_logs > 0 then
559 p_retcode := 1;
560 else
561 p_retcode := 0;
562 end if;
563 --
564 -- Bug.2760646
565 --
566 delete_session;
567 --
568 hr_utility.trace('retcode : ' || p_retcode);
569 hr_utility.trace('errbuf : ' || p_errbuf);
570 hr_utility.set_location('Leaving : ' || l_proc, 20);
571 end transfer_from_cei_to_bee;
572 --
573 end pay_jp_itax_dpnt_interface_pkg;