Search Results split_prefix_num




Overview

APPS.CSP_PP_UTIL is a utility package used by the Oracle E-Business Suite supply chain and order management modules to support material transaction staging and serial number handling. The package is defined with AUTHID CURRENT_USER, meaning its procedures execute with the privileges of the calling schema rather than the defining schema, a common convention for utility packages that must operate against temporary transaction tables on behalf of an invoking module. Its header revision references cspgtpps.pls, tying it to the CSP (shipping and returns related) family of objects within EBS 12.1.1 and 12.2.2.

The package's primary business role is to normalize and stage material transaction and serial number data before transactional processing. This includes bulk insertion of lot and serial records into the interface tables, parsing serial number strings into their textual prefix and numeric components, performing arithmetic on serialized values, and resolving item identifiers to descriptive names. The package is classified as a utility (UTIL) object, meaning it is designed to be called by other application code rather than being exposed directly to end users.

Key Procedures and Functions

The documented interface exposes five callable units:

  • INSERT_MTLT — Inserts rows into the material transaction lots temporary table. It operates on a PL/SQL associative array of MTL_TRANSACTION_LOTS_TEMP%ROWTYPE records together with a table size parameter, and returns a status indicator to the caller. WHO columns (created-by, creation-date, and similar audit fields) are derived internally rather than being supplied by the caller.
  • INSERT_MSNT — Inserts rows into the serial numbers temporary table, accepting an array of MTL_SERIAL_NUMBERS_TEMP%ROWTYPE records and a size parameter, and returning a status indicator. As with INSERT_MTLT, audit columns are populated by the procedure.
  • SPLIT_PREFIX_NUM — Separates a serial number into its non-numeric prefix and its numeric portion. It is documented as a private procedure for internal use, required only once serial number support is engaged. This is the routine surfaced by the search term split_prefix_num.
  • SUBTRACT_SERIALS — A function that subtracts one serial value represented as a string from another and returns the result as a number, providing arithmetic support over serialized identifiers.
  • GET_ITEM_NAME — A function that accepts an item identifier and returns the corresponding item name, providing convenient item description resolution for calling code.

Tables Accessed

The package references the following tables by way of APPS synonyms:

  • MTL_MATERIAL_TRANSACTIONS_TEMP — The material transaction interface staging table, whose row type anchors the package's g_mmtt_tbl_type collection definition.
  • MTL_TRANSACTION_LOTS_TEMP — The lot transaction interface table, targeted by INSERT_MTLT.
  • MTL_SERIAL_NUMBERS_TEMP — The serial number interface table, targeted by INSERT_MSNT and central to the serial parsing logic.
  • MTL_SYSTEM_ITEMS_KFV — The key flexfield view over system items, read by GET_ITEM_NAME to resolve item descriptions.
  • DUAL — Used for simple single-row PL/SQL and SQL evaluations.

These references confirm that CSP_PP_UTIL writes exclusively to temporary/staging tables and reads from the item master view, keeping it free of direct transactional table updates.

Usage Notes

CSP_PP_UTIL is an internal support package rather than a user-facing API. Its role in the overall transaction flow is to prepare data for the standard material transaction processor: calling modules assemble arrays of lot and serial records and pass them to INSERT_MTLT and INSERT_MSNT so the records are staged for validation and processing. SPLIT_PREFIX_NUM and SUBTRACT_SERIALS are invoked during serial number validation and generation logic, where a serial string must be decomposed or compared numerically. GET_ITEM_NAME is a convenience lookup invoked wherever calling code needs an item description rather than an ID.

The metadata records that the package is referenced by two other packages, which is consistent with its utility classification and reinforces that it is called indirectly through higher-level application logic rather than directly from forms or concurrent programs. Because INSERT_MTLT and INSERT_MSNT derive WHO columns internally, callers must not attempt to supply audit values. The procedures return a status string through an OUT parameter, so invoking code should test that value before proceeding to transaction processing.