Search Results is_reverse_entry




Overview

PSA_MFAR_ADJUSTMENTS is an Oracle Applications (APPS) PL/SQL package that belongs to the Public Sector Applications (PSA) module, specifically the Multi-Fund Accounts Receivable (MFAR) component of Oracle E-Business Suite. Its role is to create and manage the accounting distributions that arise when adjustments are applied to receivable transactions within a multi-fund environment. In public sector implementations, a single receivable may be shared across multiple funds, and any adjustment — a write-off, a credit memo, a chargeback, or a manual correction — must be redistributed proportionally across those funds so that the general ledger reflects the correct fund-level balances.

The package sits at the intersection of Oracle Receivables (AR) transaction data and the PSA multi-fund balancing tables. It reads adjustment and distribution information from core AR tables and writes the resulting fund-level distributions into the PSA multi-fund distribution table. It is classified as an OTHER API, meaning Oracle does not publish a formal, supported interface contract for it; it is intended for internal use by other PSA packages rather than direct customer invocation.

Key Procedures and Functions

The documented package exposes three procedures or functions:

  • CREATE_DISTRIBUTIONS — The principal entry point. It derives and inserts the multi-fund accounting distributions corresponding to an AR adjustment. It evaluates the adjustment against the underlying transaction lines and their existing GL distributions, then produces balanced fund-level rows in the PSA multi-fund adjustment distribution table.
  • FIND_TAX_FREIGHT_LINES — A helper routine that identifies the tax and freight lines associated with a receivable transaction. Because tax and freight amounts are distributed differently from the principal line amount, isolating these lines allows the adjustment to be allocated correctly across funds.
  • IS_REVERSE_ENTRY — A validation routine that determines whether a given adjustment represents a reversing entry. The result governs whether distributions are created in the normal or the reversed accounting direction, ensuring that the multi-fund balances remain consistent when an adjustment is backed out.

No parameter lists are published in the ETRM metadata; the signatures should be confirmed against the package specification in the target environment.

Tables Accessed

The package reads and writes a combination of Oracle Receivables and PSA multi-fund tables. Core AR sources include RA_CUSTOMER_TRX_LINES and RA_CUSTOMER_TRX_ALL (transaction lines and headers), RA_CUST_TRX_LINE_GL_DIST and RA_CUST_TRX_LINE_GL_DIST_ALL (existing line-level accounting), AR_ADJUSTMENTS and AR_ADJUSTMENTS_ALL (adjustment records), AR_DISTRIBUTIONS (accounting distributions), AR_RECEIVABLES_TRX and AR_RECEIVABLES_TRX_ALL (receivables activities, used to determine the accounting rules for the adjustment), and AR_SYSTEM_PARAMETERS. GL_CODE_COMBINATIONS supplies the accounting flexfield validation and description. The PSA-specific targets and sources are PSA_MF_TRX_DIST_ALL (multi-fund transaction distributions), PSA_MF_ADJ_DIST_ALL (multi-fund adjustment distributions, the primary write target), and the PSA_MF_BALANCES_VIEW used for balance lookups. DUAL and PLITBLM are used for standard PL/SQL utility purposes.

Usage Notes

PSA_MFAR_ADJUSTMENTS is not intended to be called directly from a form or a user-initiated concurrent program. It is referenced by two other PSA packages: PSA_MF_CREATE_DISTRIBUTIONS and PSA_XFR_TO_GL_PKG. The former drives the generation of multi-fund distributions during receivables processing, calling this package when the record in question is an adjustment rather than an invoice or debit memo. The latter invokes it as part of the transfer of multi-fund accounting entries to the general ledger, ensuring adjustment distributions are complete before the GL transfer runs. Custom code in a multi-fund public sector implementation should normally invoke PSA_MF_CREATE_DISTRIBUTIONS rather than this package directly, so that the standard creation logic and its validations remain intact.