Returning array of structures

Hello All,
I defined a view in my application. This view comprises of a structure
containing an integer and char[].
I my application, I created an array of this structure and populated it.
I return the pointer to the array of the structure in the tpreturn call.
on the client side, I can see that only the first element of the array
is retrievable. The rest is junk data.
Why did the other elements did not come?
when populating the data in the array I do a userlog in the loop and I
can see that each element of the array was populated.
Why am I not able to send the entire array to the client side?
thanks for your help.
regards,
Abhishek.

Abhishek,
Make sure that you are using the exact C structure that was produced by the View
compiler from your View description.
Can you post your .v file, and the .h it generated?
If you need to transmit an array of the entire structure, you can use embedded
FML32 to pack many View structures into an FML32 buffer.
If you are always sending between the same machine types and data representations,
and you don't need Routing, then you can stuff your C structure into a CARRAY
and send it that way. On the other side, you'll have to copy it out into a
properly aligned structure.
     Scott Orshan
Abhishek Srivastava wrote:
Hello All,
I defined a view in my application. This view comprises of a structure
containing an integer and char[].
I my application, I created an array of this structure and populated it.
I return the pointer to the array of the structure in the tpreturn call.
on the client side, I can see that only the first element of the array
is retrievable. The rest is junk data.
Why did the other elements did not come?
when populating the data in the array I do a userlog in the loop and I
can see that each element of the array was populated.
Why am I not able to send the entire array to the client side?
thanks for your help.
regards,
Abhishek.

Similar Messages

  • Accessing Array of Structures from Coldfusion

    I am having a problem accessing an array of structures from
    Coldfusion within my flex application. Here is how I make my Array:
    (GetRegions is a type Query and Type is a string variable)
    <cfset ReturnArray = ArrayNew(1)>
    <cfset ReturnArray[1] = StructNew()>
    <cfset ReturnArray[1].Query = GetRegions>
    <cfset ReturnArray[2] = Type>
    Within flex I am trying to access the results in the
    following way:
    private function dataHandler(event:ResultEvent):void{
    Query_Filter = new ArrayCollection(event.result[0].QUERY as
    Array);
    myString = event.result[1] as String;
    Can anybody help me with this. I want a way to return a query
    and a string back from coldfusion.
    Thanks for the help,
    Jeff

    So now I changed my code to the following in CF:
    <cfset Type = "MyString">
    <cfset ReturnArray = ArrayNew(1)>
    <cfset ReturnArray[1] = StructNew()>
    <!--- set up query GetRegions --->
    <cfset ReturnArray[1] = GetRegions>
    <cfset ReturnArray[2] = Type>
    <!--- Return Array --->
    <cfreturn ReturnArray>
    Now in flex I have the following dataHandler Function:
    Alert.show("hello: "+ObjectUtil.toString(event.result[0]));
    Query_Filter = new ArrayCollection(event.result as Array);
    Now I set up a List box with Query_Filter as the dataprovider
    but the results aren't showing correctly. The first item in the
    list box is displayed as [object, Object], [object, Object] and the
    second item is my String.
    Does anybody know how to break up the query to a variable and
    the string to its own variable in the dataHandler function.
    Thanks for any and all help

  • Loops in arrays or structures

    Loops in arrays or structures
    I was given a project on html reports and
    They have advised me to use Loops in arrays or structures
    At this point I am a novice at this html reporting system. I
    would like to know how I can use loops in arrays or structures.
    How is it beneficial are
    1. Structures
    2. Arrays
    3. loops in for both
    for my reports.
    Countless thanks in advance

    Structures are great if you understand them, they are
    basically just arrays organized by keywords rather than index
    numbers.
    Arrays are very nice, as you can just run through loops to
    access each element, as they are all indexed by numbers 0-x.
    loops are great to navigate through both. All you have to do
    is set an loop to run through x amount of iterations of the array
    or structure (where x is the length of the array, or number of
    elements in the structure). Loops are great due to the small amount
    of code they require.

  • Stored Procedure: Function returns Array

    I was just wondering if following scenario is possible in a stored procedure.
    I have a package, which includes 4 different functions and 1 procedure. Procdure uses ref cursor to return values in my reporting tool. What I am trying to do is to write a function which takes input and return array of varchar. Something like..
    Package ABC
    Function student_classes (student_no in Varchar2) return [array]
    begin
    select class_nbr into [array]
    from student_table
    where student_nbr = student_no;
    return [array];
    end student_classes;
    procedure students_info (rpt_cursor IN OUT rpt_type)
    begin
    OPEN rpt_cursor FOR
    select
    student_name,
    student_nbr,
    student_address,
    student_classes (student_nbr) --returns array
    from student_table;
    end student_info; --end of procedure
    end abc; --end of pacakge.
    I used [array], as I am ont sure how to define (syntax) it in spec part of package or in body. I will really appreciate if someone could help me with this function.
    Thank you

    Thanks for the reply Tonguc Y.
    I declared an array in my package declaration
    CREATE OR REPLACE PACKAGE rpt_TESTING_pkg
    AS TYPE rpt_type IS REF CURSOR;
         TYPE DIAGARRAY IS VARRAY(20) OF VARCHAR2(6);
         FUNCTION DIA_CODES (MNO IN VARCHAR2) RETURN DIAGARRAY;
         PROCEDURE member (rpt_cursor IN OUT rpt_type);
    END rpt_TESTING_pkg;
    but then when I try to use it in my function it gives me error that I should declare DIAGARRAY.
    CREATE OR REPLACE PACKAGE BODY rpt_TESTING_pkg
    as
    FUNCTION DIA_CODES (MNO IN VARCHAR2)
                   RETURN DIGARRAY AS diags DIGARRAY;
    begin
    <sql block>
    end dia_codes;
    end rpt_TESTING_pkg;
    Any suggestions.

  • SOAP Webservice returns Array - how to setup Xcelsius?

    Hello,
    after a lot of tests I have recognized that Xcelsius is not able to handle Webservices which return arrays with an undefined size. So I edited the schema file in the way that the size is defined.
    Here is an extract of the schema file:
    <xsd:sequence>
                <xsd:element name="row0" type="tns:Row" maxOccurs="10" minOccurs="10" ></xsd:element>
    </xsd:sequence>
    With that configuration Xcelsius is able to import the wsdl. But the preview window is showing only one Row Folder, I have excpected "10".  My question is, is my config the right way to handle arrays with Xcelsius and when it is, how I have to set up the range in the Excel Map to make the data avaiable???
    Thank you in advance.
    Best regards,
    Conrad

    Here is an example, you can compare what is different. From the look of it the recipient info is missing from yours. Does it say which INI option is missing when you get an error?
    <doPublishRequest xsi:type="doPublishReq_Import" xmlns="http://webservices.docucorp.com/ewps/schema/2005-12-01">
            <LibraryId>CONFIGNAME</LibraryId>
            <DistributionOptions xsi:type="DistributionOptions_ADHOC" source="ADHOC">
              <Priority>REALTIME</Priority>
              <Channel xsi:type="Channel_IMMEDIATE">
                <PublishType>PDF</PublishType>
                <DistributionType>IMMEDIATE</DistributionType>
                <Disposition location="ATTACH" />
                <Recipient name="ORIGINAL">
                  <Props>
                    <Prop name="" />
                  </Props>
                  <Copies />
                  <Story StoryName="" id="" alias="" />
                </Recipient>
              </Channel>
            </DistributionOptions>
            <SourceType>IMPORT</SourceType>
            <Import>
              <ImportFile xsi:type="ImportFile_ATTACH" d6p1:contentType="" location="ATTACH" xmlns:d6p1="http://www.w3.org/2005/05/xmlmime">O05hdXRpbH.......</ImportFile>
            </Import>
          </doPublishRequest>

  • How to create an array of structure which the structure contain an array(s)

    im very new to java, and new here
    i searched many websites, but i cant find it
    it looks like this,
    there is 10 employees, each of them has 0-5 children,
    what i want is,
    peter alan joseph
    |?????????????????|???????|??????????????
    | |????????| |??????| | |?????| |
    | | andrew | | alvin | | | john | | ...........................
    | |________| |______| | |_____| |
    | |
    what i know is,
    import java.util.*;
    class main{
        public static void main(String[] args){
              employee d[] = new employee[10];
              d[0]= new employee();
              d[0].child = "alvin";
              System.out.println(d[0].child);
    class employee{
        String child;
    }but only work for 1 child.. =(
    i need an array of structure which the structure itself cantains an array(s)
    please help, newbie here

    sen,
    my lecture[r] said no statement in classEither you misundetstood your lecturer [probable]; or your lecturer is full of shit [possible].
    is "String[] children = new String[5]" a statement ?Yes, it is.
    she said we can only declare like "String[] children;" in classEither you misundetstood your lecturer ...
    There's nothing actually wrong withclass Employee{
        String[] children = new String[5];
    }But it has the inherent limitation that you can't put the fathers name on the 6'th child's birth certificate... because the dumb computer won't let you... Hence it is poor practice.
    A better implementation would be:class Employee{
        private List<String> children = new ArrayList<String>();
    }because it doesn't impose an artificial limit on the number of kids a bloke can have.
    keith.

  • Invoking stored procedure that returns array(oracle object type) as output

    Hi,
    We have stored procedures which returns arrays(oracle type) as an output, can anyone shed some light on how to map those arrays using JPA annotations? I tried using jdbcTypeName but i was getting wrong type or argument error, your help is very much appreciated. Below is the code snippet.
    JPA Class:
    import java.io.Serializable;
    import java.sql.Array;
    import java.util.List;
    import javax.persistence.Entity;
    import javax.persistence.Id;
    import org.eclipse.persistence.annotations.Direction;
    import org.eclipse.persistence.annotations.NamedStoredProcedureQuery;
    import org.eclipse.persistence.annotations.StoredProcedureParameter;
    * The persistent class for the MessagePublish database table.
    @Entity
    @NamedStoredProcedureQuery(name="GetTeamMembersDetails",
         procedureName="team_emp_maintenance_pkg.get_user_team_roles",
         resultClass=TeamMembersDetails.class,
         returnsResultSet=true,
         parameters={  
         @StoredProcedureParameter(queryParameter="userId",name="I_USER_ID",direction=Direction.IN,type=Long.class),
         @StoredProcedureParameter(queryParameter="employeeId",name="I_EMPLOYEEID",direction=Direction.IN,type=Long.class),
         @StoredProcedureParameter(queryParameter="TEAMMEMBERSDETAILSOT",name="O_TEAM_ROLES",direction=Direction.OUT,jdbcTypeName="OBJ_TEAM_ROLES"),
         @StoredProcedureParameter(queryParameter="debugMode",name="I_DEBUGMODE",direction=Direction.IN,type=Long.class)
    public class TeamMembersDetails implements Serializable {
         private static final long serialVersionUID = 1L;
    @Id
         private long userId;
         private List<TeamMembersDetailsOT> teamMembersDetailsOT;
         public void setTeamMembersDetailsOT(List<TeamMembersDetailsOT> teamMembersDetailsOT) {
              this.teamMembersDetailsOT = teamMembersDetailsOT;
         public List<TeamMembersDetailsOT> getTeamMembersDetailsOT() {
              return teamMembersDetailsOT;
    Procedure
    PROCEDURE get_user_team_roles (
    i_user_id IN ue_user.user_id%TYPE
    , o_team_roles OUT OBJ_TEAM_ROLES_ARRAY
    , i_debugmode IN NUMBER :=0)
    AS
    OBJ_TEAM_ROLES_ARRAY contains create or replace TYPE OBJ_TEAM_ROLES_ARRAY AS TABLE OF OBJ_TEAM_ROLES;
    TeamMembersDetailsOT contains the same attributes defined in the OBJ_TEAM_ROLES.

    A few things.
    You are not using a JDBC Array type in your procedure, you are using a PLSQL TABLE type. An Array type would be a VARRAY in Oracle. EclipseLink supports both VARRAY and TABLE types, but TABLE types are more complex as Oracle JDBC does not support them, they must be wrapped in a corresponding VARRAY type. I assume your OBJ_TEAM_ROLES is also not an OBJECT TYPE but a PLSQL RECORD type, this has the same issue.
    Your procedure does not return a result set, so "returnsResultSet=true" should be "returnsResultSet=false".
    In general I would recommend you change your stored procedure to just return a select from a table using an OUT CURSOR, that is the easiest way to return data from an Oracle stored procedure.
    If you must use the PLSQL types, then you will need to create wrapper VARRAY and OBJECT TYPEs. In EclipseLink you must use a PLSQLStoredProcedureCall to access these using the code API, there is not annotation support. Or you could create your own wrapper stored procedure that converts the PLSQL types to OBJECT TYPEs, and call the wrapper stored procedure.
    To map to Oracle VARRAY and OBJECT TYPEs the JDBC Array and Struct types are used, these are supported using EclipseLink ObjectRelationalDataTypeDescriptor and mappings. These must be defined through the code API, as there is currently no annotation support.
    I could not find any good examples or doc on this, your best source of example is the EclipseLink test cases in SVN,
    http://dev.eclipse.org/svnroot/rt/org.eclipse.persistence/trunk/foundation/eclipselink.core.test/src/org/eclipse/persistence/testing/tests/plsql/
    http://dev.eclipse.org/svnroot/rt/org.eclipse.persistence/trunk/foundation/eclipselink.core.test/src/org/eclipse/persistence/testing/tests/customsqlstoredprocedures/
    James : http://www.eclipselink.org

  • How to pass an array or structure, in addition to a query, or multiple queries to the Report Builder as parameters

    Is there a way to pass an array or structure for example as parameters, in addition to a query, or multiple queries to the Report Builder in CF8? I believe this was recommended by users to be in CF8.

    BrianO,
    Although it's been a while, I thought I'd provide the code to do this for you. It works for me in CF8, and probably will in CF7.
    Here I create a structure called My, and provide that one parameter to my CFReportParam tag.
    <CFSet My = {
    Client = "Client Name",
    ReportDateFrom = DateFormat(ThisStartDate, DateMask),
    ReportDateTo = DateFormat(ThisEndDate, DateMask),
    PageHeaderImage = ImagePath & "\Logos\Page_Header.png",
    WatermarkImage = ImagePath & "\Logos\Watermark.png",
    GetBarSummary = GetBarSummary,
    GetPieSummary = GetPieSummary
    }>
    <CFReport Template="#ReportPath#\SpendSummary.cfr" Format="PDF" Query="GetSummary">
    <CFReportParam Name="My" Value="#My#">
    </CFReport>
    Inside the report itself, reference the given parameter as Param.My.PageHeaderImage for example. It can be referenced that way from any expression inside the report builder. You can even use the queries as the data source for charts (using the Data From a Query -> Query Builder -> Advanced) by entering "Param.My.GetPieSummary" where it says "Variable containing query object".
    HTH
    Swift

  • How to pass a structure/array of structure as input parameter in a webservice

    Hi Team,
    I am trying to create a webservice in powerbuilder .net( pb 12.5.1) . As this webservice will be used by external world to access some of data on basis of some input paarameter.
    So can i use array of structure as input parameter to a webservice ? If no, then how can i pass a result set ( mora then 1 row with more than one column)
    as an argument to the webservice.
    Regards
    Subrat

    I am assuming this is the same for .Net but in Classic you can create NVO's with Instance Variables and then reference them in the NVO that will be used as the parameter for the Public WebService.
    WS NVO's:
    Children
         String             Child[]
    Customer
         String             FirstName
         String             LastName
         String             DOB
         Children          Children
    Public Interface uses Customer
    Calling Code Example:
    integer    rc, liNdx
    string     lsReturn
    SoapConnection lSoapConnect
    proxy_testing  px_Testing
    lSoapConnect = CREATE SoapConnection
    if IsValid(lSoapConnect) then
    TRY
      rc = lSoapConnect.CreateInstance(px_Testing, 'proxy_testing')
      CHOOSE CASE rc
       CASE 100
        lsReturn = "Invalid proxy name"
       CASE 101
        lsReturn = "Failed to create proxy"
       CASE 0
        Proxy_Customer lNewCustomer
        lNewCustomer = CREATE Proxy_Customer
        lNewCustomer.FirstName = 'Chris'
        lNewCustomer.LastName = 'Craft'
        lNewCustomer.DOB = 'Getting Older'
        Proxy_Children lChildren
        lChildren = CREATE Proxy_Children
        lChildren.Child[1] = 'Madeline'
        lChildren.Child[2] = 'Hayden'
        lNewCustomer.Children = lChildren
        lsReturn = px_Testing.NewCustomer(lNewCustomer)
       CASE ELSE
        lsReturn = "Unknown error (" + String(rc) + ")"
      END CHOOSE
      if rc <> 0 then MessageBox("Invocation Error", lsReturn, Exclamation!)
    CATCH (RuntimeError rte)
      rc = -1
      MessageBox("Runtime Error", rte.text, Exclamation!)
    END TRY
    end if
    Chris Craft

  • URGENT   HELP::: returning array of non built in datatypes

    Folks,
    I am trying to implement webservices in weblogic7.0 sp2. We have written a simple
    class(say ClassA) which uses another bean as a user defined data type(ClassB implements
    serializable). I am able to create a webservice if one of the method in ClassA
    returns the object of classB.I am getting an error while creating the web-services.xml
    file using ant tool if same method in ClassA returns array of ClassB.It says
    corresponding type is not found in the types.xml. I created types.xml using ant
    tool too.
    Does weblogic7.0 SP2 support returning array of objects in webservices?
    Any suggestions and immediate response is highly appreciated.
    Thanks,
    Kamal.

    Bruce,
    You understand the question correctly..Thanks for the help... it works now.
    Thanks,
    Kamal.
    Bruce Stephens <[email protected]> wrote:
    Hi Kamal,
    If I understand your question correctly, yes, you should be able to do
    this. You will need to create your own implementation of the
    javax.xml.rpc.holders.Holder interface. See:
    http://edocs.bea.com/wls/docs70/webserv/implement.html#1054236 for
    details.
    If that's not what you are asking, could you post a simple test case?
    HTHs,
    Bruce
    BTW, for URGENT issues, please use our excellent support folks:
    http://support.bea.com
    [email protected]
    kamal wrote:
    Folks,
    I am trying to implement webservices in weblogic7.0 sp2. We have writtena simple
    class(say ClassA) which uses another bean as a user defined data type(ClassBimplements
    serializable). I am able to create a webservice if one of the methodin ClassA
    returns the object of classB.I am getting an error while creatingthe web-services.xml
    file using ant tool if same method in ClassA returns array of ClassB.Itsays
    corresponding type is not found in the types.xml. I created types.xmlusing ant
    tool too.
    Does weblogic7.0 SP2 support returning array of objects in webservices?
    Any suggestions and immediate response is highly appreciated.
    Thanks,
    Kamal.

  • The suitable LabVIEW data type correspinding to the array of structure in Visual Basic ActiveX DLL

    Hi!
    I need to call a VB ActiveX DLL from LabVIEW. When I run my LabVIEW code, I always meet an error as:
    Error 1 occurred at Incorrect Function in T06.vi
    Possible reasons:
    LabVIEW: An input parameter is invalid.
    I have read the VB DLL code that defines the data type. It fills data to a structure, then puts this structure to the array, and sends the array of structures to the method.
    VB Code:
    For I = 1 To 31
    Set MyInputData(I) = New EM_nkd_DataPoint
    Next I
    With MyInputData(1)
    .Amplitude = 8.44
    .DataPointType = R_HW
    .DataSource = MEASURED
    .Wav
    elength = 409.56
    End With
    With MyInputData(2)
    .Amplitude = 91.60113
    .DataPointType = T_SUB
    .DataSource = MEASURED
    .Wavelength = 409.56
    End With
    ~~~
    With MyInputData(31)
    .Amplitude = 91.96825
    .DataPointType = T_SUB
    .DataSource = MEASURED
    .Wavelength = 657.43
    End With
    My problem is that I can’t find a suitable kind of data type in LabVIEW which is corresponding to this case
    Attached my LabVIEW code for reference.
    Many thsnks.
    TX
    Attachments:
    T07.vi ‏166 KB

    Hi,
    if you have a complete source code including EM_nkd_DataPoint class module, take a look inside in order to see data types for Amplitude, DataPointType, DataSource and Wavelength (probably for Amplitude and Wavelength is SINGLE). If this code is not available, maybe the author mentioned a type for T_SUB and MEASURED even if they are constants.

  • Please help how to get return array from rpg program on java code?

    Hi
    I have created a rpg program that returns 2 parameter 1 is the id and another one is list of array, when I called this program I passed two programparameter from my java code (see the code below) but when i checked what value would be return it is returned only first value of array. how will i get all array values ?
    please suggest me regarding this issues I amn't so much aware on java & AS400.
    try
    ProgramParameter[] parmList = new ProgramParameter[2];
    AS400Text p1 = new AS400Text(10);
    AS400Text p2 = new AS400Text(30);
    try
    parmList[0] = new ProgramParameter(10);
    parmList[1] = new ProgramParameter(30);
    parmList[0].setParameterType(ProgramParameter.PASS_BY_REFEREN CE);
    parmList[1].setParameterType(ProgramParameter.PASS_BY_REFEREN CE);
    parmList[0].setInputData(p1.toBytes("Pune"));
    parmList[1].setInputData(p2.toBytes(" "));
    catch(Exception ex)
    ProgramCall pgm = new ProgramCall(o);
    pgm.setProgram("/QSYS.LIB/XXX/XXX.PGM",parmList);
    if (pgm.run())
    byte s[] = parmList[1].getOutputData(); // HERE I got only first value of returning array.
    parmList[1].getOutputDataLength();
    //String sts = ((String) (new AS400Text(10,o).toBytes(s[0])));
    else
    AS400Message[] messageList = pgm.getMessageList();
    for (int msg = 0; msg < messageList.length; msg++) {
    catch(Exception ex)
    AS400Message[] messageList = null;
    finally
    o.disconnectAllServices();
    Reply With Quote

    Try this :
    try
    ProgramParameter[] parmList = new ProgramParameter[2];
    AS400Text p1 = new AS400Text(10);
    AS400Text p2 = new AS400Text(30);
    AS400Array arrP2 = new AS400Array(p2, 4);
    try
    parmList[0] = new ProgramParameter(10);
    parmList[1] = new ProgramParameter(30);
    parmList[0].setParameterType(ProgramParameter.PASS_BY_REFEREN CE);
    parmList[1].setParameterType(ProgramParameter.PASS_BY_REFEREN CE);
    parmList[0].setInputData(p1.toBytes("Pune"));
    parmList[1].setInputData(arrP2.toBytes({"","","",""}));
    catch(Exception ex)
    ProgramCall pgm = new ProgramCall(o);
    pgm.setProgram("/QSYS.LIB/XXX/XXX.PGM",parmList);
    if (pgm.run())
         Object[] objArr =  (Object [])arrP2.toObject( parmList[1].getOutputData() );
         for(int i =0; i<objArr.length;i++){
                System.out.println( " SKU " + i +" : " + objArr.toString());
    else
    AS400Message[] messageList = pgm.getMessageList();
    for (int msg = 0; msg < messageList.length; msg++) {
    catch(Exception ex)
    AS400Message[] messageList = null;
    finally
    o.disconnectAllServices();

  • How to return array of String to a java program.! ??

    Hi All,
    I am new to JNI programming. so trying with simple example. I am having one problem. I have one array of String in my Java program. I want to reverse all the elements in this array and want back this new array in the same form i.e. array of string. So how can I do this ??
    Please guide me.....
    The function of defination of array in my java code is
    public native String[] getReverseStringArray(String[] arrString);
    where as my array is like:
    String[] arrStr = {"one", "two", "three", "four", "��������","�c��","�J�^�J�i"};
    and I am calling function in C file like:
    arrStr = employee.getReverseStringArray(arrStr);
    and the function defination in my c file is
    JNIEXPORT jobjectArray JNICALL
    Java_Emp_getReverseStringArray (JNIEnv *env, jobject obj, jobjectArray arr)
    // some code will come here......
    So can anybody tell me how to do this ??
    Thanx in advance...
    Pandurang
    [email protected]

    Hi,
    this is quite simple. Here an example function that works like this:
    JNIEXPORT jobjectArray JNICALL Java_cadagent_ugopen_UgAssembly_jni_1getStructure
    (JNIEnv *env, jclass cls, jstring part)
    jobjectArray retvals = NULL;
    jstring j_val = NULL;
    int child_count = 5;
    /* initialize return array */
    j_val = (*env)->NewStringUTF(env, "");
    retvals = (*env)->NewObjectArray(env, child_count, (*env)->FindClass(env, "java/lang/String"), j_val);
    for (i=0;i<child_count;i++)
    j_val = (*env)->NewStringUTF(env, "some text");
    (*env)->SetObjectArrayElement(env, retvals,i, j_val);
    return retvals;
    Hope this answers you question.

  • Passing an array of structures to an Oracle stored procedure (CFMX)

    I'm looking to write a Oracle stored procedure where I would pass in an array of structures and loop over each iteration to insert the bits and pieces within the structures to the DB.,
    I haven't written this type of procedure / package before.  I am planning to do an sp / package similar to what is sketched out in the second reply to this thread: http://forums.oracle.com/forums/thread.jspa?threadID=1078772
    Assuming I do, how can I call the procedure from ColdFusion (I'm using MX) and pass in my array?  As far as I can see, none of the CF_SQL_Types make sense.

    Let me know if you make any progress.  I'm fighting the same battle.  What I've done so far is to convert my array of struct into a delimited CLOB that looks like this:
    prop1;prop2;prop3|prop1;prop2;prop3|prop1;prop2;prop3|prop1;prop2;prop3|
    Then I wrote a stored proc to suck it up using a pipelined function.  It's not to bad but parsing the CLOB on the ORACLE side is somewhat time consuming.
    I've also converted the array to XML and used dbms_xmlstore to convert but, on large arrays, it is very slow and the CLOB gets huge fast.
    I was hoping to use the cf_sql_refcursor but I can't figure out how.
    Warren

  • How to return array of object

    public class A{
    public class B{
    publc C[] sample()
    int i=0;
    ResultSet rset = s.executeQuery("select name, id  from emp ");
    while(rs.next()){
    name = rset.getString("nam");
    id = rset.getInt("id");
    c.setName(name )
    c[i].setId(id)
    return c[]
    public class C{
    // here i have getter and setter metod for name & id
    When I try to return the object c[]..i am getting "cannot conver from C to C[]".
    Can u pls help me, how to return array of object and how to get name and id values in other class using this array object
    Thanks for ur help

    public class Starting{
    public long empID;
    Data data = new Data();
    Value[] value;
    int count = 0;
         public static void executeDe(){
              value = new Value[100]
              try{
                     data.getDetails()
                     processDetails(value);
                   }catch(Exception e){e.printStackTrace();}
         public static void processDetails(Value[] value){
         count = data.i;
              int i;
              for(i=0;i<count;i++){
                  empID=value.getempID(); \\ here i am not getting all values..... am getting only last value of the array
    public class Data{
    public long empID;
    public int i=0;
    static Value[] value = new Value[100];
    public static Value[] getDetails(){
    Connection con=null;
    try {
    Class.forName("oracle.jdbc.driver.OracleDriver");
    con=DriverManager.getConnection("jdbc:oracle:thin:@" + hostname + ":1521:" + sid, user, password);
    System.out.println(" conn " + con);
    System.out.println("");
    Statement s=con.createStatement();
    try{
         ResultSet rset = s.executeQuery("select EMPID from Employee ");
         while(rset.next()){
    empID = rset.getLong("EMPID");
    value[i].setCycleID(cy_i);
    i++;
         rset.close();
         con.close();
    }catch (SQLException sqle){sqle.printStackTrace();}
         finally{
              try{
              s.close();
         con.close();
              }catch(SQLException e){e.printStackTrace();}
    catch(Exception e){e.printStackTrace();}
    return value;
         public class Value {
         public static long cycleID;
              public static void setempID(long empID) {
                   Value.empID = empID;
              public static long getempID() {
                   return empID;
    This is my actual code..... I am able to set the values in Value class from Data class using getDetails() method, which is returning array of value object.
    In Starting class, I am trying to get values using value[i].. i am getting last value of the array. This is my actual problem... here i want to get all values.
    Please help me how to resolve this.

Maybe you are looking for

  • Firming the Schedule Lines in Sch.Agreement

    Hi , I have done the  following to firm the schedule lines in Scheduling agreement. 1. Firm Zone as 30 days 2.Tradeoff zone days as 60 days 3.Binding MRP indicator as NULL(Lines not changeable within Zones) 4.In OMIN , Firm Schedule lines enabled for

  • ITunes says that my iPhone doesn't authorize my computer to access it

    Hi! When I plug my iPhone in my MacBook Pro (with a new clean install of Mavericks) and I open iTunes it says that iTunes is waiting for autorization from the iPhone. The problem is that nothing happens on the iPhone and iTunes just says that my iPho

  • Can I do without Bridge?

    With Lightroom2, do I still need Bridge and if so why? Can I delete Bridge without causing any problems in Photoshop? I am using Leopard. Will dumping Bridge into the trash be the best way of getting it out of the system? Advice will be appreciated.

  • Displaying immediately the Login Screen

    Hi With Windows 8.1 Update 1 Enterprise 64 bit, how do I make sure that, when I start the computer, the Login Screen is displayed immediately? Thanks Bye Balubeto

  • Canon MG5250 wireless printing

    I have a canon MG5250 and since changing to BT Infinity I have been unable to print wirelessly.  I have assigned the printer a static IP address outside of the DHCP range.  I have entered the passkey on the printer and it has connected to the BT Home