Search Results extract_all
Overview
MDSYS.SDO_UTIL is a utility package belonging to the Oracle Spatial and Graph option, shipped under the MDSYS schema and delivered as part of the standard Oracle Database installation used by Oracle E-Business Suite 12.1.1 and 12.2.2. Unlike application-owned PL/SQL packages that reside in the APPS schema, SDO_UTIL is a database-supplied component, yet it is registered and validated within the EBS environment through the ETRM (E-Business Suite Technical Reference Manual) repository. Its status is recorded as VALID, confirming that the package and its body compile cleanly against the EBS-supported database release.
The package provides geometric utility operations for objects of type SDO_GEOMETRY and its associated array and dimension types. In functional terms, it supplies the low-level geometry manipulation primitives used throughout the Oracle Spatial stack: conversion, decomposition, validation, simplification, and element counting. EBS deployments that store spatial data — for example, site locations, network routing, or geographic supplier and customer records — rely on this package indirectly whenever spatial indexing, transformation, or geometric comparison routines are invoked.
Key Procedures and Functions
The ETRM metadata documents 113 procedures and functions, classified as API type UTIL. The documented entries include the following:
- EXPAND_MULTI_POINT and EXPAND_GEOM — expand or normalize geometry representations, typically converting multi-part or nested geometries into expanded element forms.
- EXTRACT and EXTRACT_ALL — return individual geometry elements from a compound or multi-element geometry; EXTRACT_ALL returns the complete set whereas EXTRACT targets a single element.
- APPEND — concatenates one geometry onto another, supporting the incremental assembly of complex shapes.
- EXTRACTVOIDS — identifies and returns void (interior hole) regions within a polygon geometry.
- GETVERTICES, GETNUMELEM, GETNUMRINGS, GETNUMVERTICES — accessor functions returning vertex arrays and element, ring, and vertex counts for a geometry.
- OUTERLN — returns the outer boundary line of a polygon geometry.
- REFINEMGON — refines a multi-geometry or polygon, adjusting vertex density and precision.
- MDUTL_IS_NUMERIC — utility predicate confirming whether a supplied value is numeric.
- NUMBER_TO_CHAR and TRUNCATE_NUMBER — numeric formatting and precision-control helpers used in coordinate output.
- RECTIFY_GEOMETRY and SIMPLIFY, SIMPLIFYVW — validate and reduce vertex complexity while preserving geometric validity.
- POLYGONTOLINE and POINT_TO_LINE — convert polygon and point geometries into line representations.
Tables Accessed
The documented table references, resolved through APPS synonyms, are predominantly dictionary and utility objects rather than application tables: DBMS_LOB, DUAL, PLITBLM, USER_SEQUENCES, USER_TABLES, USER_TAB_COLUMNS, USER_VIEWS, XMLSEQUENCE, and XMLTYPE. These are consulted for metadata introspection, sequence generation, large-object handling of geometry payloads, and XML-based representation of spatial data. No EBS application tables are directly read or written by this package.
Usage Notes
SDO_UTIL is not invoked directly from EBS forms or concurrent programs in normal operation. It is called internally by higher-level Spatial packages — SDO_GEOM, SDO_GEOR, SDO_LRS, SDO_NET, SDO_TOPO, SDO_TUNE, and SDO_INDEX_METHOD_10I — which are themselves reached through the Spatial Java and PL/SQL APIs. The package is referenced by 55 other packages, including APPS-owned RRS_SITE_UTILS, indicating that at least one EBS application module performs site-related spatial processing that transitively depends on SDO_UTIL. Custom PL/SQL that manipulates SDO_GEOMETRY data may call documented functions such as GETNUMVERTICES, SIMPLIFY, or EXTRACT directly, but developers should treat the package as a database-level utility and avoid modifying it. Because it resides in MDSYS and is database-supplied, its availability is governed by the Oracle Spatial option license rather than by EBS patching.