142: WHERE user_status_id = p_user_status_id
143: AND system_status_type = 'OZF_FUND_STATUS'
144: AND enabled_flag = 'Y';
145: BEGIN
146: x_return_status := fnd_api.g_ret_sts_success;
147: OPEN c_status_code;
148: FETCH c_status_code INTO l_status_code;
149: CLOSE c_status_code;
150:
148: FETCH c_status_code INTO l_status_code;
149: CLOSE c_status_code;
150:
151: IF l_status_code IS NULL THEN
152: x_return_status := fnd_api.g_ret_sts_error;
153: Ozf_utility_pvt.error_message('OZF_FUND_BAD_USER_STATUS');
154: END IF;
155:
156: x_status_code := l_status_code;
180: WHERE UPPER(system_status_code) = UPPER(p_status_code)
181: AND system_status_type = 'OZF_FUND_STATUS'
182: AND enabled_flag = 'Y';
183: BEGIN
184: x_return_status := fnd_api.g_ret_sts_success;
185: OPEN c_user_status_id;
186: FETCH c_user_status_id INTO l_user_status_id;
187: CLOSE c_user_status_id;
188:
186: FETCH c_user_status_id INTO l_user_status_id;
187: CLOSE c_user_status_id;
188:
189: IF l_user_status_id IS NULL THEN
190: x_return_status := fnd_api.g_ret_sts_error;
191: Ozf_utility_pvt.error_message('OZF_FUND_BAD_USER_STATUS');
192: END IF;
193:
194: x_user_status_id := l_user_status_id;
222: SELECT fund_number
223: FROM ozf_funds_all_b
224: WHERE fund_id = p_fund_id;
225: BEGIN
226: x_return_status := fnd_api.g_ret_sts_success;
227: OPEN c_child_count(p_parent_fund_id);
228: FETCH c_child_count INTO l_count;
229: CLOSE c_child_count;
230: OPEN c_parent_number(p_parent_fund_id);
236: fnd_message.set_name('OZF', 'OZF_API_RECORD_NOT_FOUND');
237: fnd_msg_pub.add;
238: END IF;
239:
240: x_return_status := fnd_api.g_ret_sts_error;
241: END IF;
242:
243: x_code := SUBSTRB(l_par_number || l_count, 1, 30);
244:
244:
245: --asylvia Fixed bug 5073532
246: WHILE ozf_utility_pvt.check_uniqueness('ozf_funds_all_b'
247: ,'fund_number = ''' || x_code || '''') =
248: fnd_api.g_false LOOP
249: l_count := l_count + 1 ;
250: x_code :=SUBSTRB(l_par_number || l_count, 1, 30);
251: END LOOP;
252:
310:
311:
312: EXCEPTION
313: WHEN OTHERS THEN
314: RAISE Fnd_Api.g_exc_error;
315: ozf_utility_pvt.debug_message('Exception in raising business event');
316: END;
317:
318:
336: ---------------------------------------------------------------------
337:
338: PROCEDURE create_fund(
339: p_api_version IN NUMBER
340: ,p_init_msg_list IN VARCHAR2 := fnd_api.g_false
341: ,p_commit IN VARCHAR2 := fnd_api.g_false
342: ,p_validation_level IN NUMBER := fnd_api.g_valid_level_full
343: ,x_return_status OUT NOCOPY VARCHAR2
344: ,x_msg_count OUT NOCOPY NUMBER
337:
338: PROCEDURE create_fund(
339: p_api_version IN NUMBER
340: ,p_init_msg_list IN VARCHAR2 := fnd_api.g_false
341: ,p_commit IN VARCHAR2 := fnd_api.g_false
342: ,p_validation_level IN NUMBER := fnd_api.g_valid_level_full
343: ,x_return_status OUT NOCOPY VARCHAR2
344: ,x_msg_count OUT NOCOPY NUMBER
345: ,x_msg_data OUT NOCOPY VARCHAR2
338: PROCEDURE create_fund(
339: p_api_version IN NUMBER
340: ,p_init_msg_list IN VARCHAR2 := fnd_api.g_false
341: ,p_commit IN VARCHAR2 := fnd_api.g_false
342: ,p_validation_level IN NUMBER := fnd_api.g_valid_level_full
343: ,x_return_status OUT NOCOPY VARCHAR2
344: ,x_msg_count OUT NOCOPY NUMBER
345: ,x_msg_data OUT NOCOPY VARCHAR2
346: ,p_fund_rec IN fund_rec_type
401: SAVEPOINT create_fund;
402: IF G_DEBUG THEN
403: ozf_utility_pvt.debug_message(l_full_name || ': start');
404: END IF;
405: x_return_status := fnd_api.g_ret_sts_success;
406:
407: IF fnd_api.to_boolean(p_init_msg_list) THEN
408: fnd_msg_pub.initialize;
409: END IF;
403: ozf_utility_pvt.debug_message(l_full_name || ': start');
404: END IF;
405: x_return_status := fnd_api.g_ret_sts_success;
406:
407: IF fnd_api.to_boolean(p_init_msg_list) THEN
408: fnd_msg_pub.initialize;
409: END IF;
410:
411: IF NOT fnd_api.compatible_api_call(l_api_version, p_api_version, l_api_name, g_pkg_name) THEN
407: IF fnd_api.to_boolean(p_init_msg_list) THEN
408: fnd_msg_pub.initialize;
409: END IF;
410:
411: IF NOT fnd_api.compatible_api_call(l_api_version, p_api_version, l_api_name, g_pkg_name) THEN
412: RAISE fnd_api.g_exc_unexpected_error;
413: END IF;
414:
415: -- check fund status and fill in system status
408: fnd_msg_pub.initialize;
409: END IF;
410:
411: IF NOT fnd_api.compatible_api_call(l_api_version, p_api_version, l_api_name, g_pkg_name) THEN
412: RAISE fnd_api.g_exc_unexpected_error;
413: END IF;
414:
415: -- check fund status and fill in system status
416: handle_fund_status(
417: p_user_status_id => l_fund_rec.user_status_id
418: ,x_status_code => l_fund_rec.status_code
419: ,x_return_status => x_return_status);
420:
421: IF x_return_status = fnd_api.g_ret_sts_error THEN
422: RAISE fnd_api.g_exc_error;
423: ELSIF x_return_status = fnd_api.g_ret_sts_unexp_error THEN
424: RAISE fnd_api.g_exc_unexpected_error;
425: END IF;
418: ,x_status_code => l_fund_rec.status_code
419: ,x_return_status => x_return_status);
420:
421: IF x_return_status = fnd_api.g_ret_sts_error THEN
422: RAISE fnd_api.g_exc_error;
423: ELSIF x_return_status = fnd_api.g_ret_sts_unexp_error THEN
424: RAISE fnd_api.g_exc_unexpected_error;
425: END IF;
426:
419: ,x_return_status => x_return_status);
420:
421: IF x_return_status = fnd_api.g_ret_sts_error THEN
422: RAISE fnd_api.g_exc_error;
423: ELSIF x_return_status = fnd_api.g_ret_sts_unexp_error THEN
424: RAISE fnd_api.g_exc_unexpected_error;
425: END IF;
426:
427: -- default fund calendar
420:
421: IF x_return_status = fnd_api.g_ret_sts_error THEN
422: RAISE fnd_api.g_exc_error;
423: ELSIF x_return_status = fnd_api.g_ret_sts_unexp_error THEN
424: RAISE fnd_api.g_exc_unexpected_error;
425: END IF;
426:
427: -- default fund calendar
428: IF l_fund_rec.fund_calendar IS NULL
458: get_child_source_code(
459: p_fund_rec.parent_fund_id
460: ,l_fund_rec.fund_number
461: ,x_return_status);
462: IF x_return_status = fnd_api.g_ret_sts_error THEN
463: RAISE fnd_api.g_exc_error;
464: ELSIF x_return_status = fnd_api.g_ret_sts_unexp_error THEN
465: RAISE fnd_api.g_exc_unexpected_error;
466: END IF;
459: p_fund_rec.parent_fund_id
460: ,l_fund_rec.fund_number
461: ,x_return_status);
462: IF x_return_status = fnd_api.g_ret_sts_error THEN
463: RAISE fnd_api.g_exc_error;
464: ELSIF x_return_status = fnd_api.g_ret_sts_unexp_error THEN
465: RAISE fnd_api.g_exc_unexpected_error;
466: END IF;
467: END IF;
460: ,l_fund_rec.fund_number
461: ,x_return_status);
462: IF x_return_status = fnd_api.g_ret_sts_error THEN
463: RAISE fnd_api.g_exc_error;
464: ELSIF x_return_status = fnd_api.g_ret_sts_unexp_error THEN
465: RAISE fnd_api.g_exc_unexpected_error;
466: END IF;
467: END IF;
468: END IF;
461: ,x_return_status);
462: IF x_return_status = fnd_api.g_ret_sts_error THEN
463: RAISE fnd_api.g_exc_error;
464: ELSIF x_return_status = fnd_api.g_ret_sts_unexp_error THEN
465: RAISE fnd_api.g_exc_unexpected_error;
466: END IF;
467: END IF;
468: END IF;
469:
480: ,x_msg_data => x_msg_data
481: ,p_fund_rec => l_fund_rec);
482:
483:
484: IF l_return_status = fnd_api.g_ret_sts_error THEN
485: RAISE fnd_api.g_exc_error;
486: ELSIF l_return_status = fnd_api.g_ret_sts_unexp_error THEN
487: RAISE fnd_api.g_exc_unexpected_error;
488: END IF;
481: ,p_fund_rec => l_fund_rec);
482:
483:
484: IF l_return_status = fnd_api.g_ret_sts_error THEN
485: RAISE fnd_api.g_exc_error;
486: ELSIF l_return_status = fnd_api.g_ret_sts_unexp_error THEN
487: RAISE fnd_api.g_exc_unexpected_error;
488: END IF;
489:
482:
483:
484: IF l_return_status = fnd_api.g_ret_sts_error THEN
485: RAISE fnd_api.g_exc_error;
486: ELSIF l_return_status = fnd_api.g_ret_sts_unexp_error THEN
487: RAISE fnd_api.g_exc_unexpected_error;
488: END IF;
489:
490: -------------------------- insert --------------------------
483:
484: IF l_return_status = fnd_api.g_ret_sts_error THEN
485: RAISE fnd_api.g_exc_error;
486: ELSIF l_return_status = fnd_api.g_ret_sts_unexp_error THEN
487: RAISE fnd_api.g_exc_unexpected_error;
488: END IF;
489:
490: -------------------------- insert --------------------------
491: IF G_DEBUG THEN
518: ,l_fund_rec.accrued_liable_account
519: ,l_fund_rec.ded_adjustment_account
520: ,l_return_status);
521:
522: IF l_return_status = fnd_api.g_ret_sts_error THEN
523: RAISE fnd_api.g_exc_error;
524: ELSIF l_return_status = fnd_api.g_ret_sts_unexp_error THEN
525: RAISE fnd_api.g_exc_unexpected_error;
526: END IF;
519: ,l_fund_rec.ded_adjustment_account
520: ,l_return_status);
521:
522: IF l_return_status = fnd_api.g_ret_sts_error THEN
523: RAISE fnd_api.g_exc_error;
524: ELSIF l_return_status = fnd_api.g_ret_sts_unexp_error THEN
525: RAISE fnd_api.g_exc_unexpected_error;
526: END IF;
527: END IF;
520: ,l_return_status);
521:
522: IF l_return_status = fnd_api.g_ret_sts_error THEN
523: RAISE fnd_api.g_exc_error;
524: ELSIF l_return_status = fnd_api.g_ret_sts_unexp_error THEN
525: RAISE fnd_api.g_exc_unexpected_error;
526: END IF;
527: END IF;
528: */
521:
522: IF l_return_status = fnd_api.g_ret_sts_error THEN
523: RAISE fnd_api.g_exc_error;
524: ELSIF l_return_status = fnd_api.g_ret_sts_unexp_error THEN
525: RAISE fnd_api.g_exc_unexpected_error;
526: END IF;
527: END IF;
528: */
529:
541: fnd_message.set_name('OZF', 'OZF_UNIV_CURR_NOT_FOUND');
542: fnd_msg_pub.add;
543: END IF;
544:
545: RAISE fnd_api.g_exc_error;
546:
547: END IF;
548:
549: -- Calculate rollup amount columns, added by feliu 02/08/02
547: END IF;
548:
549: -- Calculate rollup amount columns, added by feliu 02/08/02
550: IF l_fund_rec.original_budget IS NOT NULL
551: AND l_fund_rec.original_budget <> fnd_api.g_miss_num THEN
552: Ozf_utility_pvt.convert_currency(
553: x_return_status => l_return_status
554: ,p_from_currency => l_fund_rec.currency_code_tc
555: ,p_to_currency => g_universal_currency
556: ,p_from_amount => l_fund_rec.original_budget
557: ,x_to_amount => l_fund_rec.rollup_original_budget
558: ,x_rate => l_rate);
559:
560: IF l_return_status = fnd_api.g_ret_sts_error THEN
561: RAISE fnd_api.g_exc_error;
562: ELSIF l_return_status = fnd_api.g_ret_sts_unexp_error THEN
563: RAISE fnd_api.g_exc_unexpected_error;
564: END IF;
557: ,x_to_amount => l_fund_rec.rollup_original_budget
558: ,x_rate => l_rate);
559:
560: IF l_return_status = fnd_api.g_ret_sts_error THEN
561: RAISE fnd_api.g_exc_error;
562: ELSIF l_return_status = fnd_api.g_ret_sts_unexp_error THEN
563: RAISE fnd_api.g_exc_unexpected_error;
564: END IF;
565:
558: ,x_rate => l_rate);
559:
560: IF l_return_status = fnd_api.g_ret_sts_error THEN
561: RAISE fnd_api.g_exc_error;
562: ELSIF l_return_status = fnd_api.g_ret_sts_unexp_error THEN
563: RAISE fnd_api.g_exc_unexpected_error;
564: END IF;
565:
566: END IF;
559:
560: IF l_return_status = fnd_api.g_ret_sts_error THEN
561: RAISE fnd_api.g_exc_error;
562: ELSIF l_return_status = fnd_api.g_ret_sts_unexp_error THEN
563: RAISE fnd_api.g_exc_unexpected_error;
564: END IF;
565:
566: END IF;
567:
566: END IF;
567:
568: IF l_fund_rec.transfered_in_amt IS NOT NULL
569: AND l_rate is NOT NULL
570: AND l_fund_rec.transfered_in_amt <> fnd_api.g_miss_num THEN
571:
572: l_fund_rec.rollup_transfered_in_amt := l_fund_rec.transfered_in_amt * l_rate;
573:
574: END IF;
574: END IF;
575:
576: IF l_fund_rec.transfered_out_amt IS NOT NULL
577: AND l_rate is NOT NULL
578: AND l_fund_rec.transfered_out_amt <> fnd_api.g_miss_num THEN
579:
580: l_fund_rec.rollup_transfered_out_amt := l_fund_rec.transfered_out_amt * l_rate;
581:
582: END IF;
583:
584:
585: IF l_fund_rec.holdback_amt IS NOT NULL
586: AND l_rate is NOT NULL
587: AND l_fund_rec.holdback_amt <> fnd_api.g_miss_num THEN
588: l_fund_rec.rollup_holdback_amt := l_fund_rec.holdback_amt * l_rate;
589: END IF;
590:
591: -- make liability_flag to be 'N' for sales accrual.
594: END IF;
595:
596: -- kdass 09-NOV-05 Bug 4618523
597: -- if ledger_id is null, derive it from org_id which is the default OU for the user
598: IF l_fund_rec.ledger_id = fnd_api.g_miss_num OR l_fund_rec.ledger_id IS NULL THEN
599:
600: IF l_fund_rec.org_id <> fnd_api.g_miss_num AND l_fund_rec.org_id IS NOT NULL THEN
601: MO_UTILS.Get_Ledger_Info (
602: p_operating_unit => l_fund_rec.org_id,
596: -- kdass 09-NOV-05 Bug 4618523
597: -- if ledger_id is null, derive it from org_id which is the default OU for the user
598: IF l_fund_rec.ledger_id = fnd_api.g_miss_num OR l_fund_rec.ledger_id IS NULL THEN
599:
600: IF l_fund_rec.org_id <> fnd_api.g_miss_num AND l_fund_rec.org_id IS NOT NULL THEN
601: MO_UTILS.Get_Ledger_Info (
602: p_operating_unit => l_fund_rec.org_id,
603: p_ledger_id => l_fund_rec.ledger_id,
604: p_ledger_name => l_ledger_name
905: ,x_msg_data => x_msg_data
906: ,p_act_budgets_rec => l_act_budget_rec
907: ,x_act_budget_id => l_act_budget_id);
908:
909: IF l_return_status = fnd_api.g_ret_sts_error THEN
910: RAISE fnd_api.g_exc_error;
911: ELSIF l_return_status = fnd_api.g_ret_sts_unexp_error THEN
912: RAISE fnd_api.g_exc_unexpected_error;
913: END IF;
906: ,p_act_budgets_rec => l_act_budget_rec
907: ,x_act_budget_id => l_act_budget_id);
908:
909: IF l_return_status = fnd_api.g_ret_sts_error THEN
910: RAISE fnd_api.g_exc_error;
911: ELSIF l_return_status = fnd_api.g_ret_sts_unexp_error THEN
912: RAISE fnd_api.g_exc_unexpected_error;
913: END IF;
914: END IF;
907: ,x_act_budget_id => l_act_budget_id);
908:
909: IF l_return_status = fnd_api.g_ret_sts_error THEN
910: RAISE fnd_api.g_exc_error;
911: ELSIF l_return_status = fnd_api.g_ret_sts_unexp_error THEN
912: RAISE fnd_api.g_exc_unexpected_error;
913: END IF;
914: END IF;
915:
908:
909: IF l_return_status = fnd_api.g_ret_sts_error THEN
910: RAISE fnd_api.g_exc_error;
911: ELSIF l_return_status = fnd_api.g_ret_sts_unexp_error THEN
912: RAISE fnd_api.g_exc_unexpected_error;
913: END IF;
914: END IF;
915:
916: /* R12: yzhao bug 4669269 - obsolete ozf_mc_transactions
936: -- Call mc_transaction API if the fund type is not QUOTA
937: IF l_fund_rec.fund_type <> 'QUOTA' THEN
938: ozf_mc_transactions_pvt.insert_mc_transactions(
939: p_api_version => l_api_version
940: ,p_init_msg_list => fnd_api.g_false
941: ,p_commit => fnd_api.g_false
942: ,x_return_status => l_return_status
943: ,x_msg_count => x_msg_count
944: ,x_msg_data => x_msg_data
937: IF l_fund_rec.fund_type <> 'QUOTA' THEN
938: ozf_mc_transactions_pvt.insert_mc_transactions(
939: p_api_version => l_api_version
940: ,p_init_msg_list => fnd_api.g_false
941: ,p_commit => fnd_api.g_false
942: ,x_return_status => l_return_status
943: ,x_msg_count => x_msg_count
944: ,x_msg_data => x_msg_data
945: ,p_mc_transactions_rec => l_mc_transaction_rec
944: ,x_msg_data => x_msg_data
945: ,p_mc_transactions_rec => l_mc_transaction_rec
946: ,x_mc_transaction_id => l_mc_transaction_id);
947:
948: IF l_return_status = fnd_api.g_ret_sts_error THEN
949: RAISE fnd_api.g_exc_error;
950: ELSIF l_return_status = fnd_api.g_ret_sts_unexp_error THEN
951: RAISE fnd_api.g_exc_unexpected_error;
952: END IF;
945: ,p_mc_transactions_rec => l_mc_transaction_rec
946: ,x_mc_transaction_id => l_mc_transaction_id);
947:
948: IF l_return_status = fnd_api.g_ret_sts_error THEN
949: RAISE fnd_api.g_exc_error;
950: ELSIF l_return_status = fnd_api.g_ret_sts_unexp_error THEN
951: RAISE fnd_api.g_exc_unexpected_error;
952: END IF;
953: END IF;
946: ,x_mc_transaction_id => l_mc_transaction_id);
947:
948: IF l_return_status = fnd_api.g_ret_sts_error THEN
949: RAISE fnd_api.g_exc_error;
950: ELSIF l_return_status = fnd_api.g_ret_sts_unexp_error THEN
951: RAISE fnd_api.g_exc_unexpected_error;
952: END IF;
953: END IF;
954: */
947:
948: IF l_return_status = fnd_api.g_ret_sts_error THEN
949: RAISE fnd_api.g_exc_error;
950: ELSIF l_return_status = fnd_api.g_ret_sts_unexp_error THEN
951: RAISE fnd_api.g_exc_unexpected_error;
952: END IF;
953: END IF;
954: */
955:
969: ozf_utility_pvt.debug_message(l_full_name || 'owner' || p_fund_rec.owner);
970: END IF;
971:
972: ozf_fund_request_apr_pvt.create_fund_request(
973: p_commit => fnd_api.g_false
974: ,p_approval_for_id => l_fund_rec.fund_id
975: ,p_requester_id => l_fund_rec.owner
976: ,p_requested_amount => l_fund_rec.transfered_in_amt ---l_fund_rec.original_budget mpande 11/06/2001
977: ,p_approval_fm => 'FUND'
987: ,x_request_id => l_request_id
988: ,x_approver_id => l_approver_id
989: ,x_is_requester_owner => l_is_requestor_owner);
990:
991: IF l_return_status = fnd_api.g_ret_sts_error THEN
992: RAISE fnd_api.g_exc_error;
993: ELSIF l_return_status = fnd_api.g_ret_sts_unexp_error THEN
994: RAISE fnd_api.g_exc_unexpected_error;
995: END IF;
988: ,x_approver_id => l_approver_id
989: ,x_is_requester_owner => l_is_requestor_owner);
990:
991: IF l_return_status = fnd_api.g_ret_sts_error THEN
992: RAISE fnd_api.g_exc_error;
993: ELSIF l_return_status = fnd_api.g_ret_sts_unexp_error THEN
994: RAISE fnd_api.g_exc_unexpected_error;
995: END IF;
996:
989: ,x_is_requester_owner => l_is_requestor_owner);
990:
991: IF l_return_status = fnd_api.g_ret_sts_error THEN
992: RAISE fnd_api.g_exc_error;
993: ELSIF l_return_status = fnd_api.g_ret_sts_unexp_error THEN
994: RAISE fnd_api.g_exc_unexpected_error;
995: END IF;
996:
997: -- mpande end if end
990:
991: IF l_return_status = fnd_api.g_ret_sts_error THEN
992: RAISE fnd_api.g_exc_error;
993: ELSIF l_return_status = fnd_api.g_ret_sts_unexp_error THEN
994: RAISE fnd_api.g_exc_unexpected_error;
995: END IF;
996:
997: -- mpande end if end
998: END IF;
1013: l_access_rec.admin_flag := 'Y';
1014: l_access_rec.owner_flag := 'Y';
1015: ams_access_pvt.create_access(
1016: p_api_version => l_api_version
1017: ,p_init_msg_list => fnd_api.g_false
1018: ,p_validation_level => p_validation_level
1019: ,x_return_status => l_return_status
1020: ,x_msg_count => x_msg_count
1021: ,x_msg_data => x_msg_data
1018: ,p_validation_level => p_validation_level
1019: ,x_return_status => l_return_status
1020: ,x_msg_count => x_msg_count
1021: ,x_msg_data => x_msg_data
1022: ,p_commit => fnd_api.g_false
1023: ,p_access_rec => l_access_rec
1024: ,x_access_id => l_access_id);
1025:
1026: IF l_return_status = fnd_api.g_ret_sts_error THEN
1022: ,p_commit => fnd_api.g_false
1023: ,p_access_rec => l_access_rec
1024: ,x_access_id => l_access_id);
1025:
1026: IF l_return_status = fnd_api.g_ret_sts_error THEN
1027: RAISE fnd_api.g_exc_error;
1028: ELSIF l_return_status = fnd_api.g_ret_sts_unexp_error THEN
1029: RAISE fnd_api.g_exc_unexpected_error;
1030: END IF;
1023: ,p_access_rec => l_access_rec
1024: ,x_access_id => l_access_id);
1025:
1026: IF l_return_status = fnd_api.g_ret_sts_error THEN
1027: RAISE fnd_api.g_exc_error;
1028: ELSIF l_return_status = fnd_api.g_ret_sts_unexp_error THEN
1029: RAISE fnd_api.g_exc_unexpected_error;
1030: END IF;
1031: END IF;
1024: ,x_access_id => l_access_id);
1025:
1026: IF l_return_status = fnd_api.g_ret_sts_error THEN
1027: RAISE fnd_api.g_exc_error;
1028: ELSIF l_return_status = fnd_api.g_ret_sts_unexp_error THEN
1029: RAISE fnd_api.g_exc_unexpected_error;
1030: END IF;
1031: END IF;
1032:
1025:
1026: IF l_return_status = fnd_api.g_ret_sts_error THEN
1027: RAISE fnd_api.g_exc_error;
1028: ELSIF l_return_status = fnd_api.g_ret_sts_unexp_error THEN
1029: RAISE fnd_api.g_exc_unexpected_error;
1030: END IF;
1031: END IF;
1032:
1033: --added by mpande
1041: -- added updating rollup columns by feliu.
1042: IF l_fund_rec.status_code = 'ACTIVE' THEN
1043: update_rollup_amount(
1044: p_api_version => l_api_version
1045: ,p_init_msg_list => fnd_api.g_false
1046: ,p_commit => fnd_api.g_false
1047: ,p_validation_level => p_validation_level
1048: ,x_return_status => l_return_status
1049: ,x_msg_count => x_msg_count
1042: IF l_fund_rec.status_code = 'ACTIVE' THEN
1043: update_rollup_amount(
1044: p_api_version => l_api_version
1045: ,p_init_msg_list => fnd_api.g_false
1046: ,p_commit => fnd_api.g_false
1047: ,p_validation_level => p_validation_level
1048: ,x_return_status => l_return_status
1049: ,x_msg_count => x_msg_count
1050: ,x_msg_data => x_msg_data
1064: l_access_rec.admin_flag := 'Y'; -- 12/03/2001 yzhao: give admin access to parent
1065: l_access_rec.owner_flag := 'N';
1066: ams_access_pvt.create_access(
1067: p_api_version => l_api_version
1068: ,p_init_msg_list => fnd_api.g_false
1069: ,p_validation_level => p_validation_level
1070: ,x_return_status => l_return_status
1071: ,x_msg_count => x_msg_count
1072: ,x_msg_data => x_msg_data
1069: ,p_validation_level => p_validation_level
1070: ,x_return_status => l_return_status
1071: ,x_msg_count => x_msg_count
1072: ,x_msg_data => x_msg_data
1073: ,p_commit => fnd_api.g_false
1074: ,p_access_rec => l_access_rec
1075: ,x_access_id => l_access_id);
1076: END IF;
1077: */
1074: ,p_access_rec => l_access_rec
1075: ,x_access_id => l_access_id);
1076: END IF;
1077: */
1078: IF l_return_status = fnd_api.g_ret_sts_error THEN
1079: RAISE fnd_api.g_exc_error;
1080: ELSIF l_return_status = fnd_api.g_ret_sts_unexp_error THEN
1081: RAISE fnd_api.g_exc_unexpected_error;
1082: END IF;
1075: ,x_access_id => l_access_id);
1076: END IF;
1077: */
1078: IF l_return_status = fnd_api.g_ret_sts_error THEN
1079: RAISE fnd_api.g_exc_error;
1080: ELSIF l_return_status = fnd_api.g_ret_sts_unexp_error THEN
1081: RAISE fnd_api.g_exc_unexpected_error;
1082: END IF;
1083:
1076: END IF;
1077: */
1078: IF l_return_status = fnd_api.g_ret_sts_error THEN
1079: RAISE fnd_api.g_exc_error;
1080: ELSIF l_return_status = fnd_api.g_ret_sts_unexp_error THEN
1081: RAISE fnd_api.g_exc_unexpected_error;
1082: END IF;
1083:
1084: END IF;
1077: */
1078: IF l_return_status = fnd_api.g_ret_sts_error THEN
1079: RAISE fnd_api.g_exc_error;
1080: ELSIF l_return_status = fnd_api.g_ret_sts_unexp_error THEN
1081: RAISE fnd_api.g_exc_unexpected_error;
1082: END IF;
1083:
1084: END IF;
1085: -- added by feliu to fix bug 2654263
1085: -- added by feliu to fix bug 2654263
1086:
1087: update_funds_access(
1088: p_api_version => l_api_version
1089: ,p_init_msg_list => fnd_api.g_false
1090: ,p_commit => fnd_api.g_false
1091: ,p_validation_level => p_validation_level
1092: ,x_return_status => l_return_status
1093: ,x_msg_count => x_msg_count
1086:
1087: update_funds_access(
1088: p_api_version => l_api_version
1089: ,p_init_msg_list => fnd_api.g_false
1090: ,p_commit => fnd_api.g_false
1091: ,p_validation_level => p_validation_level
1092: ,x_return_status => l_return_status
1093: ,x_msg_count => x_msg_count
1094: ,x_msg_data => x_msg_data
1095: ,p_fund_rec => l_fund_rec
1096: ,p_mode => 'CREATE'
1097: );
1098:
1099: IF l_return_status = fnd_api.g_ret_sts_error THEN
1100: RAISE fnd_api.g_exc_error;
1101: ELSIF l_return_status = fnd_api.g_ret_sts_unexp_error THEN
1102: RAISE fnd_api.g_exc_unexpected_error;
1103: END IF;
1096: ,p_mode => 'CREATE'
1097: );
1098:
1099: IF l_return_status = fnd_api.g_ret_sts_error THEN
1100: RAISE fnd_api.g_exc_error;
1101: ELSIF l_return_status = fnd_api.g_ret_sts_unexp_error THEN
1102: RAISE fnd_api.g_exc_unexpected_error;
1103: END IF;
1104:
1097: );
1098:
1099: IF l_return_status = fnd_api.g_ret_sts_error THEN
1100: RAISE fnd_api.g_exc_error;
1101: ELSIF l_return_status = fnd_api.g_ret_sts_unexp_error THEN
1102: RAISE fnd_api.g_exc_unexpected_error;
1103: END IF;
1104:
1105: END IF;
1098:
1099: IF l_return_status = fnd_api.g_ret_sts_error THEN
1100: RAISE fnd_api.g_exc_error;
1101: ELSIF l_return_status = fnd_api.g_ret_sts_unexp_error THEN
1102: RAISE fnd_api.g_exc_unexpected_error;
1103: END IF;
1104:
1105: END IF;
1106: -- mpadne 10/14/2002 for 11.5.9
1114: ,p_mode => 'CREATE'
1115: ,x_return_status => l_return_status
1116: ,x_msg_count => x_msg_count
1117: ,x_msg_data => x_msg_data );
1118: IF l_return_status = fnd_api.g_ret_sts_error THEN
1119: RAISE fnd_api.g_exc_error;
1120: ELSIF l_return_status = fnd_api.g_ret_sts_unexp_error THEN
1121: RAISE fnd_api.g_exc_unexpected_error;
1122: END IF;
1115: ,x_return_status => l_return_status
1116: ,x_msg_count => x_msg_count
1117: ,x_msg_data => x_msg_data );
1118: IF l_return_status = fnd_api.g_ret_sts_error THEN
1119: RAISE fnd_api.g_exc_error;
1120: ELSIF l_return_status = fnd_api.g_ret_sts_unexp_error THEN
1121: RAISE fnd_api.g_exc_unexpected_error;
1122: END IF;
1123: END IF;
1116: ,x_msg_count => x_msg_count
1117: ,x_msg_data => x_msg_data );
1118: IF l_return_status = fnd_api.g_ret_sts_error THEN
1119: RAISE fnd_api.g_exc_error;
1120: ELSIF l_return_status = fnd_api.g_ret_sts_unexp_error THEN
1121: RAISE fnd_api.g_exc_unexpected_error;
1122: END IF;
1123: END IF;
1124: -- Check for commit
1117: ,x_msg_data => x_msg_data );
1118: IF l_return_status = fnd_api.g_ret_sts_error THEN
1119: RAISE fnd_api.g_exc_error;
1120: ELSIF l_return_status = fnd_api.g_ret_sts_unexp_error THEN
1121: RAISE fnd_api.g_exc_unexpected_error;
1122: END IF;
1123: END IF;
1124: -- Check for commit
1125: IF fnd_api.to_boolean(p_commit) THEN
1121: RAISE fnd_api.g_exc_unexpected_error;
1122: END IF;
1123: END IF;
1124: -- Check for commit
1125: IF fnd_api.to_boolean(p_commit) THEN
1126: COMMIT;
1127: END IF;
1128:
1129: -- raise business event.
1129: -- raise business event.
1130: raise_business_event(p_object_id => p_fund_rec.fund_id ,p_event_type =>'CREATE');
1131:
1132: fnd_msg_pub.count_and_get(
1133: p_encoded => fnd_api.g_false
1134: ,p_count => x_msg_count
1135: ,p_data => x_msg_data);
1136: IF G_DEBUG THEN
1137: ozf_utility_pvt.debug_message(l_full_name || ': end');
1137: ozf_utility_pvt.debug_message(l_full_name || ': end');
1138: END IF;
1139:
1140: EXCEPTION
1141: WHEN fnd_api.g_exc_error THEN
1142: ROLLBACK TO create_fund;
1143: x_return_status := fnd_api.g_ret_sts_error;
1144: fnd_msg_pub.count_and_get(
1145: p_encoded => fnd_api.g_false
1139:
1140: EXCEPTION
1141: WHEN fnd_api.g_exc_error THEN
1142: ROLLBACK TO create_fund;
1143: x_return_status := fnd_api.g_ret_sts_error;
1144: fnd_msg_pub.count_and_get(
1145: p_encoded => fnd_api.g_false
1146: ,p_count => x_msg_count
1147: ,p_data => x_msg_data);
1141: WHEN fnd_api.g_exc_error THEN
1142: ROLLBACK TO create_fund;
1143: x_return_status := fnd_api.g_ret_sts_error;
1144: fnd_msg_pub.count_and_get(
1145: p_encoded => fnd_api.g_false
1146: ,p_count => x_msg_count
1147: ,p_data => x_msg_data);
1148: WHEN fnd_api.g_exc_unexpected_error THEN
1149: ROLLBACK TO create_fund;
1144: fnd_msg_pub.count_and_get(
1145: p_encoded => fnd_api.g_false
1146: ,p_count => x_msg_count
1147: ,p_data => x_msg_data);
1148: WHEN fnd_api.g_exc_unexpected_error THEN
1149: ROLLBACK TO create_fund;
1150: x_return_status := fnd_api.g_ret_sts_unexp_error;
1151: fnd_msg_pub.count_and_get(
1152: p_encoded => fnd_api.g_false
1146: ,p_count => x_msg_count
1147: ,p_data => x_msg_data);
1148: WHEN fnd_api.g_exc_unexpected_error THEN
1149: ROLLBACK TO create_fund;
1150: x_return_status := fnd_api.g_ret_sts_unexp_error;
1151: fnd_msg_pub.count_and_get(
1152: p_encoded => fnd_api.g_false
1153: ,p_count => x_msg_count
1154: ,p_data => x_msg_data);
1148: WHEN fnd_api.g_exc_unexpected_error THEN
1149: ROLLBACK TO create_fund;
1150: x_return_status := fnd_api.g_ret_sts_unexp_error;
1151: fnd_msg_pub.count_and_get(
1152: p_encoded => fnd_api.g_false
1153: ,p_count => x_msg_count
1154: ,p_data => x_msg_data);
1155: WHEN OTHERS THEN
1156: ROLLBACK TO create_fund;
1153: ,p_count => x_msg_count
1154: ,p_data => x_msg_data);
1155: WHEN OTHERS THEN
1156: ROLLBACK TO create_fund;
1157: x_return_status := fnd_api.g_ret_sts_unexp_error;
1158:
1159: IF fnd_msg_pub.check_msg_level(fnd_msg_pub.g_msg_lvl_unexp_error) THEN
1160: fnd_msg_pub.add_exc_msg(g_pkg_name, l_api_name);
1161: END IF;
1160: fnd_msg_pub.add_exc_msg(g_pkg_name, l_api_name);
1161: END IF;
1162:
1163: fnd_msg_pub.count_and_get(
1164: p_encoded => fnd_api.g_false
1165: ,p_count => x_msg_count
1166: ,p_data => x_msg_data);
1167: END create_fund;
1168:
1176: -- 02/02/2000 Shitij Vatsa Create.
1177: ---------------------------------------------------------------
1178: PROCEDURE delete_fund(
1179: p_api_version IN NUMBER
1180: ,p_init_msg_list IN VARCHAR2 := fnd_api.g_false
1181: ,p_commit IN VARCHAR2 := fnd_api.g_false
1182: ,x_return_status OUT NOCOPY VARCHAR2
1183: ,x_msg_count OUT NOCOPY NUMBER
1184: ,x_msg_data OUT NOCOPY VARCHAR2
1177: ---------------------------------------------------------------
1178: PROCEDURE delete_fund(
1179: p_api_version IN NUMBER
1180: ,p_init_msg_list IN VARCHAR2 := fnd_api.g_false
1181: ,p_commit IN VARCHAR2 := fnd_api.g_false
1182: ,x_return_status OUT NOCOPY VARCHAR2
1183: ,x_msg_count OUT NOCOPY NUMBER
1184: ,x_msg_data OUT NOCOPY VARCHAR2
1185: ,p_fund_id IN NUMBER
1194: IF G_DEBUG THEN
1195: ozf_utility_pvt.debug_message(l_full_name || ': start');
1196: END IF;
1197:
1198: IF fnd_api.to_boolean(p_init_msg_list) THEN
1199: fnd_msg_pub.initialize;
1200: END IF;
1201:
1202: IF NOT fnd_api.compatible_api_call(l_api_version, p_api_version, l_api_name, g_pkg_name) THEN
1198: IF fnd_api.to_boolean(p_init_msg_list) THEN
1199: fnd_msg_pub.initialize;
1200: END IF;
1201:
1202: IF NOT fnd_api.compatible_api_call(l_api_version, p_api_version, l_api_name, g_pkg_name) THEN
1203: RAISE fnd_api.g_exc_unexpected_error;
1204: END IF;
1205:
1206: x_return_status := fnd_api.g_ret_sts_success;
1199: fnd_msg_pub.initialize;
1200: END IF;
1201:
1202: IF NOT fnd_api.compatible_api_call(l_api_version, p_api_version, l_api_name, g_pkg_name) THEN
1203: RAISE fnd_api.g_exc_unexpected_error;
1204: END IF;
1205:
1206: x_return_status := fnd_api.g_ret_sts_success;
1207: ------------------------ delete ------------------------
1202: IF NOT fnd_api.compatible_api_call(l_api_version, p_api_version, l_api_name, g_pkg_name) THEN
1203: RAISE fnd_api.g_exc_unexpected_error;
1204: END IF;
1205:
1206: x_return_status := fnd_api.g_ret_sts_success;
1207: ------------------------ delete ------------------------
1208: IF G_DEBUG THEN
1209: ozf_utility_pvt.debug_message(l_full_name || ': delete');
1210: END IF;
1219: fnd_message.set_name('OZF', 'OZF_API_RECORD_NOT_FOUND');
1220: fnd_msg_pub.add;
1221: END IF;
1222:
1223: RAISE fnd_api.g_exc_error;
1224: END IF;
1225:
1226: DELETE
1227: FROM ozf_funds_all_tl
1232: fnd_message.set_name('OZF', 'OZF_API_RECORD_NOT_FOUND');
1233: fnd_msg_pub.add;
1234: END IF;
1235:
1236: RAISE fnd_api.g_exc_error;
1237: END IF;
1238:
1239: -------------------- finish --------------------------
1240: IF fnd_api.to_boolean(p_commit) THEN
1236: RAISE fnd_api.g_exc_error;
1237: END IF;
1238:
1239: -------------------- finish --------------------------
1240: IF fnd_api.to_boolean(p_commit) THEN
1241: COMMIT;
1242: END IF;
1243:
1244: fnd_msg_pub.count_and_get(
1241: COMMIT;
1242: END IF;
1243:
1244: fnd_msg_pub.count_and_get(
1245: p_encoded => fnd_api.g_false
1246: ,p_count => x_msg_count
1247: ,p_data => x_msg_data);
1248: IF G_DEBUG THEN
1249: ozf_utility_pvt.debug_message(l_full_name || ': end');
1248: IF G_DEBUG THEN
1249: ozf_utility_pvt.debug_message(l_full_name || ': end');
1250: END IF;
1251: EXCEPTION
1252: WHEN fnd_api.g_exc_error THEN
1253: ROLLBACK TO delete_fund;
1254: x_return_status := fnd_api.g_ret_sts_error;
1255: fnd_msg_pub.count_and_get(
1256: p_encoded => fnd_api.g_false
1250: END IF;
1251: EXCEPTION
1252: WHEN fnd_api.g_exc_error THEN
1253: ROLLBACK TO delete_fund;
1254: x_return_status := fnd_api.g_ret_sts_error;
1255: fnd_msg_pub.count_and_get(
1256: p_encoded => fnd_api.g_false
1257: ,p_count => x_msg_count
1258: ,p_data => x_msg_data);
1252: WHEN fnd_api.g_exc_error THEN
1253: ROLLBACK TO delete_fund;
1254: x_return_status := fnd_api.g_ret_sts_error;
1255: fnd_msg_pub.count_and_get(
1256: p_encoded => fnd_api.g_false
1257: ,p_count => x_msg_count
1258: ,p_data => x_msg_data);
1259: WHEN fnd_api.g_exc_unexpected_error THEN
1260: ROLLBACK TO delete_fund;
1255: fnd_msg_pub.count_and_get(
1256: p_encoded => fnd_api.g_false
1257: ,p_count => x_msg_count
1258: ,p_data => x_msg_data);
1259: WHEN fnd_api.g_exc_unexpected_error THEN
1260: ROLLBACK TO delete_fund;
1261: x_return_status := fnd_api.g_ret_sts_unexp_error;
1262: fnd_msg_pub.count_and_get(
1263: p_encoded => fnd_api.g_false
1257: ,p_count => x_msg_count
1258: ,p_data => x_msg_data);
1259: WHEN fnd_api.g_exc_unexpected_error THEN
1260: ROLLBACK TO delete_fund;
1261: x_return_status := fnd_api.g_ret_sts_unexp_error;
1262: fnd_msg_pub.count_and_get(
1263: p_encoded => fnd_api.g_false
1264: ,p_count => x_msg_count
1265: ,p_data => x_msg_data);
1259: WHEN fnd_api.g_exc_unexpected_error THEN
1260: ROLLBACK TO delete_fund;
1261: x_return_status := fnd_api.g_ret_sts_unexp_error;
1262: fnd_msg_pub.count_and_get(
1263: p_encoded => fnd_api.g_false
1264: ,p_count => x_msg_count
1265: ,p_data => x_msg_data);
1266: WHEN OTHERS THEN
1267: ROLLBACK TO delete_fund;
1264: ,p_count => x_msg_count
1265: ,p_data => x_msg_data);
1266: WHEN OTHERS THEN
1267: ROLLBACK TO delete_fund;
1268: x_return_status := fnd_api.g_ret_sts_unexp_error;
1269:
1270: IF fnd_msg_pub.check_msg_level(fnd_msg_pub.g_msg_lvl_unexp_error) THEN
1271: fnd_msg_pub.add_exc_msg(g_pkg_name, l_api_name);
1272: END IF;
1271: fnd_msg_pub.add_exc_msg(g_pkg_name, l_api_name);
1272: END IF;
1273:
1274: fnd_msg_pub.count_and_get(
1275: p_encoded => fnd_api.g_false
1276: ,p_count => x_msg_count
1277: ,p_data => x_msg_data);
1278: END delete_fund;
1279:
1287: -- 02/02/2000 Shitij Vatsa Create.
1288: --------------------------------------------------------------------
1289: PROCEDURE lock_fund(
1290: p_api_version IN NUMBER
1291: ,p_init_msg_list IN VARCHAR2 := fnd_api.g_false
1292: ,x_return_status OUT NOCOPY VARCHAR2
1293: ,x_msg_count OUT NOCOPY NUMBER
1294: ,x_msg_data OUT NOCOPY VARCHAR2
1295: ,p_fund_id IN NUMBER
1320: IF G_DEBUG THEN
1321: ozf_utility_pvt.debug_message(l_full_name || ': start');
1322: END IF;
1323:
1324: IF fnd_api.to_boolean(p_init_msg_list) THEN
1325: fnd_msg_pub.initialize;
1326: END IF;
1327:
1328: IF NOT fnd_api.compatible_api_call(l_api_version, p_api_version, l_api_name, g_pkg_name) THEN
1324: IF fnd_api.to_boolean(p_init_msg_list) THEN
1325: fnd_msg_pub.initialize;
1326: END IF;
1327:
1328: IF NOT fnd_api.compatible_api_call(l_api_version, p_api_version, l_api_name, g_pkg_name) THEN
1329: RAISE fnd_api.g_exc_unexpected_error;
1330: END IF;
1331:
1332: x_return_status := fnd_api.g_ret_sts_success;
1325: fnd_msg_pub.initialize;
1326: END IF;
1327:
1328: IF NOT fnd_api.compatible_api_call(l_api_version, p_api_version, l_api_name, g_pkg_name) THEN
1329: RAISE fnd_api.g_exc_unexpected_error;
1330: END IF;
1331:
1332: x_return_status := fnd_api.g_ret_sts_success;
1333: ------------------------ lock -------------------------
1328: IF NOT fnd_api.compatible_api_call(l_api_version, p_api_version, l_api_name, g_pkg_name) THEN
1329: RAISE fnd_api.g_exc_unexpected_error;
1330: END IF;
1331:
1332: x_return_status := fnd_api.g_ret_sts_success;
1333: ------------------------ lock -------------------------
1334: IF G_DEBUG THEN
1335: ozf_utility_pvt.debug_message(l_full_name || ': lock');
1336: END IF;
1344: fnd_message.set_name('OZF', 'OZF_API_RECORD_NOT_FOUND');
1345: fnd_msg_pub.add;
1346: END IF;
1347:
1348: RAISE fnd_api.g_exc_error;
1349: END IF;
1350:
1351: CLOSE c_fund_b;
1352: OPEN c_fund_tl;
1352: OPEN c_fund_tl;
1353: CLOSE c_fund_tl;
1354: -------------------- finish --------------------------
1355: fnd_msg_pub.count_and_get(
1356: p_encoded => fnd_api.g_false
1357: ,p_count => x_msg_count
1358: ,p_data => x_msg_data);
1359: IF G_DEBUG THEN
1360: ozf_utility_pvt.debug_message(l_full_name || ': end');
1360: ozf_utility_pvt.debug_message(l_full_name || ': end');
1361: END IF;
1362: EXCEPTION
1363: WHEN ozf_utility_pvt.resource_locked THEN
1364: x_return_status := fnd_api.g_ret_sts_error;
1365:
1366: IF fnd_msg_pub.check_msg_level(fnd_msg_pub.g_msg_lvl_error) THEN
1367: fnd_message.set_name('OZF', 'OZF_API_RESOURCE_LOCKED');
1368: fnd_msg_pub.add;
1368: fnd_msg_pub.add;
1369: END IF;
1370:
1371: fnd_msg_pub.count_and_get(
1372: p_encoded => fnd_api.g_false
1373: ,p_count => x_msg_count
1374: ,p_data => x_msg_data);
1375: WHEN fnd_api.g_exc_error THEN
1376: x_return_status := fnd_api.g_ret_sts_error;
1371: fnd_msg_pub.count_and_get(
1372: p_encoded => fnd_api.g_false
1373: ,p_count => x_msg_count
1374: ,p_data => x_msg_data);
1375: WHEN fnd_api.g_exc_error THEN
1376: x_return_status := fnd_api.g_ret_sts_error;
1377: fnd_msg_pub.count_and_get(
1378: p_encoded => fnd_api.g_false
1379: ,p_count => x_msg_count
1372: p_encoded => fnd_api.g_false
1373: ,p_count => x_msg_count
1374: ,p_data => x_msg_data);
1375: WHEN fnd_api.g_exc_error THEN
1376: x_return_status := fnd_api.g_ret_sts_error;
1377: fnd_msg_pub.count_and_get(
1378: p_encoded => fnd_api.g_false
1379: ,p_count => x_msg_count
1380: ,p_data => x_msg_data);
1374: ,p_data => x_msg_data);
1375: WHEN fnd_api.g_exc_error THEN
1376: x_return_status := fnd_api.g_ret_sts_error;
1377: fnd_msg_pub.count_and_get(
1378: p_encoded => fnd_api.g_false
1379: ,p_count => x_msg_count
1380: ,p_data => x_msg_data);
1381: WHEN fnd_api.g_exc_unexpected_error THEN
1382: x_return_status := fnd_api.g_ret_sts_unexp_error;
1377: fnd_msg_pub.count_and_get(
1378: p_encoded => fnd_api.g_false
1379: ,p_count => x_msg_count
1380: ,p_data => x_msg_data);
1381: WHEN fnd_api.g_exc_unexpected_error THEN
1382: x_return_status := fnd_api.g_ret_sts_unexp_error;
1383: fnd_msg_pub.count_and_get(
1384: p_encoded => fnd_api.g_false
1385: ,p_count => x_msg_count
1378: p_encoded => fnd_api.g_false
1379: ,p_count => x_msg_count
1380: ,p_data => x_msg_data);
1381: WHEN fnd_api.g_exc_unexpected_error THEN
1382: x_return_status := fnd_api.g_ret_sts_unexp_error;
1383: fnd_msg_pub.count_and_get(
1384: p_encoded => fnd_api.g_false
1385: ,p_count => x_msg_count
1386: ,p_data => x_msg_data);
1380: ,p_data => x_msg_data);
1381: WHEN fnd_api.g_exc_unexpected_error THEN
1382: x_return_status := fnd_api.g_ret_sts_unexp_error;
1383: fnd_msg_pub.count_and_get(
1384: p_encoded => fnd_api.g_false
1385: ,p_count => x_msg_count
1386: ,p_data => x_msg_data);
1387: WHEN OTHERS THEN
1388: x_return_status := fnd_api.g_ret_sts_unexp_error;
1384: p_encoded => fnd_api.g_false
1385: ,p_count => x_msg_count
1386: ,p_data => x_msg_data);
1387: WHEN OTHERS THEN
1388: x_return_status := fnd_api.g_ret_sts_unexp_error;
1389:
1390: IF fnd_msg_pub.check_msg_level(fnd_msg_pub.g_msg_lvl_unexp_error) THEN
1391: fnd_msg_pub.add_exc_msg(g_pkg_name, l_api_name);
1392: END IF;
1391: fnd_msg_pub.add_exc_msg(g_pkg_name, l_api_name);
1392: END IF;
1393:
1394: fnd_msg_pub.count_and_get(
1395: p_encoded => fnd_api.g_false
1396: ,p_count => x_msg_count
1397: ,p_data => x_msg_data);
1398: END lock_fund;
1399:
1424:
1425: ----------------------------------------------------------------------
1426: PROCEDURE update_fund(
1427: p_api_version IN NUMBER
1428: ,p_init_msg_list IN VARCHAR2 := fnd_api.g_false
1429: ,p_commit IN VARCHAR2 := fnd_api.g_false
1430: ,p_validation_level IN NUMBER := fnd_api.g_valid_level_full
1431: ,x_return_status OUT NOCOPY VARCHAR2
1432: ,x_msg_count OUT NOCOPY NUMBER
1425: ----------------------------------------------------------------------
1426: PROCEDURE update_fund(
1427: p_api_version IN NUMBER
1428: ,p_init_msg_list IN VARCHAR2 := fnd_api.g_false
1429: ,p_commit IN VARCHAR2 := fnd_api.g_false
1430: ,p_validation_level IN NUMBER := fnd_api.g_valid_level_full
1431: ,x_return_status OUT NOCOPY VARCHAR2
1432: ,x_msg_count OUT NOCOPY NUMBER
1433: ,x_msg_data OUT NOCOPY VARCHAR2
1426: PROCEDURE update_fund(
1427: p_api_version IN NUMBER
1428: ,p_init_msg_list IN VARCHAR2 := fnd_api.g_false
1429: ,p_commit IN VARCHAR2 := fnd_api.g_false
1430: ,p_validation_level IN NUMBER := fnd_api.g_valid_level_full
1431: ,x_return_status OUT NOCOPY VARCHAR2
1432: ,x_msg_count OUT NOCOPY NUMBER
1433: ,x_msg_data OUT NOCOPY VARCHAR2
1434: ,p_fund_rec IN fund_rec_type
1439: := 'Update_Fund';
1440: l_full_name CONSTANT VARCHAR2(60)
1441: := g_pkg_name || '.' || l_api_name;
1442: l_fund_rec fund_rec_type;
1443: l_return_status VARCHAR2(1) := FND_API.g_ret_sts_success;
1444: l_mode VARCHAR2(30);
1445: l_request_id NUMBER;
1446: /* R12: yzhao bug 4669269 - obsolete ozf_mc_transactions
1447: l_mc_obj_number NUMBER;
1456: l_par_fund_owner NUMBER;
1457: -- l_request_rec ozf_fund_request_pvt.request_rec_type;
1458: l_status_code VARCHAR2(30);
1459: -- 08/14/2001 mpande added
1460: l_submit_budget_approval VARCHAR2(1):= FND_API.g_false;
1461: l_submit_child_approval VARCHAR2(1):= FND_API.g_false;
1462: l_approver_id NUMBER;
1463: l_workflow_process VARCHAR2(30) := 'AMSGAPP';
1464: l_item_type VARCHAR2(30) := 'AMSGAPP';
1457: -- l_request_rec ozf_fund_request_pvt.request_rec_type;
1458: l_status_code VARCHAR2(30);
1459: -- 08/14/2001 mpande added
1460: l_submit_budget_approval VARCHAR2(1):= FND_API.g_false;
1461: l_submit_child_approval VARCHAR2(1):= FND_API.g_false;
1462: l_approver_id NUMBER;
1463: l_workflow_process VARCHAR2(30) := 'AMSGAPP';
1464: l_item_type VARCHAR2(30) := 'AMSGAPP';
1465: l_old_user_status_id NUMBER;
1613: IF G_DEBUG THEN
1614: ozf_utility_pvt.debug_message(l_full_name || ': start');
1615: END IF;
1616:
1617: IF fnd_api.to_boolean(p_init_msg_list) THEN
1618: fnd_msg_pub.initialize;
1619: END IF;
1620:
1621: IF NOT fnd_api.compatible_api_call(l_api_version, p_api_version, l_api_name, g_pkg_name) THEN
1617: IF fnd_api.to_boolean(p_init_msg_list) THEN
1618: fnd_msg_pub.initialize;
1619: END IF;
1620:
1621: IF NOT fnd_api.compatible_api_call(l_api_version, p_api_version, l_api_name, g_pkg_name) THEN
1622: RAISE fnd_api.g_exc_unexpected_error;
1623: END IF;
1624:
1625: x_return_status := fnd_api.g_ret_sts_success;
1618: fnd_msg_pub.initialize;
1619: END IF;
1620:
1621: IF NOT fnd_api.compatible_api_call(l_api_version, p_api_version, l_api_name, g_pkg_name) THEN
1622: RAISE fnd_api.g_exc_unexpected_error;
1623: END IF;
1624:
1625: x_return_status := fnd_api.g_ret_sts_success;
1626:
1621: IF NOT fnd_api.compatible_api_call(l_api_version, p_api_version, l_api_name, g_pkg_name) THEN
1622: RAISE fnd_api.g_exc_unexpected_error;
1623: END IF;
1624:
1625: x_return_status := fnd_api.g_ret_sts_success;
1626:
1627: -- //added on Sep20 for user status validation
1628: complete_fund_rec(p_fund_rec, l_fund_rec);
1629: -- check fund status and fill in system status
1626:
1627: -- //added on Sep20 for user status validation
1628: complete_fund_rec(p_fund_rec, l_fund_rec);
1629: -- check fund status and fill in system status
1630: IF p_fund_rec.user_status_id <> fnd_api.g_miss_num THEN
1631: handle_fund_status(
1632: p_user_status_id => p_fund_rec.user_status_id
1633: ,x_status_code => l_status_code
1634: ,x_return_status => x_return_status);
1632: p_user_status_id => p_fund_rec.user_status_id
1633: ,x_status_code => l_status_code
1634: ,x_return_status => x_return_status);
1635:
1636: IF x_return_status = fnd_api.g_ret_sts_error THEN
1637: RAISE fnd_api.g_exc_error;
1638: ELSIF x_return_status = fnd_api.g_ret_sts_unexp_error THEN
1639: RAISE fnd_api.g_exc_unexpected_error;
1640: END IF;
1633: ,x_status_code => l_status_code
1634: ,x_return_status => x_return_status);
1635:
1636: IF x_return_status = fnd_api.g_ret_sts_error THEN
1637: RAISE fnd_api.g_exc_error;
1638: ELSIF x_return_status = fnd_api.g_ret_sts_unexp_error THEN
1639: RAISE fnd_api.g_exc_unexpected_error;
1640: END IF;
1641:
1634: ,x_return_status => x_return_status);
1635:
1636: IF x_return_status = fnd_api.g_ret_sts_error THEN
1637: RAISE fnd_api.g_exc_error;
1638: ELSIF x_return_status = fnd_api.g_ret_sts_unexp_error THEN
1639: RAISE fnd_api.g_exc_unexpected_error;
1640: END IF;
1641:
1642: l_fund_rec.status_code := l_status_code;
1635:
1636: IF x_return_status = fnd_api.g_ret_sts_error THEN
1637: RAISE fnd_api.g_exc_error;
1638: ELSIF x_return_status = fnd_api.g_ret_sts_unexp_error THEN
1639: RAISE fnd_api.g_exc_unexpected_error;
1640: END IF;
1641:
1642: l_fund_rec.status_code := l_status_code;
1643: ELSIF p_fund_rec.status_code <> fnd_api.g_miss_char THEN
1639: RAISE fnd_api.g_exc_unexpected_error;
1640: END IF;
1641:
1642: l_fund_rec.status_code := l_status_code;
1643: ELSIF p_fund_rec.status_code <> fnd_api.g_miss_char THEN
1644: IF G_DEBUG THEN
1645: ozf_utility_pvt.debug_message(l_full_name || 'debug' || p_fund_rec.status_code);
1646: END IF;
1647: get_user_status(
1648: p_status_code => p_fund_rec.status_code
1649: ,x_user_status_id => l_fund_rec.user_status_id
1650: ,x_return_status => x_return_status);
1651:
1652: IF x_return_status = fnd_api.g_ret_sts_error THEN
1653: RAISE fnd_api.g_exc_error;
1654: ELSIF x_return_status = fnd_api.g_ret_sts_unexp_error THEN
1655: RAISE fnd_api.g_exc_unexpected_error;
1656: END IF;
1649: ,x_user_status_id => l_fund_rec.user_status_id
1650: ,x_return_status => x_return_status);
1651:
1652: IF x_return_status = fnd_api.g_ret_sts_error THEN
1653: RAISE fnd_api.g_exc_error;
1654: ELSIF x_return_status = fnd_api.g_ret_sts_unexp_error THEN
1655: RAISE fnd_api.g_exc_unexpected_error;
1656: END IF;
1657: --- this we need because there could be some records in the database with no user status
1650: ,x_return_status => x_return_status);
1651:
1652: IF x_return_status = fnd_api.g_ret_sts_error THEN
1653: RAISE fnd_api.g_exc_error;
1654: ELSIF x_return_status = fnd_api.g_ret_sts_unexp_error THEN
1655: RAISE fnd_api.g_exc_unexpected_error;
1656: END IF;
1657: --- this we need because there could be some records in the database with no user status
1658: ELSE
1651:
1652: IF x_return_status = fnd_api.g_ret_sts_error THEN
1653: RAISE fnd_api.g_exc_error;
1654: ELSIF x_return_status = fnd_api.g_ret_sts_unexp_error THEN
1655: RAISE fnd_api.g_exc_unexpected_error;
1656: END IF;
1657: --- this we need because there could be some records in the database with no user status
1658: ELSE
1659: IF G_DEBUG THEN
1665: p_user_status_id => l_fund_rec.user_status_id
1666: ,x_status_code => l_status_code
1667: ,x_return_status => x_return_status);
1668:
1669: IF x_return_status = fnd_api.g_ret_sts_error THEN
1670: RAISE fnd_api.g_exc_error;
1671: ELSIF x_return_status = fnd_api.g_ret_sts_unexp_error THEN
1672: RAISE fnd_api.g_exc_unexpected_error;
1673: END IF;
1666: ,x_status_code => l_status_code
1667: ,x_return_status => x_return_status);
1668:
1669: IF x_return_status = fnd_api.g_ret_sts_error THEN
1670: RAISE fnd_api.g_exc_error;
1671: ELSIF x_return_status = fnd_api.g_ret_sts_unexp_error THEN
1672: RAISE fnd_api.g_exc_unexpected_error;
1673: END IF;
1674: ELSE
1667: ,x_return_status => x_return_status);
1668:
1669: IF x_return_status = fnd_api.g_ret_sts_error THEN
1670: RAISE fnd_api.g_exc_error;
1671: ELSIF x_return_status = fnd_api.g_ret_sts_unexp_error THEN
1672: RAISE fnd_api.g_exc_unexpected_error;
1673: END IF;
1674: ELSE
1675: -- if user_status_id is null in database then we will populate it with the corrsponnding system status value form user_status_table
1668:
1669: IF x_return_status = fnd_api.g_ret_sts_error THEN
1670: RAISE fnd_api.g_exc_error;
1671: ELSIF x_return_status = fnd_api.g_ret_sts_unexp_error THEN
1672: RAISE fnd_api.g_exc_unexpected_error;
1673: END IF;
1674: ELSE
1675: -- if user_status_id is null in database then we will populate it with the corrsponnding system status value form user_status_table
1676: get_user_status(
1677: p_status_code => l_fund_rec.status_code
1678: ,x_user_status_id => l_fund_rec.user_status_id
1679: ,x_return_status => x_return_status);
1680:
1681: IF x_return_status = fnd_api.g_ret_sts_error THEN
1682: RAISE fnd_api.g_exc_error;
1683: ELSIF x_return_status = fnd_api.g_ret_sts_unexp_error THEN
1684: RAISE fnd_api.g_exc_unexpected_error;
1685: END IF;
1678: ,x_user_status_id => l_fund_rec.user_status_id
1679: ,x_return_status => x_return_status);
1680:
1681: IF x_return_status = fnd_api.g_ret_sts_error THEN
1682: RAISE fnd_api.g_exc_error;
1683: ELSIF x_return_status = fnd_api.g_ret_sts_unexp_error THEN
1684: RAISE fnd_api.g_exc_unexpected_error;
1685: END IF;
1686: END IF;
1679: ,x_return_status => x_return_status);
1680:
1681: IF x_return_status = fnd_api.g_ret_sts_error THEN
1682: RAISE fnd_api.g_exc_error;
1683: ELSIF x_return_status = fnd_api.g_ret_sts_unexp_error THEN
1684: RAISE fnd_api.g_exc_unexpected_error;
1685: END IF;
1686: END IF;
1687:
1680:
1681: IF x_return_status = fnd_api.g_ret_sts_error THEN
1682: RAISE fnd_api.g_exc_error;
1683: ELSIF x_return_status = fnd_api.g_ret_sts_unexp_error THEN
1684: RAISE fnd_api.g_exc_unexpected_error;
1685: END IF;
1686: END IF;
1687:
1688: l_fund_rec.status_code := l_status_code;
1719: -- changed the status call here to check for the changed status
1720: IF l_fund_rec.status_code <> 'DRAFT' AND l_old_status <> 'DRAFT'
1721: AND l_old_curr <> l_fund_rec.currency_code_tc THEN
1722: IF p_fund_rec.original_budget IS NOT NULL
1723: AND p_fund_rec.original_budget <> fnd_api.g_miss_num THEN
1724:
1725: --nirprasa, added for bug 7425189
1726: IF p_fund_rec.description IN (l_fund_reconc_msg,l_act_bud_cst_msg)
1727: AND p_fund_rec.exchange_rate_date IS NOT NULL THEN
1746: -- we need to pass the fund currency after calculating
1747: l_fund_rec.currency_code_tc := l_old_curr;
1748:
1749: ----dbms_output.put_line ('DEBUG ');
1750: IF l_return_status = fnd_api.g_ret_sts_error THEN
1751: RAISE fnd_api.g_exc_error;
1752: ELSIF l_return_status = fnd_api.g_ret_sts_unexp_error THEN
1753: RAISE fnd_api.g_exc_unexpected_error;
1754: END IF;
1747: l_fund_rec.currency_code_tc := l_old_curr;
1748:
1749: ----dbms_output.put_line ('DEBUG ');
1750: IF l_return_status = fnd_api.g_ret_sts_error THEN
1751: RAISE fnd_api.g_exc_error;
1752: ELSIF l_return_status = fnd_api.g_ret_sts_unexp_error THEN
1753: RAISE fnd_api.g_exc_unexpected_error;
1754: END IF;
1755: END IF;
1748:
1749: ----dbms_output.put_line ('DEBUG ');
1750: IF l_return_status = fnd_api.g_ret_sts_error THEN
1751: RAISE fnd_api.g_exc_error;
1752: ELSIF l_return_status = fnd_api.g_ret_sts_unexp_error THEN
1753: RAISE fnd_api.g_exc_unexpected_error;
1754: END IF;
1755: END IF;
1756:
1749: ----dbms_output.put_line ('DEBUG ');
1750: IF l_return_status = fnd_api.g_ret_sts_error THEN
1751: RAISE fnd_api.g_exc_error;
1752: ELSIF l_return_status = fnd_api.g_ret_sts_unexp_error THEN
1753: RAISE fnd_api.g_exc_unexpected_error;
1754: END IF;
1755: END IF;
1756:
1757: IF p_fund_rec.transfered_in_amt IS NOT NULL
1754: END IF;
1755: END IF;
1756:
1757: IF p_fund_rec.transfered_in_amt IS NOT NULL
1758: AND p_fund_rec.transfered_in_amt <> fnd_api.g_miss_num THEN
1759: --nirprasa, added for bug 7425189
1760: IF p_fund_rec.description IN (l_fund_reconc_msg,l_act_bud_cst_msg)
1761: AND p_fund_rec.exchange_rate_date IS NOT NULL THEN
1762: Ozf_utility_pvt.convert_currency(
1778: END IF;
1779: -- we need to pass the fund currency after calculating
1780: l_fund_rec.currency_code_tc := l_old_curr;
1781:
1782: IF l_return_status = fnd_api.g_ret_sts_error THEN
1783: RAISE fnd_api.g_exc_error;
1784: ELSIF l_return_status = fnd_api.g_ret_sts_unexp_error THEN
1785: RAISE fnd_api.g_exc_unexpected_error;
1786: END IF;
1779: -- we need to pass the fund currency after calculating
1780: l_fund_rec.currency_code_tc := l_old_curr;
1781:
1782: IF l_return_status = fnd_api.g_ret_sts_error THEN
1783: RAISE fnd_api.g_exc_error;
1784: ELSIF l_return_status = fnd_api.g_ret_sts_unexp_error THEN
1785: RAISE fnd_api.g_exc_unexpected_error;
1786: END IF;
1787: END IF;
1780: l_fund_rec.currency_code_tc := l_old_curr;
1781:
1782: IF l_return_status = fnd_api.g_ret_sts_error THEN
1783: RAISE fnd_api.g_exc_error;
1784: ELSIF l_return_status = fnd_api.g_ret_sts_unexp_error THEN
1785: RAISE fnd_api.g_exc_unexpected_error;
1786: END IF;
1787: END IF;
1788:
1781:
1782: IF l_return_status = fnd_api.g_ret_sts_error THEN
1783: RAISE fnd_api.g_exc_error;
1784: ELSIF l_return_status = fnd_api.g_ret_sts_unexp_error THEN
1785: RAISE fnd_api.g_exc_unexpected_error;
1786: END IF;
1787: END IF;
1788:
1789: IF p_fund_rec.transfered_out_amt IS NOT NULL
1786: END IF;
1787: END IF;
1788:
1789: IF p_fund_rec.transfered_out_amt IS NOT NULL
1790: AND p_fund_rec.transfered_out_amt <> fnd_api.g_miss_num THEN
1791:
1792: --nirprasa, added for bug 7425189
1793: IF p_fund_rec.description IN (l_fund_reconc_msg,l_act_bud_cst_msg)
1794: AND p_fund_rec.exchange_rate_date IS NOT NULL THEN
1811: END IF;
1812: -- we need to pass the fund currency after calculating
1813: l_fund_rec.currency_code_tc := l_old_curr;
1814:
1815: IF l_return_status = fnd_api.g_ret_sts_error THEN
1816: RAISE fnd_api.g_exc_error;
1817: ELSIF l_return_status = fnd_api.g_ret_sts_unexp_error THEN
1818: RAISE fnd_api.g_exc_unexpected_error;
1819: END IF;
1812: -- we need to pass the fund currency after calculating
1813: l_fund_rec.currency_code_tc := l_old_curr;
1814:
1815: IF l_return_status = fnd_api.g_ret_sts_error THEN
1816: RAISE fnd_api.g_exc_error;
1817: ELSIF l_return_status = fnd_api.g_ret_sts_unexp_error THEN
1818: RAISE fnd_api.g_exc_unexpected_error;
1819: END IF;
1820: END IF;
1813: l_fund_rec.currency_code_tc := l_old_curr;
1814:
1815: IF l_return_status = fnd_api.g_ret_sts_error THEN
1816: RAISE fnd_api.g_exc_error;
1817: ELSIF l_return_status = fnd_api.g_ret_sts_unexp_error THEN
1818: RAISE fnd_api.g_exc_unexpected_error;
1819: END IF;
1820: END IF;
1821:
1814:
1815: IF l_return_status = fnd_api.g_ret_sts_error THEN
1816: RAISE fnd_api.g_exc_error;
1817: ELSIF l_return_status = fnd_api.g_ret_sts_unexp_error THEN
1818: RAISE fnd_api.g_exc_unexpected_error;
1819: END IF;
1820: END IF;
1821:
1822: IF p_fund_rec.planned_amt IS NOT NULL
1819: END IF;
1820: END IF;
1821:
1822: IF p_fund_rec.planned_amt IS NOT NULL
1823: AND p_fund_rec.planned_amt <> fnd_api.g_miss_num THEN
1824:
1825: --nirprasa, added for bug 7425189
1826: IF p_fund_rec.description IN (l_fund_reconc_msg,l_act_bud_cst_msg)
1827: AND p_fund_rec.exchange_rate_date IS NOT NULL THEN
1845:
1846: -- we need to pass the fund currency after calculating
1847: l_fund_rec.currency_code_tc := l_old_curr;
1848:
1849: IF l_return_status = fnd_api.g_ret_sts_error THEN
1850: RAISE fnd_api.g_exc_error;
1851: ELSIF l_return_status = fnd_api.g_ret_sts_unexp_error THEN
1852: RAISE fnd_api.g_exc_unexpected_error;
1853: END IF;
1846: -- we need to pass the fund currency after calculating
1847: l_fund_rec.currency_code_tc := l_old_curr;
1848:
1849: IF l_return_status = fnd_api.g_ret_sts_error THEN
1850: RAISE fnd_api.g_exc_error;
1851: ELSIF l_return_status = fnd_api.g_ret_sts_unexp_error THEN
1852: RAISE fnd_api.g_exc_unexpected_error;
1853: END IF;
1854: END IF;
1847: l_fund_rec.currency_code_tc := l_old_curr;
1848:
1849: IF l_return_status = fnd_api.g_ret_sts_error THEN
1850: RAISE fnd_api.g_exc_error;
1851: ELSIF l_return_status = fnd_api.g_ret_sts_unexp_error THEN
1852: RAISE fnd_api.g_exc_unexpected_error;
1853: END IF;
1854: END IF;
1855:
1848:
1849: IF l_return_status = fnd_api.g_ret_sts_error THEN
1850: RAISE fnd_api.g_exc_error;
1851: ELSIF l_return_status = fnd_api.g_ret_sts_unexp_error THEN
1852: RAISE fnd_api.g_exc_unexpected_error;
1853: END IF;
1854: END IF;
1855:
1856: -- yzhao: 11.5.10
1854: END IF;
1855:
1856: -- yzhao: 11.5.10
1857: IF p_fund_rec.utilized_amt IS NOT NULL
1858: AND p_fund_rec.utilized_amt <> fnd_api.g_miss_num THEN
1859:
1860: --nirprasa, added for bug 7425189
1861: IF p_fund_rec.description IN (l_fund_reconc_msg,l_act_bud_cst_msg)
1862: AND p_fund_rec.exchange_rate_date IS NOT NULL THEN
1879: END IF;
1880: -- we need to pass the fund currency after calculating
1881: l_fund_rec.currency_code_tc := l_old_curr;
1882:
1883: IF l_return_status = fnd_api.g_ret_sts_error THEN
1884: RAISE fnd_api.g_exc_error;
1885: ELSIF l_return_status = fnd_api.g_ret_sts_unexp_error THEN
1886: RAISE fnd_api.g_exc_unexpected_error;
1887: END IF;
1880: -- we need to pass the fund currency after calculating
1881: l_fund_rec.currency_code_tc := l_old_curr;
1882:
1883: IF l_return_status = fnd_api.g_ret_sts_error THEN
1884: RAISE fnd_api.g_exc_error;
1885: ELSIF l_return_status = fnd_api.g_ret_sts_unexp_error THEN
1886: RAISE fnd_api.g_exc_unexpected_error;
1887: END IF;
1888: END IF;
1881: l_fund_rec.currency_code_tc := l_old_curr;
1882:
1883: IF l_return_status = fnd_api.g_ret_sts_error THEN
1884: RAISE fnd_api.g_exc_error;
1885: ELSIF l_return_status = fnd_api.g_ret_sts_unexp_error THEN
1886: RAISE fnd_api.g_exc_unexpected_error;
1887: END IF;
1888: END IF;
1889:
1882:
1883: IF l_return_status = fnd_api.g_ret_sts_error THEN
1884: RAISE fnd_api.g_exc_error;
1885: ELSIF l_return_status = fnd_api.g_ret_sts_unexp_error THEN
1886: RAISE fnd_api.g_exc_unexpected_error;
1887: END IF;
1888: END IF;
1889:
1890: IF p_fund_rec.earned_amt IS NOT NULL
1887: END IF;
1888: END IF;
1889:
1890: IF p_fund_rec.earned_amt IS NOT NULL
1891: AND p_fund_rec.earned_amt <> fnd_api.g_miss_num THEN
1892:
1893: --nirprasa, added for bug 7425189
1894: IF p_fund_rec.description IN (l_fund_reconc_msg,l_act_bud_cst_msg)
1895: AND p_fund_rec.exchange_rate_date IS NOT NULL THEN
1912: END IF;
1913: -- we need to pass the fund currency after calculating
1914: l_fund_rec.currency_code_tc := l_old_curr;
1915:
1916: IF l_return_status = fnd_api.g_ret_sts_error THEN
1917: RAISE fnd_api.g_exc_error;
1918: ELSIF l_return_status = fnd_api.g_ret_sts_unexp_error THEN
1919: RAISE fnd_api.g_exc_unexpected_error;
1920: END IF;
1913: -- we need to pass the fund currency after calculating
1914: l_fund_rec.currency_code_tc := l_old_curr;
1915:
1916: IF l_return_status = fnd_api.g_ret_sts_error THEN
1917: RAISE fnd_api.g_exc_error;
1918: ELSIF l_return_status = fnd_api.g_ret_sts_unexp_error THEN
1919: RAISE fnd_api.g_exc_unexpected_error;
1920: END IF;
1921: END IF;
1914: l_fund_rec.currency_code_tc := l_old_curr;
1915:
1916: IF l_return_status = fnd_api.g_ret_sts_error THEN
1917: RAISE fnd_api.g_exc_error;
1918: ELSIF l_return_status = fnd_api.g_ret_sts_unexp_error THEN
1919: RAISE fnd_api.g_exc_unexpected_error;
1920: END IF;
1921: END IF;
1922:
1915:
1916: IF l_return_status = fnd_api.g_ret_sts_error THEN
1917: RAISE fnd_api.g_exc_error;
1918: ELSIF l_return_status = fnd_api.g_ret_sts_unexp_error THEN
1919: RAISE fnd_api.g_exc_unexpected_error;
1920: END IF;
1921: END IF;
1922:
1923: IF p_fund_rec.committed_amt IS NOT NULL
1920: END IF;
1921: END IF;
1922:
1923: IF p_fund_rec.committed_amt IS NOT NULL
1924: AND p_fund_rec.committed_amt <> fnd_api.g_miss_num THEN
1925:
1926: --nirprasa, added for bug 7425189
1927: IF p_fund_rec.description IN (l_fund_reconc_msg,l_act_bud_cst_msg)
1928: AND p_fund_rec.exchange_rate_date IS NOT NULL THEN
1945: END IF;
1946: -- we need to pass the fund currency after calculating
1947: l_fund_rec.currency_code_tc := l_old_curr;
1948:
1949: IF l_return_status = fnd_api.g_ret_sts_error THEN
1950: RAISE fnd_api.g_exc_error;
1951: ELSIF l_return_status = fnd_api.g_ret_sts_unexp_error THEN
1952: RAISE fnd_api.g_exc_unexpected_error;
1953: END IF;
1946: -- we need to pass the fund currency after calculating
1947: l_fund_rec.currency_code_tc := l_old_curr;
1948:
1949: IF l_return_status = fnd_api.g_ret_sts_error THEN
1950: RAISE fnd_api.g_exc_error;
1951: ELSIF l_return_status = fnd_api.g_ret_sts_unexp_error THEN
1952: RAISE fnd_api.g_exc_unexpected_error;
1953: END IF;
1954: END IF;
1947: l_fund_rec.currency_code_tc := l_old_curr;
1948:
1949: IF l_return_status = fnd_api.g_ret_sts_error THEN
1950: RAISE fnd_api.g_exc_error;
1951: ELSIF l_return_status = fnd_api.g_ret_sts_unexp_error THEN
1952: RAISE fnd_api.g_exc_unexpected_error;
1953: END IF;
1954: END IF;
1955:
1948:
1949: IF l_return_status = fnd_api.g_ret_sts_error THEN
1950: RAISE fnd_api.g_exc_error;
1951: ELSIF l_return_status = fnd_api.g_ret_sts_unexp_error THEN
1952: RAISE fnd_api.g_exc_unexpected_error;
1953: END IF;
1954: END IF;
1955:
1956: IF p_fund_rec.paid_amt IS NOT NULL
1953: END IF;
1954: END IF;
1955:
1956: IF p_fund_rec.paid_amt IS NOT NULL
1957: AND p_fund_rec.paid_amt <> fnd_api.g_miss_num THEN
1958:
1959: --nirprasa, added for bug 7425189
1960: IF p_fund_rec.description IN (l_fund_reconc_msg,l_act_bud_cst_msg)
1961: AND p_fund_rec.exchange_rate_date IS NOT NULL THEN
1978: END IF;
1979: -- we need to pass the fund currency after calculating
1980: l_fund_rec.currency_code_tc := l_old_curr;
1981:
1982: IF l_return_status = fnd_api.g_ret_sts_error THEN
1983: RAISE fnd_api.g_exc_error;
1984: ELSIF l_return_status = fnd_api.g_ret_sts_unexp_error THEN
1985: RAISE fnd_api.g_exc_unexpected_error;
1986: END IF;
1979: -- we need to pass the fund currency after calculating
1980: l_fund_rec.currency_code_tc := l_old_curr;
1981:
1982: IF l_return_status = fnd_api.g_ret_sts_error THEN
1983: RAISE fnd_api.g_exc_error;
1984: ELSIF l_return_status = fnd_api.g_ret_sts_unexp_error THEN
1985: RAISE fnd_api.g_exc_unexpected_error;
1986: END IF;
1987: END IF;
1980: l_fund_rec.currency_code_tc := l_old_curr;
1981:
1982: IF l_return_status = fnd_api.g_ret_sts_error THEN
1983: RAISE fnd_api.g_exc_error;
1984: ELSIF l_return_status = fnd_api.g_ret_sts_unexp_error THEN
1985: RAISE fnd_api.g_exc_unexpected_error;
1986: END IF;
1987: END IF;
1988: END IF;
1981:
1982: IF l_return_status = fnd_api.g_ret_sts_error THEN
1983: RAISE fnd_api.g_exc_error;
1984: ELSIF l_return_status = fnd_api.g_ret_sts_unexp_error THEN
1985: RAISE fnd_api.g_exc_unexpected_error;
1986: END IF;
1987: END IF;
1988: END IF;
1989:
1996: END IF;
1997:
1998: -- generate source code
1999: IF p_fund_rec.parent_fund_id IS NOT NULL
2000: AND p_fund_rec.parent_fund_id <> fnd_api.g_miss_num
2001: AND p_fund_rec.fund_number IS NULL THEN
2002: get_child_source_code(
2003: p_fund_rec.parent_fund_id
2004: ,l_fund_rec.fund_number
2003: p_fund_rec.parent_fund_id
2004: ,l_fund_rec.fund_number
2005: ,x_return_status);
2006:
2007: IF x_return_status = fnd_api.g_ret_sts_error THEN
2008: RAISE fnd_api.g_exc_error;
2009: ELSIF x_return_status = fnd_api.g_ret_sts_unexp_error THEN
2010: RAISE fnd_api.g_exc_unexpected_error;
2011: END IF;
2004: ,l_fund_rec.fund_number
2005: ,x_return_status);
2006:
2007: IF x_return_status = fnd_api.g_ret_sts_error THEN
2008: RAISE fnd_api.g_exc_error;
2009: ELSIF x_return_status = fnd_api.g_ret_sts_unexp_error THEN
2010: RAISE fnd_api.g_exc_unexpected_error;
2011: END IF;
2012: END IF;
2005: ,x_return_status);
2006:
2007: IF x_return_status = fnd_api.g_ret_sts_error THEN
2008: RAISE fnd_api.g_exc_error;
2009: ELSIF x_return_status = fnd_api.g_ret_sts_unexp_error THEN
2010: RAISE fnd_api.g_exc_unexpected_error;
2011: END IF;
2012: END IF;
2013:
2006:
2007: IF x_return_status = fnd_api.g_ret_sts_error THEN
2008: RAISE fnd_api.g_exc_error;
2009: ELSIF x_return_status = fnd_api.g_ret_sts_unexp_error THEN
2010: RAISE fnd_api.g_exc_unexpected_error;
2011: END IF;
2012: END IF;
2013:
2014: IF p_validation_level >= jtf_plsql_api.g_valid_level_item THEN
2020: p_fund_rec => l_fund_rec
2021: ,p_validation_mode => jtf_plsql_api.g_update
2022: ,x_return_status => l_return_status);
2023:
2024: IF l_return_status = fnd_api.g_ret_sts_unexp_error THEN
2025: RAISE fnd_api.g_exc_unexpected_error;
2026: ELSIF l_return_status = fnd_api.g_ret_sts_error THEN
2027: RAISE fnd_api.g_exc_error;
2028: END IF;
2021: ,p_validation_mode => jtf_plsql_api.g_update
2022: ,x_return_status => l_return_status);
2023:
2024: IF l_return_status = fnd_api.g_ret_sts_unexp_error THEN
2025: RAISE fnd_api.g_exc_unexpected_error;
2026: ELSIF l_return_status = fnd_api.g_ret_sts_error THEN
2027: RAISE fnd_api.g_exc_error;
2028: END IF;
2029: END IF;
2022: ,x_return_status => l_return_status);
2023:
2024: IF l_return_status = fnd_api.g_ret_sts_unexp_error THEN
2025: RAISE fnd_api.g_exc_unexpected_error;
2026: ELSIF l_return_status = fnd_api.g_ret_sts_error THEN
2027: RAISE fnd_api.g_exc_error;
2028: END IF;
2029: END IF;
2030:
2023:
2024: IF l_return_status = fnd_api.g_ret_sts_unexp_error THEN
2025: RAISE fnd_api.g_exc_unexpected_error;
2026: ELSIF l_return_status = fnd_api.g_ret_sts_error THEN
2027: RAISE fnd_api.g_exc_error;
2028: END IF;
2029: END IF;
2030:
2031: -- record level
2035: ,p_complete_rec => l_fund_rec
2036: ,p_mode => p_mode
2037: ,x_return_status => l_return_status);
2038:
2039: IF l_return_status = fnd_api.g_ret_sts_unexp_error THEN
2040: RAISE fnd_api.g_exc_unexpected_error;
2041: ELSIF l_return_status = fnd_api.g_ret_sts_error THEN
2042: RAISE fnd_api.g_exc_error;
2043: END IF;
2036: ,p_mode => p_mode
2037: ,x_return_status => l_return_status);
2038:
2039: IF l_return_status = fnd_api.g_ret_sts_unexp_error THEN
2040: RAISE fnd_api.g_exc_unexpected_error;
2041: ELSIF l_return_status = fnd_api.g_ret_sts_error THEN
2042: RAISE fnd_api.g_exc_error;
2043: END IF;
2044: END IF;
2037: ,x_return_status => l_return_status);
2038:
2039: IF l_return_status = fnd_api.g_ret_sts_unexp_error THEN
2040: RAISE fnd_api.g_exc_unexpected_error;
2041: ELSIF l_return_status = fnd_api.g_ret_sts_error THEN
2042: RAISE fnd_api.g_exc_error;
2043: END IF;
2044: END IF;
2045:
2038:
2039: IF l_return_status = fnd_api.g_ret_sts_unexp_error THEN
2040: RAISE fnd_api.g_exc_unexpected_error;
2041: ELSIF l_return_status = fnd_api.g_ret_sts_error THEN
2042: RAISE fnd_api.g_exc_error;
2043: END IF;
2044: END IF;
2045:
2046: -- inter-entity level
2054: ,p_complete_rec => l_fund_rec
2055: ,p_validation_mode => jtf_plsql_api.g_update
2056: ,x_return_status => l_return_status);
2057:
2058: IF l_return_status = fnd_api.g_ret_sts_unexp_error THEN
2059: RAISE fnd_api.g_exc_unexpected_error;
2060: ELSIF l_return_status = fnd_api.g_ret_sts_error THEN
2061: RAISE fnd_api.g_exc_error;
2062: END IF;
2055: ,p_validation_mode => jtf_plsql_api.g_update
2056: ,x_return_status => l_return_status);
2057:
2058: IF l_return_status = fnd_api.g_ret_sts_unexp_error THEN
2059: RAISE fnd_api.g_exc_unexpected_error;
2060: ELSIF l_return_status = fnd_api.g_ret_sts_error THEN
2061: RAISE fnd_api.g_exc_error;
2062: END IF;
2063: END IF;
2056: ,x_return_status => l_return_status);
2057:
2058: IF l_return_status = fnd_api.g_ret_sts_unexp_error THEN
2059: RAISE fnd_api.g_exc_unexpected_error;
2060: ELSIF l_return_status = fnd_api.g_ret_sts_error THEN
2061: RAISE fnd_api.g_exc_error;
2062: END IF;
2063: END IF;
2064:
2057:
2058: IF l_return_status = fnd_api.g_ret_sts_unexp_error THEN
2059: RAISE fnd_api.g_exc_unexpected_error;
2060: ELSIF l_return_status = fnd_api.g_ret_sts_error THEN
2061: RAISE fnd_api.g_exc_error;
2062: END IF;
2063: END IF;
2064:
2065: -------------------------- update --------------------
2072: -- kdass 09-NOV-05 Bug 4618523
2073: /*
2074: --added by mpande 6th JULY-2000
2075: --get default category GL Info not for statistical funds
2076: IF p_fund_rec.category_id <> fnd_api.g_miss_num
2077: AND l_fund_rec.category_id IS NOT NULL THEN
2078: complete_default_gl_info(
2079: l_fund_rec.category_id
2080: ,l_fund_rec.accrued_liable_account
2080: ,l_fund_rec.accrued_liable_account
2081: ,l_fund_rec.ded_adjustment_account
2082: ,l_return_status);
2083:
2084: IF l_return_status = fnd_api.g_ret_sts_error THEN
2085: RAISE fnd_api.g_exc_error;
2086: ELSIF l_return_status = fnd_api.g_ret_sts_unexp_error THEN
2087: RAISE fnd_api.g_exc_unexpected_error;
2088: END IF;
2081: ,l_fund_rec.ded_adjustment_account
2082: ,l_return_status);
2083:
2084: IF l_return_status = fnd_api.g_ret_sts_error THEN
2085: RAISE fnd_api.g_exc_error;
2086: ELSIF l_return_status = fnd_api.g_ret_sts_unexp_error THEN
2087: RAISE fnd_api.g_exc_unexpected_error;
2088: END IF;
2089: END IF;
2082: ,l_return_status);
2083:
2084: IF l_return_status = fnd_api.g_ret_sts_error THEN
2085: RAISE fnd_api.g_exc_error;
2086: ELSIF l_return_status = fnd_api.g_ret_sts_unexp_error THEN
2087: RAISE fnd_api.g_exc_unexpected_error;
2088: END IF;
2089: END IF;
2090: */
2083:
2084: IF l_return_status = fnd_api.g_ret_sts_error THEN
2085: RAISE fnd_api.g_exc_error;
2086: ELSIF l_return_status = fnd_api.g_ret_sts_unexp_error THEN
2087: RAISE fnd_api.g_exc_unexpected_error;
2088: END IF;
2089: END IF;
2090: */
2091:
2094: END IF;
2095: -- perform all status related updation and if it is successful then only update the fund record
2096: -- Update fund could be called by other APIS in active status to update earned amt or committed amt .
2097: -- We do allow them to update the record then
2098: IF l_return_status = fnd_api.g_ret_sts_success THEN
2099: IF p_mode IN (jtf_PLSQL_API.G_UPDATE, 'WORKFLOW') THEN
2100: Ozf_fundrules_pvt.update_fund_status(
2101: p_fund_rec => l_fund_rec
2102: /* yzhao: 11/26/2002 how weird to pass IN parameter l_fund_rec, and use member as OUT parameter
2112: ,x_msg_count => x_msg_count
2113: ,x_msg_data => x_msg_data
2114: ,p_api_version => 1.0);
2115:
2116: IF l_return_status = fnd_api.g_ret_sts_error THEN
2117: RAISE fnd_api.g_exc_error;
2118: ELSIF l_return_status = fnd_api.g_ret_sts_unexp_error THEN
2119: RAISE fnd_api.g_exc_unexpected_error;
2120: END IF;
2113: ,x_msg_data => x_msg_data
2114: ,p_api_version => 1.0);
2115:
2116: IF l_return_status = fnd_api.g_ret_sts_error THEN
2117: RAISE fnd_api.g_exc_error;
2118: ELSIF l_return_status = fnd_api.g_ret_sts_unexp_error THEN
2119: RAISE fnd_api.g_exc_unexpected_error;
2120: END IF;
2121:
2114: ,p_api_version => 1.0);
2115:
2116: IF l_return_status = fnd_api.g_ret_sts_error THEN
2117: RAISE fnd_api.g_exc_error;
2118: ELSIF l_return_status = fnd_api.g_ret_sts_unexp_error THEN
2119: RAISE fnd_api.g_exc_unexpected_error;
2120: END IF;
2121:
2122: l_fund_rec.status_code := l_tmp_status_code;
2115:
2116: IF l_return_status = fnd_api.g_ret_sts_error THEN
2117: RAISE fnd_api.g_exc_error;
2118: ELSIF l_return_status = fnd_api.g_ret_sts_unexp_error THEN
2119: RAISE fnd_api.g_exc_unexpected_error;
2120: END IF;
2121:
2122: l_fund_rec.status_code := l_tmp_status_code;
2123: l_fund_rec.user_status_id := l_tmp_status_id;
2209: ,g_universal_currency) + NVL(l_or_original_budget,0);
2210: l_rollup_original_budget := l_fund_rec.rollup_original_budget - NVL(l_or_original_budget,0);
2211:
2212:
2213: IF l_return_status = fnd_api.g_ret_sts_error THEN
2214: RAISE fnd_api.g_exc_error;
2215: ELSIF l_return_status = fnd_api.g_ret_sts_unexp_error THEN
2216: RAISE fnd_api.g_exc_unexpected_error;
2217: END IF;
2210: l_rollup_original_budget := l_fund_rec.rollup_original_budget - NVL(l_or_original_budget,0);
2211:
2212:
2213: IF l_return_status = fnd_api.g_ret_sts_error THEN
2214: RAISE fnd_api.g_exc_error;
2215: ELSIF l_return_status = fnd_api.g_ret_sts_unexp_error THEN
2216: RAISE fnd_api.g_exc_unexpected_error;
2217: END IF;
2218:
2211:
2212:
2213: IF l_return_status = fnd_api.g_ret_sts_error THEN
2214: RAISE fnd_api.g_exc_error;
2215: ELSIF l_return_status = fnd_api.g_ret_sts_unexp_error THEN
2216: RAISE fnd_api.g_exc_unexpected_error;
2217: END IF;
2218:
2219: END IF;
2212:
2213: IF l_return_status = fnd_api.g_ret_sts_error THEN
2214: RAISE fnd_api.g_exc_error;
2215: ELSIF l_return_status = fnd_api.g_ret_sts_unexp_error THEN
2216: RAISE fnd_api.g_exc_unexpected_error;
2217: END IF;
2218:
2219: END IF;
2220:
2328: IF l_old_parent_fund_id <> l_fund_rec.parent_fund_id THEN
2329: -- remove old access.
2330: update_funds_access(
2331: p_api_version => l_api_version
2332: ,p_init_msg_list => fnd_api.g_false
2333: ,p_commit => fnd_api.g_false
2334: ,p_validation_level => p_validation_level
2335: ,x_return_status => l_return_status
2336: ,x_msg_count => x_msg_count
2329: -- remove old access.
2330: update_funds_access(
2331: p_api_version => l_api_version
2332: ,p_init_msg_list => fnd_api.g_false
2333: ,p_commit => fnd_api.g_false
2334: ,p_validation_level => p_validation_level
2335: ,x_return_status => l_return_status
2336: ,x_msg_count => x_msg_count
2337: ,x_msg_data => x_msg_data
2338: ,p_fund_rec => l_fund_rec
2339: ,p_mode => 'DELETE'
2340: );
2341:
2342: IF l_return_status = fnd_api.g_ret_sts_error THEN
2343: RAISE fnd_api.g_exc_error;
2344: ELSIF l_return_status = fnd_api.g_ret_sts_unexp_error THEN
2345: RAISE fnd_api.g_exc_unexpected_error;
2346: END IF;
2339: ,p_mode => 'DELETE'
2340: );
2341:
2342: IF l_return_status = fnd_api.g_ret_sts_error THEN
2343: RAISE fnd_api.g_exc_error;
2344: ELSIF l_return_status = fnd_api.g_ret_sts_unexp_error THEN
2345: RAISE fnd_api.g_exc_unexpected_error;
2346: END IF;
2347: END IF; -- end of l_old_parent_fund_id <> l_fund_rec.parent_fund_id.
2340: );
2341:
2342: IF l_return_status = fnd_api.g_ret_sts_error THEN
2343: RAISE fnd_api.g_exc_error;
2344: ELSIF l_return_status = fnd_api.g_ret_sts_unexp_error THEN
2345: RAISE fnd_api.g_exc_unexpected_error;
2346: END IF;
2347: END IF; -- end of l_old_parent_fund_id <> l_fund_rec.parent_fund_id.
2348: END IF; -- end of l_fund_rec.parent_fund_id IS NOT NULL
2341:
2342: IF l_return_status = fnd_api.g_ret_sts_error THEN
2343: RAISE fnd_api.g_exc_error;
2344: ELSIF l_return_status = fnd_api.g_ret_sts_unexp_error THEN
2345: RAISE fnd_api.g_exc_unexpected_error;
2346: END IF;
2347: END IF; -- end of l_old_parent_fund_id <> l_fund_rec.parent_fund_id.
2348: END IF; -- end of l_fund_rec.parent_fund_id IS NOT NULL
2349:
2350: -- if removing parent then remove access
2351: IF l_fund_rec.parent_fund_id IS NULL AND l_old_parent_fund_id IS NOT NULL THEN
2352: update_funds_access(
2353: p_api_version => l_api_version
2354: ,p_init_msg_list => fnd_api.g_false
2355: ,p_commit => fnd_api.g_false
2356: ,p_validation_level => p_validation_level
2357: ,x_return_status => l_return_status
2358: ,x_msg_count => x_msg_count
2351: IF l_fund_rec.parent_fund_id IS NULL AND l_old_parent_fund_id IS NOT NULL THEN
2352: update_funds_access(
2353: p_api_version => l_api_version
2354: ,p_init_msg_list => fnd_api.g_false
2355: ,p_commit => fnd_api.g_false
2356: ,p_validation_level => p_validation_level
2357: ,x_return_status => l_return_status
2358: ,x_msg_count => x_msg_count
2359: ,x_msg_data => x_msg_data
2360: ,p_fund_rec => l_fund_rec
2361: ,p_mode => 'DELETE'
2362: );
2363:
2364: IF l_return_status = fnd_api.g_ret_sts_error THEN
2365: RAISE fnd_api.g_exc_error;
2366: ELSIF l_return_status = fnd_api.g_ret_sts_unexp_error THEN
2367: RAISE fnd_api.g_exc_unexpected_error;
2368: END IF;
2361: ,p_mode => 'DELETE'
2362: );
2363:
2364: IF l_return_status = fnd_api.g_ret_sts_error THEN
2365: RAISE fnd_api.g_exc_error;
2366: ELSIF l_return_status = fnd_api.g_ret_sts_unexp_error THEN
2367: RAISE fnd_api.g_exc_unexpected_error;
2368: END IF;
2369:
2362: );
2363:
2364: IF l_return_status = fnd_api.g_ret_sts_error THEN
2365: RAISE fnd_api.g_exc_error;
2366: ELSIF l_return_status = fnd_api.g_ret_sts_unexp_error THEN
2367: RAISE fnd_api.g_exc_unexpected_error;
2368: END IF;
2369:
2370: END IF; -- l_fund_rec.parent_fund_id
2363:
2364: IF l_return_status = fnd_api.g_ret_sts_error THEN
2365: RAISE fnd_api.g_exc_error;
2366: ELSIF l_return_status = fnd_api.g_ret_sts_unexp_error THEN
2367: RAISE fnd_api.g_exc_unexpected_error;
2368: END IF;
2369:
2370: END IF; -- l_fund_rec.parent_fund_id
2371: -- added by feliu to fix bug 2654263
2498: fnd_message.set_name('OZF', 'OZF_API_RECORD_NOT_FOUND');
2499: fnd_msg_pub.add;
2500: END IF;
2501:
2502: RAISE fnd_api.g_exc_error;
2503: END IF;
2504:
2505: UPDATE ozf_funds_all_tl
2506: SET last_update_date = SYSDATE
2522: fnd_message.set_name('OZF', 'OZF_API_RECORD_NOT_FOUND');
2523: fnd_msg_pub.add;
2524: END IF;
2525:
2526: RAISE fnd_api.g_exc_error;
2527: END IF;
2528:
2529: IF l_return_status = fnd_api.g_ret_sts_success THEN
2530:
2525:
2526: RAISE fnd_api.g_exc_error;
2527: END IF;
2528:
2529: IF l_return_status = fnd_api.g_ret_sts_success THEN
2530:
2531: -- added by feliu for updating rollup amount columns.
2532: -- if parent_fund_id is not null, update parent's rollup amount by using this fund's
2533: -- rollup amount change.
2563: END IF;
2564:
2565: update_rollup_amount(
2566: p_api_version => l_api_version
2567: ,p_init_msg_list => fnd_api.g_false
2568: ,p_commit => fnd_api.g_false
2569: ,p_validation_level => p_validation_level
2570: ,x_return_status => l_return_status
2571: ,x_msg_count => x_msg_count
2564:
2565: update_rollup_amount(
2566: p_api_version => l_api_version
2567: ,p_init_msg_list => fnd_api.g_false
2568: ,p_commit => fnd_api.g_false
2569: ,p_validation_level => p_validation_level
2570: ,x_return_status => l_return_status
2571: ,x_msg_count => x_msg_count
2572: ,x_msg_data => x_msg_data
2571: ,x_msg_count => x_msg_count
2572: ,x_msg_data => x_msg_data
2573: ,p_fund_rec => l_fund_rec
2574: );
2575: IF l_return_status = fnd_api.g_ret_sts_error THEN
2576: RAISE fnd_api.g_exc_error;
2577: ELSIF l_return_status = fnd_api.g_ret_sts_unexp_error THEN
2578: RAISE fnd_api.g_exc_unexpected_error;
2579: END IF;
2572: ,x_msg_data => x_msg_data
2573: ,p_fund_rec => l_fund_rec
2574: );
2575: IF l_return_status = fnd_api.g_ret_sts_error THEN
2576: RAISE fnd_api.g_exc_error;
2577: ELSIF l_return_status = fnd_api.g_ret_sts_unexp_error THEN
2578: RAISE fnd_api.g_exc_unexpected_error;
2579: END IF;
2580:
2573: ,p_fund_rec => l_fund_rec
2574: );
2575: IF l_return_status = fnd_api.g_ret_sts_error THEN
2576: RAISE fnd_api.g_exc_error;
2577: ELSIF l_return_status = fnd_api.g_ret_sts_unexp_error THEN
2578: RAISE fnd_api.g_exc_unexpected_error;
2579: END IF;
2580:
2581: -- commented by feliu to fix bug 2654263
2574: );
2575: IF l_return_status = fnd_api.g_ret_sts_error THEN
2576: RAISE fnd_api.g_exc_error;
2577: ELSIF l_return_status = fnd_api.g_ret_sts_unexp_error THEN
2578: RAISE fnd_api.g_exc_unexpected_error;
2579: END IF;
2580:
2581: -- commented by feliu to fix bug 2654263
2582: /* IF l_active_flag = true THEN
2582: /* IF l_active_flag = true THEN
2583:
2584: update_funds_access(
2585: p_api_version => l_api_version
2586: ,p_init_msg_list => fnd_api.g_false
2587: ,p_commit => fnd_api.g_false
2588: ,p_validation_level => p_validation_level
2589: ,x_return_status => l_return_status
2590: ,x_msg_count => x_msg_count
2583:
2584: update_funds_access(
2585: p_api_version => l_api_version
2586: ,p_init_msg_list => fnd_api.g_false
2587: ,p_commit => fnd_api.g_false
2588: ,p_validation_level => p_validation_level
2589: ,x_return_status => l_return_status
2590: ,x_msg_count => x_msg_count
2591: ,x_msg_data => x_msg_data
2591: ,x_msg_data => x_msg_data
2592: ,p_fund_rec => l_fund_rec
2593: ,p_mode => 'CREATE'
2594: );
2595: IF l_return_status = fnd_api.g_ret_sts_error THEN
2596: RAISE fnd_api.g_exc_error;
2597: ELSIF l_return_status = fnd_api.g_ret_sts_unexp_error THEN
2598: RAISE fnd_api.g_exc_unexpected_error;
2599: END IF;
2592: ,p_fund_rec => l_fund_rec
2593: ,p_mode => 'CREATE'
2594: );
2595: IF l_return_status = fnd_api.g_ret_sts_error THEN
2596: RAISE fnd_api.g_exc_error;
2597: ELSIF l_return_status = fnd_api.g_ret_sts_unexp_error THEN
2598: RAISE fnd_api.g_exc_unexpected_error;
2599: END IF;
2600: END IF; */
2593: ,p_mode => 'CREATE'
2594: );
2595: IF l_return_status = fnd_api.g_ret_sts_error THEN
2596: RAISE fnd_api.g_exc_error;
2597: ELSIF l_return_status = fnd_api.g_ret_sts_unexp_error THEN
2598: RAISE fnd_api.g_exc_unexpected_error;
2599: END IF;
2600: END IF; */
2601: END IF; -- end if for parent fund
2594: );
2595: IF l_return_status = fnd_api.g_ret_sts_error THEN
2596: RAISE fnd_api.g_exc_error;
2597: ELSIF l_return_status = fnd_api.g_ret_sts_unexp_error THEN
2598: RAISE fnd_api.g_exc_unexpected_error;
2599: END IF;
2600: END IF; */
2601: END IF; -- end if for parent fund
2602: END IF; -- end if for status code
2624: ,x_msg_data => x_msg_data
2625: ,p_api_version => 1.0);
2626: END IF;
2627:
2628: IF l_return_status = fnd_api.g_ret_sts_error THEN
2629: RAISE fnd_api.g_exc_error;
2630: ELSIF l_return_status = fnd_api.g_ret_sts_unexp_error THEN
2631: RAISE fnd_api.g_exc_unexpected_error;
2632: END IF;
2625: ,p_api_version => 1.0);
2626: END IF;
2627:
2628: IF l_return_status = fnd_api.g_ret_sts_error THEN
2629: RAISE fnd_api.g_exc_error;
2630: ELSIF l_return_status = fnd_api.g_ret_sts_unexp_error THEN
2631: RAISE fnd_api.g_exc_unexpected_error;
2632: END IF;
2633: END IF; -- yzhao: end of IF p_mode <> 'ADJUST'
2626: END IF;
2627:
2628: IF l_return_status = fnd_api.g_ret_sts_error THEN
2629: RAISE fnd_api.g_exc_error;
2630: ELSIF l_return_status = fnd_api.g_ret_sts_unexp_error THEN
2631: RAISE fnd_api.g_exc_unexpected_error;
2632: END IF;
2633: END IF; -- yzhao: end of IF p_mode <> 'ADJUST'
2634:
2627:
2628: IF l_return_status = fnd_api.g_ret_sts_error THEN
2629: RAISE fnd_api.g_exc_error;
2630: ELSIF l_return_status = fnd_api.g_ret_sts_unexp_error THEN
2631: RAISE fnd_api.g_exc_unexpected_error;
2632: END IF;
2633: END IF; -- yzhao: end of IF p_mode <> 'ADJUST'
2634:
2635: -- call when it is submitting for approval
2632: END IF;
2633: END IF; -- yzhao: end of IF p_mode <> 'ADJUST'
2634:
2635: -- call when it is submitting for approval
2636: IF l_submit_child_approval = FND_API.g_true THEN
2637: -- yzhao: 03/18/2003 handle budget allocation as well
2638: IF l_fund_rec.fund_usage IS NOT NULL AND l_fund_rec.fund_usage = 'ALLOC' THEN
2639: -- yzhao: 03/18/2003 budget allocation does not need workflow approval process so pass allocation_flag='Y'
2640: l_allocation_flag := 'Y';
2642: l_allocation_flag := 'N';
2643: END IF;
2644: --nirprasa, no chnage needed as this flow is for request
2645: ozf_fund_request_apr_pvt.create_fund_request(
2646: p_commit => fnd_api.g_false
2647: ,p_approval_for_id => p_fund_rec.fund_id
2648: /* yzhao: Jan 16 2005 fix bug 4943323(4912954) pass in correct requester id
2649: ,p_requester_id => l_fund_rec.owner
2650: */
2663: ,x_request_id => l_request_id
2664: ,x_approver_id => l_approver_id
2665: ,x_is_requester_owner => l_is_requestor_owner);
2666:
2667: IF l_return_status = fnd_api.g_ret_sts_error THEN
2668: RAISE fnd_api.g_exc_error;
2669: ELSIF l_return_status = fnd_api.g_ret_sts_unexp_error THEN
2670: RAISE fnd_api.g_exc_unexpected_error;
2671: END IF;
2664: ,x_approver_id => l_approver_id
2665: ,x_is_requester_owner => l_is_requestor_owner);
2666:
2667: IF l_return_status = fnd_api.g_ret_sts_error THEN
2668: RAISE fnd_api.g_exc_error;
2669: ELSIF l_return_status = fnd_api.g_ret_sts_unexp_error THEN
2670: RAISE fnd_api.g_exc_unexpected_error;
2671: END IF;
2672: END IF;
2665: ,x_is_requester_owner => l_is_requestor_owner);
2666:
2667: IF l_return_status = fnd_api.g_ret_sts_error THEN
2668: RAISE fnd_api.g_exc_error;
2669: ELSIF l_return_status = fnd_api.g_ret_sts_unexp_error THEN
2670: RAISE fnd_api.g_exc_unexpected_error;
2671: END IF;
2672: END IF;
2673: -- call when it is submitting for approval
2666:
2667: IF l_return_status = fnd_api.g_ret_sts_error THEN
2668: RAISE fnd_api.g_exc_error;
2669: ELSIF l_return_status = fnd_api.g_ret_sts_unexp_error THEN
2670: RAISE fnd_api.g_exc_unexpected_error;
2671: END IF;
2672: END IF;
2673: -- call when it is submitting for approval
2674: IF l_submit_budget_approval = FND_API.g_true THEN
2670: RAISE fnd_api.g_exc_unexpected_error;
2671: END IF;
2672: END IF;
2673: -- call when it is submitting for approval
2674: IF l_submit_budget_approval = FND_API.g_true THEN
2675: l_reject_status_id :=ozf_utility_pvt.get_default_user_status(
2676: l_status_type
2677: ,'REJECTED');
2678:
2708: -- reinitialize the variables
2709: l_act_access_id := NULL;
2710: l_acc_obj_ver_num := NULL;
2711: -- if owner is changing update acesss
2712: IF p_fund_rec.owner <> fnd_api.g_miss_num
2713: AND l_owner <> p_fund_rec.owner THEN
2714: IF G_DEBUG THEN
2715: ozf_utility_pvt.debug_message(l_full_name || ': insert access owner');
2716: END IF;
2728: l_access_rec.admin_flag := 'Y';
2729: l_access_rec.owner_flag := 'Y';
2730: ams_access_pvt.update_access(
2731: p_api_version => l_api_version
2732: ,p_init_msg_list => fnd_api.g_false
2733: ,p_validation_level => p_validation_level
2734: ,x_return_status => l_return_status
2735: ,x_msg_count => x_msg_count
2736: ,x_msg_data => x_msg_data
2733: ,p_validation_level => p_validation_level
2734: ,x_return_status => l_return_status
2735: ,x_msg_count => x_msg_count
2736: ,x_msg_data => x_msg_data
2737: ,p_commit => fnd_api.g_false
2738: ,p_access_rec => l_access_rec);
2739: */
2740:
2741: AMS_Access_PVT.update_object_owner
2739: */
2740:
2741: AMS_Access_PVT.update_object_owner
2742: ( p_api_version => 1.0
2743: ,p_init_msg_list => FND_API.G_FALSE
2744: ,p_commit => FND_API.G_FALSE
2745: ,p_validation_level => p_validation_level
2746: ,x_return_status => x_return_status
2747: ,x_msg_count => x_msg_count
2740:
2741: AMS_Access_PVT.update_object_owner
2742: ( p_api_version => 1.0
2743: ,p_init_msg_list => FND_API.G_FALSE
2744: ,p_commit => FND_API.G_FALSE
2745: ,p_validation_level => p_validation_level
2746: ,x_return_status => x_return_status
2747: ,x_msg_count => x_msg_count
2748: ,x_msg_data => x_msg_data
2750: ,p_object_id => l_fund_rec.fund_id
2751: ,p_resource_id => l_fund_rec.owner
2752: ,p_old_resource_id => l_owner
2753: );
2754: IF l_return_status = fnd_api.g_ret_sts_error THEN
2755: RAISE fnd_api.g_exc_error;
2756: ELSIF l_return_status = fnd_api.g_ret_sts_unexp_error THEN
2757: RAISE fnd_api.g_exc_unexpected_error;
2758: END IF;
2751: ,p_resource_id => l_fund_rec.owner
2752: ,p_old_resource_id => l_owner
2753: );
2754: IF l_return_status = fnd_api.g_ret_sts_error THEN
2755: RAISE fnd_api.g_exc_error;
2756: ELSIF l_return_status = fnd_api.g_ret_sts_unexp_error THEN
2757: RAISE fnd_api.g_exc_unexpected_error;
2758: END IF;
2759: END IF; -- end of owner is changing
2752: ,p_old_resource_id => l_owner
2753: );
2754: IF l_return_status = fnd_api.g_ret_sts_error THEN
2755: RAISE fnd_api.g_exc_error;
2756: ELSIF l_return_status = fnd_api.g_ret_sts_unexp_error THEN
2757: RAISE fnd_api.g_exc_unexpected_error;
2758: END IF;
2759: END IF; -- end of owner is changing
2760:
2753: );
2754: IF l_return_status = fnd_api.g_ret_sts_error THEN
2755: RAISE fnd_api.g_exc_error;
2756: ELSIF l_return_status = fnd_api.g_ret_sts_unexp_error THEN
2757: RAISE fnd_api.g_exc_unexpected_error;
2758: END IF;
2759: END IF; -- end of owner is changing
2760:
2761: -- added by feliu to fix bug 2654263
2768: --then create a access for the new parent ownner
2769: IF l_old_parent_fund_id IS NULL THEN
2770: update_funds_access(
2771: p_api_version => l_api_version
2772: ,p_init_msg_list => fnd_api.g_false
2773: ,p_commit => fnd_api.g_false
2774: ,p_validation_level => p_validation_level
2775: ,x_return_status => l_return_status
2776: ,x_msg_count => x_msg_count
2769: IF l_old_parent_fund_id IS NULL THEN
2770: update_funds_access(
2771: p_api_version => l_api_version
2772: ,p_init_msg_list => fnd_api.g_false
2773: ,p_commit => fnd_api.g_false
2774: ,p_validation_level => p_validation_level
2775: ,x_return_status => l_return_status
2776: ,x_msg_count => x_msg_count
2777: ,x_msg_data => x_msg_data
2777: ,x_msg_data => x_msg_data
2778: ,p_fund_rec => l_fund_rec
2779: ,p_mode => 'CREATE'
2780: );
2781: IF l_return_status = fnd_api.g_ret_sts_error THEN
2782: RAISE fnd_api.g_exc_error;
2783: ELSIF l_return_status = fnd_api.g_ret_sts_unexp_error THEN
2784: RAISE fnd_api.g_exc_unexpected_error;
2785: END IF;
2778: ,p_fund_rec => l_fund_rec
2779: ,p_mode => 'CREATE'
2780: );
2781: IF l_return_status = fnd_api.g_ret_sts_error THEN
2782: RAISE fnd_api.g_exc_error;
2783: ELSIF l_return_status = fnd_api.g_ret_sts_unexp_error THEN
2784: RAISE fnd_api.g_exc_unexpected_error;
2785: END IF;
2786:
2779: ,p_mode => 'CREATE'
2780: );
2781: IF l_return_status = fnd_api.g_ret_sts_error THEN
2782: RAISE fnd_api.g_exc_error;
2783: ELSIF l_return_status = fnd_api.g_ret_sts_unexp_error THEN
2784: RAISE fnd_api.g_exc_unexpected_error;
2785: END IF;
2786:
2787: --if the old parent fund and the new parent fund is diffrent.
2780: );
2781: IF l_return_status = fnd_api.g_ret_sts_error THEN
2782: RAISE fnd_api.g_exc_error;
2783: ELSIF l_return_status = fnd_api.g_ret_sts_unexp_error THEN
2784: RAISE fnd_api.g_exc_unexpected_error;
2785: END IF;
2786:
2787: --if the old parent fund and the new parent fund is diffrent.
2788: ELSIF l_old_parent_fund_id <> l_fund_rec.parent_fund_id THEN
2787: --if the old parent fund and the new parent fund is diffrent.
2788: ELSIF l_old_parent_fund_id <> l_fund_rec.parent_fund_id THEN
2789: update_funds_access(
2790: p_api_version => l_api_version
2791: ,p_init_msg_list => fnd_api.g_false
2792: ,p_commit => fnd_api.g_false
2793: ,p_validation_level => p_validation_level
2794: ,x_return_status => l_return_status
2795: ,x_msg_count => x_msg_count
2788: ELSIF l_old_parent_fund_id <> l_fund_rec.parent_fund_id THEN
2789: update_funds_access(
2790: p_api_version => l_api_version
2791: ,p_init_msg_list => fnd_api.g_false
2792: ,p_commit => fnd_api.g_false
2793: ,p_validation_level => p_validation_level
2794: ,x_return_status => l_return_status
2795: ,x_msg_count => x_msg_count
2796: ,x_msg_data => x_msg_data
2796: ,x_msg_data => x_msg_data
2797: ,p_fund_rec => l_fund_rec
2798: ,p_mode => 'CREATE'
2799: );
2800: IF l_return_status = fnd_api.g_ret_sts_error THEN
2801: RAISE fnd_api.g_exc_error;
2802: ELSIF l_return_status = fnd_api.g_ret_sts_unexp_error THEN
2803: RAISE fnd_api.g_exc_unexpected_error;
2804: END IF;
2797: ,p_fund_rec => l_fund_rec
2798: ,p_mode => 'CREATE'
2799: );
2800: IF l_return_status = fnd_api.g_ret_sts_error THEN
2801: RAISE fnd_api.g_exc_error;
2802: ELSIF l_return_status = fnd_api.g_ret_sts_unexp_error THEN
2803: RAISE fnd_api.g_exc_unexpected_error;
2804: END IF;
2805: END IF; -- end of l_old_parent_fund_id <> l_fund_rec.parent_fund_id.
2798: ,p_mode => 'CREATE'
2799: );
2800: IF l_return_status = fnd_api.g_ret_sts_error THEN
2801: RAISE fnd_api.g_exc_error;
2802: ELSIF l_return_status = fnd_api.g_ret_sts_unexp_error THEN
2803: RAISE fnd_api.g_exc_unexpected_error;
2804: END IF;
2805: END IF; -- end of l_old_parent_fund_id <> l_fund_rec.parent_fund_id.
2806: END IF; -- end of l_fund_rec.parent_fund_id IS NOT NULL
2799: );
2800: IF l_return_status = fnd_api.g_ret_sts_error THEN
2801: RAISE fnd_api.g_exc_error;
2802: ELSIF l_return_status = fnd_api.g_ret_sts_unexp_error THEN
2803: RAISE fnd_api.g_exc_unexpected_error;
2804: END IF;
2805: END IF; -- end of l_old_parent_fund_id <> l_fund_rec.parent_fund_id.
2806: END IF; -- end of l_fund_rec.parent_fund_id IS NOT NULL
2807: -- added by feliu to fix bug 2654263
2806: END IF; -- end of l_fund_rec.parent_fund_id IS NOT NULL
2807: -- added by feliu to fix bug 2654263
2808:
2809: /* R12: yzhao bug 4669269 - obsolete ozf_mc_transactions
2810: IF p_fund_rec.original_budget <> FND_API.g_miss_num
2811: OR p_fund_rec.transfered_in_amt <> FND_API.g_miss_num
2812: OR p_fund_rec.transfered_out_amt <> FND_API.g_miss_num
2813: OR p_fund_rec.holdback_amt <> FND_API.g_miss_num
2814: OR p_fund_rec.planned_amt <> FND_API.g_miss_num
2807: -- added by feliu to fix bug 2654263
2808:
2809: /* R12: yzhao bug 4669269 - obsolete ozf_mc_transactions
2810: IF p_fund_rec.original_budget <> FND_API.g_miss_num
2811: OR p_fund_rec.transfered_in_amt <> FND_API.g_miss_num
2812: OR p_fund_rec.transfered_out_amt <> FND_API.g_miss_num
2813: OR p_fund_rec.holdback_amt <> FND_API.g_miss_num
2814: OR p_fund_rec.planned_amt <> FND_API.g_miss_num
2815: OR p_fund_rec.committed_amt <> FND_API.g_miss_num
2808:
2809: /* R12: yzhao bug 4669269 - obsolete ozf_mc_transactions
2810: IF p_fund_rec.original_budget <> FND_API.g_miss_num
2811: OR p_fund_rec.transfered_in_amt <> FND_API.g_miss_num
2812: OR p_fund_rec.transfered_out_amt <> FND_API.g_miss_num
2813: OR p_fund_rec.holdback_amt <> FND_API.g_miss_num
2814: OR p_fund_rec.planned_amt <> FND_API.g_miss_num
2815: OR p_fund_rec.committed_amt <> FND_API.g_miss_num
2816: OR p_fund_rec.utilized_amt <> FND_API.g_miss_num -- yzhao: 11.5.10
2809: /* R12: yzhao bug 4669269 - obsolete ozf_mc_transactions
2810: IF p_fund_rec.original_budget <> FND_API.g_miss_num
2811: OR p_fund_rec.transfered_in_amt <> FND_API.g_miss_num
2812: OR p_fund_rec.transfered_out_amt <> FND_API.g_miss_num
2813: OR p_fund_rec.holdback_amt <> FND_API.g_miss_num
2814: OR p_fund_rec.planned_amt <> FND_API.g_miss_num
2815: OR p_fund_rec.committed_amt <> FND_API.g_miss_num
2816: OR p_fund_rec.utilized_amt <> FND_API.g_miss_num -- yzhao: 11.5.10
2817: OR p_fund_rec.earned_amt <> FND_API.g_miss_num
2810: IF p_fund_rec.original_budget <> FND_API.g_miss_num
2811: OR p_fund_rec.transfered_in_amt <> FND_API.g_miss_num
2812: OR p_fund_rec.transfered_out_amt <> FND_API.g_miss_num
2813: OR p_fund_rec.holdback_amt <> FND_API.g_miss_num
2814: OR p_fund_rec.planned_amt <> FND_API.g_miss_num
2815: OR p_fund_rec.committed_amt <> FND_API.g_miss_num
2816: OR p_fund_rec.utilized_amt <> FND_API.g_miss_num -- yzhao: 11.5.10
2817: OR p_fund_rec.earned_amt <> FND_API.g_miss_num
2818: OR p_fund_rec.paid_amt <> FND_API.g_miss_num
2811: OR p_fund_rec.transfered_in_amt <> FND_API.g_miss_num
2812: OR p_fund_rec.transfered_out_amt <> FND_API.g_miss_num
2813: OR p_fund_rec.holdback_amt <> FND_API.g_miss_num
2814: OR p_fund_rec.planned_amt <> FND_API.g_miss_num
2815: OR p_fund_rec.committed_amt <> FND_API.g_miss_num
2816: OR p_fund_rec.utilized_amt <> FND_API.g_miss_num -- yzhao: 11.5.10
2817: OR p_fund_rec.earned_amt <> FND_API.g_miss_num
2818: OR p_fund_rec.paid_amt <> FND_API.g_miss_num
2819: OR p_fund_rec.currency_code_tc <> FND_API.g_miss_char THEN
2812: OR p_fund_rec.transfered_out_amt <> FND_API.g_miss_num
2813: OR p_fund_rec.holdback_amt <> FND_API.g_miss_num
2814: OR p_fund_rec.planned_amt <> FND_API.g_miss_num
2815: OR p_fund_rec.committed_amt <> FND_API.g_miss_num
2816: OR p_fund_rec.utilized_amt <> FND_API.g_miss_num -- yzhao: 11.5.10
2817: OR p_fund_rec.earned_amt <> FND_API.g_miss_num
2818: OR p_fund_rec.paid_amt <> FND_API.g_miss_num
2819: OR p_fund_rec.currency_code_tc <> FND_API.g_miss_char THEN
2820:
2813: OR p_fund_rec.holdback_amt <> FND_API.g_miss_num
2814: OR p_fund_rec.planned_amt <> FND_API.g_miss_num
2815: OR p_fund_rec.committed_amt <> FND_API.g_miss_num
2816: OR p_fund_rec.utilized_amt <> FND_API.g_miss_num -- yzhao: 11.5.10
2817: OR p_fund_rec.earned_amt <> FND_API.g_miss_num
2818: OR p_fund_rec.paid_amt <> FND_API.g_miss_num
2819: OR p_fund_rec.currency_code_tc <> FND_API.g_miss_char THEN
2820:
2821: OPEN c_mc_record(p_fund_rec.fund_id);
2814: OR p_fund_rec.planned_amt <> FND_API.g_miss_num
2815: OR p_fund_rec.committed_amt <> FND_API.g_miss_num
2816: OR p_fund_rec.utilized_amt <> FND_API.g_miss_num -- yzhao: 11.5.10
2817: OR p_fund_rec.earned_amt <> FND_API.g_miss_num
2818: OR p_fund_rec.paid_amt <> FND_API.g_miss_num
2819: OR p_fund_rec.currency_code_tc <> FND_API.g_miss_char THEN
2820:
2821: OPEN c_mc_record(p_fund_rec.fund_id);
2822: FETCH c_mc_record INTO l_mc_record_id, l_mc_obj_number;
2815: OR p_fund_rec.committed_amt <> FND_API.g_miss_num
2816: OR p_fund_rec.utilized_amt <> FND_API.g_miss_num -- yzhao: 11.5.10
2817: OR p_fund_rec.earned_amt <> FND_API.g_miss_num
2818: OR p_fund_rec.paid_amt <> FND_API.g_miss_num
2819: OR p_fund_rec.currency_code_tc <> FND_API.g_miss_char THEN
2820:
2821: OPEN c_mc_record(p_fund_rec.fund_id);
2822: FETCH c_mc_record INTO l_mc_record_id, l_mc_obj_number;
2823: CLOSE c_mc_record;
2856: -- Call mc_transaction API if fund type is not QUOTA
2857: IF l_fund_rec.fund_type <> 'QUOTA' THEN
2858: ozf_mc_transactions_pvt.update_mc_transactions(
2859: p_api_version => l_api_version
2860: ,p_init_msg_list => fnd_api.g_false
2861: ,p_commit => fnd_api.g_false
2862: -- 01/13/2003 yzhao fix bug BUG 2750841(same as 2741039) pass in org_id
2863: ,p_org_id => l_fund_rec.org_id
2864: ,x_return_status => l_return_status
2857: IF l_fund_rec.fund_type <> 'QUOTA' THEN
2858: ozf_mc_transactions_pvt.update_mc_transactions(
2859: p_api_version => l_api_version
2860: ,p_init_msg_list => fnd_api.g_false
2861: ,p_commit => fnd_api.g_false
2862: -- 01/13/2003 yzhao fix bug BUG 2750841(same as 2741039) pass in org_id
2863: ,p_org_id => l_fund_rec.org_id
2864: ,x_return_status => l_return_status
2865: ,x_msg_count => x_msg_count
2865: ,x_msg_count => x_msg_count
2866: ,x_msg_data => x_msg_data
2867: ,p_mc_transactions_rec => l_mc_transaction_rec);
2868:
2869: IF l_return_status = fnd_api.g_ret_sts_error THEN
2870: RAISE fnd_api.g_exc_error;
2871: ELSIF l_return_status = fnd_api.g_ret_sts_unexp_error THEN
2872: RAISE fnd_api.g_exc_unexpected_error;
2873: END IF;
2866: ,x_msg_data => x_msg_data
2867: ,p_mc_transactions_rec => l_mc_transaction_rec);
2868:
2869: IF l_return_status = fnd_api.g_ret_sts_error THEN
2870: RAISE fnd_api.g_exc_error;
2871: ELSIF l_return_status = fnd_api.g_ret_sts_unexp_error THEN
2872: RAISE fnd_api.g_exc_unexpected_error;
2873: END IF;
2874: END IF;
2867: ,p_mc_transactions_rec => l_mc_transaction_rec);
2868:
2869: IF l_return_status = fnd_api.g_ret_sts_error THEN
2870: RAISE fnd_api.g_exc_error;
2871: ELSIF l_return_status = fnd_api.g_ret_sts_unexp_error THEN
2872: RAISE fnd_api.g_exc_unexpected_error;
2873: END IF;
2874: END IF;
2875:
2868:
2869: IF l_return_status = fnd_api.g_ret_sts_error THEN
2870: RAISE fnd_api.g_exc_error;
2871: ELSIF l_return_status = fnd_api.g_ret_sts_unexp_error THEN
2872: RAISE fnd_api.g_exc_unexpected_error;
2873: END IF;
2874: END IF;
2875:
2876: END IF ; --check for amount
2878:
2879: END IF;-- end return status
2880:
2881: -- Check for commit
2882: IF fnd_api.to_boolean(p_commit) THEN
2883: COMMIT;
2884: END IF;
2885:
2886: fnd_msg_pub.count_and_get(
2883: COMMIT;
2884: END IF;
2885:
2886: fnd_msg_pub.count_and_get(
2887: p_encoded => fnd_api.g_false
2888: ,p_count => x_msg_count
2889: ,p_data => x_msg_data);
2890: IF G_DEBUG THEN
2891: ozf_utility_pvt.debug_message(l_full_name || ': end');
2890: IF G_DEBUG THEN
2891: ozf_utility_pvt.debug_message(l_full_name || ': end');
2892: END IF;
2893: EXCEPTION
2894: WHEN fnd_api.g_exc_error THEN
2895: ROLLBACK TO update_fund;
2896: x_return_status := fnd_api.g_ret_sts_error;
2897: fnd_msg_pub.count_and_get(
2898: p_encoded => fnd_api.g_false
2892: END IF;
2893: EXCEPTION
2894: WHEN fnd_api.g_exc_error THEN
2895: ROLLBACK TO update_fund;
2896: x_return_status := fnd_api.g_ret_sts_error;
2897: fnd_msg_pub.count_and_get(
2898: p_encoded => fnd_api.g_false
2899: ,p_count => x_msg_count
2900: ,p_data => x_msg_data);
2894: WHEN fnd_api.g_exc_error THEN
2895: ROLLBACK TO update_fund;
2896: x_return_status := fnd_api.g_ret_sts_error;
2897: fnd_msg_pub.count_and_get(
2898: p_encoded => fnd_api.g_false
2899: ,p_count => x_msg_count
2900: ,p_data => x_msg_data);
2901: WHEN fnd_api.g_exc_unexpected_error THEN
2902: ROLLBACK TO update_fund;
2897: fnd_msg_pub.count_and_get(
2898: p_encoded => fnd_api.g_false
2899: ,p_count => x_msg_count
2900: ,p_data => x_msg_data);
2901: WHEN fnd_api.g_exc_unexpected_error THEN
2902: ROLLBACK TO update_fund;
2903: x_return_status := fnd_api.g_ret_sts_unexp_error;
2904: fnd_msg_pub.count_and_get(
2905: p_encoded => fnd_api.g_false
2899: ,p_count => x_msg_count
2900: ,p_data => x_msg_data);
2901: WHEN fnd_api.g_exc_unexpected_error THEN
2902: ROLLBACK TO update_fund;
2903: x_return_status := fnd_api.g_ret_sts_unexp_error;
2904: fnd_msg_pub.count_and_get(
2905: p_encoded => fnd_api.g_false
2906: ,p_count => x_msg_count
2907: ,p_data => x_msg_data);
2901: WHEN fnd_api.g_exc_unexpected_error THEN
2902: ROLLBACK TO update_fund;
2903: x_return_status := fnd_api.g_ret_sts_unexp_error;
2904: fnd_msg_pub.count_and_get(
2905: p_encoded => fnd_api.g_false
2906: ,p_count => x_msg_count
2907: ,p_data => x_msg_data);
2908: WHEN OTHERS THEN
2909: ROLLBACK TO update_fund;
2906: ,p_count => x_msg_count
2907: ,p_data => x_msg_data);
2908: WHEN OTHERS THEN
2909: ROLLBACK TO update_fund;
2910: x_return_status := fnd_api.g_ret_sts_unexp_error;
2911:
2912: IF fnd_msg_pub.check_msg_level(fnd_msg_pub.g_msg_lvl_unexp_error) THEN
2913: fnd_msg_pub.add_exc_msg(g_pkg_name, l_api_name);
2914: END IF;
2913: fnd_msg_pub.add_exc_msg(g_pkg_name, l_api_name);
2914: END IF;
2915:
2916: fnd_msg_pub.count_and_get(
2917: p_encoded => fnd_api.g_false
2918: ,p_count => x_msg_count
2919: ,p_data => x_msg_data);
2920: END update_fund;
2921:
2930: -- 01/20/2001 Mumu Pande Added call for fund inter entity validations
2931: --------------------------------------------------------------------
2932: PROCEDURE validate_fund(
2933: p_api_version IN NUMBER
2934: ,p_init_msg_list IN VARCHAR2 := fnd_api.g_false
2935: ,p_validation_level IN NUMBER := fnd_api.g_valid_level_full
2936: ,x_return_status OUT NOCOPY VARCHAR2
2937: ,x_msg_count OUT NOCOPY NUMBER
2938: ,x_msg_data OUT NOCOPY VARCHAR2
2931: --------------------------------------------------------------------
2932: PROCEDURE validate_fund(
2933: p_api_version IN NUMBER
2934: ,p_init_msg_list IN VARCHAR2 := fnd_api.g_false
2935: ,p_validation_level IN NUMBER := fnd_api.g_valid_level_full
2936: ,x_return_status OUT NOCOPY VARCHAR2
2937: ,x_msg_count OUT NOCOPY NUMBER
2938: ,x_msg_data OUT NOCOPY VARCHAR2
2939: ,p_fund_rec IN fund_rec_type)
2947: IF G_DEBUG THEN
2948: ozf_utility_pvt.debug_message(l_full_name || ': start');
2949: END IF;
2950:
2951: IF fnd_api.to_boolean(p_init_msg_list) THEN
2952: fnd_msg_pub.initialize;
2953: END IF;
2954:
2955: IF NOT fnd_api.compatible_api_call(l_api_version, p_api_version, l_api_name, g_pkg_name) THEN
2951: IF fnd_api.to_boolean(p_init_msg_list) THEN
2952: fnd_msg_pub.initialize;
2953: END IF;
2954:
2955: IF NOT fnd_api.compatible_api_call(l_api_version, p_api_version, l_api_name, g_pkg_name) THEN
2956: RAISE fnd_api.g_exc_unexpected_error;
2957: END IF;
2958:
2959: x_return_status := fnd_api.g_ret_sts_success;
2952: fnd_msg_pub.initialize;
2953: END IF;
2954:
2955: IF NOT fnd_api.compatible_api_call(l_api_version, p_api_version, l_api_name, g_pkg_name) THEN
2956: RAISE fnd_api.g_exc_unexpected_error;
2957: END IF;
2958:
2959: x_return_status := fnd_api.g_ret_sts_success;
2960: ---------------------- validate ------------------------
2955: IF NOT fnd_api.compatible_api_call(l_api_version, p_api_version, l_api_name, g_pkg_name) THEN
2956: RAISE fnd_api.g_exc_unexpected_error;
2957: END IF;
2958:
2959: x_return_status := fnd_api.g_ret_sts_success;
2960: ---------------------- validate ------------------------
2961: IF G_DEBUG THEN
2962: ozf_utility_pvt.debug_message(l_full_name || ': check items');
2963: END IF;
2969: ,p_validation_mode => jtf_plsql_api.g_create
2970: ,x_return_status => l_return_status);
2971:
2972: ----dbms_output.put_line ('Called Check_Fund_Items from validate');
2973: IF l_return_status = fnd_api.g_ret_sts_unexp_error THEN
2974: RAISE fnd_api.g_exc_unexpected_error;
2975: ELSIF l_return_status = fnd_api.g_ret_sts_error THEN
2976: RAISE fnd_api.g_exc_error;
2977: END IF;
2970: ,x_return_status => l_return_status);
2971:
2972: ----dbms_output.put_line ('Called Check_Fund_Items from validate');
2973: IF l_return_status = fnd_api.g_ret_sts_unexp_error THEN
2974: RAISE fnd_api.g_exc_unexpected_error;
2975: ELSIF l_return_status = fnd_api.g_ret_sts_error THEN
2976: RAISE fnd_api.g_exc_error;
2977: END IF;
2978: END IF;
2971:
2972: ----dbms_output.put_line ('Called Check_Fund_Items from validate');
2973: IF l_return_status = fnd_api.g_ret_sts_unexp_error THEN
2974: RAISE fnd_api.g_exc_unexpected_error;
2975: ELSIF l_return_status = fnd_api.g_ret_sts_error THEN
2976: RAISE fnd_api.g_exc_error;
2977: END IF;
2978: END IF;
2979:
2972: ----dbms_output.put_line ('Called Check_Fund_Items from validate');
2973: IF l_return_status = fnd_api.g_ret_sts_unexp_error THEN
2974: RAISE fnd_api.g_exc_unexpected_error;
2975: ELSIF l_return_status = fnd_api.g_ret_sts_error THEN
2976: RAISE fnd_api.g_exc_error;
2977: END IF;
2978: END IF;
2979:
2980: IF G_DEBUG THEN
2987: ,p_complete_rec => p_fund_rec
2988: ,p_mode => jtf_plsql_api.g_create
2989: ,x_return_status => l_return_status);
2990:
2991: IF l_return_status = fnd_api.g_ret_sts_unexp_error THEN
2992: RAISE fnd_api.g_exc_unexpected_error;
2993: ELSIF l_return_status = fnd_api.g_ret_sts_error THEN
2994: RAISE fnd_api.g_exc_error;
2995: END IF;
2988: ,p_mode => jtf_plsql_api.g_create
2989: ,x_return_status => l_return_status);
2990:
2991: IF l_return_status = fnd_api.g_ret_sts_unexp_error THEN
2992: RAISE fnd_api.g_exc_unexpected_error;
2993: ELSIF l_return_status = fnd_api.g_ret_sts_error THEN
2994: RAISE fnd_api.g_exc_error;
2995: END IF;
2996: END IF;
2989: ,x_return_status => l_return_status);
2990:
2991: IF l_return_status = fnd_api.g_ret_sts_unexp_error THEN
2992: RAISE fnd_api.g_exc_unexpected_error;
2993: ELSIF l_return_status = fnd_api.g_ret_sts_error THEN
2994: RAISE fnd_api.g_exc_error;
2995: END IF;
2996: END IF;
2997:
2990:
2991: IF l_return_status = fnd_api.g_ret_sts_unexp_error THEN
2992: RAISE fnd_api.g_exc_unexpected_error;
2993: ELSIF l_return_status = fnd_api.g_ret_sts_error THEN
2994: RAISE fnd_api.g_exc_error;
2995: END IF;
2996: END IF;
2997:
2998: -- added on 01/20/2001 for all inter entity validations Mumu Pande
3006: ,p_complete_rec => p_fund_rec
3007: ,p_validation_mode => jtf_plsql_api.g_create
3008: ,x_return_status => l_return_status);
3009:
3010: IF l_return_status = fnd_api.g_ret_sts_unexp_error THEN
3011: RAISE fnd_api.g_exc_unexpected_error;
3012: ELSIF l_return_status = fnd_api.g_ret_sts_error THEN
3013: RAISE fnd_api.g_exc_error;
3014: END IF;
3007: ,p_validation_mode => jtf_plsql_api.g_create
3008: ,x_return_status => l_return_status);
3009:
3010: IF l_return_status = fnd_api.g_ret_sts_unexp_error THEN
3011: RAISE fnd_api.g_exc_unexpected_error;
3012: ELSIF l_return_status = fnd_api.g_ret_sts_error THEN
3013: RAISE fnd_api.g_exc_error;
3014: END IF;
3015: END IF;
3008: ,x_return_status => l_return_status);
3009:
3010: IF l_return_status = fnd_api.g_ret_sts_unexp_error THEN
3011: RAISE fnd_api.g_exc_unexpected_error;
3012: ELSIF l_return_status = fnd_api.g_ret_sts_error THEN
3013: RAISE fnd_api.g_exc_error;
3014: END IF;
3015: END IF;
3016:
3009:
3010: IF l_return_status = fnd_api.g_ret_sts_unexp_error THEN
3011: RAISE fnd_api.g_exc_unexpected_error;
3012: ELSIF l_return_status = fnd_api.g_ret_sts_error THEN
3013: RAISE fnd_api.g_exc_error;
3014: END IF;
3015: END IF;
3016:
3017: -------------------- finish --------------------------
3015: END IF;
3016:
3017: -------------------- finish --------------------------
3018: fnd_msg_pub.count_and_get(
3019: p_encoded => fnd_api.g_false
3020: ,p_count => x_msg_count
3021: ,p_data => x_msg_data);
3022: IF G_DEBUG THEN
3023: ozf_utility_pvt.debug_message(l_full_name || ': end');
3022: IF G_DEBUG THEN
3023: ozf_utility_pvt.debug_message(l_full_name || ': end');
3024: END IF;
3025: EXCEPTION
3026: WHEN fnd_api.g_exc_error THEN
3027: x_return_status := fnd_api.g_ret_sts_error;
3028: fnd_msg_pub.count_and_get(
3029: p_encoded => fnd_api.g_false
3030: ,p_count => x_msg_count
3023: ozf_utility_pvt.debug_message(l_full_name || ': end');
3024: END IF;
3025: EXCEPTION
3026: WHEN fnd_api.g_exc_error THEN
3027: x_return_status := fnd_api.g_ret_sts_error;
3028: fnd_msg_pub.count_and_get(
3029: p_encoded => fnd_api.g_false
3030: ,p_count => x_msg_count
3031: ,p_data => x_msg_data);
3025: EXCEPTION
3026: WHEN fnd_api.g_exc_error THEN
3027: x_return_status := fnd_api.g_ret_sts_error;
3028: fnd_msg_pub.count_and_get(
3029: p_encoded => fnd_api.g_false
3030: ,p_count => x_msg_count
3031: ,p_data => x_msg_data);
3032: WHEN fnd_api.g_exc_unexpected_error THEN
3033: x_return_status := fnd_api.g_ret_sts_unexp_error;
3028: fnd_msg_pub.count_and_get(
3029: p_encoded => fnd_api.g_false
3030: ,p_count => x_msg_count
3031: ,p_data => x_msg_data);
3032: WHEN fnd_api.g_exc_unexpected_error THEN
3033: x_return_status := fnd_api.g_ret_sts_unexp_error;
3034: fnd_msg_pub.count_and_get(
3035: p_encoded => fnd_api.g_false
3036: ,p_count => x_msg_count
3029: p_encoded => fnd_api.g_false
3030: ,p_count => x_msg_count
3031: ,p_data => x_msg_data);
3032: WHEN fnd_api.g_exc_unexpected_error THEN
3033: x_return_status := fnd_api.g_ret_sts_unexp_error;
3034: fnd_msg_pub.count_and_get(
3035: p_encoded => fnd_api.g_false
3036: ,p_count => x_msg_count
3037: ,p_data => x_msg_data);
3031: ,p_data => x_msg_data);
3032: WHEN fnd_api.g_exc_unexpected_error THEN
3033: x_return_status := fnd_api.g_ret_sts_unexp_error;
3034: fnd_msg_pub.count_and_get(
3035: p_encoded => fnd_api.g_false
3036: ,p_count => x_msg_count
3037: ,p_data => x_msg_data);
3038: WHEN OTHERS THEN
3039: x_return_status := fnd_api.g_ret_sts_unexp_error;
3035: p_encoded => fnd_api.g_false
3036: ,p_count => x_msg_count
3037: ,p_data => x_msg_data);
3038: WHEN OTHERS THEN
3039: x_return_status := fnd_api.g_ret_sts_unexp_error;
3040:
3041: IF fnd_msg_pub.check_msg_level(fnd_msg_pub.g_msg_lvl_unexp_error) THEN
3042: fnd_msg_pub.add_exc_msg(g_pkg_name, l_api_name);
3043: END IF;
3042: fnd_msg_pub.add_exc_msg(g_pkg_name, l_api_name);
3043: END IF;
3044:
3045: fnd_msg_pub.count_and_get(
3046: p_encoded => fnd_api.g_false
3047: ,p_count => x_msg_count
3048: ,p_data => x_msg_data);
3049: END validate_fund;
3050:
3062: ,x_return_status OUT NOCOPY VARCHAR2)
3063: IS
3064:
3065: BEGIN
3066: x_return_status := fnd_api.g_ret_sts_success;
3067:
3068: -- Commented by mpande 02/16/2001 We are going to generate the number if it is null
3069: ------------------------ fund_number --------------------------
3070: /* IF p_fund_rec.fund_number IS NULL THEN -- check for fund number
3076: END IF;
3077: fnd_msg_pub.add;
3078: END IF;
3079:
3080: x_return_status := fnd_api.g_ret_sts_error;
3081: RETURN;
3082: END IF;
3083: */
3084: ------------------------ owner -------------------------------
3091: END IF;
3092: fnd_msg_pub.add;
3093: END IF;
3094:
3095: x_return_status := fnd_api.g_ret_sts_error;
3096: RETURN;
3097: END IF;
3098:
3099: IF p_fund_rec.fund_type IS NULL THEN -- check for fund owner
3101: fnd_message.set_name('OZF', 'OZF_FUND_NO_FUND_TYPE');
3102: fnd_msg_pub.add;
3103: END IF;
3104:
3105: x_return_status := fnd_api.g_ret_sts_error;
3106: RETURN;
3107: END IF;
3108:
3109: -- 09/20/2000 Mumu Pande for user status
3112: fnd_message.set_name('OZF', 'OZF_FUND_NO_USER_STATUS');
3113: fnd_msg_pub.add;
3114: END IF;
3115:
3116: x_return_status := fnd_api.g_ret_sts_error;
3117: RETURN;
3118: END IF;
3119:
3120: -- 01/20/2001 Mumu Pande for category
3123: fnd_message.set_name('OZF', 'OZF_FUND_NO_CATEGORY');
3124: fnd_msg_pub.add;
3125: END IF;
3126:
3127: x_return_status := fnd_api.g_ret_sts_error;
3128: RETURN;
3129: END IF;
3130: -- 01/20/2001 Mumu Pande for custom_setup_id
3131: IF p_fund_rec.custom_setup_id IS NULL THEN -- check for fund category
3133: fnd_message.set_name('OZF', 'OZF_FUND_NO_CUSTOM_SETUP');
3134: fnd_msg_pub.add;
3135: END IF;
3136:
3137: x_return_status := fnd_api.g_ret_sts_error;
3138: RETURN;
3139: END IF;
3140: -- 11/13/2001 mpande added budget amount cannot be euqal to 0 for root budgets
3141: -- 12/23/04 by feliu. For the budgets created from mass transfer, don't validate. fix bug 3580531.
3153: END IF;
3154: fnd_msg_pub.add;
3155: END IF;
3156:
3157: x_return_status := fnd_api.g_ret_sts_error;
3158: RETURN;
3159: END IF;
3160: END IF;
3161:
3165: fnd_message.set_name('OZF', 'OZF_FUND_NO_LEDGER');
3166: fnd_msg_pub.add;
3167: END IF;
3168:
3169: x_return_status := fnd_api.g_ret_sts_error;
3170: RETURN;
3171: END IF;
3172:
3173: /* yzhao: bug 4669461: R12 budget is org aware, but not org stripped. quota is not org aware
3177: fnd_message.set_name('OZF', 'OZF_NO_DEFAULT_ORG_ID');
3178: fnd_msg_pub.add;
3179: END IF;
3180:
3181: x_return_status := fnd_api.g_ret_sts_error;
3182: RETURN;
3183: END IF;
3184: */
3185:
3213: AND fund_id <> p_fund_rec.fund_id;
3214:
3215:
3216: BEGIN
3217: x_return_status := fnd_api.g_ret_sts_success;
3218:
3219: -- For Create_Fund, when fund_id is passed in, we need to
3220: -- check if this fund_id is unique.
3221: IF p_validation_mode = jtf_plsql_api.g_create
3222: AND p_fund_rec.fund_id IS NOT NULL THEN
3223: IF ozf_utility_pvt.check_uniqueness(
3224: 'ozf_funds_all_vl'
3225: ,'fund_id = ' || p_fund_rec.fund_id) =
3226: fnd_api.g_false THEN
3227: IF fnd_msg_pub.check_msg_level(fnd_msg_pub.g_msg_lvl_error) THEN
3228: IF p_fund_rec.fund_type = 'QUOTA' THEN
3229: fnd_message.set_name('OZF', 'OZF_TP_DUPLICATE_ID');
3230: ELSE
3232: END IF;
3233: fnd_msg_pub.add;
3234: END IF;
3235:
3236: x_return_status := fnd_api.g_ret_sts_error;
3237: RETURN;
3238: END IF;
3239: END IF;
3240:
3270: END IF;
3271: fnd_msg_pub.add;
3272: END IF;
3273:
3274: x_return_status := fnd_api.g_ret_sts_error;
3275: RETURN;
3276: END IF;
3277: -- Check if fund_name is unique if it is accrual fund/offer name . Need to handle create and
3278: -- update differently.
3293: ''' AND fund_id <> ' ||
3294: p_fund_rec.fund_id);
3295: END IF;
3296:
3297: IF l_valid_flag = fnd_api.g_false THEN
3298: IF fnd_msg_pub.check_msg_level(fnd_msg_pub.g_msg_lvl_error) THEN
3299: IF p_fund_rec.fund_type = 'QUOTA' THEN
3300: fnd_message.set_name('OZF', 'OZF_TP_DUPLICATE_NAME');
3301: ELSE
3303: END IF;
3304: fnd_msg_pub.add;
3305: END IF;
3306:
3307: x_return_status := fnd_api.g_ret_sts_error;
3308: RETURN;
3309: END IF;
3310: END IF;*/
3311:
3324: p_fund_rec IN fund_rec_type
3325: ,x_return_status OUT NOCOPY VARCHAR2)
3326: IS
3327: BEGIN
3328: x_return_status := fnd_api.g_ret_sts_success;
3329:
3330: ----------------------- user_status_id ------------------------
3331: IF p_fund_rec.user_status_id <> fnd_api.g_miss_num THEN
3332: IF ozf_utility_pvt.check_fk_exists(
3327: BEGIN
3328: x_return_status := fnd_api.g_ret_sts_success;
3329:
3330: ----------------------- user_status_id ------------------------
3331: IF p_fund_rec.user_status_id <> fnd_api.g_miss_num THEN
3332: IF ozf_utility_pvt.check_fk_exists(
3333: 'ams_user_statuses_vl'
3334: ,'user_status_id'
3335: ,p_fund_rec.user_status_id) =
3332: IF ozf_utility_pvt.check_fk_exists(
3333: 'ams_user_statuses_vl'
3334: ,'user_status_id'
3335: ,p_fund_rec.user_status_id) =
3336: fnd_api.g_false THEN
3337: IF fnd_msg_pub.check_msg_level(fnd_msg_pub.g_msg_lvl_error) THEN
3338: fnd_message.set_name('OZF', 'OZF_FUND_BAD_USER_STATUS_ID');
3339: fnd_msg_pub.add;
3340: END IF;
3338: fnd_message.set_name('OZF', 'OZF_FUND_BAD_USER_STATUS_ID');
3339: fnd_msg_pub.add;
3340: END IF;
3341:
3342: x_return_status := fnd_api.g_ret_sts_error;
3343: RETURN;
3344: END IF;
3345: END IF;
3346:
3347: -- added on 01/20/2001 MPANDE
3348: ----------------------- category_id ------------------------
3349: -- mkothari - Bug 4701105 - start ----
3350: IF p_fund_rec.fund_type <> 'QUOTA' THEN
3351: IF p_fund_rec.category_id <> fnd_api.g_miss_num THEN
3352: IF ozf_utility_pvt.check_fk_exists(
3353: 'ams_categories_vl'
3354: ,'category_id'
3355: ,p_fund_rec.category_id) =
3352: IF ozf_utility_pvt.check_fk_exists(
3353: 'ams_categories_vl'
3354: ,'category_id'
3355: ,p_fund_rec.category_id) =
3356: fnd_api.g_false THEN
3357: IF fnd_msg_pub.check_msg_level(fnd_msg_pub.g_msg_lvl_error) THEN
3358: fnd_message.set_name('OZF', 'OZF_FUND_BAD_CAT_ID');
3359: fnd_msg_pub.add;
3360: END IF;
3358: fnd_message.set_name('OZF', 'OZF_FUND_BAD_CAT_ID');
3359: fnd_msg_pub.add;
3360: END IF;
3361:
3362: x_return_status := fnd_api.g_ret_sts_error;
3363: RETURN;
3364: END IF;
3365: END IF;
3366: END IF;
3382: p_fund_rec IN fund_rec_type
3383: ,x_return_status OUT NOCOPY VARCHAR2)
3384: IS
3385: BEGIN
3386: x_return_status := fnd_api.g_ret_sts_success;
3387:
3388: ----------------------- fund_type ------------------------
3389: IF p_fund_rec.fund_type <> fnd_api.g_miss_char THEN
3390: IF ozf_utility_pvt.check_lookup_exists(
3385: BEGIN
3386: x_return_status := fnd_api.g_ret_sts_success;
3387:
3388: ----------------------- fund_type ------------------------
3389: IF p_fund_rec.fund_type <> fnd_api.g_miss_char THEN
3390: IF ozf_utility_pvt.check_lookup_exists(
3391: p_lookup_table_name => 'OZF_LOOKUPS'
3392: ,p_lookup_type => 'OZF_FUND_TYPE'
3393: ,p_lookup_code => p_fund_rec.fund_type) =
3390: IF ozf_utility_pvt.check_lookup_exists(
3391: p_lookup_table_name => 'OZF_LOOKUPS'
3392: ,p_lookup_type => 'OZF_FUND_TYPE'
3393: ,p_lookup_code => p_fund_rec.fund_type) =
3394: fnd_api.g_false THEN
3395: IF fnd_msg_pub.check_msg_level(fnd_msg_pub.g_msg_lvl_error) THEN
3396: IF p_fund_rec.fund_type = 'QUOTA' THEN
3397: fnd_message.set_name('OZF', 'OZF_TP_BAD_QUOTA_TYPE');
3398: ELSE
3400: END IF;
3401: fnd_msg_pub.add;
3402: END IF;
3403:
3404: x_return_status := fnd_api.g_ret_sts_error;
3405: RETURN;
3406: END IF;
3407: END IF;
3408:
3407: END IF;
3408:
3409:
3410: ----------------------- status_code ------------------------
3411: IF p_fund_rec.status_code <> fnd_api.g_miss_char THEN
3412: IF ozf_utility_pvt.check_lookup_exists(
3413: p_lookup_table_name => 'OZF_LOOKUPS'
3414: ,p_lookup_type => 'OZF_FUND_STATUS'
3415: ,p_lookup_code => p_fund_rec.status_code) =
3412: IF ozf_utility_pvt.check_lookup_exists(
3413: p_lookup_table_name => 'OZF_LOOKUPS'
3414: ,p_lookup_type => 'OZF_FUND_STATUS'
3415: ,p_lookup_code => p_fund_rec.status_code) =
3416: fnd_api.g_false THEN
3417: IF fnd_msg_pub.check_msg_level(fnd_msg_pub.g_msg_lvl_error) THEN
3418: IF p_fund_rec.fund_type = 'QUOTA' THEN
3419: fnd_message.set_name('OZF', 'OZF_TP_BAD_STATUS_CODE');
3420: ELSE
3422: END IF;
3423: fnd_msg_pub.add;
3424: END IF;
3425:
3426: x_return_status := fnd_api.g_ret_sts_error;
3427: RETURN;
3428: END IF;
3429: END IF;
3430: -- check other lookup codes
3444: p_fund_rec IN fund_rec_type
3445: ,x_return_status OUT NOCOPY VARCHAR2)
3446: IS
3447: BEGIN
3448: x_return_status := fnd_api.g_ret_sts_success;
3449:
3450: ----------------------- liability_flag ------------------------
3451: IF p_fund_rec.liability_flag <> fnd_api.g_miss_char
3452: AND p_fund_rec.liability_flag IS NOT NULL THEN
3447: BEGIN
3448: x_return_status := fnd_api.g_ret_sts_success;
3449:
3450: ----------------------- liability_flag ------------------------
3451: IF p_fund_rec.liability_flag <> fnd_api.g_miss_char
3452: AND p_fund_rec.liability_flag IS NOT NULL THEN
3453: IF ozf_utility_pvt.is_y_or_n(p_fund_rec.liability_flag) = fnd_api.g_false THEN
3454: IF fnd_msg_pub.check_msg_level(fnd_msg_pub.g_msg_lvl_error) THEN
3455: fnd_message.set_name('OZF', 'OZF_FUND_BAD_LIABILITY_FLAG');
3449:
3450: ----------------------- liability_flag ------------------------
3451: IF p_fund_rec.liability_flag <> fnd_api.g_miss_char
3452: AND p_fund_rec.liability_flag IS NOT NULL THEN
3453: IF ozf_utility_pvt.is_y_or_n(p_fund_rec.liability_flag) = fnd_api.g_false THEN
3454: IF fnd_msg_pub.check_msg_level(fnd_msg_pub.g_msg_lvl_error) THEN
3455: fnd_message.set_name('OZF', 'OZF_FUND_BAD_LIABILITY_FLAG');
3456: fnd_msg_pub.add;
3457: END IF;
3455: fnd_message.set_name('OZF', 'OZF_FUND_BAD_LIABILITY_FLAG');
3456: fnd_msg_pub.add;
3457: END IF;
3458:
3459: x_return_status := fnd_api.g_ret_sts_error;
3460: RETURN;
3461: END IF;
3462: END IF;
3463:
3461: END IF;
3462: END IF;
3463:
3464: ----------------------- budget_flag ------------------------
3465: IF p_fund_rec.budget_flag <> fnd_api.g_miss_char
3466: AND p_fund_rec.budget_flag IS NOT NULL THEN
3467: IF ozf_utility_pvt.is_y_or_n(p_fund_rec.budget_flag) = fnd_api.g_false THEN
3468: IF fnd_msg_pub.check_msg_level(fnd_msg_pub.g_msg_lvl_error) THEN
3469: IF p_fund_rec.fund_type = 'QUOTA' THEN
3463:
3464: ----------------------- budget_flag ------------------------
3465: IF p_fund_rec.budget_flag <> fnd_api.g_miss_char
3466: AND p_fund_rec.budget_flag IS NOT NULL THEN
3467: IF ozf_utility_pvt.is_y_or_n(p_fund_rec.budget_flag) = fnd_api.g_false THEN
3468: IF fnd_msg_pub.check_msg_level(fnd_msg_pub.g_msg_lvl_error) THEN
3469: IF p_fund_rec.fund_type = 'QUOTA' THEN
3470: fnd_message.set_name('OZF', 'OZF_TP_BAD_QUOTA_FLAG');
3471: ELSE
3473: END IF;
3474: fnd_msg_pub.add;
3475: END IF;
3476:
3477: x_return_status := fnd_api.g_ret_sts_error;
3478: RETURN;
3479: END IF;
3480: END IF;
3481:
3479: END IF;
3480: END IF;
3481:
3482: ----------------------- earned_flag ------------------------
3483: IF p_fund_rec.earned_flag <> fnd_api.g_miss_char
3484: AND p_fund_rec.earned_flag IS NOT NULL THEN
3485: IF ozf_utility_pvt.is_y_or_n(p_fund_rec.earned_flag) = fnd_api.g_false THEN
3486: IF fnd_msg_pub.check_msg_level(fnd_msg_pub.g_msg_lvl_error) THEN
3487: fnd_message.set_name('OZF', 'OZF_FUND_BAD_EARNED_FLAG');
3481:
3482: ----------------------- earned_flag ------------------------
3483: IF p_fund_rec.earned_flag <> fnd_api.g_miss_char
3484: AND p_fund_rec.earned_flag IS NOT NULL THEN
3485: IF ozf_utility_pvt.is_y_or_n(p_fund_rec.earned_flag) = fnd_api.g_false THEN
3486: IF fnd_msg_pub.check_msg_level(fnd_msg_pub.g_msg_lvl_error) THEN
3487: fnd_message.set_name('OZF', 'OZF_FUND_BAD_EARNED_FLAG');
3488: fnd_msg_pub.add;
3489: END IF;
3487: fnd_message.set_name('OZF', 'OZF_FUND_BAD_EARNED_FLAG');
3488: fnd_msg_pub.add;
3489: END IF;
3490:
3491: x_return_status := fnd_api.g_ret_sts_error;
3492: RETURN;
3493: END IF;
3494: END IF;
3495: -- check other flags
3511: BEGIN
3512: ----dbms_output.put_line('Calling Req_Items');
3513: check_fund_req_items(p_fund_rec => p_fund_rec, x_return_status => x_return_status);
3514:
3515: IF x_return_status <> fnd_api.g_ret_sts_success THEN
3516: RETURN;
3517: END IF;
3518:
3519: ----dbms_output.put_line('Calling Uk_Items');
3521: p_fund_rec => p_fund_rec
3522: ,p_validation_mode => p_validation_mode
3523: ,x_return_status => x_return_status);
3524:
3525: IF x_return_status <> fnd_api.g_ret_sts_success THEN
3526: RETURN;
3527: END IF;
3528:
3529: ----dbms_output.put_line('Calling Fk_Items');
3528:
3529: ----dbms_output.put_line('Calling Fk_Items');
3530: check_fund_fk_items(p_fund_rec => p_fund_rec, x_return_status => x_return_status);
3531:
3532: IF x_return_status <> fnd_api.g_ret_sts_success THEN
3533: RETURN;
3534: END IF;
3535:
3536: ----dbms_output.put_line('Calling Lookup_Items');
3536: ----dbms_output.put_line('Calling Lookup_Items');
3537:
3538: check_fund_lookup_items(p_fund_rec => p_fund_rec, x_return_status => x_return_status);
3539:
3540: IF x_return_status <> fnd_api.g_ret_sts_success THEN
3541: RETURN;
3542: END IF;
3543:
3544: ----dbms_output.put_line('Calling Flag_Items');
3543:
3544: ----dbms_output.put_line('Calling Flag_Items');
3545: check_fund_flag_items(p_fund_rec => p_fund_rec, x_return_status => x_return_status);
3546:
3547: IF x_return_status <> fnd_api.g_ret_sts_success THEN
3548: RETURN;
3549: END IF;
3550: END check_fund_items;
3551:
3594: l_offer_ledger NUMBER;
3595: l_offer_ledgerName VARCHAR2(50);
3596:
3597: BEGIN
3598: x_return_status := fnd_api.g_ret_sts_success;
3599: -- Check all modes validations
3600:
3601: -- Ensure that start date is greater than the end date --
3602: l_start_date := p_complete_rec.start_date_active;
3610: fnd_message.set_name('OZF', 'OZF_FUND_STARTDATE_MISMATCH');
3611: fnd_msg_pub.add;
3612: END IF;
3613:
3614: x_return_status := fnd_api.g_ret_sts_error;
3615: END IF;
3616: END IF ;
3617: END IF;
3618:
3616: END IF ;
3617: END IF;
3618:
3619: /* yzhao: 01/14/2003 fix BUG 2750445 - UNABLE TO CLOSE BUDGET, BUDGET 'END DATE' CANNOT BE BEFORE TODAY'S DATE
3620: IF p_fund_rec.end_date_active <> FND_API.g_miss_date
3621: AND l_end_date IS NOT NULL OR p_complete_rec.status_code = 'DRAFT'
3622: AND p_fund_rec.status_code = FND_API.g_miss_char THEN
3623: */
3624: IF p_complete_rec.status_code NOT IN ('CLOSED','CANCELLED','ARCHIVED') AND
3618:
3619: /* yzhao: 01/14/2003 fix BUG 2750445 - UNABLE TO CLOSE BUDGET, BUDGET 'END DATE' CANNOT BE BEFORE TODAY'S DATE
3620: IF p_fund_rec.end_date_active <> FND_API.g_miss_date
3621: AND l_end_date IS NOT NULL OR p_complete_rec.status_code = 'DRAFT'
3622: AND p_fund_rec.status_code = FND_API.g_miss_char THEN
3623: */
3624: IF p_complete_rec.status_code NOT IN ('CLOSED','CANCELLED','ARCHIVED') AND
3625: l_end_date IS NOT NULL THEN
3626: -- validate only if status changes or date changes
3626: -- validate only if status changes or date changes
3627: OPEN c_old_status(p_fund_rec.fund_id);
3628: FETCH c_old_status INTO l_fund_old_status,l_fund_old_amount;
3629: CLOSE c_old_status;
3630: IF ((p_fund_rec.status_code <> FND_API.G_MISS_CHAR AND
3631: p_fund_rec.status_code <> l_fund_old_status) OR
3632: p_fund_rec.end_date_active <> FND_API.g_miss_date) THEN
3633: /* yzhao: 01/14/2003 fix bug 2750445 ends */
3634:
3628: FETCH c_old_status INTO l_fund_old_status,l_fund_old_amount;
3629: CLOSE c_old_status;
3630: IF ((p_fund_rec.status_code <> FND_API.G_MISS_CHAR AND
3631: p_fund_rec.status_code <> l_fund_old_status) OR
3632: p_fund_rec.end_date_active <> FND_API.g_miss_date) THEN
3633: /* yzhao: 01/14/2003 fix bug 2750445 ends */
3634:
3635: -- yzhao 09/03/2002 fix bug 2540628 TST 1158.7 FUNC MASTER : CANNOT END DATE A BUDGET ON CURRENT DATE
3636: -- end date passed in is midnight of the selected day. So trunc sysdate to get midnight time
3646: fnd_message.set_name('OZF', 'OZF_FUND_ENDDATE_MISMATCH');
3647: END IF;
3648: fnd_msg_pub.add;
3649: END IF;
3650: x_return_status := fnd_api.g_ret_sts_error;
3651: END IF;
3652: END IF;
3653: END IF;
3654:
3660:
3661: IF l_fund_old_status = 'ACTIVE' AND p_complete_rec.original_budget <> l_fund_old_amount THEN
3662: fnd_message.set_name('OZF', 'OZF_ACTIVE_FUND_AMT');
3663: fnd_msg_pub.add;
3664: x_return_status := fnd_api.g_ret_sts_error;
3665: END IF;
3666: END IF;
3667: */
3668: --original amount should be within 15 digits
3672: ELSE
3673: fnd_message.set_name('OZF', 'OZF_FUND_MAX_AMT_EXCEEDED');
3674: END IF;
3675: fnd_msg_pub.add;
3676: x_return_status := fnd_api.g_ret_sts_error;
3677: END IF;
3678:
3679: IF l_start_date > l_end_date THEN
3680: IF fnd_msg_pub.check_msg_level(fnd_msg_pub.g_msg_lvl_error) THEN
3681: fnd_message.set_name('OZF', 'OZF_FUND_DATE_MISMATCH');
3682: fnd_msg_pub.add;
3683: END IF;
3684:
3685: x_return_status := fnd_api.g_ret_sts_error;
3686: END IF;
3687:
3688: IF p_mode = jtf_plsql_api.g_update THEN
3689: IF p_fund_rec.parent_fund_id <> fnd_api.g_miss_num
3685: x_return_status := fnd_api.g_ret_sts_error;
3686: END IF;
3687:
3688: IF p_mode = jtf_plsql_api.g_update THEN
3689: IF p_fund_rec.parent_fund_id <> fnd_api.g_miss_num
3690: AND p_fund_rec.parent_fund_id IS NOT NULL THEN
3691: IF p_complete_rec.fund_id = p_complete_rec.parent_fund_id THEN
3692: IF fnd_msg_pub.check_msg_level(fnd_msg_pub.g_msg_lvl_error) THEN
3693: IF p_fund_rec.fund_type = 'QUOTA' THEN
3695: ELSE
3696: fnd_message.set_name('OZF', 'OZF_FUND_WRONG_PARENT');
3697: END IF;
3698: fnd_msg_pub.add;
3699: x_return_status := fnd_api.g_ret_sts_error;
3700: END IF;
3701: END IF;
3702: END IF;
3703: END IF;
3718: IF fnd_msg_pub.check_msg_level(fnd_msg_pub.g_msg_lvl_error) THEN
3719: fnd_message.set_name('OZF', 'OZF_EXCESS_HOLDBACK_AMT');
3720: fnd_msg_pub.add;
3721: END IF;
3722: x_return_status := fnd_api.g_ret_sts_error;
3723: END IF;
3724: END IF;
3725:
3726: -- hold back amount should not be negative fix for bug#3352216
3726: -- hold back amount should not be negative fix for bug#3352216
3727: IF p_complete_rec.holdback_amt < 0 THEN
3728: fnd_message.set_name('OZF', 'OZF_FUND_NO_HOLDBACK_BUDGET');
3729: fnd_msg_pub.add;
3730: x_return_status := fnd_api.g_ret_sts_error;
3731: END IF;
3732:
3733: ELSE
3734: IF p_complete_rec.holdback_amt > (NVL(p_complete_rec.original_budget, 0)) THEN
3736: fnd_message.set_name('OZF', 'OZF_EXCESS_HOLDBACK_AMT');
3737: fnd_msg_pub.add;
3738: END IF;
3739:
3740: x_return_status := fnd_api.g_ret_sts_error;
3741: --RAISE FND_API.g_exc_error;
3742: END IF;
3743:
3744: -- holdback amount should not be negative. Fix for bug#3352216
3737: fnd_msg_pub.add;
3738: END IF;
3739:
3740: x_return_status := fnd_api.g_ret_sts_error;
3741: --RAISE FND_API.g_exc_error;
3742: END IF;
3743:
3744: -- holdback amount should not be negative. Fix for bug#3352216
3745: IF p_complete_rec.holdback_amt < 0 THEN
3744: -- holdback amount should not be negative. Fix for bug#3352216
3745: IF p_complete_rec.holdback_amt < 0 THEN
3746: fnd_message.set_name('OZF', 'OZF_FUND_NO_HOLDBACK_BUDGET');
3747: fnd_msg_pub.add;
3748: x_return_status := fnd_api.g_ret_sts_error;
3749: END IF;
3750:
3751: END IF;
3752:
3763: fnd_message.set_name('OZF', 'OZF_ACCRUAL_NO_ORG_BUDGET');
3764: fnd_msg_pub.add;
3765: END IF;
3766:
3767: x_return_status := fnd_api.g_ret_sts_error;
3768: END IF;
3769: /* 11.5.9
3770: IF p_complete_rec.accrual_basis IS NULL THEN
3771: IF fnd_msg_pub.check_msg_level(fnd_msg_pub.g_msg_lvl_error) THEN
3772: fnd_message.set_name('OZF', 'OZF_ACCRUAL_NO_BASIS');
3773: fnd_msg_pub.add;
3774: END IF;
3775:
3776: x_return_status := fnd_api.g_ret_sts_error;
3777: END IF;*/
3778: /*
3779: IF p_complete_rec.accrual_operand IS NULL THEN
3780: IF fnd_msg_pub.check_msg_level(fnd_msg_pub.g_msg_lvl_error) THEN
3781: fnd_message.set_name('OZF', 'OZF_ACCRUAL_NO_OPERAND');
3782: fnd_msg_pub.add;
3783: END IF;
3784:
3785: x_return_status := fnd_api.g_ret_sts_error;
3786: END IF;
3787: */
3788: /* -- we donot need to give the UOM
3789: IF p_complete_rec.accrual_uom IS NULL THEN
3791: fnd_message.set_name('OZF', 'OZF_ACCRUAL_NO_UOM');
3792: fnd_msg_pub.add;
3793: END IF;
3794:
3795: x_return_status := fnd_api.g_ret_sts_error;
3796: END IF;
3797: */
3798: /*
3799: -- sangara - R12 enhancement - not mandatory, as they are moved to Market Options cuecard
3802: fnd_message.set_name('OZF', 'OZF_ACCRUAL_NO_PHASE');
3803: fnd_msg_pub.add;
3804: END IF;
3805:
3806: x_return_status := fnd_api.g_ret_sts_error;
3807: END IF;
3808: */
3809: /*
3810: IF NVL(p_complete_rec.accrual_rate, 0) <= 0 THEN
3812: fnd_message.set_name('OZF', 'OZF_ACCRUAL_NO_RATE');
3813: fnd_msg_pub.add;
3814: END IF;
3815:
3816: x_return_status := fnd_api.g_ret_sts_error;
3817: END IF;
3818: -- default the quantity to 1
3819: /*
3820: IF NVL(p_complete_rec.accrual_quantity, 0) <= 0 THEN
3822: fnd_message.set_name('OZF', 'OZF_ACCRUAL_NO_QUANTITY');
3823: fnd_msg_pub.add;
3824: END IF;
3825:
3826: x_return_status := fnd_api.g_ret_sts_error;
3827: END IF;
3828:
3829: --- for a active accrual fund product eligibiilty should exist 01/20/2001 mpande
3830: -- not when a active fund is created automatically
3833: Ozf_fundrules_pvt.check_product_elig_exists(
3834: p_complete_rec.fund_id
3835: ,l_return_status);
3836:
3837: IF l_return_status <> fnd_api.g_ret_sts_success THEN
3838: x_return_status := l_return_status;
3839: END IF;
3840: END IF; */
3841: END IF;
3864: END IF;
3865: fnd_msg_pub.add;
3866: END IF;
3867:
3868: x_return_status := fnd_api.g_ret_sts_error;
3869: END IF;
3870: ELSIF l_resource_id = -1 THEN
3871: IF fnd_msg_pub.check_msg_level(fnd_msg_pub.g_msg_lvl_error) THEN
3872: fnd_message.set_name('OZF', 'OZF_NO_RESOURCE_ID');
3872: fnd_message.set_name('OZF', 'OZF_NO_RESOURCE_ID');
3873: fnd_msg_pub.add;
3874: END IF;
3875:
3876: x_return_status := fnd_api.g_ret_sts_error;
3877: END IF;
3878:
3879: --kdass 10-OCT-05 - R12 bug 4613689 validate accrual budget's ledger and offer's org
3880: IF p_fund_rec.fund_type = 'FULLY_ACCRUED' AND p_complete_rec.ledger_id IS NOT NULL THEN
3892: IF fnd_msg_pub.check_msg_level(fnd_msg_pub.g_msg_lvl_error) THEN
3893: fnd_message.set_name('OZF', 'OZF_BUDGET_OFFR_LEDG_MISMATCH');
3894: fnd_msg_pub.add;
3895: END IF;
3896: x_return_status := fnd_api.g_ret_sts_error;
3897: END IF;
3898: END IF;
3899: END IF;
3900:
3917: ,x_return_status OUT NOCOPY VARCHAR2)
3918: IS
3919: l_return_status VARCHAR2(1);
3920: BEGIN
3921: x_return_status := fnd_api.g_ret_sts_success;
3922:
3923: ------------------- check calendar ----------------------
3924: IF p_fund_rec.fund_calendar <> fnd_api.g_miss_char
3925: OR p_fund_rec.start_period_name <> fnd_api.g_miss_char
3920: BEGIN
3921: x_return_status := fnd_api.g_ret_sts_success;
3922:
3923: ------------------- check calendar ----------------------
3924: IF p_fund_rec.fund_calendar <> fnd_api.g_miss_char
3925: OR p_fund_rec.start_period_name <> fnd_api.g_miss_char
3926: OR p_fund_rec.end_period_name <> fnd_api.g_miss_char
3927: OR p_fund_rec.start_date_active <> fnd_api.g_miss_date
3928: OR p_fund_rec.end_date_active <> fnd_api.g_miss_date THEN
3921: x_return_status := fnd_api.g_ret_sts_success;
3922:
3923: ------------------- check calendar ----------------------
3924: IF p_fund_rec.fund_calendar <> fnd_api.g_miss_char
3925: OR p_fund_rec.start_period_name <> fnd_api.g_miss_char
3926: OR p_fund_rec.end_period_name <> fnd_api.g_miss_char
3927: OR p_fund_rec.start_date_active <> fnd_api.g_miss_date
3928: OR p_fund_rec.end_date_active <> fnd_api.g_miss_date THEN
3929: Ozf_fundrules_pvt.check_fund_calendar(
3922:
3923: ------------------- check calendar ----------------------
3924: IF p_fund_rec.fund_calendar <> fnd_api.g_miss_char
3925: OR p_fund_rec.start_period_name <> fnd_api.g_miss_char
3926: OR p_fund_rec.end_period_name <> fnd_api.g_miss_char
3927: OR p_fund_rec.start_date_active <> fnd_api.g_miss_date
3928: OR p_fund_rec.end_date_active <> fnd_api.g_miss_date THEN
3929: Ozf_fundrules_pvt.check_fund_calendar(
3930: p_complete_rec.fund_calendar
3923: ------------------- check calendar ----------------------
3924: IF p_fund_rec.fund_calendar <> fnd_api.g_miss_char
3925: OR p_fund_rec.start_period_name <> fnd_api.g_miss_char
3926: OR p_fund_rec.end_period_name <> fnd_api.g_miss_char
3927: OR p_fund_rec.start_date_active <> fnd_api.g_miss_date
3928: OR p_fund_rec.end_date_active <> fnd_api.g_miss_date THEN
3929: Ozf_fundrules_pvt.check_fund_calendar(
3930: p_complete_rec.fund_calendar
3931: ,p_complete_rec.start_period_name
3924: IF p_fund_rec.fund_calendar <> fnd_api.g_miss_char
3925: OR p_fund_rec.start_period_name <> fnd_api.g_miss_char
3926: OR p_fund_rec.end_period_name <> fnd_api.g_miss_char
3927: OR p_fund_rec.start_date_active <> fnd_api.g_miss_date
3928: OR p_fund_rec.end_date_active <> fnd_api.g_miss_date THEN
3929: Ozf_fundrules_pvt.check_fund_calendar(
3930: p_complete_rec.fund_calendar
3931: ,p_complete_rec.start_period_name
3932: ,p_complete_rec.end_period_name
3934: ,p_complete_rec.end_date_active
3935: ,p_complete_rec.fund_type
3936: ,l_return_status);
3937:
3938: IF l_return_status <> fnd_api.g_ret_sts_success THEN
3939: x_return_status := l_return_status;
3940: END IF;
3941: END IF;
3942:
3940: END IF;
3941: END IF;
3942:
3943: ------------------- check dates ------------------------------
3944: IF p_fund_rec.start_date_active <> fnd_api.g_miss_date
3945: OR p_fund_rec.end_date_active <> fnd_api.g_miss_date THEN
3946: Ozf_fundrules_pvt.check_fund_dates_vs_parent(
3947: p_complete_rec.parent_fund_id
3948: ,p_complete_rec.start_date_active
3941: END IF;
3942:
3943: ------------------- check dates ------------------------------
3944: IF p_fund_rec.start_date_active <> fnd_api.g_miss_date
3945: OR p_fund_rec.end_date_active <> fnd_api.g_miss_date THEN
3946: Ozf_fundrules_pvt.check_fund_dates_vs_parent(
3947: p_complete_rec.parent_fund_id
3948: ,p_complete_rec.start_date_active
3949: ,p_complete_rec.end_date_active
3948: ,p_complete_rec.start_date_active
3949: ,p_complete_rec.end_date_active
3950: ,l_return_status);
3951:
3952: IF l_return_status <> fnd_api.g_ret_sts_success THEN
3953: x_return_status := l_return_status;
3954: END IF;
3955:
3956: IF p_validation_mode = jtf_plsql_api.g_update THEN
3959: ,p_complete_rec.start_date_active
3960: ,p_complete_rec.end_date_active
3961: ,l_return_status);
3962:
3963: IF l_return_status <> fnd_api.g_ret_sts_success THEN
3964: x_return_status := l_return_status;
3965: END IF;
3966: END IF;
3967: END IF;
3968:
3969: ------------------- check budget amounts ------------------------------
3970: -- only in planning stage --07/23/2001 mpande
3971: IF p_complete_rec.status_code NOT IN ('ACTIVE','ON_HOLD','CANCELLED','ARCHIVED','CLOSED') THEN
3972: IF p_fund_rec.original_budget <> fnd_api.g_miss_num
3973: OR p_fund_rec.transfered_in_amt <> fnd_api.g_miss_num
3974: OR p_fund_rec.transfered_out_amt <> fnd_api.g_miss_num THEN
3975: -- updated 09/04/2001 mpande for Multi Currency Child
3976: Ozf_fundrules_pvt.check_fund_amount_vs_parent(
3969: ------------------- check budget amounts ------------------------------
3970: -- only in planning stage --07/23/2001 mpande
3971: IF p_complete_rec.status_code NOT IN ('ACTIVE','ON_HOLD','CANCELLED','ARCHIVED','CLOSED') THEN
3972: IF p_fund_rec.original_budget <> fnd_api.g_miss_num
3973: OR p_fund_rec.transfered_in_amt <> fnd_api.g_miss_num
3974: OR p_fund_rec.transfered_out_amt <> fnd_api.g_miss_num THEN
3975: -- updated 09/04/2001 mpande for Multi Currency Child
3976: Ozf_fundrules_pvt.check_fund_amount_vs_parent(
3977: p_complete_rec.parent_fund_id
3970: -- only in planning stage --07/23/2001 mpande
3971: IF p_complete_rec.status_code NOT IN ('ACTIVE','ON_HOLD','CANCELLED','ARCHIVED','CLOSED') THEN
3972: IF p_fund_rec.original_budget <> fnd_api.g_miss_num
3973: OR p_fund_rec.transfered_in_amt <> fnd_api.g_miss_num
3974: OR p_fund_rec.transfered_out_amt <> fnd_api.g_miss_num THEN
3975: -- updated 09/04/2001 mpande for Multi Currency Child
3976: Ozf_fundrules_pvt.check_fund_amount_vs_parent(
3977: p_complete_rec.parent_fund_id
3978: ,p_complete_rec.currency_code_tc
3978: ,p_complete_rec.currency_code_tc
3979: ,p_complete_rec.original_budget
3980: ,l_return_status);
3981:
3982: IF l_return_status <> fnd_api.g_ret_sts_success THEN
3983: x_return_status := l_return_status;
3984: END IF;
3985:
3986: IF p_validation_mode = jtf_plsql_api.g_update THEN
3992: ,p_complete_rec.transfered_out_amt
3993: ,p_complete_rec.currency_code_tc
3994: ,l_return_status);
3995:
3996: IF l_return_status <> fnd_api.g_ret_sts_success THEN
3997: x_return_status := l_return_status;
3998: END IF;
3999: END IF;
4000: END IF;
4000: END IF;
4001: END IF;
4002:
4003: ------------------- check fund type ------------------------------
4004: IF p_fund_rec.fund_type <> fnd_api.g_miss_char
4005: OR p_fund_rec.parent_fund_id <> fnd_api.g_miss_num THEN
4006: --- the chikd parent validation is done always
4007: Ozf_fundrules_pvt.check_fund_type_vs_parent(
4008: p_complete_rec.parent_fund_id
4001: END IF;
4002:
4003: ------------------- check fund type ------------------------------
4004: IF p_fund_rec.fund_type <> fnd_api.g_miss_char
4005: OR p_fund_rec.parent_fund_id <> fnd_api.g_miss_num THEN
4006: --- the chikd parent validation is done always
4007: Ozf_fundrules_pvt.check_fund_type_vs_parent(
4008: p_complete_rec.parent_fund_id
4009: ,p_complete_rec.fund_type
4008: p_complete_rec.parent_fund_id
4009: ,p_complete_rec.fund_type
4010: ,l_return_status);
4011:
4012: IF l_return_status <> fnd_api.g_ret_sts_success THEN
4013: x_return_status := l_return_status;
4014: END IF;
4015:
4016: -- check for change of fund type only when the status is going active
4021: p_complete_rec.fund_id
4022: ,p_complete_rec.fund_type
4023: ,l_return_status);
4024:
4025: IF l_return_status <> fnd_api.g_ret_sts_success THEN
4026: x_return_status := l_return_status;
4027: END IF;
4028: END IF;
4029: END IF;
4030:
4031: ------------------- check fund curr ------------------------------
4032: --09/04/2001 mpande commented
4033: /*
4034: IF p_fund_rec.currency_code_tc <> fnd_api.g_miss_char
4035: OR p_fund_rec.parent_fund_id <> fnd_api.g_miss_num THEN
4036: --- the child parent validation is done always
4037: Ozf_fundrules_pvt.check_fund_curr_vs_parent(
4038: p_complete_rec.parent_fund_id
4031: ------------------- check fund curr ------------------------------
4032: --09/04/2001 mpande commented
4033: /*
4034: IF p_fund_rec.currency_code_tc <> fnd_api.g_miss_char
4035: OR p_fund_rec.parent_fund_id <> fnd_api.g_miss_num THEN
4036: --- the child parent validation is done always
4037: Ozf_fundrules_pvt.check_fund_curr_vs_parent(
4038: p_complete_rec.parent_fund_id
4039: ,p_complete_rec.currency_code_tc
4038: p_complete_rec.parent_fund_id
4039: ,p_complete_rec.currency_code_tc
4040: ,l_return_status);
4041:
4042: IF l_return_status <> fnd_api.g_ret_sts_success THEN
4043: x_return_status := l_return_status;
4044: END IF;
4045:
4046: -- check for change of fund currency only when the status is going active
4051: p_complete_rec.fund_id
4052: ,p_complete_rec.currency_code_tc
4053: ,l_return_status);
4054:
4055: IF l_return_status <> fnd_api.g_ret_sts_success THEN
4056: x_return_status := l_return_status;
4057: END IF;
4058: END IF;
4059: END IF;
4059: END IF;
4060: */
4061:
4062: ------------------- check fund_status ------------------------------
4063: IF p_fund_rec.status_code <> fnd_api.g_miss_char
4064: OR p_fund_rec.parent_fund_id <> fnd_api.g_miss_num THEN
4065: Ozf_fundrules_pvt.check_fund_status_vs_parent(
4066: p_complete_rec.parent_fund_id
4067: ,p_complete_rec.status_code
4060: */
4061:
4062: ------------------- check fund_status ------------------------------
4063: IF p_fund_rec.status_code <> fnd_api.g_miss_char
4064: OR p_fund_rec.parent_fund_id <> fnd_api.g_miss_num THEN
4065: Ozf_fundrules_pvt.check_fund_status_vs_parent(
4066: p_complete_rec.parent_fund_id
4067: ,p_complete_rec.status_code
4068: ,l_return_status);
4066: p_complete_rec.parent_fund_id
4067: ,p_complete_rec.status_code
4068: ,l_return_status);
4069:
4070: IF l_return_status <> fnd_api.g_ret_sts_success THEN
4071: x_return_status := l_return_status;
4072: END IF;
4073: END IF;
4074: END check_fund_inter_entity;
4122: fnd_message.set_name('OZF', 'OZF_API_RECORD_NOT_FOUND');
4123: fnd_msg_pub.add;
4124: END IF;
4125:
4126: RAISE fnd_api.g_exc_error;
4127: END IF;
4128:
4129: CLOSE c_fund;
4130:
4127: END IF;
4128:
4129: CLOSE c_fund;
4130:
4131: IF p_fund_rec.fund_number = fnd_api.g_miss_char THEN
4132: x_complete_rec.fund_number := NULL;
4133: END IF;
4134: IF p_fund_rec.fund_number IS NULL THEN
4135: x_complete_rec.fund_number := l_fund_rec.fund_number;
4134: IF p_fund_rec.fund_number IS NULL THEN
4135: x_complete_rec.fund_number := l_fund_rec.fund_number;
4136: END IF;
4137:
4138: IF p_fund_rec.parent_fund_id = fnd_api.g_miss_num THEN
4139: x_complete_rec.parent_fund_id := NULL;
4140: END IF;
4141: IF p_fund_rec.parent_fund_id IS NULL THEN
4142: x_complete_rec.parent_fund_id := l_fund_rec.parent_fund_id;
4141: IF p_fund_rec.parent_fund_id IS NULL THEN
4142: x_complete_rec.parent_fund_id := l_fund_rec.parent_fund_id;
4143: END IF;
4144:
4145: IF p_fund_rec.category_id = fnd_api.g_miss_num THEN
4146: x_complete_rec.category_id := NULL;
4147: END IF;
4148: IF p_fund_rec.category_id IS NULL THEN
4149: x_complete_rec.category_id := l_fund_rec.category_id;
4148: IF p_fund_rec.category_id IS NULL THEN
4149: x_complete_rec.category_id := l_fund_rec.category_id;
4150: END IF;
4151:
4152: IF p_fund_rec.fund_type = fnd_api.g_miss_char THEN
4153: x_complete_rec.fund_type := NULL;
4154: END IF;
4155: IF p_fund_rec.fund_type IS NULL THEN
4156: x_complete_rec.fund_type := l_fund_rec.fund_type;
4155: IF p_fund_rec.fund_type IS NULL THEN
4156: x_complete_rec.fund_type := l_fund_rec.fund_type;
4157: END IF;
4158:
4159: IF p_fund_rec.fund_usage = fnd_api.g_miss_char THEN
4160: x_complete_rec.fund_usage := NULL;
4161: END IF;
4162: IF p_fund_rec.fund_usage IS NULL THEN
4163: x_complete_rec.fund_usage := l_fund_rec.fund_usage;
4162: IF p_fund_rec.fund_usage IS NULL THEN
4163: x_complete_rec.fund_usage := l_fund_rec.fund_usage;
4164: END IF;
4165:
4166: IF p_fund_rec.status_code = fnd_api.g_miss_char THEN
4167: x_complete_rec.status_code := NULL;
4168: END IF;
4169: IF p_fund_rec.status_code IS NULL THEN
4170: x_complete_rec.status_code := l_fund_rec.status_code;
4169: IF p_fund_rec.status_code IS NULL THEN
4170: x_complete_rec.status_code := l_fund_rec.status_code;
4171: END IF;
4172:
4173: IF p_fund_rec.user_status_id = fnd_api.g_miss_num THEN
4174: x_complete_rec.user_status_id := NULL;
4175: END IF;
4176: IF p_fund_rec.user_status_id IS NULL THEN
4177: x_complete_rec.user_status_id := l_fund_rec.user_status_id;
4176: IF p_fund_rec.user_status_id IS NULL THEN
4177: x_complete_rec.user_status_id := l_fund_rec.user_status_id;
4178: END IF;
4179:
4180: IF p_fund_rec.status_date = fnd_api.g_miss_date THEN
4181: x_complete_rec.status_date := NULL;
4182: END IF;
4183: IF p_fund_rec.status_date IS NULL THEN
4184: x_complete_rec.status_date := l_fund_rec.status_date;
4183: IF p_fund_rec.status_date IS NULL THEN
4184: x_complete_rec.status_date := l_fund_rec.status_date;
4185: END IF;
4186:
4187: IF p_fund_rec.accrued_liable_account = fnd_api.g_miss_num THEN
4188: x_complete_rec.accrued_liable_account := NULL;
4189: END IF;
4190: IF p_fund_rec.accrued_liable_account IS NULL THEN
4191: x_complete_rec.accrued_liable_account := l_fund_rec.accrued_liable_account;
4190: IF p_fund_rec.accrued_liable_account IS NULL THEN
4191: x_complete_rec.accrued_liable_account := l_fund_rec.accrued_liable_account;
4192: END IF;
4193:
4194: IF p_fund_rec.ded_adjustment_account = fnd_api.g_miss_num THEN
4195: x_complete_rec.ded_adjustment_account := NULL;
4196: END IF;
4197: IF p_fund_rec.ded_adjustment_account IS NULL THEN
4198: x_complete_rec.ded_adjustment_account := l_fund_rec.ded_adjustment_account;
4197: IF p_fund_rec.ded_adjustment_account IS NULL THEN
4198: x_complete_rec.ded_adjustment_account := l_fund_rec.ded_adjustment_account;
4199: END IF;
4200:
4201: IF p_fund_rec.liability_flag = fnd_api.g_miss_char THEN
4202: x_complete_rec.liability_flag := NULL;
4203: END IF;
4204: IF p_fund_rec.liability_flag IS NULL THEN
4205: x_complete_rec.liability_flag := l_fund_rec.liability_flag;
4204: IF p_fund_rec.liability_flag IS NULL THEN
4205: x_complete_rec.liability_flag := l_fund_rec.liability_flag;
4206: END IF;
4207:
4208: IF p_fund_rec.set_of_books_id = fnd_api.g_miss_num THEN
4209: x_complete_rec.set_of_books_id := NULL;
4210: END IF;
4211: IF p_fund_rec.set_of_books_id IS NULL THEN
4212: x_complete_rec.set_of_books_id := l_fund_rec.set_of_books_id;
4211: IF p_fund_rec.set_of_books_id IS NULL THEN
4212: x_complete_rec.set_of_books_id := l_fund_rec.set_of_books_id;
4213: END IF;
4214:
4215: IF p_fund_rec.start_period_id = fnd_api.g_miss_num THEN
4216: x_complete_rec.start_period_id := NULL;
4217: END IF;
4218: IF p_fund_rec.start_period_id IS NULL THEN
4219: x_complete_rec.start_period_id := l_fund_rec.start_period_id;
4218: IF p_fund_rec.start_period_id IS NULL THEN
4219: x_complete_rec.start_period_id := l_fund_rec.start_period_id;
4220: END IF;
4221:
4222: IF p_fund_rec.end_period_id = fnd_api.g_miss_num THEN
4223: x_complete_rec.end_period_id := NULL;
4224: END IF;
4225: IF p_fund_rec.end_period_id IS NULL THEN
4226: x_complete_rec.end_period_id := l_fund_rec.end_period_id;
4225: IF p_fund_rec.end_period_id IS NULL THEN
4226: x_complete_rec.end_period_id := l_fund_rec.end_period_id;
4227: END IF;
4228:
4229: IF p_fund_rec.start_date_active = fnd_api.g_miss_date THEN
4230: x_complete_rec.start_date_active := NULL;
4231: END IF;
4232: IF p_fund_rec.start_date_active IS NULL THEN
4233: x_complete_rec.start_date_active := l_fund_rec.start_date_active;
4232: IF p_fund_rec.start_date_active IS NULL THEN
4233: x_complete_rec.start_date_active := l_fund_rec.start_date_active;
4234: END IF;
4235:
4236: IF p_fund_rec.end_date_active = fnd_api.g_miss_date THEN
4237: x_complete_rec.end_date_active := NULL;
4238: END IF;
4239: IF p_fund_rec.end_date_active IS NULL THEN
4240: x_complete_rec.end_date_active := l_fund_rec.end_date_active;
4239: IF p_fund_rec.end_date_active IS NULL THEN
4240: x_complete_rec.end_date_active := l_fund_rec.end_date_active;
4241: END IF;
4242:
4243: IF p_fund_rec.budget_amount_tc = fnd_api.g_miss_num THEN
4244: x_complete_rec.budget_amount_tc := NULL;
4245: END IF;
4246: IF p_fund_rec.budget_amount_tc IS NULL THEN
4247: x_complete_rec.budget_amount_tc := l_fund_rec.budget_amount_tc;
4246: IF p_fund_rec.budget_amount_tc IS NULL THEN
4247: x_complete_rec.budget_amount_tc := l_fund_rec.budget_amount_tc;
4248: END IF;
4249:
4250: IF p_fund_rec.budget_amount_fc = fnd_api.g_miss_num THEN
4251: x_complete_rec.budget_amount_fc := NULL;
4252: END IF;
4253: IF p_fund_rec.budget_amount_fc IS NULL THEN
4254: x_complete_rec.budget_amount_fc := l_fund_rec.budget_amount_fc;
4253: IF p_fund_rec.budget_amount_fc IS NULL THEN
4254: x_complete_rec.budget_amount_fc := l_fund_rec.budget_amount_fc;
4255: END IF;
4256:
4257: IF p_fund_rec.available_amount = fnd_api.g_miss_num THEN
4258: x_complete_rec.available_amount := NULL;
4259: END IF;
4260: IF p_fund_rec.available_amount IS NULL THEN
4261: x_complete_rec.available_amount := l_fund_rec.available_amount;
4260: IF p_fund_rec.available_amount IS NULL THEN
4261: x_complete_rec.available_amount := l_fund_rec.available_amount;
4262: END IF;
4263:
4264: IF p_fund_rec.distributed_amount = fnd_api.g_miss_num THEN
4265: x_complete_rec.distributed_amount := NULL;
4266: END IF;
4267: IF p_fund_rec.distributed_amount IS NULL THEN
4268: x_complete_rec.distributed_amount := l_fund_rec.distributed_amount;
4267: IF p_fund_rec.distributed_amount IS NULL THEN
4268: x_complete_rec.distributed_amount := l_fund_rec.distributed_amount;
4269: END IF;
4270:
4271: IF p_fund_rec.currency_code_tc = fnd_api.g_miss_char THEN
4272: x_complete_rec.currency_code_tc := NULL;
4273: END IF;
4274: IF p_fund_rec.currency_code_tc IS NULL THEN
4275: x_complete_rec.currency_code_tc := l_fund_rec.currency_code_tc;
4274: IF p_fund_rec.currency_code_tc IS NULL THEN
4275: x_complete_rec.currency_code_tc := l_fund_rec.currency_code_tc;
4276: END IF;
4277:
4278: IF p_fund_rec.currency_code_fc = fnd_api.g_miss_char THEN
4279: x_complete_rec.currency_code_fc := NULL;
4280: END IF;
4281: IF p_fund_rec.currency_code_fc IS NULL THEN
4282: x_complete_rec.currency_code_fc := l_fund_rec.currency_code_fc;
4281: IF p_fund_rec.currency_code_fc IS NULL THEN
4282: x_complete_rec.currency_code_fc := l_fund_rec.currency_code_fc;
4283: END IF;
4284:
4285: IF p_fund_rec.exchange_rate_type = fnd_api.g_miss_char THEN
4286: x_complete_rec.exchange_rate_type := NULL;
4287: END IF;
4288: IF p_fund_rec.exchange_rate_type IS NULL THEN
4289: x_complete_rec.exchange_rate_type := l_fund_rec.exchange_rate_type;
4288: IF p_fund_rec.exchange_rate_type IS NULL THEN
4289: x_complete_rec.exchange_rate_type := l_fund_rec.exchange_rate_type;
4290: END IF;
4291:
4292: IF p_fund_rec.exchange_rate_date = fnd_api.g_miss_date THEN
4293: x_complete_rec.exchange_rate_date := NULL;
4294: END IF;
4295: IF p_fund_rec.exchange_rate_date IS NULL THEN
4296: x_complete_rec.exchange_rate_date := l_fund_rec.exchange_rate_date;
4295: IF p_fund_rec.exchange_rate_date IS NULL THEN
4296: x_complete_rec.exchange_rate_date := l_fund_rec.exchange_rate_date;
4297: END IF;
4298:
4299: IF p_fund_rec.exchange_rate = fnd_api.g_miss_num THEN
4300: x_complete_rec.exchange_rate := NULL;
4301: END IF;
4302: IF p_fund_rec.exchange_rate IS NULL THEN
4303: x_complete_rec.exchange_rate := l_fund_rec.exchange_rate;
4302: IF p_fund_rec.exchange_rate IS NULL THEN
4303: x_complete_rec.exchange_rate := l_fund_rec.exchange_rate;
4304: END IF;
4305:
4306: IF p_fund_rec.department_id = fnd_api.g_miss_num THEN
4307: x_complete_rec.department_id := NULL;
4308: END IF;
4309: IF p_fund_rec.department_id IS NULL THEN
4310: x_complete_rec.department_id := l_fund_rec.department_id;
4309: IF p_fund_rec.department_id IS NULL THEN
4310: x_complete_rec.department_id := l_fund_rec.department_id;
4311: END IF;
4312:
4313: IF p_fund_rec.costcentre_id = fnd_api.g_miss_num THEN
4314: x_complete_rec.costcentre_id := NULL;
4315: END IF;
4316: IF p_fund_rec.costcentre_id IS NULL THEN
4317: x_complete_rec.costcentre_id := l_fund_rec.costcentre_id;
4316: IF p_fund_rec.costcentre_id IS NULL THEN
4317: x_complete_rec.costcentre_id := l_fund_rec.costcentre_id;
4318: END IF;
4319:
4320: IF p_fund_rec.owner = fnd_api.g_miss_num THEN
4321: x_complete_rec.owner := NULL;
4322: END IF;
4323: IF p_fund_rec.owner IS NULL THEN
4324: x_complete_rec.owner := l_fund_rec.owner;
4323: IF p_fund_rec.owner IS NULL THEN
4324: x_complete_rec.owner := l_fund_rec.owner;
4325: END IF;
4326:
4327: IF p_fund_rec.accrual_method = fnd_api.g_miss_char THEN
4328: x_complete_rec.accrual_method := NULL;
4329: END IF;
4330: IF p_fund_rec.accrual_method IS NULL THEN
4331: x_complete_rec.accrual_method := l_fund_rec.accrual_method;
4330: IF p_fund_rec.accrual_method IS NULL THEN
4331: x_complete_rec.accrual_method := l_fund_rec.accrual_method;
4332: END IF;
4333:
4334: IF p_fund_rec.accrual_operand = fnd_api.g_miss_char THEN
4335: x_complete_rec.accrual_operand := NULL;
4336: END IF;
4337: IF p_fund_rec.accrual_operand IS NULL THEN
4338: x_complete_rec.accrual_operand := l_fund_rec.accrual_operand;
4337: IF p_fund_rec.accrual_operand IS NULL THEN
4338: x_complete_rec.accrual_operand := l_fund_rec.accrual_operand;
4339: END IF;
4340:
4341: IF p_fund_rec.accrual_rate = fnd_api.g_miss_num THEN
4342: x_complete_rec.accrual_rate := NULL;
4343: END IF;
4344: IF p_fund_rec.accrual_rate IS NULL THEN
4345: x_complete_rec.accrual_rate := l_fund_rec.accrual_rate;
4344: IF p_fund_rec.accrual_rate IS NULL THEN
4345: x_complete_rec.accrual_rate := l_fund_rec.accrual_rate;
4346: END IF;
4347:
4348: IF p_fund_rec.accrual_basis = fnd_api.g_miss_char THEN
4349: x_complete_rec.accrual_basis := NULL;
4350: END IF;
4351: IF p_fund_rec.accrual_basis IS NULL THEN
4352: x_complete_rec.accrual_basis := l_fund_rec.accrual_basis;
4351: IF p_fund_rec.accrual_basis IS NULL THEN
4352: x_complete_rec.accrual_basis := l_fund_rec.accrual_basis;
4353: END IF;
4354:
4355: IF p_fund_rec.hierarchy = fnd_api.g_miss_char THEN
4356: x_complete_rec.hierarchy := NULL;
4357: END IF;
4358: IF p_fund_rec.hierarchy IS NULL THEN
4359: x_complete_rec.hierarchy := l_fund_rec.hierarchy;
4358: IF p_fund_rec.hierarchy IS NULL THEN
4359: x_complete_rec.hierarchy := l_fund_rec.hierarchy;
4360: END IF;
4361:
4362: IF p_fund_rec.hierarchy_level = fnd_api.g_miss_char THEN
4363: x_complete_rec.hierarchy_level := NULL;
4364: END IF;
4365: IF p_fund_rec.hierarchy_level IS NULL THEN
4366: x_complete_rec.hierarchy_level := l_fund_rec.hierarchy_level;
4365: IF p_fund_rec.hierarchy_level IS NULL THEN
4366: x_complete_rec.hierarchy_level := l_fund_rec.hierarchy_level;
4367: END IF;
4368:
4369: IF p_fund_rec.hierarchy_id = fnd_api.g_miss_num THEN
4370: x_complete_rec.hierarchy_id := NULL;
4371: END IF;
4372: IF p_fund_rec.hierarchy_id IS NULL THEN
4373: x_complete_rec.hierarchy_id := l_fund_rec.hierarchy_id;
4372: IF p_fund_rec.hierarchy_id IS NULL THEN
4373: x_complete_rec.hierarchy_id := l_fund_rec.hierarchy_id;
4374: END IF;
4375:
4376: IF p_fund_rec.parent_node_id = fnd_api.g_miss_num THEN
4377: x_complete_rec.parent_node_id := NULL;
4378: END IF;
4379: IF p_fund_rec.parent_node_id IS NULL THEN
4380: x_complete_rec.parent_node_id := l_fund_rec.parent_node_id;
4379: IF p_fund_rec.parent_node_id IS NULL THEN
4380: x_complete_rec.parent_node_id := l_fund_rec.parent_node_id;
4381: END IF;
4382:
4383: IF p_fund_rec.node_id = fnd_api.g_miss_num THEN
4384: x_complete_rec.node_id := NULL;
4385: END IF;
4386: IF p_fund_rec.node_id IS NULL THEN
4387: x_complete_rec.node_id := l_fund_rec.node_id;
4386: IF p_fund_rec.node_id IS NULL THEN
4387: x_complete_rec.node_id := l_fund_rec.node_id;
4388: END IF;
4389:
4390: IF p_fund_rec.budget_flag = fnd_api.g_miss_char THEN
4391: x_complete_rec.budget_flag := NULL;
4392: END IF;
4393: IF p_fund_rec.budget_flag IS NULL THEN
4394: x_complete_rec.budget_flag := l_fund_rec.budget_flag;
4393: IF p_fund_rec.budget_flag IS NULL THEN
4394: x_complete_rec.budget_flag := l_fund_rec.budget_flag;
4395: END IF;
4396:
4397: IF p_fund_rec.earned_flag = fnd_api.g_miss_char THEN
4398: x_complete_rec.earned_flag := NULL;
4399: END IF;
4400: IF p_fund_rec.earned_flag IS NULL THEN
4401: x_complete_rec.earned_flag := l_fund_rec.earned_flag;
4400: IF p_fund_rec.earned_flag IS NULL THEN
4401: x_complete_rec.earned_flag := l_fund_rec.earned_flag;
4402: END IF;
4403:
4404: IF p_fund_rec.apply_accrual_on = fnd_api.g_miss_char THEN
4405: x_complete_rec.apply_accrual_on := NULL;
4406: END IF;
4407: IF p_fund_rec.apply_accrual_on IS NULL THEN
4408: x_complete_rec.apply_accrual_on := l_fund_rec.apply_accrual_on;
4407: IF p_fund_rec.apply_accrual_on IS NULL THEN
4408: x_complete_rec.apply_accrual_on := l_fund_rec.apply_accrual_on;
4409: END IF;
4410:
4411: IF p_fund_rec.accrual_phase = fnd_api.g_miss_char THEN
4412: x_complete_rec.accrual_phase := NULL;
4413: END IF;
4414: IF p_fund_rec.accrual_phase IS NULL THEN
4415: x_complete_rec.accrual_phase := l_fund_rec.accrual_phase;
4414: IF p_fund_rec.accrual_phase IS NULL THEN
4415: x_complete_rec.accrual_phase := l_fund_rec.accrual_phase;
4416: END IF;
4417:
4418: IF p_fund_rec.accrual_cap = fnd_api.g_miss_num THEN
4419: x_complete_rec.accrual_cap := NULL;
4420: END IF;
4421: IF p_fund_rec.accrual_cap IS NULL THEN
4422: x_complete_rec.accrual_cap := l_fund_rec.accrual_cap;
4421: IF p_fund_rec.accrual_cap IS NULL THEN
4422: x_complete_rec.accrual_cap := l_fund_rec.accrual_cap;
4423: END IF;
4424:
4425: IF p_fund_rec.accrual_uom = fnd_api.g_miss_char THEN
4426: x_complete_rec.accrual_uom := NULL;
4427: END IF;
4428: IF p_fund_rec.accrual_uom IS NULL THEN
4429: x_complete_rec.accrual_uom := l_fund_rec.accrual_uom;
4429: x_complete_rec.accrual_uom := l_fund_rec.accrual_uom;
4430: END IF;
4431:
4432:
4433: IF p_fund_rec.recal_committed = fnd_api.g_miss_num THEN
4434: x_complete_rec.recal_committed := NULL;
4435: END IF;
4436: IF p_fund_rec.recal_committed IS NULL THEN
4437: x_complete_rec.recal_committed := l_fund_rec.recal_committed;
4437: x_complete_rec.recal_committed := l_fund_rec.recal_committed;
4438: END IF;
4439:
4440:
4441: IF p_fund_rec.attribute_category = fnd_api.g_miss_char THEN
4442: x_complete_rec.attribute_category := NULL;
4443: END IF;
4444: IF p_fund_rec.attribute_category IS NULL THEN
4445: x_complete_rec.attribute_category := l_fund_rec.attribute_category;
4444: IF p_fund_rec.attribute_category IS NULL THEN
4445: x_complete_rec.attribute_category := l_fund_rec.attribute_category;
4446: END IF;
4447:
4448: IF p_fund_rec.attribute1 = fnd_api.g_miss_char THEN
4449: x_complete_rec.attribute1 := NULL;
4450: END IF;
4451: IF p_fund_rec.attribute1 IS NULL THEN
4452: x_complete_rec.attribute1 := l_fund_rec.attribute1;
4451: IF p_fund_rec.attribute1 IS NULL THEN
4452: x_complete_rec.attribute1 := l_fund_rec.attribute1;
4453: END IF;
4454:
4455: IF p_fund_rec.attribute2 = fnd_api.g_miss_char THEN
4456: x_complete_rec.attribute2 := NULL;
4457: END IF;
4458: IF p_fund_rec.attribute2 IS NULL THEN
4459: x_complete_rec.attribute2 := l_fund_rec.attribute2;
4458: IF p_fund_rec.attribute2 IS NULL THEN
4459: x_complete_rec.attribute2 := l_fund_rec.attribute2;
4460: END IF;
4461:
4462: IF p_fund_rec.attribute3 = fnd_api.g_miss_char THEN
4463: x_complete_rec.attribute3 := NULL;
4464: END IF;
4465: IF p_fund_rec.attribute3 IS NULL THEN
4466: x_complete_rec.attribute3 := l_fund_rec.attribute3;
4465: IF p_fund_rec.attribute3 IS NULL THEN
4466: x_complete_rec.attribute3 := l_fund_rec.attribute3;
4467: END IF;
4468:
4469: IF p_fund_rec.attribute4 = fnd_api.g_miss_char THEN
4470: x_complete_rec.attribute4 := NULL;
4471: END IF;
4472: IF p_fund_rec.attribute4 IS NULL THEN
4473: x_complete_rec.attribute4 := l_fund_rec.attribute4;
4472: IF p_fund_rec.attribute4 IS NULL THEN
4473: x_complete_rec.attribute4 := l_fund_rec.attribute4;
4474: END IF;
4475:
4476: IF p_fund_rec.attribute5 = fnd_api.g_miss_char THEN
4477: x_complete_rec.attribute5 := NULL;
4478: END IF;
4479: IF p_fund_rec.attribute5 IS NULL THEN
4480: x_complete_rec.attribute5 := l_fund_rec.attribute5;
4479: IF p_fund_rec.attribute5 IS NULL THEN
4480: x_complete_rec.attribute5 := l_fund_rec.attribute5;
4481: END IF;
4482:
4483: IF p_fund_rec.attribute6 = fnd_api.g_miss_char THEN
4484: x_complete_rec.attribute6 := NULL;
4485: END IF;
4486: IF p_fund_rec.attribute6 IS NULL THEN
4487: x_complete_rec.attribute6 := l_fund_rec.attribute6;
4486: IF p_fund_rec.attribute6 IS NULL THEN
4487: x_complete_rec.attribute6 := l_fund_rec.attribute6;
4488: END IF;
4489:
4490: IF p_fund_rec.attribute7 = fnd_api.g_miss_char THEN
4491: x_complete_rec.attribute7 := NULL;
4492: END IF;
4493: IF p_fund_rec.attribute7 IS NULL THEN
4494: x_complete_rec.attribute7 := l_fund_rec.attribute7;
4493: IF p_fund_rec.attribute7 IS NULL THEN
4494: x_complete_rec.attribute7 := l_fund_rec.attribute7;
4495: END IF;
4496:
4497: IF p_fund_rec.attribute8 = fnd_api.g_miss_char THEN
4498: x_complete_rec.attribute8 := NULL;
4499: END IF;
4500: IF p_fund_rec.attribute8 IS NULL THEN
4501: x_complete_rec.attribute8 := l_fund_rec.attribute8;
4500: IF p_fund_rec.attribute8 IS NULL THEN
4501: x_complete_rec.attribute8 := l_fund_rec.attribute8;
4502: END IF;
4503:
4504: IF p_fund_rec.attribute9 = fnd_api.g_miss_char THEN
4505: x_complete_rec.attribute9 := NULL;
4506: END IF;
4507: IF p_fund_rec.attribute9 IS NULL THEN
4508: x_complete_rec.attribute9 := l_fund_rec.attribute9;
4507: IF p_fund_rec.attribute9 IS NULL THEN
4508: x_complete_rec.attribute9 := l_fund_rec.attribute9;
4509: END IF;
4510:
4511: IF p_fund_rec.attribute10 = fnd_api.g_miss_char THEN
4512: x_complete_rec.attribute10 := NULL;
4513: END IF;
4514: IF p_fund_rec.attribute10 IS NULL THEN
4515: x_complete_rec.attribute10 := l_fund_rec.attribute10;
4514: IF p_fund_rec.attribute10 IS NULL THEN
4515: x_complete_rec.attribute10 := l_fund_rec.attribute10;
4516: END IF;
4517:
4518: IF p_fund_rec.attribute11 = fnd_api.g_miss_char THEN
4519: x_complete_rec.attribute11 := NULL;
4520: END IF;
4521: IF p_fund_rec.attribute11 IS NULL THEN
4522: x_complete_rec.attribute11 := l_fund_rec.attribute11;
4521: IF p_fund_rec.attribute11 IS NULL THEN
4522: x_complete_rec.attribute11 := l_fund_rec.attribute11;
4523: END IF;
4524:
4525: IF p_fund_rec.attribute12 = fnd_api.g_miss_char THEN
4526: x_complete_rec.attribute12 := NULL;
4527: END IF;
4528: IF p_fund_rec.attribute12 IS NULL THEN
4529: x_complete_rec.attribute12 := l_fund_rec.attribute12;
4528: IF p_fund_rec.attribute12 IS NULL THEN
4529: x_complete_rec.attribute12 := l_fund_rec.attribute12;
4530: END IF;
4531:
4532: IF p_fund_rec.attribute13 = fnd_api.g_miss_char THEN
4533: x_complete_rec.attribute13 := NULL;
4534: END IF;
4535: IF p_fund_rec.attribute13 IS NULL THEN
4536: x_complete_rec.attribute13 := l_fund_rec.attribute13;
4535: IF p_fund_rec.attribute13 IS NULL THEN
4536: x_complete_rec.attribute13 := l_fund_rec.attribute13;
4537: END IF;
4538:
4539: IF p_fund_rec.attribute14 = fnd_api.g_miss_char THEN
4540: x_complete_rec.attribute14 := NULL;
4541: END IF;
4542: IF p_fund_rec.attribute14 IS NULL THEN
4543: x_complete_rec.attribute14 := l_fund_rec.attribute14;
4542: IF p_fund_rec.attribute14 IS NULL THEN
4543: x_complete_rec.attribute14 := l_fund_rec.attribute14;
4544: END IF;
4545:
4546: IF p_fund_rec.attribute15 = fnd_api.g_miss_char THEN
4547: x_complete_rec.attribute15 := NULL;
4548: END IF;
4549: IF p_fund_rec.attribute15 IS NULL THEN
4550: x_complete_rec.attribute15 := l_fund_rec.attribute15;
4549: IF p_fund_rec.attribute15 IS NULL THEN
4550: x_complete_rec.attribute15 := l_fund_rec.attribute15;
4551: END IF;
4552:
4553: IF p_fund_rec.original_budget = fnd_api.g_miss_num THEN
4554: x_complete_rec.original_budget := NULL;
4555: END IF;
4556: IF p_fund_rec.original_budget IS NULL THEN
4557: x_complete_rec.original_budget := l_fund_rec.original_budget;
4556: IF p_fund_rec.original_budget IS NULL THEN
4557: x_complete_rec.original_budget := l_fund_rec.original_budget;
4558: END IF;
4559:
4560: IF p_fund_rec.transfered_in_amt = fnd_api.g_miss_num THEN
4561: x_complete_rec.transfered_in_amt := NULL;
4562: END IF;
4563: IF p_fund_rec.transfered_in_amt IS NULL THEN
4564: x_complete_rec.transfered_in_amt := l_fund_rec.transfered_in_amt;
4563: IF p_fund_rec.transfered_in_amt IS NULL THEN
4564: x_complete_rec.transfered_in_amt := l_fund_rec.transfered_in_amt;
4565: END IF;
4566:
4567: IF p_fund_rec.transfered_out_amt = fnd_api.g_miss_num THEN
4568: x_complete_rec.transfered_out_amt := NULL;
4569: END IF;
4570: IF p_fund_rec.transfered_out_amt IS NULL THEN
4571: x_complete_rec.transfered_out_amt := l_fund_rec.transfered_out_amt;
4570: IF p_fund_rec.transfered_out_amt IS NULL THEN
4571: x_complete_rec.transfered_out_amt := l_fund_rec.transfered_out_amt;
4572: END IF;
4573:
4574: IF p_fund_rec.holdback_amt = fnd_api.g_miss_num THEN
4575: x_complete_rec.holdback_amt := NULL;
4576: END IF;
4577: IF p_fund_rec.holdback_amt IS NULL THEN
4578: x_complete_rec.holdback_amt := l_fund_rec.holdback_amt;
4577: IF p_fund_rec.holdback_amt IS NULL THEN
4578: x_complete_rec.holdback_amt := l_fund_rec.holdback_amt;
4579: END IF;
4580:
4581: IF p_fund_rec.planned_amt = fnd_api.g_miss_num THEN
4582: x_complete_rec.planned_amt := NULL;
4583: END IF;
4584: IF p_fund_rec.planned_amt IS NULL THEN
4585: x_complete_rec.planned_amt := l_fund_rec.planned_amt;
4584: IF p_fund_rec.planned_amt IS NULL THEN
4585: x_complete_rec.planned_amt := l_fund_rec.planned_amt;
4586: END IF;
4587:
4588: IF p_fund_rec.committed_amt = fnd_api.g_miss_num THEN
4589: x_complete_rec.committed_amt := NULL;
4590: END IF;
4591: IF p_fund_rec.committed_amt IS NULL THEN
4592: x_complete_rec.committed_amt := l_fund_rec.committed_amt;
4592: x_complete_rec.committed_amt := l_fund_rec.committed_amt;
4593: END IF;
4594:
4595: -- yzhao: 11.5.10
4596: IF p_fund_rec.utilized_amt = fnd_api.g_miss_num THEN
4597: x_complete_rec.utilized_amt := NULL;
4598: END IF;
4599: IF p_fund_rec.utilized_amt IS NULL THEN
4600: x_complete_rec.utilized_amt := l_fund_rec.utilized_amt;
4599: IF p_fund_rec.utilized_amt IS NULL THEN
4600: x_complete_rec.utilized_amt := l_fund_rec.utilized_amt;
4601: END IF;
4602:
4603: IF p_fund_rec.earned_amt = fnd_api.g_miss_num THEN
4604: x_complete_rec.earned_amt := NULL;
4605: END IF;
4606: IF p_fund_rec.earned_amt IS NULL THEN
4607: x_complete_rec.earned_amt := l_fund_rec.earned_amt;
4606: IF p_fund_rec.earned_amt IS NULL THEN
4607: x_complete_rec.earned_amt := l_fund_rec.earned_amt;
4608: END IF;
4609:
4610: IF p_fund_rec.paid_amt = fnd_api.g_miss_num THEN
4611: x_complete_rec.paid_amt := NULL;
4612: END IF;
4613: IF p_fund_rec.paid_amt IS NULL THEN
4614: x_complete_rec.paid_amt := l_fund_rec.paid_amt;
4613: IF p_fund_rec.paid_amt IS NULL THEN
4614: x_complete_rec.paid_amt := l_fund_rec.paid_amt;
4615: END IF;
4616:
4617: IF p_fund_rec.plan_type = fnd_api.g_miss_char THEN
4618: x_complete_rec.plan_type := NULL;
4619: END IF;
4620: IF p_fund_rec.plan_type IS NULL THEN
4621: x_complete_rec.plan_type := l_fund_rec.plan_type;
4620: IF p_fund_rec.plan_type IS NULL THEN
4621: x_complete_rec.plan_type := l_fund_rec.plan_type;
4622: END IF;
4623:
4624: IF p_fund_rec.plan_id = fnd_api.g_miss_num THEN
4625: x_complete_rec.plan_id := NULL;
4626: END IF;
4627: IF p_fund_rec.plan_id IS NULL THEN
4628: x_complete_rec.plan_id := l_fund_rec.plan_id;
4627: IF p_fund_rec.plan_id IS NULL THEN
4628: x_complete_rec.plan_id := l_fund_rec.plan_id;
4629: END IF;
4630:
4631: IF p_fund_rec.liable_accnt_segments = fnd_api.g_miss_char THEN
4632: x_complete_rec.liable_accnt_segments := NULL;
4633: END IF;
4634: IF p_fund_rec.liable_accnt_segments IS NULL THEN
4635: x_complete_rec.liable_accnt_segments := l_fund_rec.liable_accnt_segments;
4634: IF p_fund_rec.liable_accnt_segments IS NULL THEN
4635: x_complete_rec.liable_accnt_segments := l_fund_rec.liable_accnt_segments;
4636: END IF;
4637:
4638: IF p_fund_rec.adjustment_accnt_segments = fnd_api.g_miss_char THEN
4639: x_complete_rec.adjustment_accnt_segments := NULL;
4640: END IF;
4641: IF p_fund_rec.adjustment_accnt_segments IS NULL THEN
4642: x_complete_rec.adjustment_accnt_segments := l_fund_rec.adjustment_accnt_segments;
4641: IF p_fund_rec.adjustment_accnt_segments IS NULL THEN
4642: x_complete_rec.adjustment_accnt_segments := l_fund_rec.adjustment_accnt_segments;
4643: END IF;
4644:
4645: IF p_fund_rec.short_name = fnd_api.g_miss_char THEN
4646: x_complete_rec.short_name := NULL;
4647: END IF;
4648: IF p_fund_rec.short_name IS NULL THEN
4649: x_complete_rec.short_name := l_fund_rec.short_name;
4648: IF p_fund_rec.short_name IS NULL THEN
4649: x_complete_rec.short_name := l_fund_rec.short_name;
4650: END IF;
4651:
4652: IF p_fund_rec.description = fnd_api.g_miss_char THEN
4653: x_complete_rec.description := NULL;
4654: END IF;
4655: IF p_fund_rec.description IS NULL THEN
4656: x_complete_rec.description := l_fund_rec.description;
4656: x_complete_rec.description := l_fund_rec.description;
4657: END IF;
4658: --08/28/2001 mpande bug#1950117
4659: /*
4660: IF p_fund_rec.language = fnd_api.g_miss_char THEN
4661: x_complete_rec.language := NULL;
4662: END IF;
4663: IF p_fund_rec.language IS NULL THEN
4664: x_complete_rec.language := l_fund_rec.language;
4663: IF p_fund_rec.language IS NULL THEN
4664: x_complete_rec.language := l_fund_rec.language;
4665: END IF;
4666:
4667: IF p_fund_rec.source_lang = fnd_api.g_miss_char THEN
4668: x_complete_rec.source_lang := NULL;
4669: END IF;
4670: IF p_fund_rec.source_lang IS NULL THEN
4671: x_complete_rec.source_lang := l_fund_rec.source_lang;
4670: IF p_fund_rec.source_lang IS NULL THEN
4671: x_complete_rec.source_lang := l_fund_rec.source_lang;
4672: END IF;
4673: */
4674: IF p_fund_rec.fund_calendar = fnd_api.g_miss_char THEN
4675: x_complete_rec.fund_calendar := NULL;
4676: END IF;
4677: IF p_fund_rec.fund_calendar IS NULL THEN
4678: x_complete_rec.fund_calendar := l_fund_rec.fund_calendar;
4677: IF p_fund_rec.fund_calendar IS NULL THEN
4678: x_complete_rec.fund_calendar := l_fund_rec.fund_calendar;
4679: END IF;
4680:
4681: IF p_fund_rec.start_period_name = fnd_api.g_miss_char THEN
4682: x_complete_rec.start_period_name := NULL;
4683: END IF;
4684: IF p_fund_rec.start_period_name IS NULL THEN
4685: x_complete_rec.start_period_name := l_fund_rec.start_period_name;
4684: IF p_fund_rec.start_period_name IS NULL THEN
4685: x_complete_rec.start_period_name := l_fund_rec.start_period_name;
4686: END IF;
4687:
4688: IF p_fund_rec.end_period_name = fnd_api.g_miss_char THEN
4689: x_complete_rec.end_period_name := NULL;
4690: END IF;
4691: IF p_fund_rec.end_period_name IS NULL THEN
4692: x_complete_rec.end_period_name := l_fund_rec.end_period_name;
4691: IF p_fund_rec.end_period_name IS NULL THEN
4692: x_complete_rec.end_period_name := l_fund_rec.end_period_name;
4693: END IF;
4694:
4695: IF p_fund_rec.accrual_quantity = fnd_api.g_miss_num THEN
4696: x_complete_rec.accrual_quantity := NULL;
4697: END IF;
4698: IF p_fund_rec.accrual_quantity IS NULL THEN
4699: x_complete_rec.accrual_quantity := l_fund_rec.accrual_quantity;
4698: IF p_fund_rec.accrual_quantity IS NULL THEN
4699: x_complete_rec.accrual_quantity := l_fund_rec.accrual_quantity;
4700: END IF;
4701:
4702: IF p_fund_rec.accrue_to_level_id = fnd_api.g_miss_num THEN
4703: x_complete_rec.accrue_to_level_id := NULL;
4704: END IF;
4705: IF p_fund_rec.accrue_to_level_id IS NULL THEN
4706: x_complete_rec.accrue_to_level_id := l_fund_rec.accrue_to_level_id;
4705: IF p_fund_rec.accrue_to_level_id IS NULL THEN
4706: x_complete_rec.accrue_to_level_id := l_fund_rec.accrue_to_level_id;
4707: END IF;
4708:
4709: IF p_fund_rec.accrual_discount_level = fnd_api.g_miss_char THEN
4710: x_complete_rec.accrual_discount_level := NULL;
4711: END IF;
4712: IF p_fund_rec.accrual_discount_level IS NULL THEN
4713: x_complete_rec.accrual_discount_level := l_fund_rec.accrual_discount_level;
4711: END IF;
4712: IF p_fund_rec.accrual_discount_level IS NULL THEN
4713: x_complete_rec.accrual_discount_level := l_fund_rec.accrual_discount_level;
4714: END IF;
4715: IF p_fund_rec.custom_setup_id = fnd_api.g_miss_num THEN
4716: x_complete_rec.custom_setup_id := NULL;
4717: END IF;
4718: IF p_fund_rec.custom_setup_id IS NULL THEN
4719: x_complete_rec.custom_setup_id := l_fund_rec.custom_setup_id;
4717: END IF;
4718: IF p_fund_rec.custom_setup_id IS NULL THEN
4719: x_complete_rec.custom_setup_id := l_fund_rec.custom_setup_id;
4720: END IF;
4721: IF p_fund_rec.threshold_id = fnd_api.g_miss_num THEN
4722: x_complete_rec.threshold_id := NULL;
4723: END IF;
4724: IF p_fund_rec.threshold_id IS NULL THEN
4725: x_complete_rec.threshold_id := l_fund_rec.threshold_id;
4723: END IF;
4724: IF p_fund_rec.threshold_id IS NULL THEN
4725: x_complete_rec.threshold_id := l_fund_rec.threshold_id;
4726: END IF;
4727: IF p_fund_rec.business_unit_id = fnd_api.g_miss_num THEN
4728: x_complete_rec.business_unit_id := NULL;
4729: END IF;
4730: IF p_fund_rec.business_unit_id IS NULL THEN
4731: x_complete_rec.business_unit_id := l_fund_rec.business_unit_id;
4729: END IF;
4730: IF p_fund_rec.business_unit_id IS NULL THEN
4731: x_complete_rec.business_unit_id := l_fund_rec.business_unit_id;
4732: END IF;
4733: IF p_fund_rec.task_id = fnd_api.g_miss_num THEN
4734: x_complete_rec.task_id := NULL;
4735: END IF;
4736: IF p_fund_rec.task_id IS NULL THEN
4737: x_complete_rec.task_id := l_fund_rec.task_id;
4735: END IF;
4736: IF p_fund_rec.task_id IS NULL THEN
4737: x_complete_rec.task_id := l_fund_rec.task_id;
4738: END IF;
4739: IF p_fund_rec.country_id = fnd_api.g_miss_num THEN
4740: x_complete_rec.country_id := NULL;
4741: END IF;
4742: IF p_fund_rec.country_id IS NULL THEN
4743: x_complete_rec.country_id := l_fund_rec.country_id;
4742: IF p_fund_rec.country_id IS NULL THEN
4743: x_complete_rec.country_id := l_fund_rec.country_id;
4744: END IF;
4745: -- added by feliu 02/08/2002 for rollup amount columns
4746: IF p_fund_rec.rollup_original_budget = fnd_api.g_miss_num THEN
4747: x_complete_rec.rollup_original_budget := NULL;
4748: END IF;
4749: IF p_fund_rec.rollup_original_budget IS NULL THEN
4750: x_complete_rec.rollup_original_budget := l_fund_rec.rollup_original_budget;
4748: END IF;
4749: IF p_fund_rec.rollup_original_budget IS NULL THEN
4750: x_complete_rec.rollup_original_budget := l_fund_rec.rollup_original_budget;
4751: END IF;
4752: IF p_fund_rec.rollup_holdback_amt = fnd_api.g_miss_num THEN
4753: x_complete_rec.rollup_holdback_amt := NULL;
4754: END IF;
4755: IF p_fund_rec.rollup_holdback_amt IS NULL THEN
4756: x_complete_rec.rollup_holdback_amt := l_fund_rec.rollup_holdback_amt;
4754: END IF;
4755: IF p_fund_rec.rollup_holdback_amt IS NULL THEN
4756: x_complete_rec.rollup_holdback_amt := l_fund_rec.rollup_holdback_amt;
4757: END IF;
4758: IF p_fund_rec.rollup_transfered_in_amt = fnd_api.g_miss_num THEN
4759: x_complete_rec.rollup_transfered_in_amt := NULL;
4760: END IF;
4761: IF p_fund_rec.rollup_transfered_in_amt IS NULL THEN
4762: x_complete_rec.rollup_transfered_in_amt := l_fund_rec.rollup_transfered_in_amt;
4760: END IF;
4761: IF p_fund_rec.rollup_transfered_in_amt IS NULL THEN
4762: x_complete_rec.rollup_transfered_in_amt := l_fund_rec.rollup_transfered_in_amt;
4763: END IF;
4764: IF p_fund_rec.rollup_transfered_out_amt = fnd_api.g_miss_num THEN
4765: x_complete_rec.rollup_transfered_out_amt := NULL;
4766: END IF;
4767: IF p_fund_rec.rollup_transfered_out_amt IS NULL THEN
4768: x_complete_rec.rollup_transfered_out_amt := l_fund_rec.rollup_transfered_out_amt;
4766: END IF;
4767: IF p_fund_rec.rollup_transfered_out_amt IS NULL THEN
4768: x_complete_rec.rollup_transfered_out_amt := l_fund_rec.rollup_transfered_out_amt;
4769: END IF;
4770: IF p_fund_rec.rollup_planned_amt = fnd_api.g_miss_num THEN
4771: x_complete_rec.rollup_planned_amt := NULL;
4772: END IF;
4773: IF p_fund_rec.rollup_planned_amt IS NULL THEN
4774: x_complete_rec.rollup_planned_amt := l_fund_rec.rollup_planned_amt;
4772: END IF;
4773: IF p_fund_rec.rollup_planned_amt IS NULL THEN
4774: x_complete_rec.rollup_planned_amt := l_fund_rec.rollup_planned_amt;
4775: END IF;
4776: IF p_fund_rec.rollup_committed_amt = fnd_api.g_miss_num THEN
4777: x_complete_rec.rollup_committed_amt := NULL;
4778: END IF;
4779: IF p_fund_rec.rollup_committed_amt IS NULL THEN
4780: x_complete_rec.rollup_committed_amt := l_fund_rec.rollup_committed_amt;
4779: IF p_fund_rec.rollup_committed_amt IS NULL THEN
4780: x_complete_rec.rollup_committed_amt := l_fund_rec.rollup_committed_amt;
4781: END IF;
4782: -- yzhao: 11.5.10
4783: IF p_fund_rec.rollup_utilized_amt = fnd_api.g_miss_num THEN
4784: x_complete_rec.rollup_utilized_amt := NULL;
4785: END IF;
4786: IF p_fund_rec.rollup_utilized_amt IS NULL THEN
4787: x_complete_rec.rollup_utilized_amt := l_fund_rec.rollup_utilized_amt;
4785: END IF;
4786: IF p_fund_rec.rollup_utilized_amt IS NULL THEN
4787: x_complete_rec.rollup_utilized_amt := l_fund_rec.rollup_utilized_amt;
4788: END IF;
4789: IF p_fund_rec.rollup_earned_amt = fnd_api.g_miss_num THEN
4790: x_complete_rec.rollup_earned_amt := NULL;
4791: END IF;
4792: IF p_fund_rec.rollup_earned_amt IS NULL THEN
4793: x_complete_rec.rollup_earned_amt := l_fund_rec.rollup_earned_amt;
4791: END IF;
4792: IF p_fund_rec.rollup_earned_amt IS NULL THEN
4793: x_complete_rec.rollup_earned_amt := l_fund_rec.rollup_earned_amt;
4794: END IF;
4795: IF p_fund_rec.rollup_paid_amt = fnd_api.g_miss_num THEN
4796: x_complete_rec.rollup_paid_amt := NULL;
4797: END IF;
4798: IF p_fund_rec.rollup_paid_amt IS NULL THEN
4799: x_complete_rec.rollup_paid_amt := l_fund_rec.rollup_paid_amt;
4797: END IF;
4798: IF p_fund_rec.rollup_paid_amt IS NULL THEN
4799: x_complete_rec.rollup_paid_amt := l_fund_rec.rollup_paid_amt;
4800: END IF;
4801: IF p_fund_rec.rollup_recal_committed = fnd_api.g_miss_num THEN
4802: x_complete_rec.rollup_recal_committed := NULL;
4803: END IF;
4804: IF p_fund_rec.rollup_recal_committed IS NULL THEN
4805: x_complete_rec.rollup_recal_committed := l_fund_rec.rollup_recal_committed ;
4803: END IF;
4804: IF p_fund_rec.rollup_recal_committed IS NULL THEN
4805: x_complete_rec.rollup_recal_committed := l_fund_rec.rollup_recal_committed ;
4806: END IF;
4807: IF p_fund_rec.retroactive_flag = fnd_api.g_miss_char THEN
4808: x_complete_rec.retroactive_flag := NULL;
4809: END IF;
4810: IF p_fund_rec.retroactive_flag IS NULL THEN
4811: x_complete_rec.retroactive_flag := l_fund_rec.retroactive_flag ;
4809: END IF;
4810: IF p_fund_rec.retroactive_flag IS NULL THEN
4811: x_complete_rec.retroactive_flag := l_fund_rec.retroactive_flag ;
4812: END IF;
4813: IF p_fund_rec.qualifier_id = fnd_api.g_miss_num THEN
4814: x_complete_rec.qualifier_id := NULL;
4815: END IF;
4816: IF p_fund_rec.qualifier_id IS NULL THEN
4817: x_complete_rec.qualifier_id := l_fund_rec.qualifier_id;
4817: x_complete_rec.qualifier_id := l_fund_rec.qualifier_id;
4818: END IF;
4819:
4820: -- niprakas added
4821: IF p_fund_rec.prev_fund_id = fnd_api.g_miss_num THEN
4822: x_complete_rec.prev_fund_id := NULL;
4823: END IF;
4824: IF p_fund_rec.prev_fund_id IS NULL THEN
4825: x_complete_rec.prev_fund_id := l_fund_rec.prev_fund_id;
4826: END IF;
4827:
4828: -- niprakas added
4829:
4830: IF p_fund_rec.transfered_flag = fnd_api.g_miss_char THEN
4831: x_complete_rec.transfered_flag := NULL;
4832: END IF;
4833: IF p_fund_rec.transfered_flag IS NULL THEN
4834: x_complete_rec.transfered_flag := l_fund_rec.transfered_flag;
4834: x_complete_rec.transfered_flag := l_fund_rec.transfered_flag;
4835: END IF;
4836:
4837: -- niprakas added
4838: IF p_fund_rec.utilized_amt = fnd_api.g_miss_num THEN
4839: x_complete_rec.utilized_amt := NULL;
4840: END IF;
4841: IF p_fund_rec.utilized_amt = fnd_api.g_miss_num THEN
4842: x_complete_rec.utilized_amt := l_fund_rec.utilized_amt;
4837: -- niprakas added
4838: IF p_fund_rec.utilized_amt = fnd_api.g_miss_num THEN
4839: x_complete_rec.utilized_amt := NULL;
4840: END IF;
4841: IF p_fund_rec.utilized_amt = fnd_api.g_miss_num THEN
4842: x_complete_rec.utilized_amt := l_fund_rec.utilized_amt;
4843: END IF;
4844:
4845: -- niprakas added
4842: x_complete_rec.utilized_amt := l_fund_rec.utilized_amt;
4843: END IF;
4844:
4845: -- niprakas added
4846: IF p_fund_rec.rollup_utilized_amt = fnd_api.g_miss_num THEN
4847: x_complete_rec.rollup_utilized_amt := NULL;
4848: END IF;
4849: IF p_fund_rec.rollup_utilized_amt = fnd_api.g_miss_num THEN
4850: x_complete_rec.rollup_utilized_amt := l_fund_rec.rollup_utilized_amt;
4845: -- niprakas added
4846: IF p_fund_rec.rollup_utilized_amt = fnd_api.g_miss_num THEN
4847: x_complete_rec.rollup_utilized_amt := NULL;
4848: END IF;
4849: IF p_fund_rec.rollup_utilized_amt = fnd_api.g_miss_num THEN
4850: x_complete_rec.rollup_utilized_amt := l_fund_rec.rollup_utilized_amt;
4851: END IF;
4852:
4853: --kdass added
4850: x_complete_rec.rollup_utilized_amt := l_fund_rec.rollup_utilized_amt;
4851: END IF;
4852:
4853: --kdass added
4854: IF p_fund_rec.product_spread_time_id = fnd_api.g_miss_num THEN
4855: x_complete_rec.product_spread_time_id := NULL;
4856: END IF;
4857: IF p_fund_rec.product_spread_time_id IS NULL THEN
4858: x_complete_rec.product_spread_time_id := l_fund_rec.product_spread_time_id;
4858: x_complete_rec.product_spread_time_id := l_fund_rec.product_spread_time_id;
4859: END IF;
4860:
4861: --kdass - R12 MOAC changes
4862: IF p_fund_rec.org_id = fnd_api.g_miss_num THEN
4863: x_complete_rec.org_id := NULL;
4864: END IF;
4865: IF p_fund_rec.org_id IS NULL THEN
4866: x_complete_rec.org_id := l_fund_rec.org_id;
4865: IF p_fund_rec.org_id IS NULL THEN
4866: x_complete_rec.org_id := l_fund_rec.org_id;
4867: END IF;
4868:
4869: IF p_fund_rec.ledger_id = fnd_api.g_miss_num THEN
4870: x_complete_rec.ledger_id := NULL;
4871: END IF;
4872: IF p_fund_rec.ledger_id IS NULL THEN
4873: x_complete_rec.ledger_id := l_fund_rec.ledger_id;
4909:
4910: l_accrued_liability_account NUMBER;
4911: l_ded_adjustment_account NUMBER;
4912: BEGIN
4913: x_return_status := fnd_api.g_ret_sts_success;
4914: OPEN c_gl_info(p_category_id);
4915: FETCH c_gl_info INTO l_accrued_liability_account, l_ded_adjustment_account;
4916: CLOSE c_gl_info;
4917:
4916: CLOSE c_gl_info;
4917:
4918: --- if p_categroy_id is null then return null----
4919: IF p_category_id IS NULL THEN
4920: x_return_status := fnd_api.g_ret_sts_success;
4921: ELSIF p_category_id IS NOT NULL THEN
4922: IF p_accrued_liability_account IS NULL THEN --if present keep the value else default it
4923: p_accrued_liability_account := l_accrued_liability_account;
4924: END IF;
4928: END IF;
4929: END IF;
4930: EXCEPTION
4931: WHEN OTHERS THEN
4932: x_return_status := fnd_api.g_ret_sts_unexp_error;
4933: END complete_default_gl_info;
4934:
4935:
4936: -- 14-May-2001 feliu added for copy function.
4954: -- x_custom_setup_id: custom_setup_id.
4955: ---------------------------------------------------------------------
4956: PROCEDURE copy_fund (
4957: p_api_version IN NUMBER,
4958: p_init_msg_list IN VARCHAR2 := FND_API.G_FALSE,
4959: p_commit IN VARCHAR2 := FND_API.G_FALSE,
4960: p_validation_level IN NUMBER := FND_API.G_VALID_LEVEL_FULL,
4961: x_return_status OUT NOCOPY VARCHAR2,
4962: x_msg_count OUT NOCOPY NUMBER,
4955: ---------------------------------------------------------------------
4956: PROCEDURE copy_fund (
4957: p_api_version IN NUMBER,
4958: p_init_msg_list IN VARCHAR2 := FND_API.G_FALSE,
4959: p_commit IN VARCHAR2 := FND_API.G_FALSE,
4960: p_validation_level IN NUMBER := FND_API.G_VALID_LEVEL_FULL,
4961: x_return_status OUT NOCOPY VARCHAR2,
4962: x_msg_count OUT NOCOPY NUMBER,
4963: x_msg_data OUT NOCOPY VARCHAR2,
4956: PROCEDURE copy_fund (
4957: p_api_version IN NUMBER,
4958: p_init_msg_list IN VARCHAR2 := FND_API.G_FALSE,
4959: p_commit IN VARCHAR2 := FND_API.G_FALSE,
4960: p_validation_level IN NUMBER := FND_API.G_VALID_LEVEL_FULL,
4961: x_return_status OUT NOCOPY VARCHAR2,
4962: x_msg_count OUT NOCOPY NUMBER,
4963: x_msg_data OUT NOCOPY VARCHAR2,
4964: p_source_object_id IN NUMBER,
5014: -- Standard Start of API savepoint
5015: SAVEPOINT copy_fund;
5016:
5017: -- Standard call to check for call compatibility.
5018: IF NOT FND_API.Compatible_API_Call ( l_api_version_number,
5019: p_api_version,
5020: l_api_name,
5021: G_PKG_NAME)
5022: THEN
5019: p_api_version,
5020: l_api_name,
5021: G_PKG_NAME)
5022: THEN
5023: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
5024: END IF;
5025:
5026: -- Initialize message list if p_init_msg_list is set to TRUE.
5027: IF FND_API.to_Boolean( p_init_msg_list )THEN
5023: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
5024: END IF;
5025:
5026: -- Initialize message list if p_init_msg_list is set to TRUE.
5027: IF FND_API.to_Boolean( p_init_msg_list )THEN
5028: FND_MSG_PUB.initialize;
5029: END IF;
5030:
5031: IF G_DEBUG THEN
5032: OZF_UTILITY_PVT.debug_message('Private API: ' || l_api_name || ' start');
5033: END IF;
5034:
5035: -- Initialize API return status to SUCCESS
5036: x_return_status := FND_API.G_RET_STS_SUCCESS;
5037:
5038: --
5039: -- Start of API body.
5040: --
5151: get_child_source_code(
5152: l_fund_rec.parent_fund_id
5153: ,l_fund_rec.fund_number
5154: ,x_return_status);
5155: IF x_return_status = fnd_api.g_ret_sts_error THEN
5156: RAISE fnd_api.g_exc_error;
5157: ELSIF x_return_status = fnd_api.g_ret_sts_unexp_error THEN
5158: RAISE fnd_api.g_exc_unexpected_error;
5159: END IF;
5152: l_fund_rec.parent_fund_id
5153: ,l_fund_rec.fund_number
5154: ,x_return_status);
5155: IF x_return_status = fnd_api.g_ret_sts_error THEN
5156: RAISE fnd_api.g_exc_error;
5157: ELSIF x_return_status = fnd_api.g_ret_sts_unexp_error THEN
5158: RAISE fnd_api.g_exc_unexpected_error;
5159: END IF;
5160: END IF;
5153: ,l_fund_rec.fund_number
5154: ,x_return_status);
5155: IF x_return_status = fnd_api.g_ret_sts_error THEN
5156: RAISE fnd_api.g_exc_error;
5157: ELSIF x_return_status = fnd_api.g_ret_sts_unexp_error THEN
5158: RAISE fnd_api.g_exc_unexpected_error;
5159: END IF;
5160: END IF;
5161: -- to fix bug 3240787
5154: ,x_return_status);
5155: IF x_return_status = fnd_api.g_ret_sts_error THEN
5156: RAISE fnd_api.g_exc_error;
5157: ELSIF x_return_status = fnd_api.g_ret_sts_unexp_error THEN
5158: RAISE fnd_api.g_exc_unexpected_error;
5159: END IF;
5160: END IF;
5161: -- to fix bug 3240787
5162:
5180: CLOSE c_custom_setup_id;
5181:
5182: OZF_COPY_OFFER_PVT.copy_offer_detail(
5183: p_api_version=> 1.0,
5184: p_init_msg_list=> FND_API.G_FALSE,
5185: p_commit=> FND_API.G_FALSE,
5186: p_validation_level=> p_validation_level,
5187: x_return_status=> l_return_status,
5188: x_msg_count=> x_msg_count,
5181:
5182: OZF_COPY_OFFER_PVT.copy_offer_detail(
5183: p_api_version=> 1.0,
5184: p_init_msg_list=> FND_API.G_FALSE,
5185: p_commit=> FND_API.G_FALSE,
5186: p_validation_level=> p_validation_level,
5187: x_return_status=> l_return_status,
5188: x_msg_count=> x_msg_count,
5189: x_msg_data=> x_msg_data,
5194: p_custom_setup_id =>l_offer_custsetup);
5195:
5196: l_fund_rec.plan_id := l_plan_id;
5197:
5198: IF l_return_status = fnd_api.g_ret_sts_error THEN
5199: RAISE fnd_api.g_exc_error;
5200: ELSIF l_return_status = fnd_api.g_ret_sts_unexp_error THEN
5201: RAISE fnd_api.g_exc_unexpected_error;
5202: END IF;
5195:
5196: l_fund_rec.plan_id := l_plan_id;
5197:
5198: IF l_return_status = fnd_api.g_ret_sts_error THEN
5199: RAISE fnd_api.g_exc_error;
5200: ELSIF l_return_status = fnd_api.g_ret_sts_unexp_error THEN
5201: RAISE fnd_api.g_exc_unexpected_error;
5202: END IF;
5203:
5196: l_fund_rec.plan_id := l_plan_id;
5197:
5198: IF l_return_status = fnd_api.g_ret_sts_error THEN
5199: RAISE fnd_api.g_exc_error;
5200: ELSIF l_return_status = fnd_api.g_ret_sts_unexp_error THEN
5201: RAISE fnd_api.g_exc_unexpected_error;
5202: END IF;
5203:
5204: END IF;
5197:
5198: IF l_return_status = fnd_api.g_ret_sts_error THEN
5199: RAISE fnd_api.g_exc_error;
5200: ELSIF l_return_status = fnd_api.g_ret_sts_unexp_error THEN
5201: RAISE fnd_api.g_exc_unexpected_error;
5202: END IF;
5203:
5204: END IF;
5205:
5204: END IF;
5205:
5206: OZF_Funds_PVT.Create_Fund (
5207: p_api_version => 1.0,
5208: p_init_msg_list => FND_API.G_FALSE,
5209: p_commit => FND_API.G_FALSE,
5210: p_validation_level => p_validation_level,
5211: x_return_status => l_return_status,
5212: x_msg_count => x_msg_count,
5205:
5206: OZF_Funds_PVT.Create_Fund (
5207: p_api_version => 1.0,
5208: p_init_msg_list => FND_API.G_FALSE,
5209: p_commit => FND_API.G_FALSE,
5210: p_validation_level => p_validation_level,
5211: x_return_status => l_return_status,
5212: x_msg_count => x_msg_count,
5213: x_msg_data => x_msg_data,
5214: p_fund_rec => l_fund_rec,
5215: x_fund_id => l_new_fund_id
5216: );
5217:
5218: IF l_return_status = fnd_api.g_ret_sts_error THEN
5219: RAISE fnd_api.g_exc_error;
5220: ELSIF l_return_status = fnd_api.g_ret_sts_unexp_error THEN
5221: RAISE fnd_api.g_exc_unexpected_error;
5222: END IF;
5215: x_fund_id => l_new_fund_id
5216: );
5217:
5218: IF l_return_status = fnd_api.g_ret_sts_error THEN
5219: RAISE fnd_api.g_exc_error;
5220: ELSIF l_return_status = fnd_api.g_ret_sts_unexp_error THEN
5221: RAISE fnd_api.g_exc_unexpected_error;
5222: END IF;
5223:
5216: );
5217:
5218: IF l_return_status = fnd_api.g_ret_sts_error THEN
5219: RAISE fnd_api.g_exc_error;
5220: ELSIF l_return_status = fnd_api.g_ret_sts_unexp_error THEN
5221: RAISE fnd_api.g_exc_unexpected_error;
5222: END IF;
5223:
5224: -- copy market_segments
5217:
5218: IF l_return_status = fnd_api.g_ret_sts_error THEN
5219: RAISE fnd_api.g_exc_error;
5220: ELSIF l_return_status = fnd_api.g_ret_sts_unexp_error THEN
5221: RAISE fnd_api.g_exc_unexpected_error;
5222: END IF;
5223:
5224: -- copy market_segments
5225:
5223:
5224: -- copy market_segments
5225:
5226:
5227: IF AMS_CpyUtility_PVT.is_copy_attribute ('ELIG', p_attributes_table) = FND_API.G_TRUE THEN
5228:
5229: AMS_CopyElements_PVT.copy_act_market_segments (
5230: p_src_act_type => L_OBJECT_TYPE_FUND,
5231: p_new_act_type => L_OBJECT_TYPE_FUND,
5234: p_errnum => l_errnum,
5235: p_errcode => l_errcode,
5236: p_errmsg => l_errmsg
5237: );
5238: IF x_return_status <> FND_API.G_RET_STS_SUCCESS THEN
5239: RAISE FND_API.G_EXC_ERROR;
5240: END IF;
5241: END IF;
5242:
5235: p_errcode => l_errcode,
5236: p_errmsg => l_errmsg
5237: );
5238: IF x_return_status <> FND_API.G_RET_STS_SUCCESS THEN
5239: RAISE FND_API.G_EXC_ERROR;
5240: END IF;
5241: END IF;
5242:
5243: -- copy product
5240: END IF;
5241: END IF;
5242:
5243: -- copy product
5244: IF AMS_CpyUtility_PVT.is_copy_attribute (AMS_CopyElements_PVT.G_ATTRIBUTE_PROD, p_attributes_table) = FND_API.G_TRUE THEN
5245: AMS_CopyElements_PVT.copy_act_prod(
5246: p_src_act_type => L_OBJECT_TYPE_FUND,
5247: p_new_act_type => L_OBJECT_TYPE_FUND,
5248: p_src_act_id => p_source_object_id,
5265: -- End of API body.
5266: --
5267:
5268: -- Standard check for p_commit
5269: IF FND_API.to_Boolean( p_commit ) THEN
5270: COMMIT WORK;
5271: END IF;
5272:
5273:
5281: p_count => x_msg_count,
5282: p_data => x_msg_data
5283: );
5284: EXCEPTION
5285: WHEN FND_API.G_EXC_ERROR THEN
5286: ROLLBACK TO copy_fund;
5287: x_return_status := FND_API.G_RET_STS_ERROR;
5288: -- Standard call to get message count and if count=1, get the message
5289: FND_MSG_PUB.Count_And_Get (
5283: );
5284: EXCEPTION
5285: WHEN FND_API.G_EXC_ERROR THEN
5286: ROLLBACK TO copy_fund;
5287: x_return_status := FND_API.G_RET_STS_ERROR;
5288: -- Standard call to get message count and if count=1, get the message
5289: FND_MSG_PUB.Count_And_Get (
5290: p_encoded => FND_API.G_FALSE,
5291: p_count => x_msg_count,
5286: ROLLBACK TO copy_fund;
5287: x_return_status := FND_API.G_RET_STS_ERROR;
5288: -- Standard call to get message count and if count=1, get the message
5289: FND_MSG_PUB.Count_And_Get (
5290: p_encoded => FND_API.G_FALSE,
5291: p_count => x_msg_count,
5292: p_data => x_msg_data
5293: );
5294: WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
5290: p_encoded => FND_API.G_FALSE,
5291: p_count => x_msg_count,
5292: p_data => x_msg_data
5293: );
5294: WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
5295: ROLLBACK TO copy_fund;
5296: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
5297: -- Standard call to get message count and if count=1, get the message
5298: FND_MSG_PUB.Count_And_Get (
5292: p_data => x_msg_data
5293: );
5294: WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
5295: ROLLBACK TO copy_fund;
5296: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
5297: -- Standard call to get message count and if count=1, get the message
5298: FND_MSG_PUB.Count_And_Get (
5299: p_encoded => FND_API.G_FALSE,
5300: p_count => x_msg_count,
5295: ROLLBACK TO copy_fund;
5296: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
5297: -- Standard call to get message count and if count=1, get the message
5298: FND_MSG_PUB.Count_And_Get (
5299: p_encoded => FND_API.G_FALSE,
5300: p_count => x_msg_count,
5301: p_data => x_msg_data
5302: );
5303: WHEN OTHERS THEN
5301: p_data => x_msg_data
5302: );
5303: WHEN OTHERS THEN
5304: ROLLBACK TO copy_fund;
5305: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
5306: IF FND_MSG_PUB.Check_Msg_Level ( FND_MSG_PUB.G_MSG_LVL_UNEXP_ERROR) THEN
5307: FND_MSG_PUB.Add_Exc_Msg( G_PKG_NAME,l_api_name);
5308: END IF;
5309: -- Standard call to get message count and if count=1, get the message
5307: FND_MSG_PUB.Add_Exc_Msg( G_PKG_NAME,l_api_name);
5308: END IF;
5309: -- Standard call to get message count and if count=1, get the message
5310: FND_MSG_PUB.Count_And_Get (
5311: p_encoded => FND_API.G_FALSE,
5312: p_count => x_msg_count,
5313: p_data => x_msg_data
5314: );
5315: END copy_fund;
5327: ---------------------------------------------------------------------
5328:
5329: PROCEDURE update_rollup_amount(
5330: p_api_version IN NUMBER
5331: ,p_init_msg_list IN VARCHAR2 := fnd_api.g_false
5332: ,p_commit IN VARCHAR2 := fnd_api.g_false
5333: ,p_validation_level IN NUMBER := fnd_api.g_valid_level_full
5334: ,x_return_status OUT NOCOPY VARCHAR2
5335: ,x_msg_count OUT NOCOPY NUMBER
5328:
5329: PROCEDURE update_rollup_amount(
5330: p_api_version IN NUMBER
5331: ,p_init_msg_list IN VARCHAR2 := fnd_api.g_false
5332: ,p_commit IN VARCHAR2 := fnd_api.g_false
5333: ,p_validation_level IN NUMBER := fnd_api.g_valid_level_full
5334: ,x_return_status OUT NOCOPY VARCHAR2
5335: ,x_msg_count OUT NOCOPY NUMBER
5336: ,x_msg_data OUT NOCOPY VARCHAR2
5329: PROCEDURE update_rollup_amount(
5330: p_api_version IN NUMBER
5331: ,p_init_msg_list IN VARCHAR2 := fnd_api.g_false
5332: ,p_commit IN VARCHAR2 := fnd_api.g_false
5333: ,p_validation_level IN NUMBER := fnd_api.g_valid_level_full
5334: ,x_return_status OUT NOCOPY VARCHAR2
5335: ,x_msg_count OUT NOCOPY NUMBER
5336: ,x_msg_data OUT NOCOPY VARCHAR2
5337: ,p_fund_rec IN fund_rec_type
5363:
5364: BEGIN
5365:
5366: -- Standard call to check for call compatibility.
5367: IF NOT FND_API.Compatible_API_Call ( l_api_version,
5368: p_api_version,
5369: l_api_name,
5370: G_PKG_NAME)
5371: THEN
5368: p_api_version,
5369: l_api_name,
5370: G_PKG_NAME)
5371: THEN
5372: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
5373: END IF;
5374:
5375: -- Initialize message list if p_init_msg_list is set to TRUE.
5376: IF FND_API.to_Boolean( p_init_msg_list )THEN
5372: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
5373: END IF;
5374:
5375: -- Initialize message list if p_init_msg_list is set to TRUE.
5376: IF FND_API.to_Boolean( p_init_msg_list )THEN
5377: FND_MSG_PUB.initialize;
5378: END IF;
5379:
5380: IF G_DEBUG THEN
5381: OZF_UTILITY_PVT.debug_message('Private API: ' || l_api_name || ' start');
5382: END IF;
5383:
5384: -- Initialize API return status to SUCCESS
5385: x_return_status := FND_API.G_RET_STS_SUCCESS;
5386:
5387: FOR fund IN c_parent
5388: LOOP
5389: IF fund.fund_id <> p_fund_rec.fund_id THEN
5408: fnd_message.set_name('OZF', 'OZF_API_RECORD_NOT_FOUND');
5409: fnd_msg_pub.add;
5410: END IF;
5411:
5412: RAISE fnd_api.g_exc_error;
5413: END IF;
5414: END IF;
5415: END LOOP;
5416: -------------------- finish --------------------------
5414: END IF;
5415: END LOOP;
5416: -------------------- finish --------------------------
5417: fnd_msg_pub.count_and_get(
5418: p_encoded => fnd_api.g_false
5419: ,p_count => x_msg_count
5420: ,p_data => x_msg_data);
5421: IF G_DEBUG THEN
5422: ozf_utility_pvt.debug_message( l_api_name || ': end');
5421: IF G_DEBUG THEN
5422: ozf_utility_pvt.debug_message( l_api_name || ': end');
5423: END IF;
5424: EXCEPTION
5425: WHEN fnd_api.g_exc_error THEN
5426: x_return_status := fnd_api.g_ret_sts_error;
5427: fnd_msg_pub.count_and_get(
5428: p_encoded => fnd_api.g_false
5429: ,p_count => x_msg_count
5422: ozf_utility_pvt.debug_message( l_api_name || ': end');
5423: END IF;
5424: EXCEPTION
5425: WHEN fnd_api.g_exc_error THEN
5426: x_return_status := fnd_api.g_ret_sts_error;
5427: fnd_msg_pub.count_and_get(
5428: p_encoded => fnd_api.g_false
5429: ,p_count => x_msg_count
5430: ,p_data => x_msg_data);
5424: EXCEPTION
5425: WHEN fnd_api.g_exc_error THEN
5426: x_return_status := fnd_api.g_ret_sts_error;
5427: fnd_msg_pub.count_and_get(
5428: p_encoded => fnd_api.g_false
5429: ,p_count => x_msg_count
5430: ,p_data => x_msg_data);
5431: WHEN fnd_api.g_exc_unexpected_error THEN
5432: x_return_status := fnd_api.g_ret_sts_unexp_error;
5427: fnd_msg_pub.count_and_get(
5428: p_encoded => fnd_api.g_false
5429: ,p_count => x_msg_count
5430: ,p_data => x_msg_data);
5431: WHEN fnd_api.g_exc_unexpected_error THEN
5432: x_return_status := fnd_api.g_ret_sts_unexp_error;
5433: fnd_msg_pub.count_and_get(
5434: p_encoded => fnd_api.g_false
5435: ,p_count => x_msg_count
5428: p_encoded => fnd_api.g_false
5429: ,p_count => x_msg_count
5430: ,p_data => x_msg_data);
5431: WHEN fnd_api.g_exc_unexpected_error THEN
5432: x_return_status := fnd_api.g_ret_sts_unexp_error;
5433: fnd_msg_pub.count_and_get(
5434: p_encoded => fnd_api.g_false
5435: ,p_count => x_msg_count
5436: ,p_data => x_msg_data);
5430: ,p_data => x_msg_data);
5431: WHEN fnd_api.g_exc_unexpected_error THEN
5432: x_return_status := fnd_api.g_ret_sts_unexp_error;
5433: fnd_msg_pub.count_and_get(
5434: p_encoded => fnd_api.g_false
5435: ,p_count => x_msg_count
5436: ,p_data => x_msg_data);
5437: WHEN OTHERS THEN
5438: x_return_status := fnd_api.g_ret_sts_unexp_error;
5434: p_encoded => fnd_api.g_false
5435: ,p_count => x_msg_count
5436: ,p_data => x_msg_data);
5437: WHEN OTHERS THEN
5438: x_return_status := fnd_api.g_ret_sts_unexp_error;
5439:
5440: IF fnd_msg_pub.check_msg_level(fnd_msg_pub.g_msg_lvl_unexp_error) THEN
5441: fnd_msg_pub.add_exc_msg(g_pkg_name, l_api_name);
5442: END IF;
5441: fnd_msg_pub.add_exc_msg(g_pkg_name, l_api_name);
5442: END IF;
5443:
5444: fnd_msg_pub.count_and_get(
5445: p_encoded => fnd_api.g_false
5446: ,p_count => x_msg_count
5447: ,p_data => x_msg_data);
5448:
5449: END update_rollup_amount;
5461: ---------------------------------------------------------------------
5462:
5463: PROCEDURE update_funds_access(
5464: p_api_version IN NUMBER
5465: ,p_init_msg_list IN VARCHAR2 := fnd_api.g_false
5466: ,p_commit IN VARCHAR2 := fnd_api.g_false
5467: ,p_validation_level IN NUMBER := fnd_api.g_valid_level_full
5468: ,x_return_status OUT NOCOPY VARCHAR2
5469: ,x_msg_count OUT NOCOPY NUMBER
5462:
5463: PROCEDURE update_funds_access(
5464: p_api_version IN NUMBER
5465: ,p_init_msg_list IN VARCHAR2 := fnd_api.g_false
5466: ,p_commit IN VARCHAR2 := fnd_api.g_false
5467: ,p_validation_level IN NUMBER := fnd_api.g_valid_level_full
5468: ,x_return_status OUT NOCOPY VARCHAR2
5469: ,x_msg_count OUT NOCOPY NUMBER
5470: ,x_msg_data OUT NOCOPY VARCHAR2
5463: PROCEDURE update_funds_access(
5464: p_api_version IN NUMBER
5465: ,p_init_msg_list IN VARCHAR2 := fnd_api.g_false
5466: ,p_commit IN VARCHAR2 := fnd_api.g_false
5467: ,p_validation_level IN NUMBER := fnd_api.g_valid_level_full
5468: ,x_return_status OUT NOCOPY VARCHAR2
5469: ,x_msg_count OUT NOCOPY NUMBER
5470: ,x_msg_data OUT NOCOPY VARCHAR2
5471: ,p_fund_rec IN fund_rec_type
5512: l_owner_exist BOOLEAN := false;
5513:
5514: BEGIN
5515: -- Standard call to check for call compatibility.
5516: IF NOT FND_API.Compatible_API_Call ( l_api_version,
5517: p_api_version,
5518: l_api_name,
5519: G_PKG_NAME)
5520: THEN
5517: p_api_version,
5518: l_api_name,
5519: G_PKG_NAME)
5520: THEN
5521: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
5522: END IF;
5523:
5524: -- Initialize message list if p_init_msg_list is set to TRUE.
5525: IF FND_API.to_Boolean( p_init_msg_list )THEN
5521: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
5522: END IF;
5523:
5524: -- Initialize message list if p_init_msg_list is set to TRUE.
5525: IF FND_API.to_Boolean( p_init_msg_list )THEN
5526: FND_MSG_PUB.initialize;
5527: END IF;
5528:
5529: IF G_DEBUG THEN
5556: l_access_rec.admin_flag := 'Y';
5557: l_access_rec.owner_flag := 'Y';
5558: ams_access_pvt.create_access(
5559: p_api_version => l_api_version
5560: ,p_init_msg_list => fnd_api.g_false
5561: ,p_validation_level => p_validation_level
5562: ,x_return_status => l_return_status
5563: ,x_msg_count => x_msg_count
5564: ,x_msg_data => x_msg_data
5561: ,p_validation_level => p_validation_level
5562: ,x_return_status => l_return_status
5563: ,x_msg_count => x_msg_count
5564: ,x_msg_data => x_msg_data
5565: ,p_commit => fnd_api.g_false
5566: ,p_access_rec => l_access_rec
5567: ,x_access_id => l_access_id);
5568:
5569: --l_return_status := fnd_api.g_ret_sts_error;
5565: ,p_commit => fnd_api.g_false
5566: ,p_access_rec => l_access_rec
5567: ,x_access_id => l_access_id);
5568:
5569: --l_return_status := fnd_api.g_ret_sts_error;
5570: IF l_return_status = fnd_api.g_ret_sts_error THEN
5571: RAISE fnd_api.g_exc_error;
5572: ELSIF l_return_status = fnd_api.g_ret_sts_unexp_error THEN
5573: RAISE fnd_api.g_exc_unexpected_error;
5566: ,p_access_rec => l_access_rec
5567: ,x_access_id => l_access_id);
5568:
5569: --l_return_status := fnd_api.g_ret_sts_error;
5570: IF l_return_status = fnd_api.g_ret_sts_error THEN
5571: RAISE fnd_api.g_exc_error;
5572: ELSIF l_return_status = fnd_api.g_ret_sts_unexp_error THEN
5573: RAISE fnd_api.g_exc_unexpected_error;
5574: END IF;
5567: ,x_access_id => l_access_id);
5568:
5569: --l_return_status := fnd_api.g_ret_sts_error;
5570: IF l_return_status = fnd_api.g_ret_sts_error THEN
5571: RAISE fnd_api.g_exc_error;
5572: ELSIF l_return_status = fnd_api.g_ret_sts_unexp_error THEN
5573: RAISE fnd_api.g_exc_unexpected_error;
5574: END IF;
5575: END IF;
5568:
5569: --l_return_status := fnd_api.g_ret_sts_error;
5570: IF l_return_status = fnd_api.g_ret_sts_error THEN
5571: RAISE fnd_api.g_exc_error;
5572: ELSIF l_return_status = fnd_api.g_ret_sts_unexp_error THEN
5573: RAISE fnd_api.g_exc_unexpected_error;
5574: END IF;
5575: END IF;
5576: ELSE -- end create access mode.
5569: --l_return_status := fnd_api.g_ret_sts_error;
5570: IF l_return_status = fnd_api.g_ret_sts_error THEN
5571: RAISE fnd_api.g_exc_error;
5572: ELSIF l_return_status = fnd_api.g_ret_sts_unexp_error THEN
5573: RAISE fnd_api.g_exc_unexpected_error;
5574: END IF;
5575: END IF;
5576: ELSE -- end create access mode.
5577:
5583:
5584: IF fund.owner <>p_fund_rec.owner AND l_access_rec.activity_access_id is NOT NULL THEN
5585: ams_access_pvt.delete_access(
5586: p_api_version => l_api_version
5587: ,p_init_msg_list => fnd_api.g_false
5588: ,p_validation_level => p_validation_level
5589: ,x_return_status => l_return_status
5590: ,x_msg_count => x_msg_count
5591: ,x_msg_data => x_msg_data
5588: ,p_validation_level => p_validation_level
5589: ,x_return_status => l_return_status
5590: ,x_msg_count => x_msg_count
5591: ,x_msg_data => x_msg_data
5592: ,p_commit => fnd_api.g_false
5593: ,p_access_id => l_access_id
5594: ,p_object_version => l_acc_obj_ver_num);
5595:
5596: IF l_return_status = fnd_api.g_ret_sts_error THEN
5592: ,p_commit => fnd_api.g_false
5593: ,p_access_id => l_access_id
5594: ,p_object_version => l_acc_obj_ver_num);
5595:
5596: IF l_return_status = fnd_api.g_ret_sts_error THEN
5597: RAISE fnd_api.g_exc_error;
5598: ELSIF l_return_status = fnd_api.g_ret_sts_unexp_error THEN
5599: RAISE fnd_api.g_exc_unexpected_error;
5600: END IF;
5593: ,p_access_id => l_access_id
5594: ,p_object_version => l_acc_obj_ver_num);
5595:
5596: IF l_return_status = fnd_api.g_ret_sts_error THEN
5597: RAISE fnd_api.g_exc_error;
5598: ELSIF l_return_status = fnd_api.g_ret_sts_unexp_error THEN
5599: RAISE fnd_api.g_exc_unexpected_error;
5600: END IF;
5601: END IF; -- end of l_access_rec.activity_access_id is NOT NULL
5594: ,p_object_version => l_acc_obj_ver_num);
5595:
5596: IF l_return_status = fnd_api.g_ret_sts_error THEN
5597: RAISE fnd_api.g_exc_error;
5598: ELSIF l_return_status = fnd_api.g_ret_sts_unexp_error THEN
5599: RAISE fnd_api.g_exc_unexpected_error;
5600: END IF;
5601: END IF; -- end of l_access_rec.activity_access_id is NOT NULL
5602:
5595:
5596: IF l_return_status = fnd_api.g_ret_sts_error THEN
5597: RAISE fnd_api.g_exc_error;
5598: ELSIF l_return_status = fnd_api.g_ret_sts_unexp_error THEN
5599: RAISE fnd_api.g_exc_unexpected_error;
5600: END IF;
5601: END IF; -- end of l_access_rec.activity_access_id is NOT NULL
5602:
5603: END IF; -- end delete access mode.
5604: END IF;
5605: END LOOP;
5606: -------------------- finish --------------------------
5607: fnd_msg_pub.count_and_get(
5608: p_encoded => fnd_api.g_false
5609: ,p_count => x_msg_count
5610: ,p_data => x_msg_data);
5611: IF G_DEBUG THEN
5612: ozf_utility_pvt.debug_message( l_api_name ||': end');
5612: ozf_utility_pvt.debug_message( l_api_name ||': end');
5613: END IF;
5614:
5615: EXCEPTION
5616: WHEN fnd_api.g_exc_error THEN
5617: x_return_status := fnd_api.g_ret_sts_error;
5618: fnd_msg_pub.count_and_get(
5619: p_encoded => fnd_api.g_false
5620: ,p_count => x_msg_count
5613: END IF;
5614:
5615: EXCEPTION
5616: WHEN fnd_api.g_exc_error THEN
5617: x_return_status := fnd_api.g_ret_sts_error;
5618: fnd_msg_pub.count_and_get(
5619: p_encoded => fnd_api.g_false
5620: ,p_count => x_msg_count
5621: ,p_data => x_msg_data);
5615: EXCEPTION
5616: WHEN fnd_api.g_exc_error THEN
5617: x_return_status := fnd_api.g_ret_sts_error;
5618: fnd_msg_pub.count_and_get(
5619: p_encoded => fnd_api.g_false
5620: ,p_count => x_msg_count
5621: ,p_data => x_msg_data);
5622: WHEN fnd_api.g_exc_unexpected_error THEN
5623: x_return_status := fnd_api.g_ret_sts_unexp_error;
5618: fnd_msg_pub.count_and_get(
5619: p_encoded => fnd_api.g_false
5620: ,p_count => x_msg_count
5621: ,p_data => x_msg_data);
5622: WHEN fnd_api.g_exc_unexpected_error THEN
5623: x_return_status := fnd_api.g_ret_sts_unexp_error;
5624: fnd_msg_pub.count_and_get(
5625: p_encoded => fnd_api.g_false
5626: ,p_count => x_msg_count
5619: p_encoded => fnd_api.g_false
5620: ,p_count => x_msg_count
5621: ,p_data => x_msg_data);
5622: WHEN fnd_api.g_exc_unexpected_error THEN
5623: x_return_status := fnd_api.g_ret_sts_unexp_error;
5624: fnd_msg_pub.count_and_get(
5625: p_encoded => fnd_api.g_false
5626: ,p_count => x_msg_count
5627: ,p_data => x_msg_data);
5621: ,p_data => x_msg_data);
5622: WHEN fnd_api.g_exc_unexpected_error THEN
5623: x_return_status := fnd_api.g_ret_sts_unexp_error;
5624: fnd_msg_pub.count_and_get(
5625: p_encoded => fnd_api.g_false
5626: ,p_count => x_msg_count
5627: ,p_data => x_msg_data);
5628: WHEN OTHERS THEN
5629: x_return_status := fnd_api.g_ret_sts_unexp_error;
5625: p_encoded => fnd_api.g_false
5626: ,p_count => x_msg_count
5627: ,p_data => x_msg_data);
5628: WHEN OTHERS THEN
5629: x_return_status := fnd_api.g_ret_sts_unexp_error;
5630:
5631: IF fnd_msg_pub.check_msg_level(fnd_msg_pub.g_msg_lvl_unexp_error) THEN
5632: fnd_msg_pub.add_exc_msg(g_pkg_name, l_api_name);
5633: END IF;
5632: fnd_msg_pub.add_exc_msg(g_pkg_name, l_api_name);
5633: END IF;
5634:
5635: fnd_msg_pub.count_and_get(
5636: p_encoded => fnd_api.g_false
5637: ,p_count => x_msg_count
5638: ,p_data => x_msg_data);
5639:
5640: END update_funds_access;