Call PL/SQL Procedure in/out parameter

Hi !!
I need some help please.
This example illustrates an IN parameter:
OADBTransaction txn = getDBTransaction();
CallableStatement cs =
txn.createCallableStatement("begin dbms_application_info.set_module(:1, :2);
end;");
try{
cs.setString(1, module);
cs.setString(2, action);
cs.execute();
cs.close();
catch (SQLException sqle){
try { cs.close } catch (Exception(e) {}
throw OAException.wrapperException(sqle);
This example illustrates an OUT parameter:
DBTransaction txn = getDBTransaction();
String sql = "BEGIN :1 := FND_MESSAGE.GET; END;";
CallableStatement cs = txn.createCallableStatement(sql, 1);
String messageBuffer = "";
try {
((OracleCallableStatement)cs.registerOutParameter(1, Types.VARCHAR, 0, 2000);
cs.execute();
messageBuffer = cs.getString(1);
cs.close();
catch (SQLException sqle) {
try { cs.close } catch (Exception(e) {}
throw OAException.wrapperException(sqle);
but, How to call a procedure with an IN/OUT parameter ?
Thanks in advance....
Jairo

Thank u for the reply.
I thought that, thanks for confirm it; I also found on metalink some examples:
https://metalink.oracle.com/metalink/plsql/f?p=130:14:709875901216485933::::p14_database_id,p14_docid,p14_show_header,p14_show_help,p14_black_frame,p14_font:NOT,118821.1,1,1,1,helvetica
Doc ID: Note:118821.1
// Call a procedure with an IN/OUT prameter
CallableStatement procinout = conn.prepareCall ("begin procinout (?); end;");
procinout.registerOutParameter (1, Types.VARCHAR);
procinout.setString (1, "testing");
procinout.execute ();
dumpTestTable (conn);
System.out.println
("Out argument is: " + procinout.getString (1));
I've been making some test following that example, I created a procedure that accepts an in-out parameter:
OADBTransactionImpl dbTx = (OADBTransactionImpl)getTransaction();
String sql = "xgpv_utl_cot.test(:1); end;";
cs = dbTx.createCallableStatement(sql, OADBTransactionImpl.DEFAULT);
try{ // call statement
cs.setString(1, "dummyString");
cs.registerOutParameter(1, OracleTypes.VARCHAR);
cs.execute();
     String status = ocs.getString(11);
if ( !("1".equals(status)) ){
     ... do someting
but when I call it I get this error:
## Detail 0 ##
java.sql.SQLException: ORA-00900: invalid SQL statement
     at oracle.jdbc.dbaccess.DBError.throwSqlException(DBError.java:134)
     at oracle.jdbc.ttc7.TTIoer.processError(TTIoer.java:289)
     at oracle.jdbc.ttc7.Oall7.receive(Oall7.java:583)
     at oracle.jdbc.ttc7.TTC7Protocol.doOall7(TTC7Protocol.java:1986)
     at oracle.jdbc.ttc7.TTC7Protocol.parseExecuteFetch(TTC7Protocol.java:1144)
     at oracle.jdbc.driver.OracleStatement.executeNonQuery(OracleStatement.java:2176)
     at oracle.jdbc.driver.OracleStatement.doExecuteOther(OracleStatement.java:2050)
     at oracle.jdbc.driver.OracleStatement.doExecuteWithTimeout(OracleStatement.java:2959)
     at oracle.jdbc.driver.OraclePreparedStatement.executeUpdate(OraclePreparedStatement.java:650)
     at oracle.jdbc.driver.OraclePreparedStatement.execute(OraclePreparedStatement.java:726)
     at gpv.oracle.apps.ak.cotizador.server.CotizadorAMImpl.insertExpenseCommission(CotizadorAMImpl.java:1020)
     at gpv.oracle.apps.ak.cotizador.server.CotizadorAMImpl.insertQuotation(CotizadorAMImpl.java:669)
     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 oracle.apps.fnd.framework.server.OAUtility.invokeMethod(OAUtility.java:190)
     at oracle.apps.fnd.framework.server.OAApplicationModuleImpl.invokeMethod(OAApplicationModuleImpl.java:686)
     at gpv.oracle.apps.ak.cotizador.webui.TreeCenterFrmCO.processRequest(TreeCenterFrmCO.java:305)
     at oracle.apps.fnd.framework.webui.OAWebBeanHelper.processRequest(OAWebBeanHelper.java:581)
     at oracle.apps.fnd.framework.webui.OAWebBeanContainerHelper.processRequest(OAWebBeanContainerHelper.java:247)
     at oracle.apps.fnd.framework.webui.OAPageLayoutHelper.processRequest(OAPageLayoutHelper.java:1134)
     at oracle.apps.fnd.framework.webui.beans.layout.OAPageLayoutBean.processRequest(OAPageLayoutBean.java:1569)
     at oracle.apps.fnd.framework.webui.OAWebBeanHelper.processRequestChildren(OAWebBeanHelper.java:937)
     at oracle.apps.fnd.framework.webui.OAWebBeanHelper.processRequestChildren(OAWebBeanHelper.java:904)
     at oracle.apps.fnd.framework.webui.OAWebBeanHelper.processRequest(OAWebBeanHelper.java:640)
     at oracle.apps.fnd.framework.webui.OAWebBeanContainerHelper.processRequest(OAWebBeanContainerHelper.java:247)
     at oracle.apps.fnd.framework.webui.beans.form.OAFormBean.processRequest(OAFormBean.java:385)
     at oracle.apps.fnd.framework.webui.OAWebBeanHelper.processRequestChildren(OAWebBeanHelper.java:937)
     at oracle.apps.fnd.framework.webui.OAWebBeanHelper.processRequestChildren(OAWebBeanHelper.java:904)
     at oracle.apps.fnd.framework.webui.OAWebBeanHelper.processRequest(OAWebBeanHelper.java:640)
     at oracle.apps.fnd.framework.webui.OAWebBeanContainerHelper.processRequest(OAWebBeanContainerHelper.java:247)
     at oracle.apps.fnd.framework.webui.beans.OABodyBean.processRequest(OABodyBean.java:353)
     at oracle.apps.fnd.framework.webui.OAPageBean.processRequest(OAPageBean.java:2297)
     at oracle.apps.fnd.framework.webui.OAPageBean.preparePage(OAPageBean.java:1710)
     at oracle.apps.fnd.framework.webui.OAPageBean.preparePage(OAPageBean.java:501)
     at oracle.apps.fnd.framework.webui.OAPageBean.preparePage(OAPageBean.java:422)
     at OA.jspService(OA.jsp:40)
     at com.orionserver.http.OrionHttpJspPage.service(OrionHttpJspPage.java:56)
     at oracle.jsp.runtimev2.JspPageTable.service(JspPageTable.java:317)
     at oracle.jsp.runtimev2.JspServlet.internalService(JspServlet.java:465)
     at oracle.jsp.runtimev2.JspServlet.service(JspServlet.java:379)
     at javax.servlet.http.HttpServlet.service(HttpServlet.java:853)
     at com.evermind.server.http.ServletRequestDispatcher.invoke(ServletRequestDispatcher.java:727)
     at com.evermind.server.http.ServletRequestDispatcher.forwardInternal(ServletRequestDispatcher.java:306)
     at com.evermind.server.http.ServletRequestDispatcher.forward(ServletRequestDispatcher.java:209)
     at com.evermind.server.http.GetParametersRequestDispatcher.forward(GetParametersRequestDispatcher.java:189)
     at com.evermind.server.http.EvermindPageContext.forward(EvermindPageContext.java:199)
     at OA.jspService(OA.jsp:45)
     at com.orionserver.http.OrionHttpJspPage.service(OrionHttpJspPage.java:56)
     at oracle.jsp.runtimev2.JspPageTable.service(JspPageTable.java:317)
     at oracle.jsp.runtimev2.JspServlet.internalService(JspServlet.java:465)
     at oracle.jsp.runtimev2.JspServlet.service(JspServlet.java:379)
     at javax.servlet.http.HttpServlet.service(HttpServlet.java:853)
     at com.evermind.server.http.ServletRequestDispatcher.invoke(ServletRequestDispatcher.java:727)
     at com.evermind.server.http.ServletRequestDispatcher.forwardInternal(ServletRequestDispatcher.java:306)
     at com.evermind.server.http.HttpRequestHandler.processRequest(HttpRequestHandler.java:767)
     at com.evermind.server.http.HttpRequestHandler.run(HttpRequestHandler.java:259)
     at com.evermind.server.http.HttpRequestHandler.run(HttpRequestHandler.java:106)
     at EDU.oswego.cs.dl.util.concurrent.PooledExecutor$Worker.run(PooledExecutor.java:803)
     at java.lang.Thread.run(Thread.java:534)
Also in my project I've executed without problems others procedures using in-parameters and out-parameters, but this one causes me some problems:
OADBTransactionImpl dbTx = (OADBTransactionImpl)getTransaction();
String sql = "xgpv_utl_cot.get_expense_commission(:1, :2, :3, :4, :5, :6, :7, :8, :9, :10, :11); end;";
// create statement defining prefetch DEFAULT num rows
cs = dbTx.createCallableStatement(sql, OADBTransactionImpl.DEFAULT);
try{ // call statement
// register the type of the out param - an Oracle specific type
cs.setInt(1, cotizacionId );
cs.setString(2, yes);
cs.setInt(3, esqFinId);
cs.setString(4, estadoCivil);
cs.setDouble(5, valorBase);
cs.setDouble(6, anticipo );
cs.setDouble(7, capacidadCompraNeta);
cs.setDouble(10, totalCredito);          //IN-OUT param
cs.registerOutParameter(8, OracleTypes.DOUBLE);
cs.registerOutParameter(9, OracleTypes.DOUBLE);
cs.registerOutParameter(10, OracleTypes.DOUBLE); //IN-OUT param
cs.registerOutParameter(11, OracleTypes.LONGVARCHAR);
cs.execute();
ocs = (OracleCallableStatement)cs;
String status = ocs.getString(11);
if ( !("1".equals(status)) ){
... do someting
Error:
## Detail 0 ##
java.lang.NullPointerException
     at oracle.jdbc.ttc7.TTCAdapter.newTTCType(TTCAdapter.java:300)
     at oracle.jdbc.ttc7.TTCAdapter.createNonPlsqlTTCColumnArray(TTCAdapter.java:270)
     at oracle.jdbc.ttc7.TTCAdapter.createNonPlsqlTTCDataSet(TTCAdapter.java:231)
     at oracle.jdbc.ttc7.TTC7Protocol.doOall7(TTC7Protocol.java:1940)
     at oracle.jdbc.ttc7.TTC7Protocol.parseExecuteFetch(TTC7Protocol.java:1144)
     at oracle.jdbc.driver.OracleStatement.executeNonQuery(OracleStatement.java:2176)
     at oracle.jdbc.driver.OracleStatement.doExecuteOther(OracleStatement.java:2050)
     at oracle.jdbc.driver.OracleStatement.doExecuteWithTimeout(OracleStatement.java:2959)
     at oracle.jdbc.driver.OraclePreparedStatement.executeUpdate(OraclePreparedStatement.java:650)
     at oracle.jdbc.driver.OraclePreparedStatement.execute(OraclePreparedStatement.java:726)
     at gpv.oracle.apps.ak.cotizador.server.CotizadorAMImpl.insertExpenseCommission(CotizadorAMImpl.java:1010)
     at gpv.oracle.apps.ak.cotizador.server.CotizadorAMImpl.insertQuotation(CotizadorAMImpl.java:669)
     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 oracle.apps.fnd.framework.server.OAUtility.invokeMethod(OAUtility.java:190)
     at oracle.apps.fnd.framework.server.OAApplicationModuleImpl.invokeMethod(OAApplicationModuleImpl.java:686)
     at gpv.oracle.apps.ak.cotizador.webui.TreeCenterFrmCO.processRequest(TreeCenterFrmCO.java:305)
     at oracle.apps.fnd.framework.webui.OAWebBeanHelper.processRequest(OAWebBeanHelper.java:581)
     at oracle.apps.fnd.framework.webui.OAWebBeanContainerHelper.processRequest(OAWebBeanContainerHelper.java:247)
     at oracle.apps.fnd.framework.webui.OAPageLayoutHelper.processRequest(OAPageLayoutHelper.java:1134)
     at oracle.apps.fnd.framework.webui.beans.layout.OAPageLayoutBean.processRequest(OAPageLayoutBean.java:1569)
     at oracle.apps.fnd.framework.webui.OAWebBeanHelper.processRequestChildren(OAWebBeanHelper.java:937)
     at oracle.apps.fnd.framework.webui.OAWebBeanHelper.processRequestChildren(OAWebBeanHelper.java:904)
     at oracle.apps.fnd.framework.webui.OAWebBeanHelper.processRequest(OAWebBeanHelper.java:640)
     at oracle.apps.fnd.framework.webui.OAWebBeanContainerHelper.processRequest(OAWebBeanContainerHelper.java:247)
     at oracle.apps.fnd.framework.webui.beans.form.OAFormBean.processRequest(OAFormBean.java:385)
     at oracle.apps.fnd.framework.webui.OAWebBeanHelper.processRequestChildren(OAWebBeanHelper.java:937)
     at oracle.apps.fnd.framework.webui.OAWebBeanHelper.processRequestChildren(OAWebBeanHelper.java:904)
     at oracle.apps.fnd.framework.webui.OAWebBeanHelper.processRequest(OAWebBeanHelper.java:640)
     at oracle.apps.fnd.framework.webui.OAWebBeanContainerHelper.processRequest(OAWebBeanContainerHelper.java:247)
     at oracle.apps.fnd.framework.webui.beans.OABodyBean.processRequest(OABodyBean.java:353)
     at oracle.apps.fnd.framework.webui.OAPageBean.processRequest(OAPageBean.java:2297)
     at oracle.apps.fnd.framework.webui.OAPageBean.preparePage(OAPageBean.java:1710)
     at oracle.apps.fnd.framework.webui.OAPageBean.preparePage(OAPageBean.java:501)
     at oracle.apps.fnd.framework.webui.OAPageBean.preparePage(OAPageBean.java:422)
     at OA.jspService(OA.jsp:40)
     at com.orionserver.http.OrionHttpJspPage.service(OrionHttpJspPage.java:56)
     at oracle.jsp.runtimev2.JspPageTable.service(JspPageTable.java:317)
     at oracle.jsp.runtimev2.JspServlet.internalService(JspServlet.java:465)
     at oracle.jsp.runtimev2.JspServlet.service(JspServlet.java:379)
     at javax.servlet.http.HttpServlet.service(HttpServlet.java:853)
     at com.evermind.server.http.ServletRequestDispatcher.invoke(ServletRequestDispatcher.java:727)
     at com.evermind.server.http.ServletRequestDispatcher.forwardInternal(ServletRequestDispatcher.java:306)
     at com.evermind.server.http.ServletRequestDispatcher.forward(ServletRequestDispatcher.java:209)
     at com.evermind.server.http.GetParametersRequestDispatcher.forward(GetParametersRequestDispatcher.java:189)
     at com.evermind.server.http.EvermindPageContext.forward(EvermindPageContext.java:199)
     at OA.jspService(OA.jsp:45)
     at com.orionserver.http.OrionHttpJspPage.service(OrionHttpJspPage.java:56)
     at oracle.jsp.runtimev2.JspPageTable.service(JspPageTable.java:317)
     at oracle.jsp.runtimev2.JspServlet.internalService(JspServlet.java:465)
     at oracle.jsp.runtimev2.JspServlet.service(JspServlet.java:379)
     at javax.servlet.http.HttpServlet.service(HttpServlet.java:853)
     at com.evermind.server.http.ServletRequestDispatcher.invoke(ServletRequestDispatcher.java:727)
     at com.evermind.server.http.ServletRequestDispatcher.forwardInternal(ServletRequestDispatcher.java:306)
     at com.evermind.server.http.HttpRequestHandler.processRequest(HttpRequestHandler.java:767)
     at com.evermind.server.http.HttpRequestHandler.run(HttpRequestHandler.java:259)
     at com.evermind.server.http.HttpRequestHandler.run(HttpRequestHandler.java:106)
     at EDU.oswego.cs.dl.util.concurrent.PooledExecutor$Worker.run(PooledExecutor.java:803)
     at java.lang.Thread.run(Thread.java:534)
I was thinking that maybe the in-out parameter might been causing this error, maybe I didn't declarated it correctly.
Can you help me?
Thanks in advance....
Jairo

Similar Messages

  • Error while calling a stored procedure with OUT parameter.

    Hi,
    I am trying to call a Stored Procedure(SP) with an OUT parameter(Ref Cursor) from a third party tool. It is called using OLE-DB Data provider. In one database the procedure works fine but when I change the database the procedure call is giving following error.
    Distribution Object:     COM Error. COM Source: OraOLEDB. COM Error message: IDispatch error #3092. COM Description: ORA-06550: line 1, column 7:
         PLS-00306: wrong number or types of arguments in call to 'TEST1'
         ORA-06550: line 1, column 7:
         PL/SQL: Statement ignored.
    I am not able to find as to why is this happening. Please let me know any clues /help to solve this problem.
    Thanks in advance.

    If you're using Oracle Provider for OLE DB (OraOLEDB) to execute this stored procedure, you need to set PLSQLRSet attribute. This attribute can be set in registry, connection string, or command object. Please refer to User Documentation for more information.

  • Calling Oracle Stored procedure with OUT parameter from ODI

    Hi,
    I called an oracle stored procedure with following anonymous block in the ODI procedure.
    Declare
    Status varchar2(10);
    Begin
    OTM.DeleteTarget('E_KPI_TARGET_VALUE', Status);
    End;
    I want to capture the OUT parameter STATUS value in a project level variable.
    And based on its va;lue I would like to choose between 2 interfaces in my package.
    Please help me in doing this.

    Hi,
    For that kind of situation I commoly use:
    1) one step with:
    create or replace package <%=odiRef.getSchemaName("W")%>.pck_var
    Status varchar2(10);
    end;
    * transaction 9, for instance
    2) step
    Begin
    OTM.DeleteTarget('E_KPI_TARGET_VALUE', <%=odiRef.getSchemaName("W")%>.pck_var.Status);
    End;
    * transaction 9
    3) then, at an ODI variable, use a refresh like:
    select <%=odiRef.getSchemaName("W")%>.pck_var.Status from dual
    at same logical shema where the package was created.
    Does it make sense to you?

  • How to call oracle stored procedure with OUT parameter?

    I create oracle stored procedure in eclipse oepe
    PROCEDURE SP_SELECT_ORA (
    ID_INPUT IN VARCHAR2,
    ID_OUTPUT OUT VARCHAR2,
    PASSWD_OUTPUT OUT VARCHAR2,
    NAME_OUTPUT OUT VARCHAR2) IS
    BEGIN
    SELECT EMP_ID, EMP_Passwd, EMP_Name
    INTO ID_OUTPUT, PASSWD_OUTPUT, NAME_OUTPUT
    FROM family
    WHERE EMP_ID = ID_INPUT;
    END;
    and I try to call the sp in jpa like below,
    @NamedNativeQueries({
         @NamedNativeQuery(name = "callSelectSP", query = "call SP_SELECT_ORA(?,?,?,?)", resultClass = Members.class)
    @Entity
    @Table(name="family")
    public class Members implements Serializable {
         @Id
         @Column(name = "EMP_ID")
         private String ID;
         @Column(name = "EMP_Passwd")
         private String Passwd;
         @Column(name = "EMP_Name")
         private String Name;
    ==============
    @PersistenceContext(unitName="MyFamily")
         EntityManager em;
    query = em.createNamedQuery("callSelectSP");
         query.setParameter(1, ID);
         String id_output = null;
         String passwd_output = null;
         String name_output = null;
         query.setParameter(2,id_output);
         query.setParameter(3,passwd_output);
         query.setParameter(4,name_output);
         query.executeUpdate();
         member = (Members)query.getSingleResult();
    But this query throws exception,
    19:55:35,500 WARN [org.hibernate.engine.jdbc.spi.SqlExceptionHelper] (http--127.0.0.1-8080-1) SQL Error: 1465, SQLState: 72000
    19:55:35,500 ERROR [org.hibernate.engine.jdbc.spi.SqlExceptionHelper] (http--127.0.0.1-8080-1) ORA-01465: invalid hex number
    I don't know how. Pls, give me your advice. Thanks in advnace.
    Best regards

    Thank you for your reply, Chris!
    I tried this one.
    @NamedNativeQueries({
    @NamedNativeQuery(name = "callSelectSP", query = "exec SP_SELECT_ORA( ?, :id_output, :passwd_output, :name_output) " , resultClass = Members.class)
    @Entity
    @Table(name="family")
    public class Members implements Serializable
    ===================
    query = em.createNamedQuery("callSelectSP");
    query.setParameter(1, ID);
    String id_output = null;
    String passwd_output = null;
    String name_output = null;
    query.setParameter("id_output", id_output);
    query.setParameter("passwd_output", passwd_output);
    query.setParameter("name_output",name_output);
    query.executeUpdate();
    On Console hibernate shew the sql and ora # like below,
    19:59:25,160 INFO [stdout] (http--127.0.0.1-8080-1) Hibernate: exec SP_SELECT_ORA( ?, ?, ?, ?)
    19:59:25,192 WARN [org.hibernate.engine.jdbc.spi.SqlExceptionHelper] (http--127.0.0.1-8080-1) SQL Error: 900, SQLState: 42000
    19:59:25,192 ERROR [org.hibernate.engine.jdbc.spi.SqlExceptionHelper] (http--127.0.0.1-8080-1) ORA-00900: Invalid SQL statement
    Pls, inform me your advice. Thanks in advance.
    Best regards.

  • How to Call PL/SQL Procedure

    Hi
    I am trying to call PL/SQL Procedure in OCI but i didn't get success, Please answer,
    Thank you in advance
    null

    Here is a very short sample. Hope it helps
    char SQLStatemen[] ="BEGIN spFoo (:P_Name);END;";
    /* Initialize everything */
    OCIBindByName (CommandHandler, &OCIBindName, ErrorHandler, (text *) ":P_Name", -1, (dvoid *) Name, strlen(Name) +1, SQLT
    _STR, (dvoid *) 0,(ub2 *) 0, (ub2 *) 0, (ub4) 0, (ub4 *) 0, OCI_DEFAULT) == OCI_ERROR);
    OCIStmtExecute (ServiceContext, CommandHandler,ErrorHandler, 1, 0, (OCISnapshot *) NULL,(OCISnapshot *) NULL, OC
    I_DEFAULT);
    /* if P_Name is an out parameter, at this point, it has the value it got from the database */
    /* logoff and close everything */

  • Calling a package procedure with Date parameter only

    Hi All,
    Please help me to call a package procedure with Date parameter from sql prompt.
    Arif

    Check the below procedure.
    SQL> ed
    Wrote file afiedt.buf
      1  create or replace procedure procdate (p_date_in date)
      2  is
      3  p_date_out date;
      4  begin
      5  p_date_out := add_months(p_date_in,6);
      6  dbms_output.put_line(p_date_out);
      7* end;
    SQL> /
    Procedure created.
    SQL> exec procdate('01-JAN-2010');
    01-JUL-10
    PL/SQL procedure successfully completed.
    SQL> exec procdate(to_date('01/01/2010','DD-MM-YYYY'));
    01-JUL-10
    PL/SQL procedure successfully completed.
    SQL> exec procdate('31-DEC-2010');
    30-JUN-11
    PL/SQL procedure successfully completed.

  • How to call a Store Procedure with IN PARAMETER

    Hi, im new using Oracle 10G with Oracle SQL Developer, my cuestion is how to call a Store Procedure with IN PARAMETER, I tried the following without results
    SELECT * FROM procedure_name(parameter);
    PROCEDURE procedure_name(parameter);
    EXEC procedure_name(parameter);
    CALL procedure_name(parameter);
    Please help me....

    Hi,
    As Beijing said,
    EXEC procedure_name(parameter);
    CALL procedure_name(parameter);work for me.
    So does
    BEGIN
        procedure_name(parameter);
    END;Can you be more specific about what you're doing? That is, are you testing it in SQL Developer? Where are you entering the commands? Where are you looking for output? Do you get error messages? Does anything else (like "SELECT SYSDATE FROM dual;") work?

  • DB Adapter calling PL/SQL Procedure gives error

    Created partner link, calling pl/sql procedure with one in variable and one out variable. Invoke works fine. Assigning pl/sql return value to output is causing run time error. "Rebuild" and "Deploy" works file.
    Here is the error:
    Assign_2
    [2007/08/03 14:18:06]
    Error in evaluate <from> expression at line "93". The result is empty for the XPath expression : "/ns3:OutputParameters/ns3:OUT_STATUS_CODE".
    oracle.xml.parser.v2.XMLElement@ba1893
    Copy details to clipboard
    [2007/08/03 14:18:06]
    "{http://schemas.xmlsoap.org/ws/2003/03/business-process/}selectionFailure" has been thrown.
    - <selectionFailure xmlns="http://schemas.xmlsoap.org/ws/2003/03/business-process/">
    - <part name="summary">
    <summary>
    empty variable/expression result.
    xpath variable/expression expression "/ns3:OutputParameters/ns3:OUT_STATUS_CODE" is empty at line 93, when attempting reading/copying it.
    Please make sure the variable/expression result "/ns3:OutputParameters/ns3:OUT_STATUS_CODE" is not empty.
    </summary>
    </part>
    </selectionFailure>
    Any input would be appreciated..
    Thanks.

    Thanks, it works.
    In the “Assign Variables”
    Changed from:
    <copy>
    <from variable="Invoke_1_ASNDBTest103_OutputVariable"
    part="OutputParameters" query="/ns3:OutputParameters/ns3:OUT_STATUS_CODE"/>
    <to variable="outputVariable" part="payload"
    query="/ns2:ASNReturnStatus102"/>
    </copy>
    Changed to:
    <copy>
    <from variable="Invoke_1_ASNDBTest103_OutputVariable"
    part="OutputParameters" query="/ns3:OutputParameters"/>
    <to variable="outputVariable" part="payload"
    query="/ns2:ASNReturnStatus102"/>
    </copy>
    So far so good, but one question, compiler gives warning…but everything works well.
    Warning(97):
    [Error ORABPEL-10041]: Trying to assign incompatible types
    [Description]: in line 97 of "C:\HOME\jdevOAExt3\jdevhome\jdev\mywork\ASNTest101\BPELProcess1\bpel\BPELProcess1.bpel", <from> value type "{http://xmlns.oracle.com/pcbpel/adapter/db/APPS/XRX_BPEL_INSERT_ASN_TMP102/}OutputParameters anonymous type" is not compatible with <to> value type "{http://www.thiscompany.com/ns/sales}ASNReturnStatus102".
    [Potential fix]: Please make sure that the return value of from-spec query is compatible with the to-spec query.
    Also, instead of direct variable to variable copy, used expression to variable copy and it works. You can avoid the warning from the compiler.
    Does not work ==> bpws:getVariableData('Invoke_1_ASNDBTest103_OutputVariable','payload','/ns3:OutputParameters/ns3:OUT_STATUS_CODE')
    Works ==> bpws:getVariableData('Invoke_1_ASNDBTest103_OutputVariable','payload','/ns3:OutputParameters’)
    So, why the compiler warning?

  • Call PL/SQL procedure from JDeveloper

    Is that possible to call PL/SQL procedure from JDeveloper?
    What's the setup and coding requirements?
    Thanks for any input.

    This is the Code:_
    package oracle.e1.bssv.J594101;
    import java.util.Hashtable;
    import javax.naming.NamingException;
    import java.sql.Connection;
    import java.sql.SQLException;
    import javax.naming.InitialContext;
    import javax.naming.Context;
    import javax.naming.NamingEnumeration;
    import javax.sql.*;
    public class CallSQLProcedure3 {
    public CallSQLProcedure3() {
    public static void main(String[] args) {
    // try {
    Hashtable env = new Hashtable();
    env.put(Context.INITIAL_CONTEXT_FACTORY,
    "com.evermind.server.rmi.RMIInitialContextFactory");
    // env.put(Context.PROVIDER_URL,
    "ormi\\://localhost\\:23891/current-workspace-app");
    // env.put(Context.PROVIDER_URL,
    "ormi://localhost:23791/E1Services-LOCALDEV");
    env.put(Context.PROVIDER_URL, "ormi://localhost:23791");
    // env.put(Context.PROVIDER_URL,
    "ormi://localhost\\:23791/current-workspace-app");
    env.put(Context.SECURITY_PRINCIPAL, "oc4jadmin");
    env.put(Context.SECURITY_CREDENTIALS, "welcome");
    Context ctx3 = null;
    try {
    ctx3 = new InitialContext(env);
    } catch (NamingException e) {
    // TODO
    // Context ctx = null;
    try {
    // NamingEnumeration n= ctx3.list("ormi://localhost:23791");
    // System.out.println(n.hasMore());
    Hashtable h = ctx3.getEnvironment();
    // while(h.elements().hasMoreElements())
    System.out.println(" name " +
    h.elements().nextElement().toString());
    // InitialContext initialContext = new InitialContext();
    // javax.sql.DataSource ds =
    (javax.sql.DataSource)initialContext.lookup("jdbc/DBConnection1DS");
    // javax.sql.DataSource ds =
    (javax.sql.DataSource)ctx3.lookup("jdbc/DBConnection1DS");
    // javax.sql.DataSource ds =
    (javax.sql.DataSource)ctx3.lookup("jdbc/OracleDS");
    javax.sql.DataSource ds =
    (javax.sql.DataSource)ctx3.lookup("jdbc/DBConnection1DS");
    java.sql.Connection conn;
    try {
    conn = ds.getConnection();
    } catch (SQLException e) {
    // TODO
    // ctx = new InitialContext();
    Context initCtx = new InitialContext();
    Context envCtx = (Context)initCtx.lookup("java:comp/env");
    // Hashtable h = envCtx.getEnvironment();
    // while(h.elements().hasMoreElements())
    // System.out.println(" name " + h.elements().nextElement().toString());
    DataSource ds2 = (DataSource)envCtx.lookup("DBConnection1DS");
    // Connection conn;
    // try {
    // conn = ds.getConnection();
    // } catch (SQLException e) {
    // TODO
    // } catch (NamingException e) {
    // // TODO
    // DataSource dataSource = null;
    // } catch (NamingException ne) {
    // try {
    // dataSource = (DataSource)ctx.lookup("jdbc/DBConnection1DS");
    // } catch (NamingException e) {
    // e.printStackTrace();
    // String myError1="Error occured with Initial Context";
    Connection conn2;
    try {
    conn2 = ds2.getConnection();
    // conn = ds.getConnection();
    } catch (SQLException e) {
    // TODO
    } catch (NamingException e) {
    // TODO
    e.printStackTrace();
    System.out.println("Error looking up " +e);
    This is the Error:_
    error message from executing a code ds.getConnection();
    D:\oracle\jdevstudio10133\jdk\bin\javaw.exe -client -classpath
    D:\e812\ETDV812\Java\classes;D:\oracle\jdevstudio10133\webservices\lib\jaxrpc-api.jar;D:\oracle\jdevstudio10133\webservices\lib\wsclient.jar;D:\oracle\jdevstudio10133\webservices\lib\wsserver.jar;D:\oracle\jdevstudio10133\webservices\lib\wssecurity.jar;D:\oracle\jdevstudio10133\webservices\lib\wsdl.jar;D:\oracle\jdevstudio10133\webservices\lib\orasaaj.jar;D:\oracle\jdevstudio10133\webservices\lib\saaj-api.jar;D:\oracle\jdevstudio10133\webservices\lib\orawsdl.jar;D:\oracle\jdevstudio10133\webservices\lib\orawsrm.jar;D:\oracle\jdevstudio10133\webservices\lib\jaxr_api.jar;D:\oracle\jdevstudio10133\webservices\lib\orajaxr.jar;D:\oracle\jdevstudio10133\webservices\lib\relaxngDatatype.jar;D:\oracle\jdevstudio10133\webservices\lib\jaxb-impl.jar;D:\oracle\jdevstudio10133\webservices\lib\jaxb-libs.jar;D:\oracle\jdevstudio10133\webservices\lib\xsdlib.jar;D:\oracle\jdevstudio10133\webservices\lib\mdds.jar;D:\oracle\jdevstudio10133\jlib\jaxen.jar;D:\oracle\jdevstudio10133\jlib\oraclepki!
    .jar;D:\oracle\jdevstudio10133\jlib\ojpse.jar;D:\oracle\jdevstudio10133\jlib\osdt_core.jar;D:\oracle\jdevstudio10133\jlib\osdt_cert.jar;D:\oracle\jdevstudio10133\jlib\osdt_xmlsec.jar;D:\oracle\jdevstudio10133\jlib\osdt_wss.jar;D:\oracle\jdevstudio10133\jlib\osdt_saml.jar;D:\oracle\jdevstudio10133\jlib\repository.jar;D:\oracle\jdevstudio10133\jlib\ojmisc.jar;D:\oracle\jdevstudio10133\j2ee\home\lib\http_client.jar;D:\oracle\jdevstudio10133\j2ee\home\jazncore.jar;D:\oracle\jdevstudio10133\j2ee\home\oc4jclient.jar;D:\oracle\jdevstudio10133\rdbms\jlib\xdb.jar;D:\oracle\jdevstudio10133\diagnostics\lib\ojdl2.jar;D:\e812\ETDV812\ini\sbf;D:\e812\System\Classes\Base_JAR.jar;D:\e812\System\Classes\BizLogicContainer_JAR.jar;D:\e812\System\Classes\BusinessLogicServices_JAR.jar;D:\e812\System\Classes\Connector.jar;D:\e812\System\Classes\EventProcessor_JAR.jar;D:\e812\System\Classes\Generator_JAR.jar;D:\e812\System\Classes\JdbjBase_JAR.jar;D:\e812\System\Classes\JdbjInterfaces_JAR.jar;D:\!
    e812\System\Classes\JdeNet_JAR.jar;D:\e812\System\Classes\Maf2Base_JAR
    .jar;D:\e812\System\Classes\mafsecurity.jar;D:\e812\System\Classes\Metadata.jar;D:\e812\System\Classes\MetadataInterface.jar;D:\e812\System\Classes\PMApi_JAR.jar;D:\e812\System\Classes\SBFFoundation_JAR.jar;D:\e812\System\Classes\Spec_JAR.jar;D:\e812\System\Classes\System_JAR.jar;D:\e812\System\Classes\SystemInterfaces_JAR.jar;D:\e812\System\Classes\castor.jar;D:\e812\System\Classes\log4j.jar;D:\e812\System\Classes\xerces.jar;D:\e812\System\Classes\xml-apis.jar;D:\e812\System\Classes\Rijndael.jar;D:\e812\System\Classes\ManagementAgent_JAR.jar;D:\e812\System\Classes\commons-logging.jar;D:\e812\System\Classes\commons-codec-1.3.jar;D:\e812\System\Classes\commons-httpclient-3.0.jar;D:\e812\System\Classes\jmxremote.jar;D:\e812\System\Classes\jmxremote_optional.jar;D:\e812\System\Classes\jmxri.jar;D:\e812\System\Classes\rmissl.jar;D:\e812\misc\ojdbc5.jar;D:\e812\misc\mssqlserver.jar;D:\e812\misc\msutil.jar;D:\e812\misc\msbase.jar;D:\e812\misc\db2java.zip;D:\e812\misc\jt400.jar;D:\!
    e812\misc\sqljdbc.jar;D:\oracle\jdevstudio10133\lib\xmlparserv2.jar;D:\oracle\jdevstudio10133\lib\xml.jar
    oracle.e1.bssv.J594101.CallSQLProcedure3
    name com.evermind.server.rmi.RMIInitialContextFactory
    Exception in thread "main" java.lang.NoClassDefFoundError:
    org/apache/bcel/generic/Instruction
    at
    oracle.oc4j.sql.spi.ConnectionHandle.getConnectionHandle(ConnectionHandle.java:725)
    at
    oracle.oc4j.sql.spi.ManagedConnectionImpl.getConnectionHandle(ManagedConnectionImpl.java:273)
    at
    oracle.oc4j.sql.spi.ManagedConnectionImpl.getConnection(ManagedConnectionImpl.java:255)
    at
    com.evermind.server.connector.ApplicationConnectionManager.createConnectionHandle(ApplicationConnectionManager.java:1786)
    at
    com.evermind.server.connector.ApplicationConnectionManager.allocateConnection(ApplicationConnectionManager.java:1472)
    at
    oracle.j2ee.connector.OracleConnectionManager.unprivileged_allocateConnection(OracleConnectionManager.java:238)
    at
    oracle.j2ee.connector.OracleConnectionManager.allocateConnection(OracleConnectionManager.java:192)
    at
    oracle.oc4j.sql.ManagedDataSource.getConnection(ManagedDataSource.java:272)
    at
    oracle.oc4j.sql.ManagedDataSource.getConnection(ManagedDataSource.java:200)
    at
    oracle.oc4j.sql.ManagedDataSource.getConnection(ManagedDataSource.java:142)
    at
    oracle.oc4j.sql.ManagedDataSource.getConnection(ManagedDataSource.java:127)
    at
    oracle.e1.bssv.J594101.CallSQLProcedure3.main(CallSQLProcedure3.java:70)
    Process exited with exit code 1.

  • How to call pl/sql procedure/function from XML

    Hi,
    I have a requirement to call pl/sql function/procedure from the RTF template. How can I do this?

    Hi,
    I have got the same requirement. We need to call the store PL/SQL procedure from the XML template to generate the fixedwidth files. Could you tell me if you are able to call PL/SQL procedure from XML template?
    Thanks,
    Ram

  • Calling PL/SQL procedures from a Windows CMD script

    Hello,
    I am writing a Windows CMD script. From this script I want to call procedures from a PL/SQL package which selects, inserts or deletes rows from the database.
    How do I go about logging into the database from the cmd script and calling PL/SQL procedures from there?
    Does anyone have any examples of such scripts? Thanks in advance.

    No, it is not a job that needs to be scheduled.
    The script will be used when needed to select info from a certain table and also to insert or delete certain info into/from this table (so, it is just simple sql statements which I have put into a package), but I'm sure how to log into the database and execute the procedures from this package in a cmd script.

  • Calling PL/Sql Procedure in Jdeveloper 11g

    Hi All,
    How to call PL/Sql Procedure in Jdeveloper 11G. Here my procedure prints some statements in procedure using "dbms.output.put_line" . Here I want to call that procedure using button (or) ImageLink and print all the statements in pl/sql procedure in Jdeveloper Environment.
    Can anybody help on this .
    Thanks in Advance .
    Edited by: u41411 on Sep 28, 2009 7:18 AM

    Her is what I use to call Oracle DB procedure:
    procCall = "BEGIN " + YOUR_PROC_NAME + "(); END;";
    returned = am.getTransaction().executeCommand(procCall);
    where am is my application Module
    Hope this help.
    Jack

  • Calling PL/SQL Procedures from Java

    Hello,
    I want to know, if it is possible to call PL/SQL Procedures from
    SQLJ(which uses htp.print from the Package web toolkit ).
    Though, it is possible to call normal procedures but if I want
    to call PL/SQL procedures with htp.print then I get I error.
    For example:
    #sql{Call html_test()};
    Can you give me a advice?
    Your help is much appreciated!
    M|ller

    Oracle's htp packages are develop to be work with
    mod_plsql/OAS/OWS webserver.
    If you are trying to use htp packages first need to instanciate
    some enviroment vars for htp packages, for example first you has
    to call to owa.initialize procedure, populate owa.cgi array and
    so on.
    If you need more information about how this toolkit works you
    could get the source of DB Prism at
    http://www.plenix.com/dbprism/ this open source framework
    includes backward compatibility with mod_plsql application and
    then includes settings of this values from Java code.
    Best regards, Marcelo.

  • How to write a shell script to execute a procedure with out parameter

    Hi,
    How to write a shell script to execute a procedure with out parameter.
    here is my procedure
    PROCEDURE sample(invar1 VARCHAR2,
    invar2 VARCHAR2,
    invar3 VARCHAR2,
    invar4 VARCHAR2,
    ecode out number);
    Any example really helpfull
    Thanks in advance

    Or if we're passing values in, maybe something like:
    Test procedure:
    CREATE OR REPLACE PROCEDURE p (myin IN VARCHAR2, myout OUT VARCHAR2)
    AS
    BEGIN
        myout :=
            CASE myin
                WHEN 'A' THEN 'APPLE'
                WHEN 'B' THEN 'BANANA'
                ELSE 'STARFRUIT'
            END;
    END;Shell script:
    #!/bin/bash
    my_shell_variable=$1
    unset ORACLE_PATH
    sqlplus -s un/pw@db <<-EOF
    set feedback off pause off
    set pagesize 0
    set autoprint off
    VAR out varchar2(30)
    VAR myin varchar2(30)
    exec :myin := '${my_shell_variable}'
    BEGIN
      p(:myin, :out);
    END;
    print out
    exit
    EOFTest:
    /Users/williamr: xx A
    APPLE
    /Users/williamr: xx B
    BANANA
    /Users/williamr: xx
    STARFRUITObviously in a real script you would not hardcode the password or let it show in a "ps" listing.
    Message was edited by:
    William Robertson

  • Got Call pl/sql procedure in C#

    Hi Experts,
    I tried to call a pl/sql procedure TEST_COMP from a .NET app in C# and got the following error, but the same code worked in VB, any advice?
    Thanks,
    James
    ORA-06550: line 1, column 7:
    PLS-00201: identifier 'UTIL_PKG.TEST_COMP' must be declared
    ORA-06550: line 1, column 7:
    UTIL_PKG is the name of package, I logged in as the owner of the package.
    Here is the C# code, that gets an error:
    string cmdString = "UTIL_PKG.TEST_COMP";
    OracleCommand cmd = new OracleCommand(cmdString,con);
    cmd.CommandType = CommandType.StoredProcedure;
    try
    cmd.ExecuteNonQuery();
    catch (Exception ex)
    Console.WriteLine(ex.Message);
    Here is the VB code that works:
    Dim cmdString As String = "UTIL_PKG.TEST_COMP"
    Dim cmd As OracleCommand = New OracleCommand(cmdString)
    cmd.Connection = con
    cmd.CommandType = CommandType.StoredProcedure
    Try
    cmd.ExecuteNonQuery()
    Catch ex As Exception
    Console.WriteLine(ex.Message)

    Double post:
    Re: Got PLS-00201 error when call ps/sql procedure from .NET app in C#
    The bottom line is it should work in both. So either you aren't telling us all the details, or something has changed and you don't even know it.

Maybe you are looking for

  • Compressor 4 stalling after "send to compressor" FCPX

    I just installed compressor, checked for updates to make sure I had the latest version, and tried to use "send to compressor" in FCPX.  Compressor 4 stalls and nothing occurs.  Wheel of death occurs and I must forcequit to exit.  Have any suggestions

  • ABAP Dictionary Search Help

    Hi, after upgrading to Adobe Reader 9.1.0 my interactive forms have started acting strange. For example, when pressing search helps the "wait" pop-up appears but never reaches the search help. Anyone who has any idea what I should do? By the way, eve

  • QTP 11 and Flex 4.5

    I am using QTP 11, Windows 7 64bit PC, Flex 4.5, on IE9. I am able to identify objects in the record mode and they do get added to the local object repository. However, when using QTP with Object Spy or (Object Repository > Object > Add Objects to Lo

  • Questions regarding upgrade to Xcode 4

    I just successfully upgraded to Xcode 4, hoping it would replace the previous version of Xcode (3.2). I see now that this was not the case, but it rather archived the old /Developer folder. I also noticed that the frameworks and libraries i used in m

  • Offline kernel update [solved]

    I have a ASUS P5Q motherboard which uses the atl1e module for the ethernet card. The default ArchLinux kernel (2.6.25) does not have this module available. My understanding is that the latest arch kernel 2.6.27 does have this module available. My que