Search Results log_request




Overview

FND_RT_REQUEST is a support package in the Oracle E-Business Suite Applications (APPS) schema that implements the regression-testing request harness used by Oracle's own concurrent-program test infrastructure. In Oracle EBS 12.1.1 and 12.2.2, the package coordinates groups of concurrent requests that were submitted together as part of a test run. It records the parent and child requests belonging to a test, waits for those requests to complete, and later hands them back to the caller one at a time for verification. The package is classified in ETRM as OTHER rather than as a public API, meaning it is an internal utility rather than a supported integration point. Its four documented procedures — GET_TEST_ID, LOG_REQUEST, SEARCH_REQUESTS, and GET_REQUEST — operate on a simple staging table, FND_RT_REQUESTS, keyed by a test identifier. The name LOG_REQUEST, the term the user searched for, refers specifically to the procedure that registers an individual concurrent request against a given test.

Key Procedures and Functions

  • GET_TEST_ID — Obtains a new, unique test identifier by drawing the next value from the FND_RT_REQUESTS_S sequence. The identifier is returned to the caller and is subsequently used as the grouping key for every request logged under that test run.
  • LOG_REQUEST — Records an association between a test identifier and a concurrent request identifier by inserting a row into FND_RT_REQUESTS. This is the core logging step that captures which requests belong to the test.
  • SEARCH_REQUESTS — Walks the parent requests already logged for a test and waits until no child request under each parent remains running or pending. It uses a sleep interval and a caller-supplied timeout to bound the wait, then inserts every discovered child request into FND_RT_REQUESTS under the same test identifier. This procedure effectively expands a parent request into its full set of child requests once execution has finished.
  • GET_REQUEST — Retrieves a single logged request for a test, removes that row from FND_RT_REQUESTS, and returns the request identifier to the caller. Repeated invocation therefore yields each logged request exactly once, draining the staged set.

Tables Accessed

  • FND_RT_REQUESTS — The package's staging table. It holds the test-to-request mapping and is inserted into by LOG_REQUEST and SEARCH_REQUESTS, read and deleted from by GET_REQUEST, and read by SEARCH_REQUESTS to find the parent requests belonging to a test.
  • FND_RT_REQUESTS_S — The sequence that supplies new test identifiers to GET_TEST_ID.
  • FND_CONCURRENT_REQUESTS — The standard concurrent request table. SEARCH_REQUESTS reads it to traverse the parent/child request hierarchy and to count requests in the P (pending) or R (running) phases while waiting for completion.
  • DBMS_LOCK — Invoked by SEARCH_REQUESTS to pause between polling passes, so the procedure does not busy-wait against FND_CONCURRENT_REQUESTS.
  • DUAL — Used by GET_TEST_ID to select the next sequence value.

Usage Notes

FND_RT_REQUEST is internal Oracle regression-test scaffolding, not a general-purpose API. A typical test run opens with GET_TEST_ID to establish a test key, calls LOG_REQUEST for each root request submitted, invokes SEARCH_REQUESTS to await completion and capture the full child request set, and finally drains the results with repeated GET_REQUEST calls. Because SEARCH_REQUESTS sleeps in fixed intervals up to a caller-defined timeout, it is unsuitable for interactive use. The package is referenced by one other package in the ETRM inventory and relies on APPS synonyms for all table access, so any custom reuse should be treated as unsupported. Customizations requiring similar behavior should query FND_CONCURRENT_REQUESTS directly rather than depend on FND_RT_REQUESTS, which Oracle may purge or alter without notice.