Search Results is_copy_attribute
Overview
APPS.AMS_CPYUTILITY_PVT_W is the public wrapper package that exposes the core copy-utility logic implemented in AMS_CPYUTILITY_PVT within Oracle E-Business Suite Release 12.1.1 and 12.2.2. The package is owned by the APPS schema and is classified as an OTHER API within the Oracle ETRM repository, meaning it is not a formally graduated or externally guaranteed interface, but is nonetheless a stable internal utility that supports the Marketing (AMS) application family. Its central purpose is to provide the plumbing required to duplicate attribute sets, column definitions, and log records when records are copied from one marketing entity to another — for example, when a campaign, event, or one-to-one promotion is duplicated along with its dependent attributes.
The "_W" suffix denotes a PL/SQL wrapper generated for cross-language or cross-tier invocation, typically via the Rosetta (JTF) table-conversion layer. This wrapper marshals PL/SQL collection types into flat JTF_VARCHAR2 and JTF_NUMBER tables so that the underlying private utility package can be called from Java, OAF, or other non-PL/SQL consumers while still passing structured metadata about which attributes should be copied.
Key Procedures and Functions
- ROSETTA_TABLE_COPY_IN_P0 / ROSETTA_TABLE_COPY_OUT_P0 — Convert the copy_attributes_table_type between PL/SQL and a JTF_VARCHAR2_TABLE_100 representation. These are the type-mapping routines that carry the list of attribute names into and out of the wrapper.
- ROSETTA_TABLE_COPY_IN_P2 / ROSETTA_TABLE_COPY_OUT_P2 — Convert copy_columns_table_type, which pairs column names (JTF_VARCHAR2_TABLE_100) with column values (JTF_VARCHAR2_TABLE_4000). Used where both identifier and payload streams must cross the boundary.
- ROSETTA_TABLE_COPY_IN_P3 / ROSETTA_TABLE_COPY_OUT_P3 — Convert log_mesg_type_table, the collection of log message types produced during a copy operation.
- ROSETTA_TABLE_COPY_IN_P4 / ROSETTA_TABLE_COPY_OUT_P4 — Convert log_mesg_txt_table, the corresponding message text collection.
- ROSETTA_TABLE_COPY_IN_P5 / ROSETTA_TABLE_COPY_OUT_P5 — Convert log_act_used_by_table, recording which activity or user consumed a given log entry.
- ROSETTA_TABLE_COPY_IN_P6 / ROSETTA_TABLE_COPY_OUT_P6 — Convert log_act_used_id_table, the numeric identifiers associated with the used-by records.
- GET_COLUMN_VALUE — Accepts a column name plus parallel name and value arrays and returns the matching column value. This is the lookup used to resolve a specific column against the copy metadata before an insert or update is attempted.
- IS_COPY_ATTRIBUTE — Returns a varchar2 flag indicating whether a given attribute name is present in the supplied attribute table. This is the function surfaced by the search term "is_copy_attribute" and is the primary gatekeeper that decides whether a particular attribute participates in a copy operation.
Tables Accessed
The only table documented as referenced through APPS synonyms is PLITBLM. This is a standard JTF/PL/SQL interface table used by the Rosetta interoperability layer to stage array-bound calls between the database and external callers. The wrapper does not itself manipulate business data; the underlying AMS_CPYUTILITY_PVT package performs the actual DML against marketing attribute tables, and PLITBLM acts as the transport mechanism for the inbound and outbound collections described above.
Usage Notes
AMS_CPYUTILITY_PVT_W is referenced by ten other packages in the ETRM inventory, confirming that it is an internal shared utility rather than a stand-alone entry point. It is typically invoked indirectly — from Marketing forms, from concurrent programs that duplicate campaigns or events, or from custom code that needs to reuse the copy-attribute filtering logic. When customizing, call IS_COPY_ATTRIBUTE to test whether an attribute is eligible for copying, and use GET_COLUMN_VALUE to retrieve its current value from the marshalled arrays. Because the package is classified OTHER and the header dates to 2003, Oracle does not guarantee its signature across releases; custom code should bind to it defensively and avoid direct dependency where an equivalent public marketing API exists.
-
PACKAGE: APPS.AMS_CPYUTILITY_PVT_W
12.1.1
-
PACKAGE: APPS.AMS_CPYUTILITY_PVT_W
12.2.2
-
PACKAGE: APPS.AMS_CPYUTILITY_PVT
12.2.2
-
PACKAGE: APPS.AMS_CPYUTILITY_PVT
12.1.1
-
PACKAGE BODY: APPS.AMS_CPYUTILITY_PVT
12.2.2
-
PACKAGE BODY: APPS.AMS_CPYUTILITY_PVT
12.1.1
-
PACKAGE BODY: APPS.AMS_CPYUTILITY_PVT_W
12.2.2
-
PACKAGE BODY: APPS.AMS_CPYUTILITY_PVT_W
12.1.1
-
APPS.AMS_CPYUTILITY_PVT dependencies on FND_API
12.1.1
-
APPS.AMS_CPYUTILITY_PVT_W dependencies on JTF_VARCHAR2_TABLE_100
12.2.2
-
APPS.AMS_CPYUTILITY_PVT_W dependencies on JTF_VARCHAR2_TABLE_100
12.1.1
-
APPS.AMS_CPYUTILITY_PVT dependencies on FND_API
12.2.2
-
APPS.AMS_CPYUTILITY_PVT_W dependencies on JTF_VARCHAR2_TABLE_4000
12.2.2
-
APPS.AMS_CPYUTILITY_PVT_W dependencies on JTF_VARCHAR2_TABLE_4000
12.1.1
-
APPS.AMS_CPYUTILITY_PVT_W dependencies on AMS_CPYUTILITY_PVT
12.2.2
-
APPS.AMS_CPYUTILITY_PVT_W dependencies on JTF_VARCHAR2_TABLE_100
12.2.2
-
APPS.AMS_CPYUTILITY_PVT_W dependencies on JTF_VARCHAR2_TABLE_100
12.1.1
-
APPS.AMS_CPYUTILITY_PVT_W dependencies on AMS_CPYUTILITY_PVT
12.1.1