164: l_error_id number;
165: l_source_type varchar2(20);
166: l_error_message varchar2(2000);
167:
168: l_return_status varchar2(1) := fnd_api.g_ret_sts_success;
169: l_msg_count number;
170: l_msg_data varchar2(2000);
171:
172: BEGIN
216: WHEN no_data_found THEN
217:
218: csi_transactions_pvt.create_txn_error (
219: p_api_version => 1.0,
220: p_init_msg_list => fnd_api.g_true,
221: p_commit => fnd_api.g_false,
222: p_validation_level => fnd_api.g_valid_level_full,
223: p_txn_error_rec => l_error_rec,
224: x_transaction_error_id => l_error_id,
217:
218: csi_transactions_pvt.create_txn_error (
219: p_api_version => 1.0,
220: p_init_msg_list => fnd_api.g_true,
221: p_commit => fnd_api.g_false,
222: p_validation_level => fnd_api.g_valid_level_full,
223: p_txn_error_rec => l_error_rec,
224: x_transaction_error_id => l_error_id,
225: x_return_status => l_return_status,
218: csi_transactions_pvt.create_txn_error (
219: p_api_version => 1.0,
220: p_init_msg_list => fnd_api.g_true,
221: p_commit => fnd_api.g_false,
222: p_validation_level => fnd_api.g_valid_level_full,
223: p_txn_error_rec => l_error_rec,
224: x_transaction_error_id => l_error_id,
225: x_return_status => l_return_status,
226: x_msg_count => l_msg_count,
225: x_return_status => l_return_status,
226: x_msg_count => l_msg_count,
227: x_msg_data => l_msg_data);
228:
229: IF l_return_status <> fnd_api.g_ret_sts_success THEN
230: RAISE fnd_api.g_exc_error;
231: END IF;
232:
233: debug(' new error logged. transaction_error_id : '||l_error_id);
226: x_msg_count => l_msg_count,
227: x_msg_data => l_msg_data);
228:
229: IF l_return_status <> fnd_api.g_ret_sts_success THEN
230: RAISE fnd_api.g_exc_error;
231: END IF;
232:
233: debug(' new error logged. transaction_error_id : '||l_error_id);
234: END;
233: debug(' new error logged. transaction_error_id : '||l_error_id);
234: END;
235:
236: EXCEPTION
237: WHEN fnd_api.g_exc_error THEN
238: NULL;
239: -- i mean if you can't log the error then what else will you do.
240: -- just leave the transaction as pending so that atleast the next run
241: -- will pick it yp
246: x_return_status OUT nocopy varchar2,
247: x_error_message OUT nocopy varchar2)
248: IS
249: l_txn_rec csi_datastructures_pub.transaction_rec;
250: l_return_status varchar2(1) := fnd_api.g_ret_sts_success;
251: l_msg_count number;
252: l_msg_data varchar2(2000);
253: BEGIN
254:
251: l_msg_count number;
252: l_msg_data varchar2(2000);
253: BEGIN
254:
255: x_return_status := fnd_api.g_ret_sts_success;
256:
257: l_txn_rec.transaction_id := p_csi_txn_id;
258: l_txn_rec.source_group_ref_id := fnd_global.conc_request_id;
259: l_txn_rec.transaction_status_code := cse_datastructures_pub.g_complete ;
264: WHERE transaction_id = l_txn_rec.transaction_id;
265:
266: csi_transactions_pvt.update_transactions(
267: p_api_version => 1.0,
268: p_init_msg_list => fnd_api.g_true,
269: p_commit => fnd_api.g_false,
270: p_validation_level => fnd_api.g_valid_level_full,
271: p_transaction_rec => l_txn_rec,
272: x_return_status => l_return_status,
265:
266: csi_transactions_pvt.update_transactions(
267: p_api_version => 1.0,
268: p_init_msg_list => fnd_api.g_true,
269: p_commit => fnd_api.g_false,
270: p_validation_level => fnd_api.g_valid_level_full,
271: p_transaction_rec => l_txn_rec,
272: x_return_status => l_return_status,
273: x_msg_count => l_msg_count,
266: csi_transactions_pvt.update_transactions(
267: p_api_version => 1.0,
268: p_init_msg_list => fnd_api.g_true,
269: p_commit => fnd_api.g_false,
270: p_validation_level => fnd_api.g_valid_level_full,
271: p_transaction_rec => l_txn_rec,
272: x_return_status => l_return_status,
273: x_msg_count => l_msg_count,
274: x_msg_data => l_msg_data);
272: x_return_status => l_return_status,
273: x_msg_count => l_msg_count,
274: x_msg_data => l_msg_data);
275:
276: IF l_return_status <> fnd_api.g_ret_sts_success THEN
277: RAISE fnd_api.g_exc_error;
278: END IF;
279:
280: EXCEPTION
273: x_msg_count => l_msg_count,
274: x_msg_data => l_msg_data);
275:
276: IF l_return_status <> fnd_api.g_ret_sts_success THEN
277: RAISE fnd_api.g_exc_error;
278: END IF;
279:
280: EXCEPTION
281: WHEN fnd_api.g_exc_error THEN
277: RAISE fnd_api.g_exc_error;
278: END IF;
279:
280: EXCEPTION
281: WHEN fnd_api.g_exc_error THEN
282: x_return_status := fnd_api.g_ret_sts_error;
283: END complete_csi_txn;
284:
285: PROCEDURE get_redeploy_flag(
278: END IF;
279:
280: EXCEPTION
281: WHEN fnd_api.g_exc_error THEN
282: x_return_status := fnd_api.g_ret_sts_error;
283: END complete_csi_txn;
284:
285: PROCEDURE get_redeploy_flag(
286: p_instance_id IN number,
427: CLOSE round_currency_cur;
428: END round_currency;
429:
430: BEGIN
431: x_return_status := fnd_api.g_ret_sts_success ;
432:
433: OPEN base_currency_cur ;
434: FETCH base_currency_cur INTO l_fa_currency_code ;
435: CLOSE base_currency_cur ;
486: CLOSE po_sob_currency_cur ;
487:
488: IF l_base_amount IS NULL THEN
489: x_error_msg := 'Unable to derive base amount for PO receit transaction';
490: RAISE fnd_api.g_exc_error;
491: END IF ;
492:
493: x_base_amount := l_base_amount;
494:
492:
493: x_base_amount := l_base_amount;
494:
495: EXCEPTION
496: WHEN fnd_api.g_exc_error THEN
497: x_return_status := fnd_api.g_ret_sts_error ;
498: END get_base_amount ;
499:
500: PROCEDURE get_fa_location_id(
493: x_base_amount := l_base_amount;
494:
495: EXCEPTION
496: WHEN fnd_api.g_exc_error THEN
497: x_return_status := fnd_api.g_ret_sts_error ;
498: END get_base_amount ;
499:
500: PROCEDURE get_fa_location_id(
501: p_location_type_code IN varchar2,
515: AND sysdate BETWEEN nvl(active_start_date, sysdate - 1)
516: AND nvl(active_end_date, sysdate + 1);
517: BEGIN
518:
519: x_return_status := fnd_api.g_ret_sts_success;
520:
521: IF p_location_type_code = 'INVENTORY' THEN
522: l_location_table := 'HR_LOCATIONS';
523: ELSIF p_location_type_code = 'HZ_LOCATIONS' THEN
540: exit;
541: END LOOP;
542:
543: IF x_fa_location_id is null then
544: RAISE fnd_api.g_exc_error;
545: END IF;
546: EXCEPTION
547: WHEN fnd_api.g_exc_error THEN
548: x_return_status := fnd_api.g_ret_sts_error;
543: IF x_fa_location_id is null then
544: RAISE fnd_api.g_exc_error;
545: END IF;
546: EXCEPTION
547: WHEN fnd_api.g_exc_error THEN
548: x_return_status := fnd_api.g_ret_sts_error;
549: END get_fa_location_id;
550:
551: PROCEDURE derive_asset_attribs(
544: RAISE fnd_api.g_exc_error;
545: END IF;
546: EXCEPTION
547: WHEN fnd_api.g_exc_error THEN
548: x_return_status := fnd_api.g_ret_sts_error;
549: END get_fa_location_id;
550:
551: PROCEDURE derive_asset_attribs(
552: px_instance_tbl IN OUT nocopy instance_tbl,
578: l_employee_id number;
579: l_search_method varchar2(10);
580:
581: l_hook_used varchar2(1);
582: l_return_status varchar2(1) := fnd_api.g_ret_sts_success;
583: l_error_message varchar2(2000);
584:
585: BEGIN
586:
585: BEGIN
586:
587: debug('inside derive_asset_attribs');
588:
589: x_return_status := fnd_api.g_ret_sts_success;
590:
591: l_inst_tbl := px_instance_tbl;
592:
593: IF l_inst_tbl.COUNT > 0 THEN
629: l_asset_description := cse_asset_util_pkg.asset_description(
630: p_asset_attrib_rec => l_asset_attrib_rec,
631: x_error_msg => l_error_message,
632: x_return_status => l_return_status);
633: IF l_return_status <> fnd_api.g_ret_sts_success THEN
634: RAISE fnd_api.g_exc_error;
635: END IF;
636:
637: -- asset unit cost
630: p_asset_attrib_rec => l_asset_attrib_rec,
631: x_error_msg => l_error_message,
632: x_return_status => l_return_status);
633: IF l_return_status <> fnd_api.g_ret_sts_success THEN
634: RAISE fnd_api.g_exc_error;
635: END IF;
636:
637: -- asset unit cost
638: cse_asset_util_pkg.get_unit_cost(
643: x_unit_cost => l_asset_unit_cost,
644: x_error_msg => l_error_message,
645: x_return_status => l_return_status);
646:
647: IF l_return_status <> fnd_api.g_ret_sts_success THEN
648: RAISE fnd_api.g_exc_error;
649: END IF;
650:
651: debug(' asset_unit_cost : '||l_asset_unit_cost);
644: x_error_msg => l_error_message,
645: x_return_status => l_return_status);
646:
647: IF l_return_status <> fnd_api.g_ret_sts_success THEN
648: RAISE fnd_api.g_exc_error;
649: END IF;
650:
651: debug(' asset_unit_cost : '||l_asset_unit_cost);
652:
656: p_asset_attrib_rec => l_asset_attrib_rec,
657: x_error_msg => l_error_message,
658: x_return_status => l_return_status);
659:
660: IF l_return_status <> fnd_api.g_ret_sts_success THEN
661: RAISE fnd_api.g_exc_error;
662: END IF;
663:
664: l_asset_attrib_rec.asset_category_id := l_asset_category_id;
657: x_error_msg => l_error_message,
658: x_return_status => l_return_status);
659:
660: IF l_return_status <> fnd_api.g_ret_sts_success THEN
661: RAISE fnd_api.g_exc_error;
662: END IF;
663:
664: l_asset_attrib_rec.asset_category_id := l_asset_category_id;
665:
662: END IF;
663:
664: l_asset_attrib_rec.asset_category_id := l_asset_category_id;
665:
666: IF nvl(l_asset_attrib_rec.asset_category_id, fnd_api.g_miss_num) <> fnd_api.g_miss_num THEN
667:
668: SELECT concatenated_segments
669: INTO l_asset_category
670: FROM fa_categories_b_kfv
676: p_asset_attrib_rec => l_asset_attrib_rec,
677: x_error_msg => l_error_message,
678: x_return_status => l_return_status);
679:
680: IF l_return_status <> fnd_api.g_ret_sts_success THEN
681: RAISE fnd_api.g_exc_error;
682: END IF;
683:
684: l_asset_attrib_rec.book_type_code := l_book_type_code;
677: x_error_msg => l_error_message,
678: x_return_status => l_return_status);
679:
680: IF l_return_status <> fnd_api.g_ret_sts_success THEN
681: RAISE fnd_api.g_exc_error;
682: END IF;
683:
684: l_asset_attrib_rec.book_type_code := l_book_type_code;
685:
695: fnd_message.set_name('CSE', 'CSE_ASSET_BOOK_CAT_UNDEFINED');
696: fnd_message.set_token('ASSET_CAT', l_asset_category);
697: fnd_message.set_token('BOOK_TYPE_CODE', l_book_type_code);
698: l_error_message := fnd_message.get;
699: RAISE fnd_api.g_exc_error;
700: END;
701: ELSE
702: fnd_message.set_name('CSE', 'CSE_ASSET_CAT_ERROR');
703: l_error_message := fnd_message.get;
700: END;
701: ELSE
702: fnd_message.set_name('CSE', 'CSE_ASSET_CAT_ERROR');
703: l_error_message := fnd_message.get;
704: RAISE fnd_api.g_exc_error;
705: END IF;
706:
707: -- date placed in service
708: l_dpi :=
710: p_asset_attrib_rec => l_asset_attrib_rec,
711: x_error_msg => l_error_message,
712: x_return_status => l_return_status);
713:
714: IF l_return_status <> fnd_api.g_ret_sts_success THEN
715: RAISE fnd_api.g_exc_error;
716: END IF;
717:
718: l_asset_key_ccid :=
711: x_error_msg => l_error_message,
712: x_return_status => l_return_status);
713:
714: IF l_return_status <> fnd_api.g_ret_sts_success THEN
715: RAISE fnd_api.g_exc_error;
716: END IF;
717:
718: l_asset_key_ccid :=
719: cse_asset_util_pkg.asset_key(
720: p_asset_attrib_rec => l_asset_attrib_rec,
721: x_error_msg => l_error_message,
722: x_return_status => l_return_status);
723:
724: IF l_return_status <> fnd_api.g_ret_sts_success THEN
725: RAISE fnd_api.g_exc_error;
726: END IF;
727:
728: -- get fa location
721: x_error_msg => l_error_message,
722: x_return_status => l_return_status);
723:
724: IF l_return_status <> fnd_api.g_ret_sts_success THEN
725: RAISE fnd_api.g_exc_error;
726: END IF;
727:
728: -- get fa location
729: get_fa_location_id(
731: p_location_id => l_inst_tbl(l_ind).location_id,
732: x_fa_location_id => l_fa_location_id,
733: x_return_status => l_return_status);
734:
735: IF l_return_status <> fnd_api.g_ret_sts_success THEN
736: debug(' location_type_code : '||l_inst_tbl(l_ind).location_type_code);
737: debug(' location_id : '||l_inst_tbl(l_ind).location_id);
738: fnd_message.set_name('CSE','CSE_FA_CREATION_ATRIB_ERROR');
739: fnd_message.set_token('ASSET_ATTRIBUTE','LOCATION');
738: fnd_message.set_name('CSE','CSE_FA_CREATION_ATRIB_ERROR');
739: fnd_message.set_token('ASSET_ATTRIBUTE','LOCATION');
740: fnd_message.set_token('CSI_TRANSACTION_ID',l_inst_tbl(l_ind).csi_txn_id);
741: l_error_message := fnd_message.get;
742: RAISE fnd_api.g_exc_error;
743: END IF;
744:
745: -- get deprn expense ccid
746: l_deprn_expense_ccid :=
748: p_asset_attrib_rec => l_asset_attrib_rec,
749: x_error_msg => l_error_message,
750: x_return_status => l_return_status);
751:
752: IF l_return_status <> fnd_api.g_ret_sts_success THEN
753: RAISE fnd_api.g_exc_error;
754: END IF;
755:
756: -- payables ccid
749: x_error_msg => l_error_message,
750: x_return_status => l_return_status);
751:
752: IF l_return_status <> fnd_api.g_ret_sts_success THEN
753: RAISE fnd_api.g_exc_error;
754: END IF;
755:
756: -- payables ccid
757: l_payables_ccid :=
759: p_asset_attrib_rec => l_asset_attrib_rec,
760: x_error_msg => l_error_message,
761: x_return_status => l_return_status);
762:
763: IF l_return_status <> fnd_api.g_ret_sts_success THEN
764: --l_payables_ccid := l_inst_tbl(l_ind).mtl_dist_acct_id;
765: RAISE fnd_api.g_exc_error;
766: END IF;
767:
761: x_return_status => l_return_status);
762:
763: IF l_return_status <> fnd_api.g_ret_sts_success THEN
764: --l_payables_ccid := l_inst_tbl(l_ind).mtl_dist_acct_id;
765: RAISE fnd_api.g_exc_error;
766: END IF;
767:
768: -- tag number
769: l_tag_number :=
771: p_asset_attrib_rec => l_asset_attrib_rec,
772: x_error_msg => l_error_message,
773: x_return_status => l_return_status);
774:
775: IF l_return_status <> fnd_api.g_ret_sts_success THEN
776: RAISE fnd_api.g_exc_error;
777: END IF;
778:
779: -- model number
772: x_error_msg => l_error_message,
773: x_return_status => l_return_status);
774:
775: IF l_return_status <> fnd_api.g_ret_sts_success THEN
776: RAISE fnd_api.g_exc_error;
777: END IF;
778:
779: -- model number
780: l_model_number :=
782: p_asset_attrib_rec => l_asset_attrib_rec,
783: x_error_msg => l_error_message,
784: x_return_status => l_return_status);
785:
786: IF l_return_status <> fnd_api.g_ret_sts_success THEN
787: RAISE fnd_api.g_exc_error;
788: END IF;
789:
790: -- manufacturer
783: x_error_msg => l_error_message,
784: x_return_status => l_return_status);
785:
786: IF l_return_status <> fnd_api.g_ret_sts_success THEN
787: RAISE fnd_api.g_exc_error;
788: END IF;
789:
790: -- manufacturer
791: l_manufacturer_name :=
793: p_asset_attrib_rec => l_asset_attrib_rec,
794: x_error_msg => l_error_message,
795: x_return_status => l_return_status);
796:
797: IF l_return_status <> fnd_api.g_ret_sts_success THEN
798: RAISE fnd_api.g_exc_error;
799: END IF;
800:
801: -- employee
794: x_error_msg => l_error_message,
795: x_return_status => l_return_status);
796:
797: IF l_return_status <> fnd_api.g_ret_sts_success THEN
798: RAISE fnd_api.g_exc_error;
799: END IF;
800:
801: -- employee
802: l_employee_id :=
804: p_asset_attrib_rec => l_asset_attrib_rec,
805: x_error_msg => l_error_message,
806: x_return_status => l_return_status);
807:
808: IF l_return_status <> fnd_api.g_ret_sts_success THEN
809: RAISE fnd_api.g_exc_error;
810: END IF;
811:
812: -- search method
805: x_error_msg => l_error_message,
806: x_return_status => l_return_status);
807:
808: IF l_return_status <> fnd_api.g_ret_sts_success THEN
809: RAISE fnd_api.g_exc_error;
810: END IF;
811:
812: -- search method
813: l_search_method :=
815: p_asset_attrib_rec => l_asset_attrib_rec,
816: x_error_msg => l_error_message,
817: x_return_status => l_return_status);
818:
819: IF l_return_status <> fnd_api.g_ret_sts_success THEN
820: RAISE fnd_api.g_exc_error;
821: END IF;
822:
823: END IF; -- first record only
816: x_error_msg => l_error_message,
817: x_return_status => l_return_status);
818:
819: IF l_return_status <> fnd_api.g_ret_sts_success THEN
820: RAISE fnd_api.g_exc_error;
821: END IF;
822:
823: END IF; -- first record only
824:
831: p_book_type_code => l_book_type_code,
832: x_base_amount => l_base_amount,
833: x_return_status => l_return_status,
834: x_error_msg => l_error_message);
835: IF l_return_status <> fnd_api.g_ret_sts_success THEN
836: RAISE fnd_api.g_exc_error;
837: END IF;
838: l_asset_cost := l_base_amount;
839:
832: x_base_amount => l_base_amount,
833: x_return_status => l_return_status,
834: x_error_msg => l_error_message);
835: IF l_return_status <> fnd_api.g_ret_sts_success THEN
836: RAISE fnd_api.g_exc_error;
837: END IF;
838: l_asset_cost := l_base_amount;
839:
840: SELECT poh.po_header_id,
871: END IF;
872: px_instance_tbl := l_inst_tbl;
873:
874: EXCEPTION
875: WHEN fnd_api.g_exc_error THEN
876: x_return_status := fnd_api.g_ret_sts_error;
877: x_error_message := l_error_message;
878: END derive_asset_attribs;
879:
872: px_instance_tbl := l_inst_tbl;
873:
874: EXCEPTION
875: WHEN fnd_api.g_exc_error THEN
876: x_return_status := fnd_api.g_ret_sts_error;
877: x_error_message := l_error_message;
878: END derive_asset_attribs;
879:
880: PROCEDURE get_fixed_assets(
903: l_asset_rec fixed_asset_rec;
904:
905: BEGIN
906:
907: x_return_status := fnd_api.g_ret_sts_success;
908:
909: IF p_fa_query_rec.book_type_code is not null THEN
910: l_and_clause := 'AND fb.book_type_code = :book_type_code ';
911: END IF;
1048: IS
1049: l_inst_asset_query_rec csi_datastructures_pub.instance_asset_query_rec;
1050: l_inst_asset_tbl csi_datastructures_pub.instance_asset_header_tbl;
1051:
1052: l_return_status varchar2(1) := fnd_api.g_ret_sts_success;
1053: l_msg_count number;
1054: l_msg_data varchar2(2000);
1055:
1056: BEGIN
1054: l_msg_data varchar2(2000);
1055:
1056: BEGIN
1057:
1058: x_return_status := fnd_api.g_ret_sts_success;
1059:
1060: l_inst_asset_query_rec.instance_id := p_instance_id;
1061: l_inst_asset_query_rec.fa_asset_id := p_asset_id;
1062:
1063: debug('inside api csi_asset_pvt.get_instance_assets');
1064:
1065: csi_asset_pvt.get_instance_assets(
1066: p_api_version => 1.0,
1067: p_commit => fnd_api.g_false,
1068: p_init_msg_list => fnd_api.g_true,
1069: p_validation_level => fnd_api.g_valid_level_full,
1070: p_instance_asset_query_rec => l_inst_asset_query_rec,
1071: p_resolve_id_columns => fnd_api.g_true,
1064:
1065: csi_asset_pvt.get_instance_assets(
1066: p_api_version => 1.0,
1067: p_commit => fnd_api.g_false,
1068: p_init_msg_list => fnd_api.g_true,
1069: p_validation_level => fnd_api.g_valid_level_full,
1070: p_instance_asset_query_rec => l_inst_asset_query_rec,
1071: p_resolve_id_columns => fnd_api.g_true,
1072: p_time_stamp => to_date(null),
1065: csi_asset_pvt.get_instance_assets(
1066: p_api_version => 1.0,
1067: p_commit => fnd_api.g_false,
1068: p_init_msg_list => fnd_api.g_true,
1069: p_validation_level => fnd_api.g_valid_level_full,
1070: p_instance_asset_query_rec => l_inst_asset_query_rec,
1071: p_resolve_id_columns => fnd_api.g_true,
1072: p_time_stamp => to_date(null),
1073: x_instance_asset_tbl => l_inst_asset_tbl,
1067: p_commit => fnd_api.g_false,
1068: p_init_msg_list => fnd_api.g_true,
1069: p_validation_level => fnd_api.g_valid_level_full,
1070: p_instance_asset_query_rec => l_inst_asset_query_rec,
1071: p_resolve_id_columns => fnd_api.g_true,
1072: p_time_stamp => to_date(null),
1073: x_instance_asset_tbl => l_inst_asset_tbl,
1074: x_return_status => l_return_status,
1075: x_msg_count => l_msg_count,
1074: x_return_status => l_return_status,
1075: x_msg_count => l_msg_count,
1076: x_msg_data => l_msg_data);
1077:
1078: IF l_return_status <> fnd_api.g_ret_sts_success THEN
1079: RAISE fnd_api.g_exc_error;
1080: END IF;
1081:
1082: IF l_inst_asset_tbl.COUNT > 0 THEN
1075: x_msg_count => l_msg_count,
1076: x_msg_data => l_msg_data);
1077:
1078: IF l_return_status <> fnd_api.g_ret_sts_success THEN
1079: RAISE fnd_api.g_exc_error;
1080: END IF;
1081:
1082: IF l_inst_asset_tbl.COUNT > 0 THEN
1083: FOR l_ind IN l_inst_asset_tbl.FIRST .. l_inst_asset_tbl.LAST
1107: END LOOP;
1108: END IF;
1109:
1110: EXCEPTION
1111: WHEN fnd_api.g_exc_error THEN
1112: x_return_status := fnd_api.g_ret_sts_success;
1113: END get_instance_asset;
1114:
1115:
1108: END IF;
1109:
1110: EXCEPTION
1111: WHEN fnd_api.g_exc_error THEN
1112: x_return_status := fnd_api.g_ret_sts_success;
1113: END get_instance_asset;
1114:
1115:
1116: PROCEDURE get_pending_additions(
1316: l_asset_count_rec csi_asset_pvt.asset_count_rec;
1317: l_asset_id_tbl csi_asset_pvt.asset_id_tbl;
1318: l_asset_loc_tbl csi_asset_pvt.asset_loc_tbl;
1319:
1320: l_return_status varchar2(1) := fnd_api.g_ret_sts_success;
1321: l_msg_count number;
1322: l_msg_data varchar2(2000);
1323: l_error_message varchar2(2000);
1324: BEGIN
1322: l_msg_data varchar2(2000);
1323: l_error_message varchar2(2000);
1324: BEGIN
1325:
1326: x_return_status := fnd_api.g_ret_sts_success;
1327:
1328: debug('inside api amend_instance_asset');
1329:
1330: IF p_action = 'ADD_TO_ASSET' THEN
1331:
1332: IF p_inst_rec.fa_group_by = 'ITEM' THEN
1333: l_asset_id := p_asset_id;
1334: ELSE
1335: l_asset_id := fnd_api.g_miss_num;
1336: END IF;
1337:
1338: get_instance_asset(
1339: p_instance_id => p_inst_rec.instance_id,
1341: x_inst_asset_rec => l_inst_asset_rec,
1342: x_return_status => l_return_status,
1343: x_error_message => l_error_message);
1344:
1345: IF l_return_status <> fnd_api.g_ret_sts_success THEN
1346: RAISE fnd_api.g_exc_error;
1347: END IF;
1348:
1349: IF nvl(l_inst_asset_rec.instance_asset_id, fnd_api.g_miss_num) <> fnd_api.g_miss_num THEN
1342: x_return_status => l_return_status,
1343: x_error_message => l_error_message);
1344:
1345: IF l_return_status <> fnd_api.g_ret_sts_success THEN
1346: RAISE fnd_api.g_exc_error;
1347: END IF;
1348:
1349: IF nvl(l_inst_asset_rec.instance_asset_id, fnd_api.g_miss_num) <> fnd_api.g_miss_num THEN
1350:
1345: IF l_return_status <> fnd_api.g_ret_sts_success THEN
1346: RAISE fnd_api.g_exc_error;
1347: END IF;
1348:
1349: IF nvl(l_inst_asset_rec.instance_asset_id, fnd_api.g_miss_num) <> fnd_api.g_miss_num THEN
1350:
1351: IF p_inst_rec.fa_group_by = 'ITEM' THEN
1352:
1353: SELECT asset_quantity + p_inst_rec.quantity,
1362: l_inst_asset_rec.fa_sync_flag := 'Y';
1363:
1364: csi_asset_pvt.update_instance_asset(
1365: p_api_version => 1.0,
1366: p_commit => fnd_api.g_false,
1367: p_init_msg_list => fnd_api.g_true,
1368: p_validation_level => fnd_api.g_valid_level_full,
1369: p_instance_asset_rec => l_inst_asset_rec,
1370: p_txn_rec => px_csi_txn_rec,
1363:
1364: csi_asset_pvt.update_instance_asset(
1365: p_api_version => 1.0,
1366: p_commit => fnd_api.g_false,
1367: p_init_msg_list => fnd_api.g_true,
1368: p_validation_level => fnd_api.g_valid_level_full,
1369: p_instance_asset_rec => l_inst_asset_rec,
1370: p_txn_rec => px_csi_txn_rec,
1371: x_return_status => l_return_status,
1364: csi_asset_pvt.update_instance_asset(
1365: p_api_version => 1.0,
1366: p_commit => fnd_api.g_false,
1367: p_init_msg_list => fnd_api.g_true,
1368: p_validation_level => fnd_api.g_valid_level_full,
1369: p_instance_asset_rec => l_inst_asset_rec,
1370: p_txn_rec => px_csi_txn_rec,
1371: x_return_status => l_return_status,
1372: x_msg_count => l_msg_count,
1375: p_asset_count_rec => l_asset_count_rec,
1376: p_asset_id_tbl => l_asset_id_tbl,
1377: p_asset_loc_tbl => l_asset_loc_tbl);
1378:
1379: IF l_return_status <> fnd_api.g_ret_sts_success THEN
1380: RAISE fnd_api.g_exc_error;
1381: END IF;
1382:
1383: debug('instance asset rec updated. instance_asset_id : '||l_inst_asset_rec.instance_asset_id);
1376: p_asset_id_tbl => l_asset_id_tbl,
1377: p_asset_loc_tbl => l_asset_loc_tbl);
1378:
1379: IF l_return_status <> fnd_api.g_ret_sts_success THEN
1380: RAISE fnd_api.g_exc_error;
1381: END IF;
1382:
1383: debug('instance asset rec updated. instance_asset_id : '||l_inst_asset_rec.instance_asset_id);
1384:
1390: END IF;
1391:
1392: ELSE
1393:
1394: l_inst_asset_rec.instance_asset_id := fnd_api.g_miss_num;
1395: l_inst_asset_rec.instance_id := p_inst_rec.instance_id;
1396: l_inst_asset_rec.fa_book_type_code := p_inst_rec.book_type_code;
1397: l_inst_asset_rec.fa_asset_id := p_asset_id;
1398: l_inst_asset_rec.fa_location_id := p_inst_rec.asset_location_id;
1402: l_inst_asset_rec.fa_sync_flag := 'Y';
1403:
1404: csi_asset_pvt.create_instance_asset(
1405: p_api_version => 1.0,
1406: p_commit => fnd_api.g_false,
1407: p_init_msg_list => fnd_api.g_true,
1408: p_validation_level => fnd_api.g_valid_level_full,
1409: p_instance_asset_rec => l_inst_asset_rec,
1410: p_txn_rec => px_csi_txn_rec,
1403:
1404: csi_asset_pvt.create_instance_asset(
1405: p_api_version => 1.0,
1406: p_commit => fnd_api.g_false,
1407: p_init_msg_list => fnd_api.g_true,
1408: p_validation_level => fnd_api.g_valid_level_full,
1409: p_instance_asset_rec => l_inst_asset_rec,
1410: p_txn_rec => px_csi_txn_rec,
1411: x_return_status => l_return_status,
1404: csi_asset_pvt.create_instance_asset(
1405: p_api_version => 1.0,
1406: p_commit => fnd_api.g_false,
1407: p_init_msg_list => fnd_api.g_true,
1408: p_validation_level => fnd_api.g_valid_level_full,
1409: p_instance_asset_rec => l_inst_asset_rec,
1410: p_txn_rec => px_csi_txn_rec,
1411: x_return_status => l_return_status,
1412: x_msg_count => l_msg_count,
1415: p_asset_count_rec => l_asset_count_rec,
1416: p_asset_id_tbl => l_asset_id_tbl,
1417: p_asset_loc_tbl => l_asset_loc_tbl);
1418:
1419: IF l_return_status <> fnd_api.g_ret_sts_success THEN
1420: RAISE fnd_api.g_exc_error;
1421: END IF;
1422:
1423: debug('instance asset rec created. instance_asset_id : '||l_inst_asset_rec.instance_asset_id);
1416: p_asset_id_tbl => l_asset_id_tbl,
1417: p_asset_loc_tbl => l_asset_loc_tbl);
1418:
1419: IF l_return_status <> fnd_api.g_ret_sts_success THEN
1420: RAISE fnd_api.g_exc_error;
1421: END IF;
1422:
1423: debug('instance asset rec created. instance_asset_id : '||l_inst_asset_rec.instance_asset_id);
1424:
1431: l_inst_asset_rec.fa_location_id := p_inst_rec.asset_location_id;
1432: l_inst_asset_rec.asset_quantity := p_inst_rec.quantity;
1433: l_inst_asset_rec.fa_mass_addition_id := p_mass_addition_id;
1434: l_inst_asset_rec.fa_sync_flag := 'N';
1435: l_inst_asset_rec.check_for_instance_expiry := fnd_api.g_false;
1436:
1437: csi_asset_pvt.create_instance_asset(
1438: p_api_version => 1.0,
1439: p_commit => fnd_api.g_false,
1435: l_inst_asset_rec.check_for_instance_expiry := fnd_api.g_false;
1436:
1437: csi_asset_pvt.create_instance_asset(
1438: p_api_version => 1.0,
1439: p_commit => fnd_api.g_false,
1440: p_init_msg_list => fnd_api.g_true,
1441: p_validation_level => fnd_api.g_valid_level_full,
1442: p_instance_asset_rec => l_inst_asset_rec,
1443: p_txn_rec => px_csi_txn_rec,
1436:
1437: csi_asset_pvt.create_instance_asset(
1438: p_api_version => 1.0,
1439: p_commit => fnd_api.g_false,
1440: p_init_msg_list => fnd_api.g_true,
1441: p_validation_level => fnd_api.g_valid_level_full,
1442: p_instance_asset_rec => l_inst_asset_rec,
1443: p_txn_rec => px_csi_txn_rec,
1444: x_return_status => l_return_status,
1437: csi_asset_pvt.create_instance_asset(
1438: p_api_version => 1.0,
1439: p_commit => fnd_api.g_false,
1440: p_init_msg_list => fnd_api.g_true,
1441: p_validation_level => fnd_api.g_valid_level_full,
1442: p_instance_asset_rec => l_inst_asset_rec,
1443: p_txn_rec => px_csi_txn_rec,
1444: x_return_status => l_return_status,
1445: x_msg_count => l_msg_count,
1448: p_asset_count_rec => l_asset_count_rec,
1449: p_asset_id_tbl => l_asset_id_tbl,
1450: p_asset_loc_tbl => l_asset_loc_tbl);
1451:
1452: IF l_return_status <> fnd_api.g_ret_sts_success THEN
1453: RAISE fnd_api.g_exc_error;
1454: END IF;
1455:
1456: debug('instance asset rec created. instance_asset_id : '||l_inst_asset_rec.instance_asset_id);
1449: p_asset_id_tbl => l_asset_id_tbl,
1450: p_asset_loc_tbl => l_asset_loc_tbl);
1451:
1452: IF l_return_status <> fnd_api.g_ret_sts_success THEN
1453: RAISE fnd_api.g_exc_error;
1454: END IF;
1455:
1456: debug('instance asset rec created. instance_asset_id : '||l_inst_asset_rec.instance_asset_id);
1457: x_inst_asset_rec := l_inst_asset_rec;
1459: ELSIF p_action = 'ADD_TO_MASS_ADDITION' THEN
1460:
1461: get_instance_asset(
1462: p_instance_id => p_inst_rec.instance_id,
1463: p_asset_id => fnd_api.g_miss_num,
1464: x_inst_asset_rec => l_inst_asset_rec,
1465: x_return_status => l_return_status,
1466: x_error_message => l_error_message);
1467:
1464: x_inst_asset_rec => l_inst_asset_rec,
1465: x_return_status => l_return_status,
1466: x_error_message => l_error_message);
1467:
1468: IF l_return_status <> fnd_api.g_ret_sts_success THEN
1469: RAISE fnd_api.g_exc_error;
1470: END IF;
1471:
1472: IF nvl(l_inst_asset_rec.instance_asset_id, fnd_api.g_miss_num) <> fnd_api.g_miss_num THEN
1465: x_return_status => l_return_status,
1466: x_error_message => l_error_message);
1467:
1468: IF l_return_status <> fnd_api.g_ret_sts_success THEN
1469: RAISE fnd_api.g_exc_error;
1470: END IF;
1471:
1472: IF nvl(l_inst_asset_rec.instance_asset_id, fnd_api.g_miss_num) <> fnd_api.g_miss_num THEN
1473:
1468: IF l_return_status <> fnd_api.g_ret_sts_success THEN
1469: RAISE fnd_api.g_exc_error;
1470: END IF;
1471:
1472: IF nvl(l_inst_asset_rec.instance_asset_id, fnd_api.g_miss_num) <> fnd_api.g_miss_num THEN
1473:
1474: IF p_inst_rec.fa_group_by = 'ITEM' THEN
1475:
1476: SELECT asset_quantity + p_inst_rec.quantity,
1485: l_inst_asset_rec.fa_sync_flag := 'N';
1486:
1487: csi_asset_pvt.update_instance_asset(
1488: p_api_version => 1.0,
1489: p_commit => fnd_api.g_false,
1490: p_init_msg_list => fnd_api.g_true,
1491: p_validation_level => fnd_api.g_valid_level_full,
1492: p_instance_asset_rec => l_inst_asset_rec,
1493: p_txn_rec => px_csi_txn_rec,
1486:
1487: csi_asset_pvt.update_instance_asset(
1488: p_api_version => 1.0,
1489: p_commit => fnd_api.g_false,
1490: p_init_msg_list => fnd_api.g_true,
1491: p_validation_level => fnd_api.g_valid_level_full,
1492: p_instance_asset_rec => l_inst_asset_rec,
1493: p_txn_rec => px_csi_txn_rec,
1494: x_return_status => l_return_status,
1487: csi_asset_pvt.update_instance_asset(
1488: p_api_version => 1.0,
1489: p_commit => fnd_api.g_false,
1490: p_init_msg_list => fnd_api.g_true,
1491: p_validation_level => fnd_api.g_valid_level_full,
1492: p_instance_asset_rec => l_inst_asset_rec,
1493: p_txn_rec => px_csi_txn_rec,
1494: x_return_status => l_return_status,
1495: x_msg_count => l_msg_count,
1498: p_asset_count_rec => l_asset_count_rec,
1499: p_asset_id_tbl => l_asset_id_tbl,
1500: p_asset_loc_tbl => l_asset_loc_tbl);
1501:
1502: IF l_return_status <> fnd_api.g_ret_sts_success THEN
1503: RAISE fnd_api.g_exc_error;
1504: END IF;
1505:
1506: debug('instance asset rec updated. instance_asset_id : '||l_inst_asset_rec.instance_asset_id);
1499: p_asset_id_tbl => l_asset_id_tbl,
1500: p_asset_loc_tbl => l_asset_loc_tbl);
1501:
1502: IF l_return_status <> fnd_api.g_ret_sts_success THEN
1503: RAISE fnd_api.g_exc_error;
1504: END IF;
1505:
1506: debug('instance asset rec updated. instance_asset_id : '||l_inst_asset_rec.instance_asset_id);
1507: END IF;
1507: END IF;
1508:
1509: ELSE
1510:
1511: l_inst_asset_rec.instance_asset_id := fnd_api.g_miss_num;
1512: l_inst_asset_rec.instance_id := p_inst_rec.instance_id;
1513: l_inst_asset_rec.fa_book_type_code := p_inst_rec.book_type_code;
1514: l_inst_asset_rec.fa_location_id := p_inst_rec.asset_location_id;
1515: l_inst_asset_rec.asset_quantity := p_inst_rec.quantity;
1518: l_inst_asset_rec.fa_sync_flag := 'N';
1519:
1520: csi_asset_pvt.create_instance_asset(
1521: p_api_version => 1.0,
1522: p_commit => fnd_api.g_false,
1523: p_init_msg_list => fnd_api.g_true,
1524: p_validation_level => fnd_api.g_valid_level_full,
1525: p_instance_asset_rec => l_inst_asset_rec,
1526: p_txn_rec => px_csi_txn_rec,
1519:
1520: csi_asset_pvt.create_instance_asset(
1521: p_api_version => 1.0,
1522: p_commit => fnd_api.g_false,
1523: p_init_msg_list => fnd_api.g_true,
1524: p_validation_level => fnd_api.g_valid_level_full,
1525: p_instance_asset_rec => l_inst_asset_rec,
1526: p_txn_rec => px_csi_txn_rec,
1527: x_return_status => l_return_status,
1520: csi_asset_pvt.create_instance_asset(
1521: p_api_version => 1.0,
1522: p_commit => fnd_api.g_false,
1523: p_init_msg_list => fnd_api.g_true,
1524: p_validation_level => fnd_api.g_valid_level_full,
1525: p_instance_asset_rec => l_inst_asset_rec,
1526: p_txn_rec => px_csi_txn_rec,
1527: x_return_status => l_return_status,
1528: x_msg_count => l_msg_count,
1531: p_asset_count_rec => l_asset_count_rec,
1532: p_asset_id_tbl => l_asset_id_tbl,
1533: p_asset_loc_tbl => l_asset_loc_tbl);
1534:
1535: IF l_return_status <> fnd_api.g_ret_sts_success THEN
1536: RAISE fnd_api.g_exc_error;
1537: END IF;
1538:
1539: debug('instance asset rec created. instance_asset_id : '||l_inst_asset_rec.instance_asset_id);
1532: p_asset_id_tbl => l_asset_id_tbl,
1533: p_asset_loc_tbl => l_asset_loc_tbl);
1534:
1535: IF l_return_status <> fnd_api.g_ret_sts_success THEN
1536: RAISE fnd_api.g_exc_error;
1537: END IF;
1538:
1539: debug('instance asset rec created. instance_asset_id : '||l_inst_asset_rec.instance_asset_id);
1540:
1542:
1543: END IF;
1544:
1545: EXCEPTION
1546: WHEN fnd_api.g_exc_error THEN
1547: x_return_status := fnd_api.g_ret_sts_error;
1548: END amend_instance_asset;
1549:
1550: PROCEDURE create_mass_addition(
1543: END IF;
1544:
1545: EXCEPTION
1546: WHEN fnd_api.g_exc_error THEN
1547: x_return_status := fnd_api.g_ret_sts_error;
1548: END amend_instance_asset;
1549:
1550: PROCEDURE create_mass_addition(
1551: p_instance_rec IN instance_rec,
1561:
1562: l_p_mass_add_rec fa_mass_additions%rowtype;
1563: l_c_mass_add_rec fa_mass_additions%rowtype;
1564:
1565: l_return_status varchar2(1) := fnd_api.g_ret_sts_success;
1566: l_msg_count number;
1567: l_msg_data varchar2(2000);
1568:
1569: BEGIN
1567: l_msg_data varchar2(2000);
1568:
1569: BEGIN
1570:
1571: x_return_status := fnd_api.g_ret_sts_success;
1572:
1573: debug('inside api create_mass_addition');
1574:
1575: savepoint create_mass_addition;
1629: l_p_mass_add_rec.payables_cost := 0;
1630:
1631: cse_asset_util_pkg.insert_mass_add(
1632: p_api_version => 1.0,
1633: p_commit => fnd_api.g_false,
1634: p_init_msg_list => fnd_api.g_true,
1635: p_mass_add_rec => l_p_mass_add_rec,
1636: x_return_status => l_return_status,
1637: x_msg_count => l_msg_count,
1630:
1631: cse_asset_util_pkg.insert_mass_add(
1632: p_api_version => 1.0,
1633: p_commit => fnd_api.g_false,
1634: p_init_msg_list => fnd_api.g_true,
1635: p_mass_add_rec => l_p_mass_add_rec,
1636: x_return_status => l_return_status,
1637: x_msg_count => l_msg_count,
1638: x_msg_data => l_msg_data);
1636: x_return_status => l_return_status,
1637: x_msg_count => l_msg_count,
1638: x_msg_data => l_msg_data);
1639:
1640: IF l_return_status <> fnd_api.g_ret_sts_success THEN
1641: RAISE fnd_api.g_exc_error;
1642: END IF;
1643:
1644: debug('mass_addition rec created. parent_mass_addition_id : '||l_p_mass_add_rec.mass_addition_id);
1637: x_msg_count => l_msg_count,
1638: x_msg_data => l_msg_data);
1639:
1640: IF l_return_status <> fnd_api.g_ret_sts_success THEN
1641: RAISE fnd_api.g_exc_error;
1642: END IF;
1643:
1644: debug('mass_addition rec created. parent_mass_addition_id : '||l_p_mass_add_rec.mass_addition_id);
1645:
1658: NVL(l_p_mass_add_rec.payables_units,0);
1659:
1660: cse_asset_util_pkg.insert_mass_add(
1661: p_api_version => 1.0,
1662: p_commit => fnd_api.g_false,
1663: p_init_msg_list => fnd_api.g_true,
1664: p_mass_add_rec => l_c_mass_add_rec,
1665: x_return_status => l_return_status,
1666: x_msg_count => l_msg_count,
1659:
1660: cse_asset_util_pkg.insert_mass_add(
1661: p_api_version => 1.0,
1662: p_commit => fnd_api.g_false,
1663: p_init_msg_list => fnd_api.g_true,
1664: p_mass_add_rec => l_c_mass_add_rec,
1665: x_return_status => l_return_status,
1666: x_msg_count => l_msg_count,
1667: x_msg_data => l_msg_data);
1665: x_return_status => l_return_status,
1666: x_msg_count => l_msg_count,
1667: x_msg_data => l_msg_data);
1668:
1669: IF l_return_status <> fnd_api.g_ret_sts_success THEN
1670: RAISE fnd_api.g_exc_error;
1671: END IF;
1672:
1673: x_mass_addition_id := l_p_mass_add_rec.mass_addition_id;
1666: x_msg_count => l_msg_count,
1667: x_msg_data => l_msg_data);
1668:
1669: IF l_return_status <> fnd_api.g_ret_sts_success THEN
1670: RAISE fnd_api.g_exc_error;
1671: END IF;
1672:
1673: x_mass_addition_id := l_p_mass_add_rec.mass_addition_id;
1674:
1672:
1673: x_mass_addition_id := l_p_mass_add_rec.mass_addition_id;
1674:
1675: EXCEPTION
1676: WHEN fnd_api.g_exc_error THEN
1677: rollback to create_mass_addition;
1678: x_return_status := fnd_api.g_ret_sts_error;
1679: x_error_message := cse_util_pkg.dump_error_stack;
1680: END create_mass_addition;
1674:
1675: EXCEPTION
1676: WHEN fnd_api.g_exc_error THEN
1677: rollback to create_mass_addition;
1678: x_return_status := fnd_api.g_ret_sts_error;
1679: x_error_message := cse_util_pkg.dump_error_stack;
1680: END create_mass_addition;
1681:
1682: PROCEDURE add_to_mass_addition(
1693:
1694: l_asset_quantity number;
1695: l_obj_ver_num number;
1696:
1697: l_return_status varchar2(1) := fnd_api.g_ret_sts_success;
1698: l_msg_count number;
1699: l_msg_data varchar2(2000);
1700: l_error_message varchar2(2000);
1701:
1745: l_c_mass_add_rec.merged_code := l_child_merge_code;
1746:
1747: cse_asset_util_pkg.insert_mass_add(
1748: p_api_version => 1.0,
1749: p_commit => fnd_api.g_false,
1750: p_init_msg_list => fnd_api.g_true,
1751: p_mass_add_rec => l_c_mass_add_rec,
1752: x_return_status => l_return_status,
1753: x_msg_count => l_msg_count,
1746:
1747: cse_asset_util_pkg.insert_mass_add(
1748: p_api_version => 1.0,
1749: p_commit => fnd_api.g_false,
1750: p_init_msg_list => fnd_api.g_true,
1751: p_mass_add_rec => l_c_mass_add_rec,
1752: x_return_status => l_return_status,
1753: x_msg_count => l_msg_count,
1754: x_msg_data => l_msg_data);
1752: x_return_status => l_return_status,
1753: x_msg_count => l_msg_count,
1754: x_msg_data => l_msg_data);
1755:
1756: IF l_return_status <> fnd_api.g_ret_sts_success THEN
1757: RAISE fnd_api.g_exc_error;
1758: END IF;
1759:
1760: -- when a child record is added the parent record does not get the cumulative quantity
1753: x_msg_count => l_msg_count,
1754: x_msg_data => l_msg_data);
1755:
1756: IF l_return_status <> fnd_api.g_ret_sts_success THEN
1757: RAISE fnd_api.g_exc_error;
1758: END IF;
1759:
1760: -- when a child record is added the parent record does not get the cumulative quantity
1761: UPDATE fa_mass_additions
1763: fixed_assets_units = fixed_assets_units + NVL(l_c_mass_add_rec.fixed_assets_units,0)
1764: WHERE mass_addition_id = p_mass_addition_id;
1765:
1766: EXCEPTION
1767: WHEN fnd_api.g_exc_error THEN
1768: x_return_status := fnd_api.g_ret_sts_error;
1769: x_error_message := cse_util_pkg.dump_error_stack;
1770: END add_to_mass_addition;
1771:
1764: WHERE mass_addition_id = p_mass_addition_id;
1765:
1766: EXCEPTION
1767: WHEN fnd_api.g_exc_error THEN
1768: x_return_status := fnd_api.g_ret_sts_error;
1769: x_error_message := cse_util_pkg.dump_error_stack;
1770: END add_to_mass_addition;
1771:
1772: PROCEDURE get_distribution_id(
1790: l_distribution_id number := null;
1791:
1792: BEGIN
1793:
1794: x_return_status := fnd_api.g_ret_sts_success;
1795:
1796: FOR dist_rec IN dist_cur
1797: LOOP
1798: l_distribution_id := dist_rec.distribution_id;
1816: l_fa_hdr_rec FA_API_TYPES.asset_hdr_rec_type;
1817: l_fa_dist_tbl FA_API_TYPES.asset_dist_tbl_type;
1818:
1819: l_error_message varchar2(2000);
1820: l_return_status varchar2(1) := fnd_api.g_ret_sts_success;
1821: l_msg_data varchar2(2000);
1822: l_msg_count number;
1823:
1824: BEGIN
1822: l_msg_count number;
1823:
1824: BEGIN
1825:
1826: x_return_status := fnd_api.g_ret_sts_success;
1827:
1828: debug('calling get_distribution_id');
1829:
1830: get_distribution_id(
1832: x_distribution_id => l_distribution_id,
1833: x_return_status => l_return_status,
1834: x_error_message => l_error_message);
1835:
1836: IF l_return_status <> fnd_api.g_ret_sts_success THEN
1837: RAISE fnd_api.g_exc_error;
1838: END IF;
1839:
1840: fnd_msg_pub.initialize;
1833: x_return_status => l_return_status,
1834: x_error_message => l_error_message);
1835:
1836: IF l_return_status <> fnd_api.g_ret_sts_success THEN
1837: RAISE fnd_api.g_exc_error;
1838: END IF;
1839:
1840: fnd_msg_pub.initialize;
1841:
1862: x_return_status => l_return_status,
1863: x_msg_count => l_msg_count,
1864: x_msg_data => l_msg_data);
1865:
1866: IF l_return_status <> fnd_api.g_ret_sts_success THEN
1867: l_error_message := cse_util_pkg.dump_error_stack;
1868: RAISE fnd_api.g_exc_error;
1869: END IF;
1870:
1864: x_msg_data => l_msg_data);
1865:
1866: IF l_return_status <> fnd_api.g_ret_sts_success THEN
1867: l_error_message := cse_util_pkg.dump_error_stack;
1868: RAISE fnd_api.g_exc_error;
1869: END IF;
1870:
1871: EXCEPTION
1872: WHEN fnd_api.g_exc_error THEN
1868: RAISE fnd_api.g_exc_error;
1869: END IF;
1870:
1871: EXCEPTION
1872: WHEN fnd_api.g_exc_error THEN
1873: x_return_status := fnd_api.g_ret_sts_error;
1874: x_error_message := l_error_message;
1875: END create_distribution;
1876:
1869: END IF;
1870:
1871: EXCEPTION
1872: WHEN fnd_api.g_exc_error THEN
1873: x_return_status := fnd_api.g_ret_sts_error;
1874: x_error_message := l_error_message;
1875: END create_distribution;
1876:
1877: PROCEDURE add_to_asset(
1886: l_asset_quantity number;
1887: l_obj_ver_num number;
1888:
1889: l_inst_asset_rec csi_datastructures_pub.instance_asset_rec;
1890: l_return_status varchar2(1) := fnd_api.g_ret_sts_success;
1891: l_error_message varchar2(2000);
1892:
1893: l_msg_count number;
1894: l_msg_data varchar2(2000);
1934: l_mass_add_rec.fixed_assets_units := p_instance_rec.quantity;
1935:
1936: get_instance_asset(
1937: p_instance_id => p_instance_rec.instance_id,
1938: p_asset_id => fnd_api.g_miss_num,
1939: x_inst_asset_rec => l_inst_asset_rec,
1940: x_return_status => l_return_status,
1941: x_error_message => l_error_message);
1942:
1939: x_inst_asset_rec => l_inst_asset_rec,
1940: x_return_status => l_return_status,
1941: x_error_message => l_error_message);
1942:
1943: IF l_return_status <> fnd_api.g_ret_sts_success THEN
1944: RAISE fnd_api.g_exc_error;
1945: END IF;
1946:
1947: IF nvl(l_inst_asset_rec.instance_asset_id, fnd_api.g_miss_num) <> fnd_api.g_miss_num THEN
1940: x_return_status => l_return_status,
1941: x_error_message => l_error_message);
1942:
1943: IF l_return_status <> fnd_api.g_ret_sts_success THEN
1944: RAISE fnd_api.g_exc_error;
1945: END IF;
1946:
1947: IF nvl(l_inst_asset_rec.instance_asset_id, fnd_api.g_miss_num) <> fnd_api.g_miss_num THEN
1948: debug('skipping the add to asset for serialized item instance that already has an asset link.');
1943: IF l_return_status <> fnd_api.g_ret_sts_success THEN
1944: RAISE fnd_api.g_exc_error;
1945: END IF;
1946:
1947: IF nvl(l_inst_asset_rec.instance_asset_id, fnd_api.g_miss_num) <> fnd_api.g_miss_num THEN
1948: debug('skipping the add to asset for serialized item instance that already has an asset link.');
1949: RAISE skip_add_to_asset;
1950: END IF;
1951:
1968: AND date_ineffective is null;
1969:
1970: cse_asset_util_pkg.insert_mass_add(
1971: p_api_version => 1.0,
1972: p_commit => fnd_api.g_false,
1973: p_init_msg_list => fnd_api.g_true,
1974: p_mass_add_rec => l_mass_add_rec,
1975: x_return_status => l_return_status,
1976: x_msg_count => l_msg_count,
1969:
1970: cse_asset_util_pkg.insert_mass_add(
1971: p_api_version => 1.0,
1972: p_commit => fnd_api.g_false,
1973: p_init_msg_list => fnd_api.g_true,
1974: p_mass_add_rec => l_mass_add_rec,
1975: x_return_status => l_return_status,
1976: x_msg_count => l_msg_count,
1977: x_msg_data => l_msg_data);
1975: x_return_status => l_return_status,
1976: x_msg_count => l_msg_count,
1977: x_msg_data => l_msg_data);
1978:
1979: IF l_return_status <> fnd_api.g_ret_sts_success THEN
1980: RAISE fnd_api.g_exc_error;
1981: END IF;
1982:
1983: debug('fa_mass_addition rec created. parent_mass_addition_id : '||l_mass_add_rec.mass_addition_id);
1976: x_msg_count => l_msg_count,
1977: x_msg_data => l_msg_data);
1978:
1979: IF l_return_status <> fnd_api.g_ret_sts_success THEN
1980: RAISE fnd_api.g_exc_error;
1981: END IF;
1982:
1983: debug('fa_mass_addition rec created. parent_mass_addition_id : '||l_mass_add_rec.mass_addition_id);
1984:
1986: p_mass_add_rec => l_mass_add_rec,
1987: x_return_status => l_return_status,
1988: x_error_message => l_error_message);
1989:
1990: IF l_return_status <> fnd_api.g_ret_sts_success THEN
1991: RAISE fnd_api.g_exc_error;
1992: END IF;
1993:
1994: EXCEPTION
1987: x_return_status => l_return_status,
1988: x_error_message => l_error_message);
1989:
1990: IF l_return_status <> fnd_api.g_ret_sts_success THEN
1991: RAISE fnd_api.g_exc_error;
1992: END IF;
1993:
1994: EXCEPTION
1995: WHEN skip_add_to_asset THEN
1993:
1994: EXCEPTION
1995: WHEN skip_add_to_asset THEN
1996: null;
1997: WHEN fnd_api.g_exc_error THEN
1998: x_return_status := fnd_api.g_ret_sts_error;
1999: x_error_message := cse_util_pkg.dump_error_stack;
2000: END add_to_asset;
2001:
1994: EXCEPTION
1995: WHEN skip_add_to_asset THEN
1996: null;
1997: WHEN fnd_api.g_exc_error THEN
1998: x_return_status := fnd_api.g_ret_sts_error;
1999: x_error_message := cse_util_pkg.dump_error_stack;
2000: END add_to_asset;
2001:
2002: PROCEDURE create_depreciable_assets(
2109:
2110: l_inst_tbl instance_tbl;
2111: inst_ind binary_integer := 0;
2112:
2113: l_return_status varchar2(1) := fnd_api.g_ret_sts_success;
2114: l_error_message varchar2(2000);
2115: l_err_inst_rec instance_rec;
2116:
2117: BEGIN
2285: IF transaction_pending(csi_txn_rec.transaction_id, l_instance_id) THEN
2286: fnd_message.set_name('CSE', 'CSE_PRIOR_TXN_PENDING');
2287: fnd_msg_pub.add;
2288: l_error_message := cse_util_pkg.dump_error_stack;
2289: RAISE fnd_api.g_exc_error;
2290: END IF;
2291:
2292: IF l_redeploy_flag = 'N' THEN
2293:
2372: px_instance_tbl => l_inst_tbl,
2373: x_return_status => l_return_status,
2374: x_error_message => l_error_message);
2375:
2376: IF l_return_status <> fnd_api.g_ret_sts_success THEN
2377: l_err_inst_rec := l_inst_tbl(1);
2378: RAISE fnd_api.g_exc_error;
2379: END IF;
2380:
2374: x_error_message => l_error_message);
2375:
2376: IF l_return_status <> fnd_api.g_ret_sts_success THEN
2377: l_err_inst_rec := l_inst_tbl(1);
2378: RAISE fnd_api.g_exc_error;
2379: END IF;
2380:
2381: dump_inst_tbl(p_inst_tbl => l_inst_tbl);
2382:
2412: x_fixed_asset_rec => l_fixed_asset_rec,
2413: x_return_status => l_return_status,
2414: x_error_message => l_error_message);
2415:
2416: IF l_return_status <> fnd_api.g_ret_sts_success THEN
2417: l_err_inst_rec := l_inst_tbl(l_ind);
2418: RAISE fnd_api.g_exc_error;
2419: END IF;
2420:
2414: x_error_message => l_error_message);
2415:
2416: IF l_return_status <> fnd_api.g_ret_sts_success THEN
2417: l_err_inst_rec := l_inst_tbl(l_ind);
2418: RAISE fnd_api.g_exc_error;
2419: END IF;
2420:
2421: IF l_fixed_asset_rec.asset_id is not null THEN
2422:
2429: p_instance_rec => l_inst_tbl(l_ind),
2430: x_return_status => l_return_status,
2431: x_error_message => l_error_message);
2432:
2433: IF l_return_status <> fnd_api.g_ret_sts_success THEN
2434: l_err_inst_rec := l_inst_tbl(l_ind);
2435: RAISE fnd_api.g_exc_error;
2436: END IF;
2437:
2431: x_error_message => l_error_message);
2432:
2433: IF l_return_status <> fnd_api.g_ret_sts_success THEN
2434: l_err_inst_rec := l_inst_tbl(l_ind);
2435: RAISE fnd_api.g_exc_error;
2436: END IF;
2437:
2438: ELSE
2439:
2444: x_fixed_asset_rec => l_pending_fa_rec,
2445: x_return_status => l_return_status,
2446: x_error_message => l_error_message);
2447:
2448: IF l_return_status <> fnd_api.g_ret_sts_success THEN
2449: l_err_inst_rec := l_inst_tbl(l_ind);
2450: RAISE fnd_api.g_exc_error;
2451: END IF;
2452:
2446: x_error_message => l_error_message);
2447:
2448: IF l_return_status <> fnd_api.g_ret_sts_success THEN
2449: l_err_inst_rec := l_inst_tbl(l_ind);
2450: RAISE fnd_api.g_exc_error;
2451: END IF;
2452:
2453: IF l_pending_fa_rec.mass_addition_id is not null THEN
2454:
2465: p_instance_rec => l_inst_tbl(l_ind),
2466: x_return_status => l_return_status,
2467: x_error_message => l_error_message);
2468:
2469: IF l_return_status <> fnd_api.g_ret_sts_success THEN
2470: l_err_inst_rec := l_inst_tbl(l_ind);
2471: RAISE fnd_api.g_exc_error;
2472: END IF;
2473:
2467: x_error_message => l_error_message);
2468:
2469: IF l_return_status <> fnd_api.g_ret_sts_success THEN
2470: l_err_inst_rec := l_inst_tbl(l_ind);
2471: RAISE fnd_api.g_exc_error;
2472: END IF;
2473:
2474: ELSE
2475:
2482: x_mass_addition_id => l_mass_addition_id,
2483: x_return_status => l_return_status,
2484: x_error_message => l_error_message);
2485:
2486: IF l_return_status <> fnd_api.g_ret_sts_success THEN
2487: l_err_inst_rec := l_inst_tbl(l_ind);
2488: RAISE fnd_api.g_exc_error;
2489: END IF;
2490:
2484: x_error_message => l_error_message);
2485:
2486: IF l_return_status <> fnd_api.g_ret_sts_success THEN
2487: l_err_inst_rec := l_inst_tbl(l_ind);
2488: RAISE fnd_api.g_exc_error;
2489: END IF;
2490:
2491: END IF; -- pending mass_addition is not null
2492:
2497: ELSE -- group by is ITEM_SERIAL
2498:
2499: get_instance_asset(
2500: p_instance_id => l_inst_tbl(l_ind).instance_id,
2501: p_asset_id => fnd_api.g_miss_num,
2502: x_inst_asset_rec => l_instance_asset_rec,
2503: x_return_status => l_return_status,
2504: x_error_message => l_error_message);
2505:
2502: x_inst_asset_rec => l_instance_asset_rec,
2503: x_return_status => l_return_status,
2504: x_error_message => l_error_message);
2505:
2506: IF l_return_status <> fnd_api.g_ret_sts_success THEN
2507: RAISE fnd_api.g_exc_error;
2508: END IF;
2509:
2510: IF nvl(l_instance_asset_rec.instance_asset_id, fnd_api.g_miss_num) = fnd_api.g_miss_num
2503: x_return_status => l_return_status,
2504: x_error_message => l_error_message);
2505:
2506: IF l_return_status <> fnd_api.g_ret_sts_success THEN
2507: RAISE fnd_api.g_exc_error;
2508: END IF;
2509:
2510: IF nvl(l_instance_asset_rec.instance_asset_id, fnd_api.g_miss_num) = fnd_api.g_miss_num
2511: THEN
2506: IF l_return_status <> fnd_api.g_ret_sts_success THEN
2507: RAISE fnd_api.g_exc_error;
2508: END IF;
2509:
2510: IF nvl(l_instance_asset_rec.instance_asset_id, fnd_api.g_miss_num) = fnd_api.g_miss_num
2511: THEN
2512:
2513: l_fa_action := 'CREATE_MASS_ADDITION';
2514:
2517: x_mass_addition_id => l_mass_addition_id,
2518: x_return_status => l_return_status,
2519: x_error_message => l_error_message);
2520:
2521: IF l_return_status <> fnd_api.g_ret_sts_success THEN
2522: l_err_inst_rec := l_inst_tbl(l_ind);
2523: RAISE fnd_api.g_exc_error;
2524: END IF;
2525:
2519: x_error_message => l_error_message);
2520:
2521: IF l_return_status <> fnd_api.g_ret_sts_success THEN
2522: l_err_inst_rec := l_inst_tbl(l_ind);
2523: RAISE fnd_api.g_exc_error;
2524: END IF;
2525:
2526: ELSE
2527: l_fa_action := 'NONE';
2530: END IF; -- fa creation group by ITEM/ITEM_SERIAL
2531:
2532: IF l_fa_action <> 'NONE' THEN
2533:
2534: l_csi_txn_rec.transaction_id := fnd_api.g_miss_num;
2535: l_csi_txn_rec.source_header_ref := 'CSI_TXN_ID';
2536: l_csi_txn_rec.source_header_ref_id := csi_txn_rec.transaction_id;
2537:
2538: IF l_mass_addition_id is not null THEN
2548: px_csi_txn_rec => l_csi_txn_rec,
2549: x_inst_asset_rec => l_instance_asset_rec,
2550: x_return_status => l_return_status);
2551:
2552: IF l_return_status <> fnd_api.g_ret_sts_success THEN
2553: RAISE fnd_api.g_exc_error;
2554: END IF;
2555: END IF;
2556:
2549: x_inst_asset_rec => l_instance_asset_rec,
2550: x_return_status => l_return_status);
2551:
2552: IF l_return_status <> fnd_api.g_ret_sts_success THEN
2553: RAISE fnd_api.g_exc_error;
2554: END IF;
2555: END IF;
2556:
2557: END LOOP; -- loop thru instances
2560: p_csi_txn_id => csi_txn_rec.transaction_id,
2561: x_return_status => l_return_status,
2562: x_error_message => l_error_message);
2563:
2564: IF l_return_status <> fnd_api.g_ret_sts_success THEN
2565: RAISE fnd_api.g_exc_error;
2566: END IF;
2567:
2568: debug('csi transaction interfaced to fa successfully.');
2561: x_return_status => l_return_status,
2562: x_error_message => l_error_message);
2563:
2564: IF l_return_status <> fnd_api.g_ret_sts_success THEN
2565: RAISE fnd_api.g_exc_error;
2566: END IF;
2567:
2568: debug('csi transaction interfaced to fa successfully.');
2569:
2585:
2586: COMMIT WORK;
2587:
2588: EXCEPTION
2589: WHEN fnd_api.g_exc_error THEN
2590: debug(' error message : '||l_error_message);
2591:
2592: l_ts_tbl(l_ts_ind).processed_flag := 'E';
2593: l_ts_tbl(l_ts_ind).error_message := l_error_message;
2658: AND date_ineffective IS NULL ;
2659:
2660: BEGIN
2661: debug('Begin - find distribution');
2662: x_return_status := fnd_api.G_RET_STS_SUCCESS ;
2663:
2664: ---Initialize x_new_dist to TRUE (1) Indicating that matching distribution
2665: ---has not been found
2666: x_new_dist := 1 ;
2697:
2698: EXCEPTION
2699: WHEN OTHERS
2700: THEN
2701: x_return_status := FND_API.G_RET_STS_ERROR ;
2702: fnd_message.set_name('CSE','CSE_UNEXP_SQL_ERROR');
2703: fnd_message.set_token('API_NAME',l_api_name);
2704: fnd_message.set_token('SQL_ERROR',SQLERRM);
2705: x_error_msg := fnd_message.get;
2719: l_api_name VARCHAR2(100):= 'CSE_ASSET_CREATION_PKG.create_fa_distribution';
2720:
2721: BEGIN
2722: debug('Begin - create distribution');
2723: x_return_status := fnd_api.G_RET_STS_SUCCESS ;
2724: l_asset_query_rec := p_asset_query_rec ;
2725:
2726: ---07/24
2727: ---As find asset may find a distribution which may
2738: , x_new_dist
2739: , x_return_status
2740: , x_error_msg );
2741:
2742: IF x_return_status <> fnd_api.G_RET_STS_SUCCESS
2743: THEN
2744: RAISE e_error ;
2745: END IF ;
2746: END IF ;
2757: ,l_asset_query_rec.deprn_employee_id
2758: ,l_asset_query_rec.distribution_id
2759: ,x_return_status
2760: ,x_error_msg );
2761: IF x_return_status <> fnd_api.G_RET_STS_SUCCESS
2762: THEN
2763: RAISE e_error ;
2764: END IF ;
2765: END IF ;
2781: ,x_return_status
2782: ,x_error_msg );
2783: END IF;
2784:
2785: IF x_return_status <> fnd_api.G_RET_STS_SUCCESS
2786: THEN
2787: RAISE e_error ;
2788: END IF ;
2789: EXCEPTION
2788: END IF ;
2789: EXCEPTION
2790: WHEN e_error
2791: THEN
2792: x_return_status := FND_API.G_RET_STS_ERROR ;
2793: x_error_msg := x_error_msg ;
2794: WHEN OTHERS
2795: THEN
2796: x_return_status := FND_API.G_RET_STS_ERROR ;
2792: x_return_status := FND_API.G_RET_STS_ERROR ;
2793: x_error_msg := x_error_msg ;
2794: WHEN OTHERS
2795: THEN
2796: x_return_status := FND_API.G_RET_STS_ERROR ;
2797: fnd_message.set_name('CSE','CSE_UNEXP_SQL_ERROR');
2798: fnd_message.set_token('API_NAME',l_api_name);
2799: fnd_message.set_token('SQL_ERROR',SQLERRM);
2800: x_error_msg := fnd_message.get;
2943:
2944: BEGIN
2945:
2946: debug('Begin - find asset');
2947: x_return_status := fnd_api.G_RET_STS_SUCCESS ;
2948: l_asset_number := p_asset_query_rec.asset_number;
2949: l_asset_id := p_asset_query_rec.asset_id;
2950: l_book_type_code := p_asset_query_rec.book_type_code ;
2951: l_serial_number := UPPER(p_asset_query_rec.serial_number);
2975: l_location_id := p_asset_query_rec.location_id;
2976: l_deprn_expense_ccid := p_asset_query_rec.deprn_expense_ccid;
2977: l_inventory_item_id := p_asset_query_rec.inventory_item_id;
2978:
2979: IF l_asset_number = FND_API.G_MISS_CHAR
2980: THEN
2981: debug('l_asset_number :'|| 'NULL');
2982: ELSE
2983: debug('l_asset_number :'|| p_asset_query_rec.asset_number);
2987: debug('l_book_type_code :'|| l_book_type_code );
2988: debug('l_date_placed_in_service :'|| l_date_placed_in_service) ;
2989: debug('l_asset_key_ccid :'|| l_asset_key_ccid);
2990:
2991: IF l_tag_number = FND_API.G_MISS_CHAR
2992: THEN
2993: debug('l_tag_number :'|| 'NULL');
2994: ELSE
2995: debug('l_tag_number :'|| l_tag_number);
2993: debug('l_tag_number :'|| 'NULL');
2994: ELSE
2995: debug('l_tag_number :'|| l_tag_number);
2996: END IF ;
2997: IF l_description = FND_API.G_MISS_CHAR
2998: THEN
2999: debug('l_description :'|| 'NULL');
3000: ELSE
3001: debug('l_description :'|| l_description);
3000: ELSE
3001: debug('l_description :'|| l_description);
3002: END IF ;
3003:
3004: IF l_manufacturer_name = FND_API.G_MISS_CHAR
3005: THEN
3006: debug('l_manufacturer_name :'|| 'NULL');
3007: ELSE
3008: debug('l_manufacturer_name :'|| l_manufacturer_name);
3007: ELSE
3008: debug('l_manufacturer_name :'|| l_manufacturer_name);
3009: END IF ;
3010:
3011: IF l_serial_number = FND_API.G_MISS_CHAR
3012: THEN
3013: debug('l_serial_number :'|| 'NULL');
3014: ELSE
3015: debug('l_serial_number :'|| l_serial_number);
3014: ELSE
3015: debug('l_serial_number :'|| l_serial_number);
3016: END IF ;
3017:
3018: IF l_model_number = FND_API.G_MISS_CHAR
3019: THEN
3020: debug('l_model_number :'|| 'NULL');
3021: ELSE
3022: debug('l_model_number :'|| l_model_number);
3082:
3083: IF p_asset_query_rec.asset_id IS NOT NULL
3084: THEN
3085: debug('Asset Found , ID is :'||p_asset_query_rec.asset_id);
3086: x_return_status := FND_API.G_RET_STS_SUCCESS ;
3087:
3088: OPEN asset_cost_cur ;
3089: FETCH asset_cost_cur into l_mtl_cost ,l_non_mtl_cost ;
3090: CLOSE asset_cost_cur ;
3139: p_distribution_tbl,
3140: x_return_status,
3141: x_error_msg);
3142:
3143: IF x_return_status <> FND_API.G_RET_STS_SUCCESS
3144: THEN
3145: RAISE e_error ;
3146: END IF;
3147:
3148: cse_asset_util_pkg.get_pending_adjustments(p_asset_query_rec,
3149: x_return_status,
3150: x_error_msg);
3151:
3152: IF x_return_status <> FND_API.G_RET_STS_SUCCESS
3153: THEN
3154: RAISE e_error;
3155: END IF;
3156:
3155: END IF;
3156:
3157: ELSE
3158: p_asset_query_rec.asset_id := NULL;
3159: x_return_status := FND_API.G_RET_STS_SUCCESS ;
3160: END IF;
3161:
3162: EXCEPTION
3163: WHEN e_error
3161:
3162: EXCEPTION
3163: WHEN e_error
3164: THEN
3165: x_return_status := fnd_api.G_RET_STS_ERROR ;
3166: --Log Error Here.
3167: debug('IN e_error:'||x_error_msg);
3168: WHEN OTHERS
3169: THEN
3166: --Log Error Here.
3167: debug('IN e_error:'||x_error_msg);
3168: WHEN OTHERS
3169: THEN
3170: x_return_status := fnd_api.G_RET_STS_ERROR ;
3171: fnd_message.set_name('CSE','CSE_UNEXP_SQL_ERROR');
3172: fnd_message.set_token('API_NAME',l_api_name);
3173: fnd_message.set_token('SQL_ERROR',SQLERRM);
3174: x_error_msg := fnd_message.get;
3231: AND fab.asset_id = c_asset_id ;
3232:
3233: BEGIN
3234:
3235: x_return_status := fnd_api.G_RET_STS_SUCCESS ;
3236: debug('inside api cse_asset_creation_pkg.adjust_asset');
3237: debug(' asset_id : '||p_asset_query_rec.asset_id);
3238: debug(' units_to_be_adjusted : '||p_mass_add_rec.payables_units);
3239:
3272: l_mass_add_rec.attribute14 := cse_asset_util_pkg.G_MTL_INDICATOR ;
3273:
3274: cse_asset_util_pkg.insert_mass_add(
3275: 1.0,
3276: fnd_api.g_false,
3277: fnd_api.g_true,
3278: l_mass_add_rec,
3279: x_return_status,
3280: x_msg_count,
3273:
3274: cse_asset_util_pkg.insert_mass_add(
3275: 1.0,
3276: fnd_api.g_false,
3277: fnd_api.g_true,
3278: l_mass_add_rec,
3279: x_return_status,
3280: x_msg_count,
3281: x_msg_data);
3279: x_return_status,
3280: x_msg_count,
3281: x_msg_data);
3282:
3283: IF x_return_status <> fnd_api.G_RET_STS_SUCCESS THEN
3284: x_error_msg := x_msg_data ;
3285: RAISE fnd_api.g_exc_error;
3286: END IF ;
3287:
3281: x_msg_data);
3282:
3283: IF x_return_status <> fnd_api.G_RET_STS_SUCCESS THEN
3284: x_error_msg := x_msg_data ;
3285: RAISE fnd_api.g_exc_error;
3286: END IF ;
3287:
3288: END IF ; ---Material Cost
3289:
3294: l_mass_add_rec.attribute14 := cse_asset_util_pkg.g_non_mtl_indicator;
3295:
3296: cse_asset_util_pkg.insert_mass_add(
3297: 1.0,
3298: fnd_api.g_false,
3299: fnd_api.g_true,
3300: l_mass_add_rec,
3301: x_return_status,
3302: x_msg_count,
3295:
3296: cse_asset_util_pkg.insert_mass_add(
3297: 1.0,
3298: fnd_api.g_false,
3299: fnd_api.g_true,
3300: l_mass_add_rec,
3301: x_return_status,
3302: x_msg_count,
3303: x_msg_data );
3301: x_return_status,
3302: x_msg_count,
3303: x_msg_data );
3304:
3305: IF x_return_status <> fnd_api.G_RET_STS_SUCCESS THEN
3306: x_error_msg := x_msg_data ;
3307: RAISE fnd_api.g_exc_error ;
3308: END IF ;
3309:
3303: x_msg_data );
3304:
3305: IF x_return_status <> fnd_api.G_RET_STS_SUCCESS THEN
3306: x_error_msg := x_msg_data ;
3307: RAISE fnd_api.g_exc_error ;
3308: END IF ;
3309:
3310: END IF ; --Non-material Cost
3311:
3321: p_mass_add_rec,
3322: x_return_status,
3323: x_error_msg );
3324:
3325: IF x_return_status <> fnd_api.G_RET_STS_SUCCESS THEN
3326: RAISE fnd_api.g_exc_error ;
3327: END IF ;
3328: ELSE
3329: NULL ;
3322: x_return_status,
3323: x_error_msg );
3324:
3325: IF x_return_status <> fnd_api.G_RET_STS_SUCCESS THEN
3326: RAISE fnd_api.g_exc_error ;
3327: END IF ;
3328: ELSE
3329: NULL ;
3330: debug('This is IPV Cost Adjustment ONLY');
3368: l_ext_ret_rec,
3369: x_return_status,
3370: x_error_msg) ;
3371:
3372: IF x_return_status <> fnd_api.G_RET_STS_SUCCESS THEN
3373: debug('Insert into Retirements table failed ');
3374: RAISE fnd_api.g_exc_error ;
3375: END IF ;
3376:
3370: x_error_msg) ;
3371:
3372: IF x_return_status <> fnd_api.G_RET_STS_SUCCESS THEN
3373: debug('Insert into Retirements table failed ');
3374: RAISE fnd_api.g_exc_error ;
3375: END IF ;
3376:
3377: END IF ; --retirement
3378:
3376:
3377: END IF ; --retirement
3378:
3379: EXCEPTION
3380: WHEN fnd_api.g_exc_error THEN
3381: x_return_status := FND_API.G_RET_STS_ERROR ;
3382: x_error_msg := x_error_msg ;
3383: WHEN OTHERS THEN
3384: x_return_status := fnd_api.G_RET_STS_ERROR ;
3377: END IF ; --retirement
3378:
3379: EXCEPTION
3380: WHEN fnd_api.g_exc_error THEN
3381: x_return_status := FND_API.G_RET_STS_ERROR ;
3382: x_error_msg := x_error_msg ;
3383: WHEN OTHERS THEN
3384: x_return_status := fnd_api.G_RET_STS_ERROR ;
3385: fnd_message.set_name('CSE','CSE_UNEXP_SQL_ERROR');
3380: WHEN fnd_api.g_exc_error THEN
3381: x_return_status := FND_API.G_RET_STS_ERROR ;
3382: x_error_msg := x_error_msg ;
3383: WHEN OTHERS THEN
3384: x_return_status := fnd_api.G_RET_STS_ERROR ;
3385: fnd_message.set_name('CSE','CSE_UNEXP_SQL_ERROR');
3386: fnd_message.set_token('API_NAME',l_api_name);
3387: fnd_message.set_token('SQL_ERROR',SQLERRM);
3388: x_error_msg := fnd_message.get;
3401:
3402: l_mass_addition_id number;
3403: l_fa_action varchar2(30);
3404:
3405: l_return_status varchar2(1) := fnd_api.g_ret_sts_success;
3406: l_error_message varchar2(2000);
3407:
3408: BEGIN
3409:
3433: x_fixed_asset_rec => l_fixed_asset_rec,
3434: x_return_status => l_return_status,
3435: x_error_message => l_error_message);
3436:
3437: IF l_return_status <> fnd_api.g_ret_sts_success THEN
3438: RAISE fnd_api.g_exc_error;
3439: END IF;
3440:
3441: IF l_fixed_asset_rec.asset_id is not null THEN
3434: x_return_status => l_return_status,
3435: x_error_message => l_error_message);
3436:
3437: IF l_return_status <> fnd_api.g_ret_sts_success THEN
3438: RAISE fnd_api.g_exc_error;
3439: END IF;
3440:
3441: IF l_fixed_asset_rec.asset_id is not null THEN
3442:
3449: p_instance_rec => l_inst_rec,
3450: x_return_status => l_return_status,
3451: x_error_message => l_error_message);
3452:
3453: IF l_return_status <> fnd_api.g_ret_sts_success THEN
3454: RAISE fnd_api.g_exc_error;
3455: END IF;
3456:
3457: ELSE
3450: x_return_status => l_return_status,
3451: x_error_message => l_error_message);
3452:
3453: IF l_return_status <> fnd_api.g_ret_sts_success THEN
3454: RAISE fnd_api.g_exc_error;
3455: END IF;
3456:
3457: ELSE
3458:
3463: x_fixed_asset_rec => l_pending_fa_rec,
3464: x_return_status => l_return_status,
3465: x_error_message => l_error_message);
3466:
3467: IF l_return_status <> fnd_api.g_ret_sts_success THEN
3468: RAISE fnd_api.g_exc_error;
3469: END IF;
3470:
3471: IF l_pending_fa_rec.mass_addition_id is not null THEN
3464: x_return_status => l_return_status,
3465: x_error_message => l_error_message);
3466:
3467: IF l_return_status <> fnd_api.g_ret_sts_success THEN
3468: RAISE fnd_api.g_exc_error;
3469: END IF;
3470:
3471: IF l_pending_fa_rec.mass_addition_id is not null THEN
3472:
3479: p_instance_rec => l_inst_rec,
3480: x_return_status => l_return_status,
3481: x_error_message => l_error_message);
3482:
3483: IF l_return_status <> fnd_api.g_ret_sts_success THEN
3484: RAISE fnd_api.g_exc_error;
3485: END IF;
3486:
3487: ELSE
3480: x_return_status => l_return_status,
3481: x_error_message => l_error_message);
3482:
3483: IF l_return_status <> fnd_api.g_ret_sts_success THEN
3484: RAISE fnd_api.g_exc_error;
3485: END IF;
3486:
3487: ELSE
3488:
3495: x_mass_addition_id => l_mass_addition_id,
3496: x_return_status => l_return_status,
3497: x_error_message => l_error_message);
3498:
3499: IF l_return_status <> fnd_api.g_ret_sts_success THEN
3500: RAISE fnd_api.g_exc_error;
3501: END IF;
3502:
3503: END IF; -- pending mass_addition is not null
3496: x_return_status => l_return_status,
3497: x_error_message => l_error_message);
3498:
3499: IF l_return_status <> fnd_api.g_ret_sts_success THEN
3500: RAISE fnd_api.g_exc_error;
3501: END IF;
3502:
3503: END IF; -- pending mass_addition is not null
3504:
3506:
3507: END LOOP;
3508: END IF;
3509: EXCEPTION
3510: WHEN fnd_api.g_exc_error THEN
3511: x_return_status := fnd_api.g_ret_sts_error;
3512: x_err_inst_rec := l_inst_rec;
3513: END create_asset;
3514:
3507: END LOOP;
3508: END IF;
3509: EXCEPTION
3510: WHEN fnd_api.g_exc_error THEN
3511: x_return_status := fnd_api.g_ret_sts_error;
3512: x_err_inst_rec := l_inst_rec;
3513: END create_asset;
3514:
3515: END cse_asset_creation_pkg;