Search Results send_java_request




Overview

QP_JAVA_ENGINE_UTIL_PUB is a public PL/SQL utility package in the Oracle E-Business Suite Oracle Advanced Pricing (QP) module. It provides the integration bridge between the PL/SQL layer of EBS and the Oracle Pricing Java Engine, a servlet-based component used to evaluate pricing and qualification rules outside the database. The package, defined with AUTHID CURRENT_USER and carrying the header identifier QPXJUTLS.pls, encapsulates the mechanics of discovering, interrogating, and invoking the Java Engine over HTTP, so that calling code does not need to construct URLs, manage session parameters, or interpret transport-level responses directly.

The package exposes named constants for the parameters exchanged with the servlet, including dbc, UserId, RespId, RespApplId, LoginId, OrgId, AppShortName, CallType, Action, IcxSessionId, StatusCode, StatusText, Details, and DebugFlag. It also declares the separators and control values used when building request strings, and profile-driven configuration values (QP_JPE_MAX_STAT_REQUESTS and QP_JPE_STAT_REQUEST_INTERVAL) that govern polling behavior. The transfer timeout defaults to 60 seconds. This design reflects the package's role as a thin, reusable client for a remote rules engine.

Key Procedures and Functions

The documented API comprises six procedures and functions:

  • Java_Engine_Installed — Returns 'Y' if the Java Engine is installed, otherwise 'N'. Used to gate downstream calls that would otherwise fail on systems where the engine is not deployed.
  • Java_Engine_Running — Returns 'Y' if the Java Engine is running, otherwise 'N'. Provides a runtime health check distinct from installation state.
  • Get_Engine_Url — Returns the URL of the servlet where the Java Engine is deployed and running. This value forms the endpoint for all outbound requests.
  • Send_Java_Engine_Request — Sends a request to the Java Engine, accepting a pre-built URL parameter string and returning a return status plus status text through OUT parameters. It is the general-purpose transport routine.
  • Send_Java_Request — The variant commonly targeted when users search for "send_java_request." It packages the session and action parameters required by a given Java Engine call and dispatches it, returning status information to the caller. It exists to simplify invocation for standard pricing operations.
  • JAVA_ENGINE_INSTALLED — Listed among the documented procedures/functions and corresponding to the installation probe described above.

Tables Accessed

The package does not read or write application data tables directly. Its documented dependencies are database-supplied packages accessed through APPS synonyms: UTL_HTTP (outbound HTTP transport), UTL_TCP (lower-level socket handling), DBMS_LOCK (serialization of concurrent engine activity), DBMS_UTILITY (utility support), and PLITBLM (PL/SQL table and bulk operations). The G_QP_INT_TABLES_LOCK constant indicates that DBMS_LOCK is used to coordinate access to pricing interface tables during engine processing, preventing conflicting operations when multiple sessions invoke the Java Engine concurrently.

Usage Notes

QP_JAVA_ENGINE_UTIL_PUB is invoked programmatically rather than through a user-facing form. It is referenced by 26 other packages, which makes it a shared infrastructure component for pricing rule evaluation. Typical call sequences begin with Java_Engine_Installed and Java_Engine_Running to confirm the engine is available, followed by Get_Engine_Url to obtain the endpoint and Send_Java_Request or Send_Java_Engine_Request to dispatch the actual work. Customizations should call the public routines as documented and avoid duplicating the URL construction or session parameter assembly logic, since those constants and formats are managed centrally within this package. Timeout and polling behavior can be tuned through the QP_JPE_MAX_STAT_REQUESTS and QP_JPE_STAT_REQUEST_INTERVAL profile options.