GL INTERFACES _Differences_Interface and API
GL INTERFACES _Differences_Interface and API
Create a Package with validations to move the data into Interface Tables
CREATE OR REPLACE PACKAGEXXGL_DRATES_PKG
is
PROCEDURE DAILY_RATES_PRC(retcode outnumber,errbuff out varchar2);
END;
CREATE OR REPLACE PACKAGE BODY XXGL_DRATES_PKG
is
PROCEDURE DAILY_RATES_PRC(retcodeout number, errbuff out varchar2)
Is
Cursor cur_drates is
SelectFROM_CURRENCY, TO_CURRENCY, FROM_CONVERSION_DATE ,TO_CONVERSION_DATE ,
USER_CONVERSION_TYPE, CONVERSION_RATE , MODE_FLAG FROMXXGL_DRATES_STG;
LV_FROM_CURRENCYVARCHAR2(15);
LV_TO_CURRENCYVARCHAR2(15);
LV_USER_CONVERSION_TYPEVARCHAR2(30);
LV_CONVERSION_RATE NUMBER;
LV_ERR_FLAGVARCHAR2(1):= 'A';
BEGIN
FOR i IN CUR_DRATES
LOOP
BEGIN
SelectCURRENCY_CODE into LV_FROM_CURRENCY FROM
FND_CURRENCIESwhere CURRENCY_CODE=i.FROM_CURRENCY;
Exception
WhenNO_DATA_FOUND Then
lv_from_currency := null;
lv_err_flag :='E';
FND_FILE.PUT_line(FND_FILE.LOG,'The Currency Code is not defined
/not enabled if not enabled enable it.');
end;
FND_FILE.PUT_line(FND_FILE.LOG,'The Currency Code inserting IS--'
|| LV_FROM_CURRENCY );
BEGIN
Select CURRENCY_CODEinto LV_TO_CURRENCY
FROM FND_CURRENCIES whereENABLED_FLAG='Y'
ANDCURRENCY_CODE=i.To_CURRENCY;
Exception
When NO_DATA_FOUNDThen
lv_from_currency := null;
lv_err_flag :='E';
FND_FILE.PUT_line(FND_FILE.LOG,'The Currency Code is not defined
/not enabled if not enabled enable it.');
end;
FND_FILE.PUT_line(FND_FILE.LOG,'The Currency Code inserting IS--'
|| LV_TO_CURRENCY );
BEGIN
SelectUSER_CONVERSION_TYPE into LV_USER_CONVERSION_TYPE
FROMGL_DAILY_CONVERSION_TYPESwhere
USER_CONVERSION_TYPE=i.USER_CONVERSION_TYPE;
Exception
When NO_DATA_FOUND Then
LV_USER_CONVERSION_TYPE :=null;
lv_err_flag := 'E';
FND_FILE.PUT_line(FND_FILE.LOG,'The USER_CONVERSION_TYPE is not defined.');
end;
FND_FILE.PUT_line(FND_FILE.LOG,'The USER_CONVERSION_TYPE inserting IS--'
||LV_USER_CONVERSION_TYPE );
BEGIN
SelectUSER_CONVERSION_TYPE into LV_USER_CONVERSION_TYPE
FROMGL_DAILY_CONVERSION_TYPESwhere
USER_CONVERSION_TYPE=i.USER_CONVERSION_TYPE;
Exception
When NO_DATA_FOUND Then
LV_USER_CONVERSION_TYPE :=null;
lv_err_flag := 'E';
FND_FILE.PUT_line(FND_FILE.LOG,'The USER_CONVERSION_TYPE is not defined.');
end;
FND_FILE.PUT_line(FND_FILE.LOG,'The USER_CONVERSION_TYPE inserting IS--'
||LV_USER_CONVERSION_TYPE );
IF LV_ERR_FLAG='A' THEN
INSERTINTO GL_DAILY_RATES_INTERFACE (
FROM_CURRENCY,TO_CURRENCY,
FROM_CONVERSION_DATE, TO_CONVERSION_DATE,
USER_CONVERSION_TYPE,CONVERSION_RATE,
MODE_FLAG)
VALUES(
LV_FROM_CURRENCY,LV_TO_CURRENCY,
I.FROM_CONVERSION_DATE, I.TO_CONVERSION_DATE
, LV_USER_CONVERSION_TYPE,I.CONVERSION_RATE
, I.MODE_FLAG);
END IF;
ENDLOOP;
COMMIT;
END;
END XXGL_DRATES_PKG;