120: return(-1);
121: END IF;
122:
123: BIS_COLLECTION_UTILITIES.put_line('Truncating the temp tables');
124: FII_UTIL.Start_Timer;
125:
126: EXECUTE IMMEDIATE 'TRUNCATE TABLE ' || g_isc_schema ||'.ISC_DBI_TMP_WDD_LOG';
127: EXECUTE IMMEDIATE 'TRUNCATE TABLE ' || g_isc_schema ||'.ISC_DBI_TMP_WTS_LOG';
128: EXECUTE IMMEDIATE 'TRUNCATE TABLE ' || g_isc_schema ||'.ISC_DBI_TMP_FIH_LOG';
133: EXECUTE IMMEDIATE 'TRUNCATE TABLE ' || g_isc_schema ||'.ISC_DBI_TMP_FTE_INVOICES';
134: EXECUTE IMMEDIATE 'TRUNCATE TABLE ' || g_isc_schema ||'.ISC_DBI_FTE_CURR_RATES';
135: EXECUTE IMMEDIATE 'TRUNCATE TABLE ' || g_isc_schema ||'.ISC_DBI_FTE_UOM_RATES';
136:
137: FII_UTIL.Stop_Timer;
138: FII_UTIL.Print_Timer('Truncated the temp tables in');
139: BIS_COLLECTION_UTILITIES.Put_Line(' ');
140:
141: RETURN(1);
134: EXECUTE IMMEDIATE 'TRUNCATE TABLE ' || g_isc_schema ||'.ISC_DBI_FTE_CURR_RATES';
135: EXECUTE IMMEDIATE 'TRUNCATE TABLE ' || g_isc_schema ||'.ISC_DBI_FTE_UOM_RATES';
136:
137: FII_UTIL.Stop_Timer;
138: FII_UTIL.Print_Timer('Truncated the temp tables in');
139: BIS_COLLECTION_UTILITIES.Put_Line(' ');
140:
141: RETURN(1);
142:
277: -- l_from_date := to_char(g_push_from_date,'MM/DD/YYYY HH24:MI:SS');
278: -- l_to_date := to_char(g_push_to_date,'MM/DD/YYYY HH24:MI:SS');
279:
280: BIS_COLLECTION_UTILITIES.put_line('Identifying delivery details');
281: FII_UTIL.Start_Timer;
282:
283: INSERT /*+ APPEND PARALLEL(F) */ INTO isc_dbi_tmp_del_details F (
284: DELIVERY_DETAIL_ID,
285: INVENTORY_ITEM_ID,
333: AND wdd.organization_id = mp.organization_id
334: AND nvl((CASE WHEN wdd.released_status in ('C', 'L', 'P') THEN wnd.initial_pickup_date ELSE null END), g_global_start_date) >= g_global_start_date;
335:
336: l_detail_count := sql%rowcount;
337: FII_UTIL.Stop_Timer;
338: FII_UTIL.Print_Timer('Identified ' || l_detail_count || ' delivery details in');
339: COMMIT;
340:
341: BIS_COLLECTION_UTILITIES.put_line('Identifying trip stops');
334: AND nvl((CASE WHEN wdd.released_status in ('C', 'L', 'P') THEN wnd.initial_pickup_date ELSE null END), g_global_start_date) >= g_global_start_date;
335:
336: l_detail_count := sql%rowcount;
337: FII_UTIL.Stop_Timer;
338: FII_UTIL.Print_Timer('Identified ' || l_detail_count || ' delivery details in');
339: COMMIT;
340:
341: BIS_COLLECTION_UTILITIES.put_line('Identifying trip stops');
342: FII_UTIL.Start_Timer;
338: FII_UTIL.Print_Timer('Identified ' || l_detail_count || ' delivery details in');
339: COMMIT;
340:
341: BIS_COLLECTION_UTILITIES.put_line('Identifying trip stops');
342: FII_UTIL.Start_Timer;
343:
344: INSERT /*+ APPEND PARALLEL(tmp) */ INTO isc_dbi_tmp_trip_stops tmp (
345: STOP_ID,
346: CARRIER_ID,
385: AND wts.physical_stop_id IS NULL
386: AND wts.stop_sequence_number <> -99;
387:
388: l_stop_count := sql%rowcount;
389: FII_UTIL.Stop_Timer;
390: FII_UTIL.Print_Timer('Identified ' || l_stop_count || ' trip stops in');
391: COMMIT;
392:
393: BIS_COLLECTION_UTILITIES.put_line('Identifying delivery legs');
386: AND wts.stop_sequence_number <> -99;
387:
388: l_stop_count := sql%rowcount;
389: FII_UTIL.Stop_Timer;
390: FII_UTIL.Print_Timer('Identified ' || l_stop_count || ' trip stops in');
391: COMMIT;
392:
393: BIS_COLLECTION_UTILITIES.put_line('Identifying delivery legs');
394: FII_UTIL.Start_Timer;
390: FII_UTIL.Print_Timer('Identified ' || l_stop_count || ' trip stops in');
391: COMMIT;
392:
393: BIS_COLLECTION_UTILITIES.put_line('Identifying delivery legs');
394: FII_UTIL.Start_Timer;
395:
396: INSERT /*+ APPEND PARALLEL(tmp) */ INTO isc_dbi_tmp_del_legs tmp (
397: DELIVERY_LEG_ID,
398: CARRIER_ID,
470: AND hoi.organization_id = wnd.organization_id
471: AND hoi.org_information1 = to_char(gsb.set_of_books_id);
472:
473: l_leg_count := sql%rowcount;
474: FII_UTIL.Stop_Timer;
475: FII_UTIL.Print_Timer('Identified ' || l_leg_count || ' delivery legs in');
476: COMMIT;
477:
478: FII_UTIL.Start_Timer;
471: AND hoi.org_information1 = to_char(gsb.set_of_books_id);
472:
473: l_leg_count := sql%rowcount;
474: FII_UTIL.Stop_Timer;
475: FII_UTIL.Print_Timer('Identified ' || l_leg_count || ' delivery legs in');
476: COMMIT;
477:
478: FII_UTIL.Start_Timer;
479:
474: FII_UTIL.Stop_Timer;
475: FII_UTIL.Print_Timer('Identified ' || l_leg_count || ' delivery legs in');
476: COMMIT;
477:
478: FII_UTIL.Start_Timer;
479:
480: INSERT /*+ APPEND PARALLEL(tmp) */ INTO isc_dbi_tmp_fte_invoices tmp (
481: INVOICE_HEADER_ID,
482: CARRIER_ID,
564: AND fih.org_id = aspa.org_id
565: AND aspa.set_of_books_id = gsb.set_of_books_id;
566:
567: l_invoice_count := sql%rowcount;
568: FII_UTIL.Stop_Timer;
569: FII_UTIL.Print_Timer('Identified ' || l_invoice_count || ' invoice headers in');
570: COMMIT;
571:
572: FII_UTIL.Start_Timer;
565: AND aspa.set_of_books_id = gsb.set_of_books_id;
566:
567: l_invoice_count := sql%rowcount;
568: FII_UTIL.Stop_Timer;
569: FII_UTIL.Print_Timer('Identified ' || l_invoice_count || ' invoice headers in');
570: COMMIT;
571:
572: FII_UTIL.Start_Timer;
573:
568: FII_UTIL.Stop_Timer;
569: FII_UTIL.Print_Timer('Identified ' || l_invoice_count || ' invoice headers in');
570: COMMIT;
571:
572: FII_UTIL.Start_Timer;
573:
574: IF g_reporting_weight_uom IS NOT NULL THEN
575: INSERT INTO isc_dbi_fte_uom_rates (MEASURE_CODE, FROM_UOM_CODE, TO_UOM_CODE, INVENTORY_ITEM_ID, CONVERSION_RATE)
576: SELECT 'WT', from_uom, g_reporting_weight_uom, NULL inventory_item_id,
612: -- SELECT /*+ PARALLEL(tmp3) */ DISTINCT distance_uom_code, 'DIS' TO_UOM
613: -- FROM isc_dbi_tmp_trip_stops tmp3
614: -- where distance_uom_code is not null);
615:
616: FII_UTIL.Stop_Timer;
617: FII_UTIL.Print_Timer('Retrieved '||sql%rowcount||' uom rates in');
618: COMMIT;
619:
620: FII_UTIL.Start_Timer;
613: -- FROM isc_dbi_tmp_trip_stops tmp3
614: -- where distance_uom_code is not null);
615:
616: FII_UTIL.Stop_Timer;
617: FII_UTIL.Print_Timer('Retrieved '||sql%rowcount||' uom rates in');
618: COMMIT;
619:
620: FII_UTIL.Start_Timer;
621:
616: FII_UTIL.Stop_Timer;
617: FII_UTIL.Print_Timer('Retrieved '||sql%rowcount||' uom rates in');
618: COMMIT;
619:
620: FII_UTIL.Start_Timer;
621:
622: INSERT /*+ APPEND */ INTO isc_dbi_fte_curr_rates
623: (TRX_CURRENCY_CODE, WH_CURRENCY_CODE, CONVERSION_DATE, CONVERSION_TYPE_CODE, TRX_WH_RATE, WH_PRIM_RATE, WH_SEC_RATE)
624: SELECT trx_currency_code, wh_currency_code, conversion_date, conversion_type_code,
636: SELECT /*+ PARALLEL(ifi) */
637: distinct trx_currency_code, wh_currency_code, conversion_date, conversion_type_code CONVERSION_TYPE_CODE
638: FROM isc_dbi_tmp_fte_invoices ifi);
639:
640: FII_UTIL.Stop_Timer;
641: FII_UTIL.Print_Timer('Retrieved '||sql%rowcount||' currency rates in');
642: COMMIT;
643:
644: l_total := l_detail_count + l_leg_count + l_stop_count + l_invoice_count;
637: distinct trx_currency_code, wh_currency_code, conversion_date, conversion_type_code CONVERSION_TYPE_CODE
638: FROM isc_dbi_tmp_fte_invoices ifi);
639:
640: FII_UTIL.Stop_Timer;
641: FII_UTIL.Print_Timer('Retrieved '||sql%rowcount||' currency rates in');
642: COMMIT;
643:
644: l_total := l_detail_count + l_leg_count + l_stop_count + l_invoice_count;
645: RETURN(l_total);
662: BEGIN
663:
664: l_total := 0;
665:
666: FII_UTIL.Start_Timer;
667:
668: INSERT INTO isc_dbi_tmp_wdd_log (DELIVERY_DETAIL_ID, LOG_ROWID, DML_TYPE, LAST_UPDATE_DATE)
669: SELECT delivery_detail_id, rowid LOG_ROWID, dml_type, last_update_date
670: FROM isc_dbi_wdd_change_log;
668: INSERT INTO isc_dbi_tmp_wdd_log (DELIVERY_DETAIL_ID, LOG_ROWID, DML_TYPE, LAST_UPDATE_DATE)
669: SELECT delivery_detail_id, rowid LOG_ROWID, dml_type, last_update_date
670: FROM isc_dbi_wdd_change_log;
671:
672: FII_UTIL.Stop_Timer;
673: FII_UTIL.Print_Timer('Inserted '|| sql%rowcount || ' rows into ISC_DBI_TMP_WDD_LOG');
674:
675: COMMIT;
676:
669: SELECT delivery_detail_id, rowid LOG_ROWID, dml_type, last_update_date
670: FROM isc_dbi_wdd_change_log;
671:
672: FII_UTIL.Stop_Timer;
673: FII_UTIL.Print_Timer('Inserted '|| sql%rowcount || ' rows into ISC_DBI_TMP_WDD_LOG');
674:
675: COMMIT;
676:
677: FND_STATS.GATHER_TABLE_STATS(OWNNAME => g_isc_schema,
677: FND_STATS.GATHER_TABLE_STATS(OWNNAME => g_isc_schema,
678: TABNAME => 'ISC_DBI_TMP_WDD_LOG');
679:
680: BIS_COLLECTION_UTILITIES.put_line('Deleting obsolete records from the base summary');
681: FII_UTIL.Start_Timer;
682:
683: DELETE FROM isc_dbi_del_details_f
684: WHERE delivery_detail_id IN (SELECT DISTINCT log.delivery_detail_id
685: FROM isc_dbi_tmp_wdd_log log
686: WHERE NOT EXISTS (select '1' from wsh_delivery_details wdd
687: where wdd.delivery_detail_id = log.delivery_detail_id
688: and wdd.released_status in ('S','Y','C','L','P')));
689:
690: FII_UTIL.Stop_Timer;
691: FII_UTIL.Print_Timer('Deleted '||sql%rowcount||' delivery details from base summary in');
692: COMMIT;
693:
694: FII_UTIL.Start_Timer;
687: where wdd.delivery_detail_id = log.delivery_detail_id
688: and wdd.released_status in ('S','Y','C','L','P')));
689:
690: FII_UTIL.Stop_Timer;
691: FII_UTIL.Print_Timer('Deleted '||sql%rowcount||' delivery details from base summary in');
692: COMMIT;
693:
694: FII_UTIL.Start_Timer;
695:
690: FII_UTIL.Stop_Timer;
691: FII_UTIL.Print_Timer('Deleted '||sql%rowcount||' delivery details from base summary in');
692: COMMIT;
693:
694: FII_UTIL.Start_Timer;
695:
696: INSERT INTO isc_dbi_tmp_del_details F (
697: DELIVERY_DETAIL_ID,
698: INVENTORY_ITEM_ID,
747: AND nvl(mmt.transaction_quantity,-1) < 0
748: AND wdd.organization_id = mp.organization_id
749: AND nvl((CASE WHEN wdd.released_status in ('C', 'L', 'P') THEN wnd.initial_pickup_date ELSE null END), g_global_start_date) >= g_global_start_date;
750:
751: FII_UTIL.Stop_Timer;
752: FII_UTIL.Print_Timer('Identified '|| sql%rowcount || ' delivery details in');
753: COMMIT;
754:
755: FII_UTIL.Start_Timer;
748: AND wdd.organization_id = mp.organization_id
749: AND nvl((CASE WHEN wdd.released_status in ('C', 'L', 'P') THEN wnd.initial_pickup_date ELSE null END), g_global_start_date) >= g_global_start_date;
750:
751: FII_UTIL.Stop_Timer;
752: FII_UTIL.Print_Timer('Identified '|| sql%rowcount || ' delivery details in');
753: COMMIT;
754:
755: FII_UTIL.Start_Timer;
756:
751: FII_UTIL.Stop_Timer;
752: FII_UTIL.Print_Timer('Identified '|| sql%rowcount || ' delivery details in');
753: COMMIT;
754:
755: FII_UTIL.Start_Timer;
756:
757: UPDATE isc_dbi_tmp_del_details SET batch_id = ceil(rownum/g_batch_size);
758: l_total := sql%rowcount;
759: COMMIT;
757: UPDATE isc_dbi_tmp_del_details SET batch_id = ceil(rownum/g_batch_size);
758: l_total := sql%rowcount;
759: COMMIT;
760:
761: FII_UTIL.Stop_Timer;
762: FII_UTIL.Print_Timer('Updated the batch id for '|| l_total || ' rows in');
763:
764: RETURN(l_total);
765:
758: l_total := sql%rowcount;
759: COMMIT;
760:
761: FII_UTIL.Stop_Timer;
762: FII_UTIL.Print_Timer('Updated the batch id for '|| l_total || ' rows in');
763:
764: RETURN(l_total);
765:
766: EXCEPTION
777: BEGIN
778:
779: l_total := 0;
780:
781: FII_UTIL.Start_Timer;
782:
783: INSERT INTO isc_dbi_tmp_wts_log (STOP_ID, LOG_ROWID, DML_TYPE, LAST_UPDATE_DATE)
784: SELECT stop_id, rowid LOG_ROWID, dml_type, last_update_date
785: FROM isc_dbi_wts_change_log;
783: INSERT INTO isc_dbi_tmp_wts_log (STOP_ID, LOG_ROWID, DML_TYPE, LAST_UPDATE_DATE)
784: SELECT stop_id, rowid LOG_ROWID, dml_type, last_update_date
785: FROM isc_dbi_wts_change_log;
786:
787: FII_UTIL.Stop_Timer;
788: FII_UTIL.Print_Timer('Inserted '|| sql%rowcount || ' rows into ISC_DBI_TMP_WTS_LOG');
789:
790: COMMIT;
791:
784: SELECT stop_id, rowid LOG_ROWID, dml_type, last_update_date
785: FROM isc_dbi_wts_change_log;
786:
787: FII_UTIL.Stop_Timer;
788: FII_UTIL.Print_Timer('Inserted '|| sql%rowcount || ' rows into ISC_DBI_TMP_WTS_LOG');
789:
790: COMMIT;
791:
792: FND_STATS.GATHER_TABLE_STATS(OWNNAME => g_isc_schema,
792: FND_STATS.GATHER_TABLE_STATS(OWNNAME => g_isc_schema,
793: TABNAME => 'ISC_DBI_TMP_WTS_LOG');
794:
795: BIS_COLLECTION_UTILITIES.put_line('Deleting obsolete records from the base summary');
796: FII_UTIL.Start_Timer;
797:
798: DELETE /*+ index(a, ISC_DBI_DEL_LEGS_F_U1) */ FROM isc_dbi_del_legs_f a
799: WHERE delivery_leg_id IN (SELECT /*+ index(idl,ISC_DBI_DEL_LEGS_F_U1) use_nl( log, idl)*/ idl.delivery_leg_id
800: FROM isc_dbi_tmp_wts_log log,
801: isc_dbi_del_legs_f idl
802: WHERE (log.stop_id = idl.pick_up_stop_id or log.stop_id = idl.drop_off_stop_id)
803: AND NOT EXISTS (select '1' from wsh_delivery_legs wdl where wdl.delivery_leg_id = idl.delivery_leg_id));
804:
805: FII_UTIL.Stop_Timer;
806: FII_UTIL.Print_Timer('Deleted '||sql%rowcount||' delivery legs from base summary in');
807: COMMIT;
808:
809: FII_UTIL.Start_Timer;
802: WHERE (log.stop_id = idl.pick_up_stop_id or log.stop_id = idl.drop_off_stop_id)
803: AND NOT EXISTS (select '1' from wsh_delivery_legs wdl where wdl.delivery_leg_id = idl.delivery_leg_id));
804:
805: FII_UTIL.Stop_Timer;
806: FII_UTIL.Print_Timer('Deleted '||sql%rowcount||' delivery legs from base summary in');
807: COMMIT;
808:
809: FII_UTIL.Start_Timer;
810:
805: FII_UTIL.Stop_Timer;
806: FII_UTIL.Print_Timer('Deleted '||sql%rowcount||' delivery legs from base summary in');
807: COMMIT;
808:
809: FII_UTIL.Start_Timer;
810:
811: -- DELETE FROM isc_dbi_trip_stops_f
812: -- WHERE stop_id IN (SELECT DISTINCT wts.stop_id
813: -- FROM isc_dbi_tmp_wts_log log,
821: where log.stop_id = wts.stop_id
822: and wts.trip_id = wt.trip_id
823: and wt.status_code IN ('IT', 'CL')));
824:
825: FII_UTIL.Stop_Timer;
826: FII_UTIL.Print_Timer('Deleted '||sql%rowcount||' trip stops from base summary in');
827: COMMIT;
828:
829: FII_UTIL.Start_Timer;
822: and wts.trip_id = wt.trip_id
823: and wt.status_code IN ('IT', 'CL')));
824:
825: FII_UTIL.Stop_Timer;
826: FII_UTIL.Print_Timer('Deleted '||sql%rowcount||' trip stops from base summary in');
827: COMMIT;
828:
829: FII_UTIL.Start_Timer;
830:
825: FII_UTIL.Stop_Timer;
826: FII_UTIL.Print_Timer('Deleted '||sql%rowcount||' trip stops from base summary in');
827: COMMIT;
828:
829: FII_UTIL.Start_Timer;
830:
831: INSERT INTO isc_dbi_tmp_trip_stops tmp (
832: STOP_ID,
833: CARRIER_ID,
871: AND wt.status_code IN ('IT', 'CL')
872: AND wts.physical_stop_id IS NULL
873: AND wts.stop_sequence_number <> -99;
874:
875: FII_UTIL.Stop_Timer;
876: FII_UTIL.Print_Timer('Identified '|| sql%rowcount || ' trip stops in');
877: COMMIT;
878:
879: INSERT INTO isc_dbi_tmp_del_legs tmp (
872: AND wts.physical_stop_id IS NULL
873: AND wts.stop_sequence_number <> -99;
874:
875: FII_UTIL.Stop_Timer;
876: FII_UTIL.Print_Timer('Identified '|| sql%rowcount || ' trip stops in');
877: COMMIT;
878:
879: INSERT INTO isc_dbi_tmp_del_legs tmp (
880: DELIVERY_LEG_ID,
952: AND hoi.org_information_context ='Accounting Information'
953: AND hoi.organization_id = wnd.organization_id
954: AND to_number(hoi.org_information1) = gsb.set_of_books_id;
955:
956: FII_UTIL.Stop_Timer;
957: FII_UTIL.Print_Timer('Identified '|| sql%rowcount || ' delivery legs in');
958: COMMIT;
959:
960: FII_UTIL.Start_Timer;
953: AND hoi.organization_id = wnd.organization_id
954: AND to_number(hoi.org_information1) = gsb.set_of_books_id;
955:
956: FII_UTIL.Stop_Timer;
957: FII_UTIL.Print_Timer('Identified '|| sql%rowcount || ' delivery legs in');
958: COMMIT;
959:
960: FII_UTIL.Start_Timer;
961:
956: FII_UTIL.Stop_Timer;
957: FII_UTIL.Print_Timer('Identified '|| sql%rowcount || ' delivery legs in');
958: COMMIT;
959:
960: FII_UTIL.Start_Timer;
961:
962: IF g_reporting_weight_uom IS NOT NULL THEN
963: INSERT INTO isc_dbi_fte_uom_rates (MEASURE_CODE, FROM_UOM_CODE, TO_UOM_CODE, INVENTORY_ITEM_ID, CONVERSION_RATE)
964: SELECT 'WT', from_uom, g_reporting_weight_uom, NULL inventory_item_id,
985: FROM isc_dbi_tmp_trip_stops
986: where distance_uom_code is not null);
987: END IF;
988:
989: FII_UTIL.Stop_Timer;
990: FII_UTIL.Print_Timer('Retrieved '||sql%rowcount||' uom rates in');
991: COMMIT;
992:
993: FII_UTIL.Start_Timer;
986: where distance_uom_code is not null);
987: END IF;
988:
989: FII_UTIL.Stop_Timer;
990: FII_UTIL.Print_Timer('Retrieved '||sql%rowcount||' uom rates in');
991: COMMIT;
992:
993: FII_UTIL.Start_Timer;
994:
989: FII_UTIL.Stop_Timer;
990: FII_UTIL.Print_Timer('Retrieved '||sql%rowcount||' uom rates in');
991: COMMIT;
992:
993: FII_UTIL.Start_Timer;
994:
995: INSERT INTO isc_dbi_fte_curr_rates
996: (TRX_CURRENCY_CODE, WH_CURRENCY_CODE, CONVERSION_DATE, CONVERSION_TYPE_CODE, TRX_WH_RATE, WH_PRIM_RATE, WH_SEC_RATE)
997: SELECT trx_currency_code, wh_currency_code, conversion_date, conversion_type_code,
1004: FROM (SELECT distinct trx_currency_code, wh_currency_code, conversion_date CONVERSION_DATE, conversion_type_code CONVERSION_TYPE_CODE
1005: FROM isc_dbi_tmp_del_legs idl
1006: WHERE idl.freight_cost_trx is not null);
1007:
1008: FII_UTIL.Stop_Timer;
1009: FII_UTIL.Print_Timer('Retrieved '||sql%rowcount||' currency rates in');
1010: COMMIT;
1011:
1012: FII_UTIL.Start_Timer;
1005: FROM isc_dbi_tmp_del_legs idl
1006: WHERE idl.freight_cost_trx is not null);
1007:
1008: FII_UTIL.Stop_Timer;
1009: FII_UTIL.Print_Timer('Retrieved '||sql%rowcount||' currency rates in');
1010: COMMIT;
1011:
1012: FII_UTIL.Start_Timer;
1013:
1008: FII_UTIL.Stop_Timer;
1009: FII_UTIL.Print_Timer('Retrieved '||sql%rowcount||' currency rates in');
1010: COMMIT;
1011:
1012: FII_UTIL.Start_Timer;
1013:
1014: UPDATE isc_dbi_tmp_del_legs SET batch_id = ceil(rownum/g_batch_size);
1015: l_total := l_total + sql%rowcount;
1016:
1018: l_total := l_total + sql%rowcount;
1019:
1020: COMMIT;
1021:
1022: FII_UTIL.Stop_Timer;
1023: FII_UTIL.Print_Timer('Updated the batch id for '|| l_total || ' rows in');
1024:
1025: RETURN(l_total);
1026:
1019:
1020: COMMIT;
1021:
1022: FII_UTIL.Stop_Timer;
1023: FII_UTIL.Print_Timer('Updated the batch id for '|| l_total || ' rows in');
1024:
1025: RETURN(l_total);
1026:
1027: EXCEPTION
1038: BEGIN
1039:
1040: l_total := 0;
1041:
1042: FII_UTIL.Start_Timer;
1043:
1044: INSERT INTO isc_dbi_tmp_fih_log (INVOICE_HEADER_ID, LOG_ROWID, DML_TYPE, LAST_UPDATE_DATE)
1045: SELECT invoice_header_id, rowid LOG_ROWID, dml_type, last_update_date
1046: FROM isc_dbi_fih_change_log;
1044: INSERT INTO isc_dbi_tmp_fih_log (INVOICE_HEADER_ID, LOG_ROWID, DML_TYPE, LAST_UPDATE_DATE)
1045: SELECT invoice_header_id, rowid LOG_ROWID, dml_type, last_update_date
1046: FROM isc_dbi_fih_change_log;
1047:
1048: FII_UTIL.Stop_Timer;
1049: FII_UTIL.Print_Timer('Inserted '|| sql%rowcount || ' rows into ISC_DBI_TMP_FIH_LOG');
1050:
1051: COMMIT;
1052:
1045: SELECT invoice_header_id, rowid LOG_ROWID, dml_type, last_update_date
1046: FROM isc_dbi_fih_change_log;
1047:
1048: FII_UTIL.Stop_Timer;
1049: FII_UTIL.Print_Timer('Inserted '|| sql%rowcount || ' rows into ISC_DBI_TMP_FIH_LOG');
1050:
1051: COMMIT;
1052:
1053: FND_STATS.GATHER_TABLE_STATS(OWNNAME => g_isc_schema,
1053: FND_STATS.GATHER_TABLE_STATS(OWNNAME => g_isc_schema,
1054: TABNAME => 'ISC_DBI_TMP_FIH_LOG');
1055:
1056: BIS_COLLECTION_UTILITIES.put_line('Deleting obsolete records from the base summary');
1057: FII_UTIL.Start_Timer;
1058:
1059: DELETE FROM isc_dbi_fte_invoices_f
1060: WHERE invoice_header_id IN (SELECT DISTINCT log.invoice_header_id
1061: FROM isc_dbi_tmp_fih_log log
1062: WHERE NOT EXISTS (select '1' from fte_invoice_headers fih
1063: where fih.invoice_header_id = log.invoice_header_id
1064: and fih.bill_status in ('APPROVED', 'IN_PROGRESS', 'PAID', 'PARTIALLY PAID', 'PARTIAL_PAID')));
1065:
1066: FII_UTIL.Stop_Timer;
1067: FII_UTIL.Print_Timer('Deleted '||sql%rowcount||' invoice headers from base summary in');
1068: COMMIT;
1069:
1070: FII_UTIL.Start_Timer;
1063: where fih.invoice_header_id = log.invoice_header_id
1064: and fih.bill_status in ('APPROVED', 'IN_PROGRESS', 'PAID', 'PARTIALLY PAID', 'PARTIAL_PAID')));
1065:
1066: FII_UTIL.Stop_Timer;
1067: FII_UTIL.Print_Timer('Deleted '||sql%rowcount||' invoice headers from base summary in');
1068: COMMIT;
1069:
1070: FII_UTIL.Start_Timer;
1071:
1066: FII_UTIL.Stop_Timer;
1067: FII_UTIL.Print_Timer('Deleted '||sql%rowcount||' invoice headers from base summary in');
1068: COMMIT;
1069:
1070: FII_UTIL.Start_Timer;
1071:
1072: INSERT INTO isc_dbi_tmp_fte_invoices tmp (
1073: INVOICE_HEADER_ID,
1074: CARRIER_ID,
1159: AND itr.stop_rank = 1
1160: AND fih.org_id = aspa.org_id
1161: AND aspa.set_of_books_id = gsb.set_of_books_id;
1162:
1163: FII_UTIL.Stop_Timer;
1164: FII_UTIL.Print_Timer('Identified '|| sql%rowcount || ' invoice headers in');
1165: COMMIT;
1166:
1167: FII_UTIL.Start_Timer;
1160: AND fih.org_id = aspa.org_id
1161: AND aspa.set_of_books_id = gsb.set_of_books_id;
1162:
1163: FII_UTIL.Stop_Timer;
1164: FII_UTIL.Print_Timer('Identified '|| sql%rowcount || ' invoice headers in');
1165: COMMIT;
1166:
1167: FII_UTIL.Start_Timer;
1168:
1163: FII_UTIL.Stop_Timer;
1164: FII_UTIL.Print_Timer('Identified '|| sql%rowcount || ' invoice headers in');
1165: COMMIT;
1166:
1167: FII_UTIL.Start_Timer;
1168:
1169: INSERT INTO isc_dbi_fte_curr_rates
1170: (TRX_CURRENCY_CODE, WH_CURRENCY_CODE, CONVERSION_DATE, CONVERSION_TYPE_CODE, TRX_WH_RATE, WH_PRIM_RATE, WH_SEC_RATE)
1171: SELECT trx_currency_code, wh_currency_code, conversion_date, conversion_type_code,
1177: fii_currency.get_global_rate_secondary(wh_currency_code, conversion_date)) WH_SEC_RATE
1178: FROM (SELECT distinct trx_currency_code, wh_currency_code, conversion_date, conversion_type_code CONVERSION_TYPE_CODE
1179: FROM isc_dbi_tmp_fte_invoices);
1180:
1181: FII_UTIL.Stop_Timer;
1182: FII_UTIL.Print_Timer('Retrieved '||sql%rowcount||' currency rates in');
1183: COMMIT;
1184:
1185: FII_UTIL.Start_Timer;
1178: FROM (SELECT distinct trx_currency_code, wh_currency_code, conversion_date, conversion_type_code CONVERSION_TYPE_CODE
1179: FROM isc_dbi_tmp_fte_invoices);
1180:
1181: FII_UTIL.Stop_Timer;
1182: FII_UTIL.Print_Timer('Retrieved '||sql%rowcount||' currency rates in');
1183: COMMIT;
1184:
1185: FII_UTIL.Start_Timer;
1186:
1181: FII_UTIL.Stop_Timer;
1182: FII_UTIL.Print_Timer('Retrieved '||sql%rowcount||' currency rates in');
1183: COMMIT;
1184:
1185: FII_UTIL.Start_Timer;
1186:
1187: UPDATE isc_dbi_tmp_fte_invoices SET batch_id = ceil(rownum/g_batch_size);
1188: l_total := l_total + sql%rowcount;
1189:
1188: l_total := l_total + sql%rowcount;
1189:
1190: COMMIT;
1191:
1192: FII_UTIL.Stop_Timer;
1193: FII_UTIL.Print_Timer('Updated the batch id for '|| l_total || ' rows in');
1194:
1195: RETURN(l_total);
1196:
1189:
1190: COMMIT;
1191:
1192: FII_UTIL.Stop_Timer;
1193: FII_UTIL.Print_Timer('Updated the batch id for '|| l_total || ' rows in');
1194:
1195: RETURN(l_total);
1196:
1197: EXCEPTION
1250:
1251: l_is_missing := TRUE;
1252: l_time_missing := TRUE;
1253:
1254: FII_UTIL.Start_Timer;
1255:
1256: BIS_COLLECTION_UTILITIES.Put_Line('Begin to retrieve the time boundary for the initial load');
1257:
1258: SELECT /*+ PARALLEL(tmp) */
1272: nvl(l_min_init_dept_date,sysdate), nvl(l_min_pln_arrl_date,sysdate));
1273: l_max := greatest(nvl(l_max_ip_date,sysdate), nvl(l_max_pr_date,sysdate), nvl(l_max_actl_arrl_date,sysdate),
1274: nvl(l_max_init_dept_date,sysdate), nvl(l_max_pln_arrl_date,sysdate));
1275:
1276: FII_UTIL.Stop_Timer;
1277: FII_UTIL.Print_Timer('Retrieved the time boundary ' || l_min || ' - ' || l_max || ' in ');
1278:
1279: BIS_COLLECTION_UTILITIES.Put_Line_Out(' ');
1280: BIS_COLLECTION_UTILITIES.Put_Line_Out(' ');
1273: l_max := greatest(nvl(l_max_ip_date,sysdate), nvl(l_max_pr_date,sysdate), nvl(l_max_actl_arrl_date,sysdate),
1274: nvl(l_max_init_dept_date,sysdate), nvl(l_max_pln_arrl_date,sysdate));
1275:
1276: FII_UTIL.Stop_Timer;
1277: FII_UTIL.Print_Timer('Retrieved the time boundary ' || l_min || ' - ' || l_max || ' in ');
1278:
1279: BIS_COLLECTION_UTILITIES.Put_Line_Out(' ');
1280: BIS_COLLECTION_UTILITIES.Put_Line_Out(' ');
1281: FII_UTIL.Start_Timer;
1277: FII_UTIL.Print_Timer('Retrieved the time boundary ' || l_min || ' - ' || l_max || ' in ');
1278:
1279: BIS_COLLECTION_UTILITIES.Put_Line_Out(' ');
1280: BIS_COLLECTION_UTILITIES.Put_Line_Out(' ');
1281: FII_UTIL.Start_Timer;
1282:
1283: FII_TIME_API.check_missing_date(l_min, l_max, l_is_missing);
1284:
1285: IF (l_is_missing) THEN
1341: BIS_COLLECTION_UTILITIES.Put_Line('+---------------------------------------------------------------------------+');
1342: BIS_COLLECTION_UTILITIES.Put_Line(' ');
1343: END IF;
1344:
1345: FII_UTIL.Stop_Timer;
1346: FII_UTIL.Print_Timer('Completed time continuity check in');
1347:
1348: RETURN(1);
1349:
1342: BIS_COLLECTION_UTILITIES.Put_Line(' ');
1343: END IF;
1344:
1345: FII_UTIL.Stop_Timer;
1346: FII_UTIL.Print_Timer('Completed time continuity check in');
1347:
1348: RETURN(1);
1349:
1350: EXCEPTION
1381:
1382: l_is_missing := TRUE;
1383: l_time_missing := TRUE;
1384:
1385: FII_UTIL.Start_Timer;
1386:
1387: BIS_COLLECTION_UTILITIES.Put_Line('Begin to retrieve the time boundary for the incremental load');
1388:
1389: SELECT min(time_ip_date_id), max(time_ip_date_id),
1393:
1394: l_min := least(nvl(l_min_ip_date,sysdate), nvl(l_min_pr_date,sysdate));
1395: l_max := greatest(nvl(l_max_ip_date,sysdate), nvl(l_max_pr_date,sysdate));
1396:
1397: FII_UTIL.Stop_Timer;
1398: FII_UTIL.Print_Timer('Retrieved the time boundary ' || l_min || ' - ' || l_max || ' in ');
1399:
1400: BIS_COLLECTION_UTILITIES.Put_Line_Out(' ');
1401: BIS_COLLECTION_UTILITIES.Put_Line_Out(' ');
1394: l_min := least(nvl(l_min_ip_date,sysdate), nvl(l_min_pr_date,sysdate));
1395: l_max := greatest(nvl(l_max_ip_date,sysdate), nvl(l_max_pr_date,sysdate));
1396:
1397: FII_UTIL.Stop_Timer;
1398: FII_UTIL.Print_Timer('Retrieved the time boundary ' || l_min || ' - ' || l_max || ' in ');
1399:
1400: BIS_COLLECTION_UTILITIES.Put_Line_Out(' ');
1401: BIS_COLLECTION_UTILITIES.Put_Line_Out(' ');
1402: FII_UTIL.Start_Timer;
1398: FII_UTIL.Print_Timer('Retrieved the time boundary ' || l_min || ' - ' || l_max || ' in ');
1399:
1400: BIS_COLLECTION_UTILITIES.Put_Line_Out(' ');
1401: BIS_COLLECTION_UTILITIES.Put_Line_Out(' ');
1402: FII_UTIL.Start_Timer;
1403:
1404: FII_TIME_API.check_missing_date(l_min, l_max, l_is_missing);
1405:
1406: IF (l_is_missing) THEN
1438: BIS_COLLECTION_UTILITIES.Put_Line('+---------------------------------------------------------------------------+');
1439: BIS_COLLECTION_UTILITIES.Put_Line(' ');
1440: END IF;
1441:
1442: FII_UTIL.Stop_Timer;
1443: FII_UTIL.Print_Timer('Completed time continuity check in');
1444:
1445: RETURN(1);
1446:
1439: BIS_COLLECTION_UTILITIES.Put_Line(' ');
1440: END IF;
1441:
1442: FII_UTIL.Stop_Timer;
1443: FII_UTIL.Print_Timer('Completed time continuity check in');
1444:
1445: RETURN(1);
1446:
1447: EXCEPTION
1482:
1483: l_is_missing := TRUE;
1484: l_time_missing := TRUE;
1485:
1486: FII_UTIL.Start_Timer;
1487: BIS_COLLECTION_UTILITIES.Put_Line('Begin to retrieve the time boundary for the incremental load');
1488:
1489: SELECT min(time_actl_arrl_date_id), max(time_actl_arrl_date_id),
1490: min(time_init_dept_date_id), max(time_init_dept_date_id),
1494:
1495: l_min := least(nvl(l_min_actl_arrl_date,sysdate), nvl(l_min_init_dept_date,sysdate), nvl(l_min_pln_arrl_date,sysdate));
1496: l_max := greatest(nvl(l_max_actl_arrl_date,sysdate), nvl(l_max_init_dept_date,sysdate), nvl(l_max_pln_arrl_date,sysdate));
1497:
1498: FII_UTIL.Stop_Timer;
1499: FII_UTIL.Print_Timer('Retrieved the time boundary ' || l_min || ' - ' || l_max || ' in ');
1500:
1501: BIS_COLLECTION_UTILITIES.Put_Line_Out(' ');
1502: BIS_COLLECTION_UTILITIES.Put_Line_Out(' ');
1495: l_min := least(nvl(l_min_actl_arrl_date,sysdate), nvl(l_min_init_dept_date,sysdate), nvl(l_min_pln_arrl_date,sysdate));
1496: l_max := greatest(nvl(l_max_actl_arrl_date,sysdate), nvl(l_max_init_dept_date,sysdate), nvl(l_max_pln_arrl_date,sysdate));
1497:
1498: FII_UTIL.Stop_Timer;
1499: FII_UTIL.Print_Timer('Retrieved the time boundary ' || l_min || ' - ' || l_max || ' in ');
1500:
1501: BIS_COLLECTION_UTILITIES.Put_Line_Out(' ');
1502: BIS_COLLECTION_UTILITIES.Put_Line_Out(' ');
1503: FII_UTIL.Start_Timer;
1499: FII_UTIL.Print_Timer('Retrieved the time boundary ' || l_min || ' - ' || l_max || ' in ');
1500:
1501: BIS_COLLECTION_UTILITIES.Put_Line_Out(' ');
1502: BIS_COLLECTION_UTILITIES.Put_Line_Out(' ');
1503: FII_UTIL.Start_Timer;
1504:
1505: FII_TIME_API.check_missing_date(l_min, l_max, l_is_missing);
1506:
1507: IF (l_is_missing) THEN
1543: BIS_COLLECTION_UTILITIES.Put_Line('+---------------------------------------------------------------------------+');
1544: BIS_COLLECTION_UTILITIES.Put_Line(' ');
1545: END IF;
1546:
1547: FII_UTIL.Stop_Timer;
1548: FII_UTIL.Print_Timer('Completed time continuity check in');
1549:
1550: RETURN(1);
1551:
1544: BIS_COLLECTION_UTILITIES.Put_Line(' ');
1545: END IF;
1546:
1547: FII_UTIL.Stop_Timer;
1548: FII_UTIL.Print_Timer('Completed time continuity check in');
1549:
1550: RETURN(1);
1551:
1552: EXCEPTION
1850: -- ----------------------------------------------------------
1851:
1852: BIS_COLLECTION_UTILITIES.put_line(' ');
1853: BIS_COLLECTION_UTILITIES.put_line('Identifying the missing currency conversion rates');
1854: FII_UTIL.Start_Timer;
1855:
1856: l_miss_conv := REPORT_MISSING_RATE;
1857:
1858: FII_UTIL.Stop_Timer;
1854: FII_UTIL.Start_Timer;
1855:
1856: l_miss_conv := REPORT_MISSING_RATE;
1857:
1858: FII_UTIL.Stop_Timer;
1859: FII_UTIL.Print_Timer('Completed missing currency check in');
1860:
1861: IF (l_miss_conv = -1) THEN
1862: return(-1);
1855:
1856: l_miss_conv := REPORT_MISSING_RATE;
1857:
1858: FII_UTIL.Stop_Timer;
1859: FII_UTIL.Print_Timer('Completed missing currency check in');
1860:
1861: IF (l_miss_conv = -1) THEN
1862: return(-1);
1863: ELSIF (l_miss_conv > 0) THEN
1871: -- --------------------------------------------------------------
1872:
1873: BIS_COLLECTION_UTILITIES.put_line(' ');
1874: BIS_COLLECTION_UTILITIES.put_line('Identifying the missing UOM conversion rates');
1875: FII_UTIL.Start_Timer;
1876:
1877: l_miss_uom := REPORT_MISSING_UOM_RATE;
1878:
1879: FII_UTIL.Stop_Timer;
1875: FII_UTIL.Start_Timer;
1876:
1877: l_miss_uom := REPORT_MISSING_UOM_RATE;
1878:
1879: FII_UTIL.Stop_Timer;
1880: FII_UTIL.Print_Timer('Completed missing UOM check in');
1881:
1882: IF (l_miss_uom = -1) THEN
1883: return(-1);
1876:
1877: l_miss_uom := REPORT_MISSING_UOM_RATE;
1878:
1879: FII_UTIL.Stop_Timer;
1880: FII_UTIL.Print_Timer('Completed missing UOM check in');
1881:
1882: IF (l_miss_uom = -1) THEN
1883: return(-1);
1884: ELSIF (l_miss_uom > 0) THEN
1908:
1909: BIS_COLLECTION_UTILITIES.put_line(' ');
1910: BIS_COLLECTION_UTILITIES.put_line('Identifying the dangling items');
1911:
1912: FII_UTIL.Start_Timer;
1913:
1914: l_item_count := IDENTIFY_DANGLING_ITEM;
1915:
1916: FII_UTIL.Stop_Timer;
1912: FII_UTIL.Start_Timer;
1913:
1914: l_item_count := IDENTIFY_DANGLING_ITEM;
1915:
1916: FII_UTIL.Stop_Timer;
1917: FII_UTIL.Print_Timer('Identified '||l_item_count||' dangling items in');
1918:
1919: IF (l_item_count = -1)
1920: THEN return(-1);
1913:
1914: l_item_count := IDENTIFY_DANGLING_ITEM;
1915:
1916: FII_UTIL.Stop_Timer;
1917: FII_UTIL.Print_Timer('Identified '||l_item_count||' dangling items in');
1918:
1919: IF (l_item_count = -1)
1920: THEN return(-1);
1921: ELSIF (l_item_count > 0) THEN
1971:
1972: BIS_COLLECTION_UTILITIES.put_line(' ');
1973: BIS_COLLECTION_UTILITIES.put_line('Identifying the dangling items');
1974:
1975: FII_UTIL.Start_Timer;
1976:
1977: l_item_count := IDENTIFY_DANGLING_ITEM;
1978:
1979: FII_UTIL.Stop_Timer;
1975: FII_UTIL.Start_Timer;
1976:
1977: l_item_count := IDENTIFY_DANGLING_ITEM;
1978:
1979: FII_UTIL.Stop_Timer;
1980: FII_UTIL.Print_Timer('Identified '||l_item_count||' dangling items in');
1981:
1982: IF (l_item_count = -1) THEN
1983: return(-1);
1976:
1977: l_item_count := IDENTIFY_DANGLING_ITEM;
1978:
1979: FII_UTIL.Stop_Timer;
1980: FII_UTIL.Print_Timer('Identified '||l_item_count||' dangling items in');
1981:
1982: IF (l_item_count = -1) THEN
1983: return(-1);
1984: ELSIF (l_item_count > 0) THEN
2021: -- ----------------------------------------------------------
2022:
2023: BIS_COLLECTION_UTILITIES.put_line(' ');
2024: BIS_COLLECTION_UTILITIES.put_line('Identifying the missing currency conversion rates');
2025: FII_UTIL.Start_Timer;
2026:
2027: l_miss_conv := REPORT_MISSING_RATE;
2028:
2029: FII_UTIL.Stop_Timer;
2025: FII_UTIL.Start_Timer;
2026:
2027: l_miss_conv := REPORT_MISSING_RATE;
2028:
2029: FII_UTIL.Stop_Timer;
2030: FII_UTIL.Print_Timer('Completed missing currency check in');
2031:
2032: IF (l_miss_conv = -1) THEN
2033: return(-1);
2026:
2027: l_miss_conv := REPORT_MISSING_RATE;
2028:
2029: FII_UTIL.Stop_Timer;
2030: FII_UTIL.Print_Timer('Completed missing currency check in');
2031:
2032: IF (l_miss_conv = -1) THEN
2033: return(-1);
2034: ELSIF (l_miss_conv > 0) THEN
2042: -- --------------------------------------------------------------
2043:
2044: BIS_COLLECTION_UTILITIES.put_line(' ');
2045: BIS_COLLECTION_UTILITIES.put_line('Identifying the missing UOM conversion rates');
2046: FII_UTIL.Start_Timer;
2047:
2048: l_miss_uom := REPORT_MISSING_UOM_RATE;
2049:
2050: FII_UTIL.Stop_Timer;
2046: FII_UTIL.Start_Timer;
2047:
2048: l_miss_uom := REPORT_MISSING_UOM_RATE;
2049:
2050: FII_UTIL.Stop_Timer;
2051: FII_UTIL.Print_Timer('Completed missing UOM check in');
2052:
2053: IF (l_miss_uom = -1) THEN
2054: return(-1);
2047:
2048: l_miss_uom := REPORT_MISSING_UOM_RATE;
2049:
2050: FII_UTIL.Stop_Timer;
2051: FII_UTIL.Print_Timer('Completed missing UOM check in');
2052:
2053: IF (l_miss_uom = -1) THEN
2054: return(-1);
2055: ELSIF (l_miss_uom > 0) THEN
2106: -- ----------------------------------------------------------
2107:
2108: BIS_COLLECTION_UTILITIES.put_line(' ');
2109: BIS_COLLECTION_UTILITIES.put_line('Identifying the missing currency conversion rates');
2110: FII_UTIL.Start_Timer;
2111:
2112: l_miss_conv := REPORT_MISSING_RATE;
2113:
2114: FII_UTIL.Stop_Timer;
2110: FII_UTIL.Start_Timer;
2111:
2112: l_miss_conv := REPORT_MISSING_RATE;
2113:
2114: FII_UTIL.Stop_Timer;
2115: FII_UTIL.Print_Timer('Completed missing currency check in');
2116:
2117: IF (l_miss_conv = -1) THEN
2118: return(-1);
2111:
2112: l_miss_conv := REPORT_MISSING_RATE;
2113:
2114: FII_UTIL.Stop_Timer;
2115: FII_UTIL.Print_Timer('Completed missing currency check in');
2116:
2117: IF (l_miss_conv = -1) THEN
2118: return(-1);
2119: ELSIF (l_miss_conv > 0) THEN
2149: BEGIN
2150:
2151: BIS_COLLECTION_UTILITIES.put_line(' ');
2152: BIS_COLLECTION_UTILITIES.put_line('Inserting data into isc_dbi_del_details_f');
2153: FII_UTIL.Start_Timer;
2154:
2155: INSERT /*+ APPEND PARALLEL(F) */ INTO ISC_DBI_DEL_DETAILS_F F
2156: (DELIVERY_DETAIL_ID,
2157: INVENTORY_ITEM_ID,
2206: -1 REQUEST_ID
2207: FROM isc_dbi_tmp_del_details v;
2208:
2209: l_detail_count := sql%rowcount;
2210: FII_UTIL.Stop_Timer;
2211: FII_UTIL.Print_Timer('Inserted '|| l_detail_count ||' rows into isc_dbi_del_details_f in');
2212:
2213: BIS_COLLECTION_UTILITIES.put_line(' ');
2214: BIS_COLLECTION_UTILITIES.put_line('Inserting data into isc_dbi_del_legs_f');
2207: FROM isc_dbi_tmp_del_details v;
2208:
2209: l_detail_count := sql%rowcount;
2210: FII_UTIL.Stop_Timer;
2211: FII_UTIL.Print_Timer('Inserted '|| l_detail_count ||' rows into isc_dbi_del_details_f in');
2212:
2213: BIS_COLLECTION_UTILITIES.put_line(' ');
2214: BIS_COLLECTION_UTILITIES.put_line('Inserting data into isc_dbi_del_legs_f');
2215: FII_UTIL.Start_Timer;
2211: FII_UTIL.Print_Timer('Inserted '|| l_detail_count ||' rows into isc_dbi_del_details_f in');
2212:
2213: BIS_COLLECTION_UTILITIES.put_line(' ');
2214: BIS_COLLECTION_UTILITIES.put_line('Inserting data into isc_dbi_del_legs_f');
2215: FII_UTIL.Start_Timer;
2216:
2217: INSERT /*+ APPEND PARALLEL(F) */ INTO ISC_DBI_DEL_LEGS_F F
2218: (DELIVERY_LEG_ID,
2219: CARRIER_ID,
2294: AND v.conversion_date = curr.conversion_date(+)
2295: AND v.conversion_type_code = curr.conversion_type_code(+);
2296:
2297: l_leg_count := sql%rowcount;
2298: FII_UTIL.Stop_Timer;
2299: FII_UTIL.Print_Timer('Inserted '|| l_leg_count ||' rows into isc_dbi_del_legs_f in');
2300:
2301: BIS_COLLECTION_UTILITIES.put_line(' ');
2302: BIS_COLLECTION_UTILITIES.put_line('Inserting data into isc_dbi_trip_stops_f');
2295: AND v.conversion_type_code = curr.conversion_type_code(+);
2296:
2297: l_leg_count := sql%rowcount;
2298: FII_UTIL.Stop_Timer;
2299: FII_UTIL.Print_Timer('Inserted '|| l_leg_count ||' rows into isc_dbi_del_legs_f in');
2300:
2301: BIS_COLLECTION_UTILITIES.put_line(' ');
2302: BIS_COLLECTION_UTILITIES.put_line('Inserting data into isc_dbi_trip_stops_f');
2303: FII_UTIL.Start_Timer;
2299: FII_UTIL.Print_Timer('Inserted '|| l_leg_count ||' rows into isc_dbi_del_legs_f in');
2300:
2301: BIS_COLLECTION_UTILITIES.put_line(' ');
2302: BIS_COLLECTION_UTILITIES.put_line('Inserting data into isc_dbi_trip_stops_f');
2303: FII_UTIL.Start_Timer;
2304:
2305: INSERT /*+ APPEND PARALLEL(F) */ INTO ISC_DBI_TRIP_STOPS_F F
2306: (STOP_ID,
2307: CARRIER_ID,
2378: AND v.distance_uom_code = d_rates.from_uom_code(+)
2379: AND d_rates.measure_code(+) = 'DIS';
2380:
2381: l_stop_count := sql%rowcount;
2382: FII_UTIL.Stop_Timer;
2383: FII_UTIL.Print_Timer('Inserted '|| l_stop_count ||' rows into isc_dbi_trip_stops_f in');
2384:
2385: BIS_COLLECTION_UTILITIES.put_line(' ');
2386: BIS_COLLECTION_UTILITIES.put_line('Inserting data into isc_dbi_fte_invoices_f');
2379: AND d_rates.measure_code(+) = 'DIS';
2380:
2381: l_stop_count := sql%rowcount;
2382: FII_UTIL.Stop_Timer;
2383: FII_UTIL.Print_Timer('Inserted '|| l_stop_count ||' rows into isc_dbi_trip_stops_f in');
2384:
2385: BIS_COLLECTION_UTILITIES.put_line(' ');
2386: BIS_COLLECTION_UTILITIES.put_line('Inserting data into isc_dbi_fte_invoices_f');
2387: FII_UTIL.Start_Timer;
2383: FII_UTIL.Print_Timer('Inserted '|| l_stop_count ||' rows into isc_dbi_trip_stops_f in');
2384:
2385: BIS_COLLECTION_UTILITIES.put_line(' ');
2386: BIS_COLLECTION_UTILITIES.put_line('Inserting data into isc_dbi_fte_invoices_f');
2387: FII_UTIL.Start_Timer;
2388:
2389: INSERT /*+ APPEND PARALLEL(F) */ INTO ISC_DBI_FTE_INVOICES_F F
2390: (INVOICE_HEADER_ID,
2391: CARRIER_ID,
2457: AND v.conversion_date = curr.conversion_date
2458: AND v.conversion_type_code = curr.conversion_type_code;
2459:
2460: l_invoice_count := sql%rowcount;
2461: FII_UTIL.Stop_Timer;
2462: FII_UTIL.Print_Timer('Inserted '|| l_invoice_count ||' rows into isc_dbi_fte_invoices_f in');
2463:
2464: COMMIT;
2465: RETURN(l_detail_count + l_leg_count + l_stop_count + l_invoice_count);
2458: AND v.conversion_type_code = curr.conversion_type_code;
2459:
2460: l_invoice_count := sql%rowcount;
2461: FII_UTIL.Stop_Timer;
2462: FII_UTIL.Print_Timer('Inserted '|| l_invoice_count ||' rows into isc_dbi_fte_invoices_f in');
2463:
2464: COMMIT;
2465: RETURN(l_detail_count + l_leg_count + l_stop_count + l_invoice_count);
2466:
2489: l_date := to_date('01/01/0001','DD/MM/YYYY');
2490:
2491: FOR v_batch_id IN 1..p_batch
2492: LOOP
2493: FII_UTIL.Start_Timer;
2494: BIS_COLLECTION_UTILITIES.put_line('Merging batch '||v_batch_id);
2495:
2496: l_count := 0;
2497:
2587:
2588: l_count := sql%rowcount;
2589: l_total := l_total + l_count;
2590: COMMIT;
2591: FII_UTIL.Stop_Timer;
2592: FII_UTIL.Print_Timer('Merged '||l_count|| ' rows in ');
2593:
2594: END LOOP;
2595:
2588: l_count := sql%rowcount;
2589: l_total := l_total + l_count;
2590: COMMIT;
2591: FII_UTIL.Stop_Timer;
2592: FII_UTIL.Print_Timer('Merged '||l_count|| ' rows in ');
2593:
2594: END LOOP;
2595:
2596: RETURN(l_total);
2616: l_date := to_date('01/01/0001','DD/MM/YYYY');
2617:
2618: FOR v_batch_id IN 1..p_batch
2619: LOOP
2620: FII_UTIL.Start_Timer;
2621: BIS_COLLECTION_UTILITIES.put_line('Merging batch '||v_batch_id);
2622:
2623: l_count := 0;
2624:
2915:
2916: l_count := sql%rowcount;
2917: l_total := l_total + l_count;
2918: COMMIT;
2919: FII_UTIL.Stop_Timer;
2920: FII_UTIL.Print_Timer('Merged '||l_count|| ' rows in ');
2921:
2922: END LOOP;
2923:
2916: l_count := sql%rowcount;
2917: l_total := l_total + l_count;
2918: COMMIT;
2919: FII_UTIL.Stop_Timer;
2920: FII_UTIL.Print_Timer('Merged '||l_count|| ' rows in ');
2921:
2922: END LOOP;
2923:
2924: RETURN(l_total);
2944: l_date := to_date('01/01/0001','DD/MM/YYYY');
2945:
2946: FOR v_batch_id IN 1..p_batch
2947: LOOP
2948: FII_UTIL.Start_Timer;
2949: BIS_COLLECTION_UTILITIES.put_line('Merging batch '||v_batch_id);
2950:
2951: l_count := 0;
2952:
3084:
3085: l_count := sql%rowcount;
3086: l_total := l_total + l_count;
3087: COMMIT;
3088: FII_UTIL.Stop_Timer;
3089: FII_UTIL.Print_Timer('Merged '||l_count|| ' rows in ');
3090:
3091: END LOOP;
3092:
3085: l_count := sql%rowcount;
3086: l_total := l_total + l_count;
3087: COMMIT;
3088: FII_UTIL.Stop_Timer;
3089: FII_UTIL.Print_Timer('Merged '||l_count|| ' rows in ');
3090:
3091: END LOOP;
3092:
3093: RETURN(l_total);
3108: -- Truncate temp tables
3109: -- ------------------------
3110:
3111: BIS_COLLECTION_UTILITIES.put_line('Truncating the temp tables');
3112: FII_UTIL.Start_Timer;
3113:
3114: EXECUTE IMMEDIATE 'TRUNCATE TABLE ' || g_isc_schema ||'.ISC_DBI_TMP_WDD_LOG';
3115: EXECUTE IMMEDIATE 'TRUNCATE TABLE ' || g_isc_schema ||'.ISC_DBI_TMP_WTS_LOG';
3116: EXECUTE IMMEDIATE 'TRUNCATE TABLE ' || g_isc_schema ||'.ISC_DBI_TMP_FIH_LOG';
3121: EXECUTE IMMEDIATE 'TRUNCATE TABLE ' || g_isc_schema ||'.ISC_DBI_TMP_FTE_INVOICES';
3122: EXECUTE IMMEDIATE 'TRUNCATE TABLE ' || g_isc_schema ||'.ISC_DBI_FTE_CURR_RATES';
3123: EXECUTE IMMEDIATE 'TRUNCATE TABLE ' || g_isc_schema ||'.ISC_DBI_FTE_UOM_RATES';
3124:
3125: FII_UTIL.Stop_Timer;
3126: FII_UTIL.Print_Timer('Truncated the temp tables in');
3127: BIS_COLLECTION_UTILITIES.Put_Line(' ');
3128:
3129: -- ----------------------------------------------
3122: EXECUTE IMMEDIATE 'TRUNCATE TABLE ' || g_isc_schema ||'.ISC_DBI_FTE_CURR_RATES';
3123: EXECUTE IMMEDIATE 'TRUNCATE TABLE ' || g_isc_schema ||'.ISC_DBI_FTE_UOM_RATES';
3124:
3125: FII_UTIL.Stop_Timer;
3126: FII_UTIL.Print_Timer('Truncated the temp tables in');
3127: BIS_COLLECTION_UTILITIES.Put_Line(' ');
3128:
3129: -- ----------------------------------------------
3130: -- No exception raised so far. Successful. Call
3215:
3216: -- Fix bug 4150188
3217: BIS_COLLECTION_UTILITIES.put_line(' ');
3218: BIS_COLLECTION_UTILITIES.put_line('Truncating the fact tables');
3219: FII_UTIL.Start_Timer;
3220:
3221: EXECUTE IMMEDIATE 'TRUNCATE TABLE ' || g_isc_schema ||'.ISC_DBI_DEL_DETAILS_F';
3222: EXECUTE IMMEDIATE 'TRUNCATE TABLE ' || g_isc_schema ||'.ISC_DBI_DEL_LEGS_F';
3223: EXECUTE IMMEDIATE 'TRUNCATE TABLE ' || g_isc_schema ||'.ISC_DBI_TRIP_STOPS_F';
3223: EXECUTE IMMEDIATE 'TRUNCATE TABLE ' || g_isc_schema ||'.ISC_DBI_TRIP_STOPS_F';
3224: EXECUTE IMMEDIATE 'TRUNCATE TABLE ' || g_isc_schema ||'.ISC_DBI_FTE_INVOICES_F';
3225: EXECUTE IMMEDIATE 'TRUNCATE TABLE ' || g_isc_schema ||'.ISC_DBI_FTE_PARAMETERS';
3226:
3227: FII_UTIL.Stop_Timer;
3228: FII_UTIL.Print_Timer('Truncated the fact tables in');
3229: g_row_count := 0;
3230:
3231: ELSE
3224: EXECUTE IMMEDIATE 'TRUNCATE TABLE ' || g_isc_schema ||'.ISC_DBI_FTE_INVOICES_F';
3225: EXECUTE IMMEDIATE 'TRUNCATE TABLE ' || g_isc_schema ||'.ISC_DBI_FTE_PARAMETERS';
3226:
3227: FII_UTIL.Stop_Timer;
3228: FII_UTIL.Print_Timer('Truncated the fact tables in');
3229: g_row_count := 0;
3230:
3231: ELSE
3232:
3235: -- --------------
3236:
3237: BIS_COLLECTION_UTILITIES.Put_Line(' ');
3238: BIS_COLLECTION_UTILITIES.Put_Line('Analyzing temp tables');
3239: FII_UTIL.Start_Timer;
3240:
3241: FND_STATS.GATHER_TABLE_STATS(OWNNAME => g_isc_schema,
3242: TABNAME => 'ISC_DBI_TMP_DEL_DETAILS');
3243: FND_STATS.GATHER_TABLE_STATS(OWNNAME => g_isc_schema,
3250: TABNAME => 'ISC_DBI_FTE_CURR_RATES');
3251: FND_STATS.GATHER_TABLE_STATS(OWNNAME => g_isc_schema,
3252: TABNAME => 'ISC_DBI_FTE_UOM_RATES');
3253:
3254: FII_UTIL.Stop_Timer;
3255: FII_UTIL.Print_Timer('Analyzed the temp tables in ');
3256:
3257: IF (DANGLING_CHECK_INIT = -1) THEN
3258: RAISE l_failure;
3251: FND_STATS.GATHER_TABLE_STATS(OWNNAME => g_isc_schema,
3252: TABNAME => 'ISC_DBI_FTE_UOM_RATES');
3253:
3254: FII_UTIL.Stop_Timer;
3255: FII_UTIL.Print_Timer('Analyzed the temp tables in ');
3256:
3257: IF (DANGLING_CHECK_INIT = -1) THEN
3258: RAISE l_failure;
3259: END IF;
3263: -- ----------------------------------------
3264:
3265: BIS_COLLECTION_UTILITIES.put_line(' ');
3266: BIS_COLLECTION_UTILITIES.put_line('Truncating the fact tables');
3267: FII_UTIL.Start_Timer;
3268:
3269: EXECUTE IMMEDIATE 'TRUNCATE TABLE ' || g_isc_schema ||'.ISC_DBI_DEL_DETAILS_F';
3270: EXECUTE IMMEDIATE 'TRUNCATE TABLE ' || g_isc_schema ||'.ISC_DBI_DEL_LEGS_F';
3271: EXECUTE IMMEDIATE 'TRUNCATE TABLE ' || g_isc_schema ||'.ISC_DBI_TRIP_STOPS_F';
3271: EXECUTE IMMEDIATE 'TRUNCATE TABLE ' || g_isc_schema ||'.ISC_DBI_TRIP_STOPS_F';
3272: EXECUTE IMMEDIATE 'TRUNCATE TABLE ' || g_isc_schema ||'.ISC_DBI_FTE_INVOICES_F';
3273: EXECUTE IMMEDIATE 'TRUNCATE TABLE ' || g_isc_schema ||'.ISC_DBI_FTE_PARAMETERS';
3274:
3275: FII_UTIL.Stop_Timer;
3276: FII_UTIL.Print_Timer('Truncated the fact tables in');
3277:
3278: -- --------------------------------------------
3279: -- Update Parameter Table
3272: EXECUTE IMMEDIATE 'TRUNCATE TABLE ' || g_isc_schema ||'.ISC_DBI_FTE_INVOICES_F';
3273: EXECUTE IMMEDIATE 'TRUNCATE TABLE ' || g_isc_schema ||'.ISC_DBI_FTE_PARAMETERS';
3274:
3275: FII_UTIL.Stop_Timer;
3276: FII_UTIL.Print_Timer('Truncated the fact tables in');
3277:
3278: -- --------------------------------------------
3279: -- Update Parameter Table
3280: -- --------------------------------------------
3386: ELSE
3387:
3388: BIS_COLLECTION_UTILITIES.Put_Line(' ');
3389: BIS_COLLECTION_UTILITIES.Put_Line('Analyzing temp tables');
3390: FII_UTIL.Start_Timer;
3391:
3392: FND_STATS.GATHER_TABLE_STATS(OWNNAME => g_isc_schema,
3393: TABNAME => 'ISC_DBI_TMP_DEL_DETAILS');
3394:
3391:
3392: FND_STATS.GATHER_TABLE_STATS(OWNNAME => g_isc_schema,
3393: TABNAME => 'ISC_DBI_TMP_DEL_DETAILS');
3394:
3395: FII_UTIL.Stop_Timer;
3396: FII_UTIL.Print_Timer('Analyzed the temp tables in ');
3397:
3398: -- --------------------------------------------
3399: -- Dangling Checks
3392: FND_STATS.GATHER_TABLE_STATS(OWNNAME => g_isc_schema,
3393: TABNAME => 'ISC_DBI_TMP_DEL_DETAILS');
3394:
3395: FII_UTIL.Stop_Timer;
3396: FII_UTIL.Print_Timer('Analyzed the temp tables in ');
3397:
3398: -- --------------------------------------------
3399: -- Dangling Checks
3400: -- --------------------------------------------
3432: -- Delete rows from change log tables base on rowid
3433: -- -------------------------------------------------
3434:
3435: BIS_COLLECTION_UTILITIES.put_line('Deleting rows from log tables');
3436: FII_UTIL.Start_Timer;
3437:
3438: DELETE FROM ISC_DBI_WDD_CHANGE_LOG
3439: WHERE rowid IN (select log_rowid from isc_dbi_tmp_wdd_log);
3440: -- AND last_update_date < g_incre_start_date;
3438: DELETE FROM ISC_DBI_WDD_CHANGE_LOG
3439: WHERE rowid IN (select log_rowid from isc_dbi_tmp_wdd_log);
3440: -- AND last_update_date < g_incre_start_date;
3441:
3442: FII_UTIL.Stop_Timer;
3443: FII_UTIL.Print_Timer('Deleted ' || sql%rowcount || ' rows from ISC_DBI_WDD_CHANGE_LOG in');
3444: COMMIT;
3445:
3446: IF (WRAPUP = -1) THEN
3439: WHERE rowid IN (select log_rowid from isc_dbi_tmp_wdd_log);
3440: -- AND last_update_date < g_incre_start_date;
3441:
3442: FII_UTIL.Stop_Timer;
3443: FII_UTIL.Print_Timer('Deleted ' || sql%rowcount || ' rows from ISC_DBI_WDD_CHANGE_LOG in');
3444: COMMIT;
3445:
3446: IF (WRAPUP = -1) THEN
3447: RAISE l_failure;
3540: -- --------------
3541:
3542: BIS_COLLECTION_UTILITIES.Put_Line(' ');
3543: BIS_COLLECTION_UTILITIES.Put_Line('Analyzing temp tables');
3544: FII_UTIL.Start_Timer;
3545:
3546: FND_STATS.GATHER_TABLE_STATS(OWNNAME => g_isc_schema,
3547: TABNAME => 'ISC_DBI_TMP_DEL_LEGS');
3548: FND_STATS.GATHER_TABLE_STATS(OWNNAME => g_isc_schema,
3551: TABNAME => 'ISC_DBI_FTE_CURR_RATES');
3552: FND_STATS.GATHER_TABLE_STATS(OWNNAME => g_isc_schema,
3553: TABNAME => 'ISC_DBI_FTE_UOM_RATES');
3554:
3555: FII_UTIL.Stop_Timer;
3556: FII_UTIL.Print_Timer('Analyzed the temp tables in ');
3557:
3558: -- ---------------------
3559: -- Dangling Checking
3552: FND_STATS.GATHER_TABLE_STATS(OWNNAME => g_isc_schema,
3553: TABNAME => 'ISC_DBI_FTE_UOM_RATES');
3554:
3555: FII_UTIL.Stop_Timer;
3556: FII_UTIL.Print_Timer('Analyzed the temp tables in ');
3557:
3558: -- ---------------------
3559: -- Dangling Checking
3560: -- ---------------------
3592: -- Delete rows from change log tables base on rowid
3593: -- -------------------------------------------------
3594:
3595: BIS_COLLECTION_UTILITIES.put_line('Deleting rows from log tables');
3596: FII_UTIL.Start_Timer;
3597:
3598: DELETE FROM ISC_DBI_WTS_CHANGE_LOG
3599: WHERE rowid IN (select log_rowid from isc_dbi_tmp_wts_log);
3600: -- AND last_update_date < g_incre_start_date;
3598: DELETE FROM ISC_DBI_WTS_CHANGE_LOG
3599: WHERE rowid IN (select log_rowid from isc_dbi_tmp_wts_log);
3600: -- AND last_update_date < g_incre_start_date;
3601:
3602: FII_UTIL.Stop_Timer;
3603: FII_UTIL.Print_Timer('Deleted ' || sql%rowcount || ' rows from ISC_DBI_WTS_CHANGE_LOG in');
3604: COMMIT;
3605:
3606: IF (WRAPUP = -1) THEN
3599: WHERE rowid IN (select log_rowid from isc_dbi_tmp_wts_log);
3600: -- AND last_update_date < g_incre_start_date;
3601:
3602: FII_UTIL.Stop_Timer;
3603: FII_UTIL.Print_Timer('Deleted ' || sql%rowcount || ' rows from ISC_DBI_WTS_CHANGE_LOG in');
3604: COMMIT;
3605:
3606: IF (WRAPUP = -1) THEN
3607: RAISE l_failure;
3692: -- --------------
3693:
3694: BIS_COLLECTION_UTILITIES.Put_Line(' ');
3695: BIS_COLLECTION_UTILITIES.Put_Line('Analyzing temp tables');
3696: FII_UTIL.Start_Timer;
3697:
3698: FND_STATS.GATHER_TABLE_STATS(OWNNAME => g_isc_schema,
3699: TABNAME => 'ISC_DBI_TMP_FTE_INVOICES');
3700: FND_STATS.GATHER_TABLE_STATS(OWNNAME => g_isc_schema,
3699: TABNAME => 'ISC_DBI_TMP_FTE_INVOICES');
3700: FND_STATS.GATHER_TABLE_STATS(OWNNAME => g_isc_schema,
3701: TABNAME => 'ISC_DBI_FTE_CURR_RATES');
3702:
3703: FII_UTIL.Stop_Timer;
3704: FII_UTIL.Print_Timer('Analyzed the temp tables in ');
3705:
3706: -- ---------------------
3707: -- Dangling Checking
3700: FND_STATS.GATHER_TABLE_STATS(OWNNAME => g_isc_schema,
3701: TABNAME => 'ISC_DBI_FTE_CURR_RATES');
3702:
3703: FII_UTIL.Stop_Timer;
3704: FII_UTIL.Print_Timer('Analyzed the temp tables in ');
3705:
3706: -- ---------------------
3707: -- Dangling Checking
3708: -- ---------------------
3741: -- -------------------------------------------------
3742:
3743: BIS_COLLECTION_UTILITIES.put_line('Deleting rows from log tables');
3744:
3745: FII_UTIL.Start_Timer;
3746:
3747: DELETE FROM ISC_DBI_FIH_CHANGE_LOG
3748: WHERE rowid IN (select log_rowid from isc_dbi_tmp_fih_log);
3749: -- AND last_update_date < g_incre_start_date;
3747: DELETE FROM ISC_DBI_FIH_CHANGE_LOG
3748: WHERE rowid IN (select log_rowid from isc_dbi_tmp_fih_log);
3749: -- AND last_update_date < g_incre_start_date;
3750:
3751: FII_UTIL.Stop_Timer;
3752: FII_UTIL.Print_Timer('Deleted ' || sql%rowcount || ' rows from ISC_DBI_FIH_CHANGE_LOG in');
3753: COMMIT;
3754:
3755: IF (WRAPUP = -1) THEN
3748: WHERE rowid IN (select log_rowid from isc_dbi_tmp_fih_log);
3749: -- AND last_update_date < g_incre_start_date;
3750:
3751: FII_UTIL.Stop_Timer;
3752: FII_UTIL.Print_Timer('Deleted ' || sql%rowcount || ' rows from ISC_DBI_FIH_CHANGE_LOG in');
3753: COMMIT;
3754:
3755: IF (WRAPUP = -1) THEN
3756: RAISE l_failure;