Wednesday, January 30, 2013

Phases of a Concurrent Program

When we run concurrent programs in Oracle applications. It follows the below phases to complete a program
1) Pending
2)Running
3)Completed
4)InActive

There are more status for each phases. Find it below

Phase Status Description
PENDING Normal Request is waiting for the next available manager

Standby Program to run request is incompatible with other program(s) currently running

Scheduled Request is scheduled to start at a future time or date.

Waiting A child request is waiting for its Parent request to mark it ready to run. For example, a request in a request set that runs sequentially must wait for a prior request to complete
RUNNING Normal Request is running normally
Paused Parent request pauses for all its child requests to finish running. For example, a request set pauses for all requests in the set to complete.

Resuming All requests submitted by the same parent request have completed running. The Parent request resumes running.

Terminating Request is terminated by choosing the Cancel Request button in Requests window
COMPLETED Normal Request completed successfully.

Error Request failed to complete successfully

Warning Request completed with warnings. For example, a request is generated successfully but fails to print

Cancelled Pending or Inactive request is cancelled by choosing the Cancel Request button in the Requests window.

Terminated Request is terminated by choosing the Cancel Request button in the Requests window.
Inactive Disabled Program to run request is not enabled. Contact your system administrator.

On Hold Pending request is placed on hold by choosing the Hold Request button in the Requests window.

No Manager No manager is defined to run the request. Check with your system administrator. A status of No Manager is also given when all managers are locked by run-alone requests.

Tuesday, January 29, 2013

Query to find Request group name from Concurrent Program Name

Here's the query to find the request group name by passing concurrent program name as parameter

SELECT
    FRG.REQUEST_GROUP_NAME,
    FRG.DESCRIPTION,
    CP.CONCURRENT_PROGRAM_ID,
    CP.CONCURRENT_PROGRAM_NAME,
    CPT.USER_CONCURRENT_PROGRAM_NAME,
    FRV.RESPONSIBILITY_NAME
FROM
    FND_REQUEST_GROUPS FRG,
    FND_REQUEST_GROUP_UNITS FRGU,
    FND_CONCURRENT_PROGRAMS CP,
    FND_CONCURRENT_PROGRAMS_TL CPT,
    FND_RESPONSIBILITY_VL FRV
WHERE
    FRG.REQUEST_GROUP_ID = FRGU.REQUEST_GROUP_ID
    AND FRGU.REQUEST_UNIT_ID = CP.CONCURRENT_PROGRAM_ID
    AND CP.CONCURRENT_PROGRAM_ID = CPT.CONCURRENT_PROGRAM_ID
    AND FRV.REQUEST_GROUP_ID = FRG.REQUEST_GROUP_ID(+)
AND CPT.USER_CONCURRENT_PROGRAM_NAME LIKE 'XX Conc Pgm Name';