Search Results za_itref_upload
Overview
PY_ZA_ITREF_UPLOAD is a South African localizations package in Oracle E-Business Suite Payroll that supports the bulk upload and reconciliation of Income Tax Reference (ITREF) numbers returned by the South African Revenue Service (SARS). The package processes a delimited file containing employee identification data — certificate number, surname or trade name, first two names, initials, identity number, passport number, country of issue, date of birth, tax reference number, employee number, and status — and updates the corresponding employee ITREF records where a valid match is found.
The package body declares internal result codes that drive processing outcomes: BN (no matching employee found), CE (error occurred while processing the employee ITREF), DS (not processed because the ITREF is identical to the existing value), EU (employee ITREF updated successfully), FC (employee ITREF corrected successfully), and NA (no action taken because no ITREF number was returned by SARS, introduced under Bug 12991144). These codes are written to the action information records produced during the run, providing an audit trail of the outcome for each uploaded row.
Key Procedures and Functions
- create_payroll_action — Creates the driving row in PAY_PAYROLL_ACTIONS for a single upload run. It acquires the next payroll action identifier from PAY_PAYROLL_ACTIONS_S, then inserts a record using action type 'X' (a non-payroll, batch-style action), the supplied business group and effective date, an action population status of 'U' and action status of 'U', report type 'ZA_ITREF_UPLOAD', and report qualifier 'ZA'. The concurrent request identifier is captured from FND_GLOBAL.CONC_REQUEST_ID so the action is tied to the submitting concurrent program.
- create_action_information — Accepts a single CSV record (the csv_rec_defn structure) together with a result code, an optional error message, and an optional prior tax reference number. It obtains the next action information identifier from PAY_ACTION_INFORMATION_S and writes the per-row result into PAY_ACTION_INFORMATION, preserving both the new result and the previous ITREF value for audit purposes.
- beforeReport — A report-level trigger used to prepare data or derived values before the report output is generated.
- afterReport — A report-level trigger used to perform post-processing or cleanup once the report output has been produced.
Tables Accessed
- PAY_PAYROLL_ACTIONS and PAY_PAYROLL_ACTIONS_S — the driving payroll action row is inserted here and its identifier sequence is consumed via the synonym.
- PAY_ACTION_INFORMATION_S and PAY_ACTION_INFORMATION — sequence values and per-employee result rows are recorded, linking each processed CSV line to its outcome code and error text.
- PER_ALL_PEOPLE_F — read to match uploaded rows to employees by identity, surname, initials, or employee number before an ITREF update is applied.
- DUAL — used solely to select the next sequence values for the payroll action and action information identifiers.
- UTL_FILE — used to read the incoming delimited ITREF file supplied by SARS and to write any output or log produced during the run.
Usage Notes
The package is invoked from the South African payroll concurrent program that uploads the SARS ITREF response file. The create_payroll_action procedure is called first to establish the action context, after which the file is parsed and each row is passed to create_action_information with its outcome code. Because create_payroll_action hard-codes the report type and qualifier ('ZA_ITREF_UPLOAD' / 'ZA'), it should not be repurposed for other action types. The package is referenced by no other packages in the ETRM inventory, so it functions as a standalone entry point driven entirely by the concurrent manager. Any custom extensions should observe the documented result codes to preserve the standard reporting and reconciliation behaviour expected by SARS ITREF processing.