The following lines contain the word 'select', 'insert', 'update' or 'delete':
PROCEDURE DELETE_STG
IS
BEGIN
DELETE FII_AP_HOLD_DATA_FSTG
WHERE COLLECTION_STATUS = 'LOCAL READY' OR (COLLECTION_STATUS = 'RATE NOT AVAILABLE' OR COLLECTION_STATUS = 'INVALID CURRENCY')
AND INSTANCE = (SELECT INSTANCE_CODE
FROM EDW_LOCAL_INSTANCE);
PROCEDURE INSERT_MISSING_RATES_IN_TMP
IS
BEGIN
-- --------------------------------------------------------------------------------------------------
-- The variable g_acct_or_inv_date is added in the below mentioned select statement.
-- The profile option stored in the global variable g_acct_or_inv_date
-- will be stored in the column Primary_Key5 . Modified for Currency Conversion Date Enhancement,25-APR-03
-----------------------------------------------------------------------------------------------------
INSERT INTO FII_AP_TMP_HOLD_PK(
Primary_Key1,
Primary_Key5)
SELECT
TO_NUMBER(SUBSTR (HOLD_DATA_PK, INSTR(HOLD_DATA_PK, '-')+1,INSTR(HOLD_DATA_PK,'-',1,2)-(INSTR(HOLD_DATA_PK,'-')+1))),
g_acct_or_inv_date
FROM FII_AP_HOLD_DATA_FSTG fhd
WHERE
fhd.COLLECTION_STATUS = 'RATE NOT AVAILABLE'
OR
fhd.COLLECTION_STATUS = 'INVALID CURRENCY';
edw_log.put_line('INSERTING ' || to_char(sql%rowcount) || ' rows from staging table');
SELECT instance_code
INTO l_instance1
FROM edw_local_instance;
SELECT instance_code
INTO l_instance2
FROM edw_local_instance@edw_apps_to_wh;
UPDATE FII_AP_HOLD_DATA_FSTG
SET COLLECTION_STATUS = 'READY'
WHERE COLLECTION_STATUS = 'LOCAL READY'
AND INSTANCE = (SELECT INSTANCE_CODE
FROM EDW_LOCAL_INSTANCE);
Insert Into FII_AP_HOLD_DATA_FSTG(
CCID,
CREATION_DATE,
DUNS_FK,
GEOGRAPHY_FK,
GL_ACCT10_FK,
GL_ACCT1_FK,
GL_ACCT2_FK,
GL_ACCT3_FK,
GL_ACCT4_FK,
GL_ACCT5_FK,
GL_ACCT6_FK,
GL_ACCT7_FK,
GL_ACCT8_FK,
GL_ACCT9_FK,
HELD_BY,
HOLD_BY_EMPLOYEE_FK,
HOLD_COUNT,
HOLD_DATA_PK,
HOLD_DATE,
HOLD_DATE_FK,
HOLD_FK,
HOLD_LOOKUP_CODE,
HOLD_REASON,
HOLD_RELEASE_COUNT,
HOLD_RELEASE_DAYS,
INSTANCE,
INSTANCE_FK,
INV_AMT_B,
INV_AMT_G,
INV_AMT_T,
INV_CURRENCY_FK,
INV_FK,
INV_NUM,
INV_SOURCE,
INV_SOURCE_FK,
INV_TYPE,
LAST_UPDATE_DATE,
ORG_FK,
PAYMENT_TERM_FK,
RELEASE_FK,
RELEASE_LOOKUP_CODE,
RELEASE_REASON,
SIC_CODE_FK,
SOB_FK,
SUPPLIER_FK,
SUPPLIER_SITE_ID,
USER_ATTRIBUTE1,
USER_ATTRIBUTE10,
USER_ATTRIBUTE2,
USER_ATTRIBUTE3,
USER_ATTRIBUTE4,
USER_ATTRIBUTE5,
USER_ATTRIBUTE6,
USER_ATTRIBUTE7,
USER_ATTRIBUTE8,
USER_ATTRIBUTE9,
USER_FK1,
USER_FK2,
USER_FK3,
USER_FK4,
USER_FK5,
USER_MEASURE1,
USER_MEASURE2,
USER_MEASURE3,
USER_MEASURE4,
USER_MEASURE5,
OPERATION_CODE,
COLLECTION_STATUS,
FROM_CURRENCY,
TRANSACTION_DATE)
select
CCID,
DECODE(g_acct_or_inv_date,1,GL_DATE,INVOICE_DATE),
NVL(DUNS_FK,'NA_EDW'),
NVL(GEOGRAPHY_FK,'NA_EDW'),
NVL(GL_ACCT10_FK,'NA_EDW'),
NVL(GL_ACCT1_FK,'NA_EDW'),
NVL(GL_ACCT2_FK,'NA_EDW'),
NVL(GL_ACCT3_FK,'NA_EDW'),
NVL(GL_ACCT4_FK,'NA_EDW'),
NVL(GL_ACCT5_FK,'NA_EDW'),
NVL(GL_ACCT6_FK,'NA_EDW'),
NVL(GL_ACCT7_FK,'NA_EDW'),
NVL(GL_ACCT8_FK,'NA_EDW'),
NVL(GL_ACCT9_FK,'NA_EDW'),
HELD_BY,
NVL(HOLD_BY_EMPLOYEE_FK,'NA_EDW'),
HOLD_COUNT,
HOLD_DATA_PK,
HOLD_DATE,
NVL(HOLD_DATE_FK,'NA_EDW'),
NVL(HOLD_FK,'NA_EDW'),
HOLD_LOOKUP_CODE,
HOLD_REASON,
HOLD_RELEASE_COUNT,
HOLD_RELEASE_DAYS,
INSTANCE,
NVL(INSTANCE_FK,'NA_EDW'),
INV_AMT_B,
round((INV_AMT_B*GLOBAL_CURRENCY_RATE)/l_mau)*l_mau,
INV_AMT_T,
NVL(INV_CURRENCY_FK,'NA_EDW'),
NVL(INV_FK,'NA_EDW'),
INV_NUM,
INV_SOURCE,
NVL(INV_SOURCE_FK,'NA_EDW'),
INV_TYPE,
LAST_UPDATE_DATE,
NVL(ORG_FK,'NA_EDW'),
NVL(PAYMENT_TERM_FK,'NA_EDW'),
NVL(RELEASE_FK,'NA_EDW'),
RELEASE_LOOKUP_CODE,
RELEASE_REASON,
NVL(SIC_CODE_FK,'NA_EDW'),
NVL(SOB_FK,'NA_EDW'),
NVL(SUPPLIER_FK,'NA_EDW'),
SUPPLIER_SITE_ID,
USER_ATTRIBUTE1,
USER_ATTRIBUTE10,
USER_ATTRIBUTE2,
USER_ATTRIBUTE3,
USER_ATTRIBUTE4,
USER_ATTRIBUTE5,
USER_ATTRIBUTE6,
USER_ATTRIBUTE7,
USER_ATTRIBUTE8,
USER_ATTRIBUTE9,
NVL(USER_FK1,'NA_EDW'),
NVL(USER_FK2,'NA_EDW'),
NVL(USER_FK3,'NA_EDW'),
NVL(USER_FK4,'NA_EDW'),
NVL(USER_FK5,'NA_EDW'),
USER_MEASURE1,
USER_MEASURE2,
USER_MEASURE3,
USER_MEASURE4,
USER_MEASURE5,
NULL, -- OPERATION_CODE
decode(GLOBAL_CURRENCY_RATE,
NULL, 'RATE NOT AVAILABLE',
-1, 'RATE NOT AVAILABLE',
-2, 'RATE NOT AVAILABLE',
'LOCAL READY'),
FROM_CURRENCY,
TRANSACTION_DATE
from FII_AP_HOLD_DATA_FCV;
Insert Into FII_AP_HOLD_DATA_FSTG@EDW_APPS_TO_WH(
CCID,
CREATION_DATE,
DUNS_FK,
GEOGRAPHY_FK,
GL_ACCT10_FK,
GL_ACCT1_FK,
GL_ACCT2_FK,
GL_ACCT3_FK,
GL_ACCT4_FK,
GL_ACCT5_FK,
GL_ACCT6_FK,
GL_ACCT7_FK,
GL_ACCT8_FK,
GL_ACCT9_FK,
HELD_BY,
HOLD_BY_EMPLOYEE_FK,
HOLD_COUNT,
HOLD_DATA_PK,
HOLD_DATE,
HOLD_DATE_FK,
HOLD_FK,
HOLD_LOOKUP_CODE,
HOLD_REASON,
HOLD_RELEASE_COUNT,
HOLD_RELEASE_DAYS,
INSTANCE,
INSTANCE_FK,
INV_AMT_B,
INV_AMT_G,
INV_AMT_T,
INV_CURRENCY_FK,
INV_FK,
INV_NUM,
INV_SOURCE,
INV_SOURCE_FK,
INV_TYPE,
LAST_UPDATE_DATE,
ORG_FK,
PAYMENT_TERM_FK,
RELEASE_FK,
RELEASE_LOOKUP_CODE,
RELEASE_REASON,
SIC_CODE_FK,
SOB_FK,
SUPPLIER_FK,
SUPPLIER_SITE_ID,
USER_ATTRIBUTE1,
USER_ATTRIBUTE10,
USER_ATTRIBUTE11,
USER_ATTRIBUTE12,
USER_ATTRIBUTE13,
USER_ATTRIBUTE14,
USER_ATTRIBUTE15,
USER_ATTRIBUTE2,
USER_ATTRIBUTE3,
USER_ATTRIBUTE4,
USER_ATTRIBUTE5,
USER_ATTRIBUTE6,
USER_ATTRIBUTE7,
USER_ATTRIBUTE8,
USER_ATTRIBUTE9,
USER_FK1,
USER_FK10,
USER_FK2,
USER_FK3,
USER_FK4,
USER_FK5,
USER_FK6,
USER_FK7,
USER_FK8,
USER_FK9,
USER_MEASURE1,
USER_MEASURE2,
USER_MEASURE3,
USER_MEASURE4,
USER_MEASURE5,
OPERATION_CODE,
COLLECTION_STATUS)
select
CCID,
CREATION_DATE,
NVL(DUNS_FK,'NA_EDW'),
NVL(GEOGRAPHY_FK,'NA_EDW'),
NVL(GL_ACCT10_FK,'NA_EDW'),
NVL(GL_ACCT1_FK,'NA_EDW'),
NVL(GL_ACCT2_FK,'NA_EDW'),
NVL(GL_ACCT3_FK,'NA_EDW'),
NVL(GL_ACCT4_FK,'NA_EDW'),
NVL(GL_ACCT5_FK,'NA_EDW'),
NVL(GL_ACCT6_FK,'NA_EDW'),
NVL(GL_ACCT7_FK,'NA_EDW'),
NVL(GL_ACCT8_FK,'NA_EDW'),
NVL(GL_ACCT9_FK,'NA_EDW'),
HELD_BY,
NVL(HOLD_BY_EMPLOYEE_FK,'NA_EDW'),
HOLD_COUNT,
substrb(HOLD_DATA_PK,1,300),
HOLD_DATE,
NVL(HOLD_DATE_FK,'NA_EDW'),
NVL(HOLD_FK,'NA_EDW'),
substrb(HOLD_LOOKUP_CODE,1,25),
substrb(HOLD_REASON,1,240),
HOLD_RELEASE_COUNT,
HOLD_RELEASE_DAYS,
substrb(INSTANCE,1,40),
NVL(INSTANCE_FK,'NA_EDW'),
INV_AMT_B,
INV_AMT_G,
INV_AMT_T,
NVL(INV_CURRENCY_FK,'NA_EDW'),
NVL(INV_FK,'NA_EDW'),
substrb(INV_NUM,1,50),
substrb(INV_SOURCE,1,25),
NVL(INV_SOURCE_FK,'NA_EDW'),
substrb(INV_TYPE,1,25),
LAST_UPDATE_DATE,
NVL(ORG_FK,'NA_EDW'),
NVL(PAYMENT_TERM_FK,'NA_EDW'),
NVL(RELEASE_FK,'NA_EDW'),
substrb(RELEASE_LOOKUP_CODE,1,25),
substrb(RELEASE_REASON,1,240),
NVL(SIC_CODE_FK,'NA_EDW'),
NVL(SOB_FK,'NA_EDW'),
NVL(SUPPLIER_FK,'NA_EDW'),
SUPPLIER_SITE_ID,
USER_ATTRIBUTE1,
USER_ATTRIBUTE10,
USER_ATTRIBUTE11,
USER_ATTRIBUTE12,
USER_ATTRIBUTE13,
USER_ATTRIBUTE14,
USER_ATTRIBUTE15,
USER_ATTRIBUTE2,
USER_ATTRIBUTE3,
USER_ATTRIBUTE4,
USER_ATTRIBUTE5,
USER_ATTRIBUTE6,
USER_ATTRIBUTE7,
USER_ATTRIBUTE8,
USER_ATTRIBUTE9,
NVL(USER_FK1,'NA_EDW'),
NVL(USER_FK10,'NA_EDW'),
NVL(USER_FK2,'NA_EDW'),
NVL(USER_FK3,'NA_EDW'),
NVL(USER_FK4,'NA_EDW'),
NVL(USER_FK5,'NA_EDW'),
NVL(USER_FK6,'NA_EDW'),
NVL(USER_FK7,'NA_EDW'),
NVL(USER_FK8,'NA_EDW'),
NVL(USER_FK9,'NA_EDW'),
USER_MEASURE1,
USER_MEASURE2,
USER_MEASURE3,
USER_MEASURE4,
USER_MEASURE5,
NULL, -- OPERATION_CODE
'READY'
from FII_AP_HOLD_DATA_FSTG
where collection_status = 'LOCAL READY';
l_stmt := ' INSERT INTO fii_ap_tmp_hold_pk (Primary_Key1,Primary_Key5 )
SELECT
ah.invoice_id,
:g_acct_or_inv_date
FROM ap_holds_all ah,
ap_invoices_all ai
WHERE ai.last_update_date BETWEEN :g_push_date_range1 and :g_push_date_range2
AND ai.invoice_id = ah.invoice_id
AND ai.cancelled_date IS NULL'||l_er_stmt||'
UNION
SELECT
ah.invoice_id,
:g_acct_or_inv_date
FROM ap_holds_all ah,
ap_invoices_all ai
WHERE ah.last_update_date BETWEEN :g_push_date_range1 and :g_push_date_range2
AND ai.invoice_id = ah.invoice_id
AND ai.cancelled_date IS NULL'||l_er_stmt;
cursor c1 is select DISTINCT FROM_CURRENCY,
CREATION_DATE CONVERSION_DATE,
COLLECTION_STATUS
From FII_AP_HOLD_DATA_FSTG
where (COLLECTION_STATUS='RATE NOT AVAILABLE'
OR COLLECTION_STATUS = 'INVALID CURRENCY')
AND trunc(CREATION_DATE) <= trunc(sysdate);
cursor c2 is select DISTINCT FROM_CURRENCY,
CREATION_DATE CONVERSION_DATE,
COLLECTION_STATUS
From FII_AP_HOLD_DATA_FSTG
where (COLLECTION_STATUS='RATE NOT AVAILABLE'
OR COLLECTION_STATUS = 'INVALID CURRENCY' )
AND trunc(CREATION_DATE) > trunc(sysdate);
execute immediate 'select count(*) from FII_AP_HOLD_MSNG_RATES' into l_count;
insert into fii_ap_hold_msng_rates(Primary_Key1,
Primary_key2,
Primary_key3)
select Primary_key1,
Primary_key2,
Primary_Key5
from fii_ap_tmp_hold_pk;
Insert into fii_ap_tmp_hold_pk(Primary_Key1,
Primary_Key2,
Primary_Key5)
select Primary_Key1,
Primary_Key2,
Primary_Key3
from fii_ap_hold_msng_rates;
DELETE_STG;
edw_log.put_line('Inserted '||nvl(g_row_count,0)||
' rows into the local staging table');
select count(*) into rows from FII_AP_TMP_HOLD_PK;
INSERT_MISSING_RATES_IN_TMP;
select /*+ FULL(SP) CACHE(SP) */
warehouse_currency_code into l_to_currency
from edw_local_system_parameters SP;
DELETE_STG;
delete from fii_ap_hold_msng_rates;
insert into fii_ap_hold_msng_rates(Primary_Key1,
Primary_Key2,
Primary_Key3)
select Primary_Key1,
Primary_Key2,
Primary_Key5
from fii_ap_tmp_hold_pk;
edw_log.put_line('Inserted '||nvl(g_row_count,0)||
' rows into the staging table');
edw_log.put_line('Inserted '||nvl(g_row_count,0)||
' rows into the staging table');
edw_log.put_line('Inserting into local staging have failed');