GL Daily Rates Upload
GL Daily Rates Upload creates and updates GL daily currency conversion rates from Excel. You enter the from and to currency, the conversion type, a date range and the rate, and the upload stages the rows and runs Oracle’s standard Daily Rates Import and Calculation program to write them into General Ledger.
When to use it
- Load a batch of new daily exchange rates for one or many currency pairs.
- Apply a single rate across a date range instead of entering each day.
- Update existing rates: download them, edit the rate, and upload again.
- Maintain rates for several conversion types in one spreadsheet.
Before you start
- Access to Blitz Report from a General Ledger responsibility that can maintain daily rates.
- The conversion type and both currencies exist and are enabled.
Step 1 – Set the parameters
Open GL Daily Rates Upload in Blitz Report and set the parameters:
| Parameter | Meaning |
|---|---|
| Upload Mode | Create opens an empty sheet; Create, Update downloads existing rates for editing and lets you add new rows. |
| Default User Conversion Type | Pre-fills the User Conversion Type on new rows. |
| From Currency / To Currency | Restrict which existing rates are downloaded. |
| Conversion Type | Restricts the download to one conversion type. |
| From Date / To Date | Restrict the download to a date range. |
For a Create, Update download, enter a From and/or To Currency and a From/To Date range.
Step 2 – Run to download the Excel file
Click Run. The Excel file downloads and opens, with one row per existing rate for Create, Update, or an empty sheet for Create.
Step 3 – Enter or change the rates
Change the Conversion Rate of a downloaded row, or add rows with the From Currency, To Currency, User Conversion Type, the From Conversion Date and To Conversion Date the rate applies across, and the Conversion Rate. Enter an Inverse Conversion Rate only when profile Daily Rates Window: Enforce Inverse Relationship During Entry is set to No; otherwise it is ignored and calculated for you.
Step 4 – Validate and Save
Click Validate and Save. This checks for missing required values and saves the file. Correct any rows it flags before uploading.
Step 5 – Upload the file
In Blitz Report click Upload and select the saved file. This submits the upload request, which stages the rows and runs Oracle’s Daily Rates Import and Calculation program to write the rates into General Ledger.
Step 6 – Review the result report
When the requests complete, a result report opens listing every row with its status and message, showing the rates as stored in General Ledger, including the calculated inverse rates.
What’s produced
- Daily conversion rates created or updated in General Ledger.
- A result report listing every row with a status (success or error) and a message.
Common questions
Does it create or update?
Both. New currency, type and date combinations are created; existing ones are updated. To change existing rates, download them in Create, Update mode and upload the edited values.
How does the rate get into GL?
The upload stages each row, then runs Oracle’s standard Daily Rates Import and Calculation program, which does the final validation and writes the rates. Upload success therefore depends on that program completing normally.
Why was my Inverse Conversion Rate ignored?
Your instance enforces the inverse relationship during entry, so the inverse is calculated and any value you enter is discarded. Enter an inverse rate only when that profile is set to No.
Can one rate cover several days?
Yes. Set the From Conversion Date and To Conversion Date and the rate applies across that range.
Why can’t I pick a currency I expected?
The currency must be enabled and active; statistical and EMU-derived currencies are excluded, and the To Currency cannot equal the From Currency.
Troubleshooting
| Message | Cause | What to do |
|---|---|---|
| Daily Rates Import and Calculation not submitted | The import request could not be submitted. | Check the reason shown and your access to run the program. |
| Daily Rates Import and Calculation completed in error | The import program ended in error or warning. | Open the named Oracle request log for the data errors, correct the rows and upload again. |
| Invalid, disabled or statistical currency | A currency on the row is not valid for daily rates. | Use an enabled, active currency (not statistical or EMU-derived). |
| Negative conversion rate | The Conversion Rate or Inverse Conversion Rate is negative. | Enter a positive rate. |
| Date range too large / duplicate rows | The date range is too wide, or the same currency, type and date appears twice. | Narrow the range or remove the duplicate rows. |
select null action_, null status_, null message_, null request_id_, null modified_columns_, null row_id, gdr.from_currency, gdr.to_currency, gdct.user_conversion_type, gdr.conversion_date from_conversion_date, gdr.conversion_date to_conversion_date, gdr.conversion_rate, 1/gdr.conversion_rate inverse_conversion_rate, xxen_util.display_flexfield_context(101,'GL_DAILY_RATES',gdr.context) attribute_context, xxen_util.display_flexfield_value(101,'GL_DAILY_RATES',gdr.context,'ATTRIBUTE1',gdr.rowid,gdr.attribute1) gl_daily_rate_attribute1, xxen_util.display_flexfield_value(101,'GL_DAILY_RATES',gdr.context,'ATTRIBUTE2',gdr.rowid,gdr.attribute2) gl_daily_rate_attribute2, xxen_util.display_flexfield_value(101,'GL_DAILY_RATES',gdr.context,'ATTRIBUTE3',gdr.rowid,gdr.attribute3) gl_daily_rate_attribute3, xxen_util.display_flexfield_value(101,'GL_DAILY_RATES',gdr.context,'ATTRIBUTE4',gdr.rowid,gdr.attribute4) gl_daily_rate_attribute4, xxen_util.display_flexfield_value(101,'GL_DAILY_RATES',gdr.context,'ATTRIBUTE5',gdr.rowid,gdr.attribute5) gl_daily_rate_attribute5, xxen_util.display_flexfield_value(101,'GL_DAILY_RATES',gdr.context,'ATTRIBUTE6',gdr.rowid,gdr.attribute6) gl_daily_rate_attribute6, xxen_util.display_flexfield_value(101,'GL_DAILY_RATES',gdr.context,'ATTRIBUTE7',gdr.rowid,gdr.attribute7) gl_daily_rate_attribute7, xxen_util.display_flexfield_value(101,'GL_DAILY_RATES',gdr.context,'ATTRIBUTE8',gdr.rowid,gdr.attribute8) gl_daily_rate_attribute8, xxen_util.display_flexfield_value(101,'GL_DAILY_RATES',gdr.context,'ATTRIBUTE9',gdr.rowid,gdr.attribute9) gl_daily_rate_attribute9, xxen_util.display_flexfield_value(101,'GL_DAILY_RATES',gdr.context,'ATTRIBUTE10',gdr.rowid,gdr.attribute10) gl_daily_rate_attribute10, xxen_util.display_flexfield_value(101,'GL_DAILY_RATES',gdr.context,'ATTRIBUTE11',gdr.rowid,gdr.attribute11) gl_daily_rate_attribute11, xxen_util.display_flexfield_value(101,'GL_DAILY_RATES',gdr.context,'ATTRIBUTE12',gdr.rowid,gdr.attribute12) gl_daily_rate_attribute12, xxen_util.display_flexfield_value(101,'GL_DAILY_RATES',gdr.context,'ATTRIBUTE13',gdr.rowid,gdr.attribute13) gl_daily_rate_attribute13, xxen_util.display_flexfield_value(101,'GL_DAILY_RATES',gdr.context,'ATTRIBUTE14',gdr.rowid,gdr.attribute14) gl_daily_rate_attribute14, xxen_util.display_flexfield_value(101,'GL_DAILY_RATES',gdr.context,'ATTRIBUTE15',gdr.rowid,gdr.attribute15) gl_daily_rate_attribute15, fu.user_name created_by, gdr.creation_date creation_date, null batch_number, xxen_util.meaning('I','GL_CRM_DR_MODE_FLAG',101) mode_flag, xxen_util.meaning('N','YES_NO',0) launch_rate_change from gl_daily_rates gdr, gl_daily_conversion_types gdct, fnd_user fu where 1=1 and :p_upload_mode like '%' || xxen_upload.action_update and nvl(:p_user_conv_type,'?') = nvl(:p_user_conv_type,'?') and gdr.conversion_type = gdct.conversion_type and gdr.created_by = fu.user_id (+) |
| Parameter Name | SQL text | Validation | |
|---|---|---|---|
| Upload Mode | LOV | ||
| Default User Conversion Type |
| LOV | |
| From Currency |
| LOV | |
| To Currency |
| LOV | |
| Conversion Type |
| LOV | |
| From Date |
| Date | |
| To Date |
| Date |





