Search Results is_batch_num_unique




Overview

APPS.FUN_TRX_PVT is a private (PVT) PL/SQL package within the Oracle E-Business Suite Receivables funds transfer and reconciliation module. It encapsulates the core validation, distribution generation, and batch/transaction lifecycle logic used by the Funds Transfer (FUN) subsystem, which supports intercompany and intracompany fund transfers between bank accounts, organizational units, and ledgers. The package operates under the APPS schema and carries a documented status of VALID in both ETRM 12.1.1 and 12.2.2.

Because the package is classified as PVT, it is not intended as a public integration API. Instead, it is invoked internally by the public interfaces and workflow components of the FUN module. Its responsibilities span three functional areas: validating incoming batch, transaction, and distribution records; generating accounting distributions including intercompany distributions; and managing reverse batches, reverse transactions, and transaction status transitions. This internal placement ensures that the calling packages — FUN_TRX_PUB, the batch transfer programs, and the funds transfer workflow — share a consistent set of rules for data integrity and accounting correctness.

Key Procedures and Functions

The documented interface exposes 31 procedures and functions. Validation routines dominate: INT_BATCH_VALIDATE, INIT_TRX_VALIDATE, INIT_DIST_VALIDATE, and INIT_IC_DIST_VALIDATE initialize batch-, transaction-, distribution-, and intercompany-distribution-level validation respectively, while INI_RECIPIENT_VALIDATE and RECIPIENT_VALIDATE govern recipient party data. Targeted functions such as IS_PARTY_VALID, IS_AR_VALID, IS_TRX_TYPE_VALID, IS_INIT_GL_DATE_VALID, and IS_CURR_FLD_VALID perform discrete field and reference checks on party, receivables, transaction type, GL date, and currency values. IS_INIT_TRX_AMT_VALID and IS_BATCH_BALANCE enforce monetary and balancing rules, including batch balance verification, while IS_BATCH_NUM_UNIQUE guarantees batch number uniqueness and IS_RECI_NOT_DUPLICATED prevents duplicate recipient entries.

Generation and lifecycle routines include INIT_GENERATE_DISTRIBUTIONS, which drives creation of distribution lines; CREATE_REVERSE_BATCH and CREATE_REVERSE_TRX, which instantiate reversal records; UPDATE_TRX_STATUS, which advances transaction state; and SET_RETURN_STATUS, the standard mechanism for communicating success or failure back to the calling layer. These procedures collectively form the private engine behind public funds transfer operations.

Tables Accessed

The package reads and writes the core FUN transaction model plus supporting reference tables. Transactional tables include FUN_TRX_BATCHES and its _S shadow table, FUN_TRX_HEADERS and _S, FUN_TRX_LINES and _S, FUN_BATCH_DISTS and _S, and FUN_DIST_LINES and _S, which together store batches, headers, lines, and generated distribution lines. FUN_SYSTEM_OPTIONS supplies module configuration that governs validation and generation behavior. Setup and reference tables include FND_CURRENCIES (currency validation), GL_LEDGERS, GL_LEDGER_LE_BSV_GT, and GL_PERIODS (ledger, balancing segment value, and period validation). Access to these tables is made through APPS synonyms.

Usage Notes

FUN_TRX_PVT is referenced by eleven other packages, including FUN_AP_TRANSFER, FUN_AR_BATCH_TRANSFER, FUN_GL_TRANSFER, FUN_INITIATOR_WF_PKG, FUN_RECIPIENT_WF, FUN_TRX_PUB, FUN_TRX_PVT_W, FUN_WEBADI_PKG, and FUN_WF_COMMON. Invocation therefore occurs indirectly: transfer concurrent programs (AP, AR, and GL transfers), the funds transfer workflow (initiator and recipient activities), the public FUN_TRX_PUB API, the web ADI loader, and wrapper packages all call these private routines. Custom code should integrate through FUN_TRX_PUB or the documented workflow rather than calling FUN_TRX_PVT directly, since its signature and behavior are not guaranteed across releases.