348:
349: payrolls_tab payrolls_tab_type;
350:
351: CURSOR csr_payrolls IS
352: SELECT * FROM hr_h2pi_payrolls
353: WHERE client_id = p_from_client_id;
354:
355: CURSOR csr_pay_payrolls IS
356: SELECT payroll_id
353: WHERE client_id = p_from_client_id;
354:
355: CURSOR csr_pay_payrolls IS
356: SELECT payroll_id
357: FROM hr_h2pi_payrolls_v
358: WHERE business_group_id = hr_h2pi_upload.g_to_business_group_id;
359:
360: CURSOR csr_hr_data_removed (p_payroll_id NUMBER) IS
361: SELECT payroll_id
358: WHERE business_group_id = hr_h2pi_upload.g_to_business_group_id;
359:
360: CURSOR csr_hr_data_removed (p_payroll_id NUMBER) IS
361: SELECT payroll_id
362: FROM hr_h2pi_payrolls_v pay
363: WHERE pay.business_group_id = hr_h2pi_upload.g_to_business_group_Id
364: AND pay.payroll_id = p_payroll_id
365: AND NOT EXISTS (SELECT 'X'
366: FROM hr_h2pi_id_mapping him,
363: WHERE pay.business_group_id = hr_h2pi_upload.g_to_business_group_Id
364: AND pay.payroll_id = p_payroll_id
365: AND NOT EXISTS (SELECT 'X'
366: FROM hr_h2pi_id_mapping him,
367: hr_h2pi_payrolls pay1
368: WHERE him.to_id = pay.payroll_id
369: AND pay1.payroll_id = him.from_id
370: AND him.table_name = 'PAY_ALL_PAYROLLS_F'
371: AND him.to_business_group_id = pay.business_group_id);
371: AND him.to_business_group_id = pay.business_group_id);
372:
373: CURSOR csr_payroll_data_added(p_payroll_id NUMBER) IS
374: SELECT payroll_id
375: FROM hr_h2pi_payrolls_v pay
376: WHERE pay.business_group_id = hr_h2pi_upload.g_to_business_group_id
377: AND pay.payroll_id = p_payroll_id
378: AND NOT EXISTS (SELECT 'X'
379: FROM hr_h2pi_id_mapping him
381: AND him.table_name = 'PAY_ALL_PAYROLLS_F'
382: AND him.to_business_group_id =
383: hr_h2pi_upload.g_to_business_group_id);
384:
385: l_ed_rec hr_h2pi_payrolls_v%ROWTYPE;
386: l_payroll_to_id pay_all_payrolls_f.payroll_id%TYPe;
387: l_counter BINARY_INTEGER ;
388: l_payroll_id pay_all_payrolls_f.payroll_id%TYPE;
389: l_record_ok BOOLEAN;
404:
405: IF l_payroll_to_id = -1 THEN
406: hr_utility.set_location(l_proc, 30);
407: hr_h2pi_error.data_error(p_from_id => v_ud_rec.payroll_id,
408: p_table_name => 'HR_H2PI_PAYROLLS',
409: p_message_level => 'FATAL',
410: p_message_name => 'HR_289260_UD_DATA_ADDED');
411: ELSE
412: BEGIN
412: BEGIN
413: hr_utility.set_location(l_proc, 40);
414: SELECT *
415: INTO l_ed_rec
416: FROM hr_h2pi_payrolls_v
417: WHERE payroll_id = l_payroll_to_id
418: AND effective_start_date = v_ud_rec.effective_start_date
419: AND effective_end_date = v_ud_rec.effective_end_date;
420:
428: l_ed_rec.effective_start_date <> v_ud_rec.effective_start_date OR
429: l_ed_rec.effective_end_date <> v_ud_rec.effective_end_date THEN
430: hr_utility.set_location(l_proc, 50);
431: hr_h2pi_error.data_error(p_from_id => v_ud_rec.payroll_id,
432: p_table_name => 'HR_H2PI_PAYROLLS',
433: p_message_level => 'FATAL',
434: p_message_name => 'HR_289237_DATA_MISMATCH');
435: END IF;
436:
437: EXCEPTION
438: WHEN NO_DATA_FOUND THEN
439: hr_utility.set_location(l_proc, 60);
440: hr_h2pi_error.data_error(p_from_id => v_ud_rec.payroll_id,
441: p_table_name => 'HR_H2PI_PAYROLLS',
442: p_message_level=> 'FATAL',
443: p_message_name => 'HR_289235_ED_DATA_REMOVED');
444: WHEN MAPPING_ID_MISSING THEN
445: hr_utility.set_location(l_proc, 70);
468: IF csr_payroll_data_added%FOUND then
469: -- Payroll Data added.
470: hr_utility.set_location(l_proc, 100);
471: hr_h2pi_error.data_error(p_from_id => l_payroll_id,
472: p_table_name => 'HR_H2PI_PAYROLLS',
473: p_message_level => 'FATAL',
474: p_message_name => 'HR_289259_ED_DATA_ADDED');
475: CLOSE csr_payroll_data_added;
476:
484: IF csr_hr_data_removed%FOUND then
485: --HR Data removed
486: hr_utility.set_location(l_proc, 120);
487: hr_h2pi_error.data_error(p_from_id => l_payroll_id,
488: p_table_name => 'HR_H2PI_PAYROLLS',
489: p_message_level => 'FATAL',
490: p_message_name => 'HR_289236_UD_DATA_REMOVED');
491: END IF;
492: CLOSE csr_hr_data_removed;