Search Results ar_batch_transfer




Overview

FUN_AR_BATCH_TRANSFER is a PL/SQL package owned by the APPS schema in Oracle E-Business Suite, with a documented status of VALID under both 12.1.1 and 12.2.2. Its name reflects the intersection of two functional areas: the "FUN" prefix denotes Oracle Financials for the Receivables product family within the broader Financials Common Modules, while "AR_BATCH_TRANSFER" indicates that the package is responsible for transferring Accounts Receivable transaction batches from the Receivables open interface into the live Receivables tables. The package therefore participates in the Receivables AutoInvoice and batch import flow, validating staged interface records, confirming that currency conversion rates exist, and then moving that data into the persistent transaction and distribution structures.

The ETRM record classifies the API as OTHER rather than a public, supported API, meaning it is intended for internal use by Oracle's own concurrent programs and interface logic rather than for direct invocation by customer extensions.

Key Procedures and Functions

The documented metadata lists two program units within the package:

  • HAS_VALID_CONVERSION_RATE — a validation routine that checks whether a valid currency conversion rate exists for a batch line whose transaction and ledger currencies differ. It consults the daily rates repository (GL_DAILY_RATES) and the associated ledger and period information to confirm that a rate is available for the relevant conversion date and rate type. The routine is used to gate transfer so that lines lacking a conversion rate are not posted incorrectly.
  • AR_BATCH_TRANSFER — the principal transfer procedure. It drives the movement of validated batch records out of the Receivables interface tables and into the permanent Receivables transaction tables, populating transaction headers, lines, distributions, and related receivables data along the way. It is the entry point that orchestrates the batch transfer process and calls the validation logic described above.

Tables Accessed

The package reads and writes across the Receivables interface, the Receivables transaction schema, and shared financials reference tables. Via APPS synonyms it references RA_CUST_TRX_LINE_GL_DIST_ALL, FUN_DIST_LINES, FUN_TRX_BATCHES, FUN_TRX_HEADERS, and FUN_TRX_LINES, which form the persistent transaction and distribution structures that receive transferred data. Interface staging tables RA_INTERFACE_LINES_ALL, RA_INTERFACE_DISTRIBUTIONS_ALL, and RA_INTERFACE_SALESCREDITS_ALL hold the incoming data prior to transfer.

Reference and control data is drawn from GL_DAILY_RATES, GL_LEDGERS, GL_PERIOD_STATUSES, RA_BATCH_SOURCES_ALL, XLE_ENTITY_PROFILES, HZ_CUSTOMER_PROFILES, and HZ_CUST_SITE_USES_ALL. The currency conversion check uses GL_DAILY_RATES together with ledger and period status information to determine whether a rate is available and the accounting period is open. Customer and site information from the HZ tables validates the transaction parties, while RA_BATCH_SOURCES_ALL provides the batch source definition that governs transfer behavior and accounting rules.

Usage Notes

FUN_AR_BATCH_TRANSFER is normally invoked indirectly through the Receivables batch transfer and AutoInvoice concurrent programs rather than from a form. Oracle's standard flow calls the package after interface records have been loaded and validated, with the package performing the final conversion-rate check and the physical transfer into the live transaction tables. Because the ETRM metadata records that the package is referenced by zero other packages, it is effectively a leaf-level routine in the dependency graph — Oracle's concurrent program logic drives it directly, and no other PL/SQL packages depend on it in turn.

Custom code should not call AR_BATCH_TRANSFER or HAS_VALID_CONVERSION_RATE directly. The procedures are not documented as a public API, and their signatures, error handling, and side effects may change without notice in patching or upgrades. Implementations that need to move Receivables interface data should use the supported AutoInvoice interface and standard concurrent programs, leaving this package to Oracle's internal processing.