Looping Over the Collection elements in the BPEL

Hi Everybody,
Note:It appears this thread long paragraph but those are schems structures only.I am giving them to give full depth of my req.
1) First requirement :I have requirement wherein I have to retrieve the Data from Database adapter and modify it according to my requirements like below.
1) Input data from Database Adapter example: (Initial Schema)
<select_arrid_collection xmlns="http://xmlns.oracle.com/pcbpel/adapter/db/Select_Arrid">
<select_arrid>
<arr_id>arr1</arr_id>
</select_arrid>
<select_arrid>
<arr_id>arr2</arr_id>
</select_arrid>
<select_arrid>
<arr_id>arr1</arr_id>
</select_arrid>
<select_arrid>
<arr_id>arr2</arr_id>
</select_arrid>
</select_arrid_collection>
2) I am modifying to get the collection objects based on element same arr_id(If it is arr1,I have to get the all the elements related arr1 into one of the collection Object that is select_arrid_collection.Likewise for any arr_id ,it has to group them into a select_arrid_collection element) like below:
Modified schema:
<root xmlns="http://xmlns.oracle.com/pcbpel/adapter/db/Select_Arrid">
<select_arrid_collection>
<select_arrid>
<arr_id>arr1</arr_id>
</select_arrid>
<select_arrid>
<arr_id>arr1</arr_id>
</select_arrid>
</select_arrid_collection>
<select_arrid_collection>
<select_arrid>
<arr_id>arr2</arr_id>
</select_arrid>
<select_arrid>
<arr_id>arr2</arr_id>
</select_arrid>
</select_arrid_collection>
</root>
Note: root element is added in the schema that is why this modified xml has different namespace
I am using below xsl file to get the above schema to get the solution for first requirement:
<xsl:stylesheet version="2.0" xmlns:ns1="http://www.example.org" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
<xsl:template match="/">
<ns1:root>
<xsl:for-each-group select="*/ns1:Select_Arrid" group-by="ns1:Arr_id">
<xsl:sort select="current-grouping-key()">
<ns1:select_arrid_collection>
<xsl:copy-of select="current-group()">
<xsl:apply-templates/>
</xsl:copy-of>
</ns1:select_arrid_collection>
</xsl:sort>
</xsl:for-each-group>
</ns1:root>
</xsl:template>
</xsl:stylesheet>
2) Second requirement:
After getting the multiple collection elements(select_arrid_collection),I want to loop through each select_arrid_collection element and map the elements in that to another service schema.
I have created the xsd like above required modified schema and assign it to a variable(element type) which takes same modified schema so that I can have a variable on which I want to apply while activity.
But I want to have the idea how to loop through the multiple collection elements(select_arrid_collection) and map the elements of each select_arrid_collection to a input variable of a service.
My problem is I have to get each select_arrid_collection element in the schema where root element is 'root'.I am not able to trace how to get the no of select_arrid_collection elements so that I can loop through in the transofrm activity.
Can anybody help me put in this?
Edited by: 899283 on Jan 9, 2013 1:48 AM
Edited by: 899283 on Jan 9, 2013 1:52 AM
Edited by: 899283 on Jan 9, 2013 1:53 AM
Edited by: 899283 on Jan 9, 2013 2:02 AM

Can you please let us know if there are some helpful/correct answers in your previous questions and follow the forum etiquette? https://forums.oracle.com/forums/ann.jspa?annID=893
Where Can I create Staging table in SOA server?
regarding sending response at a time to a WSDL in BPEL
Do we need nodemanager for SOA server installation?
I want to set the time for polling of  DB Adapter

Similar Messages

  • Item cannot be found in the collection corresponding to the requested name or ordinal.

    Hi,
    I am using Dreamweavers User Authentication tool, and all seems to be working except when I press the 'Submit' button I get the following error;
    ADODB.Fields error '800a0cc1'
    Item cannot be found in the collection corresponding to the requested name or ordinal.
    /coding/test_login.asp, line 35
    As far as I can tell the user login works, as I can assess the restricted page, if I manually type in the URL.
    My code is listed below;
    <%@LANGUAGE="VBSCRIPT" CODEPAGE="65001"%>
    <!--#include file="Connections/Conn_PSCRM_Demo.asp" -->
    <%
    ' *** Validate request to log in to this site.
    MM_LoginAction = Request.ServerVariables("URL")
    If Request.QueryString <> "" Then MM_LoginAction = MM_LoginAction + "?" + Server.HTMLEncode(Request.QueryString)
    MM_valUsername = CStr(Request.Form("usercode"))
    If MM_valUsername <> "" Then
      Dim MM_fldUserAuthorization
      Dim MM_redirectLoginSuccess
      Dim MM_redirectLoginFailed
      Dim MM_loginSQL
      Dim MM_rsUser
      Dim MM_rsUser_cmd
      MM_fldUserAuthorization = """group"""
      MM_redirectLoginSuccess = "yes.asp"
      MM_redirectLoginFailed = "no_access.asp"
      MM_loginSQL = "SELECT usercode, epros_password"
      If MM_fldUserAuthorization <> "" Then MM_loginSQL = MM_loginSQL & "," & MM_fldUserAuthorization
      MM_loginSQL = MM_loginSQL & " FROM DBA.[user] WHERE usercode = ? AND epros_password = ?"
      Set MM_rsUser_cmd = Server.CreateObject ("ADODB.Command")
      MM_rsUser_cmd.ActiveConnection = MM_Conn_PSCRM_Demo_STRING
      MM_rsUser_cmd.CommandText = MM_loginSQL
      MM_rsUser_cmd.Parameters.Append MM_rsUser_cmd.CreateParameter("param1", 200, 1, 255, MM_valUsername) ' adVarChar
      MM_rsUser_cmd.Parameters.Append MM_rsUser_cmd.CreateParameter("param2", 200, 1, 255, Request.Form("password")) ' adVarChar
      MM_rsUser_cmd.Prepared = true
      Set MM_rsUser = MM_rsUser_cmd.Execute
      If Not MM_rsUser.EOF Or Not MM_rsUser.BOF Then
        ' username and password match - this is a valid user
        Session("MM_Username") = MM_valUsername
        If (MM_fldUserAuthorization <> "") Then
          Session("MM_UserAuthorization") = CStr(MM_rsUser.Fields.Item(MM_fldUserAuthorization).Value)
        Else
          Session("MM_UserAuthorization") = ""
        End If
        if CStr(Request.QueryString("accessdenied")) <> "" And true Then
          MM_redirectLoginSuccess = Request.QueryString("accessdenied")
        End If
        MM_rsUser.Close
        Response.Redirect(MM_redirectLoginSuccess)
      End If
      MM_rsUser.Close
      Response.Redirect(MM_redirectLoginFailed)
    End If
    %>
    <!doctype html>
    <html>
    <head>
    <meta charset="utf-8">
    <title>Untitled Document</title>
    </head>
    <body>
    <form action="<%=MM_LoginAction%>" method="POST" name="logon">
    <input name="usercode" type="text"><br>
    <input name="password" type="text">
    <input type="submit" name="Submit" id="Submit" value="Submit">
    </form>
    </body>
    </html>
    Any help greatly accepted.

    There are several workarounds you could use. I would start by setting the local variable back to the actual column name
    MM_fldUserAuthorization = "group"
    and then modify the reserved word directly SQL. See if this works:
      If MM_fldUserAuthorization <> "" Then MM_loginSQL = MM_loginSQL & "," & """MM_fldUserAuthorization"""
    If that line doesn't work, then you might need to concatenate the quotes around the variable, or try a combination of single/double quotes.
    Also be warned that once you modify DW's generated code, you probably will not be able to maintain the code in DW server behavior wizard. You'll need to maintain by hand.
    Good luck.

  • RICS0001:Internal Error,unable to process the collected data from the device.

    Hi all,
    I've got the following error in Inventory Collection: 'RICS0001:Internal Error,unable to process the collected data from the device.'
    System is CW LMS 2.6
    If I search the web I get the following Cisco document:
    http://www.cisco.com/en/US/products/sw/cscowork/ps2073/prod_troubleshooting_guide09186a008036dff2.html
    '...in the log directory look for IC_Server.log.'
    IC_Server.log:
    [ Di Nov 16  15:54:27 CET 2010 ],INFO ,[Thread-25],com.cisco.nm.rmeng.inventory.ics.core.ICSCore,173,Got Async Request, User Name :admin
    [ Di Nov 16  15:54:27 CET 2010 ],INFO ,[Thread-25],com.cisco.nm.rmeng.inventory.ics.core.ICSCore,179,Request ID is : 1289919235488
    [ Di Nov 16  15:54:27 CET 2010 ],INFO ,[Thread-14],com.cisco.nm.rmeng.inventory.ics.core.CollectionController,309,Started processing device ID: 3341
    [ Di Nov 16  15:54:27 CET 2010 ],INFO ,[Thread-14],com.cisco.nm.rmeng.util.logger.RMELogger,724,com.cisco.nm.rmeng.util.db.DatabaseConnectionPool,getConnection,59,Inside ICSDatabaseConnection, MAX_COUNT =20
    [ Di Nov 16  15:54:28 CET 2010 ],INFO ,[Thread-14],com.cisco.nm.rmeng.inventory.ics.core.CollectionController,387,Started processing device Name: 9.152.255.101
    [ Di Nov 16  15:54:28 CET 2010 ],INFO ,[Thread-14],com.cisco.nm.rmeng.util.logger.XDILogger,77,com.cisco.nm.xms.xdi.pkgs.SharedInventoryCatIOS.ContainmentAGI_ENTITY_Mib_Non_Modular,g$eval,103,com.cisco.nm.xms.xdi.pkgs.SharedInventoryRouter:ContainmentAGI_ENTITY_Mib_Non_Modular:g$eval:populating ContainmentAG attributes, begins...
    [ Di Nov 16  15:54:28 CET 2010 ],INFO ,[Thread-14],com.cisco.nm.rmeng.util.logger.XDILogger,77,com.cisco.nm.xms.xdi.pkgs.SharedInventoryCatIOS.ContainmentAGI_ENTITY_Mib_Non_Modular,populatingTheChassis,110,com.cisco.nm.xms.xdi.pkgs.SharedInventoryRouter:ContainmentAGI_ENTITY_Mib_Non_Modular:populatingTheChassis:ContainmentAG attributes,collection from the device begins...
    [ Di Nov 16  15:54:29 CET 2010 ],INFO ,[Thread-14],com.cisco.nm.rmeng.util.logger.XDILogger,77,com.cisco.nm.xms.xdi.pkgs.SharedInventoryCatIOS.ContainmentAGI_ENTITY_Mib_Non_Modular,populatingTheChassis,147,com.cisco.nm.xms.xdi.pkgs.SharedInventoryRouter:ContainmentAGI_ENTITY_Mib_Non_Modular:populatingTheChassis:ContainmentAG attributes,collection from the device successful...
    [ Di Nov 16  15:54:29 CET 2010 ],INFO ,[Thread-14],com.cisco.nm.rmeng.util.logger.XDILogger,77,com.cisco.nm.xms.xdi.pkgs.SharedInventoryCatIOS.ContainmentAGI_ENTITY_Mib_Non_Modular,populatingTheChassis,149,com.cisco.nm.xms.xdi.pkgs.SharedInventoryRouter:ContainmentAGI_ENTITY_Mib_Non_Modular:populatingTheChassis:ContainmentAG attributes,population begins...
    [ Di Nov 16  15:54:29 CET 2010 ],INFO ,[Thread-14],com.cisco.nm.rmeng.util.logger.XDILogger,77,com.cisco.nm.xms.xdi.pkgs.SharedInventoryCatIOS.ContainmentAGI_ENTITY_Mib_Non_Modular,populatingTheChassis,216,com.cisco.nm.xms.xdi.pkgs.SharedInventoryRouter:ContainmentAGI_ENTITY_Mib_Non_Modular:populatingTheChassis:Before method getSlotsConfiguredStatistics
    [ Di Nov 16  15:54:29 CET 2010 ],INFO ,[Thread-14],com.cisco.nm.rmeng.util.logger.XDILogger,77,com.cisco.nm.xms.xdi.pkgs.SharedInventoryCatIOS.ContainmentAGI_ENTITY_Mib_Non_Modular,populatingTheChassis,225,com.cisco.nm.xms.xdi.pkgs.SharedInventoryRouter:ContainmentAGI_ENTITY_Mib_Non_Modular:populatingTheChassis:After method getSlotsConfiguredStatistics
    [ Di Nov 16  15:54:29 CET 2010 ],INFO ,[Thread-14],com.cisco.nm.rmeng.util.logger.XDILogger,77,com.cisco.nm.xms.xdi.pkgs.SharedInventoryCatIOS.ContainmentAGI_ENTITY_Mib_Non_Modular,populatingTheChassis,245,com.cisco.nm.xms.xdi.pkgs.SharedInventoryRouter:ContainmentAGI_ENTITY_Mib_Non_Modular:populatingTheChassis:ContainmentAG attributes,population completed...
    [ Di Nov 16  15:54:29 CET 2010 ],INFO ,[Thread-14],com.cisco.nm.rmeng.util.logger.XDILogger,77,com.cisco.nm.xms.xdi.pkgs.SharedInventoryCatIOS.ContainmentAGI_ENTITY_Mib_Non_Modular,g$eval,105,com.cisco.nm.xms.xdi.pkgs.SharedInventoryRouter:ContainmentAGI_ENTITY_Mib_Non_Modular:g$eval:populating ContainmentAG attributes, ends...
    [ Di Nov 16  15:54:43 CET 2010 ],INFO ,[Thread-14],com.cisco.nm.rmeng.inventory.ics.core.CollectionController,477,DP time is 15 seconds for 9.152.255.101
    [ Di Nov 16  15:54:44 CET 2010 ],ERROR,[Thread-14],com.cisco.nm.rmeng.util.logger.RMELogger,770,com.cisco.nm.rmeng.inventory.ics.invchange.AddInvChange,effect,33,Unexpected error :com.sybase.jdbc2.jdbc.SybSQLException: ASA Fehler -193: Primärschlüssel für Tabelle 'PhysicalElement' ist nicht eindeutig
        at com.sybase.jdbc2.tds.Tds.processEed(Tds.java:2834)
        at com.sybase.jdbc2.tds.Tds.nextResult(Tds.java:2156)
        at com.sybase.jdbc2.jdbc.ResultGetter.nextResult(ResultGetter.java:69)
        at com.sybase.jdbc2.jdbc.SybStatement.nextResult(SybStatement.java:220)
        at com.sybase.jdbc2.jdbc.SybStatement.nextResult(SybStatement.java:203)
        at com.sybase.jdbc2.jdbc.SybStatement.executeLoop(SybStatement.java:1766)
        at com.sybase.jdbc2.jdbc.SybStatement.execute(SybStatement.java:1758)
        at com.sybase.jdbc2.jdbc.SybPreparedStatement.execute(SybPreparedStatement.java:619)
        at com.cisco.nm.rmeng.inventory.ics.dbrep.DBRecord.insert(DBRecord.java:50)
        at com.cisco.nm.rmeng.inventory.ics.util.ICSDatabaseConnection.insert(ICSDatabaseConnection.java:91)
        at com.cisco.nm.rmeng.inventory.ics.invchange.AddInvChange.effect(AddInvChange.java:29)
        at com.cisco.nm.rmeng.inventory.ics.server.InvDataProcessor.processInvData(InvDataProcessor.java:394)
        at com.cisco.nm.rmeng.inventory.ics.core.CollectionController.run(CollectionController.java:849)
        at java.lang.Thread.run(Thread.java:534)
    [ Di Nov 16  15:54:44 CET 2010 ],ERROR,[Thread-14],com.cisco.nm.rmeng.inventory.ics.server.InvDataProcessor,448,ASA Fehler -193: Primärschlüssel für Tabelle 'PhysicalElement' ist nicht eindeutig
    com.sybase.jdbc2.jdbc.SybSQLException: ASA Fehler -193: Primärschlüssel für Tabelle 'PhysicalElement' ist nicht eindeutig
        at com.sybase.jdbc2.tds.Tds.processEed(Tds.java:2834)
        at com.sybase.jdbc2.tds.Tds.nextResult(Tds.java:2156)
        at com.sybase.jdbc2.jdbc.ResultGetter.nextResult(ResultGetter.java:69)
        at com.sybase.jdbc2.jdbc.SybStatement.nextResult(SybStatement.java:220)
        at com.sybase.jdbc2.jdbc.SybStatement.nextResult(SybStatement.java:203)
        at com.sybase.jdbc2.jdbc.SybStatement.executeLoop(SybStatement.java:1766)
        at com.sybase.jdbc2.jdbc.SybStatement.execute(SybStatement.java:1758)
        at com.sybase.jdbc2.jdbc.SybPreparedStatement.execute(SybPreparedStatement.java:619)
        at com.cisco.nm.rmeng.inventory.ics.dbrep.DBRecord.insert(DBRecord.java:50)
        at com.cisco.nm.rmeng.inventory.ics.util.ICSDatabaseConnection.insert(ICSDatabaseConnection.java:91)
        at com.cisco.nm.rmeng.inventory.ics.invchange.AddInvChange.effect(AddInvChange.java:29)
        at com.cisco.nm.rmeng.inventory.ics.server.InvDataProcessor.processInvData(InvDataProcessor.java:394)
        at com.cisco.nm.rmeng.inventory.ics.core.CollectionController.run(CollectionController.java:849)
        at java.lang.Thread.run(Thread.java:534)
    [ Di Nov 16  15:54:44 CET 2010 ],ERROR,[Thread-14],com.cisco.nm.rmeng.inventory.ics.core.CollectionController,861, Exception occured in process method while processing: 9.152.255.101 ASA Fehler -193: Primärschlüssel für Tabelle 'PhysicalElement' ist nicht eindeutig
    ICSException :: ASA Fehler -193: Primärschlüssel für Tabelle 'PhysicalElement' ist nicht eindeutig
        at com.cisco.nm.rmeng.inventory.ics.server.InvDataProcessor.processInvData(InvDataProcessor.java:463)
        at com.cisco.nm.rmeng.inventory.ics.core.CollectionController.run(CollectionController.java:849)
        at java.lang.Thread.run(Thread.java:534)
    I don't know where the German error message comes from. The whole system is English. Translation is: "ASA error -192: primary key for table 'PhysicalElement' isn't distinct'
    Thanks for your help!
    Alex

    Well known issue in LMS 2.6. Most likely you are hitting CSCsm97530. As a temporary solution you could remove and re-add problematic device from CS. To get a permanent fix you need a patch (provided by TAC).

  • Possible to show the WBS element in the down payment request?

    Hi,
    We have a

    Hi,
    We have a Plant maintenance order with a WBS element.
    We have created a PO for a vendor. The WBS element is not shown on the PO.
    Is it possible to show the WBS element on the down payment request of that vendor?
    Thank you for your feedback.
    Kind regards,
    Linda

  • Acrobat Reader DC on PC: How to deactivate the sidebar/element on the right side forever? (Question/Feedback)

    How can I deactivate the sidebar/element on the right side (export, create, edit PDF, more information, comment...) forever? It keeps coming back when I restart Acrobat Reader DC.
    If this is not a feature, I strongly suggest to implement that Acrobat Reader saves the last state whether it is shown or not (aka activated or deactivated).

    Hi Marcus,
    I can understand your concern, however its a part of core user interface in Adobe Acrobat Reader DC & Adobe Acrobat DC. So its not possible to disable it permanently.
    Some of our customers have raised the same issue & like them you too can fill a feature request for at Adobe - Feature Request/Bug Report Form
    Regards,
    Aadesh

  • How to find the WBS element for the payment document?

    Dear All,
    How to find the WBS element in the payment document?...I know in payment doc there will not be any WBS but is there any option where I can find in any of the Tables.
    I am in the process of developing a Z report where i need to fetch the payment documents based on WBS. Can any one please help me on this.

    Hi Ram,
    As you are not giving any input of WBS at the time of payment you cannot fetch this directly. But to know the WBS for the reporting purpose on which WBS the payment has been made, you can develop a Z-Report. The WBS elements of clearing documents against the payment entry can be fetched out.
    In this report if there is a single payment against many invoices also possible with different invoice and WBS elements to be displayed on the Z-Report
    Regards
    Divya S

  • LMS 4.2.4 Error RICS0001:Internal Error,unable to process the collected data from the device.

    Hi
    LMS 4.2.4 inventory collection fails with Error RICS0001:Internal Error,unable to process the collected data from the device for few devices.
    Can anyone help me out.
    Regards
    Laxmi

    They are definately supported. However such issues are usually due to device packages, if unavailable or not installed.
    Please do following :
    1. Check Admin > software centre > device updates and check any devices packages available in Cisco.com and install it and recheck.
    2. Please do a snmpwalk on problematic device on sysObjectID and share result. Following is the way to do snmpwalk :
    GUI - Open the device in Device Centre (Inventory > Tools > Device Center) and open the device with IP and from tools select snmpwalk and do it for sysObjectID (1.3.6.1.2.1.1.2)
    CLI : CD to NMSROOT/objects/jt/bin from command prompt. run command as per following syntax:
    snmpwalk -v2c -c <snmp_community_string> 1.3.6.1.2.1.1.2
    Example :
    community string = test123
    IP = 10.1.1.1
    snmpwalk -v2c -c test123 10.1.1.1 1.3.6.1.2.1.1.2
    3. Please check your device package, by clicking on the number of packages in front of Inventory, conifg and image management from :
    Admin > System > Software Center > Device Update
    Also, check device identity under edit identity option from :
    Inventory > Device Administration > Add / Import / Manage Devices
    Check my screenshots for details :
    Please check and share results.
    -Thanks
    Vinod
    **Rating Encourages contributors, and its really free. **

  • LMS Prime 4.1 RICS0001:Internal Error,unable to process the collected data from the device.

    Hello,
    I have a problem with inventory collection from several devices getting
    "RICS0001:Internal Error,unable to process the collected data from the device."
    ERROR,[Thread-20],com.cisco.nm.rmeng.inventory.ics.server.InvDataProcessor,918,Device does not exist in RME, Please check if device is already deleted

    Did you schedule an inventory collection job?
    Delete schedule and recreate it using device group.
    Cheers,
    Michel

  • Why error when looping a sheets collection and setting the visible property?

    I get an error on line 5 when running the following code:
    1Sub ShowSheets(vSheets() As Variant)
    2
    3 Dim i As Long
    4 For i = LBound(vSheets, 1) To UBound(vSheets, 1)
    5 ThisWorkbook.Sheets(vSheets(i, 1)).Visible = xlSheetVisible
    6 Next i
    7
    8End Sub
    The error code I get is:
    Run-time error '-2147417848 (80010108)':
    Method 'Visible' of object '_Worksheet' failed
    I only get the error when at least one of the sheets is a chart. But the error does not occur when the chart object is looping. Instead it occurs when the first worksheet object after the chart object is looping.
    What is the cause of this error?

    Hi JP3O,
    >> only get the error when at least one of the sheets is a chart. But the error does not occur when the chart object is looping<<
    I am trying to reproduce this issue however failed. From the error message, it seems that the visible couldn't set when you call the sub.
    How the code was executed? Would you mind sharing more detail about this secnario?
    Regards & Fei
    We are trying to better understand customer views on social support experience, so your participation in this interview project would be greatly appreciated if you have time. Thanks for helping make community forums a great place.
    Click
    HERE to participate the survey.

  • How can I access the sub elements of the Nested Cluster-2

    would like to know the label a sub element of a Nested Cluster. I have included the vi. I am trying to programmetically read the Text label of the data elements in Value N mode cluster (Max , Min Mode). I was looking into the Type descriptor document. It can tell me how many and what type of elements are in the cluster. But it does not gove me Refnum to those objects.
    Let me know if you have an solution to my question."
    Attachments:
    cluster_1.vi ‏24 KB

    Hi
    You need to do a recursion. If the reference you get from the array "controls[]" if of type cluster, then you have to loop through recursively.
    Openg toolkit has variant tools that might be of some help to you (www.openg.org).
    Good luck
    PJM
    Got EasyXML?
    JKI.VIPM.EasyXML.OpenG.LAVA.Builder.blog

  • Namespace Prefix in the Root Element of the variable

    Hi Gurus,
    We need to call a webservice which requires a namespace prefix at the root elemnt of the xml payload. But as we know that the default behaviour of BPEL removes the prefix so the invoke activity is failing and so we are stuck.
    I found this thread Namespace prefix in Root element missing during variable assignment but i feel the solution specified in this link works only in SOA 10g environment Please let us know what needs to be done?
    Appreciate a prompt response.
    NOTE: SOA Suite Version- 11.1.1.4
    Regards
    Ayush

    Hi All,
    we are also facing the same issue, Please provide the solution if anyone knows. We are also using the SOA Suite 11g Version.

  • Doubt in Looping over a collection...?

    Hello,
    As i was goin through some collections topics .. i have understood the basics, but i am NOT able to understand this line ... *" l_tab(l_tab.last) := i; "*
    DECLARE
    TYPE t_tab IS TABLE OF exception_test.id%TYPE;
    l_tab t_tab := t_tab();
    BEGIN
    -- Fill the collection.
    FOR i IN 1 .. 100 LOOP
    l_tab.extend;
    l_tab(l_tab.last) := i;
    END LOOP;
    End;
    Why it is assigning like ' l_tab.LAST '.....?? y not from FIRST place....???
    Thanks

    Aijaz Mallick wrote:
    Tht's Correct ... But why only LAST & why not FIRST....???Perhaps if you look at the contents while you do it, you'll get an idea...
    SQL> ed
    Wrote file afiedt.buf
      1  declare
      2    type t_coll is table of integer;
      3    v_coll t_coll := t_coll();
      4    --
      5    procedure show_coll is
      6      v_str varchar2(2000);
      7    begin
      8      for x in 1..v_coll.last
      9      loop
    10        v_str := ltrim(v_str||','||v_coll(x),',');
    11      end loop;
    12      dbms_output.put_line('Array Size: '||to_char(v_coll.last,'99')||' : '||v_str);
    13    end;
    14    --
    15  begin
    16    for i in 1..10
    17    loop
    18      v_coll.extend;
    19      v_coll(v_coll.last) := i;
    20      show_coll;
    21    end loop;
    22* end;
    SQL> /
    Array Size:   1 : 1
    Array Size:   2 : 1,2
    Array Size:   3 : 1,2,3
    Array Size:   4 : 1,2,3,4
    Array Size:   5 : 1,2,3,4,5
    Array Size:   6 : 1,2,3,4,5,6
    Array Size:   7 : 1,2,3,4,5,6,7
    Array Size:   8 : 1,2,3,4,5,6,7,8
    Array Size:   9 : 1,2,3,4,5,6,7,8,9
    Array Size:  10 : 1,2,3,4,5,6,7,8,9,10
    PL/SQL procedure successfully completed.Whereas, if you where using FIRST instead of LAST, you'd get...
    SQL> ed
    Wrote file afiedt.buf
      1  declare
      2    type t_coll is table of integer;
      3    v_coll t_coll := t_coll();
      4    --
      5    procedure show_coll is
      6      v_str varchar2(2000);
      7    begin
      8      for x in 1..v_coll.last
      9      loop
    10        v_str := ltrim(v_str||','||v_coll(x),',');
    11      end loop;
    12      dbms_output.put_line('Array Size: '||to_char(v_coll.last,'99')||' : '||v_str);
    13    end;
    14    --
    15  begin
    16    for i in 1..10
    17    loop
    18      v_coll.extend;
    19      v_coll(v_coll.first) := i;
    20      show_coll;
    21    end loop;
    22* end;
    SQL> /
    Array Size:   1 : 1
    Array Size:   2 : 2,
    Array Size:   3 : 3,,
    Array Size:   4 : 4,,,
    Array Size:   5 : 5,,,,
    Array Size:   6 : 6,,,,,
    Array Size:   7 : 7,,,,,,
    Array Size:   8 : 8,,,,,,,
    Array Size:   9 : 9,,,,,,,,
    Array Size:  10 : 10,,,,,,,,,
    PL/SQL procedure successfully completed.
    SQL>

  • How can I access the sub elements of the Nested Cluster

    I would like to know the label a sub element of a Nested Cluster. I have included the vi. I am trying to programmetically read the Text label of the data elements in Value N mode cluster (Max , Min Mode). I was looking into the Type descriptor document. It can tell me how many and what type of elements are in the cluster. But it does not gove me Refnum to those objects.
    Let me know if you have an solution to my question.
    Attachments:
    cluster_1.vi ‏24 KB

    I suggest posting this question on the LabVIEW forum. This is the Measurement Studio for Visual Basic forum and there are not nearly as many LabVIEW experts that monitor this forum as the LabVIEW forum.
    - Elton

  • Very urgent: How to append the form elements to the Querytext

    Hi All,
    Could anyone please guide me thru of how we can pass the Querytext in the serach results page in content server 10gR3. As far as I knew we
    pass thru in submitfrm() function in the resource include query_submit_form_function.
    Am actually trying to customize the search page and search results page and we have several onclick events in the search page.
    When we click on the radio button or checkbox. we were able to see the metadata fields in the dropdownlist and I will select the field name
    matches some value....How we can append the selected values to the QueryText. How can the Querytext build based on the selection of form
    elements.
    Please give me some idea...your help is very much appreciated. Let me know if you have any questions....
    Thanks,
    isha.

    Hey,
    Thanks for the response. I also got the same thought after going through in depth of Search related resource includes...
    I'm not sure of how to do this. Which includes I need to modify. And where exactly I have to write this Onclick event. And where exactly I have to pass this hidden parameters...I knew that we do have to add in Searchform form. However do we need to add the hidden parameters to the standard resource include.
    As far as I knew, submitfrm() is the function which holds of Searchform values and also query_form_init script.
    Could you please guide me through the steps. Which resource incliudes I have to modify/override..
    Thanks a lot for your help.

  • How to find out all the text elements in the report using Java?

    How to trace the contents of an rpt file?
    I am able to open the rpt file in my report viewer but can not trace it using the JAVA code.
    Actually, I need to find out all the text elements of rpt (Report) file and replace them with the contents of resource bundle.
    My Java code to open a report is given below:
    import com.crystaldecisions.reports.sdk.ISubreportClientDocument;
    import com.crystaldecisions.reports.sdk.ParameterFieldController;
    import com.crystaldecisions.reports.sdk.ReportClientDocument;
    import com.crystaldecisions.sdk.occa.report.data.ConnectionInfo;
    import com.crystaldecisions.sdk.occa.report.data.ConnectionInfos;
    import com.crystaldecisions.sdk.occa.report.data.Fields;
    import com.crystaldecisions.sdk.occa.report.data.IConnectionInfo;
    import com.crystaldecisions.sdk.occa.report.data.ParameterField;
    import com.crystaldecisions.sdk.occa.report.data.ParameterFieldDiscreteValue;
    import com.crystaldecisions.sdk.occa.report.data.Values;
    import com.crystaldecisions.sdk.occa.report.lib.IStrings;
    import com.crystaldecisions.sdk.occa.report.lib.PropertyBag;
    import com.crystaldecisions.sdk.occa.report.lib.PropertyBagHelper;
    import com.crystaldecisions.sdk.occa.report.lib.ReportSDKException;
    import com.crystaldecisions.sdk.occa.report.reportsource.IReportSource;
    public String viewRpt()
                   //1.) Setting Database Infos
                            IConnectionInfo iConnectionInfoObj=setDatabaseConnectionInfos();
                   //2.) Setting Report Path
                   String reportPath=u201DE:
    was60
    rptFilesLocation
    u201D;
                   reportPath=(reportPath!=null)?                                             reportPath:AppConstants.CONSTANTS.BLANK;
                   String reportName="report1.rpt";
                   String reportFullPath = reportPath +   rptName;
                 //3.) Setting Report Source
                             ReportClientDocument reportClientDoc = new ReportClientDocument();
                                              reportClientDoc.open(reportPath, 0);
                  IReportSource reportSource = reportClientDoc.getReportSource();
                  setReportSource(reportSource);
                  reportClientDoc.close();
              //4.) Setting the Fields Starts
              setFieldsCrystal(null);
              Fields fields = new Fields();
              ParameterField pfield1 = new ParameterField();
              Values vals1 = new Values();
              ParameterFieldDiscreteValue pfieldDV1 = new ParameterFieldDiscreteValue();
              pfield1.setName("@parameter1");
              pfieldDV1.setValue(u201Cvalue1u201D);
              vals1.add(pfieldDV1);
              pfield1.setCurrentValues(vals1);
              fields.add(pfield1);
              pfield1 = new ParameterField();
              vals1 = new Values();
              pfieldDV1 = new ParameterFieldDiscreteValue();
              pfield1.setName("@parameter2");
              pfieldDV1.setValue(u201Cvalue2u201D);
              vals1.add(pfieldDV1);
              pfield1.setCurrentValues(vals1);
              fields.add(pfield1);
              setFieldsCrystal(fields);
              //Setting the Fields Ends
    The sample jsp code to view the report is as follows:
    <%@taglib uri="http://www.businessobjects.com/jsf/crystalreportsviewers"
         prefix="bocrv"%>
    <bocrv:reportPageViewer viewerName="CrystalViewer"
                                                 reportSource="#{CrystalReportBeanObject.reportSource}"
                                                 displayToolbarRefreshButton="false"
                                                 allowDatabaseLogonPrompting="false"
                                                 allowParameterPrompting="false"
                                                 databaseLogonInfos="#{CrystalReportBeanObject.connectionInfosCrystal}"
                                                 parameterFields="#{CrystalReportBeanObject.fieldsCrystal}"
                                                 displayGroupTree="false" displayToolbarLogo="false"
                                                 displayToolbarToggleTreeButton="false"
                                                 enablePageToGrow="false" height="540"
                                                 zoomPercentage="100" width="750"
                                                 allowDrillDown="false"
                                                 displayToolbarPrintButton="true"
                                                 printMode="PDF"
                                                 ></bocrv:reportPageViewer>
    Edited by: JayKumarSharma on Mar 23, 2011 12:42 PM

    This is how you retrieve all the text fields in the reort:
    ReportObjects reportObjects = (ITextObject) oReportClientDocument.getReportDefController().getReportObjectController().getReportObjectsByKind(ReportObjectKind.text);
    for(int i=0; i< reportObjects.size();i++)
    ITextObject textObject = (ITextObject)reportObjects.get(i);
    // use ReportObjectController to modify the text object.
    If you want to modify the contents of the text element, you can do it as follows:
    TextObject oTextObject = new TextObject();
    Paragraphs oParagraphs = new Paragraphs();
    Paragraph oParagraph = new Paragraph();
    ParagraphElements oParagraphElements = new ParagraphElements();
    ParagraphTextElement oParagraphTextElement = new ParagraphTextElement();
    oParagraphTextElement.setText("This is the new text field");
    oParagraphTextElement.setKind(ParagraphElementKind.text);
    oReportClientDocument.getReportDefController().getReportObjectController().modify(textObject, oTextObject);
    oReportClientDocument.save();

Maybe you are looking for