OAF How to invoke concurrent program with parameters on button event

 |   Copyright (c) 2001, 2005 Oracle Corporation, Redwood Shores, CA, USA    |
 |                         All rights reserved.                              |
 |  HISTORY                                                                  |
package cnsi.oracle.apps.fnd.webui;

import java.util.Vector;

import oracle.apps.fnd.common.VersionInfo;
import oracle.apps.fnd.cp.request.ConcurrentRequest;
import oracle.apps.fnd.framework.OAApplicationModule;
import oracle.apps.fnd.framework.OAException;
import oracle.apps.fnd.framework.server.OADBTransaction;
import oracle.apps.fnd.framework.webui.OAControllerImpl;
import oracle.apps.fnd.framework.webui.OAPageContext;
import oracle.apps.fnd.framework.webui.beans.OAWebBean;

 * Controller for ...
public class InvokeConcurrentProgCO extends OAControllerImpl
  public static final String RCS_ID="$Header$";
  public static final boolean RCS_ID_RECORDED =
        VersionInfo.recordClassVersion(RCS_ID, "%packagename%");

   * Layout and page setup logic for a region.
   * @param pageContext the current OA page context
   * @param webBean the web bean corresponding to the region
  public void processRequest(OAPageContext pageContext, OAWebBean webBean)
    super.processRequest(pageContext, webBean);

   * Procedure to handle form submissions for form elements in
   * a region.
   * @param pageContext the current OA page context
   * @param webBean the web bean corresponding to the region
  public void processFormRequest(OAPageContext pageContext, OAWebBean webBean)
    super.processFormRequest(pageContext, webBean);
    String eventNameStr= pageContext.getParameter(EVENT_PARAM);
    if(eventNameStr!=null && "invoke_event".equals(eventNameStr))
       int requestID = submitCPRequest(pageContext,webBean);
       throw new OAException("COncurrent Request ID-->"+requestID);
    public int submitCPRequest(OAPageContext pageContext, OAWebBean webBean)

         OAApplicationModule am = (OAApplicationModule)pageContext.getApplicationModule(webBean);
           try {

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

           String applnName = "FND"; //Application that contains the concurrent program
           String cpName = "XXMI_INV_REPORT_NEW"; //Concurrent program name
           String cpDesc = "Invoking From OAF"; // 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

            String headerIDStr ="123";
            //Number  invoiceIDNum = new Number(123);

           Vector cpArgs = new Vector(); 
    //           cpArgs.addElement("Test1"); 
    //           cpArgs.addElement("Test2"); 

           // Calling the Concurrent Program

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

           return requestId;

           } catch (Exception e) {
            throw new OAException(e.getMessage());




Leave a Reply

Your email address will not be published.