75: WHILE l_cnt < p_msg_count
76: LOOP
77: Fnd_Msg_Pub.Get
78: (p_msg_index => l_cnt + 1,
79: p_encoded => Fnd_Api.G_FALSE,
80: p_data => l_msg_data,
81: p_msg_index_out => l_msg_index );
82: l_final_data := l_final_data ||l_msg_index||': '
83: ||l_msg_data||Fnd_Global.local_chr(10) ;
138: FROM ams_user_statuses_vl
139: WHERE user_status_id = l_user_stat_id ;
140:
141: BEGIN
142: x_return_status := Fnd_Api.G_RET_STS_SUCCESS;
143: OPEN c_sys_stat(p_next_stat_id) ;
144: FETCH c_sys_stat INTO p_next_stat_code ;
145: CLOSE c_sys_stat ;
146: /*AMS_Utility_PVT.create_log(x_return_status => l_return_stat,
268: FROM ams_jtf_rs_emp_v
269: WHERE resource_id = p_user ;
270:
271: BEGIN
272: x_return_status := Fnd_Api.G_RET_STS_SUCCESS;
273: OPEN c_resource ;
274: FETCH c_resource INTO l_user, l_resource_name ;
275: IF c_resource%NOTFOUND THEN
276: CLOSE c_resource ;
276: CLOSE c_resource ;
277: Fnd_Message.Set_Name('AMS','AMS_API_DEBUG_MESSAGE');
278: Fnd_Message.Set_Token('ROW', SQLERRM );
279: Fnd_Msg_Pub.ADD;
280: x_return_status := Fnd_Api.G_RET_STS_ERROR;
281: RETURN;
282: END IF;
283: CLOSE c_resource ;
284:
286: IF l_user IS NULL THEN
287: Fnd_Message.Set_Name('AMS','AMS_RESOURCE_HAS_NO_USER');
288: Fnd_Message.Set_Token('RESOURCE', l_resource_name );
289: Fnd_Msg_Pub.ADD;
290: x_return_status := Fnd_Api.G_RET_STS_ERROR;
291: RETURN;
292: END IF;
293:
294: -- Note API to Update Approval Notes
293:
294: -- Note API to Update Approval Notes
295: /*AMS_ObjectAttribute_PVT.modify_object_attribute(
296: p_api_version => 1.0,
297: p_init_msg_list => FND_API.g_false,
298: p_commit => FND_API.g_false,
299: p_validation_level => FND_API.g_valid_level_full,
300: x_return_status => x_return_status,
301: x_msg_count => x_msg_count,
294: -- Note API to Update Approval Notes
295: /*AMS_ObjectAttribute_PVT.modify_object_attribute(
296: p_api_version => 1.0,
297: p_init_msg_list => FND_API.g_false,
298: p_commit => FND_API.g_false,
299: p_validation_level => FND_API.g_valid_level_full,
300: x_return_status => x_return_status,
301: x_msg_count => x_msg_count,
302: x_msg_data => x_msg_data,
295: /*AMS_ObjectAttribute_PVT.modify_object_attribute(
296: p_api_version => 1.0,
297: p_init_msg_list => FND_API.g_false,
298: p_commit => FND_API.g_false,
299: p_validation_level => FND_API.g_valid_level_full,
300: x_return_status => x_return_status,
301: x_msg_count => x_msg_count,
302: x_msg_data => x_msg_data,
303: p_object_type => p_activity_type,
304: p_object_id => p_activity_id ,
305: p_attr => 'NOTE',
306: p_attr_defined_flag => 'Y'
307: );
308: IF x_return_status <> FND_API.G_RET_STS_SUCCESS THEN
309: FND_MESSAGE.Set_Name('AMS','AMS_API_DEBUG_MESSAGE');
310: FND_MESSAGE.Set_Token('ROW', SQLERRM );
311: FND_MSG_PUB.Add;
312: x_return_status := FND_API.G_RET_STS_ERROR;
308: IF x_return_status <> FND_API.G_RET_STS_SUCCESS THEN
309: FND_MESSAGE.Set_Name('AMS','AMS_API_DEBUG_MESSAGE');
310: FND_MESSAGE.Set_Token('ROW', SQLERRM );
311: FND_MSG_PUB.Add;
312: x_return_status := FND_API.G_RET_STS_ERROR;
313: return;
314: END IF;
315: */
316:
329: x_jtf_note_id => l_id ,
330: p_note_type => 'AMS_APPROVAL' ,
331: p_last_update_date => SYSDATE ,
332: p_creation_date => SYSDATE ) ;
333: IF x_return_status <> Fnd_Api.G_RET_STS_SUCCESS THEN
334: Fnd_Message.Set_Name('AMS','AMS_API_DEBUG_MESSAGE');
335: Fnd_Message.Set_Token('ROW', SQLERRM );
336: Fnd_Msg_Pub.ADD;
337: x_return_status := Fnd_Api.G_RET_STS_ERROR;
333: IF x_return_status <> Fnd_Api.G_RET_STS_SUCCESS THEN
334: Fnd_Message.Set_Name('AMS','AMS_API_DEBUG_MESSAGE');
335: Fnd_Message.Set_Token('ROW', SQLERRM );
336: Fnd_Msg_Pub.ADD;
337: x_return_status := Fnd_Api.G_RET_STS_ERROR;
338: RETURN;
339: END IF;
340: /*AMS_Utility_PVT.create_log(x_return_status => l_return_stat,
341: p_arc_log_used_by => 'AMS Markeing Approval',
375: FROM ams_jtf_rs_emp_v
376: WHERE resource_id = p_user ;
377:
378: BEGIN
379: x_return_status := Fnd_Api.G_RET_STS_SUCCESS;
380: OPEN c_resource ;
381: FETCH c_resource INTO l_user ;
382: IF c_resource%NOTFOUND THEN
383: CLOSE c_resource ;
383: CLOSE c_resource ;
384: Fnd_Message.Set_Name('AMS','AMS_API_DEBUG_MESSAGE');
385: Fnd_Message.Set_Token('ROW', SQLERRM );
386: Fnd_Msg_Pub.ADD;
387: x_return_status := Fnd_Api.G_RET_STS_ERROR;
388: RETURN;
389: END IF;
390: CLOSE c_resource ;
391: -- Note API to Update Approval Notes
390: CLOSE c_resource ;
391: -- Note API to Update Approval Notes
392: Ams_Objectattribute_Pvt.modify_object_attribute(
393: p_api_version => 1.0,
394: p_init_msg_list => Fnd_Api.g_false,
395: p_commit => Fnd_Api.g_false,
396: p_validation_level => Fnd_Api.g_valid_level_full,
397: x_return_status => x_return_status,
398: x_msg_count => x_msg_count,
391: -- Note API to Update Approval Notes
392: Ams_Objectattribute_Pvt.modify_object_attribute(
393: p_api_version => 1.0,
394: p_init_msg_list => Fnd_Api.g_false,
395: p_commit => Fnd_Api.g_false,
396: p_validation_level => Fnd_Api.g_valid_level_full,
397: x_return_status => x_return_status,
398: x_msg_count => x_msg_count,
399: x_msg_data => x_msg_data,
392: Ams_Objectattribute_Pvt.modify_object_attribute(
393: p_api_version => 1.0,
394: p_init_msg_list => Fnd_Api.g_false,
395: p_commit => Fnd_Api.g_false,
396: p_validation_level => Fnd_Api.g_valid_level_full,
397: x_return_status => x_return_status,
398: x_msg_count => x_msg_count,
399: x_msg_data => x_msg_data,
400: p_object_type => p_activity_type,
401: p_object_id => p_activity_id ,
402: p_attr => 'NOTE',
403: p_attr_defined_flag => 'Y'
404: );
405: IF x_return_status <> Fnd_Api.G_RET_STS_SUCCESS THEN
406: Fnd_Message.Set_Name('AMS','AMS_API_DEBUG_MESSAGE');
407: Fnd_Message.Set_Token('ROW', SQLERRM );
408: Fnd_Msg_Pub.ADD;
409: x_return_status := Fnd_Api.G_RET_STS_ERROR;
405: IF x_return_status <> Fnd_Api.G_RET_STS_SUCCESS THEN
406: Fnd_Message.Set_Name('AMS','AMS_API_DEBUG_MESSAGE');
407: Fnd_Message.Set_Token('ROW', SQLERRM );
408: Fnd_Msg_Pub.ADD;
409: x_return_status := Fnd_Api.G_RET_STS_ERROR;
410: RETURN;
411: END IF;
412:
413: Jtf_Notes_Pub.Create_note
425: x_jtf_note_id => l_id ,
426: p_note_type => 'AMS_FREQ' ,
427: p_last_update_date => SYSDATE ,
428: p_creation_date => SYSDATE ) ;
429: IF x_return_status <> Fnd_Api.G_RET_STS_SUCCESS THEN
430: Fnd_Message.Set_Name('AMS','AMS_API_DEBUG_MESSAGE');
431: Fnd_Message.Set_Token('ROW', SQLERRM );
432: Fnd_Msg_Pub.ADD;
433: x_return_status := Fnd_Api.G_RET_STS_ERROR;
429: IF x_return_status <> Fnd_Api.G_RET_STS_SUCCESS THEN
430: Fnd_Message.Set_Name('AMS','AMS_API_DEBUG_MESSAGE');
431: Fnd_Message.Set_Token('ROW', SQLERRM );
432: Fnd_Msg_Pub.ADD;
433: x_return_status := Fnd_Api.G_RET_STS_ERROR;
434: RETURN;
435: END IF;
436: /*AMS_Utility_PVT.create_log(x_return_status => l_return_stat,
437: p_arc_log_used_by => 'AMS Markeing Approval',
471: p_arc_log_used_by => 'AMS Markeing Approval',
472: p_log_used_by_id => 0,
473: p_msg_data => 'Get_User_Name: p_user_id' || p_user_id); */
474:
475: x_return_status := Fnd_Api.G_RET_STS_SUCCESS;
476: OPEN c_resource ;
477: FETCH c_resource INTO x_full_name ;
478: IF c_resource%NOTFOUND THEN
479: CLOSE c_resource ;
476: OPEN c_resource ;
477: FETCH c_resource INTO x_full_name ;
478: IF c_resource%NOTFOUND THEN
479: CLOSE c_resource ;
480: x_return_status := Fnd_Api.G_RET_STS_ERROR;
481: Fnd_Message.Set_Name('AMS','AMS_APPR_INVALID_RESOURCE_ID');
482: Fnd_Msg_Pub.ADD;
483: RETURN;
484: END IF;
499: x_resource_disp_name OUT NOCOPY VARCHAR2,
500: x_return_status OUT NOCOPY VARCHAR2)
501:
502: IS
503: l_return_status VARCHAR2(1) := Fnd_Api.G_RET_STS_SUCCESS;
504: l_email VARCHAR2(360);
505: l_notif_pref VARCHAR2(30);
506: l_language VARCHAR2(30);
507: l_territory VARCHAR2(30);
524:
525: OPEN c_res_details(p_responder);
526: FETCH c_res_details INTO x_resource_id;
527: IF c_res_details%NOTFOUND THEN
528: l_return_status := Fnd_Api.G_RET_STS_ERROR;
529: END IF;
530: CLOSE c_res_details;
531:
532: x_return_status := l_return_status;
540: l_forward_nid NUMBER;
541: l_responder VARCHAR2(320);
542: l_approver_id NUMBER;
543: l_appr_display_name VARCHAR2(360);
544: l_return_status VARCHAR2(1) := FND_API.G_RET_STS_SUCCESS;
545:
546: BEGIN
547:
548: l_forward_nid := Wf_Engine.GetItemAttrNumber(
558: x_resource_id => l_approver_id,
559: x_resource_disp_name => l_appr_display_name,
560: x_return_status => l_return_status);
561:
562: IF l_return_status = Fnd_Api.G_RET_STS_SUCCESS THEN
563:
564: -- Set the WF Attributes
565: wf_engine.SetItemAttrText( itemtype => itemtype,
566: itemkey => itemkey,
626: l_person_id NUMBER;
627: l_user_id NUMBER;
628: l_category VARCHAR2(30);
629: BEGIN
630: x_return_status := Fnd_Api.G_RET_STS_SUCCESS;
631: OPEN c_resource ;
632: FETCH c_resource INTO l_person_id , l_user_id, l_category;
633: IF c_resource%NOTFOUND THEN
634: CLOSE c_resource ;
631: OPEN c_resource ;
632: FETCH c_resource INTO l_person_id , l_user_id, l_category;
633: IF c_resource%NOTFOUND THEN
634: CLOSE c_resource ;
635: x_return_status := Fnd_Api.G_RET_STS_ERROR;
636: Fnd_Message.Set_Name('AMS','AMS_APPR_INVALID_RESOURCE_ID');
637: Fnd_Msg_Pub.ADD;
638: RETURN;
639: END IF;
645: p_orig_system_id => l_user_id ,
646: p_name => x_role_name,
647: p_display_name => x_role_display_name );
648: IF x_role_name IS NULL THEN
649: x_return_status := Fnd_Api.G_RET_STS_ERROR;
650: Fnd_Message.Set_Name('AMS','AMS_APPR_INVALID_ROLE');
651: Fnd_Msg_Pub.ADD;
652: RETURN;
653: END IF;
657: p_orig_system_id => l_person_id ,
658: p_name => x_role_name,
659: p_display_name => x_role_display_name );
660: IF x_role_name IS NULL THEN
661: x_return_status := Fnd_Api.G_RET_STS_ERROR;
662: Fnd_Message.Set_Name('AMS','AMS_APPR_INVALID_ROLE');
663: Fnd_Msg_Pub.ADD;
664: RETURN;
665: END IF;
690: l_msg_data VARCHAR2(4000);
691: l_error_msg VARCHAR2(4000);
692:
693: BEGIN
694: x_return_status := Fnd_Api.G_RET_STS_SUCCESS;
695: IF p_activity_type = 'CAMP' THEN
696:
697: OPEN l_obj_details FOR
698: SELECT A.campaign_name,
890: WHERE deliverable_id = p_activity_id;
891: ELSE
892: Fnd_Message.Set_Name('AMS','AMS_BAD_APPROVAL_OBJECT_TYPE');
893: Fnd_Msg_Pub.ADD;
894: x_return_status := Fnd_Api.G_RET_STS_ERROR;
895: RETURN;
896: END IF ;
897:
898: FETCH l_obj_details INTO x_object_details;
899: IF l_obj_details%NOTFOUND THEN
900: CLOSE l_obj_details;
901: Fnd_Message.Set_Name('AMS','AMS_APPR_BAD_DETAILS');
902: Fnd_Msg_Pub.ADD;
903: x_return_status := Fnd_Api.G_RET_STS_ERROR;
904: RETURN;
905: END IF;
906: CLOSE l_obj_details;
907:
914: x_return_status,
915: l_meaning
916: );
917:
918: IF x_return_status <> Fnd_Api.G_RET_STS_SUCCESS THEN
919: IF Fnd_Msg_Pub.check_msg_level(Fnd_Msg_Pub.G_MSG_LVL_ERROR) THEN
920: Fnd_Message.set_name('AMS', 'AMS_BAD_PRIORITY');
921: Fnd_Msg_Pub.ADD;
922: x_return_status := Fnd_Api.G_RET_STS_ERROR;
918: IF x_return_status <> Fnd_Api.G_RET_STS_SUCCESS THEN
919: IF Fnd_Msg_Pub.check_msg_level(Fnd_Msg_Pub.G_MSG_LVL_ERROR) THEN
920: Fnd_Message.set_name('AMS', 'AMS_BAD_PRIORITY');
921: Fnd_Msg_Pub.ADD;
922: x_return_status := Fnd_Api.G_RET_STS_ERROR;
923: RETURN;
924: END IF;
925: END IF;
926: x_object_details.priority_desc := l_meaning;
1051: BEGIN
1052: OPEN c_check_app;
1053: FETCH c_check_app INTO x_next_seq;
1054: IF c_check_app%NOTFOUND THEN
1055: x_required_flag := Fnd_Api.G_FALSE;
1056: ELSE
1057: x_required_flag := Fnd_Api.G_TRUE;
1058: END IF;
1059: CLOSE c_check_app;
1053: FETCH c_check_app INTO x_next_seq;
1054: IF c_check_app%NOTFOUND THEN
1055: x_required_flag := Fnd_Api.G_FALSE;
1056: ELSE
1057: x_required_flag := Fnd_Api.G_TRUE;
1058: END IF;
1059: CLOSE c_check_app;
1060: EXCEPTION
1061: WHEN OTHERS THEN
1165:
1166: l_count NUMBER;
1167:
1168: BEGIN
1169: x_return_status := Fnd_Api.G_RET_STS_SUCCESS;
1170: OPEN c_approver_info;
1171: FETCH c_approver_info INTO x_approver_id,
1172: x_approver_type,
1173: x_object_approver_id,
1181: CLOSE c_rule_name;
1182: Fnd_Message.Set_Name('AMS','AMS_NO_APPR_FOR_RULE');
1183: Fnd_Message.Set_Token('RULE_NAME',l_rule_name);
1184: Fnd_Msg_Pub.ADD;
1185: x_return_status := Fnd_Api.G_RET_STS_ERROR;
1186: RETURN;
1187: END IF;
1188:
1189: IF x_approver_type = 'ROLE' THEN
1194: CLOSE c_default_role_info ;
1195: Fnd_Message.Set_Name('AMS','AMS_NO_DEFAULT_ROLE'); -- VMODUR added
1196: --Fnd_Message.Set_Name('AMS','AMS_APPR_INVALID_ROLE');
1197: Fnd_Msg_Pub.ADD;
1198: x_return_status := Fnd_Api.G_RET_STS_ERROR;
1199: RETURN;
1200: END IF;
1201: CLOSE c_default_role_info ;
1202: END IF;
1207: CLOSE c_role_info_count;
1208: Fnd_Message.Set_Name('AMS','AMS_MANY_DEFAULT_ROLE'); -- VMODUR added
1209: --Fnd_Message.Set_Name('AMS','AMS_APPR_INVALID_ROLE');
1210: Fnd_Msg_Pub.ADD;
1211: x_return_status := Fnd_Api.G_RET_STS_ERROR;
1212: RETURN;
1213: END IF;
1214: CLOSE c_role_info_count;
1215: OPEN c_role_info;
1217: IF c_role_info%NOTFOUND THEN
1218: CLOSE c_role_info;
1219: Fnd_Message.Set_Name('AMS','AMS_APPR_INVALID_ROLE');
1220: Fnd_Msg_Pub.ADD;
1221: x_return_status := Fnd_Api.G_RET_STS_ERROR;
1222: RETURN;
1223: END IF;
1224: CLOSE c_role_info;
1225: END IF;
1271: l_msg_data VARCHAR2(4000);
1272: l_error_msg VARCHAR2(4000);
1273:
1274: l_amount NUMBER;
1275: l_business_unit_id NUMBER := Fnd_Api.G_MISS_NUM;
1276: l_org_id NUMBER := Fnd_Api.G_MISS_NUM;
1277: l_setup_type_id NUMBER := Fnd_Api.G_MISS_NUM;
1278: l_object_type VARCHAR2(30) := Fnd_Api.G_MISS_CHAR;
1279: l_priority VARCHAR2(30) := Fnd_Api.G_MISS_CHAR;
1272: l_error_msg VARCHAR2(4000);
1273:
1274: l_amount NUMBER;
1275: l_business_unit_id NUMBER := Fnd_Api.G_MISS_NUM;
1276: l_org_id NUMBER := Fnd_Api.G_MISS_NUM;
1277: l_setup_type_id NUMBER := Fnd_Api.G_MISS_NUM;
1278: l_object_type VARCHAR2(30) := Fnd_Api.G_MISS_CHAR;
1279: l_priority VARCHAR2(30) := Fnd_Api.G_MISS_CHAR;
1280: l_country_code VARCHAR2(30) := Fnd_Api.G_MISS_CHAR;
1273:
1274: l_amount NUMBER;
1275: l_business_unit_id NUMBER := Fnd_Api.G_MISS_NUM;
1276: l_org_id NUMBER := Fnd_Api.G_MISS_NUM;
1277: l_setup_type_id NUMBER := Fnd_Api.G_MISS_NUM;
1278: l_object_type VARCHAR2(30) := Fnd_Api.G_MISS_CHAR;
1279: l_priority VARCHAR2(30) := Fnd_Api.G_MISS_CHAR;
1280: l_country_code VARCHAR2(30) := Fnd_Api.G_MISS_CHAR;
1281: l_approver_id NUMBER;
1274: l_amount NUMBER;
1275: l_business_unit_id NUMBER := Fnd_Api.G_MISS_NUM;
1276: l_org_id NUMBER := Fnd_Api.G_MISS_NUM;
1277: l_setup_type_id NUMBER := Fnd_Api.G_MISS_NUM;
1278: l_object_type VARCHAR2(30) := Fnd_Api.G_MISS_CHAR;
1279: l_priority VARCHAR2(30) := Fnd_Api.G_MISS_CHAR;
1280: l_country_code VARCHAR2(30) := Fnd_Api.G_MISS_CHAR;
1281: l_approver_id NUMBER;
1282: l_object_details ObjRecTyp;
1275: l_business_unit_id NUMBER := Fnd_Api.G_MISS_NUM;
1276: l_org_id NUMBER := Fnd_Api.G_MISS_NUM;
1277: l_setup_type_id NUMBER := Fnd_Api.G_MISS_NUM;
1278: l_object_type VARCHAR2(30) := Fnd_Api.G_MISS_CHAR;
1279: l_priority VARCHAR2(30) := Fnd_Api.G_MISS_CHAR;
1280: l_country_code VARCHAR2(30) := Fnd_Api.G_MISS_CHAR;
1281: l_approver_id NUMBER;
1282: l_object_details ObjRecTyp;
1283: l_activity_type VARCHAR2(30);
1276: l_org_id NUMBER := Fnd_Api.G_MISS_NUM;
1277: l_setup_type_id NUMBER := Fnd_Api.G_MISS_NUM;
1278: l_object_type VARCHAR2(30) := Fnd_Api.G_MISS_CHAR;
1279: l_priority VARCHAR2(30) := Fnd_Api.G_MISS_CHAR;
1280: l_country_code VARCHAR2(30) := Fnd_Api.G_MISS_CHAR;
1281: l_approver_id NUMBER;
1282: l_object_details ObjRecTyp;
1283: l_activity_type VARCHAR2(30);
1284: l_activity_id NUMBER;
1390: ACT_BUDGET_USED_BY_ID
1391: FROM ozf_act_budgets
1392: WHERE ACTIVITY_BUDGET_ID = p_act_budget_id;
1393: BEGIN
1394: x_return_status := Fnd_Api.G_RET_STS_SUCCESS;
1395:
1396:
1397: Get_Activity_Details
1398: ( p_activity_type => p_activity_type,
1399: p_activity_id => p_activity_id,
1400: x_object_details => x_object_details,
1401: x_return_status => x_return_status);
1402:
1403: IF x_return_status <> Fnd_Api.G_RET_STS_SUCCESS THEN
1404: RETURN;
1405: END IF;
1406:
1407: l_business_unit_id := NVL(x_object_details.business_unit_id,l_business_unit_id);
1412: l_country_code := NVL(x_object_details.country_code,l_country_code);
1413: l_curr_code := nvl(x_object_details.currency, 'USD');
1414:
1415:
1416: IF p_act_budget_id = Fnd_Api.G_MISS_NUM OR
1417: p_act_budget_id IS NULL THEN -- Important for JAVA call
1418: -- This amount is in the objects currency
1419: l_amount := NVL(x_object_details.total_header_amount, 0);
1420: ELSE
1439:
1440: l_priority := NVL(l_object_details.priority,l_priority);
1441: l_obj_curr_code := nvl(l_object_details.currency,'USD');
1442:
1443: IF x_return_status <> Fnd_Api.G_RET_STS_SUCCESS THEN
1444: RETURN;
1445: END IF;
1446: END IF;
1447:
1458: p_from_amount => l_amount,
1459: x_to_amount => l_budget_amount,
1460: x_return_status => x_return_status );
1461:
1462: IF x_return_status <> FND_API.G_RET_STS_SUCCESS THEN
1463: return;
1464: END IF;
1465:
1466: OPEN c_approver_detail_id(l_budget_amount);
1494: p_from_amount => l_budget_amount,
1495: x_to_amount => l_appr_amount,
1496: x_return_status => l_return_status );
1497:
1498: IF l_return_status = FND_API.G_RET_STS_SUCCESS THEN
1499:
1500: -- Added following condition to account for upper limit
1501: -- being null in which case it will be initialized as
1502: -- zero. reopned 3655122 fix
1527: IF c_approver_def%NOTFOUND THEN
1528: CLOSE c_approver_def ;
1529: FND_MESSAGE.Set_Name('AMS','AMS_NO_DEFAULT_ROLE');
1530: FND_MSG_PUB.Add;
1531: x_return_status := FND_API.G_RET_STS_ERROR;
1532: return;
1533: END IF;
1534: CLOSE c_approver_def ;
1535: END IF;
1597: IF c_approver_def%NOTFOUND THEN
1598: CLOSE c_approver_def ;
1599: FND_MESSAGE.Set_Name('AMS','AMS_NO_DEFAULT_ROLE');
1600: FND_MSG_PUB.Add;
1601: x_return_status := FND_API.G_RET_STS_ERROR;
1602: return;
1603: END IF;
1604: CLOSE c_approver_def ;
1605: END IF;
1611: IF c_approver_seq%NOTFOUND THEN
1612: CLOSE c_approver_seq;
1613: FND_MESSAGE.Set_Name('AMS','AMS_NO_APPROVER_SEQUENCE');
1614: FND_MSG_PUB.Add;
1615: x_return_status := FND_API.G_RET_STS_ERROR;
1616: return;
1617: END IF;
1618: CLOSE c_approver_seq;
1619: END Get_Approval_Details;
1707: /* Delete any previous history rows for this object and approval type Bug 2761026*/
1708:
1709: AMS_Appr_Hist_PVT.Delete_Appr_Hist(
1710: p_api_version_number => 1.0,
1711: p_init_msg_list => FND_API.G_FALSE,
1712: p_commit => FND_API.G_FALSE,
1713: p_validation_level => FND_API.G_VALID_LEVEL_FULL,
1714: x_return_status => l_return_status,
1715: x_msg_count => l_msg_count,
1708:
1709: AMS_Appr_Hist_PVT.Delete_Appr_Hist(
1710: p_api_version_number => 1.0,
1711: p_init_msg_list => FND_API.G_FALSE,
1712: p_commit => FND_API.G_FALSE,
1713: p_validation_level => FND_API.G_VALID_LEVEL_FULL,
1714: x_return_status => l_return_status,
1715: x_msg_count => l_msg_count,
1716: x_msg_data => l_msg_data,
1709: AMS_Appr_Hist_PVT.Delete_Appr_Hist(
1710: p_api_version_number => 1.0,
1711: p_init_msg_list => FND_API.G_FALSE,
1712: p_commit => FND_API.G_FALSE,
1713: p_validation_level => FND_API.G_VALID_LEVEL_FULL,
1714: x_return_status => l_return_status,
1715: x_msg_count => l_msg_count,
1716: x_msg_data => l_msg_data,
1717: p_object_id => p_activity_id,
1720: p_action_code => null,
1721: p_object_version_num => null,
1722: p_approval_type => p_approval_type);
1723:
1724: IF l_return_status <> Fnd_Api.G_RET_STS_SUCCESS THEN
1725: RAISE Fnd_Api.G_EXC_ERROR;
1726: END IF;
1727:
1728: Ams_Utility_Pvt.debug_message('START :Item TYPE : '||itemtype
1721: p_object_version_num => null,
1722: p_approval_type => p_approval_type);
1723:
1724: IF l_return_status <> Fnd_Api.G_RET_STS_SUCCESS THEN
1725: RAISE Fnd_Api.G_EXC_ERROR;
1726: END IF;
1727:
1728: Ams_Utility_Pvt.debug_message('START :Item TYPE : '||itemtype
1729: ||' Item KEY : '||itemkey);
1832: itemkey => itemkey,
1833: aname => 'AMS_REQUESTER_ID',
1834: avalue => p_requester_userid );
1835:
1836: l_return_status := Fnd_Api.G_RET_STS_SUCCESS;
1837:
1838: -- check for description of activity For ex. CAMP Campaign
1839: Ams_Utility_Pvt.get_lookup_meaning( 'AMS_SYS_ARC_QUALIFIER',
1840: p_activity_type,
1840: p_activity_type,
1841: l_return_status,
1842: l_appr_meaning
1843: );
1844: IF l_return_status <> Fnd_Api.G_RET_STS_SUCCESS THEN
1845: Fnd_Message.Set_Name('AMS','AMS_BAD_APPROVAL_OBJECT_TYPE');
1846: Fnd_Msg_Pub.ADD;
1847: RAISE Fnd_Api.G_EXC_ERROR;
1848: END IF;
1843: );
1844: IF l_return_status <> Fnd_Api.G_RET_STS_SUCCESS THEN
1845: Fnd_Message.Set_Name('AMS','AMS_BAD_APPROVAL_OBJECT_TYPE');
1846: Fnd_Msg_Pub.ADD;
1847: RAISE Fnd_Api.G_EXC_ERROR;
1848: END IF;
1849:
1850: -- set description of activity
1851: Wf_Engine.SetItemAttrText(itemtype => itemtype ,
1863: x_role_name => l_requester_role,
1864: x_role_display_name => l_display_name,
1865: x_return_status => l_return_status);
1866:
1867: IF l_return_status <> Fnd_Api.G_RET_STS_SUCCESS THEN
1868: RAISE Fnd_Api.G_EXC_ERROR;
1869: END IF;
1870:
1871:
1864: x_role_display_name => l_display_name,
1865: x_return_status => l_return_status);
1866:
1867: IF l_return_status <> Fnd_Api.G_RET_STS_SUCCESS THEN
1868: RAISE Fnd_Api.G_EXC_ERROR;
1869: END IF;
1870:
1871:
1872: Wf_Engine.SetItemAttrText(itemtype => itemtype,
1902: l_appr_hist_rec.approver_type := 'USER'; -- User always submits
1903: --
1904: AMS_Appr_Hist_PVT.Create_Appr_Hist(
1905: p_api_version_number => 1.0,
1906: p_init_msg_list => FND_API.G_FALSE,
1907: p_commit => FND_API.G_FALSE,
1908: p_validation_level => FND_API.G_VALID_LEVEL_FULL,
1909: x_return_status => l_return_status,
1910: x_msg_count => l_msg_count,
1903: --
1904: AMS_Appr_Hist_PVT.Create_Appr_Hist(
1905: p_api_version_number => 1.0,
1906: p_init_msg_list => FND_API.G_FALSE,
1907: p_commit => FND_API.G_FALSE,
1908: p_validation_level => FND_API.G_VALID_LEVEL_FULL,
1909: x_return_status => l_return_status,
1910: x_msg_count => l_msg_count,
1911: x_msg_data => l_msg_data,
1904: AMS_Appr_Hist_PVT.Create_Appr_Hist(
1905: p_api_version_number => 1.0,
1906: p_init_msg_list => FND_API.G_FALSE,
1907: p_commit => FND_API.G_FALSE,
1908: p_validation_level => FND_API.G_VALID_LEVEL_FULL,
1909: x_return_status => l_return_status,
1910: x_msg_count => l_msg_count,
1911: x_msg_data => l_msg_data,
1912: p_appr_hist_rec => l_appr_hist_rec
1911: x_msg_data => l_msg_data,
1912: p_appr_hist_rec => l_appr_hist_rec
1913: );
1914:
1915: IF l_return_status <> Fnd_Api.G_RET_STS_SUCCESS THEN
1916: RAISE Fnd_Api.G_EXC_ERROR;
1917: END IF;
1918:
1919: -- wf_engine.threshold := l_save_threshold ;
1912: p_appr_hist_rec => l_appr_hist_rec
1913: );
1914:
1915: IF l_return_status <> Fnd_Api.G_RET_STS_SUCCESS THEN
1916: RAISE Fnd_Api.G_EXC_ERROR;
1917: END IF;
1918:
1919: -- wf_engine.threshold := l_save_threshold ;
1920:
1918:
1919: -- wf_engine.threshold := l_save_threshold ;
1920:
1921: EXCEPTION
1922: WHEN Fnd_Api.G_EXC_ERROR THEN
1923: -- wf_engine.threshold := l_save_threshold ;
1924: Fnd_Msg_Pub.Count_And_Get (
1925: p_encoded => Fnd_Api.G_FALSE,
1926: p_count => l_msg_count,
1921: EXCEPTION
1922: WHEN Fnd_Api.G_EXC_ERROR THEN
1923: -- wf_engine.threshold := l_save_threshold ;
1924: Fnd_Msg_Pub.Count_And_Get (
1925: p_encoded => Fnd_Api.G_FALSE,
1926: p_count => l_msg_count,
1927: p_data => l_msg_data);
1928: Handle_Err
1929: (p_itemtype => itemtype ,
1937: RAISE;
1938: WHEN OTHERS THEN
1939: -- wf_engine.threshold := l_save_threshold ;
1940: Fnd_Msg_Pub.Count_And_Get (
1941: p_encoded => Fnd_Api.G_FALSE,
1942: p_count => l_msg_count,
1943: p_data => l_msg_data);
1944: Handle_Err
1945: (p_itemtype => itemtype ,
2024: x_approver_seq => l_approver_seq,
2025: x_return_status => l_return_status
2026: );
2027:
2028: IF l_return_status = Fnd_Api.G_RET_STS_SUCCESS THEN
2029:
2030: IF l_activity_type IN ('CAMP','CSCH') THEN
2031: IF l_activity_type = 'CAMP' THEN
2032: l_func_name := 'AMS_WB_CAMP_DETL';
2127: ( p_user_id => l_object_details.owner_id,
2128: x_full_name => l_full_name,
2129: x_return_status => l_return_status );
2130:
2131: IF l_return_status <> Fnd_Api.G_RET_STS_SUCCESS THEN
2132:
2133: Fnd_Msg_Pub.Count_And_Get (
2134: p_encoded => Fnd_Api.G_FALSE,
2135: p_count => l_msg_count,
2130:
2131: IF l_return_status <> Fnd_Api.G_RET_STS_SUCCESS THEN
2132:
2133: Fnd_Msg_Pub.Count_And_Get (
2134: p_encoded => Fnd_Api.G_FALSE,
2135: p_count => l_msg_count,
2136: p_data => l_msg_data);
2137:
2138: Handle_Err
2156: RETURN;
2157:
2158: ELSE
2159: Fnd_Msg_Pub.Count_And_Get (
2160: p_encoded => Fnd_Api.G_FALSE,
2161: p_count => l_msg_count,
2162: p_data => l_msg_data
2163: );
2164:
2173:
2174: /*
2175: wf_core.context('Ams_Approval_Pvt','Set_Activity_Details',
2176: itemtype,itemkey,actid,l_error_msg); */
2177: -- RAISE FND_API.G_EXC_ERROR;
2178: resultout := 'COMPLETE:ERROR';
2179: RETURN;
2180: END IF;
2181: END IF;
2197: END IF;
2198: --
2199:
2200: EXCEPTION
2201: WHEN Fnd_Api.G_EXC_ERROR THEN
2202: Fnd_Msg_Pub.Count_And_Get (
2203: p_encoded => Fnd_Api.G_FALSE,
2204: p_count => l_msg_count,
2205: p_data => l_msg_data
2199:
2200: EXCEPTION
2201: WHEN Fnd_Api.G_EXC_ERROR THEN
2202: Fnd_Msg_Pub.Count_And_Get (
2203: p_encoded => Fnd_Api.G_FALSE,
2204: p_count => l_msg_count,
2205: p_data => l_msg_data
2206: );
2207: Handle_Err
2217: itemtype,itemkey,actid,funcmode,l_error_msg);
2218: raise; */
2219: WHEN OTHERS THEN
2220: Fnd_Msg_Pub.Count_And_Get (
2221: p_encoded => Fnd_Api.G_FALSE,
2222: p_count => l_msg_count,
2223: p_data => l_msg_data
2224: );
2225: Handle_Err
2307:
2308: EXCEPTION
2309: WHEN OTHERS THEN
2310: Fnd_Msg_Pub.Count_And_Get (
2311: p_encoded => Fnd_Api.G_FALSE,
2312: p_count => l_msg_count,
2313: p_data => l_msg_data
2314: );
2315: Handle_Err
2366: p_activity_type => p_activity_type,
2367: p_act_budget_id => null,
2368: x_amount => l_amount);
2369: IF ( NVL(l_amount,0) >= NVL(p_activity_amount,0) * l_percent ) THEN
2370: x_approved_flag := Fnd_Api.G_TRUE;
2371: ELSE
2372: x_approved_flag := Fnd_Api.G_FALSE ;
2373: END IF;
2374: END Get_Approval_Rules ;
2368: x_amount => l_amount);
2369: IF ( NVL(l_amount,0) >= NVL(p_activity_amount,0) * l_percent ) THEN
2370: x_approved_flag := Fnd_Api.G_TRUE;
2371: ELSE
2372: x_approved_flag := Fnd_Api.G_FALSE ;
2373: END IF;
2374: END Get_Approval_Rules ;
2375: /*============================================================================*/
2376: PROCEDURE local_dummy IS
2431: p_activity_id => l_activity_id,
2432: p_activity_amount => l_activity_amount,
2433: x_approved_flag => l_approved_flag );
2434:
2435: IF l_approved_flag = Fnd_Api.G_TRUE THEN
2436: resultout := 'COMPLETE:SUCCESS';
2437: ELSE
2438: Fnd_Msg_Pub.Count_And_Get (
2439: p_encoded => Fnd_Api.G_FALSE,
2435: IF l_approved_flag = Fnd_Api.G_TRUE THEN
2436: resultout := 'COMPLETE:SUCCESS';
2437: ELSE
2438: Fnd_Msg_Pub.Count_And_Get (
2439: p_encoded => Fnd_Api.G_FALSE,
2440: p_count => l_msg_count,
2441: p_data => l_msg_data
2442: );
2443: Handle_Err
2471: END IF;
2472: EXCEPTION
2473: WHEN OTHERS THEN
2474: Fnd_Msg_Pub.Count_And_Get (
2475: p_encoded => Fnd_Api.G_FALSE,
2476: p_count => l_msg_count,
2477: p_data => l_msg_data
2478: );
2479: Handle_Err
2625: x_notification_type => l_notification_type,
2626: x_notification_timeout => l_notification_type,
2627: x_return_status => l_return_status);
2628:
2629: IF l_return_status <> Fnd_Api.G_RET_STS_SUCCESS THEN
2630: -- Bug 2745031
2631: RAISE Fnd_Api.G_EXC_ERROR;
2632: END IF;
2633:
2627: x_return_status => l_return_status);
2628:
2629: IF l_return_status <> Fnd_Api.G_RET_STS_SUCCESS THEN
2630: -- Bug 2745031
2631: RAISE Fnd_Api.G_EXC_ERROR;
2632: END IF;
2633:
2634: -- Bug 2729108 Fix
2635: IF l_current_seq = 1 OR
2655: l_appr_hist_rec.approver_id := l_obj_appr_id;
2656:
2657: AMS_Appr_Hist_PVT.Create_Appr_Hist(
2658: p_api_version_number => 1.0,
2659: p_init_msg_list => FND_API.G_FALSE,
2660: p_commit => FND_API.G_FALSE,
2661: p_validation_level => FND_API.G_VALID_LEVEL_FULL,
2662: x_return_status => l_return_status,
2663: x_msg_count => l_msg_count,
2656:
2657: AMS_Appr_Hist_PVT.Create_Appr_Hist(
2658: p_api_version_number => 1.0,
2659: p_init_msg_list => FND_API.G_FALSE,
2660: p_commit => FND_API.G_FALSE,
2661: p_validation_level => FND_API.G_VALID_LEVEL_FULL,
2662: x_return_status => l_return_status,
2663: x_msg_count => l_msg_count,
2664: x_msg_data => l_msg_data,
2657: AMS_Appr_Hist_PVT.Create_Appr_Hist(
2658: p_api_version_number => 1.0,
2659: p_init_msg_list => FND_API.G_FALSE,
2660: p_commit => FND_API.G_FALSE,
2661: p_validation_level => FND_API.G_VALID_LEVEL_FULL,
2662: x_return_status => l_return_status,
2663: x_msg_count => l_msg_count,
2664: x_msg_data => l_msg_data,
2665: p_appr_hist_rec => l_appr_hist_rec
2664: x_msg_data => l_msg_data,
2665: p_appr_hist_rec => l_appr_hist_rec
2666: );
2667:
2668: IF l_return_status <> Fnd_Api.G_RET_STS_SUCCESS THEN
2669: Fnd_Msg_Pub.Count_And_Get (
2670: p_encoded => Fnd_Api.G_FALSE,
2671: p_count => l_msg_count,
2672: p_data => l_msg_data
2666: );
2667:
2668: IF l_return_status <> Fnd_Api.G_RET_STS_SUCCESS THEN
2669: Fnd_Msg_Pub.Count_And_Get (
2670: p_encoded => Fnd_Api.G_FALSE,
2671: p_count => l_msg_count,
2672: p_data => l_msg_data
2673: );
2674: Handle_Err
2685: END LOOP;
2686: CLOSE c_approver;
2687: END IF;
2688:
2689: IF l_return_status = Fnd_Api.G_RET_STS_SUCCESS THEN
2690: IF (l_approver_type = 'FUNCTION') THEN -- was l_role_name Bug 2346128
2691: OPEN c_API_Name(l_object_approver_id);
2692: FETCH c_API_Name INTO l_pkg_name, l_proc_name;
2693: IF (c_Api_Name%FOUND) THEN
2697: IF(l_return_status = 'S') THEN
2698: l_object_approver_id := l_appr_id;
2699: ELSE
2700: Fnd_Msg_Pub.Count_And_Get (
2701: p_encoded => Fnd_Api.G_FALSE,
2702: p_count => l_msg_count,
2703: p_data => l_msg_data
2704: );
2705: Handle_Err
2720: x_role_name => l_approver,
2721: x_role_display_name => l_approver_display_name,
2722: x_return_status => l_return_status);
2723:
2724: IF l_return_status <> Fnd_Api.G_RET_STS_SUCCESS THEN
2725: RAISE Fnd_Api.G_EXC_ERROR;
2726: END IF;
2727:
2728: l_prev_approver := Wf_Engine.GetItemAttrText(
2721: x_role_display_name => l_approver_display_name,
2722: x_return_status => l_return_status);
2723:
2724: IF l_return_status <> Fnd_Api.G_RET_STS_SUCCESS THEN
2725: RAISE Fnd_Api.G_EXC_ERROR;
2726: END IF;
2727:
2728: l_prev_approver := Wf_Engine.GetItemAttrText(
2729: itemtype => itemtype,
2792: l_appr_hist_rec.approver_id := l_object_approver_id;
2793:
2794: AMS_Appr_Hist_PVT.Update_Appr_Hist(
2795: p_api_version_number => 1.0,
2796: p_init_msg_list => FND_API.G_FALSE,
2797: p_commit => FND_API.G_FALSE,
2798: p_validation_level => FND_API.G_VALID_LEVEL_FULL,
2799: x_return_status => l_return_status,
2800: x_msg_count => l_msg_count,
2793:
2794: AMS_Appr_Hist_PVT.Update_Appr_Hist(
2795: p_api_version_number => 1.0,
2796: p_init_msg_list => FND_API.G_FALSE,
2797: p_commit => FND_API.G_FALSE,
2798: p_validation_level => FND_API.G_VALID_LEVEL_FULL,
2799: x_return_status => l_return_status,
2800: x_msg_count => l_msg_count,
2801: x_msg_data => l_msg_data,
2794: AMS_Appr_Hist_PVT.Update_Appr_Hist(
2795: p_api_version_number => 1.0,
2796: p_init_msg_list => FND_API.G_FALSE,
2797: p_commit => FND_API.G_FALSE,
2798: p_validation_level => FND_API.G_VALID_LEVEL_FULL,
2799: x_return_status => l_return_status,
2800: x_msg_count => l_msg_count,
2801: x_msg_data => l_msg_data,
2802: p_appr_hist_rec => l_appr_hist_rec
2802: p_appr_hist_rec => l_appr_hist_rec
2803: );
2804:
2805:
2806: IF l_return_status <> Fnd_Api.G_RET_STS_SUCCESS THEN
2807: RAISE Fnd_Api.G_EXC_ERROR;
2808: END IF;
2809:
2810: resultout := 'COMPLETE:SUCCESS';
2803: );
2804:
2805:
2806: IF l_return_status <> Fnd_Api.G_RET_STS_SUCCESS THEN
2807: RAISE Fnd_Api.G_EXC_ERROR;
2808: END IF;
2809:
2810: resultout := 'COMPLETE:SUCCESS';
2811: ELSE
2808: END IF;
2809:
2810: resultout := 'COMPLETE:SUCCESS';
2811: ELSE
2812: RAISE Fnd_Api.G_EXC_ERROR;
2813: END IF;
2814: END IF;
2815:
2816: --
2828: resultout := 'COMPLETE:';
2829: RETURN;
2830: END IF;
2831: EXCEPTION
2832: WHEN Fnd_Api.G_EXC_ERROR THEN
2833: Fnd_Msg_Pub.Count_And_Get (
2834: p_encoded => Fnd_Api.G_FALSE,
2835: p_count => l_msg_count,
2836: p_data => l_msg_data
2830: END IF;
2831: EXCEPTION
2832: WHEN Fnd_Api.G_EXC_ERROR THEN
2833: Fnd_Msg_Pub.Count_And_Get (
2834: p_encoded => Fnd_Api.G_FALSE,
2835: p_count => l_msg_count,
2836: p_data => l_msg_data
2837: );
2838: Handle_Err
2849: itemtype, itemkey,to_char(actid),l_error_msg);
2850: RAISE; */
2851: WHEN OTHERS THEN
2852: Fnd_Msg_Pub.Count_And_Get (
2853: p_encoded => Fnd_Api.G_FALSE,
2854: p_count => l_msg_count,
2855: p_data => l_msg_data
2856: );
2857: Handle_Err
2940: x_msg_data => l_msg_data,
2941: x_return_status => l_return_status);
2942: END IF;
2943:
2944: IF l_return_status <> Fnd_Api.G_RET_STS_SUCCESS THEN
2945: RAISE Fnd_Api.G_EXC_ERROR;
2946: END IF;
2947: -- Added for 11.5.9
2948: l_version := Wf_Engine.GetItemAttrNumber(
2941: x_return_status => l_return_status);
2942: END IF;
2943:
2944: IF l_return_status <> Fnd_Api.G_RET_STS_SUCCESS THEN
2945: RAISE Fnd_Api.G_EXC_ERROR;
2946: END IF;
2947: -- Added for 11.5.9
2948: l_version := Wf_Engine.GetItemAttrNumber(
2949: itemtype => itemtype,
2962: x_approver_id => l_new_approver_id,
2963: x_return_status => l_return_status);
2964:
2965:
2966: IF l_return_status <> Fnd_Api.G_RET_STS_SUCCESS THEN
2967: RAISE Fnd_Api.G_EXC_ERROR;
2968: END IF;
2969:
2970:
2963: x_return_status => l_return_status);
2964:
2965:
2966: IF l_return_status <> Fnd_Api.G_RET_STS_SUCCESS THEN
2967: RAISE Fnd_Api.G_EXC_ERROR;
2968: END IF;
2969:
2970:
2971: IF l_new_approver_id IS NOT NULL THEN
2993: l_appr_hist_rec.action_date := sysdate;
2994:
2995: AMS_Appr_Hist_PVT.Update_Appr_Hist(
2996: p_api_version_number => 1.0,
2997: p_init_msg_list => FND_API.G_FALSE,
2998: p_commit => FND_API.G_FALSE,
2999: p_validation_level => FND_API.G_VALID_LEVEL_FULL,
3000: x_return_status => l_return_status,
3001: x_msg_count => l_msg_count,
2994:
2995: AMS_Appr_Hist_PVT.Update_Appr_Hist(
2996: p_api_version_number => 1.0,
2997: p_init_msg_list => FND_API.G_FALSE,
2998: p_commit => FND_API.G_FALSE,
2999: p_validation_level => FND_API.G_VALID_LEVEL_FULL,
3000: x_return_status => l_return_status,
3001: x_msg_count => l_msg_count,
3002: x_msg_data => l_msg_data,
2995: AMS_Appr_Hist_PVT.Update_Appr_Hist(
2996: p_api_version_number => 1.0,
2997: p_init_msg_list => FND_API.G_FALSE,
2998: p_commit => FND_API.G_FALSE,
2999: p_validation_level => FND_API.G_VALID_LEVEL_FULL,
3000: x_return_status => l_return_status,
3001: x_msg_count => l_msg_count,
3002: x_msg_data => l_msg_data,
3003: p_appr_hist_rec => l_appr_hist_rec
3002: x_msg_data => l_msg_data,
3003: p_appr_hist_rec => l_appr_hist_rec
3004: );
3005:
3006: IF l_return_status <> Fnd_Api.G_RET_STS_SUCCESS THEN
3007: RAISE Fnd_Api.G_EXC_ERROR;
3008: END IF;
3009:
3010: END IF;
3003: p_appr_hist_rec => l_appr_hist_rec
3004: );
3005:
3006: IF l_return_status <> Fnd_Api.G_RET_STS_SUCCESS THEN
3007: RAISE Fnd_Api.G_EXC_ERROR;
3008: END IF;
3009:
3010: END IF;
3011:
3066: resultout := 'COMPLETE:';
3067: RETURN;
3068: END IF;
3069: EXCEPTION
3070: WHEN Fnd_Api.G_EXC_ERROR THEN
3071: Fnd_Msg_Pub.Count_And_Get (
3072: p_encoded => Fnd_Api.G_FALSE,
3073: p_count => l_msg_count,
3074: p_data => l_msg_data
3068: END IF;
3069: EXCEPTION
3070: WHEN Fnd_Api.G_EXC_ERROR THEN
3071: Fnd_Msg_Pub.Count_And_Get (
3072: p_encoded => Fnd_Api.G_FALSE,
3073: p_count => l_msg_count,
3074: p_data => l_msg_data
3075: );
3076: Handle_Err
3086: itemtype, itemkey,TO_CHAR(actid),l_error_msg);
3087: RAISE;
3088: WHEN OTHERS THEN
3089: Fnd_Msg_Pub.Count_And_Get (
3090: p_encoded => Fnd_Api.G_FALSE,
3091: p_count => l_msg_count,
3092: p_data => l_msg_data
3093: );
3094: Handle_Err
3171: p_next_stat_id => l_orig_status_id,
3172: x_return_status => l_return_status);
3173:
3174:
3175: IF l_return_status <> Fnd_Api.G_RET_STS_SUCCESS THEN
3176: RAISE Fnd_Api.G_EXC_ERROR;
3177: -- Delete all history rows
3178: ELSE
3179:
3172: x_return_status => l_return_status);
3173:
3174:
3175: IF l_return_status <> Fnd_Api.G_RET_STS_SUCCESS THEN
3176: RAISE Fnd_Api.G_EXC_ERROR;
3177: -- Delete all history rows
3178: ELSE
3179:
3180: -- Delete all rows
3179:
3180: -- Delete all rows
3181: AMS_Appr_Hist_PVT.Delete_Appr_Hist(
3182: p_api_version_number => 1.0,
3183: p_init_msg_list => FND_API.G_FALSE,
3184: p_commit => FND_API.G_FALSE,
3185: p_validation_level => FND_API.G_VALID_LEVEL_FULL,
3186: x_return_status => l_return_status,
3187: x_msg_count => l_msg_count,
3180: -- Delete all rows
3181: AMS_Appr_Hist_PVT.Delete_Appr_Hist(
3182: p_api_version_number => 1.0,
3183: p_init_msg_list => FND_API.G_FALSE,
3184: p_commit => FND_API.G_FALSE,
3185: p_validation_level => FND_API.G_VALID_LEVEL_FULL,
3186: x_return_status => l_return_status,
3187: x_msg_count => l_msg_count,
3188: x_msg_data => l_msg_data,
3181: AMS_Appr_Hist_PVT.Delete_Appr_Hist(
3182: p_api_version_number => 1.0,
3183: p_init_msg_list => FND_API.G_FALSE,
3184: p_commit => FND_API.G_FALSE,
3185: p_validation_level => FND_API.G_VALID_LEVEL_FULL,
3186: x_return_status => l_return_status,
3187: x_msg_count => l_msg_count,
3188: x_msg_data => l_msg_data,
3189: p_object_id => l_activity_id,
3192: p_action_code => null,
3193: p_object_version_num => l_version,
3194: p_approval_type => l_approval_type);
3195:
3196: IF l_return_status <> Fnd_Api.G_RET_STS_SUCCESS THEN
3197: RAISE Fnd_Api.G_EXC_ERROR;
3198: END IF;
3199:
3200: resultout := 'COMPLETE:SUCCESS';
3193: p_object_version_num => l_version,
3194: p_approval_type => l_approval_type);
3195:
3196: IF l_return_status <> Fnd_Api.G_RET_STS_SUCCESS THEN
3197: RAISE Fnd_Api.G_EXC_ERROR;
3198: END IF;
3199:
3200: resultout := 'COMPLETE:SUCCESS';
3201: END IF;
3218: END IF;
3219: --
3220:
3221: EXCEPTION
3222: WHEN Fnd_Api.G_EXC_ERROR THEN
3223: Fnd_Msg_Pub.Count_And_Get (
3224: p_encoded => Fnd_Api.G_FALSE,
3225: p_count => l_msg_count,
3226: p_data => l_msg_data
3220:
3221: EXCEPTION
3222: WHEN Fnd_Api.G_EXC_ERROR THEN
3223: Fnd_Msg_Pub.Count_And_Get (
3224: p_encoded => Fnd_Api.G_FALSE,
3225: p_count => l_msg_count,
3226: p_data => l_msg_data
3227: );
3228: Handle_Err
3236: resultout := 'COMPLETE:FAILURE';
3237:
3238: WHEN OTHERS THEN
3239: Fnd_Msg_Pub.Count_And_Get (
3240: p_encoded => Fnd_Api.G_FALSE,
3241: p_count => l_msg_count,
3242: p_data => l_msg_data
3243: );
3244: Handle_Err
3350: Update_Status(p_activity_type => l_activity_type,
3351: p_activity_id => l_activity_id,
3352: p_next_stat_id => l_orig_status_id,
3353: x_return_status => l_return_status);
3354: IF l_return_status <> Fnd_Api.G_RET_STS_SUCCESS THEN
3355: RAISE Fnd_Api.G_EXC_ERROR;
3356: ELSE
3357: resultout := 'COMPLETE:SUCCESS';
3358: END IF;
3351: p_activity_id => l_activity_id,
3352: p_next_stat_id => l_orig_status_id,
3353: x_return_status => l_return_status);
3354: IF l_return_status <> Fnd_Api.G_RET_STS_SUCCESS THEN
3355: RAISE Fnd_Api.G_EXC_ERROR;
3356: ELSE
3357: resultout := 'COMPLETE:SUCCESS';
3358: END IF;
3359:
3378: --
3379:
3380:
3381: EXCEPTION
3382: WHEN Fnd_Api.G_EXC_ERROR THEN
3383: Fnd_Msg_Pub.Count_And_Get (
3384: p_encoded => Fnd_Api.G_FALSE,
3385: p_count => l_msg_count,
3386: p_data => l_msg_data
3380:
3381: EXCEPTION
3382: WHEN Fnd_Api.G_EXC_ERROR THEN
3383: Fnd_Msg_Pub.Count_And_Get (
3384: p_encoded => Fnd_Api.G_FALSE,
3385: p_count => l_msg_count,
3386: p_data => l_msg_data
3387: );
3388: Handle_Err
3396: resultout := 'COMPLETE:ERROR';
3397:
3398: WHEN OTHERS THEN
3399: Fnd_Msg_Pub.Count_And_Get (
3400: p_encoded => Fnd_Api.G_FALSE,
3401: p_count => l_msg_count,
3402: p_data => l_msg_data
3403: );
3404: Handle_Err
3496: p_activity_id => l_activity_id,
3497: p_next_stat_id => l_orig_status_id,
3498: x_return_status => l_return_status);
3499:
3500: IF l_return_status <> Fnd_Api.G_RET_STS_SUCCESS THEN
3501: RAISE Fnd_Api.G_EXC_ERROR;
3502: ELSE
3503: -- Commented for bug 3150550
3504: -- Start of addition for forward/reassign notification
3497: p_next_stat_id => l_orig_status_id,
3498: x_return_status => l_return_status);
3499:
3500: IF l_return_status <> Fnd_Api.G_RET_STS_SUCCESS THEN
3501: RAISE Fnd_Api.G_EXC_ERROR;
3502: ELSE
3503: -- Commented for bug 3150550
3504: -- Start of addition for forward/reassign notification
3505: /*
3507: itemkey => itemkey,
3508: x_approver_id => l_new_approver_id,
3509: x_return_status => l_return_status);
3510:
3511: IF l_return_status <> Fnd_Api.G_RET_STS_SUCCESS THEN
3512: RAISE Fnd_Api.G_EXC_ERROR;
3513: END IF;
3514:
3515: IF l_new_approver_id IS NOT NULL THEN
3508: x_approver_id => l_new_approver_id,
3509: x_return_status => l_return_status);
3510:
3511: IF l_return_status <> Fnd_Api.G_RET_STS_SUCCESS THEN
3512: RAISE Fnd_Api.G_EXC_ERROR;
3513: END IF;
3514:
3515: IF l_new_approver_id IS NOT NULL THEN
3516: l_approver_id := l_new_approver_id;
3533: l_appr_hist_rec.approver_id := l_approver_id;
3534:
3535: AMS_Appr_Hist_PVT.Update_Appr_Hist(
3536: p_api_version_number => 1.0,
3537: p_init_msg_list => FND_API.G_FALSE,
3538: p_commit => FND_API.G_FALSE,
3539: p_validation_level => FND_API.G_VALID_LEVEL_FULL,
3540: x_return_status => l_return_status,
3541: x_msg_count => l_msg_count,
3534:
3535: AMS_Appr_Hist_PVT.Update_Appr_Hist(
3536: p_api_version_number => 1.0,
3537: p_init_msg_list => FND_API.G_FALSE,
3538: p_commit => FND_API.G_FALSE,
3539: p_validation_level => FND_API.G_VALID_LEVEL_FULL,
3540: x_return_status => l_return_status,
3541: x_msg_count => l_msg_count,
3542: x_msg_data => l_msg_data,
3535: AMS_Appr_Hist_PVT.Update_Appr_Hist(
3536: p_api_version_number => 1.0,
3537: p_init_msg_list => FND_API.G_FALSE,
3538: p_commit => FND_API.G_FALSE,
3539: p_validation_level => FND_API.G_VALID_LEVEL_FULL,
3540: x_return_status => l_return_status,
3541: x_msg_count => l_msg_count,
3542: x_msg_data => l_msg_data,
3543: p_appr_hist_rec => l_appr_hist_rec
3542: x_msg_data => l_msg_data,
3543: p_appr_hist_rec => l_appr_hist_rec
3544: );
3545:
3546: IF l_return_status <> Fnd_Api.G_RET_STS_SUCCESS THEN
3547: RAISE Fnd_Api.G_EXC_ERROR;
3548: END IF;
3549:
3550: -- Delete any 'OPEN' rows
3543: p_appr_hist_rec => l_appr_hist_rec
3544: );
3545:
3546: IF l_return_status <> Fnd_Api.G_RET_STS_SUCCESS THEN
3547: RAISE Fnd_Api.G_EXC_ERROR;
3548: END IF;
3549:
3550: -- Delete any 'OPEN' rows
3551: AMS_Appr_Hist_PVT.Delete_Appr_Hist(
3549:
3550: -- Delete any 'OPEN' rows
3551: AMS_Appr_Hist_PVT.Delete_Appr_Hist(
3552: p_api_version_number => 1.0,
3553: p_init_msg_list => FND_API.G_FALSE,
3554: p_commit => FND_API.G_FALSE,
3555: p_validation_level => FND_API.G_VALID_LEVEL_FULL,
3556: x_return_status => l_return_status,
3557: x_msg_count => l_msg_count,
3550: -- Delete any 'OPEN' rows
3551: AMS_Appr_Hist_PVT.Delete_Appr_Hist(
3552: p_api_version_number => 1.0,
3553: p_init_msg_list => FND_API.G_FALSE,
3554: p_commit => FND_API.G_FALSE,
3555: p_validation_level => FND_API.G_VALID_LEVEL_FULL,
3556: x_return_status => l_return_status,
3557: x_msg_count => l_msg_count,
3558: x_msg_data => l_msg_data,
3551: AMS_Appr_Hist_PVT.Delete_Appr_Hist(
3552: p_api_version_number => 1.0,
3553: p_init_msg_list => FND_API.G_FALSE,
3554: p_commit => FND_API.G_FALSE,
3555: p_validation_level => FND_API.G_VALID_LEVEL_FULL,
3556: x_return_status => l_return_status,
3557: x_msg_count => l_msg_count,
3558: x_msg_data => l_msg_data,
3559: p_object_id => l_activity_id,
3562: p_action_code => 'OPEN',
3563: p_object_version_num => l_version,
3564: p_approval_type => l_approval_type);
3565:
3566: IF l_return_status <> Fnd_Api.G_RET_STS_SUCCESS THEN
3567: RAISE Fnd_Api.G_EXC_ERROR;
3568: END IF;
3569:
3570: resultout := 'COMPLETE:SUCCESS';
3563: p_object_version_num => l_version,
3564: p_approval_type => l_approval_type);
3565:
3566: IF l_return_status <> Fnd_Api.G_RET_STS_SUCCESS THEN
3567: RAISE Fnd_Api.G_EXC_ERROR;
3568: END IF;
3569:
3570: resultout := 'COMPLETE:SUCCESS';
3571: END IF;
3590:
3591:
3592: EXCEPTION
3593:
3594: WHEN Fnd_Api.G_EXC_ERROR THEN
3595: Fnd_Msg_Pub.Count_And_Get (
3596: p_encoded => Fnd_Api.G_FALSE,
3597: p_count => l_msg_count,
3598: p_data => l_msg_data
3592: EXCEPTION
3593:
3594: WHEN Fnd_Api.G_EXC_ERROR THEN
3595: Fnd_Msg_Pub.Count_And_Get (
3596: p_encoded => Fnd_Api.G_FALSE,
3597: p_count => l_msg_count,
3598: p_data => l_msg_data
3599: );
3600: Handle_Err
3607: ) ;
3608: resultout := 'COMPLETE:ERROR';
3609: WHEN OTHERS THEN
3610: Fnd_Msg_Pub.Count_And_Get (
3611: p_encoded => Fnd_Api.G_FALSE,
3612: p_count => l_msg_count,
3613: p_data => l_msg_data
3614: );
3615: Handle_Err
3722: FETCH c_campaign INTO l_currency_code;
3723: IF c_campaign%NOTFOUND THEN
3724: CLOSE c_campaign;
3725: Ams_Utility_Pvt.error_message ('AMS_BUDGET_NO_OWNER');
3726: RAISE Fnd_Api.g_exc_error;
3727: END IF;
3728: CLOSE c_campaign;
3729: /* code added by murali code done by ravi start*/
3730: -- Campaign Schedule
3733: FETCH c_schedule INTO l_currency_code;
3734: IF c_schedule%NOTFOUND THEN
3735: CLOSE c_schedule;
3736: Ams_Utility_Pvt.error_message ('AMS_BUDGET_NO_OWNER');
3737: RAISE Fnd_Api.g_exc_error;
3738: END IF;
3739: CLOSE c_schedule;
3740: -- Offer
3741: ELSIF p_object = 'OFFR' THEN
3743: FETCH c_offer INTO l_currency_code;
3744: IF c_offer%NOTFOUND THEN
3745: CLOSE c_offer;
3746: Ams_Utility_Pvt.error_message ('AMS_BUDGET_NO_OWNER');
3747: RAISE Fnd_Api.g_exc_error;
3748: END IF;
3749: CLOSE c_offer;
3750: /* code added by murali code done by ravi end*/
3751: -- Event Header/Rollup Event
3754: FETCH c_eheader INTO l_currency_code;
3755: IF c_eheader%NOTFOUND THEN
3756: CLOSE c_eheader;
3757: Ams_Utility_Pvt.error_message ('AMS_BUDGET_NO_OWNER');
3758: RAISE Fnd_Api.g_exc_error;
3759: END IF;
3760: CLOSE c_eheader;
3761: -- Event Offer/Execution Event
3762: ELSIF (p_object = 'EVEO' OR p_object = 'EONE')THEN
3764: FETCH c_eoffer INTO l_currency_code;
3765: IF c_eoffer%NOTFOUND THEN
3766: CLOSE c_eoffer;
3767: Ams_Utility_Pvt.error_message ('AMS_BUDGET_NO_OWNER');
3768: RAISE Fnd_Api.g_exc_error;
3769: END IF;
3770: CLOSE c_eoffer;
3771: -- Deliverable
3772: ELSIF p_object = 'DELV' THEN
3774: FETCH c_deliverable INTO l_currency_code;
3775: IF c_deliverable%NOTFOUND THEN
3776: CLOSE c_deliverable;
3777: Ams_Utility_Pvt.error_message ('AMS_ACT_BUDG_NO_OWNER');
3778: RAISE Fnd_Api.g_exc_error;
3779: END IF;
3780: CLOSE c_deliverable;
3781: ELSIF p_object = 'FUND' THEN
3782: OPEN c_fund;
3783: FETCH c_fund INTO l_currency_code;
3784: IF c_fund%NOTFOUND THEN
3785: CLOSE c_fund;
3786: Ams_Utility_Pvt.error_message ('AMS_ACT_BUDG_NO_OWNER');
3787: RAISE Fnd_Api.g_exc_error;
3788: END IF;
3789: CLOSE c_fund;
3790: ELSE
3791: RAISE Fnd_Api.g_exc_unexpected_error;
3787: RAISE Fnd_Api.g_exc_error;
3788: END IF;
3789: CLOSE c_fund;
3790: ELSE
3791: RAISE Fnd_Api.g_exc_unexpected_error;
3792: END IF;
3793:
3794: RETURN l_currency_code;
3795: EXCEPTION
3898: -- Delete any previous approval history rows Bug 2761026
3899:
3900: AMS_Appr_Hist_PVT.Delete_Appr_Hist(
3901: p_api_version_number => 1.0,
3902: p_init_msg_list => FND_API.G_FALSE,
3903: p_commit => FND_API.G_FALSE,
3904: p_validation_level => FND_API.G_VALID_LEVEL_FULL,
3905: x_return_status => l_return_status,
3906: x_msg_count => l_msg_count,
3899:
3900: AMS_Appr_Hist_PVT.Delete_Appr_Hist(
3901: p_api_version_number => 1.0,
3902: p_init_msg_list => FND_API.G_FALSE,
3903: p_commit => FND_API.G_FALSE,
3904: p_validation_level => FND_API.G_VALID_LEVEL_FULL,
3905: x_return_status => l_return_status,
3906: x_msg_count => l_msg_count,
3907: x_msg_data => l_msg_data,
3900: AMS_Appr_Hist_PVT.Delete_Appr_Hist(
3901: p_api_version_number => 1.0,
3902: p_init_msg_list => FND_API.G_FALSE,
3903: p_commit => FND_API.G_FALSE,
3904: p_validation_level => FND_API.G_VALID_LEVEL_FULL,
3905: x_return_status => l_return_status,
3906: x_msg_count => l_msg_count,
3907: x_msg_data => l_msg_data,
3908: p_object_id => p_act_budget_id,
3911: p_action_code => null,
3912: p_object_version_num => null,
3913: p_approval_type => 'BUDGET');
3914:
3915: IF l_return_status <> Fnd_Api.G_RET_STS_SUCCESS THEN
3916: RAISE Fnd_Api.G_EXC_ERROR;
3917: END IF;
3918:
3919: -- get the budget line ids
3912: p_object_version_num => null,
3913: p_approval_type => 'BUDGET');
3914:
3915: IF l_return_status <> Fnd_Api.G_RET_STS_SUCCESS THEN
3916: RAISE Fnd_Api.G_EXC_ERROR;
3917: END IF;
3918:
3919: -- get the budget line ids
3920: OPEN budget_lines_csr;
3923: l_request_amount, l_request_currency,
3924: l_version, l_budget_amount;
3925: IF budget_lines_csr%NOTFOUND THEN
3926: CLOSE budget_lines_csr;
3927: RAISE Fnd_Api.G_EXC_ERROR;
3928: END IF;
3929: CLOSE budget_lines_csr;
3930:
3931: -- set the itemkey and itemuserkey
3928: END IF;
3929: CLOSE budget_lines_csr;
3930:
3931: -- set the itemkey and itemuserkey
3932: IF p_parent_process_flag = Fnd_Api.G_TRUE THEN
3933: -- for process started from a parent process
3934: l_itemkey := p_act_budget_id||'_'||p_parent_process_key;
3935: l_itemuserkey := l_activity_id||'_'||l_budget_id||'_'||p_parent_process_key;
3936: ELSE
3991: -- [END OF BUG2741039 FIXING]
3992:
3993: -- set the parent item
3994: --
3995: IF p_parent_process_flag = Fnd_Api.G_TRUE THEN
3996: -- set parent
3997: Wf_Engine.SetItemParent(itemtype =>l_itemtype,
3998: itemkey => l_itemkey,
3999: parent_itemtype => l_itemtype,
4027: ( p_activity_type => l_activity_type,
4028: p_activity_id => l_activity_id,
4029: x_object_details => l_parent_object_details,
4030: x_return_status => l_return_status);
4031: IF l_return_status <> Fnd_Api.G_RET_STS_SUCCESS THEN
4032: RAISE Fnd_Api.G_EXC_ERROR;
4033: END IF;
4034: Wf_Engine.SetItemAttrText(itemtype => l_itemtype,
4035: itemkey => l_itemkey,
4028: p_activity_id => l_activity_id,
4029: x_object_details => l_parent_object_details,
4030: x_return_status => l_return_status);
4031: IF l_return_status <> Fnd_Api.G_RET_STS_SUCCESS THEN
4032: RAISE Fnd_Api.G_EXC_ERROR;
4033: END IF;
4034: Wf_Engine.SetItemAttrText(itemtype => l_itemtype,
4035: itemkey => l_itemkey,
4036: aname => 'AMS_ACT_NAME',
4106: itemkey => l_itemkey,
4107: aname => 'AMS_ACTIVITY_OWNER',
4108: avalue => l_full_name );
4109:
4110: IF p_parent_approval_flag = Fnd_Api.G_TRUE THEN
4111: --
4112: Wf_Engine.SetItemAttrText(itemtype => l_itemtype,
4113: itemkey => l_itemkey,
4114: aname => 'AMS_CONTINUEFLOW',
4182: x_role_name => l_requestor_name,
4183: x_role_display_name => l_requestor_display_name ,
4184: x_return_status => l_return_status);
4185:
4186: IF l_return_status <> Fnd_Api.G_RET_STS_SUCCESS THEN
4187: RAISE Fnd_Api.G_EXC_ERROR;
4188: END IF;
4189:
4190: --
4183: x_role_display_name => l_requestor_display_name ,
4184: x_return_status => l_return_status);
4185:
4186: IF l_return_status <> Fnd_Api.G_RET_STS_SUCCESS THEN
4187: RAISE Fnd_Api.G_EXC_ERROR;
4188: END IF;
4189:
4190: --
4191: Wf_Engine.SetItemAttrNumber( itemtype => l_itemtype,
4213: WHEN OTHERS THEN
4214: Fnd_Message.Set_Name('AMS','AMS_API_DEBUG_MESSAGE');
4215: Fnd_Message.Set_Token('ROW', SQLERRM );
4216: Fnd_Msg_Pub.ADD;
4217: RAISE Fnd_Api.G_EXC_ERROR;
4218: END;
4219:
4220: IF l_return_status <> Fnd_Api.G_RET_STS_SUCCESS THEN
4221: RAISE Fnd_Api.G_EXC_ERROR;
4216: Fnd_Msg_Pub.ADD;
4217: RAISE Fnd_Api.G_EXC_ERROR;
4218: END;
4219:
4220: IF l_return_status <> Fnd_Api.G_RET_STS_SUCCESS THEN
4221: RAISE Fnd_Api.G_EXC_ERROR;
4222: END IF;
4223:
4224: l_budget_currency := get_object_currency(l_budget_type, l_budget_id);
4217: RAISE Fnd_Api.G_EXC_ERROR;
4218: END;
4219:
4220: IF l_return_status <> Fnd_Api.G_RET_STS_SUCCESS THEN
4221: RAISE Fnd_Api.G_EXC_ERROR;
4222: END IF;
4223:
4224: l_budget_currency := get_object_currency(l_budget_type, l_budget_id);
4225:
4238: x_return_status => l_return_status );
4239:
4240: END IF;
4241:
4242: IF l_return_status <> Fnd_Api.G_RET_STS_SUCCESS THEN
4243: RAISE Fnd_Api.G_EXC_ERROR;
4244: END IF;
4245:
4246: --
4239:
4240: END IF;
4241:
4242: IF l_return_status <> Fnd_Api.G_RET_STS_SUCCESS THEN
4243: RAISE Fnd_Api.G_EXC_ERROR;
4244: END IF;
4245:
4246: --
4247: /*
4351: l_appr_hist_rec.approver_type := 'USER';
4352: --
4353: AMS_Appr_Hist_PVT.Create_Appr_Hist(
4354: p_api_version_number => 1.0,
4355: p_init_msg_list => FND_API.G_FALSE,
4356: p_commit => FND_API.G_FALSE,
4357: p_validation_level => FND_API.G_VALID_LEVEL_FULL,
4358: x_return_status => l_return_status,
4359: x_msg_count => l_msg_count,
4352: --
4353: AMS_Appr_Hist_PVT.Create_Appr_Hist(
4354: p_api_version_number => 1.0,
4355: p_init_msg_list => FND_API.G_FALSE,
4356: p_commit => FND_API.G_FALSE,
4357: p_validation_level => FND_API.G_VALID_LEVEL_FULL,
4358: x_return_status => l_return_status,
4359: x_msg_count => l_msg_count,
4360: x_msg_data => l_msg_data,
4353: AMS_Appr_Hist_PVT.Create_Appr_Hist(
4354: p_api_version_number => 1.0,
4355: p_init_msg_list => FND_API.G_FALSE,
4356: p_commit => FND_API.G_FALSE,
4357: p_validation_level => FND_API.G_VALID_LEVEL_FULL,
4358: x_return_status => l_return_status,
4359: x_msg_count => l_msg_count,
4360: x_msg_data => l_msg_data,
4361: p_appr_hist_rec => l_appr_hist_rec
4360: x_msg_data => l_msg_data,
4361: p_appr_hist_rec => l_appr_hist_rec
4362: );
4363:
4364: IF l_return_status <> Fnd_Api.G_RET_STS_SUCCESS THEN
4365: RAISE Fnd_Api.G_EXC_ERROR;
4366: END IF;
4367:
4368: EXCEPTION
4361: p_appr_hist_rec => l_appr_hist_rec
4362: );
4363:
4364: IF l_return_status <> Fnd_Api.G_RET_STS_SUCCESS THEN
4365: RAISE Fnd_Api.G_EXC_ERROR;
4366: END IF;
4367:
4368: EXCEPTION
4369: WHEN Fnd_Api.G_EXC_ERROR THEN
4365: RAISE Fnd_Api.G_EXC_ERROR;
4366: END IF;
4367:
4368: EXCEPTION
4369: WHEN Fnd_Api.G_EXC_ERROR THEN
4370: -- raise error if not able to get the budget line
4371: IF Fnd_Msg_Pub.check_msg_level(Fnd_Msg_Pub.g_msg_lvl_error) THEN
4372: Fnd_Message.set_name('AMS', 'AMS_BUDGET_LINE_START_ERROR');
4373: Fnd_Msg_Pub.ADD;
4373: Fnd_Msg_Pub.ADD;
4374: END IF;
4375:
4376: Fnd_Msg_Pub.Count_And_Get (
4377: p_encoded => Fnd_Api.G_FALSE,
4378: p_count => l_msg_count,
4379: p_data => l_msg_data);
4380: Handle_Err
4381: (p_itemtype => l_itemtype ,
4392: THEN
4393: Fnd_Msg_Pub.Add_Exc_Msg( G_PKG_NAME,l_api_name);
4394: END IF;
4395: Fnd_Msg_Pub.Count_And_Get (
4396: p_encoded => Fnd_Api.G_FALSE,
4397: p_count => l_msg_count,
4398: p_data => l_msg_data);
4399: Handle_Err
4400: (p_itemtype => l_itemtype ,
4426: /*============================================================================*/
4427:
4428: PROCEDURE Start_LineApproval(
4429: p_api_version IN NUMBER
4430: ,p_init_msg_list IN VARCHAR2 := Fnd_Api.G_FALSE
4431: ,p_commit IN VARCHAR2 := Fnd_Api.G_FALSE
4432: ,p_validation_level IN NUMBER := Fnd_Api.G_VALID_LEVEL_FULL
4433:
4434: ,x_return_status OUT NOCOPY VARCHAR2
4427:
4428: PROCEDURE Start_LineApproval(
4429: p_api_version IN NUMBER
4430: ,p_init_msg_list IN VARCHAR2 := Fnd_Api.G_FALSE
4431: ,p_commit IN VARCHAR2 := Fnd_Api.G_FALSE
4432: ,p_validation_level IN NUMBER := Fnd_Api.G_VALID_LEVEL_FULL
4433:
4434: ,x_return_status OUT NOCOPY VARCHAR2
4435: ,x_msg_data OUT NOCOPY VARCHAR2
4428: PROCEDURE Start_LineApproval(
4429: p_api_version IN NUMBER
4430: ,p_init_msg_list IN VARCHAR2 := Fnd_Api.G_FALSE
4431: ,p_commit IN VARCHAR2 := Fnd_Api.G_FALSE
4432: ,p_validation_level IN NUMBER := Fnd_Api.G_VALID_LEVEL_FULL
4433:
4434: ,x_return_status OUT NOCOPY VARCHAR2
4435: ,x_msg_data OUT NOCOPY VARCHAR2
4436: ,x_msg_count OUT NOCOPY NUMBER
4439: ,p_act_budget_id IN NUMBER
4440: ,p_orig_status_id IN NUMBER
4441: ,p_new_status_id IN NUMBER
4442: ,p_rejected_status_id IN NUMBER
4443: ,p_parent_process_flag IN VARCHAR2 := Fnd_Api.G_FALSE
4444: ,p_parent_process_key IN VARCHAR2 -- was g_miss_char
4445: ,p_parent_context IN VARCHAR2 -- was g_miss_char
4446: ,p_parent_approval_flag IN VARCHAR2 := Fnd_Api.G_FALSE
4447: ,p_continue_flow IN VARCHAR2 := Fnd_Api.G_FALSE
4442: ,p_rejected_status_id IN NUMBER
4443: ,p_parent_process_flag IN VARCHAR2 := Fnd_Api.G_FALSE
4444: ,p_parent_process_key IN VARCHAR2 -- was g_miss_char
4445: ,p_parent_context IN VARCHAR2 -- was g_miss_char
4446: ,p_parent_approval_flag IN VARCHAR2 := Fnd_Api.G_FALSE
4447: ,p_continue_flow IN VARCHAR2 := Fnd_Api.G_FALSE
4448: )
4449: IS
4450: l_api_name CONSTANT VARCHAR2(30) := 'Start_LineApproval';
4443: ,p_parent_process_flag IN VARCHAR2 := Fnd_Api.G_FALSE
4444: ,p_parent_process_key IN VARCHAR2 -- was g_miss_char
4445: ,p_parent_context IN VARCHAR2 -- was g_miss_char
4446: ,p_parent_approval_flag IN VARCHAR2 := Fnd_Api.G_FALSE
4447: ,p_continue_flow IN VARCHAR2 := Fnd_Api.G_FALSE
4448: )
4449: IS
4450: l_api_name CONSTANT VARCHAR2(30) := 'Start_LineApproval';
4451: l_api_version CONSTANT NUMBER := 1.0;
4462: BEGIN
4463: -- Standard begin of API savepoint
4464: SAVEPOINT Start_LineApproval_PVT;
4465: -- Standard call to check for call compatibility.
4466: IF NOT Fnd_Api.Compatible_API_Call (
4467: l_api_version,
4468: p_api_version,
4469: l_api_name,
4470: G_PKG_NAME)
4468: p_api_version,
4469: l_api_name,
4470: G_PKG_NAME)
4471: THEN
4472: RAISE Fnd_Api.G_EXC_UNEXPECTED_ERROR;
4473: END IF;
4474: -- Debug Message
4475: IF Fnd_Msg_Pub.Check_Msg_level (Fnd_Msg_Pub.G_MSG_LVL_DEBUG_LOW) THEN
4476: Fnd_Message.Set_Name('AMS','AMS_API_DEBUG_MESSAGE');
4477: Fnd_Message.Set_Token('ROW',l_full_name||': START');
4478: Fnd_Msg_Pub.ADD;
4479: END IF;
4480: --Initialize message list if p_init_msg_list is TRUE.
4481: IF Fnd_Api.To_Boolean (p_init_msg_list) THEN
4482: Fnd_Msg_Pub.initialize;
4483: END IF;
4484: -- Initialize API return status to sucess
4485: x_return_status := Fnd_Api.G_RET_STS_SUCCESS;
4481: IF Fnd_Api.To_Boolean (p_init_msg_list) THEN
4482: Fnd_Msg_Pub.initialize;
4483: END IF;
4484: -- Initialize API return status to sucess
4485: x_return_status := Fnd_Api.G_RET_STS_SUCCESS;
4486:
4487: BEGIN
4488: -- kickoff workflow processes for a line
4489: Start_Process (
4501: WHEN OTHERS THEN
4502: Fnd_Message.Set_Name('AMS','AMS_API_DEBUG_MESSAGE');
4503: Fnd_Message.Set_Token('ROW',SQLERRM);
4504: Fnd_Msg_Pub.ADD;
4505: RAISE Fnd_Api.G_EXC_UNEXPECTED_ERROR;
4506: END;
4507:
4508: --Standard check of commit
4509: IF Fnd_Api.To_Boolean ( p_commit ) THEN
4505: RAISE Fnd_Api.G_EXC_UNEXPECTED_ERROR;
4506: END;
4507:
4508: --Standard check of commit
4509: IF Fnd_Api.To_Boolean ( p_commit ) THEN
4510: COMMIT WORK;
4511: END IF;
4512: -- Debug Message
4513: IF Fnd_Msg_Pub.Check_Msg_level (Fnd_Msg_Pub.G_MSG_LVL_DEBUG_LOW) THEN
4516: Fnd_Msg_Pub.ADD;
4517: END IF;
4518: --Standard call to get message count and if count=1, get the message
4519: Fnd_Msg_Pub.Count_And_Get (
4520: p_encoded => Fnd_Api.G_FALSE,
4521: p_count => x_msg_count,
4522: p_data => x_msg_data
4523: );
4524: EXCEPTION
4521: p_count => x_msg_count,
4522: p_data => x_msg_data
4523: );
4524: EXCEPTION
4525: WHEN Fnd_Api.G_EXC_ERROR THEN
4526: ROLLBACK TO Start_LineApproval_PVT;
4527: x_return_status := Fnd_Api.G_RET_STS_ERROR;
4528: -- Standard call to get message count and if count=1, get the message
4529: Fnd_Msg_Pub.Count_And_Get (
4523: );
4524: EXCEPTION
4525: WHEN Fnd_Api.G_EXC_ERROR THEN
4526: ROLLBACK TO Start_LineApproval_PVT;
4527: x_return_status := Fnd_Api.G_RET_STS_ERROR;
4528: -- Standard call to get message count and if count=1, get the message
4529: Fnd_Msg_Pub.Count_And_Get (
4530: p_encoded => Fnd_Api.G_FALSE,
4531: p_count => x_msg_count,
4526: ROLLBACK TO Start_LineApproval_PVT;
4527: x_return_status := Fnd_Api.G_RET_STS_ERROR;
4528: -- Standard call to get message count and if count=1, get the message
4529: Fnd_Msg_Pub.Count_And_Get (
4530: p_encoded => Fnd_Api.G_FALSE,
4531: p_count => x_msg_count,
4532: p_data => x_msg_data
4533: );
4534: WHEN Fnd_Api.G_EXC_UNEXPECTED_ERROR THEN
4530: p_encoded => Fnd_Api.G_FALSE,
4531: p_count => x_msg_count,
4532: p_data => x_msg_data
4533: );
4534: WHEN Fnd_Api.G_EXC_UNEXPECTED_ERROR THEN
4535: ROLLBACK TO Start_LineApproval_PVT;
4536: x_return_status := Fnd_Api.G_RET_STS_UNEXP_ERROR;
4537: -- Standard call to get message count and if count=1, get the message
4538: Fnd_Msg_Pub.Count_And_Get (
4532: p_data => x_msg_data
4533: );
4534: WHEN Fnd_Api.G_EXC_UNEXPECTED_ERROR THEN
4535: ROLLBACK TO Start_LineApproval_PVT;
4536: x_return_status := Fnd_Api.G_RET_STS_UNEXP_ERROR;
4537: -- Standard call to get message count and if count=1, get the message
4538: Fnd_Msg_Pub.Count_And_Get (
4539: p_encoded => Fnd_Api.G_FALSE,
4540: p_count => x_msg_count,
4535: ROLLBACK TO Start_LineApproval_PVT;
4536: x_return_status := Fnd_Api.G_RET_STS_UNEXP_ERROR;
4537: -- Standard call to get message count and if count=1, get the message
4538: Fnd_Msg_Pub.Count_And_Get (
4539: p_encoded => Fnd_Api.G_FALSE,
4540: p_count => x_msg_count,
4541: p_data => x_msg_data
4542: );
4543: WHEN OTHERS THEN
4541: p_data => x_msg_data
4542: );
4543: WHEN OTHERS THEN
4544: ROLLBACK TO Start_LineApproval_PVT;
4545: x_return_status := Fnd_Api.G_RET_STS_UNEXP_ERROR;
4546: IF Fnd_Msg_Pub.Check_Msg_Level ( Fnd_Msg_Pub.G_MSG_LVL_UNEXP_ERROR)
4547: THEN
4548: Fnd_Msg_Pub.Add_Exc_Msg( G_PKG_NAME,l_api_name);
4549: END IF;
4548: Fnd_Msg_Pub.Add_Exc_Msg( G_PKG_NAME,l_api_name);
4549: END IF;
4550: -- Standard call to get message count and if count=1, get the message
4551: Fnd_Msg_Pub.Count_And_Get (
4552: p_encoded => Fnd_Api.G_FALSE,
4553: p_count => x_msg_count,
4554: p_data => x_msg_data
4555: );
4556: --
4651: -- set the parent context
4652: l_context := itemtype||':'||itemkey||':'||actid;
4653:
4654: -- set continue to true for first line if approval rule already met
4655: IF l_approval_flag = Fnd_Api.G_TRUE THEN
4656: l_continue_flow := Fnd_Api.G_TRUE;
4657: ELSE
4658: l_continue_flow := Fnd_Api.G_FALSE;
4659: END IF;
4652: l_context := itemtype||':'||itemkey||':'||actid;
4653:
4654: -- set continue to true for first line if approval rule already met
4655: IF l_approval_flag = Fnd_Api.G_TRUE THEN
4656: l_continue_flow := Fnd_Api.G_TRUE;
4657: ELSE
4658: l_continue_flow := Fnd_Api.G_FALSE;
4659: END IF;
4660:
4654: -- set continue to true for first line if approval rule already met
4655: IF l_approval_flag = Fnd_Api.G_TRUE THEN
4656: l_continue_flow := Fnd_Api.G_TRUE;
4657: ELSE
4658: l_continue_flow := Fnd_Api.G_FALSE;
4659: END IF;
4660:
4661: -- get all planned budget lines
4662: OPEN planned_lines_csr(l_activity_id, l_activity_type);
4684: */
4685: -- start process for each lines activity lines for approval
4686: Ozf_Actbudgets_Pvt.Update_Act_Budgets (
4687: p_api_version => 1.0,
4688: p_init_msg_list => Fnd_Api.G_FALSE,
4689: p_commit => Fnd_Api.G_FALSE,
4690: p_validation_level => Fnd_Api.G_VALID_LEVEL_FULL,
4691: x_return_status => l_return_status,
4692: x_msg_count => l_msg_count,
4685: -- start process for each lines activity lines for approval
4686: Ozf_Actbudgets_Pvt.Update_Act_Budgets (
4687: p_api_version => 1.0,
4688: p_init_msg_list => Fnd_Api.G_FALSE,
4689: p_commit => Fnd_Api.G_FALSE,
4690: p_validation_level => Fnd_Api.G_VALID_LEVEL_FULL,
4691: x_return_status => l_return_status,
4692: x_msg_count => l_msg_count,
4693: x_msg_data => l_msg_data,
4686: Ozf_Actbudgets_Pvt.Update_Act_Budgets (
4687: p_api_version => 1.0,
4688: p_init_msg_list => Fnd_Api.G_FALSE,
4689: p_commit => Fnd_Api.G_FALSE,
4690: p_validation_level => Fnd_Api.G_VALID_LEVEL_FULL,
4691: x_return_status => l_return_status,
4692: x_msg_count => l_msg_count,
4693: x_msg_data => l_msg_data,
4694: p_act_Budgets_rec => l_budget_rec,
4691: x_return_status => l_return_status,
4692: x_msg_count => l_msg_count,
4693: x_msg_data => l_msg_data,
4694: p_act_Budgets_rec => l_budget_rec,
4695: p_parent_process_flag => Fnd_Api.G_TRUE,
4696: p_parent_process_key => itemkey,
4697: p_parent_context => l_context,
4698: p_parent_approval_flag => l_approval_flag,
4699: p_continue_flow => l_continue_flow );
4697: p_parent_context => l_context,
4698: p_parent_approval_flag => l_approval_flag,
4699: p_continue_flow => l_continue_flow );
4700:
4701: IF l_return_status <> Fnd_Api.G_RET_STS_SUCCESS THEN
4702: --resultout := 'COMPLETE:ERROR';
4703: -- raise exception
4704: RAISE Fnd_Api.G_EXC_ERROR;
4705: END IF;
4700:
4701: IF l_return_status <> Fnd_Api.G_RET_STS_SUCCESS THEN
4702: --resultout := 'COMPLETE:ERROR';
4703: -- raise exception
4704: RAISE Fnd_Api.G_EXC_ERROR;
4705: END IF;
4706:
4707: EXCEPTION
4708: WHEN OTHERS THEN
4709: -- Commented for Bug 2485371
4710: --Fnd_Message.Set_Name('AMS','AMS_API_DEBUG_MESSAGE');
4711: --Fnd_Message.Set_Token('ROW', SQLERRM );
4712: --Fnd_Msg_Pub.ADD;
4713: RAISE Fnd_Api.G_EXC_ERROR;
4714: Fnd_Msg_Pub.Count_And_Get (
4715: p_encoded => Fnd_Api.G_FALSE,
4716: p_count => l_msg_count,
4717: p_data => l_msg_data);
4711: --Fnd_Message.Set_Token('ROW', SQLERRM );
4712: --Fnd_Msg_Pub.ADD;
4713: RAISE Fnd_Api.G_EXC_ERROR;
4714: Fnd_Msg_Pub.Count_And_Get (
4715: p_encoded => Fnd_Api.G_FALSE,
4716: p_count => l_msg_count,
4717: p_data => l_msg_data);
4718: Handle_Err
4719: (p_itemtype => itemtype ,
4724: x_error_msg => l_error_msg);
4725: END;
4726:
4727: -- set continue flow for consequtive lines to false
4728: l_continue_flow := Fnd_Api.G_FALSE;
4729: END LOOP;
4730: CLOSE planned_lines_csr;
4731:
4732: resultout := 'COMPLETE:SUCCESS';
4750: END IF;
4751: --
4752:
4753: EXCEPTION
4754: WHEN Fnd_Api.G_EXC_ERROR THEN
4755: -- raise error if not able to get the budget line
4756: -- Commented for Bug 2485371
4757: --IF Fnd_Msg_Pub.check_msg_level(Fnd_Msg_Pub.g_msg_lvl_error) THEN
4758: -- Fnd_Message.set_name('AMS', 'AMS_BUDGET_LINE_UPDATE_ERROR');
4758: -- Fnd_Message.set_name('AMS', 'AMS_BUDGET_LINE_UPDATE_ERROR');
4759: -- Fnd_Msg_Pub.ADD;
4760: --END IF;
4761: Fnd_Msg_Pub.Count_And_Get (
4762: p_encoded => Fnd_Api.G_FALSE,
4763: p_count => l_msg_count,
4764: p_data => l_msg_data);
4765: Handle_Err
4766: (p_itemtype => itemtype ,
4776: RAISE;
4777: */
4778: WHEN OTHERS THEN
4779: Fnd_Msg_Pub.Count_And_Get (
4780: p_encoded => Fnd_Api.G_FALSE,
4781: p_count => l_msg_count,
4782: p_data => l_msg_data);
4783: Handle_Err
4784: (p_itemtype => itemtype ,
4897: x_notification_timeout => l_notification_timeout,
4898: x_return_status => l_return_status
4899: );
4900:
4901: IF l_return_status <> Fnd_Api.G_RET_STS_SUCCESS THEN
4902: -- raise error
4903: Fnd_Msg_Pub.Count_And_Get(p_encoded => Fnd_Api.G_FALSE,
4904: p_count => l_msg_count,
4905: p_data => l_msg_data);
4899: );
4900:
4901: IF l_return_status <> Fnd_Api.G_RET_STS_SUCCESS THEN
4902: -- raise error
4903: Fnd_Msg_Pub.Count_And_Get(p_encoded => Fnd_Api.G_FALSE,
4904: p_count => l_msg_count,
4905: p_data => l_msg_data);
4906:
4907: Handle_Err (p_itemtype => itemtype ,
4952: l_appr_hist_rec.approver_id := l_obj_appr_id;
4953:
4954: AMS_Appr_Hist_PVT.Create_Appr_Hist(
4955: p_api_version_number => 1.0,
4956: p_init_msg_list => FND_API.G_FALSE,
4957: p_commit => FND_API.G_FALSE,
4958: p_validation_level => FND_API.G_VALID_LEVEL_FULL,
4959: x_return_status => l_return_status,
4960: x_msg_count => l_msg_count,
4953:
4954: AMS_Appr_Hist_PVT.Create_Appr_Hist(
4955: p_api_version_number => 1.0,
4956: p_init_msg_list => FND_API.G_FALSE,
4957: p_commit => FND_API.G_FALSE,
4958: p_validation_level => FND_API.G_VALID_LEVEL_FULL,
4959: x_return_status => l_return_status,
4960: x_msg_count => l_msg_count,
4961: x_msg_data => l_msg_data,
4954: AMS_Appr_Hist_PVT.Create_Appr_Hist(
4955: p_api_version_number => 1.0,
4956: p_init_msg_list => FND_API.G_FALSE,
4957: p_commit => FND_API.G_FALSE,
4958: p_validation_level => FND_API.G_VALID_LEVEL_FULL,
4959: x_return_status => l_return_status,
4960: x_msg_count => l_msg_count,
4961: x_msg_data => l_msg_data,
4962: p_appr_hist_rec => l_appr_hist_rec
4961: x_msg_data => l_msg_data,
4962: p_appr_hist_rec => l_appr_hist_rec
4963: );
4964:
4965: IF l_return_status <> Fnd_Api.G_RET_STS_SUCCESS THEN
4966: CLOSE c_approver;
4967: RAISE Fnd_Api.G_EXC_ERROR;
4968: END IF;
4969:
4963: );
4964:
4965: IF l_return_status <> Fnd_Api.G_RET_STS_SUCCESS THEN
4966: CLOSE c_approver;
4967: RAISE Fnd_Api.G_EXC_ERROR;
4968: END IF;
4969:
4970: END LOOP;
4971: CLOSE c_approver;
4986: IF (l_return_status = 'S') THEN
4987: l_object_approver_id := l_appr_id;
4988: ELSE
4989: FND_MSG_PUB.Count_And_Get (
4990: p_encoded => FND_API.G_FALSE,
4991: p_count => l_msg_count,
4992: p_data => l_msg_data
4993: );
4994: Handle_Err
5014: x_role_display_name => l_approver_display_name,
5015: x_return_status => l_return_status
5016: );
5017:
5018: IF l_return_status <> Fnd_Api.G_RET_STS_SUCCESS THEN
5019: RAISE Fnd_Api.G_EXC_ERROR;
5020: END IF;
5021:
5022: l_prev_role_name := Wf_Engine.GetItemAttrText(
5015: x_return_status => l_return_status
5016: );
5017:
5018: IF l_return_status <> Fnd_Api.G_RET_STS_SUCCESS THEN
5019: RAISE Fnd_Api.G_EXC_ERROR;
5020: END IF;
5021:
5022: l_prev_role_name := Wf_Engine.GetItemAttrText(
5023: itemtype => itemtype,
5057: x_msg_data => l_msg_data,
5058: x_return_status => l_return_status);
5059: END IF;
5060:
5061: IF l_return_status <> Fnd_Api.G_RET_STS_SUCCESS THEN
5062: RAISE Fnd_Api.G_EXC_ERROR;
5063: END IF;
5064:
5065: -- get all the budget line notes
5058: x_return_status => l_return_status);
5059: END IF;
5060:
5061: IF l_return_status <> Fnd_Api.G_RET_STS_SUCCESS THEN
5062: RAISE Fnd_Api.G_EXC_ERROR;
5063: END IF;
5064:
5065: -- get all the budget line notes
5066: l_all_note := Wf_Engine.GetItemAttrText(
5126:
5127:
5128: AMS_Appr_Hist_PVT.Update_Appr_Hist(
5129: p_api_version_number => 1.0,
5130: p_init_msg_list => FND_API.G_FALSE,
5131: p_commit => FND_API.G_FALSE,
5132: p_validation_level => FND_API.G_VALID_LEVEL_FULL,
5133: x_return_status => l_return_status,
5134: x_msg_count => l_msg_count,
5127:
5128: AMS_Appr_Hist_PVT.Update_Appr_Hist(
5129: p_api_version_number => 1.0,
5130: p_init_msg_list => FND_API.G_FALSE,
5131: p_commit => FND_API.G_FALSE,
5132: p_validation_level => FND_API.G_VALID_LEVEL_FULL,
5133: x_return_status => l_return_status,
5134: x_msg_count => l_msg_count,
5135: x_msg_data => l_msg_data,
5128: AMS_Appr_Hist_PVT.Update_Appr_Hist(
5129: p_api_version_number => 1.0,
5130: p_init_msg_list => FND_API.G_FALSE,
5131: p_commit => FND_API.G_FALSE,
5132: p_validation_level => FND_API.G_VALID_LEVEL_FULL,
5133: x_return_status => l_return_status,
5134: x_msg_count => l_msg_count,
5135: x_msg_data => l_msg_data,
5136: p_appr_hist_rec => l_appr_hist_rec
5135: x_msg_data => l_msg_data,
5136: p_appr_hist_rec => l_appr_hist_rec
5137: );
5138:
5139: IF l_return_status <> Fnd_Api.G_RET_STS_SUCCESS THEN
5140: RAISE Fnd_Api.G_EXC_ERROR;
5141: END IF;
5142:
5143: resultout := 'COMPLETE:SUCCESS';
5136: p_appr_hist_rec => l_appr_hist_rec
5137: );
5138:
5139: IF l_return_status <> Fnd_Api.G_RET_STS_SUCCESS THEN
5140: RAISE Fnd_Api.G_EXC_ERROR;
5141: END IF;
5142:
5143: resultout := 'COMPLETE:SUCCESS';
5144: RETURN;
5161: END IF;
5162: --
5163:
5164: EXCEPTION
5165: WHEN Fnd_Api.G_EXC_ERROR THEN
5166: Fnd_Msg_Pub.Count_And_Get (
5167: p_encoded => Fnd_Api.G_FALSE,
5168: p_count => l_msg_count,
5169: p_data => l_msg_data);
5163:
5164: EXCEPTION
5165: WHEN Fnd_Api.G_EXC_ERROR THEN
5166: Fnd_Msg_Pub.Count_And_Get (
5167: p_encoded => Fnd_Api.G_FALSE,
5168: p_count => l_msg_count,
5169: p_data => l_msg_data);
5170: Handle_Err
5171: (p_itemtype => itemtype ,
5177: resultout := 'COMPLETE:ERROR';
5178:
5179: WHEN OTHERS THEN
5180: Fnd_Msg_Pub.Count_And_Get (
5181: p_encoded => Fnd_Api.G_FALSE,
5182: p_count => l_msg_count,
5183: p_data => l_msg_data);
5184: Handle_Err
5185: (p_itemtype => itemtype ,
5308: itemkey => itemkey,
5309: x_approver_id => l_new_approver_id,
5310: x_return_status => l_return_status);
5311:
5312: IF l_return_status <> Fnd_Api.G_RET_STS_SUCCESS THEN
5313: RAISE Fnd_Api.G_EXC_ERROR;
5314: END IF;
5315:
5316: IF l_new_approver_id IS NOT NULL THEN
5309: x_approver_id => l_new_approver_id,
5310: x_return_status => l_return_status);
5311:
5312: IF l_return_status <> Fnd_Api.G_RET_STS_SUCCESS THEN
5313: RAISE Fnd_Api.G_EXC_ERROR;
5314: END IF;
5315:
5316: IF l_new_approver_id IS NOT NULL THEN
5317: l_approver_id := l_new_approver_id;
5334:
5335:
5336: AMS_Appr_Hist_PVT.Update_Appr_Hist(
5337: p_api_version_number => 1.0,
5338: p_init_msg_list => FND_API.G_FALSE,
5339: p_commit => FND_API.G_FALSE,
5340: p_validation_level => FND_API.G_VALID_LEVEL_FULL,
5341: x_return_status => l_return_status,
5342: x_msg_count => l_msg_count,
5335:
5336: AMS_Appr_Hist_PVT.Update_Appr_Hist(
5337: p_api_version_number => 1.0,
5338: p_init_msg_list => FND_API.G_FALSE,
5339: p_commit => FND_API.G_FALSE,
5340: p_validation_level => FND_API.G_VALID_LEVEL_FULL,
5341: x_return_status => l_return_status,
5342: x_msg_count => l_msg_count,
5343: x_msg_data => l_msg_data,
5336: AMS_Appr_Hist_PVT.Update_Appr_Hist(
5337: p_api_version_number => 1.0,
5338: p_init_msg_list => FND_API.G_FALSE,
5339: p_commit => FND_API.G_FALSE,
5340: p_validation_level => FND_API.G_VALID_LEVEL_FULL,
5341: x_return_status => l_return_status,
5342: x_msg_count => l_msg_count,
5343: x_msg_data => l_msg_data,
5344: p_appr_hist_rec => l_appr_hist_rec
5343: x_msg_data => l_msg_data,
5344: p_appr_hist_rec => l_appr_hist_rec
5345: );
5346:
5347: IF l_return_status <> Fnd_Api.G_RET_STS_SUCCESS THEN
5348: RAISE Fnd_Api.G_EXC_ERROR;
5349: END IF;
5350:
5351: --IF l_required_flag = FND_API.G_TRUE THEN
5344: p_appr_hist_rec => l_appr_hist_rec
5345: );
5346:
5347: IF l_return_status <> Fnd_Api.G_RET_STS_SUCCESS THEN
5348: RAISE Fnd_Api.G_EXC_ERROR;
5349: END IF;
5350:
5351: --IF l_required_flag = FND_API.G_TRUE THEN
5352: IF l_next_seq IS NOT NULL THEN
5347: IF l_return_status <> Fnd_Api.G_RET_STS_SUCCESS THEN
5348: RAISE Fnd_Api.G_EXC_ERROR;
5349: END IF;
5350:
5351: --IF l_required_flag = FND_API.G_TRUE THEN
5352: IF l_next_seq IS NOT NULL THEN
5353: --
5354: Wf_Engine.SetItemAttrNumber(itemtype => itemtype,
5355: itemkey => itemkey,
5381: END IF;
5382: --
5383:
5384: EXCEPTION
5385: WHEN Fnd_Api.G_EXC_ERROR THEN
5386: Fnd_Msg_Pub.Count_And_Get (
5387: p_encoded => Fnd_Api.G_FALSE,
5388: p_count => l_msg_count,
5389: p_data => l_msg_data);
5383:
5384: EXCEPTION
5385: WHEN Fnd_Api.G_EXC_ERROR THEN
5386: Fnd_Msg_Pub.Count_And_Get (
5387: p_encoded => Fnd_Api.G_FALSE,
5388: p_count => l_msg_count,
5389: p_data => l_msg_data);
5390: Handle_Err
5391: (p_itemtype => itemtype ,
5404: Fnd_Message.Set_Token('ROW',SQLERRM);
5405: Fnd_Msg_Pub.ADD;
5406: END IF;
5407: Fnd_Msg_Pub.Count_And_Get (
5408: p_encoded => Fnd_Api.G_FALSE,
5409: p_count => l_msg_count,
5410: p_data => l_msg_data);
5411: Handle_Err
5412: (p_itemtype => itemtype ,
5534: -- update to approved
5535: -- Changed Hard code form USD l_approved_currency
5536: Ozf_Budgetapproval_Pvt.WF_Respond (
5537: p_api_version => 1.0,
5538: p_init_msg_list => Fnd_Api.G_FALSE,
5539: p_commit => Fnd_Api.G_TRUE,
5540: p_validation_level => Fnd_Api.G_VALID_LEVEL_FULL,
5541: x_return_status => l_return_status,
5542: x_msg_count => l_msg_count,
5535: -- Changed Hard code form USD l_approved_currency
5536: Ozf_Budgetapproval_Pvt.WF_Respond (
5537: p_api_version => 1.0,
5538: p_init_msg_list => Fnd_Api.G_FALSE,
5539: p_commit => Fnd_Api.G_TRUE,
5540: p_validation_level => Fnd_Api.G_VALID_LEVEL_FULL,
5541: x_return_status => l_return_status,
5542: x_msg_count => l_msg_count,
5543: x_msg_data => l_msg_data,
5536: Ozf_Budgetapproval_Pvt.WF_Respond (
5537: p_api_version => 1.0,
5538: p_init_msg_list => Fnd_Api.G_FALSE,
5539: p_commit => Fnd_Api.G_TRUE,
5540: p_validation_level => Fnd_Api.G_VALID_LEVEL_FULL,
5541: x_return_status => l_return_status,
5542: x_msg_count => l_msg_count,
5543: x_msg_data => l_msg_data,
5544: p_respond_status_id => l_approved_status_id,
5547: p_approved_amount => l_approved_amount,
5548: p_approved_currency => l_approved_currency,
5549: p_comment => l_comment);
5550:
5551: IF l_return_status <> Fnd_Api.G_RET_STS_SUCCESS THEN
5552: Fnd_Msg_Pub.Count_And_Get (
5553: p_encoded => Fnd_Api.G_FALSE,
5554: p_count => l_msg_count,
5555: p_data => l_msg_data);
5549: p_comment => l_comment);
5550:
5551: IF l_return_status <> Fnd_Api.G_RET_STS_SUCCESS THEN
5552: Fnd_Msg_Pub.Count_And_Get (
5553: p_encoded => Fnd_Api.G_FALSE,
5554: p_count => l_msg_count,
5555: p_data => l_msg_data);
5556: Handle_Err
5557: (p_itemtype => itemtype ,
5568: WHEN OTHERS THEN
5569: Fnd_Message.Set_Name('AMS','AMS_API_DEBUG_MESSAGE');
5570: Fnd_Message.Set_Token('ROW', SQLERRM );
5571: Fnd_Msg_Pub.ADD;
5572: RAISE Fnd_Api.G_EXC_ERROR;
5573: END;
5574:
5575: resultout := 'COMPLETE:SUCCESS';
5576: RETURN;
5594: END IF;
5595: --
5596:
5597: EXCEPTION
5598: WHEN Fnd_Api.G_EXC_ERROR THEN
5599: Fnd_Msg_Pub.Count_And_Get (
5600: p_encoded => Fnd_Api.G_FALSE,
5601: p_count => l_msg_count,
5602: p_data => l_msg_data);
5596:
5597: EXCEPTION
5598: WHEN Fnd_Api.G_EXC_ERROR THEN
5599: Fnd_Msg_Pub.Count_And_Get (
5600: p_encoded => Fnd_Api.G_FALSE,
5601: p_count => l_msg_count,
5602: p_data => l_msg_data);
5603: Handle_Err
5604: (p_itemtype => itemtype ,
5612: itemtype, itemkey,TO_CHAR(actid),l_error_msg);
5613: RAISE;
5614: WHEN OTHERS THEN
5615: Fnd_Msg_Pub.Count_And_Get (
5616: p_encoded => Fnd_Api.G_FALSE,
5617: p_count => l_msg_count,
5618: p_data => l_msg_data);
5619: Handle_Err
5620: (p_itemtype => itemtype ,
5760: BEGIN
5761: -- update to rejected
5762: Ozf_Budgetapproval_Pvt.WF_Respond (
5763: p_api_version => 1.0,
5764: p_init_msg_list => Fnd_Api.G_FALSE,
5765: p_commit => Fnd_Api.G_TRUE,
5766: p_validation_level => Fnd_Api.G_VALID_LEVEL_FULL,
5767: x_return_status => l_return_status,
5768: x_msg_count => l_msg_count,
5761: -- update to rejected
5762: Ozf_Budgetapproval_Pvt.WF_Respond (
5763: p_api_version => 1.0,
5764: p_init_msg_list => Fnd_Api.G_FALSE,
5765: p_commit => Fnd_Api.G_TRUE,
5766: p_validation_level => Fnd_Api.G_VALID_LEVEL_FULL,
5767: x_return_status => l_return_status,
5768: x_msg_count => l_msg_count,
5769: x_msg_data => l_msg_data,
5762: Ozf_Budgetapproval_Pvt.WF_Respond (
5763: p_api_version => 1.0,
5764: p_init_msg_list => Fnd_Api.G_FALSE,
5765: p_commit => Fnd_Api.G_TRUE,
5766: p_validation_level => Fnd_Api.G_VALID_LEVEL_FULL,
5767: x_return_status => l_return_status,
5768: x_msg_count => l_msg_count,
5769: x_msg_data => l_msg_data,
5770: p_respond_status_id => l_rejected_status_id,
5773: p_approved_amount => l_approved_amount,
5774: p_approved_currency => l_approved_currency,
5775: p_comment => l_comment);
5776:
5777: IF l_return_status <> Fnd_Api.G_RET_STS_SUCCESS THEN
5778: Fnd_Msg_Pub.Count_And_Get (
5779: p_encoded => Fnd_Api.G_FALSE,
5780: p_count => l_msg_count,
5781: p_data => l_msg_data);
5775: p_comment => l_comment);
5776:
5777: IF l_return_status <> Fnd_Api.G_RET_STS_SUCCESS THEN
5778: Fnd_Msg_Pub.Count_And_Get (
5779: p_encoded => Fnd_Api.G_FALSE,
5780: p_count => l_msg_count,
5781: p_data => l_msg_data);
5782: Handle_Err
5783: (p_itemtype => itemtype ,
5794: WHEN OTHERS THEN
5795: Fnd_Message.Set_Name('AMS','AMS_API_DEBUG_MESSAGE');
5796: Fnd_Message.Set_Token('ROW', SQLERRM );
5797: Fnd_Msg_Pub.ADD;
5798: RAISE Fnd_Api.G_EXC_ERROR;
5799: END;
5800: -- Commented for bug 3150550
5801: -- Start of addition for forward/reassign notification
5802: /*
5804: itemkey => itemkey,
5805: x_approver_id => l_new_approver_id,
5806: x_return_status => l_return_status);
5807:
5808: IF l_return_status <> Fnd_Api.G_RET_STS_SUCCESS THEN
5809: RAISE Fnd_Api.G_EXC_ERROR;
5810: END IF;
5811:
5812: IF l_new_approver_id IS NOT NULL THEN
5805: x_approver_id => l_new_approver_id,
5806: x_return_status => l_return_status);
5807:
5808: IF l_return_status <> Fnd_Api.G_RET_STS_SUCCESS THEN
5809: RAISE Fnd_Api.G_EXC_ERROR;
5810: END IF;
5811:
5812: IF l_new_approver_id IS NOT NULL THEN
5813: l_approver_id := l_new_approver_id;
5829: l_appr_hist_rec.approver_id := l_approver_id;
5830:
5831: AMS_Appr_Hist_PVT.Update_Appr_Hist(
5832: p_api_version_number => 1.0,
5833: p_init_msg_list => FND_API.G_FALSE,
5834: p_commit => FND_API.G_FALSE,
5835: p_validation_level => FND_API.G_VALID_LEVEL_FULL,
5836: x_return_status => l_return_status,
5837: x_msg_count => l_msg_count,
5830:
5831: AMS_Appr_Hist_PVT.Update_Appr_Hist(
5832: p_api_version_number => 1.0,
5833: p_init_msg_list => FND_API.G_FALSE,
5834: p_commit => FND_API.G_FALSE,
5835: p_validation_level => FND_API.G_VALID_LEVEL_FULL,
5836: x_return_status => l_return_status,
5837: x_msg_count => l_msg_count,
5838: x_msg_data => l_msg_data,
5831: AMS_Appr_Hist_PVT.Update_Appr_Hist(
5832: p_api_version_number => 1.0,
5833: p_init_msg_list => FND_API.G_FALSE,
5834: p_commit => FND_API.G_FALSE,
5835: p_validation_level => FND_API.G_VALID_LEVEL_FULL,
5836: x_return_status => l_return_status,
5837: x_msg_count => l_msg_count,
5838: x_msg_data => l_msg_data,
5839: p_appr_hist_rec => l_appr_hist_rec
5838: x_msg_data => l_msg_data,
5839: p_appr_hist_rec => l_appr_hist_rec
5840: );
5841:
5842: IF l_return_status <> Fnd_Api.G_RET_STS_SUCCESS THEN
5843: RAISE Fnd_Api.G_EXC_ERROR;
5844: END IF;
5845:
5846: -- Delete any 'OPEN' rows
5839: p_appr_hist_rec => l_appr_hist_rec
5840: );
5841:
5842: IF l_return_status <> Fnd_Api.G_RET_STS_SUCCESS THEN
5843: RAISE Fnd_Api.G_EXC_ERROR;
5844: END IF;
5845:
5846: -- Delete any 'OPEN' rows
5847: AMS_Appr_Hist_PVT.Delete_Appr_Hist(
5845:
5846: -- Delete any 'OPEN' rows
5847: AMS_Appr_Hist_PVT.Delete_Appr_Hist(
5848: p_api_version_number => 1.0,
5849: p_init_msg_list => FND_API.G_FALSE,
5850: p_commit => FND_API.G_FALSE,
5851: p_validation_level => FND_API.G_VALID_LEVEL_FULL,
5852: x_return_status => l_return_status,
5853: x_msg_count => l_msg_count,
5846: -- Delete any 'OPEN' rows
5847: AMS_Appr_Hist_PVT.Delete_Appr_Hist(
5848: p_api_version_number => 1.0,
5849: p_init_msg_list => FND_API.G_FALSE,
5850: p_commit => FND_API.G_FALSE,
5851: p_validation_level => FND_API.G_VALID_LEVEL_FULL,
5852: x_return_status => l_return_status,
5853: x_msg_count => l_msg_count,
5854: x_msg_data => l_msg_data,
5847: AMS_Appr_Hist_PVT.Delete_Appr_Hist(
5848: p_api_version_number => 1.0,
5849: p_init_msg_list => FND_API.G_FALSE,
5850: p_commit => FND_API.G_FALSE,
5851: p_validation_level => FND_API.G_VALID_LEVEL_FULL,
5852: x_return_status => l_return_status,
5853: x_msg_count => l_msg_count,
5854: x_msg_data => l_msg_data,
5855: p_object_id => l_act_budget_id,
5858: p_action_code => 'OPEN',
5859: p_object_version_num => l_version,
5860: p_approval_type => 'BUDGET');
5861:
5862: IF l_return_status <> Fnd_Api.G_RET_STS_SUCCESS THEN
5863: RAISE Fnd_Api.G_EXC_ERROR;
5864: END IF;
5865:
5866: resultout := 'COMPLETE:SUCCESS';
5859: p_object_version_num => l_version,
5860: p_approval_type => 'BUDGET');
5861:
5862: IF l_return_status <> Fnd_Api.G_RET_STS_SUCCESS THEN
5863: RAISE Fnd_Api.G_EXC_ERROR;
5864: END IF;
5865:
5866: resultout := 'COMPLETE:SUCCESS';
5867: RETURN;
5885: END IF;
5886: --
5887:
5888: EXCEPTION
5889: WHEN Fnd_Api.G_EXC_ERROR THEN
5890: Fnd_Msg_Pub.Count_And_Get (
5891: p_encoded => Fnd_Api.G_FALSE,
5892: p_count => l_msg_count,
5893: p_data => l_msg_data);
5887:
5888: EXCEPTION
5889: WHEN Fnd_Api.G_EXC_ERROR THEN
5890: Fnd_Msg_Pub.Count_And_Get (
5891: p_encoded => Fnd_Api.G_FALSE,
5892: p_count => l_msg_count,
5893: p_data => l_msg_data);
5894: Handle_Err
5895: (p_itemtype => itemtype ,
5903: itemtype, itemkey,TO_CHAR(actid),l_error_msg);
5904: RAISE;
5905: WHEN OTHERS THEN
5906: Fnd_Msg_Pub.Count_And_Get (
5907: p_encoded => Fnd_Api.G_FALSE,
5908: p_count => l_msg_count,
5909: p_data => l_msg_data);
5910: Handle_Err
5911: (p_itemtype => itemtype ,
6008: -- even during revert
6009:
6010: Ozf_Budgetapproval_Pvt.WF_Respond (
6011: p_api_version => 1.0,
6012: p_init_msg_list => Fnd_Api.G_FALSE,
6013: p_commit => Fnd_Api.G_TRUE,
6014: p_validation_level => Fnd_Api.G_VALID_LEVEL_NONE,
6015: x_return_status => l_return_status,
6016: x_msg_count => l_msg_count,
6009:
6010: Ozf_Budgetapproval_Pvt.WF_Respond (
6011: p_api_version => 1.0,
6012: p_init_msg_list => Fnd_Api.G_FALSE,
6013: p_commit => Fnd_Api.G_TRUE,
6014: p_validation_level => Fnd_Api.G_VALID_LEVEL_NONE,
6015: x_return_status => l_return_status,
6016: x_msg_count => l_msg_count,
6017: x_msg_data => l_msg_data,
6010: Ozf_Budgetapproval_Pvt.WF_Respond (
6011: p_api_version => 1.0,
6012: p_init_msg_list => Fnd_Api.G_FALSE,
6013: p_commit => Fnd_Api.G_TRUE,
6014: p_validation_level => Fnd_Api.G_VALID_LEVEL_NONE,
6015: x_return_status => l_return_status,
6016: x_msg_count => l_msg_count,
6017: x_msg_data => l_msg_data,
6018: p_respond_status_id => NULL,
6021: p_approved_amount => l_approved_amount,
6022: p_approved_currency => l_approved_currency,
6023: p_comment => l_comment);
6024:
6025: IF l_return_status <> Fnd_Api.G_RET_STS_SUCCESS THEN
6026: Fnd_Message.Set_Name('AMS','AMS_API_DEBUG_MESSAGE');
6027: --Fnd_Message.Set_Token('ROW', SQLERRM );
6028: Fnd_Msg_Pub.ADD;
6029:
6027: --Fnd_Message.Set_Token('ROW', SQLERRM );
6028: Fnd_Msg_Pub.ADD;
6029:
6030: Fnd_Msg_Pub.Count_And_Get (
6031: p_encoded => Fnd_Api.G_FALSE,
6032: p_count => l_msg_count,
6033: p_data => l_msg_data);
6034: Handle_Err
6035: (p_itemtype => itemtype ,
6047: WHEN OTHERS THEN
6048: Fnd_Message.Set_Name('AMS','AMS_API_DEBUG_MESSAGE');
6049: Fnd_Message.Set_Token('ROW', SQLERRM );
6050: Fnd_Msg_Pub.ADD;
6051: RAISE Fnd_Api.G_EXC_ERROR;
6052: END;
6053:
6054: -- 11.5.9 addition
6055: l_version := Wf_Engine.GetItemAttrNumber(
6059:
6060: -- Delete all rows
6061: AMS_Appr_Hist_PVT.Delete_Appr_Hist(
6062: p_api_version_number => 1.0,
6063: p_init_msg_list => FND_API.G_FALSE,
6064: p_commit => FND_API.G_FALSE,
6065: p_validation_level => FND_API.G_VALID_LEVEL_FULL,
6066: x_return_status => l_return_status,
6067: x_msg_count => l_msg_count,
6060: -- Delete all rows
6061: AMS_Appr_Hist_PVT.Delete_Appr_Hist(
6062: p_api_version_number => 1.0,
6063: p_init_msg_list => FND_API.G_FALSE,
6064: p_commit => FND_API.G_FALSE,
6065: p_validation_level => FND_API.G_VALID_LEVEL_FULL,
6066: x_return_status => l_return_status,
6067: x_msg_count => l_msg_count,
6068: x_msg_data => l_msg_data,
6061: AMS_Appr_Hist_PVT.Delete_Appr_Hist(
6062: p_api_version_number => 1.0,
6063: p_init_msg_list => FND_API.G_FALSE,
6064: p_commit => FND_API.G_FALSE,
6065: p_validation_level => FND_API.G_VALID_LEVEL_FULL,
6066: x_return_status => l_return_status,
6067: x_msg_count => l_msg_count,
6068: x_msg_data => l_msg_data,
6069: p_object_id => l_act_budget_id,
6072: p_action_code => null,
6073: p_object_version_num => l_version,
6074: p_approval_type => 'BUDGET');
6075:
6076: IF l_return_status <> Fnd_Api.G_RET_STS_SUCCESS THEN
6077: RAISE Fnd_Api.G_EXC_ERROR;
6078: END IF;
6079:
6080: -- end 11.5.9 addition
6073: p_object_version_num => l_version,
6074: p_approval_type => 'BUDGET');
6075:
6076: IF l_return_status <> Fnd_Api.G_RET_STS_SUCCESS THEN
6077: RAISE Fnd_Api.G_EXC_ERROR;
6078: END IF;
6079:
6080: -- end 11.5.9 addition
6081: resultout := 'COMPLETE:SUCCESS';
6100: END IF;
6101: --
6102:
6103: EXCEPTION
6104: WHEN Fnd_Api.G_EXC_ERROR THEN
6105: Fnd_Msg_Pub.Count_And_Get (
6106: p_encoded => Fnd_Api.G_FALSE,
6107: p_count => l_msg_count,
6108: p_data => l_msg_data);
6102:
6103: EXCEPTION
6104: WHEN Fnd_Api.G_EXC_ERROR THEN
6105: Fnd_Msg_Pub.Count_And_Get (
6106: p_encoded => Fnd_Api.G_FALSE,
6107: p_count => l_msg_count,
6108: p_data => l_msg_data);
6109: Handle_Err
6110: (p_itemtype => itemtype ,
6118: itemtype, itemkey,TO_CHAR(actid),l_error_msg);
6119: RAISE;
6120: WHEN OTHERS THEN
6121: Fnd_Msg_Pub.Count_And_Get (
6122: p_encoded => Fnd_Api.G_FALSE,
6123: p_count => l_msg_count,
6124: p_data => l_msg_data);
6125: Handle_Err
6126: (p_itemtype => itemtype ,
6177: itemtype => itemtype,
6178: itemkey => itemkey,
6179: aname => 'AMS_PARENT_WAITING' );
6180:
6181: IF l_parent_waiting_flag = Fnd_Api.G_TRUE THEN
6182: resultout := 'COMPLETE:Y';
6183: RETURN;
6184: ELSE
6185: resultout := 'COMPLETE:N';
6212: Fnd_Message.Set_Token('ROW',SQLERRM);
6213: Fnd_Msg_Pub.ADD;
6214: END IF;
6215: Fnd_Msg_Pub.Count_And_Get (
6216: p_encoded => Fnd_Api.G_FALSE,
6217: p_count => l_msg_count,
6218: p_data => l_msg_data);
6219: Handle_Err
6220: (p_itemtype => itemtype ,
6302: aname => 'AMS_CONTINUEFLOW',
6303: avalue => 'CONTINUEFLOW');
6304:
6305: -- check condition for approval flag coming from parent
6306: IF l_parent_approval_flag = Fnd_Api.G_FALSE THEN
6307: -- check if activity meets the approval condition
6308: Get_Approval_Rules(p_activity_type => l_activity_type ,
6309: p_activity_id => l_activity_id,
6310: p_activity_amount => l_approval_amount,
6309: p_activity_id => l_activity_id,
6310: p_activity_amount => l_approval_amount,
6311: x_approved_flag => l_approval_flag );
6312:
6313: IF l_approval_flag = Fnd_Api.G_TRUE THEN
6314: -- set continue to true
6315: l_continue_flag := Fnd_Api.G_TRUE;
6316:
6317: Wf_Engine.SetItemAttrText(itemtype => itemtype,
6311: x_approved_flag => l_approval_flag );
6312:
6313: IF l_approval_flag = Fnd_Api.G_TRUE THEN
6314: -- set continue to true
6315: l_continue_flag := Fnd_Api.G_TRUE;
6316:
6317: Wf_Engine.SetItemAttrText(itemtype => itemtype,
6318: itemkey => itemkey,
6319: aname => 'AMS_CONTINUE_FLOW',
6360: Fnd_Message.Set_Token('ROW',SQLERRM);
6361: Fnd_Msg_Pub.ADD;
6362: END IF;
6363: Fnd_Msg_Pub.Count_And_Get (
6364: p_encoded => Fnd_Api.G_FALSE,
6365: p_count => l_msg_count,
6366: p_data => l_msg_data);
6367: Handle_Err
6368: (p_itemtype => itemtype ,
6442: FETCH lines_due_csr INTO l_line_id;
6443: CLOSE lines_due_csr;
6444:
6445: IF l_line_id IS NOT NULL THEN
6446: l_remaining_flag := Fnd_Api.G_TRUE;
6447: ELSE
6448: l_remaining_flag := Fnd_Api.G_FALSE;
6449: END IF;
6450:
6444:
6445: IF l_line_id IS NOT NULL THEN
6446: l_remaining_flag := Fnd_Api.G_TRUE;
6447: ELSE
6448: l_remaining_flag := Fnd_Api.G_FALSE;
6449: END IF;
6450:
6451: -- continue to parent if no more lines remain
6452: IF l_remaining_flag = Fnd_Api.G_FALSE THEN
6448: l_remaining_flag := Fnd_Api.G_FALSE;
6449: END IF;
6450:
6451: -- continue to parent if no more lines remain
6452: IF l_remaining_flag = Fnd_Api.G_FALSE THEN
6453: -- set continue to true
6454: l_continue_flag := Fnd_Api.G_TRUE;
6455:
6456: Wf_Engine.SetItemAttrText(itemtype => itemtype,
6450:
6451: -- continue to parent if no more lines remain
6452: IF l_remaining_flag = Fnd_Api.G_FALSE THEN
6453: -- set continue to true
6454: l_continue_flag := Fnd_Api.G_TRUE;
6455:
6456: Wf_Engine.SetItemAttrText(itemtype => itemtype,
6457: itemkey => itemkey,
6458: aname => 'AMS_CONTINUE_FLOW',
6490: Fnd_Message.Set_Token('ROW',SQLERRM);
6491: Fnd_Msg_Pub.ADD;
6492: END IF;
6493: Fnd_Msg_Pub.Count_And_Get (
6494: p_encoded => Fnd_Api.G_FALSE,
6495: p_count => l_msg_count,
6496: p_data => l_msg_data);
6497: Handle_Err
6498: (p_itemtype => itemtype ,
6563: itemtype => itemtype,
6564: itemkey => itemkey,
6565: aname => 'AMS_CONTINUE_FLOW' );
6566:
6567: IF l_continue_flag = Fnd_Api.G_TRUE THEN
6568: -- get the activity id
6569: l_activity_id := Wf_Engine.GetItemAttrNumber(
6570: itemtype => itemtype,
6571: itemkey => itemkey,
6584: aname => 'AMS_PARENT_ITEMKEY' );
6585:
6586: -- set continue flow to FALSE for other lines in the same activity
6587: --
6588: l_continue_flag := Fnd_Api.G_FALSE;
6589: l_parent_approved := Fnd_Api.G_TRUE;
6590:
6591: OPEN pending_lines_csr(l_activity_id, l_activity_type);
6592: LOOP
6585:
6586: -- set continue flow to FALSE for other lines in the same activity
6587: --
6588: l_continue_flag := Fnd_Api.G_FALSE;
6589: l_parent_approved := Fnd_Api.G_TRUE;
6590:
6591: OPEN pending_lines_csr(l_activity_id, l_activity_type);
6592: LOOP
6593: FETCH pending_lines_csr INTO l_line_id, l_version;
6641: Fnd_Message.Set_Token('ROW',SQLERRM);
6642: Fnd_Msg_Pub.ADD;
6643: END IF;
6644: Fnd_Msg_Pub.Count_And_Get (
6645: p_encoded => Fnd_Api.G_FALSE,
6646: p_count => l_msg_count,
6647: p_data => l_msg_data);
6648: Handle_Err
6649: (p_itemtype => itemtype ,
6744: Fnd_Message.Set_Token('ROW',SQLERRM);
6745: Fnd_Msg_Pub.ADD;
6746: END IF;
6747: Fnd_Msg_Pub.Count_And_Get (
6748: p_encoded => Fnd_Api.G_FALSE,
6749: p_count => l_msg_count,
6750: p_data => l_msg_data);
6751: Handle_Err
6752: (p_itemtype => itemtype ,
6842: avalue => p_usedby_object_type_name );
6843:
6844:
6845:
6846: -- l_return_status := FND_API.G_RET_STS_SUCCESS;
6847:
6848: -- check for description of activity
6849:
6850: -- Setting up the role
6852: x_role_name => l_delv_user_role,
6853: x_role_display_name => l_delv_user_name,
6854: x_return_status => l_return_status);
6855:
6856: IF l_return_status <> Fnd_Api.G_RET_STS_SUCCESS THEN
6857: RAISE Fnd_Api.G_EXC_ERROR;
6858: END IF;
6859:
6860:
6853: x_role_display_name => l_delv_user_name,
6854: x_return_status => l_return_status);
6855:
6856: IF l_return_status <> Fnd_Api.G_RET_STS_SUCCESS THEN
6857: RAISE Fnd_Api.G_EXC_ERROR;
6858: END IF;
6859:
6860:
6861: Wf_Engine.SetItemAttrText(itemtype => itemtype,
6867: x_role_name => l_requester_role,
6868: x_role_display_name => l_delv_requester_name,
6869: x_return_status => l_return_status);
6870:
6871: IF l_return_status <> Fnd_Api.G_RET_STS_SUCCESS THEN
6872: RAISE Fnd_Api.G_EXC_ERROR;
6873: END IF;
6874:
6875:
6868: x_role_display_name => l_delv_requester_name,
6869: x_return_status => l_return_status);
6870:
6871: IF l_return_status <> Fnd_Api.G_RET_STS_SUCCESS THEN
6872: RAISE Fnd_Api.G_EXC_ERROR;
6873: END IF;
6874:
6875:
6876: Wf_Engine.SetItemOwner(itemtype => itemtype,
6883: itemkey => itemkey);
6884:
6885:
6886: EXCEPTION
6887: WHEN Fnd_Api.G_EXC_ERROR THEN
6888: Wf_Core.context ('ams_approval_pvt', 'DelvStartProcess'
6889: ,p_deliverable_id ,p_workflowprocess);
6890: RAISE;
6891: WHEN OTHERS THEN
6940: p_budget_used_by_id => l_activity_id
6941: ,p_budget_used_by_type => l_activity_type
6942: ,p_object_currency => l_approved_currency
6943: ,p_api_version => 1.0
6944: ,p_init_msg_list => Fnd_Api.g_false
6945: ,p_commit => Fnd_Api.g_false
6946: ,p_validation_level => Fnd_Api.g_valid_level_full
6947: ,x_return_status => l_return_status
6948: ,x_msg_count => l_msg_count
6941: ,p_budget_used_by_type => l_activity_type
6942: ,p_object_currency => l_approved_currency
6943: ,p_api_version => 1.0
6944: ,p_init_msg_list => Fnd_Api.g_false
6945: ,p_commit => Fnd_Api.g_false
6946: ,p_validation_level => Fnd_Api.g_valid_level_full
6947: ,x_return_status => l_return_status
6948: ,x_msg_count => l_msg_count
6949: ,x_msg_data => l_msg_data
6942: ,p_object_currency => l_approved_currency
6943: ,p_api_version => 1.0
6944: ,p_init_msg_list => Fnd_Api.g_false
6945: ,p_commit => Fnd_Api.g_false
6946: ,p_validation_level => Fnd_Api.g_valid_level_full
6947: ,x_return_status => l_return_status
6948: ,x_msg_count => l_msg_count
6949: ,x_msg_data => l_msg_data
6950: );
6947: ,x_return_status => l_return_status
6948: ,x_msg_count => l_msg_count
6949: ,x_msg_data => l_msg_data
6950: );
6951: IF l_return_status <> Fnd_Api.G_RET_STS_SUCCESS THEN
6952: RAISE Fnd_Api.G_EXC_ERROR;
6953: ELSE
6954: OPEN c_find_child(itemkey, itemtype);
6955: FETCH c_find_child INTO l_child_item_type, l_child_item_key;
6948: ,x_msg_count => l_msg_count
6949: ,x_msg_data => l_msg_data
6950: );
6951: IF l_return_status <> Fnd_Api.G_RET_STS_SUCCESS THEN
6952: RAISE Fnd_Api.G_EXC_ERROR;
6953: ELSE
6954: OPEN c_find_child(itemkey, itemtype);
6955: FETCH c_find_child INTO l_child_item_type, l_child_item_key;
6956: IF c_find_child%FOUND THEN
6965: END IF;
6966: CLOSE c_find_child;
6967: END IF;
6968: EXCEPTION
6969: WHEN Fnd_Api.G_EXC_ERROR THEN
6970: -- wf_engine.threshold := l_save_threshold ;
6971: Fnd_Msg_Pub.Count_And_Get (
6972: p_encoded => Fnd_Api.G_FALSE,
6973: p_count => l_msg_count,
6968: EXCEPTION
6969: WHEN Fnd_Api.G_EXC_ERROR THEN
6970: -- wf_engine.threshold := l_save_threshold ;
6971: Fnd_Msg_Pub.Count_And_Get (
6972: p_encoded => Fnd_Api.G_FALSE,
6973: p_count => l_msg_count,
6974: p_data => l_msg_data);
6975: Handle_Err
6976: (p_itemtype => itemtype ,
7039: x_msg_data => l_msg_data);
7040:
7041: -- After Call to API
7042:
7043: IF l_return_status <> Fnd_Api.G_RET_STS_SUCCESS THEN
7044:
7045: Handle_Err
7046: (p_itemtype => itemtype,
7047: p_itemkey => itemkey,
7082: RETURN;
7083: END IF;
7084: --
7085: EXCEPTION
7086: WHEN Fnd_Api.G_EXC_ERROR THEN
7087: Fnd_Msg_Pub.Count_And_Get (
7088: p_encoded => Fnd_Api.G_FALSE,
7089: p_count => l_msg_count,
7090: p_data => l_msg_data
7084: --
7085: EXCEPTION
7086: WHEN Fnd_Api.G_EXC_ERROR THEN
7087: Fnd_Msg_Pub.Count_And_Get (
7088: p_encoded => Fnd_Api.G_FALSE,
7089: p_count => l_msg_count,
7090: p_data => l_msg_data
7091: );
7092: Handle_Err
7103: RAISE;
7104: --resultout := 'COMPLETE:ERROR';
7105: WHEN OTHERS THEN
7106: Fnd_Msg_Pub.Count_And_Get (
7107: p_encoded => Fnd_Api.G_FALSE,
7108: p_count => l_msg_count,
7109: p_data => l_msg_data);
7110: Handle_Err
7111: (p_itemtype => itemtype ,
7412: x_resource_id => l_new_approver_id,
7413: x_resource_disp_name => l_appr_display_name,
7414: x_return_status => l_return_status);
7415:
7416: IF l_return_status <> Fnd_Api.G_RET_STS_SUCCESS THEN
7417: RAISE Fnd_Api.G_EXC_ERROR;
7418: END IF;
7419:
7420: -- Set the WF Attributes
7413: x_resource_disp_name => l_appr_display_name,
7414: x_return_status => l_return_status);
7415:
7416: IF l_return_status <> Fnd_Api.G_RET_STS_SUCCESS THEN
7417: RAISE Fnd_Api.G_EXC_ERROR;
7418: END IF;
7419:
7420: -- Set the WF Attributes
7421: wf_engine.SetItemAttrText( itemtype => itemtype,
7481: l_appr_hist_rec.approver_id := l_new_approver_id;
7482:
7483: AMS_Appr_Hist_PVT.Update_Appr_Hist(
7484: p_api_version_number => 1.0,
7485: p_init_msg_list => FND_API.G_FALSE,
7486: p_commit => FND_API.G_FALSE,
7487: p_validation_level => FND_API.G_VALID_LEVEL_FULL,
7488: x_return_status => l_return_status,
7489: x_msg_count => l_msg_count,
7482:
7483: AMS_Appr_Hist_PVT.Update_Appr_Hist(
7484: p_api_version_number => 1.0,
7485: p_init_msg_list => FND_API.G_FALSE,
7486: p_commit => FND_API.G_FALSE,
7487: p_validation_level => FND_API.G_VALID_LEVEL_FULL,
7488: x_return_status => l_return_status,
7489: x_msg_count => l_msg_count,
7490: x_msg_data => l_msg_data,
7483: AMS_Appr_Hist_PVT.Update_Appr_Hist(
7484: p_api_version_number => 1.0,
7485: p_init_msg_list => FND_API.G_FALSE,
7486: p_commit => FND_API.G_FALSE,
7487: p_validation_level => FND_API.G_VALID_LEVEL_FULL,
7488: x_return_status => l_return_status,
7489: x_msg_count => l_msg_count,
7490: x_msg_data => l_msg_data,
7491: p_appr_hist_rec => l_appr_hist_rec
7490: x_msg_data => l_msg_data,
7491: p_appr_hist_rec => l_appr_hist_rec
7492: );
7493:
7494: IF l_return_status <> Fnd_Api.G_RET_STS_SUCCESS THEN
7495: RAISE Fnd_Api.G_EXC_ERROR;
7496: END IF;
7497:
7498: resultout := 'COMPLETE';
7491: p_appr_hist_rec => l_appr_hist_rec
7492: );
7493:
7494: IF l_return_status <> Fnd_Api.G_RET_STS_SUCCESS THEN
7495: RAISE Fnd_Api.G_EXC_ERROR;
7496: END IF;
7497:
7498: resultout := 'COMPLETE';
7499:
7498: resultout := 'COMPLETE';
7499:
7500: END IF;
7501: EXCEPTION
7502: WHEN Fnd_Api.G_EXC_ERROR THEN
7503: Fnd_Msg_Pub.Count_And_Get (
7504: p_encoded => Fnd_Api.G_FALSE,
7505: p_count => l_msg_count,
7506: p_data => l_msg_data
7500: END IF;
7501: EXCEPTION
7502: WHEN Fnd_Api.G_EXC_ERROR THEN
7503: Fnd_Msg_Pub.Count_And_Get (
7504: p_encoded => Fnd_Api.G_FALSE,
7505: p_count => l_msg_count,
7506: p_data => l_msg_data
7507: );
7508: Handle_Err
7576: x_msg_data => l_msg_data);
7577:
7578: -- After Call to API
7579:
7580: IF l_return_status <> Fnd_Api.G_RET_STS_SUCCESS THEN
7581:
7582: Handle_Err
7583: (p_itemtype => itemtype,
7584: p_itemkey => itemkey,
7619: RETURN;
7620: END IF;
7621: --
7622: EXCEPTION
7623: WHEN Fnd_Api.G_EXC_ERROR THEN
7624: Fnd_Msg_Pub.Count_And_Get (
7625: p_encoded => Fnd_Api.G_FALSE,
7626: p_count => l_msg_count,
7627: p_data => l_msg_data
7621: --
7622: EXCEPTION
7623: WHEN Fnd_Api.G_EXC_ERROR THEN
7624: Fnd_Msg_Pub.Count_And_Get (
7625: p_encoded => Fnd_Api.G_FALSE,
7626: p_count => l_msg_count,
7627: p_data => l_msg_data
7628: );
7629: Handle_Err
7640: RAISE;
7641: --resultout := 'COMPLETE:ERROR';
7642: WHEN OTHERS THEN
7643: Fnd_Msg_Pub.Count_And_Get (
7644: p_encoded => Fnd_Api.G_FALSE,
7645: p_count => l_msg_count,
7646: p_data => l_msg_data);
7647: Handle_Err
7648: (p_itemtype => itemtype ,
7772: AND rr.role_id = l_obj_approver_id
7773: AND rr.role_resource_id = p_requestor_id;
7774:
7775: BEGIN
7776: x_return_status := Fnd_Api.G_RET_STS_SUCCESS;
7777: x_must_preview := 'Y'; -- Default is must preview
7778: Get_Approval_Rule ( p_activity_id => p_activity_id,
7779: p_activity_type => p_activity_type,
7780: p_approval_type => p_approval_type,
7781: p_act_budget_id => p_act_budget_id,
7782: x_approval_detail_Id => l_approval_detail_id,
7783: x_return_status => l_return_status);
7784:
7785: IF l_return_status = Fnd_Api.G_RET_STS_SUCCESS
7786: AND l_approval_detail_id IS NOT NULL THEN
7787:
7788: OPEN c_is_only_approver(l_approval_detail_id);
7789: FETCH c_is_only_approver INTO l_approver_type, l_obj_approver_id;