1: PACKAGE BODY pa_assignments_pvt AS
2: /*$Header: PARAPVTB.pls 120.6.12010000.5 2010/03/30 05:53:13 sugupta ship $*/
3: --
4: P_DEBUG_MODE varchar2(1) := NVL(FND_PROFILE.value('PA_DEBUG_MODE'), 'N'); /* Added Debug Profile Option variable initialization for bug#2674619 */
5: li_message_level NUMBER := 1;
6:
7: PROCEDURE Create_Assignment
8: ( p_assignment_rec IN PA_ASSIGNMENTS_PUB.Assignment_Rec_Type
55:
56: BEGIN
57:
58: -- Initialize the Error Stack
59: PA_DEBUG.init_err_stack('PA_ASSIGNMENTS_PVT.Create_Assignment');
60:
61: --Log Message
62: IF P_DEBUG_MODE = 'Y' THEN /* Added Debug Profile Option Check for bug#2674619 */
63: PA_DEBUG.write_log (x_module => 'pa.plsql.PA_ASSIGNMENTS_PVT.Create_Assignment.begin'
59: PA_DEBUG.init_err_stack('PA_ASSIGNMENTS_PVT.Create_Assignment');
60:
61: --Log Message
62: IF P_DEBUG_MODE = 'Y' THEN /* Added Debug Profile Option Check for bug#2674619 */
63: PA_DEBUG.write_log (x_module => 'pa.plsql.PA_ASSIGNMENTS_PVT.Create_Assignment.begin'
64: ,x_msg => 'Beginning of the PVT Create_Assignment'
65: ,x_log_level => 5);
66: END IF;
67: -- Initialize the return status to success
129: END IF;
130:
131: -- END FP.M Development
132: IF P_DEBUG_MODE = 'Y' THEN
133: pa_debug.write(x_module => 'pa.plsql.PA_ASSIGNMENTS_PVT.Create_Assignment'
134: ,x_msg => 'after FP.M'
135: ,x_log_level => li_message_level);
136: END IF;
137:
140: IF p_assignment_rec.assignment_type = 'OPEN_ASSIGNMENT' THEN
141:
142: --Log Message
143: IF P_DEBUG_MODE = 'Y' THEN /* Added Debug Profile Option Check for bug#2674619 */
144: PA_DEBUG.write_log (x_module => 'pa.plsql.PA_ASSIGNMENTS_PVT.Create_Assignment.create_open'
145: ,x_msg => 'Calling Create Requirement'
146: ,x_log_level => 5);
147: END IF;
148:
165: ,x_return_status => x_return_status
166: );
167:
168: IF P_DEBUG_MODE = 'Y' THEN
169: pa_debug.write(x_module => 'pa.plsql.PA_ASSIGNMENTS_PVT.Create_Assignment'
170: ,x_msg => 'after open_asgn_pvt.create, status = '||x_return_status
171: ,x_log_level => li_message_level);
172: END IF;
173:
173:
174: ELSE
175: --Log Message
176: IF P_DEBUG_MODE = 'Y' THEN /* Added Debug Profile Option Check for bug#2674619 */
177: PA_DEBUG.write_log (x_module => 'pa.plsql.PA_ASSIGNMENTS_PVT.Create_Assignment.create_staff'
178: ,x_msg => 'Calling Create Assignment'
179: ,x_log_level => 5);
180:
181: END IF;
232: IF (p_project_subteam_id IS NOT NULL AND p_project_subteam_id <> FND_API.G_MISS_NUM) THEN
233:
234: --Log Message
235: IF P_DEBUG_MODE = 'Y' THEN /* Added Debug Profile Option Check for bug#2674619 */
236: PA_DEBUG.write_log (x_module => 'pa.plsql.PA_ASSIGNMENTS_PVT.Create_Assignment.create_subteam_party'
237: ,x_msg => 'Calling Create Assignment'
238: ,x_log_level => 5);
239: END IF;
240:
264: IF get_subteam_id_rec.project_subteam_id IS NOT NULL THEN
265:
266: --Log Message
267: IF P_DEBUG_MODE = 'Y' THEN /* Added Debug Profile Option Check for bug#2674619 */
268: PA_DEBUG.write_log (x_module => 'pa.plsql.PA_ASSIGNMENTS_PVT.Create_Assignment.create_subteam_party'
269: ,x_msg => 'Calling Create Assignment'
270: ,x_log_level => 5);
271: END IF;
272:
310: END IF;
311:
312: --Log Message
313: IF P_DEBUG_MODE = 'Y' THEN /* Added Debug Profile Option Check for bug#2674619 */
314: PA_DEBUG.write_log (x_module => 'pa.plsql.PA_ASSIGNMENTS_PVT.Create_Assignment.add_asgmt_effort'
315: ,x_msg => 'Adding Assignment Effort.'
316: ,x_log_level => 5);
317: END IF;
318:
337:
338: END IF; --checking there are any new assignments ids
339:
340: -- Reset the error stack when returning to the calling program
341: PA_DEBUG.Reset_Err_Stack;
342:
343: -- If g_error_exists is TRUE then set the x_return_status to 'E'
344:
345: IF PA_ASSIGNMENTS_PUB.g_error_exists = FND_API.G_TRUE THEN
359: -- ENd : 4537865
360:
361: -- Set the excetption Message and the stack
362: FND_MSG_PUB.add_exc_msg ( p_pkg_name => 'PA_ASSIGNMENTS_PVT.Create_Assignment'
363: ,p_procedure_name => PA_DEBUG.G_Err_Stack );
364: --
365: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR ;
366: RAISE;
367: END Create_Assignment;
400:
401: --dbms_output.put_line('Beginning PVTB Update_Assignment');
402:
403: -- Initialize the Error Stack
404: PA_DEBUG.init_err_stack('PA_ASSIGNMENTS_PVT.Update_Assignment');
405:
406: --Log Message
407: IF P_DEBUG_MODE = 'Y' THEN /* Added Debug Profile Option Check for bug#2674619 */
408: PA_DEBUG.write_log (x_module => 'pa.plsql.PA_ASSIGNMENTS_PVT.Update_Assignment.begin'
404: PA_DEBUG.init_err_stack('PA_ASSIGNMENTS_PVT.Update_Assignment');
405:
406: --Log Message
407: IF P_DEBUG_MODE = 'Y' THEN /* Added Debug Profile Option Check for bug#2674619 */
408: PA_DEBUG.write_log (x_module => 'pa.plsql.PA_ASSIGNMENTS_PVT.Update_Assignment.begin'
409: ,x_msg => 'Beginning of PVT Update_Assignment'
410: ,x_log_level => 5);
411: END IF;
412:
424: (p_assignment_rec.assignment_id IS NOT NULL AND p_assignment_rec.assignment_id <>FND_API.G_MISS_NUM) THEN
425:
426: --Log Message
427: IF P_DEBUG_MODE = 'Y' THEN /* Added Debug Profile Option Check for bug#2674619 */
428: PA_DEBUG.write_log (x_module => 'pa.plsql.PA_ASSIGNMENTS_PVT.Update_Assignment.update_subteam_party'
429: ,x_msg => 'Calling Update_SPT_Assgn for subteam party.'
430: ,x_log_level => 5);
431: END IF;
432: PA_PROJECT_SUBTEAM_PARTIES_PVT.Update_SPT_Assgn
495:
496: IF l_assignment_rec.assignment_type = 'OPEN_ASSIGNMENT' THEN
497: --Log Message
498: IF P_DEBUG_MODE = 'Y' THEN /* Added Debug Profile Option Check for bug#2674619 */
499: PA_DEBUG.write_log (x_module => 'pa.plsql.PA_ASSIGNMENTS_PVT.Update_Assignment.update_open'
500: ,x_msg => 'Calling update requirement.'
501: ,x_log_level => 5);
502: END IF;
503:
513: ELSE
514:
515: --Log Message
516: IF P_DEBUG_MODE = 'Y' THEN /* Added Debug Profile Option Check for bug#2674619 */
517: PA_DEBUG.write_log (x_module => 'pa.plsql.PA_ASSIGNMENTS_PVT.Update_Assignment.update_staff'
518: ,x_msg => 'Calling update assignment.'
519: ,x_log_level => 5);
520: END IF;
521:
530: );
531: END IF;
532:
533: -- Reset the error stack when returning to the calling program
534: PA_DEBUG.Reset_Err_Stack;
535:
536: -- If g_error_exists is TRUE then set the x_return_status to 'E'
537:
538: IF PA_ASSIGNMENTS_PUB.g_error_exists = FND_API.G_TRUE THEN
546: WHEN OTHERS THEN
547:
548: -- Set the excetption Message and the stack
549: FND_MSG_PUB.add_exc_msg ( p_pkg_name => 'PA_ASSIGNMENTS_PVT.Update_Assignment'
550: ,p_procedure_name => PA_DEBUG.G_Err_Stack );
551: --
552: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR ;
553: RAISE;
554: END Update_Assignment;
633:
634: BEGIN
635:
636: -- Initialize the Error Stack
637: PA_DEBUG.init_err_stack('PA_ASSIGNMENTS_PVT.Delete_Assignment');
638:
639: -- Initialize the return status to success
640: x_return_status := FND_API.G_RET_STS_SUCCESS;
641:
640: x_return_status := FND_API.G_RET_STS_SUCCESS;
641:
642: --Log Message
643: IF P_DEBUG_MODE = 'Y' THEN /* Added Debug Profile Option Check for bug#2674619 */
644: PA_DEBUG.write_log (x_module => 'pa.plsql.PA_ASSIGNMENTS_PVT.Delete_Assignment.begin'
645: ,x_msg => 'Beginning of Delete_Assignment.'
646: ,x_log_level => 5);
647: END IF;
648:
650: IF (p_assignment_id IS NOT NULL AND p_assignment_id <>FND_API.G_MISS_NUM) THEN
651:
652: --Log Message
653: IF P_DEBUG_MODE = 'Y' THEN /* Added Debug Profile Option Check for bug#2674619 */
654: PA_DEBUG.write_log (x_module => 'pa.plsql.PA_ASSIGNMENTS_PVT.Delete_Assignment.delete_subteam_party'
655: ,x_msg => 'Deleting subteam party'
656: ,x_log_level => 5);
657: END IF;
658: PA_PROJECT_SUBTEAM_PARTIES_PVT.Delete_SubteamParty_By_Obj
673: END IF;
674:
675: --Bug 6330317
676: IF P_DEBUG_MODE = 'Y' THEN
677: PA_DEBUG.write_log (x_module => 'pa.plsql.PA_ASSIGNMENTS_PVT.Delete_Assignment.delete_rows'
678: ,x_msg => 'Deleting Conflict History Information'
679: ,x_log_level => 5);
680: END IF;
681:
721: IF p_assignment_type = 'OPEN_ASSIGNMENT' THEN
722:
723: --Log Message
724: IF P_DEBUG_MODE = 'Y' THEN /* Added Debug Profile Option Check for bug#2674619 */
725: PA_DEBUG.write_log (x_module => 'pa.plsql.PA_ASSIGNMENTS_PVT.Delete_Assignment.delete_open'
726: ,x_msg => 'Deleting Requirement'
727: ,x_log_level => 5);
728: END IF;
729:
740: ELSE
741:
742: --Log Message
743: IF P_DEBUG_MODE = 'Y' THEN /* Added Debug Profile Option Check for bug#2674619 */
744: PA_DEBUG.write_log (x_module => 'pa.plsql.PA_ASSIGNMENTS_PVT.Delete_Assignment.delete_staff'
745: ,x_msg => 'Deleting Assignment'
746: ,x_log_level => 5);
747: END IF;
748:
759: END IF;
760:
761: -- FP.M Development
762: IF P_DEBUG_MODE = 'Y' THEN /* Added Debug Profile Option Check for bug#2674619 */
763: PA_DEBUG.write_log (x_module => 'pa.plsql.PA_ASSIGNMENTS_PVT.Delete_Assignment.delete_staff'
764: ,x_msg => 'Call Update_Task_Assignments'
765: ,x_log_level => 5);
766: END IF;
767:
817: END IF;
818: */
819:
820: -- Reset the error stack when returning to the calling program
821: PA_DEBUG.Reset_Err_Stack;
822:
823: -- If g_error_exists is TRUE then set the x_return_status to 'E'
824:
825: IF PA_ASSIGNMENTS_PUB.g_error_exists = FND_API.G_TRUE THEN
833: WHEN OTHERS THEN
834:
835: -- Set the excetption Message and the stack
836: FND_MSG_PUB.add_exc_msg ( p_pkg_name => 'PA_ASSIGNMENTS_PVT.Delete_Assignment'
837: ,p_procedure_name => PA_DEBUG.G_Err_Stack );
838: --
839: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR ;
840: RAISE;
841: END Delete_Assignment;
854: ,x_return_status OUT NOCOPY VARCHAR2 ) --File.Sql.39 bug 4440895
855: IS
856: BEGIN
857:
858: PA_DEBUG.init_err_stack('PA_ASSIGNMENTS_PVT.Update_Revenue_Bill_Rate');
859:
860: x_return_status := FND_API.G_RET_STS_SUCCESS;
861:
862: IF p_assignment_id_tbl.COUNT > 0 THEN
938:
939: BEGIN
940:
941: if p_debug_mode = 'Y' THEN
942: pa_debug.write('PA_ASSIGNMENT_PVT.Calc_Init_Transfer_Price', 'Calling PA_CC_TRANSFER_PRICE.Get_Initial_Transfer_Price' , 3);
943: end if;
944:
945: /* Calling get_initial_transfer_price to get the transfer_price_rate and transfer_price_rate */
946:
966: lx_transfer_pr_rate_curr := NULL;
967: END;
968:
969: if p_debug_mode = 'Y' THEN
970: pa_debug.write('PA_ASSIGNMENT_PVT.Calc_Init_Transfer_Price','The starting date as in forecast items table:'||l_start_date, 3);
971: end if;
972:
973: IF l_start_date IS NOT NULL THEN
974:
972:
973: IF l_start_date IS NOT NULL THEN
974:
975: IF P_DEBUG_MODE = 'Y' THEN
976: pa_debug.write(x_module => 'pa.plsql.PA_ASSIGNMENTS_PVT.Calc_Init_Transfer_Price'
977: ,x_msg => 'asgmt_id='||p_assignment_id||
978: ' start_date='||l_start_date||
979: ' debug_mod='||p_debug_mode
980: ,x_log_level => li_message_level);
991: ,x_msg_count => x_msg_count
992: );
993:
994: if p_debug_mode = 'Y' THEN
995: pa_debug.write('PA_ASSIGNMENT_PVT.Calc_Init_Transfer_Price',' Out of PA_CC_TRANSFER_PRICE.Get_Initial_Transfer_Price', 3);
996: pa_debug.write('PA_ASSIGNMENT_PVT.Calc_Init_Transfer_Price','status is :'||x_return_status||' : x_msg_count:'||x_msg_count, 3);
997: pa_debug.write('PA_ASSIGNMENT_PVT.Calc_Init_Transfer_Price','Transfer Price Rate:'||lx_transfer_price_rate, 3);
998: pa_debug.write('PA_ASSIGNMENT_PVT.Calc_Init_Transfer_Price','Transfer Price Rate curr:'||lx_transfer_pr_rate_curr, 3);
999: end if;
992: );
993:
994: if p_debug_mode = 'Y' THEN
995: pa_debug.write('PA_ASSIGNMENT_PVT.Calc_Init_Transfer_Price',' Out of PA_CC_TRANSFER_PRICE.Get_Initial_Transfer_Price', 3);
996: pa_debug.write('PA_ASSIGNMENT_PVT.Calc_Init_Transfer_Price','status is :'||x_return_status||' : x_msg_count:'||x_msg_count, 3);
997: pa_debug.write('PA_ASSIGNMENT_PVT.Calc_Init_Transfer_Price','Transfer Price Rate:'||lx_transfer_price_rate, 3);
998: pa_debug.write('PA_ASSIGNMENT_PVT.Calc_Init_Transfer_Price','Transfer Price Rate curr:'||lx_transfer_pr_rate_curr, 3);
999: end if;
1000:
993:
994: if p_debug_mode = 'Y' THEN
995: pa_debug.write('PA_ASSIGNMENT_PVT.Calc_Init_Transfer_Price',' Out of PA_CC_TRANSFER_PRICE.Get_Initial_Transfer_Price', 3);
996: pa_debug.write('PA_ASSIGNMENT_PVT.Calc_Init_Transfer_Price','status is :'||x_return_status||' : x_msg_count:'||x_msg_count, 3);
997: pa_debug.write('PA_ASSIGNMENT_PVT.Calc_Init_Transfer_Price','Transfer Price Rate:'||lx_transfer_price_rate, 3);
998: pa_debug.write('PA_ASSIGNMENT_PVT.Calc_Init_Transfer_Price','Transfer Price Rate curr:'||lx_transfer_pr_rate_curr, 3);
999: end if;
1000:
1001: /* Call to update_Transfer_Price to udpate the transfer_price_Rate and transfer_pr_rate_curr only if no error */
994: if p_debug_mode = 'Y' THEN
995: pa_debug.write('PA_ASSIGNMENT_PVT.Calc_Init_Transfer_Price',' Out of PA_CC_TRANSFER_PRICE.Get_Initial_Transfer_Price', 3);
996: pa_debug.write('PA_ASSIGNMENT_PVT.Calc_Init_Transfer_Price','status is :'||x_return_status||' : x_msg_count:'||x_msg_count, 3);
997: pa_debug.write('PA_ASSIGNMENT_PVT.Calc_Init_Transfer_Price','Transfer Price Rate:'||lx_transfer_price_rate, 3);
998: pa_debug.write('PA_ASSIGNMENT_PVT.Calc_Init_Transfer_Price','Transfer Price Rate curr:'||lx_transfer_pr_rate_curr, 3);
999: end if;
1000:
1001: /* Call to update_Transfer_Price to udpate the transfer_price_Rate and transfer_pr_rate_curr only if no error */
1002:
1002:
1003: IF x_return_status = FND_API.G_RET_STS_SUCCESS THEN
1004:
1005: IF p_debug_mode = 'Y' THEN
1006: pa_debug.write('PA_ASSIGNMENT_PVT.Calc_Init_Transfer_Price',' Calling update_transfer_price with proper Values', 3);
1007: END IF;
1008:
1009: PA_ASSIGNMENTS_PVT.Update_Transfer_Price
1010: (
1016:
1017: END IF;
1018:
1019: if p_debug_mode = 'Y' THEN
1020: pa_debug.write('PA_ASSIGNMENT_PVT.Calc_Init_Transfer_Price',' Out of update_transfer_price', 3);
1021: pa_debug.write('PA_ASSIGNMENT_PVT.Calc_Init_Transfer_Price',' x_return_status: '||x_return_status, 3);
1022: end if;
1023:
1024: END IF;
1017: END IF;
1018:
1019: if p_debug_mode = 'Y' THEN
1020: pa_debug.write('PA_ASSIGNMENT_PVT.Calc_Init_Transfer_Price',' Out of update_transfer_price', 3);
1021: pa_debug.write('PA_ASSIGNMENT_PVT.Calc_Init_Transfer_Price',' x_return_status: '||x_return_status, 3);
1022: end if;
1023:
1024: END IF;
1025: -- 4537865 : Included Exception Block
1151:
1152: IF l_task_assignment_id_tbl.COUNT <> 0 THEN
1153:
1154: IF P_DEBUG_MODE = 'Y' THEN
1155: pa_debug.write(x_module => 'pa.plsql.PA_ASSIGNMENTS_PVT.Update_Task_Assignments'
1156: ,x_msg => 'l_task_assignment_id_tbl.COUNT='||l_task_assignment_id_tbl.COUNT
1157: ,x_log_level => li_message_level);
1158: END IF;
1159:
1168:
1169: FOR j IN l_task_assignment_id_tbl.FIRST .. l_task_assignment_id_tbl.LAST + 1 LOOP
1170:
1171: IF P_DEBUG_MODE = 'Y' THEN
1172: pa_debug.write(x_module => 'pa.plsql.PA_ASSIGNMENTS_PVT.Update_Task_Assignments'
1173: ,x_msg => 'inside loop'
1174: ,x_log_level => li_message_level);
1175: END IF;
1176:
1177: IF j = l_task_assignment_id_tbl.LAST + 1
1178: OR l_budget_version_id_tbl(j) <> l_last_bvid THEN
1179:
1180: IF P_DEBUG_MODE = 'Y' THEN
1181: pa_debug.write(x_module => 'pa.plsql.PA_ASSIGNMENTS_PVT.Update_Task_Assignments'
1182: ,x_msg => 'prepare to call'
1183: ,x_log_level => li_message_level);
1184: END IF;
1185:
1219: l_rate_func_curr_code_tbl.extend(l_update_task_asgmt_id_tbl.COUNT);
1220: l_rate_incurred_by_org_id_tbl.extend(l_update_task_asgmt_id_tbl.COUNT);
1221:
1222: IF P_DEBUG_MODE = 'Y' THEN
1223: pa_debug.write(x_module => 'pa.plsql.PA_ASSIGNMENTS_PVT.Update_Task_Assignments'
1224: ,x_msg => 'struct_version_id='||l_last_struct_version_id||
1225: ' bvid='||l_last_bvid
1226: ,x_log_level => li_message_level);
1227: END IF;
1264: l_rate_func_curr_code_tbl(i) := p_rate_func_curr_code;
1265: l_rate_incurred_by_org_id_tbl(i) := p_rate_incurred_by_org_id;
1266:
1267: IF P_DEBUG_MODE = 'Y' THEN
1268: pa_debug.write(x_module => 'pa.plsql.PA_ASSIGNMENTS_PVT.Update_Task_Assignments'
1269: ,x_msg => 'i='||i||'version id='||l_update_task_version_id_tbl(i)||
1270: ' task_id='||l_update_task_asgmt_id_tbl(i)||
1271: ' asgmt_id='||l_project_assignment_id_tbl(i)||
1272: ' rlm='||l_resource_list_member_id_tbl(i)
1271: ' asgmt_id='||l_project_assignment_id_tbl(i)||
1272: ' rlm='||l_resource_list_member_id_tbl(i)
1273: ,x_log_level => li_message_level);
1274:
1275: pa_debug.write(x_module => 'pa.plsql.PA_ASSIGNMENTS_PVT.Update_Task_Assignments'
1276: ,x_msg => 'i='||i||'res_class_flag='||l_resource_class_flag_tbl(i)||
1277: ' res_class_code='||l_resource_class_code_tbl(i)||
1278: ' res_class_id='||l_resource_class_id_tbl(i)||
1279: ' res_type_code='||l_res_type_code_tbl(i)||
1279: ' res_type_code='||l_res_type_code_tbl(i)||
1280: ' person_id='||l_person_id_tbl(i)
1281: ,x_log_level => li_message_level);
1282:
1283: pa_debug.write(x_module => 'pa.plsql.PA_ASSIGNMENTS_PVT.Update_Task_Assignments'
1284: ,x_msg => 'i='||i||'job_id='||l_job_id_tbl(i)||
1285: ' person_type_code='||l_person_type_code_tbl(i)||
1286: ' named_role='||l_named_role_tbl(i)||
1287: ' bom_res_id='||l_bom_resource_id_tbl(i)||
1287: ' bom_res_id='||l_bom_resource_id_tbl(i)||
1288: ' non_labor_res='||l_non_labor_resource_tbl(i)
1289: ,x_log_level => li_message_level);
1290:
1291: pa_debug.write(x_module => 'pa.plsql.PA_ASSIGNMENTS_PVT.Update_Task_Assignments'
1292: ,x_msg => 'i='||i||'inven_item='||l_inventory_item_id_tbl(i)||
1293: ' item_cat_id='||l_item_category_id_tbl(i)||
1294: ' proj_role_id='||l_project_role_id_tbl(i)||
1295: ' org_id='||l_organization_id_tbl(i)||
1296: ' fc_res_type='||l_fc_res_type_code_tbl(i)||
1297: ' exp_type='||l_expenditure_type_tbl(i)
1298: ,x_log_level => li_message_level);
1299:
1300: pa_debug.write(x_module => 'pa.plsql.PA_ASSIGNMENTS_PVT.Update_Task_Assignments'
1301: ,x_msg => 'i='||i||'exp_cat='||l_expenditure_category_tbl(i)||
1302: ' event_type='||l_event_type_tbl(i)||
1303: ' rev_cat_code='||l_revenue_category_code_tbl(i)||
1304: ' supplier_id='||l_supplier_id_tbl(i)||
1304: ' supplier_id='||l_supplier_id_tbl(i)||
1305: ' spread_curve='||l_spread_curve_id_tbl(i)
1306: ,x_log_level => li_message_level);
1307:
1308: pa_debug.write(x_module => 'pa.plsql.PA_ASSIGNMENTS_PVT.Update_Task_Assignments'
1309: ,x_msg => 'i='||i||'etc_method_code='||l_etc_method_code_tbl(i)||
1310: ' mfc_cost_type='||l_mfc_cost_type_id_tbl(i)||
1311: ' inc_by_res_flag='||l_incurred_by_res_flag_tbl(i)||
1312: ' inc_by_res_class='||l_incur_by_res_class_code_tbl(i)||
1327: p_user_id => FND_GLOBAL.USER_ID,
1328: p_structure_version_id => l_last_struct_version_id);
1329:
1330: IF P_DEBUG_MODE = 'Y' THEN
1331: pa_debug.write(x_module => 'pa.plsql.PA_ASSIGNMENTS_PVT.Update_Task_Assignments'
1332: ,x_msg => 'l_edit_task_ok='||l_edit_task_ok
1333: ,x_log_level => li_message_level);
1334: END IF;
1335:
1385: ,x_msg_data => l_msg_data
1386: ,x_msg_count => l_msg_count);
1387:
1388: IF P_DEBUG_MODE = 'Y' THEN
1389: pa_debug.write(x_module => 'pa.plsql.PA_ASSIGNMENTS_PVT.Update_Task_Assignments'
1390: ,x_msg => 'return status'||l_return_status
1391: ,x_log_level => li_message_level);
1392: END IF;
1393:
1396:
1397: -- bug 4117269: Remove the error messages added by the above API
1398: l_msg_count2 := FND_MSG_PUB.Count_Msg;
1399: IF P_DEBUG_MODE = 'Y' THEN
1400: pa_debug.write(x_module => 'pa.plsql.PA_ASSIGNMENTS_PVT.Update_Task_Assignments'
1401: ,x_msg => ' count1='||l_msg_count1||
1402: ' count2='||l_msg_count2
1403: ,x_log_level => li_message_level);
1404: END IF;
1404: END IF;
1405:
1406: FOR k IN (l_msg_count1 + 1)..l_msg_count2 LOOP
1407: IF P_DEBUG_MODE = 'Y' THEN
1408: pa_debug.write(x_module => 'pa.plsql.PA_ASSIGNMENTS_PVT.Update_Task_Assignments'
1409: ,x_msg => 'Deleting message at index: ' || FND_MSG_PUB.Count_Msg
1410: ,x_log_level => li_message_level);
1411: END IF;
1412: FND_MSG_PUB.delete_msg(p_msg_index => FND_MSG_PUB.Count_Msg);
1484: END IF; -- budget_version_id different
1485:
1486: IF j <> l_task_assignment_id_tbl.LAST + 1 THEN
1487: IF P_DEBUG_MODE = 'Y' THEN
1488: pa_debug.write(x_module => 'pa.plsql.PA_ASSIGNMENTS_PVT.Update_Task__Assignments'
1489: ,x_msg => 'j <> l_task_assignment_id_tbl.LAST + 1'
1490: ,x_log_level => li_message_level);
1491: END IF;
1492:
1505:
1506: x_return_status := l_overall_return_status;
1507:
1508: -- Reset the error stack when returning to the calling program
1509: PA_DEBUG.Reset_err_stack;
1510:
1511: EXCEPTION
1512: WHEN OTHERS THEN
1513:
1512: WHEN OTHERS THEN
1513:
1514: -- Set the excetption Message and the stack
1515: FND_MSG_PUB.add_exc_msg ( p_pkg_name => 'PA_ASSIGNMENTS_PVT.Update_Task_Assignments'
1516: ,p_procedure_name => PA_DEBUG.G_Err_Stack );
1517: --
1518: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
1519: RAISE; -- This is optional depending on the needs
1520: