Search Results wsh_trip_stops_s




Overview

WSH_TRIP_STOPS_PVT is the private PL/SQL API package body in the Oracle E-Business Suite (EBS) Shipping Execution module that encapsulates the business logic governing trip stops. In the Oracle EBS 12.1.1 and 12.2.2 releases, a trip stop represents a discrete point at which a trip halts — such as a customer ship-to location, an intermediate consolidation point, or a carrier handoff — and it forms the bridge between a trip and the delivery legs performed along that route. This package exists to centralize the validation, persistence, and state-management rules for those stop records, thereby shielding callers from direct manipulation of the underlying base tables.

The classification as a "PVT" (private) package indicates that it is not intended as a public, named API for external integration. Rather, it is the internal workhorse invoked by the Shipping Execution public APIs, the Transportation Management integration layer, and the outbound/inbound interface programs. Because it carries the APPS schema and is documented as VALID, it is a supported internal component whose behavior is driven through higher-level packages. The body depends heavily on WSH_DELIVERY_LEGS_PVT, WSH_TRIP_VALIDATIONS, WSH_UTIL_CORE, and WSH_LOCATIONS_PKG, reflecting an architecture in which stop processing is coupled to leg generation, location validation, and trip-level business rules.

Key Procedures and Functions

The documented ETRM 12.2.2 metadata lists ten procedures and functions within this body. Their names and purposes are as follows:

  • CREATE_TRIP_STOP — Inserts a new stop record for a trip, applying validation rules and defaulting before persisting to WSH_TRIP_STOPS.
  • UPDATE_TRIP_STOP — Modifies the attributes of an existing stop, such as sequence, location, or timing information, subject to validation.
  • DELETE_TRIP_STOP — Removes a stop from a trip, handling any dependent leg or freight cost relationships.
  • LOCK_TRIP_STOP — Acquires a row-level lock on a stop to serialize concurrent updates and compare the in-memory record against the database record.
  • LOCK_TRIP_STOP_NO_COMPARE — A variant lock operation that secures the row without performing the compare-and-check step.
  • POPULATE_RECORD — Loads or derives the attribute values that make up a trip stop record prior to insert or update.
  • GET_NAME — Returns a descriptive name or identifier for a stop, typically used for display and messaging.
  • GET_DISABLED_LIST — Retrieves the list of stops that are disabled or otherwise ineligible for a given operation.
  • UPDATE_TMS_INTERFACE_FLAG — Sets or clears the flag that indicates whether the stop has been communicated to the Transportation Management System interface.

These routines collectively cover the create, read, update, delete, and locking lifecycle of trip stops, plus the integration flag maintenance needed for TMS outbound processing.

Tables Accessed

The package reads and writes the following base tables via APPS synonyms:

  • WSH_TRIP_STOPS — the primary transactional table holding each trip stop row.
  • WSH_TRIP_STOPS_S — the sequence/denormalized companion used to maintain stop ordering.
  • WSH_TRIPS — the parent trip header against which stops are validated.
  • WSH_DELIVERY_LEGS — legs between stops, used to reconcile stop-to-leg dependencies.
  • WSH_FREIGHT_COSTS — freight charge records linked to stops for cost validation.
  • WSH_LOCATIONS — location definitions used to resolve and validate stop locations.
  • PLITBLM — the standard PL/SQL table of character strings, rarely a physical table, used here for bulk/in-memory collection processing.

Usage Notes

WSH_TRIP_STOPS_PVT is invoked implicitly during trip planning, trip execution, and delivery leg generation within the Shipping Execution forms and concurrent programs. It is called by the public WSH trip APIs rather than directly by end users, and it is referenced by 33 other database objects, underscoring its role as a shared internal service. Custom integrations should target the public WSH APIs (for example, those in WSH_TRIPS_ACTIONS or WSH_DELIVERY_LEGS_PVT) and allow those packages to delegate to WSH_TRIP_STOPS_PVT. Direct calls are technically possible because the package is VALID in the APPS schema, but they bypass the supported encapsulation boundary and should be avoided in favor of the higher-level, documented interfaces.