JDBC stored procedure not working in Weblogic 12.1.3

Hi,
We are migrating from WLS 12.1.2 to 12.1.3.
We have a JDBC stored procedure which used to work correctly under 12.1.2. I understand that 12.1.2 uses ojdbc5/ojdbc6 jars (11.2.0.x). After migrating to 12.1.3, the stored procedure is not working.
We have narrowed it down to the different between 12.1.2 using ojdbc5/6 and 12.1.3 using ojdbc7 jars, though we do not understand what the difference here is.
Connection connection = getConnection();
CallableStatement callableStatement = connection.prepareCall("{call RECEIPT_LOG (?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?)}");
callableStatement.registerOutParameter("PIO_RECEIPT_LOG_ID", java.sql.Types.INTEGER);
callableStatement.setLong("PIO_RECEIPT_LOG_ID", 0);
callableStatement.setString("PIO_DRAWER_NAME", request.getDrawerName());
callableStatement.setString("PIO_DRAWER_FIRST_NAME", request.getDrawerFirstName());
callableStatement.setString("PIO_DRAWER_OTHER_NAMES", "");
callableStatement.setString("PIO_DRAWER_STREET_NO", "");
callableStatement.setString("PIO_DRAWER_STREET", "");
callableStatement.setString("PIO_DRAWER_LOCALITY", "");
callableStatement.setLong("PIO_DRAWER_POSTCODE", 0);
callableStatement.setString("PI_PAYMENT_TYPE", request.getPiPaymentType());
callableStatement.setLong("PI_APPLICATION_ID", request.getApplicationId());
callableStatement.setString("PI_PRIMARY_ID", request.getPiPrimaryId());
callableStatement.setString("PI_SECONDARY_ID", request.getPiSecondaryId());
callableStatement.setDouble("PI_AMOUNT", request.getPiAmount());
callableStatement.setInt("PI_TAX_AMOUNT", 0);
callableStatement.setNull("PI_VPC_TXNRESPONSECODE", java.sql.Types.VARCHAR);
callableStatement.setInt("PI_VPC_TRANSACTIONNO", 0);
callableStatement.setString("PI_VPC_MESSAGE", "");
callableStatement.setString("PI_VPC_ACQRESPONSECODE", "");
callableStatement.setString("PI_VPC_RECEIPTNO", "");
callableStatement.setString("PI_VPC_BATCHNO", "");
callableStatement.setString("PI_VPC_CARD", "");
callableStatement.setString("PI_VPC_MERCHTXNREF", "");
callableStatement.setString("PI_VPC_MERCHANT", "");
callableStatement.setString("PI_VPC_ORDERINFO", "");
callableStatement.setInt("PI_VPC_AMOUNT", 0);
callableStatement.setString("PI_VPC_AUTHORIZEID", "");
callableStatement.registerOutParameter("PO_RECEIPT_NO", java.sql.Types.VARCHAR);
callableStatement.registerOutParameter("PO_SOURCE_ID", java.sql.Types.INTEGER);
callableStatement.registerOutParameter("PO_PAYMENT_METHOD_TEXT", java.sql.Types.VARCHAR);
callableStatement.registerOutParameter("PO_CREATE_COMMENT", java.sql.Types.VARCHAR);
callableStatement.registerOutParameter("PO_ERROR_MESSAGE", java.sql.Types.VARCHAR);
boolean isSuccessful = callableStatement.execute();
Long receiptLogId = callableStatement.getLong("PIO_RECEIPT_LOG_ID");
Here, when the callableStatement.execute() is fired, the isSuccessful is false and the output parameter receiptLogId is 0
Any help appreciated.
Regards,
Rahul

Hi All,
We still haven't figured out what the problem is with JDBC when using ojdbc7.jar but, as an alternate solution we ported the code to Spring JDBC and got it working.
Regards,
Rahul

Similar Messages

  • Oracle Stored Procedure not working

    Hi Guy's,
    I want to connect directly from Visual Composer to Oracle Database 10.2.x.x using Oracle Stored Procedure and JDBC System to demonstrate how easy you can show data vith VC. So I have created a simple Oracle Stored Procedure, a JDBC System with a valid alias, User mapping (Portal User --> Oracle User).
    When I invoke the stored procedure I receive the following error: "Portal request Failed (Could not execute stored procedure)". The Stored Procedure is working fine in Oracle iSQL*Plus.
    Any idea's?
    Thanks,
    Ridouan

    Hi,
    did you use the portal JDBC as it is described here:
    <a href="https://wiki.sdn.sap.com/wiki/display/VC/Cannotseetables">https://wiki.sdn.sap.com/wiki/display/VC/Cannotseetables</a>
    Best Regards,
    Marcel

  • MultiSelect Parameter with Stored Procedure not working

    I am using Crystal Reports 2008 and SQL Server 2008. I am using a stored procedure which works with a multiselect in SQL side. I am using a string to table utility function in the where clause with the In statment like below:
    WHERE FORMULARY_ID in
    --(@FORMULARY_ID)
      (SELECT Extractedtext
       FROM ClarityTST.[rpt].[LHfn_StringToTable]( @FORMULARY_ID, ',') ) 
    When I try to use the stored procedure I get an error message:
    "The stored procedure cannot accept multiple values. Please ensure that the multiple value is set to False:"
    I would like to use it with multiple parameters.

    Crystal uses arrays to handle multiple values.  As far as I'm aware, there is no way to get a multi-valued report parameter into SQL (command or SP) directly.  In the past, I have used a "shell" main report that gets the parameters, used Join() to concatenate the selected values into a single string, then pass that to the "main" subreport, and into its SQL or SP.  The SQL than would need to find the database field in the string.  If you make the string passed to the subreport valid SQL for an IN clause, you could do it that way, too.
    HTH,
    Carl

  • Stored procedures not working after migrating from 8i to 10g

    The Oracle stored procedures are generating an error following upgrading a ColdFusion web application from Oracle8i to 10g release 2.
    "Error","jrpp-102","05/28/08","13:35:09","insite","Error Executing Database Query.[Macromedia][Oracle JDBC Driver][Oracle]ORA-06550: line 1, column 7: PLS-00306: wrong number or types of arguments in call to 'S_DEFAULT_LETTER_SETTING' ORA-06550: line 1, column 7: PL/SQL: Statement ignored The specific sequence of files included or processed is: new_letter.cfm, line: 63 "
    I've been looking at this for about 3 days with a colleague in the office. We can resolve this be recreating the stored procedure with a new name (e.g. adding the suffix "_v2"). Its not really practical for us to do this throughout the system. Anyone know what the root cause might be?
    I'm currently connecting to Oracle10g using SQLTools and Oracle8 client. I've yet to upgrade to Oracle10 client.
    I've tried selecting all the stored procedures and re-compiling them but it appeared to make no difference.

    The Oracle stored procedures are generating an error following upgrading a ColdFusion web application from Oracle8i to 10g release 2.
    "Error","jrpp-102","05/28/08","13:35:09","insite","Error Executing Database Query.[Macromedia][Oracle JDBC Driver][Oracle]ORA-06550: line 1, column 7: PLS-00306: wrong number or types of arguments in call to 'S_DEFAULT_LETTER_SETTING' ORA-06550: line 1, column 7: PL/SQL: Statement ignored The specific sequence of files included or processed is: new_letter.cfm, line: 63 "
    I've been looking at this for about 3 days with a colleague in the office. We can resolve this be recreating the stored procedure with a new name (e.g. adding the suffix "_v2"). Its not really practical for us to do this throughout the system. Anyone know what the root cause might be?
    I'm currently connecting to Oracle10g using SQLTools and Oracle8 client. I've yet to upgrade to Oracle10 client.
    I've tried selecting all the stored procedures and re-compiling them but it appeared to make no difference.

  • Exec stored procedure from another stored procedure - not working

    Hey, we've got a bunch of .sql files that we run, and some of them are stored procedures. Our programs call the stored procedures from within the .sql files and that works, but we've tried calling a stored procedure from another stored procedure and it won't compile. The syntax looks the same, and we can run that second stored procedure from the SQL*Plus command prompt just fine, so we know it's in there. It doesn't matter whether we type exec or execute in the first stored procedure--it still gives us a compilation error. Here's the relevant bit of the code:
            delete CMHISTORYINDEX;
            commit;
            exec SP_DAILY_TOTAL;
    END SP_DAILY_CLOSING;
    /Here's where we go into SQL*Plus and try to compile it:
    Connected to:
    Oracle Database 10g Enterprise Edition Release 10.1.0.3.0 - Production
    With the Partitioning, Real Application Clusters, OLAP and Data Mining options
    SQL> @sp_daily_closing.sql
    Warning: Procedure created with compilation errors.
    SQL> show errors
    Errors for PROCEDURE SP_DAILY_CLOSING:
    LINE/COL ERROR
    34/7     PLS-00103: Encountered the symbol "SP_DAILY_TOTAL" when expecting
             one of the following:
             := . ( @ % ;
             The symbol ":=" was substituted for "SP_DAILY_TOTAL" to continue.
    SQL>We've also tried changing SP_DAILY_CLOSING to lowercase, but it doesn't seem to help. As I mentioned before, we can type that same sort of thing in .sql files that are not stored procedures and the exec is compiled fine and runs correctly. What are we doing wrong?

    In the stored procedure remove "exec" :
            delete CMHISTORYINDEX;
            commit;
            SP_DAILY_TOTAL;
    END SP_DAILY_CLOSING;

  • Insert Stored Procedure not working

    I'm trying to insert some data, using a stored procedure. I cannot see what seems to be the problem in my procedure.
    PROCEDURE SP_INSPROCDETAILS(I_INITD IN INITIATIVEMASTER.INITIATIVEID%TYPE,
    -- I_INITD = 5414
    I_CNTID IN COUNTRYMASTER.COUNTRYID%TYPE,
    -- I_CNTID = 5
    I_USERID IN USERMASTER.USERID%TYPE,
    -- I_USERID = 5405
    I_DETAIL IN VARCHAR2,
    -- STRING THATWILL COME FROM UI
    -- I_DETAIL = #10414~1234567890~1234567890~test-PONumber~1~1~1~5128~Executor for PO1
    I_DELIMITER_FIRST IN VARCHAR2, -- '~'
    I_DELIMITER_SECOND IN VARCHAR2, - '#'
    O_ERRCODE OUT VARCHAR2,
    O_ERRMSG OUT VARCHAR2)
    IS
    ARR_STRING VAR_TAB;
    ARR_STRING2 VAR_TAB;
    V_ID NUMBER;
    VAR_ESTIMATEDDATE VARCHAR2(500);
    VAR_DODATE VARCHAR2(500);
    V_INITID INITIATIVEDETAILS.INITDETAILSID%TYPE;
    V_INTRANET USERMASTER.INTRANETID%TYPE;
    V_CNT NUMBER;
    V_CREATED PROCUREMENTDETAILS.CREATEDBY%TYPE;
    V_DATE PROCUREMENTDETAILS.CREATEDDATE%TYPE;
    VAR_FLOAT PROCUREMENTDETAILS.POPRICE%TYPE;
    VAR_REPLACE VARCHAR2(500);
    BEGIN
    ---SELECT INITDETAILSID FROM INITIATIVE AND COUNTRY
    SELECT INTD.INITDETAILSID
    INTO V_INITID
    FROM INITIATIVEDETAILS INTD
    WHERE INTD.INITIATIVEID = I_INITD AND ( INTD.COUNTRYID = I_CNTID
    OR INTD.COUNTRYID IS NULL);
    --SELECT INTRANETID FROM USERID
    SELECT U.INTRANETID
    INTO V_INTRANET
    FROM USERMASTER U
    WHERE U.USERID = I_USERID;
    ---CHECKING IF DATA IS PRESENT IN PROCUREMENT TABLE IF PRESNT THEN DELETE AND REINSERT IT
    SELECT COUNT(*)
    INTO V_CNT
    FROM PROCUREMENTDETAILS PC
    WHERE PC.INITDETAILSID = V_INITID;
    IF V_CNT > 0 THEN
    --TAKING THE CREATEDBY AND CREATEDDATE FOR THAT INITIATIVEDETAILSID
    SELECT DISTINCT PC.CREATEDBY, PC.CREATEDDATE
    INTO V_CREATED, V_DATE
    FROM PROCUREMENTDETAILS PC
    WHERE PC.INITDETAILSID = V_INITID;
    DELETE FROM PROCUREMENTDETAILS PC WHERE PC.INITDETAILSID = V_INITID;
    ARR_STRING := PKG_COMMON.SPLIT_LIST_STRING(I_DELIMITER => I_DELIMITER_SECOND,
    I_STRING => I_DETAIL);
    FOR I IN 1 .. ARR_STRING.COUNT LOOP
    IF ARR_STRING(I) IS NOT NULL THEN
    ARR_STRING2 := PKG_COMMON.SPLIT_LIST_STRING(I_DELIMITER => I_DELIMITER_FIRST,
    I_STRING => ARR_STRING(I));
    VAR_DODATE :=ARR_STRING2(3);
    VAR_ESTIMATEDDATE :=ARR_STRING2(8);
    VAR_FLOAT := REPLACE (ARR_STRING2(5),',',NULL) ;
    VAR_REPLACE := REPLACE (ARR_STRING2(6),',',NULL);
    SELECT SEQ_PROCUREMENTDETAILS.NEXTVAL INTO V_ID FROM DUAL;
    INSERT INTO PROCUREMENTDETAILS
    (PROCUREMENTID,
    INITDETAILSID,
    POSMID,
    PONUMBER,
    GL,
    IO,
    POQTY,
    POPRICE,
    POVALUE,
    SUPPLIERID,
    EXECUTOR,
    CREATEDBY,
    CREATEDDATE,
    MODIFIEDBY,
    MODIFIEDDATE)
    VALUES
    (V_ID,
    V_INITID,
    ARR_STRING2(1),
    ARR_STRING2(2),
    ARR_STRING2(3),
    ARR_STRING2(4),
    ARR_STRING2(5),
    ARR_STRING2(6),
    ARR_STRING2(7),
    ARR_STRING2(8),
    ARR_STRING2(9),
    V_CREATED,
    V_DATE,
    V_INTRANET,
    SYSDATE);
    VAR_FLOAT :=NULL;
    END IF ;
    END LOOP;
    ELSE
    ARR_STRING := PKG_COMMON.SPLIT_LIST_STRING(I_DELIMITER => I_DELIMITER_SECOND,
    I_STRING => I_DETAIL);
    FOR I IN 1 .. ARR_STRING.COUNT LOOP
    IF ARR_STRING(I) IS NOT NULL THEN
    ARR_STRING2 := PKG_COMMON.SPLIT_LIST_STRING(I_DELIMITER => I_DELIMITER_FIRST,
    I_STRING => ARR_STRING(I));
    VAR_DODATE :=ARR_STRING2(3);
    VAR_ESTIMATEDDATE :=ARR_STRING2(8);
    VAR_FLOAT := REPLACE (ARR_STRING2(5),',',NULL) ;
    VAR_REPLACE := REPLACE (ARR_STRING2(6),',',NULL);
    SELECT SEQ_PROCUREMENTDETAILS.NEXTVAL INTO V_ID FROM DUAL;
    INSERT INTO PROCUREMENTDETAILS
    (PROCUREMENTID,
    INITDETAILSID,
    POSMID,
    PONUMBER,
    GL,
    IO,
    POQTY,
    POPRICE,
    POVALUE,
    SUPPLIERID,
    EXECUTOR,
    CREATEDBY,
    CREATEDDATE,
    MODIFIEDBY,
    MODIFIEDDATE)
    VALUES
    (V_ID,
    V_INITID,
    ARR_STRING2(1),
    ARR_STRING2(2),
    ARR_STRING2(3),
    ARR_STRING2(4),
    ARR_STRING2(5),
    ARR_STRING2(6),
    ARR_STRING2(7),
    ARR_STRING2(8),
    ARR_STRING2(9),
    V_CREATED,
    V_DATE,
    V_INTRANET,
    SYSDATE);
    END IF ;
    END LOOP;
    END IF ;
    EXCEPTION
    WHEN NO_DATA_FOUND THEN
    O_ERRCODE := 'E001';
    O_ERRMSG := 'ERROR ' || TO_CHAR(SQLCODE) || ': ' || SQLERRM;
    WHEN OTHERS THEN
    O_ERRCODE := 'E005';
    O_ERRMSG := 'ERROR ' || TO_CHAR(SQLCODE) || ': ' || SQLERRM;
    END SP_INSPROCDETAILS;

    Hi,
    I cannot see what seems to be the problem in my procedure.Hmm.. i cannot see the procedure at all.
    Next time please format your code.
    And you should have mentioned the problem as My procedure does not compile
    When you say problem there are N possibilities (n tends to infinity)
    Anyway, in your case
    I_DELIMITER_SECOND IN VARCHAR2, - '#'What is this doing in teh parameters?
    Either make it as default or comment it completely. like this
    I__DELIMITER_SECOND IN VARCHAR2, -- '#'Hope that helps.
    Regards,
    Bhushan

  • CASE in Stored Procedure Not Working

    Why is this not working?
    SET NOCOUNT ON;
    SET TRANSACTION ISOLATION LEVEL READ UNCOMMITTED
    SELECT
    dbo.Components.*,
    CASE ISNULL(dbo.Components.MarkupPrice,0)
    WHEN 0 THEN dbo.Components.Quantity * dbo.Components.UnitCost.
    ELSE dbo.Components.Quantity * dbo.Components.MarkupPrice END AS ExtCost,
    FROM ...
    Error Message
    Msg 156, Level 15, State 1, Procedure procGetReportSpecBook, Line 64
    Incorrect syntax near the keyword 'ELSE'.
    Thanks!

    Please try below instead of THE case when in Your code:
    Case when ISNULL(dbo.components.markupprice,0)= 0
    THEN dbo.components.quantity*dbo.components.unitcost
    Else dbo.components.quantity*dbo.components.markupprice
    End as ExtCost
    OR
    Case when COALESCE(dbo.components.markupprice,0)= 0
    THEN dbo.components.quantity*dbo.components.unitcost
    Else dbo.components.quantity*dbo.components.markupprice
    End as ExtCost
    OR
    Case when dbo.components.markupprice IS NULL
    THEN dbo.components.quantity*dbo.components.unitcost
    Else dbo.components.quantity*dbo.components.markupprice
    End as ExtCost
    Regards, Reshma
    Please Vote as Helpful if an answer is helpful and/or Please mark Proposed as Answer or Mark As Answer when question is answered

  • Stored procedure not working (warning only my second written)

    I am now trying to get my 2nd SP to work. Any help with the problem I'm having would be greatly appreciated. This is not a complicated SP but I am creating dynamic sql. when running in TOAD as a straight SQL I was getting problems with the Execute immediate so I compiled as a SP to see if it resovled. Receiving the following error message:
    ORA-00936: missing expression
    ORA-06512: at "INSPQA.ODS_MODIFER_EXTRACT", line 32
    ORA-06512: at line 2
    Process exited.
    and here is the code
    PROCEDURE ods_modifer_extract AS
         TABLENAME VARCHAR2(100);
         TABLEXREF VARCHAR2(100);
         PERCENT VARCHAR2(3);
         VALUE VARCHAR2(100);
         DESCRIPTION VARCHAR2(100);
         sql_stmt VARCHAR2(1000);
         final_sql_stmt VARCHAR2(1000);
         CURSOR t1 IS
         SELECT XREFTABLE, TABLENAME, PERCENTAGE FROM ODS_MODIFIER_CONTROL;
    BEGIN
    FOR table_rec IN t1 LOOP
    TABLENAME := table_rec.TABLENAME;
         TABLEXREF := table_rec.XREFTABLE;
         VALUE := TABLENAME||'.'||TABLENAME||'ID';
         DESCRIPTION := TABLENAME||'.DESCRIPTION';
         PERCENT := table_rec.PERCENTAGE;
         sql_stmt := 'SELECT '||VALUE||' AS VALUE, '||DESCRIPTION||' AS DESCRIPTION, ';
         sql_stmt := sql_stmt||''''||TABLENAME||''' AS SOURCETABLE, ';
         sql_stmt := sql_stmt||''''||TABLENAME||'ID'' AS SOURCECOLUMN, ';
         IF PERCENT = '100' THEN
              sql_stmt :=sql_stmt||PERCENT||' AS PERCENTAGE ,';
              ELSE
              sql_stmt := sql_stmt||TABLEXREF||'.PERCENTAGE AS PERCENTAGE ,';
              END IF;
         sql_stmt := sql_stmt||' ODS_INSPECTION_EXTRACT.INSPECTIONEVENTID, ODS_INSPECTION_EXTRACT.OCCURRENCEDATE ';
         sql_stmt := sql_stmt||'FROM ODS_INSPECTION_EXTRACT, '||TABLEXREF||', '||TABLENAME;
         sql_stmt := sql_stmt||' WHERE ODS_INSPECTION_EXTRACT.ROOFFEATURESID = '||TABLEXREF||'.ROOFFEATURESID AND ';
         sql_stmt := sql_stmt||TABLEXREF||'.'||TABLENAME||'ID = '||TABLENAME||'.'||TABLENAME||'ID';
         final_sql_stmt := 'INSERT INTO ODS_MODIFIER_EXTRACT VALUES ('||sql_stmt||')';
         EXECUTE IMMEDIATE final_sql_stmt;
    END LOOP;
    END;

    final_sql_stmt := 'INSERT INTO ODS_MODIFIER_EXTRACT
    CT VALUES ('||sql_stmt||')';
         EXECUTE IMMEDIATE final_sql_stmt;
    END LOOP;
    END;Take the VALUES word out of the final_sql_stmt. Should work.

  • Java stored procedure not working

    I have done the following:
    loadjava -user lodonnel/lodonnel@albacore:1521:DEVAN -thin -force -resolver "((* lodonnell) (* public) (* -))" -v c:/usr/lod/java/dev/dbDir/displayStringsDB.jar
    Then:
    CREATE OR REPLACE FUNCTION LODONNEL.getSellingTitleDefinition( sellingID
    NUMBER, week VARCHAR2, netID NUMBER, moduleID NUMBER)
    RETURN VARCHAR2 AS LANGUAGE JAVA NAME
    'com.msa.gabriel.share.displaystrings.util.DatabaseAccess.getSellingTitleDefinition( int, java.lang.String, int, int ) return java.lang.String';
    Variable myString VARCHAR2;
    Call getSellingTitleDefinition( 3247, '02-11-2002', 2, 2) INTO :myString;
    I receive the following error:
    Message 1: ORA-29532: Java call terminated by uncaught Java exception: java.lang.VerifyError: Error detected by bytecode verifier when class was created
    Executing Command:
    Call getSellingTitleDefinition( 3247, '02-11-2002', 2, 2) INTO :myString
    Can someone help me determine where to look for this problem?
    The java classes being loaded do contain references to classes that I have not included in the jar, but from what I read the loadjava command I made should allow this. The code that would run in the procedure will not call any of the referenced classes that are not loaded here.

    I cut out all the functionality, and these are the two classes I am trying to load and run:
    package com.bob.gabriel.share.displaystrings.util;
    import java.sql.SQLException;
    import java.util.HashMap;
    import com.bob.media.displaystrings.util.DisplayStrings;
    public class DatabaseAccess {
    public static String getSellingTitleDefinition( int sellingID,
                                  String week, int
                                  netID, int
                                  moduleID ) throws
         SQLException {
         HashMap databaseArgs = new HashMap();
         databaseArgs.put( "ID", new Integer( sellingID) );
         databaseArgs.put( "WEEK", week );
         HashMap formatterArgs = new HashMap();
         formatterArgs.put( "NETWORKID", new Integer( netID ));
         formatterArgs.put( "MODULEID", new Integer( moduleID ));
         return DisplayStrings.getDisplayString();
    package com.bob.media.displaystrings.util;
    import java.util.Collection;
    import java.util.HashMap;
    import java.sql.SQLException;
    public class DisplayStrings {
    public static String getDisplayString() throws SQLException {
         return "woohoo!";
    * This static method is used as the common interface to return the specified formatted string.
    * @return formatted String to display on a UI
    * @param String - some kind of indicator of class that knows how to retrieve data?
    * @param HashMap - map of args needed to get the requested data.
    * @return formatted String to display on a UI
    * @param HashMap - map of args needed to get the format
    * information of the requested data.
    public static String getDisplayString( String type, HashMap databaseArgs, HashMap formatterArgs ) throws SQLException {
         try
    //      System.out.println( "in getDisplayString" );
    //      DisplayStringsDAO dao = getDAO( type );
    //      System.out.println( "got dao: " + dao );
    //      List data = dao.getUnparsedData( databaseArgs );
    //      System.out.println( "got List of data:" + data );
    //      Formatter formatter = getFormatter( type );
    //      System.out.println( "got formatter" );
    //      formatter.initialize( formatterArgs );
    //      System.out.println( "initialized formatter" );
    //      return formatter.format( data );
         return "got here am ok";
         catch ( Exception e )
         throw new SQLException ( "could not format requested string. " +
                   e.getMessage() );
    I build a jar file for them called displayStrings.jar
    I use the following load command:
    loadjava -user lodonnel/lodonnel@albacore:1521:DEVAN -thin -force -resolver "((* lodonnell) (* public) (* -))" -grant public -v c:/usr/lod/java/dev/dbDir/displayStringsDB.jar
    and the following create function command:
    CREATE OR REPLACE FUNCTION LODONNEL.getSellingTitleDefinition( sellingID
    NUMBER, week VARCHAR2, netID NUMBER, moduleID NUMBER) RETURN VARCHAR2 AS LANGUAGE JAVA NAME 'com.bob.gabriel.share.displaystrings.util.DatabaseAccess.getSellingTitleDefinition( int, java.lang.String, int, int ) return java.lang.String';
    When I try this in SQLPlus:
    call getSellingTitleDefinition( 3247, '02-11-2002', 2, 2) into :theString;
    I get this:
    call getSellingTitleDefinition( 3247, '02-11-2002', 2, 2) into :theString
    ERROR at line 1:
    ORA-29532: Java call terminated by uncaught Java exception:
    java.lang.VerifyError: Error detected by bytecode verifier when class was
    created
    Classes were compiled and jar build using jdk1.3.1 and using ant.

  • Stored Procedure Not working

    hi !
    I hav a simple SP,
    If @Transaction_type in ('a','u') and @object_type = 77
    Begin
    select @Error = 1, @error_message = 'Budget ***'
    end
    But whenever i do changes(updation) the error is not appearing.
    Does this SP correct?

    Hello,
    The Object_Type and Transaction_Type are both Varchar and should be enclosed in single quote, which you have already done..
    Using the error number and error message in a single SELECT statement is needed for the error to display
    Take a look at this
    IF @object_type IN ('77', '78', '91') AND @Transaction_type IN ('A','U')
    BEGIN
    Select @error = 1, @error_message = 'Budget'
    END

  • Help required in JDBC Stored Procedure

    Hi All,
    i have a requirement where i need to update the Database table using Stored Procedure from PI.
    I have the receiver JDBC channel and have done the mapping.
    The stored procedure has inputs of type NUMBER, VARCHAR2,DATE. in the message mapping i tried passing the same values in the type field, it throwed an error like UnSuppoted Format. Then i changed the type to integer for NUMBER and String for Varchar2 then also it is throwing an error like
    +java.sql.SQLException: ORA-06550: line 1, column 7: PLS-00306: wrong number or types of arguments in call to 'PUT_XXXXX' ORA-06550: line 1, column 7: PL/SQL: Statement ignored +
    Can any please help with what type i need to send from PI to Stored procedure?
    Also, there two out type fileds defined in the Stored procedure..which i didnt create in my PI structure. Do we need to create that fileds in our structure?
    Please help me.
    Thanks,
    Hemanth.

    Hi Hemanth Kumar,
    I understand that you want to execute a stored procedure using JDBC receiver channel and looking at error message, you think there is an issue with type defined in Data Type.
    Now you need to debug step by step.
    Step 1:- In Interface Mapping Determination, do not refer to Operational Mapping (delete only OM from there, not the receiver Message Interface). By doing so, you are not call the OM (which refer to Graphical Mapping (MM refer to Data Type (which you think is wrong)). Note: As there is no OM, we need to send the exact payload required by receiver JDBC from Runtime Work Bench, for testing purpose.
    Step 2:- In receiver JDBC channel, change u2018Message Protocolu2019 from u201CXML SQL Formatu201D to u201CNative SQL Stringu201D. By doing this, you can do testing very fast; receiver JDBC channel will take only String. And we need to send the exact String which is needed by JDBC Stored Procedure. [Link1|http://help.sap.com/saphelp_nwpi711/helpdata/en/44/7c24a75cf83672e10000000a114a6b/frameset.htm]
    Step 3:- Now from RWB test the scenario. Payload should like this, please take help of Data base team to find the String which needs to send.
    EXECUTE PUT_uspAddress @City = 'New York'
    OR If you have access to the database, logon to it directly and try running the Stored Procedure.
    Step 4:- Now, you should have the string which executes the Stored Procedure correctly to go ahead. Your job is 60% done.
    Step 5:- Now, in receiver JDBC channel, change u2018Message Protocolu2019 from u201CNative SQL Stringu201D to u201CXML SQL Formatu201D. So that receiver JDBC channel will take only XML.
    Step 6:- So now, you have to construct equalant XML structure to String you got in Step 4.
    It may look like this [Link2|http://help.sap.com/saphelp_nwpi711/helpdata/en/44/7b72b2fde93673e10000000a114a6b/frameset.htm]
    <StatementName>
        <storedProcedureName action=u201D EXECUTEu201D>
           <table> PUT_uspAddress </table>
            < City [isInput=u201Dtrueu201D] type=SQLDatatype>val1</ City>
        </storedProcedureName >
      </StatementName>
    Step 7:- Now use the XML you have constructed in Step 6, to test the scenario from RWB. Try to correct if you come up with some errors. Your job is 90% done.
    Step 8:- Now, in Interface Mapping Determination refer back the Operational Mapping again, which contain the Message Mapping. Make sure that Message Mapping give the XML output same as XML you have developed in Step 6.
    FYI. 1. Whatever youu2019re sending, it will be converted to JDBC statement and will be executed on the database. logSQLStatement(JDBC Additional parameters sapnote_0000801367) will be show in logging not in payload.
    2. Most of the cases, type defined in Data Type has no control of what we can send in that element (except Date type). Let say, you can define an element u2018Ageu2019 as u2018numberu2019, but you can always send u201Casdfasdfu201D as input in Message Mapping.
    Regards,
    Raghu_Vamsee

  • JDBC/select/async statement to JDBC/stored procedure/sync call

    Hi
    We have JDBC/select/async statement to JDBC/stored procedure/sync call i.e sender and receiver are JDBC.
    PI has to pick all the the records of single internal order number at a time from sender system and upload to receiver JDBc,
    gets the response and routes to sender/insert statement.
    This should run only once per day.
    We will have multiple Internal orders daily, each order consisting of 10 to 20 records but only one IO related records has
    to upload to Receiver/JDBC
    What are the options available ?
    We have thought of following options
    1. SQL query is already to pick, but we have to pick records at one time daily. example: morning,evening or midnight.
       At that time it can pick multiple times but it should not pick through out day
    2. Is there any option in BPM so that we can group IO's at a time and upload ? If so what are the steps need to use
       Any additonal receive step need to be used to pick the records from the table.
    Thanks

    hi
    as i can understando you, you will receive mani IO and you must execute one IO in the receiver SP? if so, you can solve this usssing a ccBPM where you will have to create a mapping(0.N) where the source and the target structure will be the same, the diferrence will be in the occurrance of the target structure which will have to be 0.N (Tab signature in Message Mapping). then back to the ccBPM define a block with the property ForEach. this will  loop any times accord with the number of IO that you receive from the sender. as a result you will execute one SP for each IO.
    so, you ccBPM will be
    RS>TS>BLOCK(Multiline container and single container of source structure)>TS->SS
    RS:Receive Step
    TS:Trans. Step
    SS:Send Step
    Also the container will be:
    source--> type Abs
    source_multiline --> type Abs
    target -->type Abs
    Thanks
    Rodrigo P.
    Edited by: Rodrigo Alejandro Pertierra on Jun 24, 2010 4:54 PM

  • Pass a null value to a JDBC stored procedure call?

    pass a null value to a JDBC stored procedure call? Is this even possible? My DBA gave me a procedure to call that sometimes requires a null value. I don't think this is even possible.

    do you mind tell me how to resolve your problem?i using the setnull method,but it doesn't work.

  • Stored procedure not found when creating a new recordset binding in Dreamweaver CS6 with ColdFusion Server 11

    Stored procedure not found when creating a new recordset binding in Dreamweaver CS6 with ColdFusion Server 11.  I can see the tables and views in the database tab, but no stored procedures.  If I connect to a data source created in ColdFusion Server 6 I am able to see the stored procedures.

    Ben thanks for the reply!
    Yes that is the process I am following:
    In Dreamweaver, open the page that will run the stored procedure.
    In the Bindings panel (Window > Bindings), click the Plus button, and then select Stored Procedure.
    In the Data Source pop‑up menu, select a connection to the database containing the stored procedure
    Enter the ColdFusion Data Source user name and password.
    At this point in the procedure drop down I would get a message that said No Stored Procedure Found.
    Right now it appears to be working, I had to create a new site that pointed to the older CF 6 server's data source and create a page following the process above, then when I went back to the CF 11 site the stored procedures were now populated.  I need to make sure it is pulling from the correct server but right now it appears to be working.
    Thanks
    Dwight

  • JDBC Stored procedure help required

    Hi All,
    Please let me know simple blogs how to use JDBC Stored procedure or any other method  in receiver jdbc adapter to insert or select in 2 tables
    Please  let me know simple blogs how to use JDBC Stored procedure or any other method  in sender jdbc adapter to select from 2 tables
    Thanks

    Hi,
    I am also looking for JDBC Stored procedure or any other method in sender jdbc adapter to select data from 2 tables
    Thanks

Maybe you are looking for

  • I am new to using flash and need to know how to add check boxes and forms

    I have been going mad trying to figure this out as well as searching until exhaustion. So I am hoping someone can point me in the right direction. Okay here is what I am trying to accomplish. I have laid out my design as a psd and brought it into ado

  • Item Text value of scheduling agreement number (ME32L).

    Hi All, How I can get all changed values of item text for a scheduling agreement number in ME32L transaction. Actually when I am using function module ‘READ_TEXT’ it will give only last changed value of item text. But I want all changed values of  it

  • Trying to install and get black restart screen

    I've been trying to install an extra version of Tiger on a back up drive I have. I'm finding it very hard to do however and I was wondering if it might have anything to do with having a TT Pro edrive also on the back up drive? I've tried installing T

  • Wwv_usr_menus$ Production version

    How do you tell which version in the wwv_usr_menus$ table is the production version? Version column contains the version number, not whether it is production! TIA

  • Tablespace system

    how do i create a new tablespace? and how do i designate users to use that tablespace instead of tablespace system?