execute a Storedprocedure backing bean output parameter whith

How can I execute a Storedprocedure whith out parameter back bean? I use a getDBTransaction? How do I?

I need function excute a DB of backing Bean.

I use 2 versions:
Studio Edition Version 11.1.2.0.0
Studio Edition Version 11.1.2.3.0

You implement the call to the stored procedure in the client module of your application, expose it as an interface and call it from your bean. To do this, you add the method for links on the page and call it add do you with any other method of the pagedef.

Never directly call such a method of your bean.

Timo

Tags: Java

Similar Questions

  • Impossible to activate and deactivate the button "submit" all keeping the condition on the output parameter

    Hello

    I try to enable and disable the submit button based on the status of output parameter that I call in lov.

    Concerning

    Asia.


    Hi AJ,.

    Thanks for the reply

    I tried the method above, but it does not work.

    I am trying to enable and disable the submit button based on two input parameters and an output parameter.

    Based on two input parameters, I'm able to get the output parameter, and if the output parameter is "S" then iam allowing the submit button.

    on the other

    disable the submit button.

    Here is my code:

    IAM calling this co

    OASubmitButtonBean submitbean = (OASubmitButtonBean) webBean.findChildRecursive ("Submit");

    String crreason = pageContext.getParameter ("Reason")';

    Invnum string = pageContext.getParameter ("InvoiceNumber");

    String status = "";

    String ValidationDesc ="";

    OADBTransactionImpl oadbtransactionimpl = (OADBTransactionImpl) getTransaction ();

    Try

    {

    String sql_qry = "BEGIN WEPIS_CM_DM_PKG. WEPIS_CM_RAISE_VALIDATION (P_CM_REASON =>: 1, P_INVOICE =>: 2, P_VALDIDATION_S "+)

    "(TS =>: 3, P_VALDIDATION_DESC =>: 4); END; « ;

    OracleCallableStatement sqlstmt = (OracleCallableStatement) oadbtransactionimpl.createCallableStatement (sql_qry,-1);

    sqlstmt.setString(1,crreason);

    sqlstmt.setString(2,invnum);

    sqlstmt.registerOutParameter(3,Types.CHAR);

    sqlstmt.registerOutParameter(4,Types.VARCHAR);

    sqlstmt. Execute();

    status = sqlstmt.getString (3);

    ValidationDesc = sqlstmt.getString (4);

    If ("S".equals (status))

    {

    submitbean.setRendered (true);

    }

    on the other

    {

    submitbean.setRendered (false);

    }

    }

    catch (SQLException sqlexception)

    {

    throw OAException.wrapperException (sqlexception);

    }

    catch (System.Exception Exception)

    {

    throw OAException.wrapperException (exception);

    }

    Concerning

    S.Asia

  • Service Web REST-output parameter does not work in the Manager POSITION

    I created a RESTful Web Service in Oracle Apex, using a POST method as a 'Manager'   I have installation 11 input parameters which all work fine, this is my setting an output that does not return successfully.

    Here are details on the output parameter

    Name: returns

    Name of the bind Variable: : return

    Access method: OUTPUT

    Source type: response

    Parameter type: String

    The actual source is a call to a pl/sql package that returns a value that I set: Returns equal to (for example: Returns: = v_result).   I tried this with header Type of Source and still the same result, "no exit".

    I see APEX calls wwv_flow_api.create_restful_param to generate the (import) settings, is there documentation on this procedure?

    How can I get this output parameter to return something to the answer?

    The application accepts a load of Json.

    Any help greatly appreciated

    Thank you

    James

    Solved my problem: feedback does not need to go back

    Does not work

    Name: returns

    Name of the bind Variable: : return

    Access method: OUTPUT

    Source type: response

    Parameter type: String

    Works

    Name: returns

    Name of the bind Variable: returns

    Access method: OUTPUT

    Source type: response

    Parameter type: String

  • Get the output parameter of workflow using soap in PHP

    Hi all, I have a question on how to print the output in php parameter using the soap Protocol. I create the workflow with 1 single task scriptable with variable name of virtual machines as output like that.

    var sdkConnections = VcPlugin.allSdkConnections;
    vms = new Array();
    for (var i in sdkConnections) {
      var host = sdkConnections[i];
      var found;
      if (host.isInventoryServiceAvailable()) {
      found = host.getAllVirtualMachines();
      }
      for (var j in found) {
      vms.push(found[j]);
      System.log(vms);
      }
    }
    

    And my php, source code

    <?php
    
    include ("parameters.inc");
    $vco = new SoapClient('https://' . $vco_server . ':8281/vmware-vmo-webcontrol/webservice?WSDL');
    $workflowid = "f73f2521-0e6b-48e8-81b9-388b13fc3fea";
    $param = array(workflowId=>$workflowid,username=>$vco_user,password=>$vco_pass);
    echo '<br>';
    
    $result3 = $vco->executeWorkflow($param);
    print_r($result3);
    echo '<br>';
    
    foreach ($result3 as $token)
    {
            $tokenID = $token->id;
    }
    
    $param2 = array(workflowTokenId=>$tokenID,username=>$vco_user,password=>$vco_pass);
    $wftokenstatus = $vco->getWorkflowTokenStatus($param2);
    print_r($wftokenstatus);
    echo '<br>';
    
    $wftokenresult = $vco->getWorkflowTokenResult($param2);
    print_r($wftokenresult);
    echo '<br>';
    ?>
    

    When I try the same, executed release in web

    stdClass Object ( [executeWorkflowReturn] => stdClass Object ( [id] => ff808081440b6eb90144316de4bc04fe [title] => Copy of Get virtual machines by name [workflowId] => f73f2521-0e6b-48e8-81b9-388b13fc3fea [currentItemName] => __item-undefined__ [currentItemState] => running [globalState] => running [businessState] => [startDate] => 20140215002449+0700 [endDate] => [xmlContent] =>         ) )
    stdClass Object ( [getWorkflowTokenStatusReturn] => )
    stdClass Object ( [getWorkflowTokenResultReturn] => stdClass Object ( [name] => vms [type] => VC:VirtualMachine [value] => ) )
    

    I see in customer orchestrator, my workflow work well and in the logs tab I see all my VM appear, but I'm trying to print all components of table in my php script using print_r(), the value of the object always null, only can get name and type as above... No idea how to get the value of the output parameter?... Thanks before

    Change this code to your:

    for (var j in found) {
      vms.push(found[j]);
      System.log(vms);
      }
    

    To do this:

    for (var j in found) {
      vms.push(found[j].name);
      System.log(vms);
      }
    

    In this code, j is a VC:VirtualMachine object, instead of pushing the entire object in your table, just push the virtual machine to .name property. Additionally, make sure that your output variable is of type: Array of Strings

  • How to refresh data in backing bean-based component SelectOneChoice

    Hello.

    I use JD Studio Edition Version 11.1.1.5.0 on Weblogic 11.1.1.5

    I have the resulting page with SelectOneCoice fragment of the backing bean (used as filter)

    < af:selectOneChoice label = "#{projectBundle ['label.toolbar.spinbox.period']}" "

    valueChangeListener = "#{backingBeanScope.backing_jsf_fragments_project_ContentMainView.onPeriodValueChangeListener} '"

    Binding = "#{backingBeanScope.backing_jsf_fragments_project_ContentMainView.SOC2} '"

    ID = value = "#{pageFlowScope.ContentMainView.period"soc2"} ' autoSubmit ="true">"

    < f: selectItems value = "#{pageFlowScope.YearsListBean.yearItems} '"

    Binding = "#{backingBeanScope.backing_jsf_fragments_project_ContentMainView.SI2}" id = "si2" / > "

    < / af:selectOneChoice >

    It supports bean which reads the data from the database and creates the list + adds value null

    package sk.web.view.bean;

    import java.util.ArrayList;

    import java.util.List;

    Import javax.faces.model.SelectItem;

    Import oracle.adf.model.binding.DCIteratorBinding;

    Import oracle.adf.share.logging.ADFLogger;

    Import oracle.jbo.Row;

    Import sk.web.view.common.utils.ADFUtils;

    /**

    * Class is supposed to provide a list of the years for the af:SelectOneChoice component.

    */

    public class YearsListBean {}

    private static final String PERIOD_ITERATOR_NAME = "PeriodView1Iterator"; Auto generated id

    private list < SelectItem > yearItems;

    public YearsListBean() {}

    Super();

    yearItems = new ArrayList < SelectItem > ();

    addYearsToList();

    }

    public void addYearsToList() {}

    DCIteratorBinding iter = null;

    ITER = ADFUtils.findIterator (PERIOD_ITERATOR_NAME);

    Rank [] rows = iter.getAllRowsInRange ();

    addYearItemToList ("", "");

    for (int i = 0; i < rows.length; i ++) {}

    Line = lines [i];

    log.info ("row [" + Integer.toString (i) + "]:" + rows [i].getAttribute("Year").toString ());

    addYearItemToList (rows [i].getAttribute("Year").toString (), rows [i].getAttribute("Year").toString ());

    }

    }

    public void clearYears() {}

    log.info ("called.");

    getYearItems () .clear ();

    }

    ' private void addYearItemToList (String strInYearLabel, String strInYearValue) {}

    SelectItem tObjItem = new SelectItem();

    Configuration object

    tObjItem.setLabel (strInYearLabel);

    tObjItem.setValue (strInYearValue);

    Add list ro

    yearItems.add (tObjItem);

    }

    public list < SelectItem > getYearItems() {}

    Get an output

    Return yearItems;

    }

    }

    When I insert the new record in the DB table, I want to see the new value in the filter. How to get there?

    I tryied to get the current instance of YearsListBean

    YearsListBean yearsList = (YearsListBean) FacesUtils.getManagedBean ("pageFlowScope.YearsListBean");

    Clear and then refill

    yearsList.clearYears ();

    yearsList.addYearsToList ();

    at the end I refresh view Add partial target

    AdfFacesContext.getCurrentInstance () .addPartialTarget (getSoc1 ());

    But this procedure does not work. Please help me find the working method.

    Thanks in advance.

    I found the bug in my code. I added partial target the wrong component. Now, refresh works fine.

  • Get the value of the bind variable in backing bean class VO Impl

    Hello

    I have a VO that includes a bind "pOrgId" variable, the VO has a java VO Impl class that includes:

    /**
    * Returns the value of the variable to pOrgId.
    value of the variable * @return for pOrgId
    */
    public {getpOrgId() number
    return (Number) ensureVariableManager () .getVariableValue ("pOrgId");
    }

    So it is possible to obtain the value is concluded by the binding variable using this class in a backing bean? (I tried to import the VOImpl class in the bean to support, but getpOrgId is not available?).

    (JDEV 11.1.2.3.0)

    Concerning
    Carl

    Hello

    When you create a ViewObjectImpl class, none of these options is to generate the getter/setter for bind variable. Create a client class interface and expose the get method for the variable binding. Now, you can reference the method since a binding method in the ADF, which you then access a managed bean by calling

      BindingContext bctx = BindingContext.getCurrent();
      BindingContainer bindings = bctx.getCurrentBindingsEntry();
      OperationBinding oper = (OperationBinding) bindings.get("name of the method binding");
      Object returnVal = oper.execute();
    

    Frank

  • How to reference an attribute binding in backing bean

    Hello

    is there a way to refer to a binding attribute in backing bean (e.g. CustomerVO1.CustomerId)?
    I need to fill out a parameter with the value of CustomerId in a pod of support.

    Hello

    You must get the iterator:

    DCIteratorBinding iter =
    getDCBindingContainer () .findIteratorBinding (name);

    Then you can get the current line like this:

    Line currRow = iter.getCurrentRow ();

    And the value of the attribute as follows:

    Object attribute = currRow.getAttribute ("nameOFAttributeAsInViewObject");

    Kind regards
    Dimitris.

  • Backing bean - scope pageflow

    experts,

    use jdev 11.1.1.5.0 using adfbc.

    I had two grain of bean type.

    and two jspx pages. each grain of backup a utlizse page. ratio 1:1

    am fineshed my conception of my two pages compltly ui. and enter a logical operation on the bean.


    all are complted. but I need a value inputtext only content want to reach illustrated in another text of page output.

    Hold on...


    concept of pageflow tells me something like that

    proablay value of travel from one page to another page. It adapts.

    concept of backing bean teach. values of a work around page itself. not a page to another page.


    Chase now

    but. my much of the work was already done. with backing bean. now that an individual must travel from one page to another page.

    what I can do.


    If you prefer pageflow is a must. I want all change them a bit hard for me. a lot of work I have around him.

    I hope you understand.


    otherwise means here a few examples

    consider a
    I have my grain like this:

    Text1 of entry.
    Text2 entry.
    Text3 entry.
    Text4 entry.

    and some af:table and some af:query Panel. n blah blah n. biindings base many backing bean.



    simply, I needed only special Text4 entry > contnet indicate in another page.

    It's my scenario. No am not yet implemented it. get before implementation. with a notice appropriate (expert) u.

    n then perform it.

    Published by: Les on September 23, 2011 02:25

    Published by: Les on September 23, 2011 02:26

    Hello..
    I'll give you sample cases to do this,
    Page A - Bean
    Page B - Bean B
    These two pages are in a taskflow and scope is pageFlowScope
    pageA

    
    
      
      
      
    
    

    BaenA

    package view;
    
    import javax.faces.event.ActionEvent;
    
    import oracle.adf.view.rich.component.rich.input.RichInputText;
    import org.apache.myfaces.trinidad.context.RequestContext;
    
    public class A {
        private RichInputText it1;
    
        public A() {
            super();
        }
    
        public String cb1_action(ActionEvent ae) {
            // Add event code here...
            RequestContext afContext = RequestContext.getCurrentInstance(); //ur coede
            afContext.getPageFlowScope().put("p_user", it1.getValue());
            System.out.println(":"+ it1.getValue());
            return null;
        }
    
        public void setIt1(RichInputText it1) {
            this.it1 = it1;
        }
    
        public RichInputText getIt1() {
            return it1;
        }
    }
    

    PageB

    
    
      
    
    

    BeanB

    package view;
    
    import oracle.adf.view.rich.context.AdfFacesContext;
    
    public class B {
        String valForOutputText;
        public B() {
            super();
         valForOutputText =  AdfFacesContext.getCurrentInstance().getPageFlowScope().get("p_user").toString();
        }
    
        public void setValForOutputText(String valForOutputText) {
            this.valForOutputText = valForOutputText;
        }
    
        public String getValForOutputText() {
            return valForOutputText;
        }
    }
    

    If you need a source for complete project to send a message to me ([email protected]), TaskFlow and .jspx page not included and I think that above code enough to solve your problem...

    -Suresh

  • [Beginner] Best practices for Backing Bean, data binding

    Hello world


    I followed a course of oracle in November ' Oracle Fusion Middleware 11g: Creating Applications with ADF I '

    Awesome, now I know what are the different parts of the framework.

    But now, I would go a little in depth.

    Here's a simple example

    Login page
    Backing Bean
    Session Bean
    Read only the View (the view selection) object
    Application module

    We have a user name and password in a table, but the password is encrypted in the column, in fact, is the checksum of the password.

    Here's what should be done.

    Login (username, password) Page-> proceed button-> to get the data of VO-> compare usernames-> transform password from the login page (MD5)-> compare him the password of database->
    assignment of params session bean-> redirect to Connexion2 page.

    Here's what I actually

    I have an AM listening with a java class having a doLogin (String username, String password) method with a return value of string.

    This method is exposed to the UI via a client interface.

    Here are my questions.

    Where can I check and turn all these params. In playback only VO via a class Java tuned, which extends ViewRowImpl or listening AM class java?

    And now for the session bean where I have to instantiate. I guess the Backing Bean.

    Wouldn't be better to call the client interface of the bean to support, then instantiate the session bean, with params from AOS, in this BackBean.

    I so much question that I don't know where to start. :-(

    Sincerely for your help.

    Senecaux Davis

    Hello

    If you want to keep the information for the duration of session, create a managed bean and configure it to session scope. If you need to access you can use EL directly or from Java in another managed bean (or bean backing) whereby the bean is instantiated. You can also use managed properties to pass the reference of a bean to support session bean.

    As for the location of the method, you must use a View object to query the user table just the user name. You read the encrypted password (assuming a single user entry is found) and compare it with the provided password. You return true/false value and use an OperationBinding in a bean managed to access the customer interface method through the ADF (action method) link layer

    OperationBinding operation = bindings.get ("login") (OperationBinding);
    operation.getParamsMap () .put ("username", username);
    operation.getParamsMap () .put ("passwd", pw);

    Boolean result = operation.execute ();

    ...

    Frank

  • How to call a stored procedure with a REF CURSOR output parameter

    I'm looking forward to example calling a function/stored procedure with a REF CURSOR output parameter and get the result.
    In other words, I have a stored function/procedure that runs a SELECT statement using the OCI library and then he could get the values of each row and each column.

    I put a code snippet, it have only the main thing to call a simple stored procedure and to print the name of each column of the cursor, but I couldn t to print out values in the table that calls the stored procedure.
    I understand that the next step is to call an OCIStmtFetch.
    How to associate the slider with the OCIStmtFetch?

    If you need more information, just tell me.

    I use ANSI C with HP - UX (HP - UX C) operating system and Oracle 10 g.


    Kind regards.

    Antonio Garcia


    / * callOracleSP * /.

    #include < stdio.h >
    #include < string.h >
    #include < oci.h >
    #include < stdlib.h > to

    char * pConnectChar = "Server";
    char * pUsernameChar = "user";
    char * pPasswordChar = "passwd";
    char * sqlCharArray1 = "BEGIN SP_GETCITIES (:,: c); END; « ;
    int retval;
    UB4 parmcnt = 0;
    UB4 pos2 = 0;
    text * pcoln [20];
    UB4 namelen [20];
    char state_key [5];

    OCIStmt * pOciStatement;
    OCIStmt * pOciStatCursor;
    OCIError * pOciError;
    OCIEnv * pOciEnviron;
    OCIServer * pOciServer;
    OCISession * pOciSession;
    OCISvcCtx * pOciServiceContext;
    OCIBind * pOciBind [500];
    OCIParam * pOciParam;


    int main()
    {
    retval = OCIEnvCreate (& pOciEnviron, OCI_DEFAULT, NULL, NULL, NULL, NULL, 0, NULL);
    retval = OCIEnvInit (& pOciEnviron, OCI_DEFAULT, 0, NULL);
    retval = OCIHandleAlloc (pOciEnviron, (void *) & pOciError, OCI_HTYPE_ERROR, 0, NULL);
    retval = OCIHandleAlloc (pOciEnviron, (void *) & pOciServiceContext, OCI_HTYPE_SVCCTX, 0, NULL);
    retval = OCIHandleAlloc (pOciEnviron, (void *) & pOciStatement, OCI_HTYPE_STMT, 0, NULL);

    retval = OCILogon (pOciEnviron, pOciError, & pOciServiceContext,(unsigned char *) pUsernameChar,
    strlen (pUsernameChar), (unsigned char *) pPasswordChar, strlen (pPasswordChar).
    (unsigned char *) pConnectChar, strlen (pConnectChar));
    printf ("retval=%d\n",retval OCILogon);

    retval = OCIStmtPrepare (pOciStatement, pOciError, (unsigned char *) sqlCharArray1, strlen (sqlCharArray1),)
    OCI_NTV_SYNTAX, OCI_DEFAULT);
    printf ("StmtPrepare retval=%d\n",retval);

    retval = OCIHandleAlloc (pOciEnviron, (void *) & pOciStatCursor, OCI_HTYPE_STMT, 0, NULL);
    retval = 1 OCIBindByPos(pOciStatement,&pOciBind[0], pOciError, (ub4), (void *) & state_key,)
    ((sb4) sizeof (state_key), SQLT_STR, (void *) 0, (ub2 *) 0, (ub2 *) 0, (ub4) 0, (ub4 *) 0, OCI_DEFAULT (ub4));
    printf ("BindByPos OCI_HTYPE_STMT retval=%d\n",retval);

    retval = OCIBindByPos(pOciStatement,&pOciBind[1], pOciError, (ub4) 2, (void *) & pOciStatCursor,)
    ((sb4) 0, SQLT_RSET, (void *) 0, (ub2 *) 0, (ub2 *) 0, (ub4) 0, (ub4 *) 0, OCI_DEFAULT (ub4));
    printf ("BindByPos OCI_HTYPE_STMT retval=%d\n",retval);

    strcpy (state_key, 'ca');

    retval = OCIStmtExecute (pOciServiceContext, pOciStatement, pOciError, (ub4) 1, (ub4) 0,)
    (OCISnapshot *) NULL, (OCISnapshot *) NULL, OCI_DEFAULT (ub4));
    printf ("StmtExecute retval=%d\n",retval);

    / * How to get the values of the cursor? */

    / * Number of parameters of the cursor * /.
    OCIAttrGet ((void *) pOciStatCursor, OCI_HTYPE_STMT (ub4), (void *) & parmcnt,(ub4 *) 0,)
    (ub4) (OCI_ATTR_PARAM_COUNT, pOciError);
    printf ("\nNumber of the slider settings = %d\n",parmcnt);

    for (int pos = 1; pos < = (int) parmcnt; pos ++)
    {
    OCIAttrGet ((void *) pOciStatCursor, OCI_HTYPE_STMT (ub4), (void *) & pos2,(ub4 *) 0,)
    (ub4) (OCI_ATTR_CURRENT_POSITION, pOciError);
    retval = OCIParamGet ((void *) pOciStatCursor, OCI_HTYPE_STMT (ub4), pOciError, (void *) & pOciParam,)
    POS (ub4));
    OCIAttrGet pOciParam, (ub4) ((void*) OCI_DTYPE_PARAM,(void*) & pcoln [pos - 1],(ub4 *) & namelen [pos-1],)
    (ub4) OCI_ATTR_NAME,(OCIError *) pOciError);
    }
    for (int i = 1; i < = (int) parmcnt; i ++)
    printf ("%i\tNAME = % column. ("* s\n", i, namelen [i-1], pcoln [i-1]);

    return 0;
    }


    This is the script that create the table, insert records and create the stored procedure

    CREATE TABLE CITIES)
    STATE_CODE VARCHAR2 (2) NULL,
    CITY_CODE NUMBER (15.5) NULL,
    CITY_NAME VARCHAR2 (30) NULL
    )
    /


    INSERT INTO CITIES (STATE_CODE, CITY_CODE, CITY_NAME)
    VALUES ('CA', 30, 'SAN DIEGO')
    /
    INSERT INTO CITIES (STATE_CODE, CITY_CODE, CITY_NAME)
    VALUES ('CA', 40 'SACRAMENTO')
    /
    INSERT INTO CITIES (STATE_CODE, CITY_CODE, CITY_NAME)
    VALUES ('FL', 10, 'MIAMI')
    /
    INSERT INTO CITIES (STATE_CODE, CITY_CODE, CITY_NAME)
    VALUES ('FL', 20, 'ORLANDO')
    /
    INSERT INTO CITIES (STATE_CODE, CITY_CODE, CITY_NAME)
    VALUES ('NEW YORK', 10, 'NEW YORK')
    /
    INSERT INTO CITIES (STATE_CODE, CITY_CODE, CITY_NAME)
    VALUES ('NEW YORK', 20, 'ALBANY')
    /
    INSERT INTO CITIES (STATE_CODE, CITY_CODE, CITY_NAME)
    VALUES ('CA', 10, 'LOS ANGELES')
    /
    INSERT INTO CITIES (STATE_CODE, CITY_CODE, CITY_NAME)
    VALUES ('CA', 20, 'SAN FRANCISCO')
    /


    CREATE or REPLACE PACKAGE globalPkg AUTHID CURRENT_USER AS
    / * The following is specific global variables T/SQL. */
    TYPE RCT1 IS REF CURSOR; / * new cursor low definition * /.
    END globalPkg;
    /



    CREATE OR REPLACE PROCEDURE SP_ADDCITY)
    P_STATE_CODE IN VARCHAR,
    P_CITY_CODE NUMBER,
    P_CITY_NAME IN VARCHAR2,
    P_RETURN IN NUMBERS)
    AS
    StoO_error INTEGER;
    StoO_selcnt INTEGER;
    StoO_rowcnt INTEGER;
    StoO_errmsg VARCHAR2 (255);

    BEGIN
    StoO_rowcnt: = 0;
    StoO_error: = 0;
    StoO_selcnt: = 0;
    P_RETURN: = 0;
    INSERT INTO CITIES (STATE_CODE, CITY_CODE, CITY_NAME)
    VALUES (P_STATE_CODE, P_CITY_CODE, P_CITY_NAME);
    StoO_rowcnt: = number of LINES SQL %;
    EXCEPTION
    WHEN TOO_MANY_ROWS THEN
    StoO_rowcnt: = 2;
    WHILE OTHERS THEN
    StoO_rowcnt: = 0;
    StoO_selcnt: = 0;
    StoO_error: = SQLCODE;
    StoO_errmsg: = SQLERRM;
    IF StoO_error! = 0 THEN
    BEGIN
    P_RETURN: = 1;
    RETURN;
    END;
    END IF;
    END;
    /

    CREATE OR REPLACE PROCEDURE SP_GETCITIES)
    STATE_KEY IN VARCHAR,
    RC1 IN OUT globalPkg.RCT1)
    AS
    StoO_error INTEGER;
    StoO_selcnt INTEGER;
    StoO_rowcnt INTEGER;
    StoO_errmsg VARCHAR2 (255);
    BEGIN
    StoO_rowcnt: = 0;
    StoO_error: = 0;
    StoO_selcnt: = 0;
    OPEN FOR RC1
    SELECT STATE_CODE, CITY_CODE, FRANCISCO
    CITIES
    WHERE STATE_CODE = STATE_KEY
    ORDER BY CITY_CODE;
    StoO_rowcnt: = number of LINES SQL %;
    EXCEPTION
    WHILE OTHERS THEN
    StoO_rowcnt: = 0;
    StoO_error: = SQLCODE;
    StoO_errmsg: = SQLERRM;
    END;
    /

    Hi Antonio,.

    I see this:

    c_buf=(ub1 **)calloc(sizeof(ub1 *),3);
    
    ...
    
    rc=OCIDefineByPos(pOciStatCursor,&pdef,(OCIError *)pOciError,pos,c_buf[pos-1],size+1,(ub2)type,(dvoid *)c_indp[pos-1],(ub2 *)0,(ub2 *)0,OCI_DEFAULT);
    

    That I don't understand. You allocate space for 3 pointers ub1 but I don't see where these pointers are then initialized to point to where the data is to be stored.

    I do not read correctly?

    Sorry for posting code long, but here is an example of code that I have. It is much more 'code' for your code, but maybe that will be enough...

    NOTE: This is just the code example and not rigorous. For example, I don't check the memory, allocations etc in this code!

    Kind regards

    Mark

    #ifdef WIN32
    #define _CRT_SECURE_NO_DEPRECATE 1
    #endif
    
    #include 
    #include 
    #include 
    #include 
    
    void checkerr(sword status, OCIError *errhp);
    
    int main(int argc, char *argv[]) {
      OCIEnv      *envhp = NULL;  /* OCI Environment handle     */
      OCIError    *errhp = NULL;  /* OCI Error handle           */
      OCISvcCtx   *svchp = NULL;  /* OCI Service Context handle */
      OCIServer   *srvhp = NULL;  /* OCI Server handle          */
      OCISession  *usrhp = NULL;  /* OCI User Session handle    */
    
      OCIStmt     *stmtp = NULL;  /* OCI Statement handle       */
      OCIStmt     *cursr = NULL;  /* OCI Statement handle       */
    
      OCIParam    *prmp1 = NULL;  /* OCI Parameter handle       */
      OCIParam    *prmp2 = NULL;  /* OCI Parameter handle       */
      OCIParam    *prmp3 = NULL;  /* OCI Parameter handle       */
    
      OCIDefine   *defp1 = NULL;  /* OCI Define handle          */
      OCIDefine   *defp2 = NULL;  /* OCI Define handle          */
      OCIDefine   *defp3 = NULL;  /* OCI Define handle          */
    
      OCIBind     *bndp1 = NULL;  /* OCI Bind handle            */
      OCIBind     *bndp2 = NULL;  /* OCI Bind handle            */
      OCIBind     *bndp3 = NULL;  /* OCI Bind handle            */
    
      /* used to hold column width */
      ub2 col_width;
    
      /* used to set the prefetch count */
      ub4 prefetch_count = 32;
    
      /* will hold output from database */
      oratext *pEmpId = NULL;
      oratext *pFirstName = NULL;
      oratext *pLastName = NULL;
    
      /* the anonymous block to execute */
      /* this opens a ref cursor        */
      oratext *sqlstmt = "begin " \
                         "  open :1 for " \
                         "  select   to_char(employee_id), " \
                         "           first_name, " \
                         "           last_name " \
                         "  from     hr.employees " \
                         "  order by last_name, " \
                         "           first_name; " \
                         "end;";
    
      /* used to hold the results of each OCI call */
      sword result = 0;
    
      /* Initialize and create a default environment  */
      result = OCIEnvCreate(&envhp,
                            OCI_DEFAULT,
                            (dvoid *) 0,
                            0,
                            0,
                            0,
                            (size_t) 0,
                            (dvoid **) 0);
    
      /* allocate an error handle */
      result = OCIHandleAlloc((dvoid *) envhp,
                              (dvoid **) &errhp,
                              OCI_HTYPE_ERROR,
                              0,
                              (dvoid **) 0);
    
      /* allocate a service context handle */
      result = OCIHandleAlloc((dvoid *) envhp,
                              (dvoid **) &svchp,
                              OCI_HTYPE_SVCCTX,
                              0,
                              (dvoid **) 0);
    
      /* allocate a server handle */
      result = OCIHandleAlloc((dvoid *) envhp,
                              (dvoid **) &srvhp,
                              OCI_HTYPE_SERVER,
                              0,
                              (dvoid **) 0);
    
      /* allocate a user session handle */
      result = OCIHandleAlloc((dvoid *) envhp,
                              (dvoid **) &usrhp,
                              OCI_HTYPE_SESSION,
                              0,
                              (dvoid **) 0);
    
      /* create a server context using the "ORADEMO" database */
      result = OCIServerAttach(srvhp,
                               errhp,
                               "ORADEMO",
                               (ub4) strlen("ORADEMO"),
                               OCI_DEFAULT);
    
      /* set the server attribute in the service context handle */
      result = OCIAttrSet((dvoid *) svchp,
                          OCI_HTYPE_SVCCTX,
                          (dvoid *) srvhp,
                          (ub4) 0,
                          OCI_ATTR_SERVER,
                          errhp);
    
      /* open the session with the database */
      /* using external authentication      */
      result = OCISessionBegin(svchp,
                               errhp,
                               usrhp,
                               OCI_CRED_EXT,
                               OCI_DEFAULT);
    
      /* set the user session attribute in the service context handle */
      result = OCIAttrSet((dvoid *) svchp,
                          OCI_HTYPE_SVCCTX,
                          (dvoid *) usrhp,
                          (ub4) 0,
                          OCI_ATTR_SESSION,
                          errhp);
    
      /* allocate the statement handle */
      result = OCIHandleAlloc((dvoid *) envhp,
                              (dvoid **) &stmtp,
                              OCI_HTYPE_STMT,
                              0,
                              (dvoid **) 0);
    
      /* prepare the statement for execution */
      result = OCIStmtPrepare(stmtp,
                              errhp,
                              sqlstmt,
                              (ub4) strlen((char *) sqlstmt),
                              OCI_NTV_SYNTAX,
                              OCI_DEFAULT);
    
      /* allocate the handle for the ref cursor */
      result = OCIHandleAlloc((dvoid *) envhp,
                              (void **) &cursr,
                              OCI_HTYPE_STMT,
                              0,
                              NULL);
    
      /* bind the ref cursor parameter */
      result = OCIBindByPos(stmtp,
                            &bndp1,
                            errhp,
                            1,
                            &cursr,
                            0,
                            SQLT_RSET,
                            NULL,
                            0,
                            NULL,
                            0,
                            0,
                            OCI_DEFAULT);
    
      /* execute the statement */
      result = OCIStmtExecute(svchp,
                              stmtp,
                              errhp,
                              1,
                              0,
                              NULL,
                              NULL,
                              OCI_DEFAULT);  
    
      /* get parameter descriptor for first column */
      result = OCIParamGet((dvoid *) cursr,
                           OCI_HTYPE_STMT,
                           errhp,
                           (dvoid **) &prmp1,
                           (ub4) 1);
    
      /* get parameter descriptor for second column */
      result = OCIParamGet((dvoid *) cursr,
                           OCI_HTYPE_STMT,
                           errhp,
                           (dvoid **) &prmp2,
                           (ub4) 2);
    
      /* get parameter descriptor for third column */
      result = OCIParamGet((dvoid *) cursr,
                           OCI_HTYPE_STMT,
                           errhp,
                           (dvoid **) &prmp3,
                           (ub4) 3);
    
      /* get the first column width in characters */
      result = OCIAttrGet((dvoid*) prmp1,
                          (ub4) OCI_DTYPE_PARAM,
                          (dvoid*) &col_width,
                          (ub4 *) 0,
                          (ub4) OCI_ATTR_DATA_SIZE,
                          errhp);
    
      /* allocate memory to hold the result */
      pEmpId = (oratext *) malloc(sizeof(oratext) * (col_width + 1));
    
      /* define the first column in the results */
      result = OCIDefineByPos(cursr,
                              &defp1,
                              errhp,
                              1,
                              (dvoid *) pEmpId,
                              (sword) col_width + 1,
                              SQLT_STR,
                              (dvoid *) NULL,
                              (ub2 *) 0,
                              (ub2 *) 0,
                              OCI_DEFAULT);
    
      /* get the second column width in characters */
      result = OCIAttrGet((dvoid*) prmp2,
                          (ub4) OCI_DTYPE_PARAM,
                          (dvoid*) &col_width,
                          (ub4 *) 0,
                          (ub4) OCI_ATTR_DATA_SIZE,
                          errhp);
    
      /* allocate memory to hold the result */
      pFirstName = (oratext *) malloc(sizeof(oratext) * (col_width + 1));
    
      /* define the second column in the results */
      result = OCIDefineByPos(cursr,
                              &defp2,
                              errhp,
                              2,
                              (dvoid *) pFirstName,
                              (sword) col_width + 1,
                              SQLT_STR,
                              (dvoid *) NULL,
                              (ub2 *) 0,
                              (ub2 *) 0,
                              OCI_DEFAULT);
    
      /* get the third column width in characters */
      result = OCIAttrGet((dvoid*) prmp3,
                          (ub4) OCI_DTYPE_PARAM,
                          (dvoid*) &col_width,
                          (ub4 *) 0,
                          (ub4) OCI_ATTR_DATA_SIZE,
                          errhp);
    
      /* allocate memory to hold the result */
      pLastName = (oratext *) malloc(sizeof(oratext) * (col_width + 1));
    
      /* define the third column in the results */
      result = OCIDefineByPos(cursr,
                              &defp3,
                              errhp,
                              3,
                              (dvoid *) pLastName,
                              (sword) col_width + 1,
                              SQLT_STR,
                              (dvoid *) NULL,
                              (ub2 *) 0,
                              (ub2 *) 0,
                              OCI_DEFAULT);
    
      /* loop through and print the results */
      while ((result = OCIStmtFetch(cursr,
                                    errhp,
                                    (ub4) 1,
                                    (ub2) OCI_FETCH_NEXT,
                                    (ub4) OCI_DEFAULT)) == OCI_SUCCESS)
      {
        printf("Employee ID: %s\n", pEmpId);
        printf(" First Name: %s\n", pFirstName);
        printf("  Last Name: %s\n\n", pLastName);
      }
    
      /* free allocated memory */
      free(pEmpId);
      free(pFirstName);
      free(pLastName);
    
      pEmpId = NULL;
      pFirstName = NULL;
      pLastName = NULL;
    
      /* terminate the session with the database */
      result = OCISessionEnd(svchp, errhp, usrhp, OCI_DEFAULT);
    
      /* detach from the server */
      result = OCIServerDetach(srvhp, errhp, OCI_DEFAULT);
    
      /* deallocate the environment handle     */
      /* OCI will deallocate the child handles */
      result = OCIHandleFree((dvoid *) envhp, OCI_HTYPE_ENV);
    
      return OCI_SUCCESS;
    }
    
    void checkerr(sword status, OCIError *errhp)
    {
      oratext errbuf[512];
      sb4 errcode = 0;
    
      switch (status) {
        case OCI_SUCCESS:
          break;
    
        case OCI_ERROR:
        case OCI_SUCCESS_WITH_INFO:
          (void) OCIErrorGet((dvoid *) errhp, (ub4) 1, (oratext *) NULL, &errcode, errbuf, (ub4) sizeof(errbuf), OCI_HTYPE_ERROR);
          (void) printf("Error: %.*s\n", sizeof(errbuf), errbuf);
          break;
    
        case OCI_NEED_DATA:
          (void) printf("Error - OCI_NEED_DATA\n");
          break;
    
        case OCI_NO_DATA:
          (void) printf("Error - OCI_NO_DATA\n");
          break;
    
        case OCI_INVALID_HANDLE:
          (void) printf("Error - OCI_INVALID_HANDLE\n");
          break;
    
        case OCI_STILL_EXECUTING:
          (void) printf("Error - OCI_STILL_EXECUTING\n");
          break;
    
        case OCI_CONTINUE:
          (void) printf("Error - OCI_CONTINUE\n");
          break;
    
        default:
          break;
      }
    }
    
  • EL is returned by backing bean, but page does not recognize it as an EL

    #applicationResources.properties
    test. Name = name

    on the page
    < af:intputText value = "#{bean.testName}" >

    bean
    {Bean #getTestName ()}
    Return '#{msg['test.name']}";// msg is packaged in faces-config. XML
    }


    what the rendered page is to not translate this EL, but the direct output as string ' #{msg ['test.name']}. "

    How could I accomplish this, to get the string "Name" to "test.name"?

    Thank you.

    Kevin.

    Published by: kevin.feng on May 20, 2009 22:07

    You may not use EL expressions directly in your Java bean code, you must use something like the following in your backing bean:

    String myValue = (String)FacesContext.getCurrentInstance().getApplication().createValueBinding("#{msg}");
    

    .. .the support in the example above, it's the expression returns a string, so the cast. If you can not get this to work, try to set it to:

    String myValue = (String)FacesContext.getCurrentInstance().getApplication().createValueBinding("#{'fish'}");
    

    .. .checking in the debugger that myValue decides to 'fish '. This will tell you that the resolver EL is working correctly, but there is something wrong with access of the words EL 'msg '.

    See you soon,.

    CM.

  • Is the version of the output parameter 32 bits 12.1.0.2 Oracle ODBC driver truncating values a known issue?

    We test 12.1.0.2 Oracle and ODBC see problems with the stored procedure being cut output parameter values and Associates when we use the 12.1.0.2 driver (we use the 32-bit version). We see a function sequence error every time that happens, too.

    For example, a stored procedure takes a NVARCHAR2 name and it out as a separate NVARCHAR2 output parameter. Using the 12.1.0.2 of the ODBC driver, if we "Basketball", the output can be "Basketball" (with a function sequence error).

    What is happening to many of our stored procedures. We do not get the errors of sequence of function or output truncated if parameters we use the 12.1.0.1 version of the ODBC driver to connect to our 12.1.0.2 database, or if we use the version 11.2.0.4 or 11.2.0.2 ODBC driver.

    Is this a known problem in the 12.1.0.2 ODBC driver?

    Thank you

    Daniel Meyer

    to submit a bug report to MOS

  • problem with the definition of a boolean as output parameter type

    Hi, I have a problem with the definition of type boolean as output parameter and it must return true if the query procedure retrieves one line else it shouuld return false

    Hi, I have a problem with the definition of type boolean as output parameter and it must return true if the query procedure retrieves one line else it shouuld return false

    And what are the issues? Its simple.

    SQL> create or replace procedure is_emp_exist
      2  (
      3     p_empno  in  emp.empno%type
      4   , p_result out boolean
      5  )
      6  as
      7     l_empno emp.empno%type;
      8  begin
      9     select empno into l_empno
     10       from emp
     11      where empno = p_empno;
     12
     13     p_result := true;
     14  exception
     15     when no_data_found then
     16        p_result := false;
     17  end;
     18  /
    
    Procedure created.
    
    SQL> declare
      2     l_result boolean;
      3  begin
      4     is_emp_exist (7788, l_result);
      5
      6     if l_result then
      7        dbms_output.put_line('Employee Exist');
      8     else
      9        dbms_output.put_line('Employee does not Exist');
     10     end if;
     11  end;
     12  /
    Employee Exist
    
    PL/SQL procedure successfully completed.
    
    SQL> declare
      2     l_result boolean;
      3  begin
      4     is_emp_exist (1000, l_result);
      5
      6     if l_result then
      7        dbms_output.put_line('Employee Exist');
      8     else
      9        dbms_output.put_line('Employee does not Exist');
     10     end if;
     11  end;
     12  /
    Employee does not Exist
    
    PL/SQL procedure successfully completed.
    
    SQL>
    
  • How to create a table of backing bean using the map &lt; String, List &lt; String &gt; &gt;?

    Hello

    I have a structured map < String, List < String > > plan in backing bean. I have a requirement to draw a table using this hash table which means map key as columns and its value is a list and it's the column values.

    Thank you

    Faizal

    Check this Create ADF Table during execution

    ~ Abhijit

  • Output parameter is not created to Invoke in

    Hello

    I have a procedure with one IN and an OUTPUT parameter, I configured the DB adapter to call this procedure. Now using BPEL, when I call this procedure in the input variable only activity invoke gets does not create variable pitch, setting the EXIT procedure. What could be the problem? Please help me.

    concerning

    Nasir

    Thanks for your reply.

    I solved the problem, in fact, I was using a mediator for the transformation component. Now I just removed and used the transformation without him and it works now

Maybe you are looking for

  • Update firmware 7.7.7 7.6.7

    My airport express and extreme are updated to firmware again offers: 7.7.7 and 7.6.7 for adults. It is not announced and what's inside

  • The choice of search bar are not kept

    The search engine bar offers and collects the search engines apparently at will, and personal choice settings are not retained. Until recently he always had my engine of Yahoo as my first, but it has now been taken over by Ask. Even if I remove it, h

  • Satellite M40-101 cannot update firmware

    I tried to update firmware for my dvd - rw on M40-101 laptop drive, but when I start the program it says only "the target disk is not connected". What to do with it? the problem is perhaps cause firmware for dvd - RW drive Matsu * a UJ-831, but the m

  • How do I know which firmware I should use? Annex A or Annex B?

    Hello everyone as I said on the subject... How can I identify my dsl if modem by using the annex a firmware or B one? read on the forum, but can not get accurate information... the only things I've had are Appendix A: ADSL Appendix B: ISDN that mean

  • NVIDIA GE FORCE 7950GX2 video card drivers

    I have problems with this video card work properly