Search Results validate_systems




Overview

CSI_SYSTEMS_PVT is the private PL/SQL package within the Oracle E-Business Suite Application Object Library that implements the core business logic for the creation, maintenance, expiration, and retrieval of "systems" records in the CSI (Complex Maintenance, Repair and Overhaul / Enterprise Asset Management) schema. In Oracle EBS 12.1.1 and 12.2.2, a "system" represents a logical grouping of item instances and related parties that operate together as a maintainable assembly, such as a piece of equipment composed of multiple components. The package is designated with an API classification of PVT, meaning it is a private implementation layer that is not intended to be called directly by external consumers. Instead, it is invoked by the public wrapper packages CSI_SYSTEMS_PUB and CSI_MASS_EDIT_PUB, which expose the supported API surface. CSI_SYSTEMS_PVT depends on CSI_DATASTRUCTURES_PUB for its public data structure definitions and on FND_API for the standard EBS API error handling and messaging framework, ensuring consistent behavior with other EBS APIs.

Key Procedures and Functions

The package exposes eight documented procedures and functions that collectively form the system lifecycle management API:

  • GET_SYSTEMS — Retrieves a collection of system records based on supplied search criteria, returning system header information to the caller.
  • CREATE_SYSTEM — Creates a new system record, including its base row, translation rows, and associated item instance and party relationships.
  • UPDATE_SYSTEM — Modifies attributes of an existing system record.
  • EXPIRE_SYSTEM — Logically ends the effective life of a system by setting its expiration date rather than physically deleting it.
  • VALIDATE_SYSTEMS — Performs validation checks on system data to enforce business rules before a create or update operation is committed.
  • GET_SYSTEM_DETAILS — Returns detailed attribute information for a single system, typically used to populate a detail form or drive downstream processing.
  • RESOLVE_ID_COLUMNS — Resolves internal identifier columns, mapping surrogate keys to their corresponding business-meaningful values.
  • GET_SYSTEM_HISTORY — Retrieves the audit trail of changes for a system, drawn from the history table.

Tables Accessed

The package reads and writes the CSI_SYSTEMS_B (base), CSI_SYSTEMS_TL (translation), and CSI_SYSTEMS_S (security) tables to store system header information and multilingual descriptions. CSI_ITEM_INSTANCES and CSI_TRANSACTIONS hold the item instance and transactional relationships that define a system's composition. CSI_IP_ACCOUNTS and CSI_I_PARTIES link item instances to accounts and parties. CSI_SYSTEMS_H stores historical records for audit. Customer-related data is drawn from the Oracle Receivables/HZ tables: HZ_PARTIES, HZ_CUST_ACCOUNTS, HZ_CUST_ACCT_SITES_ALL, HZ_CUST_SITE_USES_ALL, HZ_PARTY_SITES, and HZ_LOCATIONS. DBMS_SQL is used for dynamic SQL processing within the resolution logic.

Usage Notes

Because CSI_SYSTEMS_PVT is a private package, it should never be invoked directly from forms, concurrent programs, or custom code. All supported access is through the public packages CSI_SYSTEMS_PUB and CSI_MASS_EDIT_PUB, which are documented as referencing this package. Concurrent programs that mass-update systems, such as those driving the mass edit functionality, ultimately call into CSI_SYSTEMS_PVT through the public layer. The package is also referenced by CSI_T_TXN_SYSTEMS_PVT, indicating its role in transaction-based system processing. Customizations should always target the public API to remain upgrade-safe.