MLS function field in Concurrent Program

Hello what is the use of MLS Function field in conc. program definition form.

Pl see if MOS Doc 310952.1 (All Oracle Reports Can Not Get the European Number Format) can help
HTH
Srini

Similar Messages

  • Java Concurrent Program - connecting to MS SQL Server

    Hi,
    I hope this is correct forum to post this question.
    I am writing a JCP which will connect to a MS SQL Server DB, pull data from a table and populate this data into a custome table in EBS (R12.1.1) database. But I am facing some issues.
    When I run run this concurrent program from EBS, I get following exception message:
    Wed Aug 08 01:18:04 GMT 2012: In openConection()
    Wed Aug 08 01:18:04 GMT 2012: Before Loading Driver com.microsoft.jdbc.sqlserver.SQLServerDriver
    Wed Aug 08 01:18:04 GMT 2012: openConection() ClassNotFoundException: java.lang.ClassNotFoundException: com.microsoft.jdbc.sqlserver.SQLServerDriver
    Wed Aug 08 01:18:04 GMT 2012: Before Calling processPrintMachineRecords()
    Wed Aug 08 01:18:04 GMT 2012: Exception:: java.lang.NullPointerException
    Wed Aug 08 01:18:04 GMT 2012: In closeSQLServerConnection().......closing JDBC Connection
    Wed Aug 08 01:18:04 GMT 2012: Connection object was null, hence skipping close
    Wed Aug 08 01:18:04 GMT 2012: After Calling processPrintMachineRecords()
    The I read somewhere on internet that I should set CLASSPATH in options field of concurrent program definition. So I provided classpath as follows:
    -cp /rs01/u02/applmgr/utyeb02/apps/apps_st/appl/au/12.0.0/appsborg.zip:/rs01/u02/applmgr/utyeb02/apps/apps_st/comn/java/classes/apps.zip:/rs01/u02/applmgr/utyeb02/apps/apps_st/comn/java/classes/sqljdbc_4.0/enu/sqljdbc.jar
    In this classpath sqljdbc.jar contains the classes for connecting to MS SQL Server DB. However after giving classpath like this I started getting different error:
    Exception in thread "main" java.lang.NoClassDefFoundError: oracle/apps/fnd/cp/request/Run
    Caused by: java.lang.ClassNotFoundException: oracle.apps.fnd.cp.request.Run
         at java.net.URLClassLoader$1.run(URLClassLoader.java:200)
         at java.security.AccessController.doPrivileged(Native Method)
         at java.net.URLClassLoader.findClass(URLClassLoader.java:188)
         at java.lang.ClassLoader.loadClass(ClassLoader.java:306)
         at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:276)
         at java.lang.ClassLoader.loadClass(ClassLoader.java:251)
         at java.lang.ClassLoader.loadClassInternal(ClassLoader.java:319)
    It appears from the error message that after giving this CLASSPATH, program was not able to find the "Run" method itself. In otherwords, CLASSPATH screwed it further.
    Can anybody please point out what am I doing wrong here?
    Regards
    Java Code:
    package oracle.apps.custom.printmachine;
    import java.sql.*;
    import oracle.apps.fnd.cp.request.* ;
    import java.io.*;
    import oracle.apps.fnd.util.*;
    public class PrintMachineInterface implements JavaConcurrentProgram {
    public static final String M_SUCCESS = "SUCCESS";
    public static final String M_ERROR = "ERROR";
    public static final String M_WARNING = "WARNING";
    int mRequestStatus = -1;
    int max_number_of_records = 99999999;
    private String mSqlServerHost = "mysqlserver.domain.com";
    // Application Short Name
    private String applName;
    CpContext mCtx;
    LogFile logFile;
    OutFile outFile;
    Connection mConn = null;
    ReqCompletion lRC;
    public PrintMachineInterface(){
    // if no parameter value is specified for APPLNAME then use FND
    //as default value
    applName = "FND";
    private void logMessage(String str) {
    java.util.Date now = new java.util.Date();
    logFile.writeln(now.toString() + ": " + str, LogFile.STATEMENT);
    static String mInsertRecord = " Declare " + " BEGIN "
    + " INSERT INTO XXGFN_GBL_CE_PM_STAGE(ID, KEY, FILENAME, PRINTED_AT, CREATED_AT, DOCTYPE, LANGUAGE, OU, TRX_ID, DOC_ID, REQ_ID, TEMPLATE, PAGES, DOC_TEXT, TIMES_RECEIVED)"
    + " VALUES (:1, :2, :3, :4, :5, :6, :7, :8, :9, :10, :11, :12, :13, substr(:14,2000), :15);"
    + " COMMIT;"
    + " END;";
    static Connection con = null;
    public void openConection() {
    logMessage( "In openConection()");
    try {
    logMessage( "Before Loading Driver com.microsoft.jdbc.sqlserver.SQLServerDriver");
    Class.forName("com.microsoft.jdbc.sqlserver.SQLServerDriver");
    logMessage( "After Loading Driver com.microsoft.jdbc.sqlserver.SQLServerDriver");
    logMessage( "Attempting to connect to " + mSqlServerHost);
    con = DriverManager.getConnection("jdbc:microsoft:sqlserver://" + mSqlServerHost + ":1433;User=sql_user;Password=sql_pwd");
    logMessage( "After con assigned from getConnection(jdbc:microsoft:sqlserver://" + mSqlServerHost + ":1433;User=pm_dba_access;Password=*****");
    } catch (java.lang.ClassNotFoundException e) {
    logMessage("openConection() ClassNotFoundException: " + e);
    } catch (SQLException ex) {
    logMessage("openConection() SQLException: " + ex);
    public void closeSQLServerConnection() {
    try {
    logMessage( "In closeSQLServerConnection().......closing JDBC Connection");
    if (con != null)
    logMessage( "Con is not null");
    con.close();
    logMessage( "Con Closed Successfully");
    else
    logMessage( "Connection object was null, hence skipping close");
    } catch (SQLException ex) {
    logMessage("SQLException: " + ex);
    } catch (Exception ex) {
    logMessage("Exception in closeSQLServerConnection() : " + ex);
    private void populate_staging_table(
    String p_id,
    String p_key,
    String p_filename,
    String p_printed_at,
    String p_created_at,
    String p_doctype,
    String p_language,
    String p_ou,
    String p_trx_id,
    String p_doc_id,
    String p_req_id,
    String p_template,
    String p_pages,
    String p_doc_text,
    String p_times_received
    PreparedStatement lStmt = null;
    logMessage("Populating data from PrintMachine history table");
    try {
    lStmt = mConn.prepareCall(mInsertRecord);
    lStmt.setString(1, p_id);
    lStmt.setString(2, p_key);
    lStmt.setString(3, p_filename);
    lStmt.setString(4, p_printed_at);
    lStmt.setString(5, p_created_at);
    lStmt.setString(6, p_doctype);
    lStmt.setString(7, p_language);
    lStmt.setString(8, p_ou);
    lStmt.setString(9, p_trx_id);
    lStmt.setString(10, p_doc_id);
    lStmt.setString(11, p_req_id);
    lStmt.setString(12, p_template);
    lStmt.setString(13, p_pages);
    lStmt.setString(14, p_doc_text);
    lStmt.setString(15, p_times_received);
    lStmt.execute();
    lStmt.close();
    } catch (SQLException s) {
    logMessage("Exception thrown w/ error message: "
    + s.getMessage());
    s.printStackTrace();
    finally {
    try {
    if (lStmt != null)
    lStmt.close();
    } catch (SQLException e) {
    logMessage("SQLException: " + e);
    private void processPrintMachineRecords() {
    int number_of_recs = 0;
    try {
    PreparedStatement stmt = con.prepareStatement("SELECT TOP 1000 ID, Key, Filename, PrintedAt, CreatedAt, Doctype, Language,OU, TransactionID, DocumentID, RequestID, Template, Pages, Documenttext, TimesReceived FROM PM_DATA.dbo.History" );
    ResultSet rst = stmt.executeQuery();
    while (rst.next()) {
    number_of_recs++;
    if (number_of_recs == max_number_of_records) break;
    populate_staging_table(
    rst.getString(1), rst.getString(2)
    ,rst.getString(3), rst.getString(4)
    ,rst.getString(5), rst.getString(6)
    ,rst.getString(7), rst.getString(8)
    ,rst.getString(9), rst.getString(10)
    ,rst.getString(11), rst.getString(12)
    ,rst.getString(13), rst.getString(14)
    ,rst.getString(15)
    stmt.close();
    rst.close();
    mConn.commit();
    } catch (SQLException ex) {
    logMessage("SQLException: " + ex);
    catch (Exception ex) {
    logMessage("Exception:: " + ex);
    closeSQLServerConnection();
    public void runProgram(CpContext pCpContext) {
    applName = "XXGFN";
    String l_file_path = null;
    mCtx = pCpContext;
    //get handle on request completion object for reporting status
    lRC = pCpContext.getReqCompletion();
    // assign logfile
    logFile = pCpContext.getLogFile();
    // assign outfile
    outFile = pCpContext.getOutFile();
    // get the JDBC connection object
    mConn = pCpContext.getJDBCConnection();
    l_file_path = ((new File(outFile.getFileName())).getParent() == null ? ""
    : (new File(outFile.getFileName())).getParent());
    // get parameter list object from CpContext
    ParameterList lPara = pCpContext.getParameterList();
    while (lPara.hasMoreElements())
    NameValueType aNVT = lPara.nextParameter();
    if ( aNVT.getName().equals("APPLNAME") )
    applName = aNVT.getValue();
    /** openConection() Opens the connection to SQL Server Database*/
    openConection() ;
    logMessage("Before Calling processPrintMachineRecords()");
    processPrintMachineRecords();
    logMessage("After Calling processPrintMachineRecords()");
    try{
    setCompletion(ReqCompletion.NORMAL, "Request Completed Normal");
    } catch (Exception e) {
    setCompletion(ReqCompletion.ERROR, e.toString());
    } finally {
    pCpContext.releaseJDBCConnection();
    * Sets the request completion status based on proper precedence. ERROR >
    * WARNING > NORMAL
    * @param pStatus
    * Status of the request.
    * @param pCompletionText
    * Request's completion text.
    public void setCompletion(int pStatus, String pCompletionText) {
    if ((pStatus == ReqCompletion.ERROR)
    || ((pStatus == ReqCompletion.WARNING) && (mRequestStatus != ReqCompletion.ERROR))
    || ((pStatus == ReqCompletion.NORMAL)
    && (mRequestStatus != ReqCompletion.WARNING) && (mRequestStatus != ReqCompletion.ERROR))) {
    mRequestStatus = pStatus;
    lRC.setCompletion(pStatus, pCompletionText);
    }

    ok
    i used Template.java as input
    useful MOS:
    How To Create a Java Concurrent Program? [ID 827563.1]
    Java Concurrent Program FAQ [ID 827575.1]
    i used
    //goto ms sql server 2008r2       
            try{
             Class.forName("com.microsoft.sqlserver.jdbc.SQLServerDriver");        
             con = java.sql.DriverManager.getConnection( 
                                          "jdbc:sqlserver://1.2.3.4:1433;databaseName=test;selectMethod=cursor", 
                                          "test", "test");          
              if(con!=null) System.out.println("Connection Successful!");
            }catch(Exception e){
              e.printStackTrace();
              System.out.println("Error Trace in getConnection() : " + e.getMessage());
            }1.2.3.4 - ip of instance with sqlserver2008r2 :)
    in your code
    >
    try {
    logMessage( "Before Loading Driver com.microsoft.jdbc.sqlserver.SQLServerDriver");
    Class.forName("com.microsoft.jdbc.sqlserver.SQLServerDriver");
    logMessage( "After Loading Driver com.microsoft.jdbc.sqlserver.SQLServerDriver");
    logMessage( "Attempting to connect to " + mSqlServerHost);
    con = DriverManager.getConnection("jdbc:microsoft:sqlserver://" + mSqlServerHost + ":1433;User=sql_user;Password=sql_pwd");
    logMessage( "After con assigned from getConnection(jdbc:microsoft:sqlserver://" + mSqlServerHost + ":1433;User=pm_dba_access;Password=*****");
    } catch (java.lang.ClassNotFoundException e) {
    logMessage("openConection() ClassNotFoundException: " + e);
    } catch (SQLException ex) {
    logMessage("openConection() SQLException: " + ex);
    >
    try my case for Driver and Connection
    put result .class file to needed directory
    put sqljdbc4.jar to /rs01/u02/applmgr/utyeb02/apps/apps_st/comn/java/lib
    and for concurrent program option
    -classpath /rs01/u02/applmgr/utyeb02/apps/apps_st/comn/java/classes:/rs01/u02/applmgr/utyeb02/apps/apps_st/appl/au/12.0.0/appsborg.zip:/rs01/u02/applmgr/utyeb02/apps/apps_st/comn/java/lib/sqljdbc4.jaralso useful mos:
    Classpath Setting of Third Party Jar Files in R12 Java Concurrent Program (JCP) [ID 1292694.1]

  • Require user specific F4 functionality for a field in a program output

    Dear all,
    My requirement is i am using a field for ex: bukrs, name1 for an output. when iam using this two field in a program, if that program executes, i need F4 functionality for user specific. f4 functionality should show depends upon the name1.
    In a template i have these two variables, when i give name1 as 'ABCD' and press f4 for the bukrs it should display only bukrs which are mapped to ABCD. Lets assume one table is there for name1 mapper to bukrs.
    How it is possible. if so please let me know.
    Regards
    Arani Bhaskar

    Hello Arani,
    I think solution to your problem lies in using MATCHCODE addition to parameters and select-options as well.
    (This is from SAP F1-Help)
    ... MATCHCODE OBJECT search_help
    *Effect*
    This addition links the input field of the parameter to a search help search_help from the ABAP Dictionary. The name of the search help must be entered directly. For the input field of the parameter on the selection screen, the input help key is displayed. When the input help (F4) is requested, the user is displayed the hit list from the search help. When an entry is selected, the respective value is placed into the input field. If no search help for the specified name exists in the ABAP Dictionary, a message is displayed in the status line when the input help is requested.
    The addition MATCHCODE OBJECT cannot be used together with the additions AS CHECKBOX or RADIOBUTTON.
    *Note*
    The predecessors of search helps in the ABAP Dictionary were socalled matchcode objects. This is why you have the name MATCHCODE OBJECT for this addition. Matchcode objects that have not yet been replaced by search helps continue to be supported by this addition.
    *Example*
    Linking the parameter p_carrid with a suitable search help. When you choose the input help on the selection screen, a list with the names of the airline carriers is displayed. If a name is selected, the corresponding abbreviation is placed in the input field.
    PARAMETERS p_carrid TYPE s_carr_id
               MATCHCODE OBJECT demo_f4_de.
    Moreover, please read about using MATCHCODE, hope it helps you, Arani.
    Thanks: Zahack

  • Date lov in the concurrent program parameter field

    Hi,
    I have a date parameter in the concurrent program. I need to have a date calendar for the parameter, can I have the data calendar? I am not sure if we can do that.
    Can anybody throw some light on this.
    Thanks a million
    Regards
    Ruma

    Hi swati
    u cannt create a multi select LOV for Apps concurrent program.
    Some of the options:
    -> Create different parameters. Also u cannt create parameters dynamically depending upon the number of options u want to give for that parameter, better fix the maximum no. of options say 5 .. ORG1, ORG2, ORG3, ORG4, ORG5
    -> If multi select LOV are of high priority, go for Discoverer if it is a Report.
    cheers
    chakoo

  • Bursting Java Concurrent Program Class Compiling Error

    Hi,
    I am trying to compile the Java Class that Tim has provided in his blog to create the Bursting JCP. I am using R12, so that would be XMLP 5.6.3. As far as I can work out the patch that has been developed for the seeded Bursting JCP is not yet available for R12, so I am trying to create one myself from Tim's examples.
    I do not pretend to be a Java expert, or even pretend to have more than and very very very basic knowledge of it, so I am hoping someone will be able to tell me why I am getting the following error when I try to compile it:
    $ javac XMLPReportBurst.java
    XMLPReportBurst.java:220: cannot find symbol
    symbol : constructor OADocumentProcessor(java.io.InputStream,java.io.InputStream,java.lang.String)
    location: class oracle.apps.xdo.oa.util.OADocumentProcessor
    OADocumentProcessor dp = new OADocumentProcessor(ctlFile,fis,"/home/applmgr/tmp");
    ^
    1 error
    The Java Class that I am using can be seen below, and the error seems to be occurring at line 220:
    package oracle.apps.xdo.oa.cp;
    import java.sql.SQLException;
    import java.sql.Connection;
    import java.io.FileInputStream;
    import java.io.FileOutputStream;
    import java.io.InputStream;
    import java.io.OutputStream;
    import java.io.PrintWriter;
    import java.io.StringWriter;
    import oracle.jdbc.driver.OracleResultSet;
    import oracle.jdbc.driver.OraclePreparedStatement;
    import oracle.jdbc.driver.OracleCallableStatement;
    import oracle.apps.fnd.common.VersionInfo;
    import oracle.apps.fnd.util.NameValueType;
    import oracle.apps.fnd.util.ParameterList;
    import oracle.apps.fnd.cp.request.CpContext;
    import oracle.apps.fnd.cp.request.ReqCompletion;
    import oracle.apps.fnd.cp.request.LogFile;
    import oracle.apps.fnd.cp.request.JavaConcurrentProgram;
    import oracle.apps.fnd.cp.request.RemoteFile;
    import oracle.apps.xdo.XDOException;
    import oracle.apps.xdo.oa.util.OADocumentProcessor;
    import oracle.apps.xdo.batch.BurstingListener;
    import java.util.Properties;
    import java.util.Vector;
    public class XMLPReportBurst implements JavaConcurrentProgram, BurstingListener
    public static final String RCS_ID=
    "$Header: JCP4XMLPublisher.java 115.34 2006/01/09 16:54:58 bgkim noship $";
    public static final boolean RCS_ID_RECORDED =
    VersionInfo.recordClassVersion(RCS_ID, "oracle.apps.xdo.oa.cp");
    // Global Reference to pCpContext
    private CpContext ccntxt;
    private LogFile lfile;
    private boolean debug = false;
    private Connection mJConn;
    public void runProgram(CpContext pCpContext)
    lfile = pCpContext.getLogFile();
    lfile.writeln("XML Report Publisher 5.0",0);
    ccntxt = pCpContext;
    // get the JDBC connection object
    mJConn = pCpContext.getJDBCConnection();
    // get parameter list object from CpContext
    ParameterList lPara = pCpContext.getParameterList();
    // get ReqCompletion object from CpContext
    ReqCompletion lRC = pCpContext.getReqCompletion();
    String Params = null;
    int lrequestId = 0;
    String ltemplatecode = null;
    String lApplShortName = null;
    String lLocale = null;
    String lDebug = "N";
    String lOutFormat = null;
    String tmplLang = null;
    String tmplTerr = null;
    int reqid = pCpContext.getReqDetails().getRequestId();
    // Parse Parameters
    while (lPara.hasMoreElements())
    NameValueType aNVT = lPara.nextParameter();
    Params += aNVT.getName() + ":" + aNVT.getValue();
    if ( aNVT.getName().equals("ReportRequestID") )
    lrequestId = Integer.parseInt(aNVT.getValue());
    else if ( aNVT.getName().equals("DebugFlag") )
    lDebug = aNVT.getValue();
    debug = (lDebug.equals("Y")) ? true : false;
    if (debug)
    lfile.writeln("Request ID: "+reqid ,1);
    lfile.writeln("All Parameters: " + lPara.getString(),1);
    lfile.writeln("Report Req ID: "+ lrequestId,1);
    lfile.writeln("Debug Flag: " + lDebug,1);
    try
    lfile.writeln("Updating request description",0);
    String lSqls = "update FND_CONCURRENT_REQUESTS " +
    "set DESCRIPTION='Bursting ' || " +
    " ( select USER_CONCURRENT_PROGRAM_NAME " +
    " from FND_CONC_REQ_SUMMARY_V " +
    " where request_id= :1 ) " +
    "where request_id = :2 ";
    OracleCallableStatement lStmt2 =
    (OracleCallableStatement)mJConn.prepareCall(lSqls);
    lStmt2.setInt(1,lrequestId);
    lStmt2.setInt(2,reqid);
    lStmt2.execute();
    lStmt2.close();
    mJConn.commit();
    if (debug) lfile.writeln("Updated description",0);
    /* Obtain Input xml file from RemoteFile object by lrequestId */
    lfile.writeln("Retrieving XML request information",0);
    lSqls = "select OUTFILE_NODE_NAME, OUTFILE_NAME from " +
    "FND_CONCURRENT_REQUESTS " +
    "where request_id= :1";
    OraclePreparedStatement lStmt1 =
    (OraclePreparedStatement)mJConn.prepareStatement(lSqls);
    lStmt1.setInt(1,lrequestId);
    OracleResultSet lRslt = (OracleResultSet)lStmt1.executeQuery();
    lRslt.next();
    String cNode=lRslt.getString(1);
    String outf=lRslt.getString(2);
    lRslt.close();
    lStmt1.close();
    if (debug) lfile.writeln("Node Name:" + cNode,1);
    lfile.writeln("Preparing parameters",0);
    // PDF output file (Outfile of this request)
    String outputfilename = pCpContext.getOutFile().getFileName();
    if (debug) lfile.writeln(lOutFormat+" output =" + outputfilename, 1);
    OutputStream fout = new FileOutputStream(outputfilename);
    RemoteFile rf = new RemoteFile (pCpContext, cNode, outf, "TEXT");
    String inputfilename = rf.getFile().getAbsolutePath();
    if (debug) lfile.writeln("inputfilename =" + inputfilename, 1);
    if ( inputfilename == null || inputfilename.equals("") )
    lRC.setCompletion(ReqCompletion.ERROR,
    "Error has occured. Please check the log file");
    // Input stream from XML data file ( Outfile of XML generating request)
    InputStream fis = new FileInputStream(inputfilename);
    InputStream ctlFile = new FileInputStream("\\home\\applmgr\\InvoiceBatchBurst.xml");
    lfile.writeln("Starting burst ...",1);
    OADocumentProcessor dp = new OADocumentProcessor(ctlFile,fis,"/home/applmgr/tmp");
    lfile.writeln("Bursting initiated ... ",1);
    dp.registerListener(this);
    lfile.writeln("Listener created ...",1);
    Properties prop= new Properties();
    lfile.writeln("Properties set ...",1);
    prop.put("user-variable:EMAILP","[email protected]");
    dp.setConfig(prop);
    lfile.writeln("Config set ...",1);
    dp.process();
    lfile.writeln("Bursting complete",1);
    fis.close();
    fout.close();
    lRC.setCompletion(ReqCompletion.NORMAL, "Request Completed Normal");
    catch (SQLException e)
    lfile.writeln("--SQLException",1);
    //lfile.writeln(e.getMessage(),1);
    lfile.writeln(getErrorStack(e),1);
    lRC.setCompletion(ReqCompletion.ERROR, e.getMessage());
    catch (XDOException e)
    lfile.writeln("--XDOException",1);
    //lfile.writeln(e.getMessage(),1);
    //lfile.writeln(sw.toString(),1);
    lfile.writeln(getErrorStack(e),1);
    lRC.setCompletion(ReqCompletion.ERROR, e.getMessage());
    catch (Exception e)
    lfile.writeln("--Exception",1);
    lfile.writeln(e.getMessage(),1);
    lfile.writeln(getErrorStack(e),1);
    lRC.setCompletion(ReqCompletion.ERROR, e.getMessage());
    finally
    pCpContext.releaseJDBCConnection();
    private String getErrorStack(Exception exc) {
    StringWriter sw = new StringWriter();
    PrintWriter pw = new PrintWriter(sw);
    try
    exc.printStackTrace(pw);
    pw.flush();
    pw.close();
    sw.close();
    return sw.toString();
    catch (Exception e)
    return null;
    public void beforeProcess(){
    if (debug) lfile.writeln("==============Start of Bursting Process=================",0);
    public void afterProcess()
    if (debug) lfile.writeln("==============End of Bursting Process=================",0);
    public void beforeProcessRequest(int requestIndex)
    if (debug)
    lfile.writeln(" ========Start of Process Request",0);
    lfile.writeln(" Request Index +requestIndex",0);
    public void afterProcessRequest(int requestIndex)
    if (debug) lfile.writeln(" ========End of Process Request",0);
    public void beforeProcessDocument(int requestIndex,int documentIndex)
    if (debug){
    lfile.writeln(" ========Start of Process Document",0);
    lfile.writeln(" Request Index "+requestIndex,0);
    lfile.writeln(" Document Index " +documentIndex,0);
    public void afterProcessDocument(int requestIndex,int documentIndex,Vector documentOutputs)
    if (debug){
    lfile.writeln(" ========End of Process Document",0);
    lfile.writeln(" Outputs :"+documentOutputs,0);
    public void beforeDocumentDelivery(int requestIndex,int documentIndex,String deliveryId)
    if (debug){
    lfile.writeln(" ========Start of Delivery",0);
    lfile.writeln(" Request Index "+requestIndex,0);
    lfile.writeln(" Document Index " +documentIndex,0);
    lfile.writeln(" DeliveryId " +deliveryId,0);
    public void afterDocumentDelivery(int requestIndex,int documentIndex,String deliveryId,Object deliveryObject,Vector attachments)
    if (debug){
    lfile.writeln(" ========End of Delivery",0);
    lfile.writeln(" Attachments : "+attachments,0);
    I hope you can help me as this is an on going issue for me that I need to try and get resolved.
    I look forward to hearing any suggestions.
    Regards,
    Cj

    Hi,
    Yes you have one more field in the Data Definition tab that reads Bursting Control File just after the 3 you mentioned .You can upload the control file here.
    However both this functionality and the Bursting Concurrent Program will be available once you have applied the patch for 5.6.3..
    I've been looking too for anyone who has a writeup on the the way this Program can be used.As of now I am just following the Read Me available with this Patch.
    It has some samples...
    Let me know if this helps.
    Regards,
    Lavina

  • Getting Error While Attaching Concurrent Program Output PDF file for POAPPRV Workflow

    Hi All,
    I am getting the below error when I am trying to attach concurrent program output to the PO Approval Notification.
    An Error occurred in the following Workflow.
    Item Type = POAPPRV
    Item Key = 1040589-528378
    User Key =945871
    Error Name = WF_ERROR
    Error Message = [WF_ERROR] ERROR_MESSAGE=3835: Error '-20002 - ORA-20002: [WFMLR_DOCUMENT_ERROR]' encountered during execution of Generate function 'WF_XML.Generate' for event 'oracle.apps.wf.notification.send'. ERROR_STACK=
    Wf_Notification.GetAttrblob(3604701, ZZ_PREVIOUS_PO_COMPARE, text/html)
    WF_XML.GetAttachment(3604701, text/html)
    WF_XML.GetAttachments(3604701, http://oraerp.am.corp.xxxx.com:8099/pls/DEV, 11283)
    WF_XML.GenerateDoc(oracle.apps.wf.notification.send, 3604701)
    WF_XML.Generate(oracle.apps.wf.notification.send, 3604701)
    WF_XML.Generate(oracle.apps.wf.notification.send, 3604701)
    Wf_Event.setMessage(oracle.apps.wf.notification.send, 3604701, WF_XML.Generate)
    Wf_Event.dispatch_internal()
    Error Stack =
    Activity ID = 190844
    Activity Label = AL_NOTIFY_APPROVER_PROCESS:ZZ_PO_PO_APPROVE_ATTCH
    Result Code = #MAIL
    Notification ID = 3604701
    There are several threads for this error however I cannot find any specific solution to the problem.
    Please find the code below -
        wf_engine.setitemattrdocument(itemtype=>itemtype,
                                      itemkey=> itemkey,
                                      aname=>'ZZ_PREVIOUS_PO_COMPARE',
                                      documentid =>'PLSQLBLOB:zz_po_reqapproval_init1.xx_notif_attachments/' || to_char(l_request_id_prev_po)||':'||to_char(l_document_num));
    -- here l_request_id_q_and_s is the request id of the program and l_document_num is the PO document number
    PROCEDURE xx_notif_attachments(p_request_id    IN VARCHAR2,
                                   p_document_num  IN VARCHAR2,
                                   p_document      IN OUT BLOB,
                                   p_document_type IN OUT VARCHAR2) IS
      v_lob_id          NUMBER;
      v_document_num    VARCHAR2(15);
      v_document_prefix VARCHAR2(100);
      v_file_name       VARCHAR2(500);
      v_file_on_os      BFILE;
      v_temp_lob        BLOB;
      v_dest_offset     NUMBER := 1;
      v_src_offset      NUMBER := 1;
      v_out_file_name   VARCHAR2(2000);
      v_conc_prog_name  VARCHAR2(500);
      v_conc_req_id     NUMBER;
      CURSOR get_output_file(p_concurrent_request_id NUMBER) IS
        SELECT cr.outfile_name, cp.concurrent_program_name
          FROM fnd_concurrent_requests cr, fnd_concurrent_programs_vl cp
         WHERE request_id = p_concurrent_request_id
           AND cp.concurrent_program_id = cr.concurrent_program_id;
    BEGIN
      --    set_debug_context('xx_notif_attach_procedure');
      v_conc_req_id  := to_number(substr(p_request_id,
                                         1,
                                         instr(p_request_id, ':') - 1));
      v_document_num := substr(p_request_id,
                               instr(p_request_id, ':') + 1,
                               length(p_request_id) - 2);
      OPEN get_output_file(v_conc_req_id);
      FETCH get_output_file
        INTO v_out_file_name, v_conc_prog_name;
      CLOSE get_output_file;
      v_out_file_name := substr(v_out_file_name,
                                instr(v_out_file_name, '/', -1) + 1);
      v_file_name     := to_char(v_document_num) || '-Previous_PO_Rev.pdf';
      utl_file.fcopy(src_location  => 'APPS_OUT_DIR',
                     src_filename  => v_out_file_name,
                     dest_location => 'PO_DATA_DIR',
                     dest_filename => v_file_name);
      --  v_lob_id := to_number(v_document_id);
      v_file_on_os := bfilename('PO_DATA_DIR', v_file_name);
      dbms_lob.createtemporary(v_temp_lob, cache => FALSE);
      dbms_lob.fileopen(v_file_on_os, dbms_lob.file_readonly);
      dbms_lob.loadblobfromfile(dest_lob    => v_temp_lob,
                                src_bfile   => v_file_on_os,
                                amount      => dbms_lob.getlength(v_file_on_os),
                                dest_offset => v_dest_offset,
                                src_offset  => v_src_offset);
      dbms_lob.fileclose(v_file_on_os);
      p_document_type := 'application/pdf;name=' || v_file_name;
      dbms_lob.copy(p_document, v_temp_lob, dbms_lob.getlength(v_temp_lob));
    EXCEPTION
      WHEN OTHERS THEN
        wf_core.CONTEXT('ZZ_PO_REQAPPROVAL_INIT1',
                        'xx_notif_attachments',
                        v_document_num,
                        p_request_id);
        RAISE;
    END xx_notif_attachments;
    Please help me find a to the above mentioned error.
    Thanks,
    Suvigya

    There are two ways to look at what error the PLSQLBLOB API is throwing.
    1) Call your PLSQLBLOB API GNE_PO_CREATE_FILE_ATTACHMENT.Gne_Create_File_Attachment directly from a PLSQL block and verify that it returns the BLOB data successfully.
    You could also call another WF API that in turn executes the PLSQLBLOB API internally. For example,
    <pre>
    declare
    l_document blob;
    l_doctype varchar2(240);
    l_aname varchar2(90);
    begin
    dbms_lob.CreateTemporary(l_document, true, dbms_lob.Session);
    -- 207046 - This is the notification id of your failed workflow
    -- PO_REPORT - Document type attribute
    -- 'text/html' - Content Type being generated for
    Wf_Notification.GetAttrBLOB(207046, 'PO_REPORT', 'text/html', l_document, l_doctype, l_aname);
    -- Print the size of the document here to verify it was fetched correctly
    end;
    </pre>
    2) Turn on log for SYSADMIN user with following attributes.
    Log Enabled = TRUE
    Log Level = ERROR
    Log Module = wf.plsql%
    Restart the Workflow Deferred Agent Listener and Workflow Notification Deferred Agent Listener and run your workflow process. Search for log messages written for above context and you can identify the error at wf.plsql.WF_XML.GetAttachment module with message starting as "Error when getting BLOB attachment ->"
    Hope this helps.
    Vijay

  • Unable to generate XML's for BLOB datatypes from Concurrent program

    Hi All,
    I've a requirement to print images on rtf layout. Images are uploaded by end user through attahments men
    there are getting stored in fnd_lobs tables.
    for printing blob images we need to convert them into CLOB and generate XML's.
    I've done the conversion through a function and calling the function in the select query which is generating XML when i run it from toad.
    SELECT xmlgen.getXml(
    'SELECT file_id,mob_getbase64String(file_data) photo
    FROM fnd_lobs
    WHERE file_id = 2490481'
    ,0
    ) FROM dual;
    But the same thing we i registered as concurrent program (SQL*Plus) the program is running into error.
    Output file
    The XML page cannot be displayed
    Cannot view XML input using style sheet. Please correct the error and then click the Refresh button, or try again later.
    Invalid at the top level of the document. Error processing resource 'https://dbtdev5i.oracleoutsourcing.com/OA_CGI/FNDWRR.e...
    Input truncated to 17 characters
    ^
    Log file
    Concurrent Manager encountered an error while running SQL*Plus for your concurrent request 10868311.
    Review your concurrent request log and/or report output file for more detailed information.
    Can anyone help me through on how to bypass this error and generate XML's.
    Thanks in Advance
    Jana

    Hi Priya..,
    I have changed the query and registered in apps and now i am able to generate XML's of the blob image and the same is getting printed on the tempate..
    DECLARE
    v_colb CLOB;
    v_query VARCHAR2(1000);
    BEGIN
    v_query := 'SELECT file_id,mob_getbase64String(file_data) photo
    FROM fnd_lobs fl,
    fnd_documents_vl fd
    WHERE fd.media_id = fl.file_id
    AND (fd.end_date_active IS NULL
    OR fd.end_date_active > SYSDATE)
    AND fd.security_type = 2
    AND fd.security_id = fnd_profile.value(''GL_SET_OF_BKS_ID'')';
    --FND_FILE.put_line( FND_FILE.LOG,v_query);
    v_colb := xmlgen.getxml (v_query, 0);
    --DBMS_OUTPUT.put_line (v_query);
    FND_FILE.put_line( FND_FILE.OUTPUT,v_colb);
    END;
    /

  • Copy Concurrent Program - XML Publisher Report

    I am running a xml publisher report and it is working fine when i submit directly, but when i use copy function to copy a concurrent program the template is not defaulted and program completes without an error, but when i try to view the output i am getting "Unable to find the published output for this request" error.

    Hi user;
    Please check this and this
    Hope it helps
    Regard
    Helios

  • Calling Transaction Import Concurrent Program in PL/SQl program

    Hi,
    I am trying to run Transaction Import process by calling the concurrent program in my pl/sql program.I think I am passing all the right paramters which are necessary.But the actual PAXTRTRX is never being called and I am not getting any request ID back.No exception is being thrown.Following is how I am calling the concurrent program...
    p_tran_imp_request_id := fnd_request.submit_request
         ( application => 'PA'     
              , program => 'PAXTRTRX'
              , sub_request => FALSE
              , argument1 => 'My Transaction Source name here'
              , argument2 => 'My batch name here'
    ,argument3 => 'my TXN_INTERFACE_ID here'
    If I run the PRC: Transaction Import from front end...the process is run and import was completed just fine.But I am not able to call concurrent program from my program.Is there anything I am missing...Is there any thing I need to do before I call the concurrent program...
    Any help in this issue is greatly appreciated.
    Thanks

    Hi,
    Thanks for the advise. Yes I was calling the initialize function but I was passing wrong application id and responsibility id to that.Now that is taken care of.
    Thanks

  • How to call a concurrent program from a Custom JSP page.

    Hi,
    I have a custom JSP page which i have deployed by creating a form function with the path of the JSP Page
    and added the JSP Page to the OA_HTML top.
    Now, i need to call a concurrent program from the JSP Page, i have all the parameters in my page and i am using the standard class as below:
    ConcurrentRequest cr= new ConcurrentRequest(con);
    int requestId= cr.submitRequest("XXINV",programName,null,null,false,vec);
    I have verified my connection object and it is OK but i am getting the exception that user is not set to run the program.
    I tried the below code in my JSP page and getting -1 for all test variables :-
    int userId = wctx.getUserId();
    int respApplId = wctx.getRespApplId();
    int respId = wctx.getRespId();
    I think i need to set the context in JSP page to run the program..
    Pls help ....
    Regards
    Saurabh Jaiswal

    Hi,
    Thanks for the reply,,,
    This is a possible solution but this will allow to run the program anyhow.
    But the procedure which i call thru callable statement will start with
    fnd_global.apps_initialize (3825, 50603, 704);
    fnd_request.submit_request API call.
    Now, the values of user and Responsibilty is required in the program and it changes.
    With this approach we have to hardcode the user and resp.
    The same JSP page is attached to other responsibilities and there the concurrent program would get fired as if fired from the resp Id hardcoded as above.
    Need to capture user Id and RespId.
    How can i set the apps Context in JSP page???
    Regards
    Saurabh Jaiswal

  • Questions on Concurrent program.

    Hi
    1. How do I know, how many concurrent program is running in service contract and their status ?
    2. Is there a place, where I cango and check the following details for a particular concurrent program ?
    1. When it ran last ?
    2. Was there any error ?
    3. logfile or logfile location ? etc
    thanks
    siva
    Edited by: sivapara on Nov 21, 2008 12:05 PM

    And if this is a BDC running in background, or a call transaction, then placing the cursor on a given field has no effect unless it is needed for navigation to the next screen. 
    When you record a BDC using SHDB there are a lot of statements like this that are added in but are not needed for the BDC to work. 
    Another example is the "BDC_SUBSCR" field name - this does not in most cases appear to have any effect on how the BDC is processed.
    Also, the recording will include fields which have default values on the screen that you do not need to overwrite with the same value from the BDC.
    I often delete these statements from the recording, taking care that I understand what the impact is.  You can try commenting out the line and see what difference it makes to processing. 
    When using a BDC for updating a lot of records, having less of these types of lines in the BDCDATA table will speed performance a bit.
    Andrew

  • How to use the 3of9 font in report in concurrent program

    Dear All,
    I have developed a report in 6i, and selected the font 3of9.ttf in Report Builder, which is a Barcode type font. but when i register the report as concurrent program and run the report concurrent program it is not showing me the field value in barcode format.
    Then i tried to ftp the font to unix server at location "$OA_JRE_TOP/jre/lib/fonts/3of9000.ttf" also created the xdo.cfg file at "$OA_JRE_TOP/lib" folder.
    But still i am not getting the expected result.
    Can anyone help me out to resolve this issue?
    Thanks & Regards,
    CAK

    You can't just copy a Windows font to Unix. You need specific Unix installation steps. That I know, for the rest I am unfamiliar with Unix fonts.
    Some info can be found here:
    http://www.idautomation.com/kb/unix-finst.html
    For specific problems with E-Business Suite, ask that in the EBS forum.

  • Pass input value to a concurrent program of type PL/SQL procedure

    Hi,
    I have created an executable program which is based on "PL/SQL Stored Procedure" method and created a concurrent program which calls this executable. It is available from SRS.
    The relevant stored procedure requires an input variable as parameter.
    How can I pass this parameter when calling the concurrent program from SRS? I tried to follow the same logic as when passing parameters while calling SRS based on "Oracle reports", so create a new parameter, but "token" field is disabled.
    Please help me which is the trick here.
    Thank you.

    Pl see these MOS Docs
    73492.1 - Creating a PL/SQL Concurrent Program in Oracle Applications
    1016543.102 - Custom Stored Procedure Run as Concurrent Request Fails w/ PLS-306 AND ORA-6550
    HTH
    Srini

  • Getting error while uploading workflow defination using concurrent program

    I have created a custom workflow. I am trying the upload in the testing instance using the concurrent program Workflow Definitions Loader in update mode.
    I am getting the following error log:
    Application Object Library: Version : 11.5.0
    Copyright (c) 1979, 1999, Oracle Corporation. All rights reserved.
    FNDWFLOAD module: Workflow Definitions Loader
    Current system time is 20-JAN-2010 09:42:06
    wferr:
    - 1602: Could not save.
    - 1400: Could not save to database. MODE=UPLOAD EFFDATE=<null>
    - 1406: Workflow definition contains unsupported feature, cannot be uploaded to this database.
    Start of log messages from FND_FILE
    End of log messages from FND_FILE
    Executing request completion options...
    Output is not being printed because:
    The print option has been disabled for this report.
    Finished executing request completion options.
    Concurrent request completed
    Current system time is 20-JAN-2010 09:42:07
    Oracle Workflow Definition Loader 2.6.4.0.
    Access level: 100, Mode: UPLOAD
    Unsupported type EVENT in attribute XXOWWIRC/EVENT_MESSAGE
    Unsupported type EVENT in activity XXOWWIRC/CANDIDATE_REGISTRATION
    Unsupported type EVENT in activity XXOWWIRC/CREATE_APPLICATION
    Unsupported type EVENT in activity XXOWWIRC/CREATE_IRC_ASG_STATUS
    Unsupported type EVENT in attribute IRC_GET_XML_VALUE/EVENT
    Unsupported type EVENT in attribute COMPAREEVENTPROPERTY/EVENT
    Unsupported type EVENT in attribute GETEVENTPROPERTY/EVENT
    Unsupported type EVENT in attribute SETEVENTPROPERTY/EVENT
    Unsupported type EXTJAVA in function WFSTD/XMLCOMPAREDATE
    Unsupported type EVENT in attribute XMLCOMPAREDATE/EVENT
    Unsupported type EXTJAVA in function WFSTD/XMLCOMPARENUMBER
    Unsupported type EVENT in attribute XMLCOMPARENUMBER/EVENT
    Unsupported type EXTJAVA in function WFSTD/XMLCOMPARETEXT
    Unsupported type EVENT in attribute XMLCOMPARETEXT/EVENT
    Unsupported type EXTJAVA in function WFSTD/XMLGETTAGVALUE
    Unsupported type EVENT in attribute XMLGETTAGVALUE/EVENT
    Unsupported type EXTJAVA in function WFSTD/XMLTRANSFORM
    Unsupported type EVENT in attribute XMLTRANSFORM/EVENT
    Unsupported type EVENT in attribute XMLTRANSFORM/NEWDOCUMENT
    Note : The same concurrent program is uploading this work flow without any error in the Development instance.
    Access level information is following:
    Acess Level : 100
    Check box Allow modification of customized object is not checked.
    For all the workflow entities access tab information is following:
    customization level : 100
    Access Level : 100
    Protection Level : 100
    Option Preserve customization is checked
    Option lock at this access level is checked.
    Please suggest
    Regards
    Devender Yadav

    Well - it shouldn't, but that doesn't mean that it won't make any difference :)
    If only one method doesn't work (and I must admit that I never use the concurrent program if I can avoid it), then the problem lies with the concurrent program. If none of the methods work, then there is a different problem.
    If you can deploy to one environment but not to another then I would also look at the differences between environments - patches, init.ora settings, profile options etc. to see where the difference lies.
    HTH,
    Matt
    WorkflowFAQ.com - the ONLY independent resource for Oracle Workflow development
    Alpha review chapters from my book "Developing With Oracle Workflow" are available via my website http://www.workflowfaq.com
    Have you read the blog at http://www.workflowfaq.com/blog ?
    WorkflowFAQ support forum: http://forum.workflowfaq.com

  • Error while registering the Concurrent Program

    Hi,
    I am getting the following error while registering the concurrent program.
    The executable is registered as shell script and this executable sends a mail with attachment. can any one of you tell me the cause of the error?
    ORA-20160: ORACLE error -4091 in SUBMIT: others
    Cause: SUBMIT: others failed due to ORA-04091: table APPLSYS.FND_CONCURRENT_PROGRAMS is mutating, trigger/function may not see it.
    The SQL statement being executed at the time of the error was: &SQLSTMT and was executed from the file &ERRFILE.
    ORA-06512: at "APPS.ALR_FND_CONCURRENT_PROGRAM_IAR", line 1
    ORA-04088: error during execution of trigger 'APPS.ALR_FND_CONCURRENT_PROGRAM_IAR'
    ORA-06512: at "APPS.FND_CONCURRENT_PROGRAMS_PKG", line 63
    FRM-40735: ON-INSERT trigger raised unhandled exception ORA-20160.
    Thanks in advance

    Check Note: 391795.1 - Frm-40735: On-Insert Trigger Raised Unhandled Exception Ora-04062 in APPS.FND_CONCURRENT_PROGRAMS_PKG
    https://metalink.oracle.com/metalink/plsql/ml2_documents.showDocument?p_database_id=NOT&p_id=391795.1

Maybe you are looking for

  • No images in Safari 5.1.2

    I'm running OS X 10.7.2.  I was doing some housekeeping & reorganizing on my iMac and in the process reset Safari for the first time to clean out all the garbage.  I empty the cache and tweak things regularly, however this was the first itme I have r

  • S Video a or DVI/VGA  out

    I'm connecting to a projector for Keynote presentations and have both an S -Video and a VGA input on the projector. Which input will provide me with the best resolution?

  • How to repartition my disk on ProBook 6550b

    Hi all, I've got a HP probook 6550b with 160GB hard disk. It has 4 partition on the hard disk: - System partition (~300MB) - Windows partition (~130GB) - C: drive - Backup partition (~15GB) - HP tools partition (~2G) - F: drive Now I need to create 2

  • LIKE statement in CASE statement

    Hi, I have a table called amounttagged as below Amount Tag 10000 ABDCBD 20000 CBDADE 30000 CBDABD 40000 ABDADE and my sql statement is as below, select Amount, case when tag like '%ABD%' then 'ABD' else when tag like '%CBD%' then 'CBD' else 'ADE' end

  • Using Lightroom on a Mac without duplicating photo library?

    I have been using a Mac for the last couple of years but have always used Lightroom on a PC prior to this and have now installed Lightroom 5 on my Mac Using iPhoto/Aperture and importing to the Mac all of my photos which I am used to seeing in a fold