150: -- *********************************************************************
151: -- This insert_row is used by the OA Framework Ledger page
152: PROCEDURE insert_row(
153: p_api_version IN NUMBER := 1.0,
154: p_init_msg_list IN VARCHAR2 := fnd_api.g_false,
155: p_commit IN VARCHAR2 := fnd_api.g_false,
156: p_validate_only IN VARCHAR2 := fnd_api.g_true,
157: p_record_version_number IN NUMBER := NULL,
158: x_return_status OUT NOCOPY VARCHAR2,
151: -- This insert_row is used by the OA Framework Ledger page
152: PROCEDURE insert_row(
153: p_api_version IN NUMBER := 1.0,
154: p_init_msg_list IN VARCHAR2 := fnd_api.g_false,
155: p_commit IN VARCHAR2 := fnd_api.g_false,
156: p_validate_only IN VARCHAR2 := fnd_api.g_true,
157: p_record_version_number IN NUMBER := NULL,
158: x_return_status OUT NOCOPY VARCHAR2,
159: x_msg_count OUT NOCOPY NUMBER,
152: PROCEDURE insert_row(
153: p_api_version IN NUMBER := 1.0,
154: p_init_msg_list IN VARCHAR2 := fnd_api.g_false,
155: p_commit IN VARCHAR2 := fnd_api.g_false,
156: p_validate_only IN VARCHAR2 := fnd_api.g_true,
157: p_record_version_number IN NUMBER := NULL,
158: x_return_status OUT NOCOPY VARCHAR2,
159: x_msg_count OUT NOCOPY NUMBER,
160: x_msg_data OUT NOCOPY VARCHAR2,
279: select completion_status_code
280: from gl_ledger_configurations
281: where configuration_id = x_configuration_id;
282: BEGIN
283: IF p_commit = fnd_api.g_true THEN
284: SAVEPOINT complete_workorder;
285: END IF;
286:
287: IF NOT fnd_api.compatible_api_call(l_api_version, p_api_version,
283: IF p_commit = fnd_api.g_true THEN
284: SAVEPOINT complete_workorder;
285: END IF;
286:
287: IF NOT fnd_api.compatible_api_call(l_api_version, p_api_version,
288: l_api_name, g_pkg_name) THEN
289: RAISE fnd_api.g_exc_unexpected_error;
290: END IF;
291:
285: END IF;
286:
287: IF NOT fnd_api.compatible_api_call(l_api_version, p_api_version,
288: l_api_name, g_pkg_name) THEN
289: RAISE fnd_api.g_exc_unexpected_error;
290: END IF;
291:
292: IF fnd_api.to_boolean(p_init_msg_list) THEN
293: fnd_msg_pub.initialize;
288: l_api_name, g_pkg_name) THEN
289: RAISE fnd_api.g_exc_unexpected_error;
290: END IF;
291:
292: IF fnd_api.to_boolean(p_init_msg_list) THEN
293: fnd_msg_pub.initialize;
294: END IF;
295:
296: x_return_status := fnd_api.g_ret_sts_success;
292: IF fnd_api.to_boolean(p_init_msg_list) THEN
293: fnd_msg_pub.initialize;
294: END IF;
295:
296: x_return_status := fnd_api.g_ret_sts_success;
297:
298: -- Default the first period of the ledger to the second period in the calendar.
299: OPEN first_ledger_period;
300: LOOP
394: --fnd_msg_pub.add_exc_msg(g_pkg_name, l_api_name,
395: -- 'Invalid period_average_rate_type');
396: fnd_message.set_name('SQLGL', 'GL_ASF_LGR_NEED_PAVE_RATETYPE');
397: fnd_msg_pub.ADD;
398: x_return_status := fnd_api.g_ret_sts_unexp_error;
399: END;
400: END IF;
401:
402: IF x_period_end_rate_type IS NOT NULL THEN
410: EXCEPTION
411: WHEN NO_DATA_FOUND THEN
412: fnd_message.set_name('SQLGL', 'GL_ASF_LGR_NEED_PEND_RATETYPE');
413: fnd_msg_pub.ADD;
414: x_return_status := fnd_api.g_ret_sts_unexp_error;
415: END;
416: END IF;
417:
418: /* IF x_sla_accounting_method_code IS NOT NULL THEN
425: EXCEPTION
426: WHEN NO_DATA_FOUND THEN
427: fnd_message.set_name('SQLGL', 'GL_ASF_LGR_NEED_JE_DESC');
428: fnd_msg_pub.ADD;
429: x_return_status := fnd_api.g_ret_sts_unexp_error;
430: END;
431: END IF;*/
432:
433: IF x_criteria_set_id IS NOT NULL THEN
440: WHEN NO_DATA_FOUND THEN
441: fnd_message.set_name('SQLGL',
442: 'GL_ASF_LGR_JE_REVERSAL_INVALID');
443: fnd_msg_pub.ADD;
444: x_return_status := fnd_api.g_ret_sts_unexp_error;
445: END;
446: END IF;
447:
448: IF(x_ledger_category_code = 'ALC') THEN
553:
554: --RAISE NO_DATA_FOUND;
555: --The following new style is used for transferring error message back to OA FWK page
556: fnd_msg_pub.ADD;
557: x_return_status := fnd_api.g_ret_sts_unexp_error;
558: END IF;
559:
560: CLOSE c;
561:
578: x_creation_date, x_created_by);
579: EXCEPTION
580: WHEN OTHERS THEN
581: fnd_msg_pub.ADD;
582: x_return_status := fnd_api.g_ret_sts_unexp_error;
583: IF sqlerrm is not null
584: then
585: fnd_message.set_name('SQLGL', 'DB-ERROR');
586: fnd_message.set_token ('Message ', sqlerrm);
645: x_msg_count := fnd_msg_pub.count_msg;
646: x_msg_data := fnd_message.get;
647:
648: IF x_msg_count > 0 THEN
649: x_return_status := fnd_api.g_ret_sts_unexp_error;
650: RAISE fnd_api.g_exc_error;
651: END IF;
652: EXCEPTION
653: WHEN fnd_api.g_exc_unexpected_error THEN
646: x_msg_data := fnd_message.get;
647:
648: IF x_msg_count > 0 THEN
649: x_return_status := fnd_api.g_ret_sts_unexp_error;
650: RAISE fnd_api.g_exc_error;
651: END IF;
652: EXCEPTION
653: WHEN fnd_api.g_exc_unexpected_error THEN
654: IF p_commit = fnd_api.g_true THEN
649: x_return_status := fnd_api.g_ret_sts_unexp_error;
650: RAISE fnd_api.g_exc_error;
651: END IF;
652: EXCEPTION
653: WHEN fnd_api.g_exc_unexpected_error THEN
654: IF p_commit = fnd_api.g_true THEN
655: ROLLBACK TO complete_workorder;
656: END IF;
657:
650: RAISE fnd_api.g_exc_error;
651: END IF;
652: EXCEPTION
653: WHEN fnd_api.g_exc_unexpected_error THEN
654: IF p_commit = fnd_api.g_true THEN
655: ROLLBACK TO complete_workorder;
656: END IF;
657:
658: fnd_msg_pub.add_exc_msg(p_pkg_name => g_pkg_name,
656: END IF;
657:
658: fnd_msg_pub.add_exc_msg(p_pkg_name => g_pkg_name,
659: p_procedure_name => l_api_name);
660: x_return_status := fnd_api.g_ret_sts_unexp_error;
661: WHEN fnd_api.g_exc_error THEN
662: IF p_commit = fnd_api.g_true THEN
663: ROLLBACK TO complete_workorder;
664: END IF;
657:
658: fnd_msg_pub.add_exc_msg(p_pkg_name => g_pkg_name,
659: p_procedure_name => l_api_name);
660: x_return_status := fnd_api.g_ret_sts_unexp_error;
661: WHEN fnd_api.g_exc_error THEN
662: IF p_commit = fnd_api.g_true THEN
663: ROLLBACK TO complete_workorder;
664: END IF;
665:
658: fnd_msg_pub.add_exc_msg(p_pkg_name => g_pkg_name,
659: p_procedure_name => l_api_name);
660: x_return_status := fnd_api.g_ret_sts_unexp_error;
661: WHEN fnd_api.g_exc_error THEN
662: IF p_commit = fnd_api.g_true THEN
663: ROLLBACK TO complete_workorder;
664: END IF;
665:
666: fnd_msg_pub.add_exc_msg(p_pkg_name => g_pkg_name,
664: END IF;
665:
666: fnd_msg_pub.add_exc_msg(p_pkg_name => g_pkg_name,
667: p_procedure_name => l_api_name);
668: x_return_status := fnd_api.g_ret_sts_unexp_error;
669: WHEN OTHERS THEN
670: IF p_commit = fnd_api.g_true THEN
671: ROLLBACK TO complete_workorder;
672: END IF;
666: fnd_msg_pub.add_exc_msg(p_pkg_name => g_pkg_name,
667: p_procedure_name => l_api_name);
668: x_return_status := fnd_api.g_ret_sts_unexp_error;
669: WHEN OTHERS THEN
670: IF p_commit = fnd_api.g_true THEN
671: ROLLBACK TO complete_workorder;
672: END IF;
673:
674: fnd_msg_pub.add_exc_msg(p_pkg_name => g_pkg_name,
672: END IF;
673:
674: fnd_msg_pub.add_exc_msg(p_pkg_name => g_pkg_name,
675: p_procedure_name => l_api_name);
676: x_return_status := fnd_api.g_ret_sts_unexp_error;
677: END insert_row;
678:
679: -- **********************************************************************
680: -- This update_row is used by the OA Framework Ledger page
679: -- **********************************************************************
680: -- This update_row is used by the OA Framework Ledger page
681: PROCEDURE update_row(
682: p_api_version IN NUMBER := 1.0,
683: p_init_msg_list IN VARCHAR2 := fnd_api.g_false,
684: p_commit IN VARCHAR2 := fnd_api.g_false,
685: p_validate_only IN VARCHAR2 := fnd_api.g_true,
686: p_record_version_number IN NUMBER := NULL,
687: x_return_status OUT NOCOPY VARCHAR2,
680: -- This update_row is used by the OA Framework Ledger page
681: PROCEDURE update_row(
682: p_api_version IN NUMBER := 1.0,
683: p_init_msg_list IN VARCHAR2 := fnd_api.g_false,
684: p_commit IN VARCHAR2 := fnd_api.g_false,
685: p_validate_only IN VARCHAR2 := fnd_api.g_true,
686: p_record_version_number IN NUMBER := NULL,
687: x_return_status OUT NOCOPY VARCHAR2,
688: x_msg_count OUT NOCOPY NUMBER,
681: PROCEDURE update_row(
682: p_api_version IN NUMBER := 1.0,
683: p_init_msg_list IN VARCHAR2 := fnd_api.g_false,
684: p_commit IN VARCHAR2 := fnd_api.g_false,
685: p_validate_only IN VARCHAR2 := fnd_api.g_true,
686: p_record_version_number IN NUMBER := NULL,
687: x_return_status OUT NOCOPY VARCHAR2,
688: x_msg_count OUT NOCOPY NUMBER,
689: x_msg_data OUT NOCOPY VARCHAR2,
849: l_period_avg_rt_changed VARCHAR2(1) :='N';
850: l_period_end_rt_changed VARCHAR2(1) :='N';
851: temp NUMBER;
852: BEGIN
853: IF p_commit = fnd_api.g_true THEN
854: SAVEPOINT complete_workorder;
855: END IF;
856:
857: IF NOT fnd_api.compatible_api_call(l_api_version, p_api_version,
853: IF p_commit = fnd_api.g_true THEN
854: SAVEPOINT complete_workorder;
855: END IF;
856:
857: IF NOT fnd_api.compatible_api_call(l_api_version, p_api_version,
858: l_api_name, g_pkg_name) THEN
859: RAISE fnd_api.g_exc_unexpected_error;
860: END IF;
861:
855: END IF;
856:
857: IF NOT fnd_api.compatible_api_call(l_api_version, p_api_version,
858: l_api_name, g_pkg_name) THEN
859: RAISE fnd_api.g_exc_unexpected_error;
860: END IF;
861:
862: IF fnd_api.to_boolean(p_init_msg_list) THEN
863: fnd_msg_pub.initialize;
858: l_api_name, g_pkg_name) THEN
859: RAISE fnd_api.g_exc_unexpected_error;
860: END IF;
861:
862: IF fnd_api.to_boolean(p_init_msg_list) THEN
863: fnd_msg_pub.initialize;
864: END IF;
865:
866: x_return_status := fnd_api.g_ret_sts_success;
862: IF fnd_api.to_boolean(p_init_msg_list) THEN
863: fnd_msg_pub.initialize;
864: END IF;
865:
866: x_return_status := fnd_api.g_ret_sts_success;
867:
868: -- Ledger API checks
869: OPEN c;
870: FETCH c
984: EXCEPTION
985: WHEN NO_DATA_FOUND THEN
986: fnd_message.set_name('SQLGL', 'GL_ASF_LGR_NEED_PAVE_RATETYPE');
987: fnd_msg_pub.ADD;
988: x_return_status := fnd_api.g_ret_sts_unexp_error;
989: END;
990: END IF;
991:
992: IF x_period_end_rate_type IS NOT NULL THEN
1000: EXCEPTION
1001: WHEN NO_DATA_FOUND THEN
1002: fnd_message.set_name('SQLGL', 'GL_ASF_LGR_NEED_PEND_RATETYPE');
1003: fnd_msg_pub.ADD;
1004: x_return_status := fnd_api.g_ret_sts_unexp_error;
1005: END;
1006: END IF;
1007:
1008: IF x_sla_accounting_method_code IS NOT NULL THEN
1015: EXCEPTION
1016: WHEN NO_DATA_FOUND THEN
1017: fnd_message.set_name('SQLGL', 'GL_ASF_LGR_NEED_JE_DESC');
1018: fnd_msg_pub.ADD;
1019: x_return_status := fnd_api.g_ret_sts_unexp_error;
1020: END;
1021: END IF;
1022:
1023: IF x_criteria_set_id IS NOT NULL THEN
1030: WHEN NO_DATA_FOUND THEN
1031: fnd_message.set_name('SQLGL',
1032: 'GL_ASF_LGR_JE_REVERSAL_INVALID');
1033: fnd_msg_pub.ADD;
1034: x_return_status := fnd_api.g_ret_sts_unexp_error;
1035: END;
1036: END IF;
1037:
1038: ----- temporary validation ends
1377: -- Bug fix 3265048: Move this check before updating ALC ledgers
1378: IF (SQL%NOTFOUND) THEN
1379: --RAISE NO_DATA_FOUND;
1380: fnd_msg_pub.ADD;
1381: x_return_status := fnd_api.g_ret_sts_unexp_error;
1382: END IF;
1383:
1384: IF ( ( (x_current_sla_actg_method_code IS NULL)
1385: AND (x_sla_accounting_method_code IS NOT NULL))
1646:
1647: x_msg_count := fnd_msg_pub.count_msg;
1648:
1649: IF x_msg_count > 0 THEN
1650: x_return_status := fnd_api.g_ret_sts_unexp_error;
1651: RAISE fnd_api.g_exc_error;
1652: END IF;
1653: EXCEPTION
1654: WHEN fnd_api.g_exc_unexpected_error THEN
1647: x_msg_count := fnd_msg_pub.count_msg;
1648:
1649: IF x_msg_count > 0 THEN
1650: x_return_status := fnd_api.g_ret_sts_unexp_error;
1651: RAISE fnd_api.g_exc_error;
1652: END IF;
1653: EXCEPTION
1654: WHEN fnd_api.g_exc_unexpected_error THEN
1655: IF p_commit = fnd_api.g_true THEN
1650: x_return_status := fnd_api.g_ret_sts_unexp_error;
1651: RAISE fnd_api.g_exc_error;
1652: END IF;
1653: EXCEPTION
1654: WHEN fnd_api.g_exc_unexpected_error THEN
1655: IF p_commit = fnd_api.g_true THEN
1656: ROLLBACK TO complete_workorder;
1657: END IF;
1658:
1651: RAISE fnd_api.g_exc_error;
1652: END IF;
1653: EXCEPTION
1654: WHEN fnd_api.g_exc_unexpected_error THEN
1655: IF p_commit = fnd_api.g_true THEN
1656: ROLLBACK TO complete_workorder;
1657: END IF;
1658:
1659: fnd_msg_pub.add_exc_msg(p_pkg_name => g_pkg_name,
1657: END IF;
1658:
1659: fnd_msg_pub.add_exc_msg(p_pkg_name => g_pkg_name,
1660: p_procedure_name => l_api_name);
1661: x_return_status := fnd_api.g_ret_sts_unexp_error;
1662: WHEN fnd_api.g_exc_error THEN
1663: IF p_commit = fnd_api.g_true THEN
1664: ROLLBACK TO complete_workorder;
1665: END IF;
1658:
1659: fnd_msg_pub.add_exc_msg(p_pkg_name => g_pkg_name,
1660: p_procedure_name => l_api_name);
1661: x_return_status := fnd_api.g_ret_sts_unexp_error;
1662: WHEN fnd_api.g_exc_error THEN
1663: IF p_commit = fnd_api.g_true THEN
1664: ROLLBACK TO complete_workorder;
1665: END IF;
1666:
1659: fnd_msg_pub.add_exc_msg(p_pkg_name => g_pkg_name,
1660: p_procedure_name => l_api_name);
1661: x_return_status := fnd_api.g_ret_sts_unexp_error;
1662: WHEN fnd_api.g_exc_error THEN
1663: IF p_commit = fnd_api.g_true THEN
1664: ROLLBACK TO complete_workorder;
1665: END IF;
1666:
1667: fnd_msg_pub.add_exc_msg(p_pkg_name => g_pkg_name,
1665: END IF;
1666:
1667: fnd_msg_pub.add_exc_msg(p_pkg_name => g_pkg_name,
1668: p_procedure_name => l_api_name);
1669: x_return_status := fnd_api.g_ret_sts_unexp_error;
1670: WHEN OTHERS THEN
1671: IF p_commit = fnd_api.g_true THEN
1672: ROLLBACK TO complete_workorder;
1673: END IF;
1667: fnd_msg_pub.add_exc_msg(p_pkg_name => g_pkg_name,
1668: p_procedure_name => l_api_name);
1669: x_return_status := fnd_api.g_ret_sts_unexp_error;
1670: WHEN OTHERS THEN
1671: IF p_commit = fnd_api.g_true THEN
1672: ROLLBACK TO complete_workorder;
1673: END IF;
1674:
1675: fnd_msg_pub.add_exc_msg(p_pkg_name => g_pkg_name,
1673: END IF;
1674:
1675: fnd_msg_pub.add_exc_msg(p_pkg_name => g_pkg_name,
1676: p_procedure_name => l_api_name);
1677: x_return_status := fnd_api.g_ret_sts_unexp_error;
1678: END update_row;
1679:
1680: -- **********************************************************************
1681: PROCEDURE check_unique_name(