Search Results validate_filter_row




Overview

AMS_ADV_FILTER_PVT is a private (PVT) PL/SQL package body in the Oracle E-Business Suite Advanced Marketing (AMS) module. Its business function is to encapsulate the persistence and retrieval logic behind audience and list filter definitions used during campaign and audience segmentation. Filters in AMS are keyed to personalization query constructs, and this package serves as the programmatic layer that creates, maintains, validates, copies, and reads the filter records stored in the JTF personalization query tables.

As a private package, AMS_ADV_FILTER_PVT is not a public application programming interface. It is invoked internally by higher-level AMS public APIs and UI-layer code that manage audience filters. The header comment identifies an early history entry for bug fix 3104201 and the "Audience Data Sources Uptake" work, confirming the package's role in the audience data source infrastructure.

Key Procedures and Functions

The package exposes eight documented procedures and functions, all addressing the filter lifecycle:

  • CREATE_FILTER_ROW — Inserts a new filter definition, returning the generated query parameter identifier. It acquires a sequence value from JTF_PERZ_QUERY_PARAM_S and observes standard FND_API conventions for API version, commit, validation level, and message list handling.
  • UPDATE_FILTER_ROW — Modifies an existing filter record, typically after a change-detection check.
  • DELETE_FILTER_ROW — Removes a filter definition and its associated filter items.
  • VALIDATE_FILTER_ROW — Performs validation of a filter record as a whole, applying the package's business rules before persistence.
  • VALIDATE_FILTER_ROW_REC — A record-level validation routine that evaluates the individual attributes of the filter record structure.
  • CHECK_FILTER_ITEMS — Evaluates the filter item lines associated with a filter to confirm consistency and completeness.
  • GET_FILTER_DATA — The retrieval routine used to fetch filter data for a given filter or query parameter. This is the procedure most commonly targeted by callers searching for "get_filter_data," and it supplies the filter definition and its items to downstream consumers such as the segmentation engine and forms.
  • COPY_FILTER_DATA — Duplicates an existing filter definition, supporting the reuse of audience filters across campaigns.

An internal helper, CHECK_FILTER_CHANGES, compares a supplied filter record against its stored state to determine whether an update is warranted.

Tables Accessed

The package reads and writes through APPS synonyms. Filter definitions reside in the JTF personalization query tables: JTF_PERZ_QUERY, JTF_PERZ_QUERY_PARAM, and its sequence JTF_PERZ_QUERY_PARAM_S, plus JTF_PERZ_PROFILE for profile context. Source field and source type metadata come from AMS_LIST_SRC_FIELDS, AMS_LIST_SRC_TYPES, and AMS_LIST_SRC_TYPE_ASSOCS, which describe the available audience data sources and their field associations. DUAL is used for sequence retrieval, and PLITBLM supports bulk/array processing.

Usage Notes

AMS_ADV_FILTER_PVT is invoked indirectly. It is referenced by three other packages in the ETRM repository, which are the public entry points callers should normally use. Within Oracle EBS 12.1.1 and 12.2.2, the package is exercised during campaign audience setup, one-to-one fulfillment configuration, and segmentation list building, both from the AMS forms UI and from concurrent or custom programs. Because it is private, direct calls from custom code are unsupported and should be reserved for diagnostics. Standard FND_API conventions—return status, message count, and message data—apply to its DML procedures.