Search Results date_validate




Overview

IGS_PE_HZ_CONT_PREF_PKG is an Oracle E-Business Suite PL/SQL package owned by the APPS schema that supports the maintenance of contact preference records for parties in the Oracle Trading Community Architecture (TCA) model. The package belongs to the "Other" API classification within ETRM, meaning it is not published as a formal public interface but is instead invoked internally by Oracle application logic and, in some implementations, by extensions requiring validation of contact preference data. Its principal responsibility is to enforce data integrity rules governing the relationship between a contact preference's start and end dates and the underlying party record, most notably the rule that a preference start date must not precede the associated person's birth date and that a start date must not exceed its end date.

The body carries a header reference to revision 115.1, last modified 17-JUN-2003, and the naming convention IGS_PE_HZ_CONT_PREF_PKG indicates it is an iLearning/Student System (IGS) package layered over the HZ (Trading Community) schema, bridging student or person records with contact preference functionality.

Key Procedures and Functions

  • INSERT_ROW — Inserts a new contact preference row into the underlying contact preferences table. This is the primary write operation of the package and is used when a new preference (for example, a preferred communication channel or contact method) is created for a party.
  • UPDATE_ROW — Updates an existing contact preference row, allowing modification of attributes such as preference start and end dates while preserving the identifying contact preference record.

In addition to the documented procedures, the package body excerpt reveals supporting routines. date_validate is a validation routine that accepts a start date, an end date, a person identifier, an output message buffer, and a mode flag. It compares the start date against the end date (defaulting the end date to 31-DEC-4712 when null) and raises error message IGS_PE_FROM_DT_GRT_TO_DATE when the start date exceeds the end date. It then queries the person's birth date from IGS_PE_PERSON_BASE_V and raises IGS_AD_STRT_DT_LESS_BIRTH_DT when the start date precedes the birth date. When the mode parameter equals 'R', the routine raises an application exception; otherwise it returns silently after registering the message on the IGS_GE_MSG_STACK. The body also contains val_overlap_api, a local procedure intended to detect duplicate or overlapping contact preference records for the same party.

Tables Accessed

The package operates against two principal tables via APPS synonyms. HZ_CONTACT_PREFERENCES stores the contact preference records themselves and supplies the PREFERENCE_START_DATE and PREFERENCE_END_DATE columns used by the date validation logic. HZ_PARTIES supplies the party identity referenced by the person identifier and is joined indirectly through the person view. The birth date used in validation is retrieved from IGS_PE_PERSON_BASE_V, an iLearning person view built over the party and person tables.

Usage Notes

Because the package is classified as "Other" and is referenced by zero other packages, it is not part of a documented cross-package dependency chain. It is typically invoked from Oracle Forms or OAF pages that maintain contact preference details for students and other parties, and from concurrent or custom PL/SQL routines that need to insert or update preferences with date validation. Developers extending contact preference maintenance should call the insert and update procedures rather than writing directly to HZ_CONTACT_PREFERENCES so that start-date, end-date, and birth-date consistency checks are preserved. The date_validate routine is also useful as a standalone validation call, with the mode parameter controlling whether violations raise an exception or merely populate the message stack.