Search Results is_ar_valid




Overview

FUN_TRX_PVT is the private validation and transaction-processing engine for Oracle E-Business Funds Management (formerly Treasury) transaction entry. Residing in the APPS schema and classified as a PVT (private) API, it contains the low-level business rules that govern whether a funds transaction, batch, distribution, or counterparty is fit to be recorded, generated, or reversed. The package body encapsulates the core validations used by the public Funds Management APIs and the transaction entry forms, ensuring that amounts, dates, currencies, parties, and transaction types conform to the ledger's setup before any row is committed to the FUN transaction tables.

A specific point of interest is the IS_AR_VALID function. The source comments document its purpose directly: "WebADI needs to call is_ar_valid to determine the invoicing flag." In other words, IS_AR_VALID resolves the invoicing rule applicable to a given transaction type, ledger, and transaction entry page. It allows callers to determine whether the invoicing flag (including the special 'M' handling referenced in the comments) should be treated as valid for Accounts Receivable-originated or interfaced transactions. This is a key integration point for WebADI-based transaction uploads and for callers that need to inject the correct invoicing behavior without duplicating the Funds Management setup logic.

The body also maintains package-level state such as the ledger id, chart of accounts id, and balancing segment column name, allowing repeated validations within a session to reuse ledger context efficiently. A Set_Return_Status helper propagates the most severe status among calls, following the standard FND_API return-status convention (SUCCESS, ERROR, UNEXPECTED ERROR).

Key Procedures and Functions

Tables Accessed

The package reads and writes the FUN Funds Management schema via APPS synonyms. Transaction and batch data reside in FUN_TRX_BATCHES(_S), FUN_TRX_HEADERS(_S), FUN_TRX_LINES(_S), and the distribution tables FUN_BATCH_DISTS(_S) and FUN_DIST_LINES(_S). Setup and reference data come from FUN_SYSTEM_OPTIONS, FND_CURRENCIES, GL_LEDGERS, GL_LEDGER_LE_BSV_GT, GL_PERIODS, and HZ_PARTIES (used for party validation). GL_LEDGERS, GL_LEDGER_LE_BSV_GT, and GL_PERIODS support ledger context, balancing-segment derivation, and GL date validation; FND_CURRENCIES supports currency checks.

Usage Notes

FUN_TRX_PVT is a private package: it is not documented for direct customer calls and is invoked internally by the public Funds Management APIs, by the transaction entry forms, by WebADI transaction uploads, and by concurrent programs performing batch validation and distribution generation. The ETRM metadata indicates it is referenced by 11 other packages, confirming its role as a shared private utility layer. Custom code should call the corresponding public APIs rather than FUN_TRX_PVT; where IS_AR_VALID behavior is needed, the supported integration route is the documented public interface that internally invokes this package. Because the body holds session-level globals (G_LEDGER_ID, G_CHART_OF_ACCOUNTS_ID, G_BAL_SEG_COLUMN_NAME), callers must invoke the appropriate INIT_ procedure before validation to guarantee correct ledger context.