Wednesday, June 7, 2017

Calling Concurrent Program in OAF

Calling Concurrent Program From OA Framework Pages

Calling a concurrent program from an OAF page is most frequently used functionality in oracle apps.
It helps us to achieve the customized functionality in a page. OA Framework provides the ConcurrentRequest
class to call a concurrent program from the pages. The submitRequest() method of ConcurrentRequest is used
for calling a concurrent program. The submitRequest() method takes 6 parameters and returns request id of the
submitted concurrent request. Following is the syntax to use this method:


public int submitRequest(
String ProgramApplication ,
String ProgramName ,
String ProgramDescription ,
String StartTime,
boolean SubRequest,
Vector Parameters ) throws RequestSubmissionException

Here are the descriptions of each of the components in the method:


ProgramApplication -Application Short name of application under which the program is registered.
ProgramName - Concurrent Program Name for which the request has to be submitted.
ProgramDescription - Concurrent Program Description.
StartTime - Time at which the request should start running.
SubRequest - Set to TRUE if the request is submitted from another running request and has to be treated as a sub request.
Parameters - Parameters of the concurrent Request.


Following is the example for calling a concurrent program from a OA framework page.



import oracle.apps.fnd.cp.request.ConcurrentRequest;

import oracle.apps.fnd.framework.server.OADBTransaction;


public int submitCPRequest(Number headerId) {

try {

OADBTransaction tx = (OADBTransaction)getDBTransaction();
java.sql.Connection pConncection = tx.getJdbcConnection();
ConcurrentRequest cr = new ConcurrentRequest(pConncection);

String applnName = "EAM"; //Application that contains the concurrent program
String cpName = "EAMXX"; //Concurrent program name
String cpDesc = "Concurrent Program Description"; // concurrent Program description

// Pass the Arguments using vector
// Here I have added my parameter headerId to the vector and passed the vector to the concurrent program

Vector cpArgs = new Vector();
cpArgs.addElement(headerId.stringValue());


// Calling the Concurrent Program

int requestId = cr.submitRequest(applnName, cpName, cpDesc, null, false, cpArgs);
tx.commit();

return requestId;

} catch (RequestSubmissionException e) {
OAException oe = new OAException(e.getMessage());
oe.setApplicationModule(this);
throw oe;

}
}

How to monitor the submitted concurrent request in OA Framework Pages

The Request Monitoring user interface provides the ability to search for a current user's requests.
It allows the user to specify criteria to search for a request based on a specific request ID, requests
for a specific program or a range of scheduled requests. Using the search results list, a user can select
a request to see the details of that request or view its output file. From the Details page for a request,
a user can place a hold on a pending request, cancel a pending request or view the request's log file.

You can call the Request Monitoring [SRS Window]page by calling following URL

OA.jsp?akRegionCode=FNDCPREQUESTVIEWREGION&akRegionApplicationId=0

Note: For using the above example you should already have a concurrent program created in the Responsibility

No comments:

Post a Comment