Search Results java_engine_installed




Overview

QP_JAVA_ENGINE_UTIL_PUB is a public PL/SQL utility package in the APPS schema that brokers communication between Oracle E-Business Suite and the Oracle Advanced Pricing Java Engine (JPE) servlet. The Advanced Pricing Java Engine performs pricing and promotion calculations outside the database tier, and this package provides the PL/SQL side of the integration contract: it detects whether the engine is deployed, verifies that it is actually running, resolves the servlet URL, and transmits pricing requests to that endpoint over HTTP.

The package is declared with AUTHID CURRENT_USER and defines a set of global constants that model the engine's request protocol. These include parameter name constants such as dbc, UserId, RespId, RespApplId, LoginId, OrgId, AppShortName, CallType, Action, IcxSessionId, StatusCode, StatusText, Details, and DebugFlag, along with delimiter constants (a hard character & and a pattern separator |). The package also holds a transfer timeout (60 seconds) and two profile-driven constants, QP_JPE_MAX_STAT_REQUESTS (default 240) and QP_JPE_STAT_REQUEST_INTERVAL (default 15 seconds), which were introduced to handle HTTP timeout conditions by bounding how long the caller polls for a status response.

Key Procedures and Functions

  • JAVA_ENGINE_INSTALLED — Returns 'Y' when the Java Engine is installed and 'N' when it is not. This is the function referenced by the search term "java_engine_installed" and is the canonical installation check for the JPE.
  • JAVA_ENGINE_RUNNING — Returns 'Y' when the Java Engine is running and 'N' when it is not, allowing callers to distinguish an installed-but-down engine from one that is simply absent.
  • GET_ENGINE_URL — Returns the URL of the servlet where the Java Engine is deployed and running, so that callers can direct requests to the correct endpoint.
  • SEND_JAVA_ENGINE_REQUEST — Accepts a URL parameter string and returns a status code and status text, submitting a formatted request to the Java Engine servlet.
  • SEND_JAVA_REQUEST — The companion request-submission routine, described in the ETRM 12.2.2 metadata as the fifth documented program unit and used to transmit a serialized pricing request to the engine.

Tables Accessed

The package does not manipulate application tables directly. Instead it relies on database-supplied infrastructure packages that appear in the ETRM metadata through APPS synonyms: UTL_HTTP and UTL_TCP for outbound HTTP and socket communication to the servlet, DBMS_LOCK for serialization (consistent with the QP_INT_TABLES_LOCK constant used to lock pricing interface tables), and DBMS_UTILITY and PLITBLM for utility and PL/SQL table handling. The lock constant indicates that concurrent access to the pricing interface tables is coordinated around engine requests rather than being performed as ordinary DML inside this package. The package is referenced by 26 other packages in the E-Business Suite, positioning it as a shared integration layer rather than a leaf utility.

Usage Notes

QP_JAVA_ENGINE_UTIL_PUB is normally invoked indirectly. The Advanced Pricing engine and its related batch and online pricing flows call JAVA_ENGINE_INSTALLED and JAVA_ENGINE_RUNNING during setup validation, and diagnostic or configuration screens may display the resolved GET_ENGINE_URL value. When a pricing request must be routed to the Java Engine, the calling package assembles the parameter string and invokes SEND_JAVA_ENGINE_REQUEST or SEND_JAVA_REQUEST, then interprets the returned status code and status text. Because the profile options QP_JPE_MAX_STAT_REQUESTS and QP_JPE_STAT_REQUEST_INTERVAL govern the polling window, DBAs and implementers tune HTTP timeout behavior through profile values rather than by modifying the package. The absence of JAVA_ENGINE_INSTALLED returning 'Y' is the standard indicator that the Java Engine has not been deployed, which is the typical root cause when pricing falls back to the PL/SQL engine or when Java Engine setup fails in Oracle EBS 12.1.1 and 12.2.2 environments.