Error in writing execute immendiate statement

i am writing this SQL procedure i have made use of dynamic SQL in this .... on compilation this is giving
me error
procedure
create or replace
PROCEDURE USP_GETMSTORDERFORBATCHSMPGENE
v_pUserid IN NUMBER ,
v_pFromDate IN DATE ,
v_pToDate IN DATE ,
v_pVisitTypeID IN NUMBER ,
v_pWardID IN NUMBER ,
v_pSubDeptID IN NUMBER ,
v_plocid IN char
AS
v_Sql NVARCHAR2(4000);
BEGIN
v_Sql := '';
v_Sql := 'SELECT DISTINCT
OrderMst.OrdNo,OrderMst.OrdDateTime,OrderMst.OrdId,LABSampleType.ID AS SampleTypeID,LABSampleType.SampleType,
NVL(LABSampleType.SampleCode, '''') AS SampleCode,SubDepartment_Mst.SubDepartment_Name,Visit.VisitTypeID,Ward_Mst.Ward_ID,
Patient.First_Name || '''' '''' || Patient.Middle_Name || '''' '''' || Patient.Last_Name AS Patient,Patient.Registration_No,Visit.VisitNo
FROM OrderDtl INNER JOIN
OrderMst ONOrderDtl.OrdID =OrderMst.OrdId INNER JOIN
Service_Mst ONOrderDtl.ServiceId =Service_Mst.Service_ID INNER JOIN
LABTest ONService_Mst.Service_ID =LABTest.ServiceID INNER JOIN
LABSampleType ONLABTest.SampleType =LABSampleType.ID INNER JOIN
Visit ONOrderMst.OrdVisitID =Visit.Visit_ID INNER JOIN
Patient ONVisit.PatientID =Patient.PatientId INNER JOIN
SubDepartment_Mst ONService_Mst.SubDepartmentId =SubDepartment_Mst.SubDepartment_ID LEFT OUTER JOIN
Ward_Mst ONVisit.WardID =Ward_Mst.Ward_ID
WHERE (OrderDtl.OrdDtlID NOT IN (SELECT OrderDtlID FROM LABSampleDtl)) And
TO_CHAR(OrderMst.OrdDateTime,''DD-MON-YYYY'') Between
''' || TO_CHAR( v_pFromDate, 'DD-MON-YYYY') || ''' And
''' ||TO_CHAR( v_pToDate, 'DD-MON-YYYY') || '''
and (Cancelled = 0 or Cancelled is null)
and SubDepartment in (select subdetartmentid from userdepartment where userid = ' || CAST(v_pUserid AS VARCHAR2) || ') and OrderMst.locid='|| v_plocid;
IF v_pSubDeptID != 0 THEN
v_Sql := v_Sql || ' AND LABTest.SubDepartment = ' || CAST(v_pSubDeptID AS VARCHAR2) || '';
END IF;
IF v_pVisitTypeID != 0 THEN
v_Sql := v_Sql || ' AND Visit.VisitTypeID = ' || CAST(v_pVisitTypeID AS VARCHAR2) || '';
END IF;
IF v_pWardID != 0 THEN
v_Sql := v_Sql || ' AND Visit.WardID = ' || CAST(v_pWardID AS VARCHAR2) || '';
END IF;
--DBMS_OUTPUT.PUT_LINE((v_Sql));
EXECUTE IMMEDIATE v_Sql;----- error coming in this line
END;
ERROR
Error(55,22): PLS-00382: expression is of wrong type
Edited by: user21354 on Mar 23, 2011 11:53 PM

Looks like this is your problem:
INNER JOIN
Service_Mst ONOrderDtl.ServiceId =Service_Mst.Service_ID INNER JOIN
LABTest ONService_Mst.Service_ID =LABTest.ServiceID INNER JOIN
LABSampleType ONLABTest.SampleType =LABSampleType.ID INNER JOIN
Visit ONOrderMst.OrdVisitID =Visit.Visit_ID INNER JOIN
Patient ONVisit.PatientID =Patient.PatientId INNER JOIN
SubDepartment_Mst ONService_Mst.SubDepartmentId =SubDepartment_Mst.SubDepartment_ID LEFT OUTER JOIN
Ward_Mst ONVisit.WardID =Ward_Mst.Ward_IDYou're missing a space after every 'ON'
Plus in addition to what others have said I really don't believe this is what you want:
And
TO_CHAR(OrderMst.OrdDateTime,''DD-MON-YYYY'') Between
''' || TO_CHAR( v_pFromDate, 'DD-MON-YYYY') || ''' And
''' ||TO_CHAR( v_pToDate, 'DD-MON-YYYY') || '''Also if you're executing a dynamic select statement you need to provide a place for it to put the results.
Also I don't see any reason that this needs to be dynamic. You could just as easily have this:
create or replace
PROCEDURE USP_GETMSTORDERFORBATCHSMPGENE
   v_pUserid IN NUMBER ,
   v_pFromDate IN DATE ,
   v_pToDate IN DATE ,
   v_pVisitTypeID IN NUMBER ,
   v_pWardID IN NUMBER ,
   v_pSubDeptID IN NUMBER ,
   v_plocid IN char
AS
BEGIN
  SELECT DISTINCT OrderMst.OrdNo
                 ,OrderMst.OrdDateTime
                 ,OrderMst.OrdId
                 ,LABSampleType.ID AS SampleTypeID
                 ,LABSampleType.SampleType
                 ,LABSampleType.SampleCode AS SampleCode
                 ,SubDepartment_Mst.SubDepartment_Name
                 ,Visit.VisitTypeID
                 ,Ward_Mst.Ward_ID
                 ,Patient.First_Name || ' ' || Patient.Middle_Name || ' ' || Patient.Last_Name AS Patient
                 ,Patient.Registration_No
                 ,Visit.VisitNo
  -- INTO something goes here
    FROM OrderDtl
      INNER JOIN OrderMst ON OrderDtl.OrdID =OrderMst.OrdId
      INNER JOIN Service_Mst ON OrderDtl.ServiceId =Service_Mst.Service_ID
      INNER JOIN LABTest ON Service_Mst.Service_ID =LABTest.ServiceID
      INNER JOIN LABSampleType ON LABTest.SampleType =LABSampleType.ID
      INNER JOIN Visit ON OrderMst.OrdVisitID =Visit.Visit_ID
      INNER JOIN Patient ON Visit.PatientID =Patient.PatientId
      INNER JOIN SubDepartment_Mst ON Service_Mst.SubDepartmentId =SubDepartment_Mst.SubDepartment_ID
      LEFT OUTER JOIN Ward_Mst ON Visit.WardID =Ward_Mst.Ward_ID
   WHERE (OrderDtl.OrdDtlID NOT IN (SELECT OrderDtlID FROM LABSampleDtl))
     And OrderMst.OrdDateTime Between v_pFromDate And v_pToDate
     and (Cancelled = 0 or Cancelled is null)
     and SubDepartment in
        (select subdetartmentid from userdepartment where userid = CAST(v_pUserid AS VARCHAR2))
     and OrderMst.locid= v_plocid
     AND nvl(LABTest.SubDepartment,'0') = CASE when v_pSubDeptID != 0
                                               then CAST(v_pSubDeptID AS VARCHAR2)
                                               else nvl(LABTest.SubDepartment,'0')
                                          END
     AND nvl(Visit.VisitTypeID,'0') = CASE when v_pVisitTypeID != 0
                                           then CAST(v_pVisitTypeID AS VARCHAR2)
                                           else nvl(Visit.VisitTypeID,'0')
                                      END
     AND nvl(Visit.WardID,'0') = CASE WHEN v_pWardID != 0
                                      THEN CAST(v_pWardID AS VARCHAR2)
                                      ELSE nvl(Visit.WardID,'0')
END;

Similar Messages

  • [0098]SQL*Plus encountered oracle error 100 while executing SQL Statement

    Hi,
    i'm trying to delete duplicate records from a table and running following script. this script is triggered from a unix script. it successfully deletes the records but in the last throws following error message,
    :[0098]SQL*Plus encountered oracle error 100 while executing SQL Statement:2:Investigation required:
    can anybody please help? below is the script.
    DECLARE
    --CURSOR FOR DUPLICATE ROWS
    CURSOR CUR_DUPLICATE_ROWS IS
    Select RMS_NOTE_ID, RMS_SUMMARY_NOTE_ID, count(*) cnt from PARTY_NOTE
    group by RMS_NOTE_ID,RMS_SUMMARY_NOTE_ID having count(*) > 1;
    var_date PARTY_NOTE.PARTY_NOTE_CREATED_DATE%TYPE;
    BEGIN
    FOR DUPLICATE_ROWS_REC IN CUR_DUPLICATE_ROWS
    LOOP
    delete from party_note
    where RMS_NOTE_ID= DUPLICATE_ROWS_REC.RMS_NOTE_ID
    and RMS_SUMMARY_NOTE_ID= DUPLICATE_ROWS_REC.RMS_SUMMARY_NOTE_ID
    and rowid not in (select max(rowid) from party_note
    where RMS_NOTE_ID= DUPLICATE_ROWS_REC.RMS_NOTE_ID and RMS_SUMMARY_NOTE_ID= DUPLICATE_ROWS_REC.RMS_SUMMARY_NOTE_ID);
    commit;
    END LOOP;
    EXCEPTION
    WHEN NO_DATA_FOUND THEN
    NULL;
    WHEN OTHERS THEN
    DBMS_OUTPUT.PUT_LINE(SQLERRM);
    ROLLBACK;
    END;

    Try this:
    delete party_note
    where  rowid not in (select max(rowid)
                         from   party_note
                         group  by rms_note_id, rms_summary_note_id
    commit;No need for cursors and loops.
    And when that's completed, consider ALTERing the table to add a unique index (or even a primary key) so you'll never need to do this again.

  • SQL Error 58004. Executed SQL Statement

    Hi experts, we working with SAP-MAM 3.0 database DB2E Version 9.1.2 ,  when I try install the MAM30 show me this message.
    Please, Can i reinstall the DB2E application for fix this error, or there are other solution?
      u2022 Excepción al tratar el métodoSMARTSYNC : com.sap.ip.me.spi.persist.IPersistenceException: char processor: SQL Error 58004. Executed SQL statement: [INSERT INTO M8_PROPERTIES("KEY","VALUE") values ('KEY_INCONSISTENT_DATA','X')] : char processor: SQL Error 58004. Executed SQL statement: [INSERT INTO M8_PROPERTIES("KEY","VALUE") values ('KEY_INCONSISTENT_DATA','X')]
    u2022 java.lang.RuntimeException: SQLState:58004, error code:-1 : SQLState:58004, error code:-1
    u2022

    Moved thread to DB6 forum.

  • Error in writing the CASE statement

    i am writing these lines for my procedure getting error in writing CASE Statement when i remove case give result please any suggestion
    SELECT OTServicesMapping.ServiceId,Service_mst.Service_Name,
    OTServicesMapping.DependentOn,
    CASE OTROLEID -----error in this line
    WHEN (SELECT NVL(ChiefSurgeonServiceId,0) FROM ConfigOTService) = OTServicesMapping.ServiceId THEN 1
    else 0
    end,
    OTServicesMapping.OTPercent
    FROM Service_mst INNER JOIN
    OTServicesMapping ON Service_mst.Service_ID =OTServicesMapping.ServiceId LEFT OUTER JOIN
    Service_mst Service_mst_1 ON OTServicesMapping.DependentOn = Service_mst_1.Service_ID
    ERROR
    SQL Error: ORA-00905: missing keyword
    00905. 00000 - "missing keyword"
    *Cause:   
    *Action:                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                       

    Hi,
    What part does otroleid play in this problem? Why can't you say:
    CASE
         WHEN ( SELECT  NVL (ChiefSurgeonServiceId, 0)
                  FROM    ConfigOTService
              ) = OTServicesMapping.ServiceId  THEN 1
                                      ELSE 0
    END, ?
    Will there ever be more than 1 row in the ConfigOTService table? If so, you'll have a different error.
    Whenevder you have a problem, post a little sample data (CREATE TABLE and INSERT statements) and the results you want from that data. Explain how you get those results from that data.
    QAlways say what version of Oracle you're usiing.

  • Error occured while executing WebSQL statement in Windows (Phone) 8.1

    I am debugging Apache Cordova application in Visual Studio 2013.4. The application works fine in Ripple and Android emulator, however, when I try to debug on Windows x64 or Windows Phone (device) I get following error:
    On this line: https://github.com/MSOpenTech/cordova-plugin-websql/blob/17015eb938d902eeb6018c03e438658103b28c17/www/windows/SqlTransaction.js#L105
    Unhandled exception at line 105, column 9 in ms-appx://io.cordova.myapp.../www/plugins/com.msopentech.websql/www/windows/SqlTransaction.js
    0x800a139e - JavaScript - runtime error [object Object]
    Here is my code inside index.html:
    <script type="text/javascript">
    document.addEventListener("deviceready", onDeviceReady, false);
    var db = null;
    function onDeviceReady() {
    var dbSize = 5 * 1024 * 1024;
    // 5MB
    db = window.openDatabase("lilka", "1.0", "Lilka hybrid db", dbSize)
    if (db) {
    populateDatabase();
    function populateDatabase() {
    db.transaction(function(tx) {
    tx.executeSql("CREATE TABLE IF NOT EXISTS Product (Id INTEGER, Name TEXT)", [], onSuccess, onError);
    tx.executeSql("INSERT INTO Product(Id, Name) values (1, 'testvalue')", [], onSuccess, onError);
    tx.executeSql('SELECT * FROM Product', [], function(tx, results) {
    var len = results.rows.length,
    i;
    for (i = 0; i < len; i++) {
    alert(results.rows.item(i).Name);
    </script>
    Note: I am using
    WebSQL plugin from MS Open Tech.

    Please refer to reply posted on
    https://github.com/MSOpenTech/cordova-plugin-websql/issues/19.
    -Ellen

  • Error on converting EXECUTE IMMEDIATE from oracle to SQL

    Hi,
    I am converting db from oracle to SQL using SSMA.
    I get following error while converting schema-
    This is the statement on source side (oracle) which is giving below error -EXECUTE IMMEDIATE sqlStat INTO objects_count; 
             *   SSMA error messages:
             *   O2SS0013: EXECUTE IMMEDIATE statement was converted into EXEC(...) statement, but dynamic string was not converted. It must be converted manually.
             EXECUTE (@sqlStat)
    Another issue is that I get below warning when converting this - temHEX NUMBER;
    from oracle to sql.
             *   SSMA warning messages:
             *   O2SS0356: Conversion from NUMBER datatype can cause data loss.
    It is converting to this in SQL - @temHEX float(53), 
    Please suggest.
    Thanks.

    Hi,
    I faced same error again-
    Below is the EXECUTE IMMEDIATE statement. Please help.
                               *   SSMA error messages:
                               *   O2SS0013: EXECUTE IMMEDIATE statement was converted into EXEC(...) statement, but dynamic string was not converted. It must be converted manually.
                               EXECUTE (
                                  'insert into Table1 (C_REPORTNAME,C_REPORTCODE,C_DATE,C_WEEK,C_MONTH,C_YEAR,'
                                   + 
                                  ISNULL(@sColumnNames, '')
                                   + 
                                  ') values ('''
                                   + 
                                  ISNULL(@sReportName, '')
                                   + 
                                   + 
                                  ISNULL(@sReportCode, '')
                                   + 
                                   + 
                                  ISNULL(CAST(@dInputDate AS nvarchar(max)), '')
                                   + 
                                   + 
                                  ISNULL(@sWeekNumber, '')
                                   + 
                                   + 
                                  ISNULL(@sMonth, '')
                                   + 
                                   + 
                                  ISNULL(@sYear, '')
                                   + 
                                   + 
                                  ISNULL(@sName, '')
                                   + 
                                   + 
                                  ISNULL(@sDescription, '')
                                   + 
                                   + 
                                  ISNULL(CAST(@nFail_Count AS nvarchar(max)), '')
                                   + 
                                   + 
                                  ISNULL(CAST(@nPass_Count AS nvarchar(max)), '')
                                   + 
                                   + 
                                  ISNULL(CAST(@nPassing_Fraction AS nvarchar(max)), '')
                                   + 
                                   + 
                                  ISNULL(@sEnabled, '')
                                   + 

  • Error executing SQL statement

    Hi,
    Can anyone see why I am getting this error message for my SQL query?
    WITH SKU_DATA AS (
    SELECT /*+ MATERIALIZE */ DISTINCT FROM_LOC_ID,
               SKU_ID,
               DESCRIPTION,
               UPDATE_QTY,
            ORDER_ID,
            CONSIGNMENT,
               WEIGHT,
            PALLET_ID,
            CASE 
        WHEN Upd_Qty_Ratio < 1
        THEN TO_CHAR(UPDATE_QTY) || 'U'
        WHEN TRUNC(Upd_Qty_Ratio) = Upd_Qty_Ratio
        THEN TO_CHAR(Upd_Qty_Ratio) || 'C'
        ELSE TO_CHAR(TRUNC(UPDATE_QTY)) || 'C' || ' ' || TO_CHAR(ROUND(MOD(Upd_Qty_Ratio, 1) *  USER_DEF_NUM_3, 6)) || 'U'
        END CU_Sum
        FROM (
      SELECT DISTINCT
             FROM_LOC_ID,
          S.SKU_ID,
             S.DESCRIPTION,
             ITL.UPDATE_QTY,
             S.USER_DEF_NUM_3,
          OH.ORDER_ID,
          ITL.CONSIGNMENT,
          ITL.PALLET_ID,
             NVL(ITL.UPDATE_QTY,0)*NVL(S.EACH_WEIGHT,0) Weight,
             ITL.UPDATE_QTY/(CASE S.USER_DEF_NUM_3 WHEN 0 THEN 1 ELSE S.USER_DEF_NUM_3 END) Upd_Qty_Ratio
        FROM INVENTORY_TRANSACTION ITL, SKU S, LOCATION L, ORDER_HEADER OH
        WHERE ITL.SKU_ID = S.SKU_ID
        AND ITL.CODE = 'Pick'
        AND ITL.CONSIGNMENT = $P{Consignment}
        AND OH.ORDER_DATE = TO_CHAR($P{Date}, 'DD-Mon-YYYY')
        AND OH.ORDER_ID = ITL.REFERENCE_ID
        AND ITL.TO_LOC_ID = 'CONTAINER'))
    SELECT DISTINCT ORDER_ID, CONSIGNMENT, WEIGHT, PALLET_ID, CU_Sum,
    (SELECT NVL(TO_CHAR(SUM(CASE WHEN NULLIF(SUBSTR(Cu_Sum, -1), 'U') IS NULL THEN NULL ELSE REPLACE(Cu_Sum,'C',NULL) END)),'0') ||'C' || ' ' || NVL(TO_CHAR(SUM(CASE WHEN NULLIF(SUBSTR(Cu_Sum, -1), 'C') IS NULL THEN NULL ELSE REPLACE(Cu_Sum,'U',NULL) END)),'0') ||'U' FROM SKU_DATA) AS Total_Cu_Sum
    FROM SKU_DATAThanks in advance.
    SM.

    Hi Sean,
    It is saying error executing SQL statement, but with no "ORA error" so maybe its a Jasper Reports error i'm not too sure.
    And this is a different version of the one we done together, that one is running fine just having problems putting the jasper file on to the server. I'm just using the main bits from the original SQL.
    SM

  • Handle to error object after calling the statement execute - SQLDBC

    Topic related to SQLDBC inteface to MaxDB
    =======================
    In C++ while i was executing the statement
    rc = stmt->execute("SELECT 'Hello SAPDB' from DUAL");
    i could get a handle to the error object by a call to
    stmt->error().getErrorText()
    Now while using SQLDBC_C i am using
    rc = SQLDBC_Statement_execute(stmt,tempstr,strlen(tempstr),encodAsciiType);
    Now how do i get the handle to the error object ??
    Call like the above one
    fprintf(stderr, "Executed SQLDBC_Statement %s",stmt->error().getErrorText());
    gives me compilation error:
    error: invalid use of undefined type `struct SQLDBC_Statement'
    /opt/sdb/programs/sdk/sqldbc/incl/SQLDBC_C.h:125: error: forward declaration of `struct SQLDBC_Statement'
    Please Help and feel free to ask me if the question is not clear.
    Regards
    Raja

    Sorry. This question doesn't make sense. So, i withdraw the question.
    Basically what I had confused with earlier and got clarified now is:
    Just like when we make a call to SQLDBC_Connection_connect and after that use the SQLDBC_Connection_getError to get a handle to the SQLDBC_ErrorHndl.
    I wanted to know how should we get a handle to the SQLDBC_ErrorHndl after we have made a call to the SQLDBC_Statement_<function call>.
    I got the answer after looking through the SQLDBC_C.h file. It will be SQLDBC_Statement_getError and similarly SQLDBC_PreparedStatement_getError.
    Wish i could award myself the 10 points for solving the problem
    Regards
    Raja

  • What can be the cause of Web ADI error : Cannot execute SQL statement?

    I created a custom integrator in r12.2.3 and while loading I encountered an error, Cannot execute SQL statement.
    I checked my setup in Interface attribute , the RUN_ID column has a default type SQL QUERY with a default value SELECT  XXCONV_EAM_ASSET_NUM_S.NEXTVAL FROM DUAL.
    If I have a right setup here, what can be the cause of this error?

    Hi,
    The possibilities can be of various reasons, with the sql statements,
    xml descriptors, data sources, improper drivers anything. To crack down
    the solution, kindly let me know the error messages and what exactly are
    you trying to accomplish.
    Thanks & Regards
    Raj
    manimaran t wrote:
    what may be the cause of this error java.sql.SQLException: invalid sql
    type passed to callable statement in iplanet ussing JNDI
    Try our New Web Based Forum at http://softwareforum.sun.com
    Includes Access to our Product Knowledge Base!

  • ERROR: Invalid data pump job state; one of: DEFINING or EXECUTING.

    Hi all.
    I'm using Oracle 10g (10.2.0.3) I had some scheduled jobs for export the DB with datapump. Some days ago they began to fail with the message:
    ERROR: Invalid data pump job state; one of: DEFINING or EXECUTING.
    Wait a few moments and check the log file (if one was used) for more details.
    The EM says that I can't monitor the job because there's no master tables. How can I find the log?
    I also founded in the bdump that exceptions occurred:
    *** 2008-08-22 09:04:54.671
    *** ACTION NAME:(EXPORT_ITATRD_DIARIO) 2008-08-22 09:04:54.671
    *** MODULE NAME:(Data Pump Master) 2008-08-22 09:04:54.671
    *** SERVICE NAME:(SYS$USERS) 2008-08-22 09:04:54.671
    *** SESSION ID:(132.3726) 2008-08-22 09:04:54.671
    kswsdlaqsub: unexpected exception err=604, err2=24010
    kswsdlaqsub: unexpected exception err=604, err2=24010
    * kjdrpkey2hv: called with pkey 114178, options x8
    * kjdrpkey2hv: called with pkey 114176, options x8
    * kjdrpkey2hv: called with pkey 114177, options x8
    Some help would be appreciated.
    Thanks.

    Delete any uncompleted or failed jobs and try again.

  • Getting errors while writing to a BLOB column using PrepareStatement

    Hello,
    I am getting the following errors when I am trying to insert in a BLOB in the oracle 9i database:
    java.sql.SQLException: ORA-00604: error occurred at recursive SQL level 1 ORA-06502: PL/SQL: numeric or value error ORA-06512: at line 205 ORA-22297: warning: Open LOBs exist at transaction commit time
    It gets inserted into the BLOB column correctly even after throwing exception.I am using the following code:
    String outputXML = outputXML //Some huge string having a length of 52k
    String pKey = "DATA-WORKATTACH-URL MELLONFINCORP-GSS-CPG E-444!20061130T211932.030 GMT";
    String createDateTime = "20061212T145931.448 GMT";
    String createOpName = "Haque, Nadeem";
    String createOperator = "ADCDTB6";
    String createSystemID = "WFE";
    String insName = "TESt INS";
    String objClass = "Data-WorkAttach-Note";
    String updateDateTime = "20061207T191900.510 GMT";
    String updateOpName = "Haque, Nadeem";
    String updateOperator = "ADCDTB6";
    String updateSystemID = "WFE";
    String label = "This is a test for label";
    String attachDate = "20061207T191900.510 GMT";
    String attachedBy = "Nadeem";
    String attachName = "Nadeem Haque";
    String note = "This is a test note";
    String refObjectKey = "E-438!20061130T211932.030";
    String replicationDate = "20061207T191900.510 GMT";
    try{
    java.sql.PreparedStatement pstmt = null;
    java.sql.Statement stmt = null;
    java.io.OutputStream tempBlobOStream = null;
    oracle.sql.BLOB tempBlob = null;
    javax.naming.Context ctx = new javax.naming.InitialContext();
    tools.findPage("tempWorkPage").putString ("testctx", ctx.toString());     
    javax.sql.DataSource ds = (javax.sql.DataSource)ctx.lookup("jdbc/gswWorkflowReportingData");
    tools.findPage("tempWorkPage").putString ("testds", ds.toString());
    java.sql.Connection conn = ds.getConnection();
    tools.findPage("tempWorkPage").putString ("testconn", conn.toString());
    java.sql.ResultSet lobDetails = null;
         try{
              byte [] ba = outputXML.getBytes();
              String query = "INSERT INTO GSW06U.pc_data_workattach(PZINSKEY,PXCREATEDATETIME,ATTACHDATE,PXUPDATEDATETIME,PXCREATEOPNAME,PXCREATEOPERATOR,PXCREATESYSTEMID,PXINSNAME,PXOBJCLASS,PXUPDATEOPNAME,PXUPDATEOPERATOR,PXUPDATESYSTEMID,PYLABEL,ATTACHEDBY,ATTACHNAME,NOTE,REFOBJECTKEY,ATTACHSTREAM) values(?,to_date(concat(substr(?,1,8),substr(?,10,6)),'YYYYMMDDHH24MISS'),to_date(concat(substr(?,1,8),substr(?,10,6)),'YYYYMMDDHH24MISS'),to_date(concat(substr(?,1,8),substr(?,10,6)),'YYYYMMDDHH24MISS'),?,?,?,?,?,?,?,?,?,?,?,?,?,EMPTY_BLOB())";
              tools.findPage("tempWorkPage").putString ("query", query);
              pstmt = conn.prepareStatement(query);
              pstmt.setString(1, pKey); // Bind PZINSKEY
              pstmt.setString(2, createDateTime); // Bind PZINSKEY
              pstmt.setString(3, createDateTime);
              pstmt.setString(4, attachDate);
              pstmt.setString(5, attachDate);
              pstmt.setString(6, updateDateTime);
              pstmt.setString(7, updateDateTime);
              pstmt.setString(8, createOpName);
              pstmt.setString(9, createOperator);
              pstmt.setString(10, createSystemID);
              pstmt.setString(11, insName);
              pstmt.setString(12, objClass);
              pstmt.setString(13, updateOpName);
              pstmt.setString(14, updateOperator);
              pstmt.setString(15, updateSystemID);
              pstmt.setString(16, label);
              pstmt.setString(17, attachedBy);
              pstmt.setString(18, attachName);
              pstmt.setString(19, note);
              pstmt.setString(20, refObjectKey);
              pstmt.execute(); // Execute SQL statement
              // Retrieve the row just inserted, and lock it for insertion of the LOB columns
              stmt = conn.createStatement();
              lobDetails = stmt.executeQuery("SELECT AttachStream FROM GSW06U.pc_data_workattach WHERE PZINSKEY = '" + pKey + "' FOR UPDATE");
              tools.findPage("tempWorkPage").putString ("idvalue", pKey);
              // Retrieve Blob streams for AttachStream column and load the sample XML
              if( lobDetails.next()) {
              //Get the CLOB from the resultset
              tempBlob = (oracle.sql.BLOB)lobDetails.getBlob(1);
              tools.findPage("tempWorkPage").putString ("pos1", "at pos1");
              // Open the temporary CLOB in readwrite mode, to enable writing
              tempBlob.open(oracle.sql.BLOB.MODE_READWRITE);
              tools.findPage("tempWorkPage").putString ("pos2", "at pos2");
              // Get the output stream to write
              tempBlobOStream = tempBlob.getBinaryOutputStream();
              tools.findPage("tempWorkPage").putString ("pos3", "at pos3");
              // Write the data into the temporary CLOB from the byte array
              tempBlobOStream.write(ba);
              // Flush and close the stream
              tempBlobOStream.flush();
              conn.commit();
              //Close everything
    tempBlobOStream.close();
              tempBlobOStream = null;
              tempBlob.close();
              tempBlob =null;
              lobDetails.close();
              lobDetails = null;
              stmt.close();
              stmt = null;
              pstmt.close();
              pstmt = null;
              conn.close(); // Return to connection pool
              conn = null; // Make sure we don't close it twice
         catch(java.sql.SQLException sqlexp) {
                   tempBlob.freeTemporary();
                   sqlexp.printStackTrace();
                   tools.findPage("tempWorkPage").putString ("SQLException", sqlexp.toString());
         catch(java.lang.Exception exp) {
                   tempBlob.freeTemporary();
                   tools.findPage("tempWorkPage").putString ("InnerException", exp.toString());
                   exp.printStackTrace();
         finally
              if (lobDetails != null) {
              try { lobDetails.close(); } catch (java.sql.SQLException e) { System.out.println(" Error while Freeing Result sets" + e.toString()); }
              lobDetails = null;
              if (stmt != null) {
              try { stmt.close(); } catch (java.sql.SQLException e) {System.out.println(" Error while Freeing java Statement" + e.toString()); }
              stmt = null;
              if (pstmt != null) {
              try { pstmt.close(); } catch (java.sql.SQLException e) {System.out.println(" Error while Freeing java PrepareStatement" + e.toString()); }
              pstmt = null;
              try{
              if (tempBlob != null) {
         // If the BLOB is open, close it
         if (tempBlob.isOpen()) {
         tempBlob.close();
         // Free the memory used by this BLOB
         tempBlob.freeTemporary();
              tempBlob = null;
              catch (Exception ex) { // Trap errors
              System.out.println(" Error while Freeing LOBs : " + ex.toString());
              if (conn != null) {
              try { conn.close(); } catch (java.sql.SQLException e) { System.out.println(" Error while Freeing Connection" + e.toString()); }
              conn = null;
    catch(java.lang.Exception e)
         tools.findPage("tempWorkPage").putString ("LangException", e.toString());
         e.printStackTrace();
    }

    Hello,
    I am getting the following errors when I am trying to
    insert in a BLOB in the oracle 9i database:
    java.sql.SQLException: ORA-00604: error occurred
    at recursive SQL level 1 ORA-06502: PL/SQL: numeric
    or value error ORA-06512: at line 205 ORA-22297:
    warning: Open LOBs exist at transaction commit
    time
    You're doing exactly what the error says, that is committing with an open LOB. Look at the following piece of code: you write in the LOB, you flush it and then commit. There is no closing of the LOB stream before committing.
    Try putting the tempBlobOStream.close() instruction before the commit.
    // Write the data into the temporary CLOB from the
    he byte array
              tempBlobOStream.write(ba);
              // Flush and close the stream
              tempBlobOStream.flush();
    nn.commit();
              //Close everything
    tempBlobOStream.close();

  • CASE not found while executing CASE statement on Submit Form

    Hi to all APEX users and developers.
    I have several APEX applications and they are all working well, but recently I got one strange exception when I try to submit page:
    Session: Fetch session header information
    ...metadata, fetch page info
    ...Validate item page affinity.
    ...Validate hidden_protected items.
    Add error onto error stack
    ...Error data:
    ......message: Error processing request.
    ......additional_info: ORA-06592: CASE not found while executing CASE statement
    ......display_location: ON_ERROR_PAGE
    ......is_internal_error: true
    ......apex_error_code: APEX.UNHANDLED_ERROR
    ......ora_sqlcode: -6592
    ......ora_sqlerrm: ORA-06592: CASE not found while executing CASE statement
    .....error_backtrace: ORA-06512: at "APEX_040100.WWV_FLOW", line 9273
    ......component.type: APEX_APPLICATION_AUTH
    ......component.id: 41350431648668800
    ......component.name: MNRFR
    ...Show Error on Error Page
    ......Performing rollback
    Processes - point: AFTER_ERROR_HEADER
    Processes - point: BEFORE_ERROR_FOOTER
    End Page Processinga
    Page has more than 120 items (most of them are hidden), so my first thought is that page has problem with posting so many items, but APEX error message doesn't hel me at all. Any help would be very appreciated :)
    Almir

    Hi Almir,
    actually it is the 100 page item limit. See (http://download.oracle.com/docs/cd/E17556_01/doc/user.40/e15517/limits.htm)
    I also had a look into the source code and the code at the position where the error gets raised only supports 100 page items.
    Can you have a look into the generated HTML code and look if you have a page items which is mapped to p_t101 or a higher number ?
    I will file a bug to show a better error message.
    Regards
    Patrick
    My Blog: http://www.inside-oracle-apex.com
    APEX Plug-Ins: http://apex.oracle.com/plugins
    Twitter: http://www.twitter.com/patrickwolf

  • EXPORT XFA error while writing XFA files

    Hello Experts,
    We are facing an error while exporting to PDF from BEx report.
    We are on EP7 SP14. BI on SP16.
    After the report is displayed and Export to PDF button is clicked, a new window opens which shows following:
    1. Error:
    Message: No message was provided.
    Stack trace: java.lang.NullPointerException
    at com.sap.ip.bi.export.model.layout.impl.Margins.<init>(Margins.java:32)
    at com.sap.ip.bi.export.model.layout.impl.CellLayout.<init>(CellLayout.java:48)
    at com.sap.ip.bi.export.model.layout.impl.CellLayout.dub(CellLayout.java:57)
    at com.sap.ip.bi.export.xfa.xftextensions.TableContentIterator.createCell(TableContentIterator.java:170)
    at com.sap.ip.bi.export.xfa.xftextensions.TableContentIterator.next(TableContentIterator.java:104)
    at com.sap.ip.bi.export.xfa.xftextensions.TableSubFormSet.writeXFD(TableSubFormSet.java:1189)
    at com.sap.ip.bi.export.xfa.core.Xft_subform.writeXFD(Xft_subform.java:1604)
    at com.sap.ip.bi.export.xfa.core.Xft_subform.writeXFD(Xft_subform.java:1604)
    at com.sap.ip.bi.export.xfa.core.Xft_template.writeXFD(Xft_template.java:216)
    at com.sap.ip.bi.export.xfa.core.Xft.writeXFD(Xft.java:62)
    at com.sap.ip.bi.export.xfa.impl.Document.writeWidthsAsXmlToStream(Document.java:294)
    at com.sap.ip.bi.export.xfa.widthcalc.WidthCalculator.<init>(WidthCalculator.java:55)
    at com.sap.ip.bi.export.xfa.impl.SizeCalculator.calc(SizeCalculator.java:96)
    at com.sap.ip.bi.export.impl.ExportController.calculateAndSetSizes(ExportController.java:626)
    at com.sap.ip.bi.export.impl.ExportController.doExportPrep(ExportController.java:405)
    at com.sap.ip.bi.export.impl.ExportController.convert(ExportController.java:325)
    at com.sap.ip.bi.export.controller.ExportResult.createExport(ExportResult.java:71)
    at com.sap.ip.bi.webapplications.pageexport.PageExportRenderingRootNode.createPDF(PageExportRenderingRootNode.java:593)
    at com.sap.ip.bi.webapplications.pageexport.PageExportRenderingRootNode.doExport(PageExportRenderingRootNode.java:132)
    at com.sap.ip.bi.webapplications.pageexport.PageExportRenderingRootNode.processRendering(PageExportRenderingRootNode.java:349)
    at com.sap.ip.bi.webapplications.runtime.impl.Page.buildRenderingTree(Page.java:4494)
    at com.sap.ip.bi.webapplications.runtime.impl.Page.processRenderingRootNode(Page.java:4568)
    at com.sap.ip.bi.webapplications.runtime.impl.Page.processRendering(Page.java:4204)
    at com.sap.ip.bi.webapplications.runtime.impl.Page.doProcessRequest(Page.java:4150)
    at com.sap.ip.bi.webapplications.runtime.impl.Page._processRequest(Page.java:2948)
    at com.sap.ip.bi.webapplications.runtime.impl.Page.processRequest(Page.java:2794)
    at com.sap.ip.bi.webapplications.runtime.controller.impl.Controller.doProcessRequest(Controller.java:994)
    at com.sap.ip.bi.webapplications.runtime.controller.impl.Controller._processRequest(Controller.java:883)
    at com.sap.ip.bi.webapplications.runtime.controller.impl.Controller.processRequest(Controller.java:860)
    at com.sap.ip.bi.webapplications.runtime.jsp.portal.services.BIRuntimeService._handleRequest(BIRuntimeService.java:359)
    at com.sap.ip.bi.webapplications.runtime.jsp.portal.services.BIRuntimeService.handleRequest(BIRuntimeService.java:276)
    at com.sap.ip.bi.webapplications.runtime.jsp.portal.components.LauncherComponent.doContent(LauncherComponent.java:24)
    at com.sapportals.portal.prt.component.AbstractPortalComponent.serviceDeprecated(AbstractPortalComponent.java:209)
    at com.sapportals.portal.prt.component.AbstractPortalComponent.service(AbstractPortalComponent.java:114)
    at com.sapportals.portal.prt.core.PortalRequestManager.callPortalComponent(PortalRequestManager.java:328)
    at com.sapportals.portal.prt.core.PortalRequestManager.dispatchRequest(PortalRequestManager.java:136)
    at com.sapportals.portal.prt.core.PortalRequestManager.dispatchRequest(PortalRequestManager.java:189)
    at com.sapportals.portal.prt.component.PortalComponentResponse.include(PortalComponentResponse.java:215)
    at com.sapportals.portal.prt.pom.PortalNode.service(PortalNode.java:645)
    at com.sapportals.portal.prt.core.PortalRequestManager.callPortalComponent(PortalRequestManager.java:328)
    at com.sapportals.portal.prt.core.PortalRequestManager.dispatchRequest(PortalRequestManager.java:136)
    at com.sapportals.portal.prt.core.PortalRequestManager.dispatchRequest(PortalRequestManager.java:189)
    at com.sapportals.portal.prt.core.PortalRequestManager.runRequestCycle(PortalRequestManager.java:753)
    at com.sapportals.portal.prt.connection.ServletConnection.handleRequest(ServletConnection.java:240)
    at com.sapportals.portal.prt.dispatcher.Dispatcher$doService.run(Dispatcher.java:524)
    at java.security.AccessController.doPrivileged(Native Method)
    at com.sapportals.portal.prt.dispatcher.Dispatcher.service(Dispatcher.java:407)
    at javax.servlet.http.HttpServlet.service(HttpServlet.java:853)
    at com.sap.engine.services.servlets_jsp.server.servlet.InvokerServlet.service(InvokerServlet.java:156)
    at javax.servlet.http.HttpServlet.service(HttpServlet.java:853)
    at com.sap.engine.services.servlets_jsp.server.HttpHandlerImpl.runServlet(HttpHandlerImpl.java:401)
    at com.sap.engine.services.servlets_jsp.server.HttpHandlerImpl.handleRequest(HttpHandlerImpl.java:266)
    at com.sap.engine.services.httpserver.server.RequestAnalizer.startServlet(RequestAnalizer.java:386)
    at com.sap.engine.services.httpserver.server.RequestAnalizer.startServlet(RequestAnalizer.java:364)
    at com.sap.engine.services.httpserver.server.RequestAnalizer.invokeWebContainer(RequestAnalizer.java:1039)
    at com.sap.engine.services.httpserver.server.RequestAnalizer.handle(RequestAnalizer.java:265)
    at com.sap.engine.services.httpserver.server.Client.handle(Client.java:95)
    at com.sap.engine.services.httpserver.server.Processor.request(Processor.java:175)
    at
    com.sap.engine.core.service630.context.cluster.session.ApplicationSessionMessageListener.process(ApplicationSessionMessageListener.java
    :33)
    at com.sap.engine.core.cluster.impl6.session.MessageRunner.run(MessageRunner.java:41)
    at com.sap.engine.core.thread.impl3.ActionObject.run(ActionObject.java:37)
    at java.security.AccessController.doPrivileged(Native Method)
    at com.sap.engine.core.thread.impl3.SingleThread.execute(SingleThread.java:102)
    at com.sap.engine.core.thread.impl3.SingleThread.run(SingleThread.java:172)
    Message: EXPORT XFA error while writing XFA files
    Stack trace: com.sap.ip.bi.base.exception.BIBaseRuntimeException: EXPORT XFA error while writing XFA files
    at com.sap.ip.bi.export.xfa.impl.Document.writeWidthsAsXmlToStream(Document.java:311)
    at com.sap.ip.bi.export.xfa.widthcalc.WidthCalculator.<init>(WidthCalculator.java:55)
    at com.sap.ip.bi.export.xfa.impl.SizeCalculator.calc(SizeCalculator.java:96)
    at com.sap.ip.bi.export.impl.ExportController.calculateAndSetSizes(ExportController.java:626)
    at com.sap.ip.bi.export.impl.ExportController.doExportPrep(ExportController.java:405)
    at com.sap.ip.bi.export.impl.ExportController.convert(ExportController.java:325)
    at com.sap.ip.bi.export.controller.ExportResult.createExport(ExportResult.java:71)
    at com.sap.ip.bi.webapplications.pageexport.PageExportRenderingRootNode.createPDF(PageExportRenderingRootNode.java:593)
    at com.sap.ip.bi.webapplications.pageexport.PageExportRenderingRootNode.doExport(PageExportRenderingRootNode.java:132)
    at com.sap.ip.bi.webapplications.pageexport.PageExportRenderingRootNode.processRendering(PageExportRenderingRootNode.java:349)
    at com.sap.ip.bi.webapplications.runtime.impl.Page.buildRenderingTree(Page.java:4494)
    at com.sap.ip.bi.webapplications.runtime.impl.Page.processRenderingRootNode(Page.java:4568)
    at com.sap.ip.bi.webapplications.runtime.impl.Page.processRendering(Page.java:4204)
    at com.sap.ip.bi.webapplications.runtime.impl.Page.doProcessRequest(Page.java:4150)
    at com.sap.ip.bi.webapplications.runtime.impl.Page._processRequest(Page.java:2948)
    at com.sap.ip.bi.webapplications.runtime.impl.Page.processRequest(Page.java:2794)
    at com.sap.ip.bi.webapplications.runtime.controller.impl.Controller.doProcessRequest(Controller.java:994)
    at com.sap.ip.bi.webapplications.runtime.controller.impl.Controller._processRequest(Controller.java:883)
    at com.sap.ip.bi.webapplications.runtime.controller.impl.Controller.processRequest(Controller.java:860)
    at com.sap.ip.bi.webapplications.runtime.jsp.portal.services.BIRuntimeService._handleRequest(BIRuntimeService.java:359)
    at com.sap.ip.bi.webapplications.runtime.jsp.portal.services.BIRuntimeService.handleRequest(BIRuntimeService.java:276)
    at com.sap.ip.bi.webapplications.runtime.jsp.portal.components.LauncherComponent.doContent(LauncherComponent.java:24)
    at com.sapportals.portal.prt.component.AbstractPortalComponent.serviceDeprecated(AbstractPortalComponent.java:209)
    at com.sapportals.portal.prt.component.AbstractPortalComponent.service(AbstractPortalComponent.java:114)
    at com.sapportals.portal.prt.core.PortalRequestManager.callPortalComponent(PortalRequestManager.java:328)
    at com.sapportals.portal.prt.core.PortalRequestManager.dispatchRequest(PortalRequestManager.java:136)
    at com.sapportals.portal.prt.core.PortalRequestManager.dispatchRequest(PortalRequestManager.java:189)
    at com.sapportals.portal.prt.component.PortalComponentResponse.include(PortalComponentResponse.java:215)
    at com.sapportals.portal.prt.pom.PortalNode.service(PortalNode.java:645)
    at com.sapportals.portal.prt.core.PortalRequestManager.callPortalComponent(PortalRequestManager.java:328)
    at com.sapportals.portal.prt.core.PortalRequestManager.dispatchRequest(PortalRequestManager.java:136)
    at com.sapportals.portal.prt.core.PortalRequestManager.dispatchRequest(PortalRequestManager.java:189)
    at com.sapportals.portal.prt.core.PortalRequestManager.runRequestCycle(PortalRequestManager.java:753)
    at com.sapportals.portal.prt.connection.ServletConnection.handleRequest(ServletConnection.java:240)
    at com.sapportals.portal.prt.dispatcher.Dispatcher$doService.run(Dispatcher.java:524)
    at java.security.AccessController.doPrivileged(Native Method)
    at com.sapportals.portal.prt.dispatcher.Dispatcher.service(Dispatcher.java:407)
    at javax.servlet.http.HttpServlet.service(HttpServlet.java:853)
    at com.sap.engine.services.servlets_jsp.server.servlet.InvokerServlet.service(InvokerServlet.java:156)
    at javax.servlet.http.HttpServlet.service(HttpServlet.java:853)
    at com.sap.engine.services.servlets_jsp.server.HttpHandlerImpl.runServlet(HttpHandlerImpl.java:401)
    at com.sap.engine.services.servlets_jsp.server.HttpHandlerImpl.handleRequest(HttpHandlerImpl.java:266)
    at com.sap.engine.services.httpserver.server.RequestAnalizer.startServlet(RequestAnalizer.java:386)
    at com.sap.engine.services.httpserver.server.RequestAnalizer.startServlet(RequestAnalizer.java:364)
    at com.sap.engine.services.httpserver.server.RequestAnalizer.invokeWebContainer(RequestAnalizer.java:1039)
    at com.sap.engine.services.httpserver.server.RequestAnalizer.handle(RequestAnalizer.java:265)
    at com.sap.engine.services.httpserver.server.Client.handle(Client.java:95)
    at com.sap.engine.services.httpserver.server.Processor.request(Processor.java:175)
    at
    com.sap.engine.core.service630.context.cluster.session.ApplicationSessionMessageListener.process(ApplicationSessionMessageListener.java
    :33)
    at com.sap.engine.core.cluster.impl6.session.MessageRunner.run(MessageRunner.java:41)
    at com.sap.engine.core.thread.impl3.ActionObject.run(ActionObject.java:37)
    at java.security.AccessController.doPrivileged(Native Method)
    at com.sap.engine.core.thread.impl3.SingleThread.execute(SingleThread.java:102)
    at com.sap.engine.core.thread.impl3.SingleThread.run(SingleThread.java:172)
    Caused by: java.lang.NullPointerException
    at com.sap.ip.bi.export.model.layout.impl.Margins.<init>(Margins.java:32)
    at com.sap.ip.bi.export.model.layout.impl.CellLayout.<init>(CellLayout.java:48)
    at com.sap.ip.bi.export.model.layout.impl.CellLayout.dub(CellLayout.java:57)
    at com.sap.ip.bi.export.xfa.xftextensions.TableContentIterator.createCell(TableContentIterator.java:170)
    at com.sap.ip.bi.export.xfa.xftextensions.TableContentIterator.next(TableContentIterator.java:104)
    at com.sap.ip.bi.export.xfa.xftextensions.TableSubFormSet.writeXFD(TableSubFormSet.java:1189)
    at com.sap.ip.bi.export.xfa.core.Xft_subform.writeXFD(Xft_subform.java:1604)
    at com.sap.ip.bi.export.xfa.core.Xft_subform.writeXFD(Xft_subform.java:1604)
    at com.sap.ip.bi.export.xfa.core.Xft_template.writeXFD(Xft_template.java:216)
    at com.sap.ip.bi.export.xfa.core.Xft.writeXFD(Xft.java:62)
    at com.sap.ip.bi.export.xfa.impl.Document.writeWidthsAsXmlToStream(Document.java:294)
    2. Message:
    No metadata is available for "DISABLE_NAVIGATION":
    <parameterList>
      <param name="BI_COMMAND_TYPE" value="OPEN_DIALOG_DISABLE_NAVIGATION"/>
      <param name="TARGET_DIALOG_REF" value="DISABLE_NAVIGATION"/>
    </parameterList>
    In this window, complete screen of report is displayed as an image instead of PDF.
    Please let me know if anybody faced similar issue earlier.
    It was working perfect earlier, but suddenly error started.
    regards
    Kedar Kulkarni

    No proper findings, but issue resolved.
    Problem i found that we got a domain change and service values were not refreshed until we apply new patch.
    So when we applied patch level 6 on BI WEBAPP& BI BASE S URL for ADS got refreshed and we faced the issue.
    After resetting the URL to new domain problem got resolved.
    Regards
    Kedar Kulkarni

  • Executing SUBMIT statement in background

    Hello Experts,
    Is it possibe in executing SUBMIT statement in backgound? If yes can anyone provide example code?
    Also in terms of performance tuning how does SUBMIT fares against CALL TRANSACTION? Which is much better in terms of performance.
    Appreciate your answers. Thanks!

    Hi
    There's no difference for the performance:
    if a transaction is assigned to a report (so no dialog program, module pool), it's better to use the SUBMIT if it needs to transfer the value on SELECTION-SCREEN. It can't do it by CALL TRANSACTION.
    DATA: VA_JOBNAME LIKE TBTCO-JOBNAME,
               VN_JOBCOUNT LIKE TBTCO-JOBCOUNT.
    * Open job
      CALL FUNCTION 'JOB_OPEN'
           EXPORTING
                JOBNAME          = VA_JOBNAME
           IMPORTING
                JOBCOUNT         = VN_JOBCOUNT
           EXCEPTIONS
                CANT_CREATE_JOB  = 1
                INVALID_JOB_DATA = 2
                JOBNAME_MISSING  = 3
                OTHERS           = 4.
      CASE SY-SUBRC.
        WHEN 0.
        WHEN OTHERS.
          MESSAGE E208(00) WITH 'Error.
      ENDCASE.
    * Call report
      SUBMIT <REPORT>  USER SY-UNAME
                        VIA JOB VA_JOBNAME NUMBER VN_JOBCOUNT
                        WITH ..................................
                        AND RETURN.
    * Close job
      CALL FUNCTION 'JOB_CLOSE'
           EXPORTING
                JOBCOUNT             = VN_JOBCOUNT
                JOBNAME              = VA_JOBNAME
                STRTIMMED            = 'X'  " start immediatly
           EXCEPTIONS
                CANT_START_IMMEDIATE = 1
                INVALID_STARTDATE    = 2
                JOBNAME_MISSING      = 3
                JOB_CLOSE_FAILED     = 4
                JOB_NOSTEPS          = 5
                JOB_NOTEX            = 6
                LOCK_FAILED          = 7
                OTHERS               = 8.
    Max

  • Error while writing to a .CSV file

    hi,
    I am writing output from PL/SQL block to a .CSV file.
    CREATE OR REPLACE PROCEDURE wr_csv
    AS
    BEGIN
    DECLARE
    abc VARCHAR2(10);
    file_name VARCHAR2(30);
    output_file utl_file.file_type;
    BEGIN
    SELECT ename INTO abc FROM EMP;
    file_name :=('Testwriting.CSV');
    output_file :=utl_file.fopen('d:\test',Testwriting.CSV,'W');
    utl_file.put_line(output_file,'NAME: '||abc );
    utl_file.fclose(output_file);
    EXCEPTION
    WHEN OTHERS THEN
    dbms_output.put_line(SQLCODE||SQLERRM);
    END;
    END wr_csv;
    i am getting a error message:
    LINE/COL ERROR
    11/1 PL/SQL: Statement ignored
    11/40 PLS-00201: identifier 'TESTWRITING.CSV' must be declared
    Is it related to changes in the init.ora file ?
    Please Suggest..

    EXCEPTION
    WHEN OTHERS THEN
    dbms_output.put_line(SQLCODE||SQLERRM);
    ENDDont use like this..
    U never know if any error happens..
    ERROR at line 1:
    ORA-01422: exact fetch returns more than requested number of rows
    ORA-06512: at "SCOTT.WR_CSV", line 7
    ORA-06512: at line 2
    Message was edited by:
    jeneesh

Maybe you are looking for