191:
192: BEGIN
193: SELECT 1
194: INTO l_count1
195: FROM fii_ap_inv_dist_f
196: WHERE ROWNUM = 1;
197: EXCEPTION
198: WHEN NO_DATA_FOUND THEN l_count1 := 0;
199: END;
683: PROCEDURE POPULATE_AP_BASE_SUM IS
684: l_stmt VARCHAR2(1000);
685: seq_id NUMBER :=0;
686: BEGIN
687: SELECT FII_AP_INV_DIST_F_S.nextval INTO seq_id FROM dual;
688:
689: g_state := 'Populating FII_AP_INV_DIST_F FROM FII_AP_INV_DIST_T table';
690:
691: if g_debug_flag = 'Y' then
685: seq_id NUMBER :=0;
686: BEGIN
687: SELECT FII_AP_INV_DIST_F_S.nextval INTO seq_id FROM dual;
688:
689: g_state := 'Populating FII_AP_INV_DIST_F FROM FII_AP_INV_DIST_T table';
690:
691: if g_debug_flag = 'Y' then
692: FII_UTIL.put_line('');
693: FII_UTIL.put_line('-------------------------------------------------');
699: -- Removed the where condition to check for invoice_id and other attributes
700: -- of a distribution. Instead added the invoice_distribution_id condition.
701: -- Also added the additional columns for insertion.
702:
703: MERGE /*+ use_nl(bsum) */ INTO FII_AP_INV_DIST_F bsum
704: USING (SELECT *
705: FROM FII_AP_INV_DIST_T
706: WHERE (prim_conversion_rate > 0 OR sec_conversion_rate > 0)
707: ) stg
797: stg.Purchasing_Category_ID,
798: stg.Item_Description);
799:
800: if g_debug_flag = 'Y' then
801: FII_UTIL.put_line('Merged ' || SQL%ROWCOUNT || ' records into FII_AP_INV_DIST_F');
802: FII_UTIL.put_line('');
803: end if;
804:
805: DELETE FROM FII_AP_INV_DIST_F bsum
801: FII_UTIL.put_line('Merged ' || SQL%ROWCOUNT || ' records into FII_AP_INV_DIST_F');
802: FII_UTIL.put_line('');
803: end if;
804:
805: DELETE FROM FII_AP_INV_DIST_F bsum
806: WHERE (bsum.UPDATE_SEQUENCE <> seq_id OR bsum.posted_flag = 'Y')
807: AND bsum.invoice_id IN (SELECT id.invoice_id FROM FII_AP_INV_ID id);
808:
809: if g_debug_flag = 'Y' then
806: WHERE (bsum.UPDATE_SEQUENCE <> seq_id OR bsum.posted_flag = 'Y')
807: AND bsum.invoice_id IN (SELECT id.invoice_id FROM FII_AP_INV_ID id);
808:
809: if g_debug_flag = 'Y' then
810: FII_UTIL.put_line('Deleted ' || SQL%ROWCOUNT || ' records from FII_AP_INV_DIST_F');
811: FII_UTIL.put_line('');
812: end if;
813:
814: FOR i IN 0..31 LOOP --i represents the partition of ap_dbi_log.
1300: fii_util.start_timer;
1301: fii_util.put_line('');
1302: end if;
1303:
1304: SELECT FII_AP_INV_DIST_F_S.nextval INTO seq_id FROM dual;
1305:
1306:
1307: INSERT /*+ APPEND PARALLEL(F) */ INTO FII_AP_INV_DIST_F F (
1308: ACCOUNT_DATE,
1303:
1304: SELECT FII_AP_INV_DIST_F_S.nextval INTO seq_id FROM dual;
1305:
1306:
1307: INSERT /*+ APPEND PARALLEL(F) */ INTO FII_AP_INV_DIST_F F (
1308: ACCOUNT_DATE,
1309: INV_CURRENCY_CODE,
1310: INVOICE_ID,
1311: INVOICE_DISTRIBUTION_ID,
1554: IF g_debug_flag = 'Y' then
1555: FII_UTIL.put_line('Running Initial Load, truncate staging and base summary table.');
1556: END IF;
1557: TRUNCATE_TABLE('FII_AP_INV_DIST_T');
1558: TRUNCATE_TABLE('FII_AP_INV_DIST_F');
1559: COMMIT;
1560: END IF;
1561:
1562: -- Load and Increment programs should record the dates seperately