Search Results write_to_act_log




Overview

AMS_LIST_OPTIONS_PVT is a private (PVT) PL/SQL package body owned by APPS in Oracle E-Business Suite, used by the Oracle Marketing (AMS) module. Its purpose, as stated in the package header comments, is to consolidate all code related to optional list generation processes — random list generation, suppression, maximum size restriction, and control group generation — that was previously embedded within the list generation engine. By extracting this logic into a dedicated private package, Oracle separated the configurable, optional behaviors of list generation from the core engine code, improving maintainability and allowing the list generation engine to invoke these options selectively.

The package was created by bmuthukr on 19-Jul-2005 and carries version header 120.6, reflecting a relatively mature object that has been patched over time within the AMS code line. The user's search term, p_list_header_id, appears throughout the package as the standard identifier parameter used to target a specific marketing list. In the visible source excerpt, cursors such as c_get_header_info(p_list_header_id in number) and c_get_count(p_list_header_id IN number) both key off this parameter to retrieve the header record and the count of enabled entries for a given list.

Key Procedures and Functions

ETRM documents five procedures or functions in this package; three are explicitly named in the available metadata:

  • CG_GEN_PROCESS — Handles processing related to control group generation for a marketing list. It is the public-facing entry point that coordinates the control group workflow within the list options logic.
  • CONTROL_GROUP_GENERATION — Performs the actual generation of control group entries once the list header and its enabled entries have been identified using p_list_header_id. This implements the control group feature whereby a statistically comparable subset of contacts is reserved without receiving the campaign communication.
  • APPLY_SIZE_REDUCTION — Applies maximum-size restrictions to a list, trimming entries when the enabled entry count exceeds the configured list size limit.
  • WRITE_TO_ACT_LOG — An internal logging utility that accumulates messages into a PL/SQL table (g_msg_tbl), gated by a global log level (g_log_level). It supports HIGH/LOW filtering and silently suppresses errors, and explicitly notes that no logging occurs for remote database invocations.

The package also declares package-level globals including g_list_entries_id (an index-by table of list entry IDs) and g_list_header_info (a rowtype based on the header cursor), which cache working data across procedure calls within a session.

Tables Accessed

The package reads and writes the core AMS marketing list tables through APPS synonyms:

  • AMS_LIST_HEADERS_ALL — Queried via the c_get_header_info cursor using p_list_header_id to fetch the full header row that drives all option decisions (list type, size restrictions, control group settings).
  • AMS_LIST_ENTRIES — Queried via c_get_count to count entries where enabled_flag = 'Y', establishing the working set for size reduction and control group processing; it is also the table into which generated or reduced entry sets are written.
  • DBMS_RANDOM — Invoked for random list generation and random selection of control group members.
  • PLITBLM — The PL/SQL table management package, used in connection with the index-by tables such as g_msg_tbl and g_list_entries_id.

Usage Notes

Because AMS_LIST_OPTIONS_PVT is classified as a PVT package, it is not a public API and should not be called directly from customer extensions without risk; it is referenced by one other package, which is the list generation engine that delegates optional processing to it. Typical invocation occurs during execution of the marketing list generation concurrent program, where the engine passes p_list_header_id to trigger control group generation, suppression, random selection, or size reduction as configured on the list header. Custom code should use supported public AMS APIs rather than this private package, as its signature may change between patch levels in either 12.1.1 or 12.2.2.