NullPointer when calling CLOB.createTemporary()

Hi all,
I am trying to insert an xml of size more than 4k into an xml type table. Given below is the code i am using to create the CLOB to insert the same.
I am getting a NullPointerException while creating the CLOB.
Please help me out here!!
CODE
private CLOB getCLOB(String xmlData, Connection conn) throws SQLException {
          CLOB tempClob = null;
          try {
               System.out.println("xml : ### : " + xmlData);
               // If the temporary CLOB has not yet been created, create new
               tempClob = CLOB.createTemporary(conn, true, CLOB.DURATION_CALL);
               // Open the temporary CLOB in readwrite mode to enable writing
               tempClob.open(CLOB.MODE_READWRITE);
               // Get the output stream to write
               Writer tempClobWriter = tempClob.getCharacterOutputStream();
               // Write the data into the temporary CLOB
               tempClobWriter.write(xmlData);
               // Flush and close the stream
               tempClobWriter.flush();
               tempClobWriter.close();
               // Close the temporary CLOB
               tempClob.close();
          } catch (SQLException sqlexp) {
               // tempClob.freeTemporary();
               sqlexp.printStackTrace();
          } catch (Exception exp) {
               // tempClob.freeTemporary();
               exp.printStackTrace();
          return tempClob;
STACK TRACE
java.lang.NullPointerException
     at oracle.sql.LobPlsqlUtil.plsql_createTemporaryLob(LobPlsqlUtil.java:1354)
     at oracle.jdbc.dbaccess.DBAccess.createTemporaryLob(DBAccess.java:997)
     at oracle.sql.LobDBAccessImpl.createTemporaryClob(LobDBAccessImpl.java:240)
     at oracle.sql.CLOB.createTemporary(CLOB.java:527)
     at com.cx.hcm.ams.slatingms.impl.dao.SlatingDAOImpl.getCLOB(SlatingDAOImpl.java:1359)
     at com.cx.hcm.ams.slatingms.impl.dao.SlatingDAOImpl.insertXML(SlatingDAOImpl.java:1327)
     at com.cx.hcm.ams.slatingms.impl.ejb.SlatingMgmtSessionBean.insertXML(SlatingMgmtSessionBean.java:855)
     at SlatingMgmtRemote_StatelessSessionBeanWrapper16.insertXML(SlatingMgmtRemote_StatelessSessionBeanWrapper16.java:3782)
     at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
     at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
     at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
     at java.lang.reflect.Method.invoke(Method.java:324)
     at com.evermind.server.rmi.RMICallHandler.run(RMICallHandler.java:119)
     at com.evermind.server.rmi.RMICallHandler.run(RMICallHandler.java:48)
     at EDU.oswego.cs.dl.util.concurrent.PooledExecutor$Worker.run(PooledExecutor.java:803)
     at java.lang.Thread.run(Thread.java:536)

Hi all,
I am trying to insert an xml of size more than 4k into an xml type table. Given below is the code i am using to create the CLOB to insert the same.
I am getting a NullPointerException while creating the CLOB.
Please help me out here!!
CODE
private CLOB getCLOB(String xmlData, Connection conn) throws SQLException {
          CLOB tempClob = null;
          try {
               System.out.println("xml : ### : " + xmlData);
               // If the temporary CLOB has not yet been created, create new
               tempClob = CLOB.createTemporary(conn, true, CLOB.DURATION_CALL);
               // Open the temporary CLOB in readwrite mode to enable writing
               tempClob.open(CLOB.MODE_READWRITE);
               // Get the output stream to write
               Writer tempClobWriter = tempClob.getCharacterOutputStream();
               // Write the data into the temporary CLOB
               tempClobWriter.write(xmlData);
               // Flush and close the stream
               tempClobWriter.flush();
               tempClobWriter.close();
               // Close the temporary CLOB
               tempClob.close();
          } catch (SQLException sqlexp) {
               // tempClob.freeTemporary();
               sqlexp.printStackTrace();
          } catch (Exception exp) {
               // tempClob.freeTemporary();
               exp.printStackTrace();
          return tempClob;
STACK TRACE
java.lang.NullPointerException
     at oracle.sql.LobPlsqlUtil.plsql_createTemporaryLob(LobPlsqlUtil.java:1354)
     at oracle.jdbc.dbaccess.DBAccess.createTemporaryLob(DBAccess.java:997)
     at oracle.sql.LobDBAccessImpl.createTemporaryClob(LobDBAccessImpl.java:240)
     at oracle.sql.CLOB.createTemporary(CLOB.java:527)
     at com.cx.hcm.ams.slatingms.impl.dao.SlatingDAOImpl.getCLOB(SlatingDAOImpl.java:1359)
     at com.cx.hcm.ams.slatingms.impl.dao.SlatingDAOImpl.insertXML(SlatingDAOImpl.java:1327)
     at com.cx.hcm.ams.slatingms.impl.ejb.SlatingMgmtSessionBean.insertXML(SlatingMgmtSessionBean.java:855)
     at SlatingMgmtRemote_StatelessSessionBeanWrapper16.insertXML(SlatingMgmtRemote_StatelessSessionBeanWrapper16.java:3782)
     at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
     at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
     at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
     at java.lang.reflect.Method.invoke(Method.java:324)
     at com.evermind.server.rmi.RMICallHandler.run(RMICallHandler.java:119)
     at com.evermind.server.rmi.RMICallHandler.run(RMICallHandler.java:48)
     at EDU.oswego.cs.dl.util.concurrent.PooledExecutor$Worker.run(PooledExecutor.java:803)
     at java.lang.Thread.run(Thread.java:536)

Similar Messages

  • CLOB.createTemporary gives Nullpointer Exception

    Hello,
    I'm trying to create a temporary clob in my java code, but when I run the program I get the following exception.
    java.lang.NullPointerException
         at oracle.sql.LobPlsqlUtil.plsql_createTemporaryLob(LobPlsqlUtil.java:1354)
         at oracle.jdbc.dbaccess.DBAccess.createTemporaryLob(DBAccess.java:997)
         at oracle.sql.LobDBAccessImpl.createTemporaryClob(LobDBAccessImpl.java:240)
         at oracle.sql.CLOB.createTemporary(CLOB.java:527)
         at org.tennet.utils.bc4j.ApplicationModuleImpl.createClob(ApplicationModuleImpl.java:278)
         at org.tennet.utils.bc4j.ApplicationModuleImpl.createClobDomain(ApplicationModuleImpl.java:299)
         at org.tennet.nevada.loader.ResultLoader.executeProcedure(ResultLoader.java:243)
         at org.tennet.nevada.loader.ResultLoader.process(ResultLoader.java:77)
         at org.tennet.nevada.broker.processor.RequestProcessor.processResult(RequestProcessor.java:374)
         at org.tennet.nevada.broker.processor.LoadFlowVAProcessor.process(LoadFlowVAProcessor.java:132)
         at org.tennet.nevada.broker.RequestHandler.processRequest(RequestHandler.java:289)
         at org.tennet.nevada.broker.RequestHandler.run(RequestHandler.java:137)
    This error started when I began using Data Sources instate of direct JDBC Connections.
    The problem is there is no source available for this class so I can’t look what is causing the Nullpointer Exception.
    Can someone tell me what is causing this problem?
    Regards,
    Dennis Labordus

    Hi Dennis,
    I have had the same problem as this. I am going to get onto Oracle via Metalink about it.
    However - there is a work around.
    We are using OC4J with its data sources.
    There is a method on the OC4J Connection called getCoreConnection(Connection). This returns the underlying Oracle connection.
    If you then pass this underlying oracle connection to CLOB.createTemporary() it works.
    We had to use reflection to call the method as I couldn't seem to cast it statically.
    Paul McHugh
    * getOracleConnection
    * Derive oracle connection from DataSource connection
    private static OracleConnection getOracleConnection (Connection connection) throws SQLException
    System.err.println ("UserTypeImpl.getOracleConnection: " + connection);
    * Check for an existing oracle connection
    * This should be the case in a database deployment
    if (connection instanceof oracle.jdbc.driver.OracleConnection)
    System.err.println (" Connection is already the base Oracle Connection" + connection);
    return (OracleConnection) connection;
    * Check for an OC4J deployment
    else
    System.err.println (" Searching for core connection ...");
    Object conObj = (Object) connection;
    Class conclass = conObj.getClass();
    OracleConnection coreCon = null;
    Method meth = null;
    // Locate method getCoreConnection on Orion data source
    try {
    Class[] parameterTypes = new Class[] {java.sql.Connection.class};
    meth = conclass.getMethod("getCoreConnection", parameterTypes);
    } catch (NoSuchMethodException e)
    e.printStackTrace();
    throw new SQLException ("UserTypeImpl.getOracleConnection: No such method: getCoreConnection: " + e);
    // Invoke method getCoreConnection on orion data source
    try {
    Object[] args = new Object[] {connection};
    coreCon = (OracleConnection) meth.invoke(conObj, args);
    catch (InvocationTargetException e)
    e.printStackTrace();
    throw new SQLException ("UserTypeImpl.getOracleConnection: Invoke: getCoreConnection: " + e);
    catch (IllegalAccessException e)
    e.printStackTrace();
    throw new SQLException ("UserTypeImpl.getOracleConnection: Invoke: getCoreConnection: " + e);
    if (coreCon != null)
    System.err.println (" Core connection found: " + coreCon);
    return coreCon;
    } else
    System.err.println (" Unable to locate core connection.");
    throw new SQLException ("UserTypeImpl.getOracleConnection: Unable to locate core oracle connection.");

  • Bug in Oracle Driver 11.2.0.3.0 when handling CLOB?

    Hello,
    I got a table which is defined like this:
    CREATE TABLE FOO
    FOO_id NUMBER(18) NOT NULL ,
    xml_content sys.XMLTYPE NOT NULL
    According to the documentation Oracle is using a CLOB as internal type.
    For reading the CLOB from the database we are using Spring's org.springframework.jdbc.support.lob.OracleLobHandler (Spring 3.0.6.RELEASE) class which is implemented like this:
    public String getClobAsString( ResultSet rs, int columnIndex ) throws SQLException
    logger.debug( "Returning Oracle CLOB as string" );
    Clob clob = rs.getClob( columnIndex );
    initializeResourcesBeforeRead( rs.getStatement().getConnection(), clob );
    String retVal = ( clob != null ? clob.getSubString( 1, (int) clob.length() ) : null );
    releaseResourcesAfterRead( rs.getStatement().getConnection(), clob );
    return retVal;
    For me, this looks like the valid solution. But when reading CLOB greater than 4109 bytes, the resulting String contains a 0x0 (NULL) byte. Because the table is defined to contain XML, the XML parser is unable to handle this.
    As workaround I got the following solution:
    public String getClobAsString( ResultSet rs, int columnIndex ) throws SQLException
    logger.debug( "Returning Oracle CLOB as string" );
    Clob clob = rs.getClob( columnIndex );
    initializeResourcesBeforeRead( rs.getStatement().getConnection(), clob );
    readAllCharacter( clob );
    String retVal = ( clob != null ? clob.getSubString( 1, (int) clob.length() ) : null );
    releaseResourcesAfterRead( rs.getStatement().getConnection(), clob );
    return retVal;
    * Dummy read of all characters of the given lob. This fixes an issue that the resulting string
    * contains 0x0 bytes.
    * @param clob the clob
    * @throws SQLException
    private void readAllCharacter( Clob clob ) throws SQLException
    if( clob != null )
    Reader characterStream = clob.getCharacterStream();
    char[] buffer = new char[4 * 1000];
    try
    while( characterStream.read( buffer ) != -1 )
    catch( IOException e )
    logger.error( "Exception while reading from the clob", e );
    finally
    try
    characterStream.close();
    catch( IOException e )
    // nothing to do;
    With this dummy read, the string does not contain the 0x0 token.
    I think it's a Bug in the oracle.sql.CLOB class or did I miss something?
    Kind regards
    Michael

    >
    I'm unsure what you mean with your citation and how this affects my code?
    >
    That citation specifically tells you how the drivers (based on version) support 'the Oracle SQL XML type (XMLType)'.
    >
    A call to getSubString should give me the content of the clob. But why does the content contain some bytes (0x0) which should not be there.
    >
    A CLOB instance is just a LOB locator. A locator contains the information necessary for Oracle to 'locate' the full lob contents. It usually also contains all of the lob data that is stored 'inline' in the table row. There is a limit of around 4k for the 'inline' part of the lob data.
    A lob locator does NOT contain the part of the lob that is stored in the lob segment. The 'out-of-line' lob is generally retrieved using streams as shown in that doc.
    So the 'getSubString' call is only using the contents of the locator.
    See Inline and Out-of_Line LOB Storage in the 'Oracle® Database SecureFiles and Large Objects Developer's Guide'
    http://docs.oracle.com/cd/B28359_01/appdev.111/b28393/adlob_tables.htm
    >
    Inline and Out-of-Line LOB Storage
    LOB columns store locators that reference the location of the actual LOB value. Depending on the column properties you specify when you create the table, and depending the size of the LOB, actual LOB values are stored either in the table row (inline) or outside of the table row (out-of-line).
    LOB values are stored out-of-line when any of the following situations apply:
    If you explicitly specify DISABLE STORAGE IN ROW for the LOB storage clause when you create the table.
    If the size of the LOB is greater than approximately 4000 bytes (4000 minus system control information), regardless of the LOB storage properties for the column.
    If you update a LOB that is stored out-of-line and the resulting LOB is less than approximately 4000 bytes, it is still stored out-of-line.
    LOB values are stored inline when any of the following conditions apply:
    When the size of the LOB stored in the given row is small, approximately 4000 bytes or less, and you either explicitly specify ENABLE STORAGE IN ROW or the LOB storage clause when you create the table, or when you do not specify this parameter (which is the default).
    When the LOB value is NULL (regardless of the LOB storage properties for the column).
    Using the default LOB storage properties (inline storage) can allow for better database performance; it avoids the overhead of creating and managing out-of-line storage for smaller LOB values. If LOB values stored in your database are frequently small in size, then using inline storage is recommended.
    Note:
    LOB locators are always stored in the row.
    A LOB locator always exists for any LOB instance regardless of the LOB storage properties or LOB value - NULL, empty, or otherwise.
    If the LOB is created with DISABLE STORAGE IN ROW properties and the BASICFILE LOB holds any data, then a minimum of one CHUNK of out-of-line storage space is used; even when the size of the LOB is less than the CHUNK size.
    If a LOB column is initialized with EMPTY_CLOB() or EMPTY_BLOB(), then no LOB value exists, not even NULL. The row holds a LOB locator only. No additional LOB storage is used.
    LOB storage properties do not affect BFILE columns. BFILE data is always stored in operating system files outside the database.
    >
    You should generally use streams to read/write LOBs as they are the most efficient way to access them. If you commonly only need a subset of the data I suggest you use a PL/SQL package/function/procedure to perform the substringing and return the results.
    >
    the first read results also in an String with the 0x0 byte
    >
    And those would be part of the lob locator.

  • Anyone get CLOB.createTemporary to work in WebLogic w/ Ora 9.0.1?

    I've got code that works in java for temporary CLOB in Oracle 9.0.1. It works using JDBC Client API or Oracle connection pooling. But when I deploy to WebLogic App Server, I get
    "java.lang.reflect.InvocationTargetException null" on the statement:
    myClob = CLOB.createTemporary(conn, false, CLOB.DURATION_SESSION);
    I read that temporary clob was an Oracle extension. That would lead one to believe that WebLogic may not support it. And I tried tweeking classpath/path to use Oracle's jars first, etc. I've also tried different ways of connecting: JDBC Client, straight RMI, and JNDI lookups, trying to get around "WebLogic"... Is this a losing battle and do I have to modifiy my code to use the EMPTY_CLOB() functions, or has someone gotten this to work? THANKS!

    I've talked with BEA on this issue. They say that the CLOB.createTemporary() method signature indicates that it takes a
    generic JDBC object, but it in fact takes an Oracle-specific object. They say "Oracle is lying to us" and say that
    as a result, my code will not work if using a WebLogic Connection Pool. I realize the risks of using vendor-specific
    extension methods, but I would think that if I configure the WL app server to use the oracle classes12.zip and put it in
    front of CLASSPATH, etc. that this would work. It does not, with the BEA reason stated above. I really like this
    CLOB.createTemporary method and refuse to change my code. Any words of wisdom, especially from an
    Oracle insider? Thanks!
    I've got code that works in java for temporary CLOB in Oracle 9.0.1. It works using JDBC Client API or Oracle connection pooling. But when I deploy to WebLogic App Server, I get
    "java.lang.reflect.InvocationTargetException null" on the statement:
    myClob = CLOB.createTemporary(conn, false, CLOB.DURATION_SESSION);
    I read that temporary clob was an Oracle extension. That would lead one to believe that WebLogic may not support it. And I tried tweeking classpath/path to use Oracle's jars first, etc. I've also tried different ways of connecting: JDBC Client, straight RMI, and JNDI lookups, trying to get around "WebLogic"... Is this a losing battle and do I have to modifiy my code to use the EMPTY_CLOB() functions, or has someone gotten this to work? THANKS!

  • CLOB.createTemporary throws SQL Exception

    The following statement:
    tempClob = CLOB.createTemporary(fDataConn, true, CLOB.DURATION_SESSION);
    causes the following exception in jdev 10.1.2.0.0 Build 1811, but did not cause this exception in the jdev version in download jdev9052.zip
    05/09/07 17:59:08 java.sql.SQLException: Invalid argument(s) in call
    05/09/07 17:59:08      at oracle.jdbc.dbaccess.DBError.throwSqlException(DBError.java:189)
    05/09/07 17:59:08      at oracle.jdbc.dbaccess.DBError.throwSqlException(DBError.java:231)
    05/09/07 17:59:08      at oracle.jdbc.dbaccess.DBError.throwSqlException(DBError.java:294)
    05/09/07 17:59:08      at oracle.sql.CLOB.createTemporary(CLOB.java:527)
    The only thing thats changable in the Connection object.
    I've verified that the Connection object has the correct info inside.
    I create the Connection object via a context lookup with JNDI.
    Does createTemporary care how I create the Connection object?
    Thanks
    Jim

    The following statement:
    tempClob = CLOB.createTemporary(fDataConn, true, CLOB.DURATION_SESSION);
    causes the following exception in jdev 10.1.2.0.0 Build 1811, but did not cause this exception in the jdev version in download jdev9052.zip
    05/09/07 17:59:08 java.sql.SQLException: Invalid argument(s) in call
    05/09/07 17:59:08      at oracle.jdbc.dbaccess.DBError.throwSqlException(DBError.java:189)
    05/09/07 17:59:08      at oracle.jdbc.dbaccess.DBError.throwSqlException(DBError.java:231)
    05/09/07 17:59:08      at oracle.jdbc.dbaccess.DBError.throwSqlException(DBError.java:294)
    05/09/07 17:59:08      at oracle.sql.CLOB.createTemporary(CLOB.java:527)
    The only thing thats changable in the Connection object.
    I've verified that the Connection object has the correct info inside.
    I create the Connection object via a context lookup with JNDI.
    Does createTemporary care how I create the Connection object?
    Thanks
    Jim

  • URGENT !! ClassCastException in CLOB.createTemporary

    Oracle 9iAS and CLOB. ClassCastException.
    I get oracle Connection from websphere datasource.
    The connection object is of type com.ibm.ejs.cm.proxy.OracleConnectionProxy
    This is not compatible with CLOB.createTemporary
    The code I execute is:
    CLOB.createTemporary(conn, true, CLOB.DURATION_SESSION); It gives me ClassCastException.
    I saw these kind of problems but have not seen any solution!
    Any help is appreciated.
    Thanks
    Nadeem

    That is not the issue. The problem is that,
    CLOB.createTemporary requires OracleConnection instead of just java.sql.Connection.
    When we are in a application server, the connection object cannot be OracleConnection as the DataSouce retrieved from JNDI cannot return OracleConnection. The websphere data source wraps the Connection Pool and physical connection to control the Database Transactions.
    Currently, the only way out 3 step process. First step will write empty_clob
    for example insert/update (someClob) values (empty_clob)
    read the same record
    retrive empty_clob pointer
    Update values
    Commit changes
    This is definitely not a scalable solution to the problem.
    Hope someone has already done something about it and have a solution for this problem?
    Nadeem

  • URGENT !! ClassCastException in CLOB.createTemporary  Feb

    I get oracle Connection from websphere datasource.
    The connection object is of type com.ibm.ejs.cm.proxy.OracleConnectionProxy
    This is not compatible with CLOB.createTemporary
    The code I execute is:
    CLOB.createTemporary(conn, true, CLOB.DURATION_SESSION); It gives me ClassCastException.
    I saw these kind of problems but have not seen any solution!
    Any help is appreciated.
    Thanks
    Nadeem

    That is not the issue. The problem is that,
    CLOB.createTemporary requires OracleConnection instead of just java.sql.Connection.
    When we are in a application server, the connection object cannot be OracleConnection as the DataSouce retrieved from JNDI cannot return OracleConnection. The websphere data source wraps the Connection Pool and physical connection to control the Database Transactions.
    Currently, the only way out 3 step process. First step will write empty_clob
    for example insert/update (someClob) values (empty_clob)
    read the same record
    retrive empty_clob pointer
    Update values
    Commit changes
    This is definitely not a scalable solution to the problem.
    Hope someone has already done something about it and have a solution for this problem?
    Nadeem

  • Calling CLOB objects in procedure

    Hi all
    Can any one plzz help me out how to call CLOB objects in a procedure
    Thanks in Advance
    Regards
    praveen

    What do you mean with "call"?
    Do you want to use a CLOB in a SP?
    DECLARE
    l_myclob CLOB;
    BEGIN
    DBMS_LOB.CREATETEMPORARY(l_myclob,false,DBMS_LOB.CALL);
    END;
    /Have a look at the DBMS_LOB package for more information:
    http://download.oracle.com/docs/cd/B19306_01/appdev.102/b14258/d_lob.htm
    Dim

  • I can record voice memos fine using the built-in iPhone 4 mic.  And my Bluetooth headset (Jawbone Era) works fine when I leave messages on voice mail systems etc. when calling on the iPhone 4.  However, I cannot record voice memos with my Bluetooth mic.

    I can record voice memos fine using the built-in iPhone 4 mic.  And my Bluetooth headset (Jawbone Era) works fine when I leave messages on voice mail systems etc. when calling on the iPhone 4, so it appears my headset mic is fine.  I can also use voice activated dialing, although it fails miserably interpreting numbers.  However, I cannot record voice memos with my Bluetooth mic.   I just get barely audible static.  Any suggestions?   Thanks.

    Hello, did you ever get an answer to your question? I just picked up a Jawbone Era and using on an iPhone 4s running 5.0.1. Seems to work fine on regular calls, but not on the built in Voice memos application. It worked fine on my older Jawbone Icon, but haven't tested on the 4s or iOS 5.
    Thanks!

  • Open front panel of sub vi when called - how?

    Hello,
    I have a VI with several sub VIs.
    I want some of the sub VI front panels to be opened, if they are not yet opened and if they are called but I want them to stay in the background.
    There are two SubVI Node setups: "Open Front Panel when loaded" and "show front panel when called"
    Both are not what I want. If I select "show front panel when called", then the front panels are opened but flickering because they are called often and alternately.  
    Greetings Johannes
    Using LabVIEW 7.1 and 2009 recently
    Solved!
    Go to Solution.

    johanneshoer wrote:
    No, no issue with my code :-)
    Yeah, we've heard that one before...
    @smercurio_fc: With your example I can see if a subVI is opened or not, but how can I open the subVI during run time if it is not opened
    Just call the method with it set to "write" (right-click and select "Change to Write"). I don't recall if LV 7.0 has a Front Panelpen method. Check the LabVIEW manual.

  • Stored Procedure Does Not Run Properly When Called From Portlet

    We have a simple Java portlet that calls a PL/SQL stored procedure which we wrote. The stored procedure sends a large number of emails to users in our corporation using the "utl_smtp" package. The stored procedure returns a count of the emails back to the Java portlet when it's finished. This number is displayed in the portlet.
    Our problem:
    The stored procedure functions as expected when run from a PL/SQL block in SQL*Plus, and the Java portlet calls the procedure properly when sending out a smaller number of emails (Less than 200 usually). When we get into a higher number of emails the procedure hangs when called from the portlet, but it STILL functions properly from SQL*Plus. It does not return the number of emails sent
    and the Java portlet is unable to return a SQLException. Also, we have noticed that emails are sent at a much slower pace from the stored procedure when it's called from the portlet.

    Any Ideas?

  • Report runs OK through concurrent program, but not when called through URL

    We have a custom 6i report developed that works successfully 100% of the time when run through a concurrent program.
    We are now attempting to integrate this into an OAF application. To do this, we build the necessary call to the reports server by reading different profile options, etc and come up with a URL like this:
    http://ebsd777.xxxxx.com:8000/dev60cgi/rwcgi60?d777_APPS+report=XXMFG_ESPEC_REPORT.rdf+P_SPEC_ID=43+DESFORMAT=PDF
    This report works 90% of the time when called like this, but the other 10%, we get the following error:
    "Error: The requested URL was not found, or cannot be served at this time.
    Incorrect usage."
    Trying to find what the differences are between the reports that work and those that don't - found that reports which fail seem to extend out further to the right than the reports that do work. But, these reports still fit on standard letter paper in landscape format - as we can verify through the concurrent program call.
    Is there some sort of report server setting or parameter which we can change to get this to work when called through the reports server URL?
    Any thoughts would be appreciated!
    Thanks,
    Craig

    Hi,
    Please post the application release along with the database version and OS.
    But when i call the same program through the pl/sql executable of another concurrent program , it does not print the pdf output by defaultHow do you call the program? What is the value of the number of copies profile option?
    Please see if these docs help.
    Note: 757901.1 - How To Restrict The Number Of Copies To 1?
    Note: 729117.1 - How To Specify the Number of Copies to Print by Report?
    Thanks,
    Hussein

  • Error "Job already started" when calling a adobe form in Z function module

    Hi All,
    I have a error when calling a adobe form in a custom function module.
    I am using FP_FUNCTION_MODULE_NAME to get the adobe form function module and then i am using FP_JOB_OPEN function module to control the printing parameters such as no print preview or no dialog ..etc.. I dont have any exceptions during the call of FP_JOB_OPEN function module ..
    Later I am calling my function module which was generated for the adobe form and i am getting the error called " JOB ALREADY STARTED".
    I tried executing the same function module in se37 and the PDF form output was generated, and also by commenting FP_JOB_OPEN function module the PDF form output was generated.
    But i need the FP_JOB_OPEN function module to control the output based on the output type which triggers the form output such as the medium from nast record which says print or email or fax.. etc
    Please let me know how to handling this error.

    Just as a followup note. If you are testing a function module from SE37 and the test button you will get a value in SY-CPROG. You must override this value for everything to work.
    If you override the value of SY-CPROG with the main program that will be calling the function module you have no problem.
    John W.

  • Getting   FRM-41029   when calling report from form

    Hi
    I have following procedure to run the report but its running fine but giving error FRM-41029 when calling the report from the form.
    runrep('MATREP,'REPSER','PDF','F:\rec\RepEnt.RDF');
    Repid := FIND_REPORT_OBJECT(repobj);
    SET_REPORT_OBJECT_PROPERTY(repid,REPORT_EXECUTION_MODE, RUNTIME);
    set_report_object_property(repid, REPORT_SERVER, repserv);
    set_report_object_property(repid, REPORT_COMM_MODE, SYNCHRONOUS);
    set_report_object_property(repid, REPORT_DESTYPE,'file');
    set_report_object_property(repid, REPORT_DESFORMAT,repfor);
    set_report_object_property(repid, REPORT_FILENAME,repfile);
    rgds
    soumya

    hi
    try something like this.
    PROCEDURE sarah ( p_report_name varchar2, vParamValue number ) is
    l_param_list  paramlist;
    l_rep_id      report_object;
    l_rep_job     varchar2(100);
    l_rep_status  varchar(100);
    BEGIN
    l_param_list := Get_parameter_List('tmp');
    IF NOT Id_Null(l_param_list ) THEN
    Destroy_parameter_List( l_param_list );
    END IF;
    l_param_list := Create_parameter_List('tmp');
    add_parameter(l_param_list ,'p_num',text_parameter,to_char( vParamValue ));
    l_rep_id := FIND_REPORT_OBJECT( p_report_name );
    if
         id_null ( l_rep_id )
    then
      msg ( 'There is no Report ' || p_report_name || ' in form ' || name_in ( 'system.current_form' ) );
      raise form_trigger_failure;
    end if;
    SET_REPORT_OBJECT_PROPERTY(l_rep_id, REPORT_COMM_MODE,SYNCHRONOUS);
    SET_REPORT_OBJECT_PROPERTY(l_rep_id, REPORT_DESTYPE,cache);
    SET_REPORT_OBJECT_PROPERTY(l_rep_id, REPORT_DESFORMAT,'PDF');
    SET_REPORT_OBJECT_PROPERTY(l_rep_id, REPORT_OTHER, 'paramform=no');
    l_rep_job := RUN_REPORT_OBJECT( l_rep_id, l_param_list );
    l_rep_status := REPORT_OBJECT_STATUS( l_rep_job );
    WHILE l_rep_status in ('RUNNING','OPENING_REPORT','ENQUEUED')
    LOOP
    l_rep_status := report_object_status( l_rep_job );
    END LOOP;
    WEB.SHOW_DOCUMENT('http://sarah:8889/reports/rwservlet/getjobid'||substr(l_rep_job,instr(l_rep_job,'_',-1)+1) || '?server=repserver', '_blank');
    END; then u may call the procedure something like this.
    when-button-pressed trigger.
    begin
    sarah ('REPORT6', :block.item );
    end;sarah
    Edited by: S@R@h on Nov 30, 2009 9:39 PM

  • How long can be URL in Go to URL when calling SSRS report?

    Hi
    I am facing issues when calling a report using go to URL. I have 6 cascading multiple value parameter in one of my report and from this I am calling another report by passing all these parameters using java script in go to URL option. Since I am passing
    all these multiple value parameter my report URL is exceeding up to 5000 to 7000 characters long. This is not working at all as max characters in URL are allowed to be 2048.
    Is there any work around to pass all these multiple value parameter using go to URL option?
    I thought of using Go to report instead but our business is not allowing to this.
    Thanks!
    Bhushan

    Hi Bhushan,
    As you may know, Microsoft Internet Explorer has a maximum uniform resource locator (URL) length of 2,083 characters. Internet Explorer also has a maximum path length of 2,048 characters. This limit applies to both POST request and GET request URLs.
    For more details, please see:
    Maximum URL length is 2,083 characters in Internet Explorer
    I am afraid it is a limitation in IE, so I would suggest you ask the questions to IE forum:
    http://social.technet.microsoft.com/Forums/ie/en-US/home?category=internetexplorer threads to seek further assistance. There are many IE experts who may help workaround the limitation.
    Thank you for your understanding.
    Regards,
    Katherine Xiong
    Katherine Xiong
    TechNet Community Support

Maybe you are looking for

  • Generating a Report from a Servlet in a new Browser using javascript:

    Hi, folks, I'm facing an intersting problem: I have the servlet below that generates a new browser with a click of a button. But if the parameter of the function gera(), have the caracter ' (pics), for example: gera( '<img src='name'>' ), the functio

  • Help needed in Sql developer

    Hi All, I installed oracle 11g release 2 in windows 7 . but when i tried to use sql developer , i got a pop up message like Enter the pathname for java.exe. please advise how to tackle this

  • AT NEW and AT CHANGE

    Hi, what is use of AT NEW and AT CHANGE. When we will use it? Akash

  • Help me find my Garageband Insturments Missing in Logic Pro

    I recently moved my Garageband instruments to a different hard drive. Now when I try to open them in Logic Pro, the default instrument loads but when I try to load other patch, I get a message saying "Missing: (whatever instrument I try to load)" . I

  • Insufficient memory and "unknown error 961"

    Periodically, I receive an insufficient memory error when I try to update an app. It happens about every other time and eventually fixes itself -- that is, does download the update. Today I received an additional error "unknown error occurred during