[Home] [Help]
1: PACKAGE BODY PSP_CREATE_EFF_REPORTS AS
2: /* $Header: PSPERCRB.pls 120.24.12020000.5 2013/04/05 11:05:11 lkodaman ship $*/
3:
4:
5: PROCEDURE effort_asg_action_code (p_pactid IN NUMBER,
316: -- fnd_file.put_line(fnd_file.log, ' retry request i dis ' || l_retry_request_id);
317:
318:
319:
320: hr_utility.trace('psp_create_eff_reports--> request_id, retry_request_id, st_person, end_person = '|| p_request_id||' '||l_retry_request_id ||' '|| l_start_person||' '|| l_end_person);
321:
322:
323: -- fnd_file.put_line(fnd_file.log,' retry_Request_id = '||l_retry_request_id );
324: select parameter_value_2, parameter_value_3 into p_effort_start, p_effort_end from
676: ;
677:
678: -- fnd_file.put_line(fnd_file.log,' =====after dyn sql '||i);
679:
680: hr_utility.trace('psp_create_eff_reports--> After dyn sql');
681:
682:
683:
684:
692: g_summarization_criteria := l_grp_string;
693: OPEN get_supercede_persons;
694: FETCH get_supercede_persons bulk collect into person_rec.array_person_id;
695: CLOSE get_supercede_persons;
696: hr_utility.trace(' psp_create_eff_reports--> get_supercede_persons Count = '|| person_rec.array_person_id.count);
697: end if;
698:
699:
700:
697: end if;
698:
699:
700:
701: hr_utility.trace('psp_create_eff_reports--> After bulk fetch');
702: -- fnd_file.put_line(fnd_file.log,' after bulk fetch ');
703:
704: -- fnd_file.put_line(fnd_file.log, 'count is '||effort_det_lines_rec.person_id.count);
705:
763:
764: -- fnd_file.put_line(fnd_file.log , 'after insert into eff '||person_rec.array_effort_report_id.count);
765:
766:
767: hr_utility.trace('psp_create_eff_reports--> After insert into eff '||person_rec.array_effort_report_id.count);
768: /*
769:
770: */
771:
775: -- fnd_file.put_line(fnd_file.log,' before inserting into psp_report_details ');
776:
777: -- fnd_file.put_line(fnd_file.log,' =====inserting in psp_eff_report_details ');
778:
779: hr_utility.trace('psp_create_eff_reports--> before inserting into details ');
780:
781: FORALL i in 1..det_person_id.count
782: insert into psp_eff_report_details(
783: effort_report_detail_id,
890:
891: -- fnd_file.put_line(fnd_file.log,' ===== IF p_supercede_mode is not null THEN ');
892:
893: IF p_supercede_mode is not null THEN
894: hr_utility.trace(' psp_create_eff_reports--> updating erd count ='|| effort_det_lines_rec.effort_report_detail_id.count ||' min_effort_Report_id = '||min_effort_report_id );
895:
896: FORALL i in 1..effort_det_lines_rec.effort_report_detail_id.count
897: update psp_eff_report_details set effort_report_id =
898: (select effort_report_id from psp_eff_reports where
913:
914:
915: -- fnd_file.put_line(fnd_file.log,' after update of effort report details ');
916:
917: hr_utility.trace('psp_create_eff_reports--> After update of psp_eff_report_detail ');
918:
919: effort_Det_lines_rec.effort_report_detail_id.delete;
920: effort_det_lines_rec.person_id.delete;
921:
975: into person_rec.sum_tot, person_rec.array_effort_report_id, person_rec.array_assignment_id
976: from psp_eff_report_details where
977: effort_report_id > min_effort_report_id group by effort_report_id, assignment_id;
978:
979: hr_utility.trace('psp_create_eff_reports--> After getting sum');
980:
981: FORALL i in 1..person_rec.array_assignment_id.count
982: update psp_Eff_report_details set payroll_percent = decode(person_rec.sum_tot(i),0,0,round( ((actual_salary_amt * 100) / person_rec.sum_tot(i)),2))
983: where effort_report_id = person_rec.array_effort_report_id(i)
993: into person_rec.payroll_percent_tot, person_rec.array_effort_report_id, person_rec.array_assignment_id
994: from psp_eff_report_details where effort_report_id > min_effort_report_id group by effort_report_id , assignment_id;
995:
996:
997: hr_utility.trace('psp_create_eff_reports--> After sum payroll percent');
998:
999: FORALL i in 1..person_rec.array_assignment_id.count
1000: update psp_eff_report_details set payroll_percent = payroll_percent + (100.00 - person_rec.payroll_percent_tot(i))
1001: where effort_report_detail_id in (
1010: select sum(actual_salary_amt), effort_report_id bulk collect into person_rec.sum_tot, person_rec.array_effort_report_id
1011: from psp_eff_report_details where
1012: effort_report_id > min_effort_report_id group by effort_report_id ;
1013:
1014: hr_utility.trace('psp_create_eff_reports--> After getting sum');
1015:
1016: --- fnd_file.put_line(fnd_file.log,' after getting sum ');
1017:
1018: FORALL i in 1..person_rec.array_effort_report_id.count
1132: l_request_id,
1133: l_retry_request_id,
1134: l_profile_bg_id,
1135: l_return_status) ;
1136: hr_utility.trace('psp_create_eff_reports--> After xmlgen.copy_ptaoe_from_gl_segments');
1137:
1138: If (l_return_status = fnd_api.g_ret_sts_error) or (l_return_status = fnd_api.g_ret_sts_unexp_error) then
1139: psp_message_s.print_error(p_mode=>FND_FILE.log,
1140: p_print_header=>FND_API.G_TRUE);
1147: if p_warning = true then
1148: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
1149: end if;
1150:
1151: hr_utility.trace('psp_create_eff_reports--> After costs share API');
1152: -- fnd_file.put_line(fnd_file.log,' ===== psp_xmlgen.update_er_details');
1153:
1154: psp_xmlgen.update_er_details(l_start_person ,
1155: l_end_person ,
1156: l_request_id,
1157: l_retry_request_id,
1158: l_return_status) ;
1159:
1160: hr_utility.trace('psp_create_eff_reports--> After xmlgen.update_er_details');
1161: If (l_return_status = fnd_api.g_ret_sts_error) or (l_return_status = fnd_api.g_ret_sts_unexp_error) then
1162: psp_message_s.print_error(p_mode=>FND_FILE.log,
1163: p_print_header=>FND_API.G_TRUE);
1164: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
1168:
1169:
1170: psp_xmlgen.update_grouping_category(l_start_person, l_end_person, l_request_id, l_return_status) ;
1171:
1172: hr_utility.trace('psp_create_eff_reports--> After xmlgen.update_grouping_category');
1173: If (l_return_status = fnd_api.g_ret_sts_error) or (l_return_status = fnd_api.g_ret_sts_unexp_error) then
1174: psp_message_s.print_error(p_mode=>FND_FILE.log,
1175: p_print_header=>FND_API.G_TRUE);
1176: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
1206: l_return_status,
1207: l_retry_request_id );
1208:
1209:
1210: hr_utility.trace('psp_create_eff_reports--> After psp_er_ame.get_first_approvers');
1211:
1212:
1213:
1214: If (l_return_status = fnd_api.g_ret_sts_unexp_error) or (l_return_status=fnd_api.g_ret_sts_error) then
1226: l_request_id,
1227: l_retry_request_id,
1228: l_return_status) ;
1229:
1230: hr_utility.trace('psp_create_eff_reports--> After xmlgen.update_er_person_xml');
1231:
1232: If (l_return_status = fnd_api.g_ret_sts_error ) or (l_return_status = fnd_api.g_ret_sts_unexp_error) then
1233: psp_message_s.print_error(p_mode=>FND_FILE.log,
1234: p_print_header=>FND_API.G_TRUE);
1243: when FND_API.G_EXC_UNEXPECTED_ERROR then
1244: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
1245: when others then
1246: BEGIN
1247: -- hr_utility.trace('psp_create_eff_reports--> Exception '||sqlerrm);
1248: fnd_file.put_line(fnd_file.log,' Unhandled exception raised '||sqlerrm);
1249: fnd_message.set_name('PSP','PSP_ER_CREATE_UNEXPECTED_ERROR');
1250: l_err_mesg := substr(fnd_message.get,1,2000);
1251: l_sqlerrm := l_err_mesg || substr(sqlerrm,1,200);