Search Results fun_gl_batch_transfer




Overview

APPS.FUN_GL_BATCH_TRANSFER is a PL/SQL package in Oracle E-Business Suite that supports the transfer of foreign-currency transaction batches into the General Ledger as journal entries. It is part of the Oracle Financials for the United States / Global Accounting family (the FUN module prefix) and operates under AUTHID CURRENT_USER, meaning its SQL statements execute with the privileges of the invoking schema rather than the package owner. The package sits between the transaction-level tables that hold foreign currency batches (FUN_TRANSFERS, FUN_TRX_BATCHES, FUN_TRX_HEADERS) and the GL_INTERFACE staging tables used by the Journal Import process. Its primary business purpose is to consolidate and validate foreign-currency batch data, apply currency conversion logic, and hand the resulting journal lines to General Ledger either directly or via the standard Journal Import concurrent program.

The header annotation ($Header: FUNGLTRS.pls 120.5 2008/08/08) indicates the package has been stable across multiple 11i and R12 releases, and it remains present in 12.1.1 and 12.2.2.

Key Procedures and Functions

  • has_valid_conversion_rate — This function is the specific object referenced in the user's search. It validates whether a currency conversion rate exists for a given from-currency, to-currency, exchange rate type, and exchange date. It returns a NUMBER result, conventionally 1 for a valid rate and 0 (or NULL) when no rate is defined. This function is what prevents the batch transfer from creating journal lines with missing or undefined conversion rates, and it is the point at which users typically encounter errors such as "no valid conversion rate" during a batch transfer run.
  • get_conversion_type — Returns the effective conversion type (exchange rate type) for a supplied conversion type value. It is used to resolve or default the exchange rate type applied to a transfer, ensuring the correct GL_DAILY_CONVERSION_TYPES definition is used.
  • gl_batch_transfer — The main driver procedure. It is an executable/concurrent-program style procedure with errbuf OUT and retcode OUT parameters, taking date range, ledger range, legal entity range, and intercompany organization range parameters, plus flags to run journal import and to create summary journals. It selects qualifying foreign-currency batches, validates conversion rates, writes journal lines to GL_INTERFACE, and optionally submits Journal Import.

Tables Accessed

  • FUN_TRANSFERS, FUN_TRX_BATCHES, FUN_TRX_HEADERS — the source foreign-currency transfer, batch, and header records being processed.
  • GL_DAILY_CONVERSION_TYPES — supplies valid exchange rate types used by has_valid_conversion_rate and get_conversion_type.
  • GL_INTERFACE and GL_INTERFACE_CONTROL — the target staging tables where journal lines and run control records are inserted for Journal Import.
  • GL_JE_CATEGORIES_TL and GL_JE_SOURCES_TL — provide translated journal category and source names for the generated journals.
  • GL_JOURNAL_IMPORT_S — the Journal Import sequence used to group the interface run.
  • FND_NEW_MESSAGES — stores messages surfaced to the user when validation fails (for example, an invalid conversion rate).
  • WF_PARAMETER_LIST_T, DUAL, PLITBLM — utility objects used for parameter list handling, single-row queries, and PL/SQL table operations.

Usage Notes

FUN_GL_BATCH_TRANSFER is normally invoked from the Foreign Currency Batch Transfer concurrent program, which is registered against the gl_batch_transfer procedure and supplies the date, ledger, legal entity, and intercompany organization ranges. Because the procedure follows the standard errbuf/retcode convention, it can be submitted from the Concurrent Programs form or from custom code using FND_REQUEST.SUBMIT_REQUEST. The has_valid_conversion_rate function is also commonly called directly from custom validation logic, triggers, or extensions when a developer needs to confirm that a rate exists before inserting data. Since the package runs AUTHID CURRENT_USER and writes into the GL_INTERFACE tables, it must be invoked by a user with the appropriate GL and FUN responsibilities; the referenced tables are all accessed through APPS synonyms. No other documented packages reference FUN_GL_BATCH_TRANSFER, so its dependencies are one-directional into the GL interface layer.