Consider a scenario like we need to submit a concurrent request when submit button in clicked. Code to submit concurrent request should be added in AM so that it can be reused.
Code to be added in the controller of the page:
if (pageContext.getParameter(“uploadButton”) != null) {
OAApplicationModule am = pageContext.getApplicationModule(webBean);// Add if AM in not defined
Serializable[] params = { parameter1 };// parameter1 should be declared and initialized, if no parameter is required then pass null instaed of params in the below line
int requestId = am.invokeMethod(“submitRequest”, params);
throw new OAException(“Request submiited successfully Request Id : “+requestId,
OAException.CONFIRMATION);
}
Code to be added in the AM of the page:
import oracle.apps.fnd.cp.request.ConcurrentRequest;
import oracle.apps.fnd.framework.server.OADBTransaction;
public int submitRequest(String parameter)
{
try
{
OADBTransaction oadbtransaction = (OADBTransaction)getTransaction();
java.sql.Connection connection = oadbtransaction.getJdbcConnection();
ConcurrentRequest cr = new ConcurrentRequest(Connection);
String appName = “XXWOU”; //Application that contains the concurrent program
String cpName = “XXCP”; //Concurrent program name
String cpDesc = “Concurrent Program Description”; // concurrent Program description
// Pass the Arguments using vector
Vector args = new Vector();
args.addElement(parameter1);
// Calling the Concurrent Program
int requestId = cr.submitRequest(appName, cpName, cpDesc, null, false, args);
oadbtransaction.commit();
return requestId;
}
catch (RequestSubmissionException e) {
throw new OAException(e.getMessage(), OAException.ERROR);
}
}