Search Results cs_cp_services_s




Overview

CS_SERVICE_PVT is a private PL/SQL package body in the Oracle E-Business Suite Service (CS) module, owned by the APPS schema. It belongs to the Service Contracts / contract services processing layer and is classified as a PVT (private) API, meaning it is intended for internal use by the Service Contracts transaction APIs rather than as a public integration surface. The package encapsulates the row-level data manipulation and validation logic required to persist service records associated with contract lines. Its companion specification CS_SERVICE_PVT exposes only the entry points needed by higher-level public APIs, keeping implementation details such as sequencing, locking, and column validation hidden. The package body carries an RCS header identifying file csctserb.pls, version 115.2, dated 1999, reflecting its long-standing role in the Service Contracts code line carried forward into release 12.1.1 and 12.2.2.

Key Procedures and Functions

The documented package exposes eight procedures and functions, of which the following DML and validation routines are the core:

  • INSERT_ROW — Inserts a new service record into the underlying service table, populating the primary key from the sequence and applying default audit columns supplied by the caller.
  • LOCK_ROW — Acquires a row lock on an existing service record to serialize concurrent modifications before an update or delete.
  • UPDATE_ROW — Modifies an existing service record, writing changed attribute values and refreshing the standard last_update_date, last_updated_by, and last_update_login audit columns.
  • DELETE_ROW — Removes a service record from the underlying table.
  • VALIDATE_ROW — Performs mandatory-attribute validation against the service record structure, returning a status consistent with FND_API conventions (success or error) and registering a message via TAPI_DEV_KIT when a required column is missing.

An additional helper, get_seq_id, fetches the next primary key value from the CS_CP_SERVICES_S sequence via SYS.DUAL. Validation logic checks that columns such as contract_line_status_id, service_inventory_item_id, service_manufacturing_org_id, creation_date, and created_by are neither NULL nor set to the TAPI_DEV_KIT.G_MISS sentinel values.

Tables Accessed

The package operates against the following objects through APPS synonyms:

  • CS_CP_SERVICES_S — the sequence supplying surrogate primary keys for new service rows; referenced in get_seq_id.
  • CS_CONTRACTS_ALL — the master contracts table providing contract header context for service records.
  • CS_CONTRACT_LINE_TPLTS — contract line templates used when service lines are generated from template definitions.
  • CS_CONTRACT_STATUSES — the status lookup validating the contract_line_status_id value passed on the service record.

These accesses support both referential validation and the persistence of service data tied to contract lines.

Usage Notes

Because CS_SERVICE_PVT is a private API, it is not called directly by external integrations; the ETRM metadata records zero dependent packages. It is instead invoked by the public Service Contracts APIs and by Service Contracts forms that create, update, or delete service records against contract lines. In Oracle EBS 12.1.1 and 12.2.2, the package follows the FND_API and TAPI_DEV_KIT error-handling idioms, so callers should expect a VARCHAR2 status return and should query the message stack when a validation failure occurs. Developers investigating a search term such as g_fnd_app will typically encounter this package when tracing how FND application context, audit columns, and the service record type interact during contract service maintenance. Custom code should avoid direct invocation of the PVT layer and instead use the supported public API that wraps it.