Search Results is_date_valid




Overview

PAY_BACM is a PL/SQL package owned by the APPS schema in Oracle E-Business Suite, delivered as part of the Oracle Payroll product family. The package header carries an Oracle Corporation (UK) Ltd copyright notice and the internal comment "Magnetic tape multi-processing day procedure," which identifies its historical role in the payroll magnetic tape processing flow. In the context of Oracle EBS 12.1.1 and 12.2.2, PAY_BACM provides supporting validation logic used by the payroll batch processes that prepare and write magnetic media output, such as BACS (Bankers' Automated Clearing System) payment files used in the United Kingdom and other direct-credit payment formats.

The package is declared AUTHID CURRENT_USER, meaning its SQL statements execute with the privileges of the invoking user rather than the definer. It is classified under API classification OTHER in the ETRM repository, indicating that it is not a public, supported business API but an internal utility package intended for use by Oracle Payroll's own code paths.

Key Procedures and Functions

The package exposes a single documented function:

  • IS_DATE_VALID — Accepts an assignment action identifier together with an override/run date and a period processing date, and returns a VARCHAR result. Based on its name and the arguments, the function evaluates whether a given effective date falls within a valid range for the specified payroll assignment action, returning an indicator value that callers use to decide whether processing may continue. The parameter list is intentionally not reproduced here; only the documented signature elements are noted.

The function is declared with PRAGMA RESTRICT_REFERENCES (is_date_valid, WNDS, WNPS). This asserts that the function writes no database state (WNDS) and writes no package state (WNPS), permitting it to be called safely from SQL statements and other read-only contexts. No other procedures or functions are declared in the package header.

Tables Accessed

ETRM records that PAY_BACM references the following base tables through APPS synonyms:

  • PAY_RUN_RESULTS — The payroll run results table, which stores the outcome of processing each assignment within a payroll run, including assignment action references and associated date information.
  • PAY_RUN_RESULT_VALUES — The detail table holding individual balance and value entries associated with each run result row.

These tables supply the assignment action context and date data that IS_DATE_VALID evaluates. Because the package restricts references to WNDS, any access to these tables is read-only; the package does not insert, update, or delete payroll data.

Usage Notes

PAY_BACM is invoked by Oracle Payroll's magnetic tape and electronic payment processing programs rather than by end users directly. Typical invocation paths include the payroll payment file generation concurrent programs and any custom code that extends or replicates that processing for regional direct-credit formats. Because the package is AUTHID CURRENT_USER, callers must themselves hold the necessary privileges on the underlying PAY_RUN_RESULTS and PAY_RUN_RESULT_VALUES tables, and the package must be executed from a session where the APPS synonyms resolve correctly.

The ETRM metadata records zero packages referencing PAY_BACM, and it is not exposed through any standard Oracle Forms interface. Developers integrating with the object should treat it as an internal, unsupported utility. Its function signature and behaviour are not guaranteed across patches or releases, and the WNDS/WNPS pragma restrictions mean it must not be wrapped in logic that assumes side effects. The relevant date semantics — how the override run date and period processing date interact with the assignment action — should be validated against the specific payroll configuration before the function is reused in custom validation code.