Search Results create_fh




Overview

APPS.JAI_ETCS_PKG is an Oracle E-Business Suite PL/SQL package that implements Tax Collection at Source (TCS) processing within the Receivables module for Indian localizations. The package was originally created by CSahoo on 01-FEB-2007 under enhancement bug 5631784, and represents a forward port of 11i bug fix 4742259 titled "Tax Collection at Source in Receivables." Its principal business responsibility is the generation of statutory TCS return files in the fixed-width electronic formats mandated by the Indian Income Tax Department, together with the supporting file-handling operations required to write those returns to disk.

In Oracle EBS Release 12.1.1, the 11i code base was forward ported with the legal entity identifier retained in the package logic. Change history entry 120.2, contributed by sacsethi on 26.06.2007 under bug 6153881, records a correction for the R12RUP03-ST1 issue in which TCS return reports failed to run. The documented solution removed the legal_entity_id reference from the code, in accordance with R12 standards prohibiting the direct use of legal entity identifiers in outbound file generation logic. The package is classified as OTHER in the ETRM repository, indicating it is not an AD_DICTIONARY-visible public API but an internal localization utility.

Key Procedures and Functions

The package exposes seven documented procedures and functions. Because it is an internal utility rather than a published API, parameter lists are not part of the documented interface.

  • OPENFILE — Establishes the output file handle used for subsequently writing a return extract to the file system.
  • CLOSEFILE — Closes the active file handle and completes the physical write of the generated return.
  • CREATE_FH — Creates the file header record for an ETCS return. The package source declares positional width constants for the header layout, including line number (9), record type (2), file type (3), upload type (1), file sequence number (9), deductor TAN (10), and number of batches (9).
  • CREATE_QUARTERLY_FH — Builds the quarterly file header variant, applying the same header structure to quarterly filing frequencies.
  • GENERATE_ETCS_RETURNS — The principal driver procedure, orchestrating retrieval of TCS transaction data and production of the return file content, including challan detail and deductee detail segments.
  • YEARLY_RETURNS — Produces the annual TCS return, aggregating collection data for the full financial year.
  • QUARTERLY_RETURNS — Produces the quarterly TCS return, aggregating collection data for the applicable quarter.

The source additionally declares formatting variables such as v_pad_date, v_pad_char, v_pad_number, and v_underline_char, and fixed column widths for challan detail (batch number, challan serial number, section, amounts deducted, surcharge, cess, TCS, cheque/DD number, challan number, bank branch code, TDS deposit book entry) and deductee detail (serial number, section, deductee code, PAN, and name).

Tables Accessed

The package reads and writes the following objects through APPS synonyms:

Usage Notes

JAI_ETCS_PKG is invoked through Indian localization concurrent programs rather than through an open API. The ETRM metadata records zero referencing packages, confirming that it is a top-level driver rather than a shared library. The YEARLY_RETURNS and QUARTERLY_RETURNS procedures are typically called from concurrent program definitions that produce the annual and quarterly TCS statement files, with the CREATE_FH or CREATE_QUARTERLY_FH routine invoked first to emit the file header, GENERATE_ETCS_RETURNS performing the extract, and OPENFILE/CLOSEFILE bracketing the physical write.

The fixed-width constants defined in the specification indicate the output conforms to the Income Tax Department's prescribed e-filing layout and should not be altered without corresponding changes to the receiving utility. The removal of legal_entity_id in file version 120.2 means that any custom code that previously passed or relied on that identifier must be adjusted for R12. Because the package is not registered as a public API, direct custom calls should be avoided in favour of the delivered concurrent programs.