Search Results print_log
Overview
APPS.JAI_PAN_UPDATE_PKG is an Oracle E-Business Suite PL/SQL package body owned by the APPS schema. It is classified under the ETRM as an "OTHER" API object and forms part of the Oracle Financials for India localization layer, specifically the Tax Deducted at Source (TDS) functionality. The package provides the technical mechanism for propagating a change of a vendor's Permanent Account Number (PAN) across the dependent TDS and withholding records that reference that vendor. Because the PAN is the statutory identifier under which Indian TDS thresholds, sections, and tax withholding groups are validated, any correction or re-issue of a vendor PAN must be cascaded consistently through the India-localized TDS tables; otherwise withholding calculations, threshold tracking, and statutory reporting would reference a stale identifier. The package encapsulates this cascade behind a single callable entry point so that forms, concurrent programs, or custom code need not perform the multi-table update manually.
Key Procedures and Functions
The ETRM metadata documents one public procedure, PAN_UPDATE, together with an internal helper, PRINT_LOG. Parameter lists are not repeated here.
- PAN_UPDATE — The principal entry point of the package. It accepts the vendor to be processed, the existing (old) PAN number, the replacement (new) PAN number, and a debug flag, and returns a standard concurrent-program error buffer and return code. Internally it locks the affected withholding threshold group rows with a cursor declared
FOR UPDATE ... NOWAIT, guaranteeing that no concurrent process can modify the same vendor/threshold records mid-update. The documented comment within the source states the update order explicitly: (1) JAI_AP_TDS_VENDOR_HDRS, (2) JAI_AP_TDS_THHOLD_GRPS, and (3) JAI_AP_TDS_THHOLD_XCEPS. Local variables are maintained to accumulate the identifiers of updated vendor sites, threshold groups, and threshold exceptions. - Print_Log — A private logging utility. It writes a message to the concurrent manager log file only when the debug parameter is set to 'Y'. Long messages are chunked into 80-character segments before being emitted through
FND_FILE.PUT_LINE(FND_FILE.LOG, ...). The exception handler suppresses the internal SQLAP/AP_DEBUG error and re-raises viaAPP_EXCEPTION.RAISE_EXCEPTION. This routine is the direct answer to a search for "print_log": it is the diagnostic output path used by PAN_UPDATE when a debug flag is supplied.
Tables Accessed
The package reads and writes the following India-localized TDS tables, referenced through APPS synonyms:
- JAI_AP_TDS_VENDOR_HDRS — Holds vendor-level TDS header information, including the PAN number; the primary target of the PAN substitution.
- JAI_AP_TDS_THHOLD_GRPS — Withholding threshold group definitions. Rows matching the vendor and old PAN are locked with
FOR UPDATEand updated with the new PAN, preserving threshold slab and accumulated amount tracking. - JAI_AP_TDS_THHOLD_XCEPS — Withholding threshold exceptions, updated to keep exception records aligned with the new PAN.
- JAI_AP_TDS_PAN_CHANGES and JAI_AP_TDS_PAN_CHANGES_S — The PAN change audit/transaction tables and their sequence, recording the history of PAN modifications applied by the process.
Usage Notes
PAN_UPDATE is designed to be invoked as a concurrent program or from a supporting Oracle Forms session, since its signature returns P_errbuf and P_return_code in the standard concurrent-program convention. The debug flag can be passed as 'Y' to force PRINT_LOG output into the request log, which is useful when diagnosing why a particular vendor, threshold group, or exception was or was not updated. The NOWAIT lock on the threshold group cursor means that concurrent execution against the same vendor can fail with an Oracle resource-busy error; callers should therefore submit one PAN change per vendor and avoid parallel runs against the same vendor identifier. Custom code may call the package directly, but the caller must supply a valid vendor ID and a consistent old/new PAN pair; the audit tables in the JAI_AP_TDS_PAN_CHANGES family provide the trail of what was changed. Because the package is documented as referenced by zero other packages, it is a top-level utility rather than a shared library, and any dependency on it is through direct invocation from forms, concurrent manager, or bespoke PL/SQL. No ETRM-documented parameter lists are published beyond the metadata above; integrators should confirm the exact signature in the APPS schema of their specific release (12.1.1 or 12.2.2) before calling it.
-
PACKAGE BODY: APPS.JAI_PAN_UPDATE_PKG
12.2.2
-
PACKAGE BODY: APPS.JAI_PAN_UPDATE_PKG
12.1.1
-
PACKAGE BODY: APPS.JTF_TTY_CAL_METRICS_PVT
12.2.2
-
PACKAGE BODY: APPS.PON_EMD_AR_INTEGRATION_GRP
12.2.2
-
PACKAGE BODY: APPS.PON_OPEN_INTERFACE_PUB
12.2.2
-
PACKAGE BODY: APPS.JTF_TTY_CAL_METRICS_PVT
12.1.1
-
PACKAGE BODY: APPS.PON_OPT_PKG
12.1.1
-
PACKAGE BODY: APPS.PON_OPT_PKG
12.2.2
-
PACKAGE BODY: APPS.PON_AUCTION_HEADERS_PKG
12.1.1
-
PACKAGE BODY: APPS.PON_AUCTION_HEADERS_PKG
12.2.2
-
PACKAGE BODY: APPS.PON_OPEN_INTERFACE_PVT
12.2.2
-
PACKAGE BODY: APPS.PON_RESPONSE_PVT
12.2.2
-
PACKAGE BODY: APPS.PON_RESPONSE_PVT
12.1.1
-
APPS.JTF_TTY_CAL_METRICS_PVT SQL Statements
12.1.1
-
APPS.JTF_TTY_CAL_METRICS_PVT SQL Statements
12.2.2
-
PACKAGE BODY: APPS.IBY_DISBURSE_SUBMIT_PUB_PKG
12.2.2
-
APPS.PON_AUCTION_HEADERS_PKG SQL Statements
12.1.1
-
APPS.PON_AUCTION_HEADERS_PKG SQL Statements
12.2.2
-
APPS.PON_RESPONSE_PVT SQL Statements
12.1.1
-
PACKAGE: APPS.PON_OPEN_INTERFACE_PUB
12.2.2
-
PACKAGE: APPS.JTF_TTY_WORKFLOW_POP_BIN_PVT
12.1.1
-
PACKAGE BODY: APPS.JTF_TTY_WORKFLOW_POP_BIN_PVT
12.1.1
-
PACKAGE BODY: APPS.JTF_TTY_WORKFLOW_POP_BIN_PVT
12.2.2
-
PACKAGE: APPS.JTF_TTY_WORKFLOW_POP_BIN_PVT
12.2.2
-
APPS.PON_EMD_AR_INTEGRATION_GRP SQL Statements
12.2.2
-
APPS.PON_RESPONSE_PVT SQL Statements
12.2.2
-
APPS.PON_OPEN_INTERFACE_PVT SQL Statements
12.2.2
-
PACKAGE BODY: APPS.JAI_CMN_UTILS_PKG
12.1.1
-
PACKAGE BODY: APPS.FLM_MMM_CALCULATION
12.2.2
-
PACKAGE BODY: APPS.FLM_MMM_CALCULATION
12.1.1
-
PACKAGE BODY: APPS.JAI_AP_UTILS_PKG
12.1.1
-
PACKAGE BODY: APPS.JAI_CMN_UTILS_PKG
12.2.2
-
PACKAGE BODY: APPS.EAM_ASSET_OPERATION_TXN_PUB
12.2.2
-
PACKAGE BODY: APPS.EAM_ASSET_OPERATION_TXN_PUB
12.1.1
-
APPS.JAI_PAN_UPDATE_PKG SQL Statements
12.2.2
-
APPS.JAI_PAN_UPDATE_PKG SQL Statements
12.1.1
-
APPS.IBY_DISBURSE_SUBMIT_PUB_PKG SQL Statements
12.2.2
-
PACKAGE BODY: APPS.JAI_AP_UTILS_PKG
12.2.2
-
PACKAGE BODY: APPS.JAI_FBT_PROCESS_P
12.1.1
-
PACKAGE: APPS.EAM_ASSET_OPERATION_TXN_PUB
12.2.2
-
PACKAGE: APPS.EAM_ASSET_OPERATION_TXN_PUB
12.1.1
-
PACKAGE BODY: APPS.OKL_VENDOR_REFUND_PVT
12.2.2
-
PACKAGE BODY: APPS.OKL_VENDOR_REFUND_PVT
12.1.1
-
PACKAGE: APPS.EAM_ASSETATTR_GRP_PUB
12.1.1
-
PACKAGE: APPS.EAM_ACTIVITYSUPN_PUB
12.2.2
-
PACKAGE: APPS.EAM_ACTIVITYSUPN_PUB
12.1.1
-
PACKAGE: APPS.JAI_CMN_UTILS_PKG
12.1.1
-
PACKAGE: APPS.EAM_ASSETATTR_GRP_PUB
12.2.2
-
PACKAGE: APPS.ECX_DEBUG
12.1.1
-
PACKAGE: APPS.ECX_DEBUG
12.2.2