Callprocedure which contain dynamic sql that retrieve multiple records from VB

hi dear i have problem with using dynamic sql to retrieve multipule records
and access them from visual basic
first i use Oracle8 Enterprise Edition Release 8.0.4.0.0
and odbc microsoft odbc for oracle version 2.573.4403.00
these are the whole processes to do that
please check the steps and if u find any error say to me....
1-table description
Name Null? Type
PORT_KEY NOT NULL VARCHAR2(4)
CITY_KEY NOT NULL VARCHAR2(4)
and port_key is primary key
2- package declaration
create or replace package ww1
as
procedure bound_type
(v_origin in varchar2,v_flag in varchar2
,city_key out dbms_sql.varchar2_table
end ;
3- package body
create or replace package body ww1
as
procedure bound_type
(v_origin in varchar2,v_flag in varchar2
,city_key out dbms_sql.varchar2_table
is
str varchar2(1000);
cur_hdl integer :=dbms_sql.open_cursor;
rows_processed integer;
indx integer :=1;
begin
str:='select ltrim(rtrim(city_key)) from special_airport ';
if ltrim(rtrim(upper(v_flag))) = upper('c')
then
str:=str | | ' where city_key=ltrim(rtrim(upper('| |''''| |v_origin| |''''| |')))';
elsif ltrim(rtrim(upper(v_flag))) = upper('a') then
str:= str | |' where port_key=ltrim(rtrim(upper('| |''''| |v_origin| |''''| |')))';
end if;
dbms_sql.parse(cur_hdl,str, dbms_sql.native );
dbms_sql.define_array(cur_hdl,1,city_key,10,indx);
rows_processed:=dbms_sql.execute(cur_hdl);
loop
rows_processed:=dbms_sql.fetch_rows(cur_hdl);
dbms_sql.column_value(cur_hdl,1,city_key);
exit when rows_processed != 10;
end loop;
dbms_sql.close_cursor(cur_hdl);
end bound_type;
end ww1;
4- code for calling stored procedure from visual basic
dim c As New ADODB.Connection
Dim cmd As New ADODB.Command
Dim rs As New ADODB.Recordset
c.Open "dsn=dsnName;uid=uidValue;pwd=pwdValue"
With cmd
Set .ActiveConnection = c
.CommandType = adCmdText
'---------(call bound_type stored procedure)--------------
.Parameters.Append .CreateParameter(, adBSTR, adParamInput, , "bwi")
.Parameters.Append .CreateParameter(, adBSTR, adParamInput, , "a")
.CommandText = "{call fares_procedures.bound_type (?,?,{resultset 10, city_key }) }"
End With
Set rs.Source = cmd
rs.Open
While Not rs.EOF
z = rs.Fields("city_key")
rs.MoveNext
Wend
Set cmd = Nothing
rs.Close
Set rs = Nothing
c.Close
Set c = Nothing
***********result get error*************
please check the code and steps and if u find any error contact me
thanks any way
null

hi every one i got a simple solusion and its faster than dbms_sql package by 1.5 to 3 times...but it works only for oracle 8i or higher......
after concatenat the string of dynamic sql
but it in a ref cursor and loop on it
TYPE VAR_TABLE IS TABLE OF VARCHAR2(40)
INDEX BY BINARY_INTEGER;
procedure bound_type
(v_origin in varchar2,v_flag in varchar2
,city_key out var_table )
is
str varchar2(1000);
type curtype is ref cursor;
sa_cur curtype;
i integer default 1;
begin
str:='select ltrim(rtrim(city_key)) from special_airport ';
if ltrim(rtrim(upper(v_flag))) = upper('c')
then
str:=str | | ' where city_key=ltrim(rtrim(upper('| |''''| |v_origin| |''''| |')))';
elsif ltrim(rtrim(upper(v_flag))) = upper('a') then
str:= str | |' where port_key=ltrim(rtrim(upper('| |''''| |v_origin| |''''| |')))';
end if;
open sa_cur for str;
loop
fetch sa_cur into city_key(i);
exit when sa_cur%notfound;
i:=i+1;
end loop;
close sa_cur;
end bound_type;
null

Similar Messages

  • Stored pl/sql procedure retrieving similar records from different tables using

    Hi all I'm trying to retrieve the employee num and employee name if they are both a driver and mechanic
    I'm script my own procedure and it compiles with no issue but when i try to execute it. they will show me this error.
    Error starting at line 29 in command:
    EXECUTE VERIFY(1,'John Smith')
    Error report:
    ORA-01422: exact fetch returns more than requested number of rows
    ORA-06512: at "CARSON.VERIFY", line 8
    ORA-06512: at line 1
    01422. 00000 -  "exact fetch returns more than requested number of rows"
    *Cause:    The number specified in exact fetch is less than the rows returned.
    *Action:   Rewrite the query or change number of rows requested
    This is how my procedure look like:
    CREATE OR REPLACE PROCEDURE VERIFY(
    enum IN NUMBER,
    ename IN VARCHAR) IS
    empnum NUMBER;
    empname VARCHAR(50);
    Fail EXCEPTION;
    BEGIN
    select employee.e#, employee.name
    into empnum, empname
    from employee join driver
    on driver.e# = employee.e#
    join mechanic
    on driver.e# = enum;
    EXCEPTION
    WHEN Fail THEN
    dbms_output.put_line('OK');
    END VERIFY;
    and this is how i execute the procedure
    EXECUTE VERIFY(1,'John Smith');
    so may i know what have gone wrong? would be glad if someone is able to enlighten me.

    No need for a loop.
    Just make sure that your query always returns at most one row. Adding a predicate like 'where rownum=1' is a way to achieve that:
    select employee.e#
    ,      employee.name
    into   empnum
    ,      empname
    from   employee join driver on driver.e# = employee.e#
                    join mechanic on driver.e# = enum
    where rownum = 1;

  • I can't seem to get GB to recognize my Behringer X1222 USB Mixer. It will record, but shouldn't I be able to see and/or select which input channel(s) that I will record from? Can I record more than one channel at a time, and record multi tracks?

    I can't seem to get GarageBand to recognize my Behringer X1222 USB Mixer. It will record, but only on the generic "USB Input, without seeing or letting me select the input channel from the mixer. Can't find any drivers from Behringer. How do I getGB to "see" the mixer? Thanks, I'm a newbie to Macs in genreal, and recording...

    viiram wrote:
    It will record, but only on the generic "USB Input, without seeing or letting me select the input channel from the mixer.
    the x1222 includes a 2 channel audio interface, 2 channels are all you can get from it.
    the most you can do is record to 2 tracks at a time; skim this tute to see how:
    http://www.bulletsandbones.com/GB/Tutorials.html#allaboutrecording2tracks
    (Let the page FULLY load. The link to your answer is at the top of your screen)

  • How do I retrieve multiple fields from SQL?

    I am trying to retrieve multiple fields from a SQL table such as customer name, address and phone number by entering the customer # in my form either in a text field or a data drop down list.  I can get the drop downlist to populate from the table, however the other fields do not coorespond to my selection.  It appears that they are from the first record in the table regardless of which customer # I select from the drop down list.  Any assistance would be greatly appreciated.

    Hi Carol.
    Tried to follow Marks link but didn’t work.
    Try this one.
    http://blogs.adobe.com/formbuilder/2006/09/selecting_specific_database_records.html
    At the moment I am about to start on this process with my form, so if you have any tips , please pass them on.
    Raffe.

  • How to build forms which retrieve multiple records

    Hi everyone,
    I am newbie to APEX.I have a question in FORM building in APEX.In oracle FORMS(6i) has the capability to search with any fileld on it . there is
    an option to search
    data with the id or department or name field.If it retrieves more than one record there
    is navigation controls to move from one record to another.
    Can we build same kind of FORMS in APEX .I didnt find any wizard to build such kind of
    FORM which has both inserting and querying capability.
    I found one option for that in apex (FROM with report).In the report section i can query
    for the records and link to FORM which populates all the data in the FORM. Is that the
    only option do we have in APEX to build the forms which gives multiple records as
    output.
    anyone plz help me in solving this
    thank u

    can anyone please help me in solving this issue,
    Is it possible to build such kind of forms with retrieves multiple records in APEX.
    Thanks

  • I should have said in my previous message that the iphoto program I am using is for an ipad 2.  I simply want to know how to delete an edited album which contains one photo that I do not want taking up space.

    I should have said in my previous message that the iphoto program I am using is for an ipad 2.  I simply want to know how to delete an edited album which contains one photo that I do not want taking up space.

    OK....I'm stumped.  The message you are seeing is typically there to protect someone from syncing with a different computer/iTunes account.  Is there any way anyone else has used your iPad and possibly connected it to their computer?

  • How to retrieve multiple data from table and represent it in jsp page

    Hi
    The below JavaScript code is used to add row in the table when I want to add multiple row data into table for single entry no field.
      <html>  function addRow()
                i++;
                var newRow = document.all("tblGrid").insertRow();
                var oCell = newRow.insertCell();
                oCell.innerHTML = "<input name='srno"+i+"' type='text' id='srno"+i+"' size=10>";
                oCell = newRow.insertCell();
                oCell.innerHTML = "<input name='itmcd"+i+"' type='text' id='itmcd"+i+"' size='10'>";
                oCell = newRow.insertCell();
                oCell.innerHTML = "<input name='itmnm"+i+"' type='text' id='itmnm"+i+"' size='15'>";
                oCell = newRow.insertCell();
                oCell.innerHTML = "<input name='indentqty"+i+"' type='text' id='indentqty"+i+"' size='10'>";
                oCell = newRow.insertCell();
                    oCell.innerHTML = "<input name='uom"+i+"' type='text' id='uom"+i+"' size='10'><input type='hidden' name='mcode"+i+"'id='mcode"+i+"'>";
                oCell = newRow.insertCell();
                oCell.innerHTML = "<input name='packqty"+i+"' type='text' id='packqty"+i+"' size='10'>";
                oCell = newRow.insertCell();
                oCell.innerHTML = "<input name='packuom"+i+"' type='text' id='packuom"+i+"' size='10'><input type='hidden' name='pack"+i+"' id='pack"+i+"'>";
                oCell = newRow.insertCell();
                oCell.innerHTML = "<input name='rate"+i+"' type='text' id='rate"+i+"' size='10'>";
                oCell = newRow.insertCell();
                oCell.innerHTML = "<input name='dor"+i+"' type='text' id='dor"+i+"' size='0' onClick='"+putdate(this.name)+"'>";           
                oCell = newRow.insertCell();
                oCell.innerHTML = "<input name='bccode"+i+"' type='text' id='bccode"+i+"' size='10'></td><input type='hidden' name='bcc"+i+"' id='bcc"+i+"'>";
                oCell = newRow.insertCell();
                oCell.innerHTML = "<input name='cccode"+i+"' type='text' id='cccode"+i+"' size='10'></td><input type='hidden' name='ccc"+i+"' id='ccc"+i+"'>";
                oCell = newRow.insertCell();
                oCell.innerHTML = "<input name='remark2"+i+"' type='text' id='remark2"+i+"' size='20'>";           
                oCell = newRow.insertCell();
                oCell.innerHTML = "<input type='button' value='Delete' onclick='removeRow(this);' />";
               // oCell = newRow.insertCell();
               // oCell.innerHTML = "<input type='button' value='Clear' onclick='clearRow(this);' />";
            }<html>  Then this data are send to the next Servlet for adding into two table.
    My header portion data are added into one table which added only one row in table. while footer section data are added into the no of rows in another table dependent on No. of
    Rows added into jsp page.
    Here is an code for that logic.
    <html>
    ArrayList<String> mucode = new ArrayList<String>();
                                ArrayList<Integer> serials = new ArrayList<Integer>();
                                ArrayList<Integer> apxrate = new ArrayList<Integer>();
                                ArrayList<Integer> srname = new ArrayList<Integer>();
                                ArrayList<String> itcode = new ArrayList<String>();
                                ArrayList<String> itname = new ArrayList<String>();
                                ArrayList<Integer> iqnty = new ArrayList<Integer>();
                                ArrayList<String> iuom = new ArrayList<String>();
                                ArrayList<Integer> pqnty = new ArrayList<Integer>();
                                ArrayList<String> puom1 = new ArrayList<String>();
                               ArrayList<Integer> arate = new ArrayList<Integer>();
                                ArrayList<String> rdate = new ArrayList<String>();
                                ArrayList<String> bcs = new ArrayList<String>();
                                ArrayList<String> ccs = new ArrayList<String>();
                                ArrayList<String> remarkss = new ArrayList<String>();
                                //ArrayList<Integer> qtyrecs = new ArrayList<Integer>();
                                //ArrayList<String> dors = new ArrayList<String>();
                                //ArrayList<String> remarks = new ArrayList<String>();
                     String entryn = request.getParameter("entryno");       
                        String rows = request.getParameter("rows");
                        out.println(rows);  
                        //String Entryno = request.getParameter("entryno");
                       // out.println(Entryno);
                      int entryno = 0,reqqty = 0,srno = 0,deprequest = 0,rowcount = 0;
                                if(!Entryno.equals("")){
                                        entryno = Integer.valueOf(Entryno);
                                if(!rows.equals("")){
                                        rowcount = Integer.valueOf(rows);
                               for(int i=1;i<=rowcount;i++){
                                        if(request.getParameter("srno"+i)!=null){
                                                serials.add(Integer.valueOf(request.getParameter("srno"+i).trim()));
                                                out.println(serials.size());
                                for(int i=1;i<=rowcount;i++){
                                        if(request.getParameter("srno"+i)!=null){
                                                srname.add(Integer.valueOf(request.getParameter("srno"+i).trim()));
                                out.println(srname.get(0));
                                for(int i=1;i<=rowcount;i++){
                                        if(request.getParameter("itmcd"+i)!=null){
                                                itcode.add(request.getParameter("itmcd"+i).trim());
                                        } //out.println(itcode.get(i));
                                for(int i=1;i<=rowcount;i++){
                                        if(request.getParameter("itmnm"+i)!=null){
                                                itname.add(request.getParameter("itmnm"+i).trim());
                                        }//out.println(itname.get(i));
                                for(int i=1;i<=rowcount;i++){
                                        if(request.getParameter("indentqty"+i)!=null){
                                                iqnty.add(Integer.valueOf(request.getParameter("indentqty"+i).trim()));
                                for(int i=1;i<=rowcount;i++){
                                        if(request.getParameter("uom"+i)!=null){
                                                iuom.add(request.getParameter("uom"+i).trim());
                                        }//out.println(iuom.get(i));
                                for(int i=1;i<=rowcount;i++){
                                        if(request.getParameter("mcode"+i)!=null){
                                                mucode.add(request.getParameter("mcode"+i).trim());
                               for(int i=1;i<=rowcount;i++){
                                        if(request.getParameter("packqty"+i).equals("")){
                                          pqnty.add(0);
                                        }else
                                            pqnty.add(Integer.valueOf(request.getParameter("packqty"+i).trim()));
                                for(int i=1;i<=rowcount;i++){
                                        if(request.getParameter("pack"+i)!=null){
                                                puom1.add(request.getParameter("pack"+i).trim());
                                       }else
                                        puom1.add("");
                               for(int i=1;i<=rowcount;i++){
                                        if(request.getParameter("rate"+i).equals("")){                                     
                                            arate.add(0);
                                        }else
                                        arate.add(Integer.valueOf(request.getParameter("rate"+i).trim()));   
                     /* for(int i=1;i<=rowcount;i++){
                                        if(request.getParameter("rate"+i)!=null){
                                                arate.add(Integer.valueOf(request.getParameter("rate"+i).trim()));
                              for(int i=1;i<=rowcount;i++){
                                        if(request.getParameter("dor"+i)!=null){
                                                try{
                                                        rdate.add(dashdate.format(slashdate.parse(request.getParameter("dor"+i).trim())));
                                                }catch(ParseException p){p.printStackTrace();}
                                        }else
                                           { rdate.add("");}
                                   for(int i=1;i<=rowcount;i++){
                                 if(request.getParameter("bcc"+i)!=null){
                                                bcs.add(request.getParameter("bcc"+i).trim());
                                        }out.println(bcs.get(0));
                                for(int i=1;i<=rowcount;i++){
                                        if(request.getParameter("ccc"+i)!=null){
                                                ccs.add(request.getParameter("ccc"+i).trim());
                                        }out.println(ccs.get(0));
                                for(int i=1;i<=rowcount;i++){
                                    out.println("remark2");
                                        if(request.getParameter("remark2"+i)!=null){
                                                remarkss.add(request.getParameter("remark2"+i).trim());
                                        }out.println(remarkss.get(0));
                        ArrayList<String> Idate = new ArrayList<String>();
                        for(int i=1;i<=rowcount;i++){
                                        if(request.getParameter("dateindent"+i)!=null){
                                                try{
                                                        Idate.add(dashdate.format(dashdate.parse(request.getParameter("dateindent"+i).trim())));
                                                }catch(ParseException p){p.printStackTrace();}
                    String Rdate = dashdate.format(new java.util.Date());
                     String tdate = dashdate.format(new java.util.Date());    
                     // String Indentdate = dashdate.format(new java.util.Date());
                   //  String ApprovedT1 = dashdate.format(new java.util.Date());
                   //  String ApprovedT2 = dashdate.format(new java.util.Date());
                       // String ApprovedT1=" ";
                        //String ApprovedT2="";*/
                    String ApprovedT1= dashdate.format(new java.util.Date());
                   out.println (ApprovedT1);
                      String ApprovedT2=dashdate.format(new java.util.Date());
                       out.println(ApprovedT2);
                    String Indentdate=(dashdate.format(slashdate.parse(request.getParameter("dateindent").trim())));
                       out.println(Indentdate);
                        String Cocode ="BML001";  
                        out.println(Cocode);
                        String Deptcode = request.getParameter("dept1");
                        out.println(Deptcode);
                        String Empcode = request.getParameter("emp");
                        out.println(Empcode);
                        String Refno =request.getParameter("rtype"); 
                         out.println(Refno);
                        String Divcode = request.getParameter("todiv1");
                        out.println(Divcode);
                        String Usercode = "CIRIUS";    
                         String Whcode = request.getParameter("stor");
                        out.println(Whcode);
                        // String Itemgroupcode = request.getParameter("");
                         String Itemgroupcode ="120000";
                         out.println(Itemgroupcode);
                        String Supplytypecode = request.getParameter("stype");
                        out.println(Supplytypecode);
                        String Delcode = request.getParameter("deliverycode");
                        out.println(Delcode);
                        String Itemclass="WS";
                        out.println(Itemclass);
                        // String Itemclass = request.getParameter("iclass");
                       // out.println(Itemclass);
                        String unitcode = request.getParameter("uni");
                        out.println(unitcode);
                         String Todivcode = request.getParameter("todiv1");
                        out.println(Todivcode);
                        String Appxrate = request.getParameter("rate");
                        out.println(Appxrate);
                        String Srno = request.getParameter("srno");
                        out.println(Srno);                
                    /*    String Indqty = request.getParameter("indentqty");
                      out.println(Indqty);*/
                  String Itemcode = request.getParameter("itmcd");
                       out.println(Itemcode);
                       String Othersp = request.getParameter("remark1");
                        out.println(Othersp);
                        String Reqdt = request.getParameter("dor");
                        out.println(Reqdt);
                        String Munitcode = request.getParameter("mcode");
                        out.println(Munitcode);
                        String Packqty = request.getParameter("packqty");
                        out.println(Packqty);               
                        String Packuom = request.getParameter("pack");
                        out.println(Packuom);
                        String Remark2 = request.getParameter("remark2");
                        out.println(Remark2);
                        String BC = request.getParameter("bcc");
                        out.println(BC);
                        String CC = request.getParameter("ccc");
                        out.println(CC);
                        try{
                            st=connection.createStatement();
                            connection.setAutoCommit(false);
                            String sql="INSERT INTO PTXNINDHDR(COCODE,DEPTCODE,EMPCODE,APPROVEDT1,APPROVEDT2,INDDT,ENTRYNO,REFNO,REMARKS,DIVCODE,USERCODE,WHCODE,ITEMGROUPCODE,SUPTYPECODE,DELCODE,UNITCODE,TODIVCODE,ITEMCLASS)VALUES('"+Cocode+"','"+Deptcode+"','"+Empcode+"','"+ApprovedT1+"','"+ApprovedT2+"','"+Indentdate+"',"+Entryno+",'"+Refno+"','"+Othersp+"','"+Divcode+"','"+Usercode+"','"+Whcode+"','"+Itemgroupcode+"','"+Supplytypecode+"','"+Delcode+"','"+unitcode+"','"+Todivcode+"','"+Itemclass+"')";
                            out.println(sql);
                            st.addBatch(sql);
                            for(int i=0;i<serials.size();i++){
                                out.println("Inside the Statement");
                                String query3="test query for u";
                                out.println(query3);
                               String queryx="Insert into PTXNINDDTL(APXRATE,ENTRYNO,BRKNO,INDQTY,ITEMCODE,OTHERSPFCS,MUNITCODE,PACKQTY,PACKUOM,REMARKS,DIMSUBGRPCODE,DIMCODE,REQDT)VALUES("+arate.get(i)+","+entryno+","+srname.get(i)+","+iqnty.get(i)+","+itcode.get(i)+",'"+Othersp+"','"+mucode.get(i)+"',"+pqnty.get(i)+",'"+puom1.get(i)+"','"+remarkss.get(i)+"','"+bcs.get(i)+"','"+ccs.get(i)+"','"+rdate.get(i)+"')";
                               out.println(queryx);
                                st.addBatch(queryx);
                           int[] result=st.executeBatch();
                           connection.commit();
                           for(int k=0;k<result.length;k++)
                           out.println("rows updated by "+(k+1)+"insert sta:"+result[k]+"");
                        catch(BatchUpdateException bue)
                        out.println("error1;"+bue+"");
                        catch(SQLException sql)
                        out.println("error2;"+sql+"");
                        catch(Exception l)
                        out.println("error3;"+l+"");
    </html>
       Now I looking for to retrieve this footer section data available in multiple rows from footer table and present it in jsp page .
    I am finding difficulties in how to show this multiple row data for dynamic no of rows .i.e. variable no. of rows.
    I have able to show the data in Header portions of page in this ways
    here i am adding the part of code which shows the data from header part of table i.e from Header table
      <html>
    <h2 align="center"><b>Indent Preparation</b></h2>
        <div align="left">
            <table width="849" border="0" cellspacing="3" cellpadding="3" align="center">
                <tr>
                    <td ><div align="left"><b>Indent No.</b></div></td>
                    <td ><label>
                            <input name="indentno" type="text" id="indentno" size="15" value="" /><input type="hidden" name="no" id="no">
                    </label></td>
                    <td ><div align="center"><strong>Indent Date</strong></div></td>
                    <td ><label>
                            <div align="center">
                                <input name="dateindent" type="text" id="dateindent"value="<%=date1%>"/><input type="hidden" name="no" id="no">
                            </div>
                    </label></td>
                    <td> </td>
                    <td><div align="right"><strong>Entry No.</strong></div></td>
                     <%if(oper!=null && oper.equals("view") && hdrcode!=null && hdrdetails!=null){%>
            <td><input type="text" value="<%=hdrcode.get(3)%>" size="10"></td>
    <%}else{%>
                   <td><input type="text" name="entryno" id="entryno" value="<%=entryNo%>"/></td>
                             <%}%>
                            <div align="right"></div>
                </tr>
                <tr>
                    <td><b>Division</b></td>
                    <%if(oper!=null && oper.equals("view") && hdrcode!=null && hdrdetails!=null){%>
    <td><input type="text" value="<%=hdrdetails.get(9)%>" size="20"</td>
    <td><input type="hidden" name="div1" id="div1" value='<%=hdrcode.get(10)%>'></td>
    <%}else{%>
                   <td><input type="text" name="div" id="div" /></td>
                   <td><input type="hidden" name="div1" id="div1" /> </td>
              <%}%>
                    <td> </td>
                    <td> </td>
                    <td><div align="right"><strong>Unit</strong></div></td>
                   <%if(oper!=null && oper.equals("view") && hdrcode!=null && hdrdetails!=null){%>
    <td><input type="text" value="<%=hdrdetails.get(14)%>" size="20"</td>
    <td><input type="hidden" name="uni" id="uni" value='<%=hdrcode.get(12)%>'></td>
    <%}else{%>
                   <td><input type="text" name="unit" id="unit" /></td>
                   <td><input type="hidden" name="uni" id="uni" /> </td>
              <%}%>
                </tr>
                <tr>
    </html>
      Any suggestion on any above works is highly appreciated.
    Thanks and regards
    harshal

    Too much code. It's also not well intented nor formatted. I don't see a question either or it got lost in that heap of unformatted code.
    I will only answer the question in the thread's subject:
    How to retrieve multiple data from table and represent it in jsp pageTo retrieve, make use of HttpServletRequest#getParameterValues() and/or #getParameter().
    To display, make use of JSTL's c:forEach.

  • FWD: Re: Retrieving multiple rows from a database into morethan

    There are two ways to do this that I cn think of right off the bat.
    One is to create a class of objects that can receive the entire row, and
    give it methods that will return each of the individual objects that you are
    looking for when called. If you use INTO :ARRAY, you get the advantage of
    being able to pass the array anywhere in your system for the 'split up'
    processing.
    Two is to do basically the same thing, but instead doing the 'split up'
    during a for loop. This will appear to slow down your query, however, as
    extra processing will be occuring in terms of memory allocation and copying.
    I'm sure there other approaches. This was simply what came to mind at
    midnight, after a long day :-).
    At 01:33 AM 6/4/96 +0000, you wrote:
    Does anyone know of a way to retrieve multiple rows from a single table in an
    RDB database into more than 1 object, using a single SQL call?
    I have a single table that I wish to use some fields to populate one object
    and some others to populate another.
    The FOR clause only allows one object to be specified.
    The INTO :ARRAY clause also seems to only allow one object to be specified.
    I would appreciate any help.
    Regads,
    Steve Isaac
    Hydro Electric Commission
    Hobart TAS 7001
    Australia
    [email protected]
    James Urquhart Voice: (510)869-3400
    [email protected] Fax: (612)921-8243
    Forte Consulting

    wow, that was pleasant, the usual format goes:
    Newb: I have a problem, fix it for me
    Forum: Here's a link explaning the concept you obviously don't grasp
    Newb: No, fix it FOR me
    Forum: I'll fix you!
    Newb: WAAAAH!
    Forum: BAN!

  • Retrieve multiple records of  Business Object in a Application Service?

    Hi,
    I am working on CE71.
    I want to know how to retrieve multiple records of a Business Object in a Application Service?
    Regards,
    Rahul

    Hi,
    This can be achieved by adding find method on one or multiple attributes of the business object.
    Suppose There is a customer business object with attributes (name, id , city, country ). Now you can add findByCity operation that will return all the Customer Objects which have the City = as entered by user.
    Now this find operation can then be called by your application service and this list can then be returned as output of the application service.
    Hope this helps,
    Ashutosh

  • Retrieving Multiple Values from a table

    Dear Experts,
    Can anyone let me know how to retrieve multiple rows from a table using Oracle BPEL Database Adapter and assign it to a output variable?
    Regards,
    Pradeep.

    If the input XML Record is as follows
    Input xmlRecord:
    <EmployeeCollection>
    <Employee>
    <id>10</id>
    <lastName>Smith</lastName>
    </Employee>
    <Employee>
    <id>20</id>
    <lastName>Ram</lastName>
    </Employee>
    </EmployeeCollection>
    I'm getting the following output when used with either queryByExample or normal SELECT option with a WHERE condition
    <EmployeeCollection>
    <Employee>
    <id>10</id>
    <lastName>Smith</lastName>
    </Employee>
    </EmployeeCollection>
    Instead of all the records in the Employee table which meet the where condition?
    I NEED OUTPUT AS FOLLOWS:
    <EmployeeCollection>
    <Employee>
    <id>10</id>
    <lastName>Smith</lastName>
    </Employee>
    <Employee>
    <id>20</id>
    <lastName>Ram</lastName>
    </Employee>
    </EmployeeCollection>
    I'm using Transformation with for-each option
    Can some one help it is very urgent.
    Thanks & Regards,
    Murali Vikrala

  • SQL Command returns multiple records, but I see only one record in report

    I work with Crystal Reports XI R2 SP3 and Oracle 10g R2 database.
    I have an SQL Command that returns multiple records. Command name is "CommDivisionNames" and it returns column "CommDivisionNames.DIVISION_NAME". When I place this field into report details section of the report, I can see all 10 records returned and this is how it should be. I actually need this field to be placed in the report header section, and when I place the field there, then I see only the first record. I set that field as "can grow = true". When I do "browse field data" for this field, I see that all 10 records are there, but only the first one is displayed in report header section.
    I thought that I can place SQL Command field anywhere on the report (page header, footer, details) and that it will always show all records that it returns from the database. Can that be done?
    My "main part" of the report returns different set of records, and that's what I have in "report details" section. I need this list of divisions to be in the report header section, so user can see that the report was executed for DivA, DivC, DivE.
    Thank you,
    Milan

    sharonamt:
    Users select divisions from parameter, but the parameter multi values are division_numbers (1,5,10), not division_names. Division_names are visible in parameter_prompt_window as description, but parameter remembers only numbers and I don't know how I can reuse division_names later in formula.
    I do join for division_numbers and make them into one string variable and pass to sub-report, but I think that I can only get these division_names by calling an SQL command or calling stored procedure.
    If I try to do join({MySQLcommand.DIVISION_NAME}) I get error message "A string array is required here".
    Carl:
    I'm playing with cross-tab and I can use it to see all division_names in the report-header section. Since I need them in only one column or only one row, I have to edit cross-tab object and turn all unneeded border lines to white to make them look invisible. So, cross-tab could be a solution for my problem here.
    Another option could be to re-write my SQL command. Since I've read here that SQL command could be written in the same way as I would write a stored procedure, then I could use a bit more complex code to get all multiple division names from the database table into a local cursor, and then use do-while loop to concatenate them into one string, and then to return that string as one record (like 'DivA, DivB, DivC'), and then it should not be a problem to display only that one record/string in report header. It is my understanding that Crystal Reports can call stored procedure that works with many cursors/recordsets and CR will use only the last recordset from the stored procedure. Do you think it could be done this way?
    Thank you,
    Milan

  • How to get Multiple records from functions

    Hi Everyone
    Im new to this stuff. Im trying  through JCO. As far as the single recordsets like data of customer or article are concerned i get it through an array.
    But i wanted to retrieve
    1- Whole tables like (all articles)
    2- Selected articles. or Customer order details (articles in PO)
    That means multiple records in one go.
    Later on ill display it in JTables.
    Like for the past three days i was googling around. Thought like this ones not for my stomach. Came across this Forum. Thought its worth posting a request.
    Here is the code
    public String[] KSearch(String Knr) throws Exception{
                            String[] Result=new String[11];
                            IFunctionTemplate ftemplate= Con.repository.getFunctionTemplate("SucheKUNDE");
                            if (ftemplate == null)
                                    throw new Exception("Funktionstemplate nicht gefunden");
                            JCO.Function function = ftemplate.getFunction();
                            JCO.ParameterList input = function.getImportParameterList();
                            input.setValue(Knr,"FieldName");
                       JCO.Client client = JCO.getClient(Con.conPoolId);
                       client.execute(function);
                       JCO.ParameterList output = function.getExportParameterList();
                       Result[0]=output.getString("NAME");
                       Result[1]=output.getString("VORNAME");
                       Result[2]=output.getString("GDATE");
                       Result[3]=output.getString("TELEFON");
                       Result[4]=output.getString("MAIL");
                       Result[5]=output.getString("STRASSE");
                       Result[6]=output.getString("PLZ");
                       Result[7]=output.getString("ORT");
                       Result[8]=output.getString("KONTO");
                       Result[9]=output.getString("INSTITUT");
                       Result[10]=output.getString("BLZ");
                                                                                    JCO.releaseClient(client);
                       return Result;
    now instead of a single record what if im expecting a number of records, like what if i need customer over 25. Which means more than one. I have to get in tabular format so that i can display it in JTables.
    Hope it a bit illustrative.
    Regards
    Edited by: Aaron Maleck on Jan 5, 2008 7:35 AM

    public String[] KSearch(String Knr) throws Exception{
    String[] Result=new String11;
    IFunctionTemplate ftemplate= Con.repository.getFunctionTemplate("SucheKUNDE");
    if (ftemplate == null)
    throw new Exception("Funktionstemplate nicht gefunden");
    JCO.Function function = ftemplate.getFunction();
    JCO.ParameterList input = function.getImportParameterList();
    input.setValue(Knr,"FieldName");
    JCO.Client client = JCO.getClient(Con.conPoolId);
    client.execute(function);
    // Maybe here you should use a JCO.Table Class to get the //ExportParameters such as
    JCO.Table output = function.getTableParameterList().getTable( "tabelname" );
    // so you can use setRow() Function to get the information of the //relevant record. such as the 3. Costum
    output.setRow(3);// Record Number
    Result[0]=output.getString("NAME");
    Result[1]=output.getString("VORNAME");
    Result[2]=output.getString("GDATE");
    Result[3]=output.getString("TELEFON");
    Result[4]=output.getString("MAIL");
    Result[5]=output.getString("STRASSE");
    Result[6]=output.getString("PLZ");
    Result[7]=output.getString("ORT");
    Result[8]=output.getString("KONTO");
    Result[9]=output.getString("INSTITUT");
    Result10=output.getString("BLZ");
    JCO.releaseClient(client);
    return Result;
    &#65321;am not sure that works. But you can try it. and reply me to tell if it really works as i think.
    Hope helps.
    Amao

  • How to select multiple records from a TREE in the table

    HI,
    I have a tree structure which is in the table.When I open the node of the tree,all the subnodes are coming as one-one records in the table.I want to slect multiple record from this table.I applied onLeadSelect for this table,I can select only 1 record from the table.
    Can any one plz suggest me how to select multiple records from the table so that I can get all the data of those selected record.
    Regards
    -Sandip

    Rashmi/Kukku,
    First of all, Thanks for your help!
    Is there any other way in which we can access tables other than using BAPIs or RFCs?
    In my case, there is a table structure which has to be updated with values after validating a key. i don't think there is any RFC available now. do i need to create bapi/rfc for that?
    Krishna Murthy

  • Creating multiple records from 1 record in the source file for Import DM

    Hi Experts,
    Today I am working on an interface/import where I want to get the following result:
    Source file contains a records like:
    Account, Entity, DriverX
    Sales,EntityA,ZZ
    The BPC appset contains the 2 dimensions Account and Entity next to CostCenter dimension. The DriverX field in the source file is just additional information in the source file. However based on this DriverX we need to determine what CostCenter to choose but we also need to have the same record assigned to a second record in BPC.
    Following my example, based on DriverX value I need to create 2 records:
    Account, Entity, CostCenter,
    Sales,EntityA,CC1
    Sales,EntityA,CC2
    I don't have a problem assigning the record to 1 CostCenter based on DriverX value but I have a problem creating my second record. Does any of you have had the same "challenge" and if so would you like to share the solution for this?
    Best regards,
    Johan
    PS: I am working on SAP BPC, version 7.0 Microsoft version.

    Hi Greg,
    Many thanks for your answer. And yes this would be a solution. However I just simplified my case as the decision to create an second record and where to post is depending on more than 1 field in the source.
    But I will keep it in mind, because I also can opt for a solution to store data differently in BPC fac-tabels which will help me to use script logic.
    If it is not possible to create multiple records from a single records in the standard functionality in the Transformation and/or Conversion file, I have to create a custom DTSX or change my way of storing data.
    Anyone else who is having an alternative idea like Greg came up with?
    Please let it know!
    Best regards,
    Johan

  • Allow multiple records from this table to be displayed in the form is greyed out.

    I'm trying to add a second table to my main data source in an InfoPath 2010 form (database template), but the option to allow multiple records from this table to be displayed in the form is greyed out and I can't select it.
    Can someone please tell me how to correct this? I'm guessing that there might have to be something change in MS SQL because on other occasions I've have not encountered this problem when adding a second table.
    Any help would be greatly appreciated.
    Thanks.

    So I've found a work around, but I still don't know why I'm having the problem in the first place.
    I've been trying to relate the two tables by using the primary key in the parent table to a view of the child table that also includes primary key in the parent, e.g. the ORDER ID in the order table relating to the ORDER ID in the view of the order detail
    table. For whatever reason whenever I did that InfoPath prohibited the data source from returning multiple order details.
    My work around is to use views of both the order table and order details table that include the customer ID and to relate the two table in InfoPath using the customer ID. Now I get a data source that allows multiple order detail records. In order to get
    just the order details that I want that relate to a particular order, I use a rule that sets the order id in both the order and order details query data sets before executing the query (as opposed to just the order data set).
    Hope that's a clear explanation.

Maybe you are looking for

  • Windows 7 no longer requires hardware virtualization to run Win XP mode

     See this link  You still need to have Win 7 Pro of higher to run it.  The XP mode will use hardware virtualization if it's present.

  • FTPs - Status stuck in "Processing started"

    I am running PI7.0 SP10. I have a BPM conencting to a FTPs server to process multiple files into variable directories.  All works well - apart from... It is connecting to the Server okay, but not actually processing. In the Message monitoring, it say

  • How to use CDHDR and CDPOS tables

    Hello Gurus, How can the data be extracted from CDHDR and CDPOS tables ? For example, I want to find the changes for the material master, what is the object need to be given in the OBJECT value etc.. I tried to use restricting the transaction MM02 an

  • Not recieved my product

    Hi. I bought the photoshop creative cloud with 1 app download earlier today, but never got any product code or serial number. The payment has been taken though. I did download the photoshop from the creative cloud app that i got but when I open it i

  • How do I eliminate background noise from a recording?

    I loaded an audiotape from a cassette to my MacBook. There is too much background noise and I don't know how to get rid of it. Is it possible? Thanks, Miriam