Combo in XML

Hello to all, I need to relate a combobox to another table. The code that I have is the following one. Thank you very much
<item AffectsFormMode="1" " type="113"...
              <AutoManagedAttribute />             
              <specific AffectsFormMode="1" TabOrder="0">
                  <ValidValues>
                       <action type="add"/>
                  </ValidValues>
                <databind alias="U_TGV_FIIBB_CODE" databound="0" table="@TGV_TIIBB_CODES_BP" />
              </specific>
            </item>           
            <item AffectsFormMode="1" type="8"...
              <specific caption="Codigo de IIBB" />
            </item>

Hi
Here is an example of combo.
<column uid="eUMyField" type="113" title="My Combo Field" description="My Combo Field"
                     visible="1" AffectsFormMode="1" width="8" disp_desc="1" editable="1" 
                     right_just="0" val_on="" val_off="" backcolor="-1" forecolor="-1"
                     text_style="0" font_size="-1">
   <databind databound="1" table="@USER_TABLE" alias="U_MyField"></databind>
<ExtendedObject></ExtendedObject>
</column>
To load data into combo from some table on database you need to initilize combo box when you load your form.
Here 2 examples:
- 1) into combo cType we load data from table .
- 2) into comto cTypeSog we load predefined data.
In the 1) example: your need to do for ... next.
In the 2) example: you can also do this using xml (look example posted before).
3° case: also you can load data into combobox field when you have UDF with defined ValidValues.
In this case you need to said in your code what field is of type combobox (113) and binded to table attribute with ValidValues.
Private Sub LoadMyComboBoxes(ByRef oForm As SAPbouiCOM.Form)
  Dim oRS As SAPbobsCOM.Recordset
  Try
      Dim oCombo As SAPbouiCOM.ComboBox
      ' 1) ComboBox
      oCombo = oForm.Items.Item("cType").Specific
      If oCombo.ValidValues.Count = 0 Then
       Dim sSQL As String = ""
       sSQL = "SELECT Code, Name FROM [@MY_TABLE] ORDER BY Name"
       oRS = SBO_Company.GetBusinessObject(SAPbobsCOM.BoObjectTypes.BoRecordset)
       oRS.DoQuery(sSQL)
       If oRS.RecordCount > 0 Then
           Dim sCode As String = ""
           Dim sName As String = ""
           oRS.MoveFirst()
           While Not oRS.EoF
            If Not oRS.Fields.Item(0).Value Is Nothing Then
                sCode = oRS.Fields.Item(0).Value
                If Not oRS.Fields.Item(1).Value Is Nothing Then
                 sName = oRS.Fields.Item(1).Value
                Else
                 sName = "--Not defined-- "
                End If
                Try
                 oCombo.ValidValues.Add(sCode, sName)
                Catch ex As Exception
                End Try
            End If
            oRS.MoveNext()
           End While
       End If
      End If
      If oCombo.ValidValues.Count > 0 Then oCombo.Select(0, BoSearchKey.psk_Index)
      oCombo = Nothing
      ' 2) ComboBox
      oCombo = oForm.Items.Item("cTypeSog").Specific
      If oCombo.ValidValues.Count = 0 Then
       oCombo.ValidValues.Add("BP", "Business Partner")
       oCombo.ValidValues.Add("AG", "Agent")
       oCombo.ValidValues.Add("CO", "Corporation")
      End If
      If oCombo.ValidValues.Count > 0 Then oCombo.Select(0, BoSearchKey.psk_Index)
      oCombo = Nothing
  Catch ex As Exception
      ' log exception
      SBO_Application.StatusBar.SetText(ex.Message, BoMessageTime.bmt_Long, BoStatusBarMessageType.smt_Error)
  Finally
      If Not oRS Is Nothing Then
       System.Runtime.InteropServices.Marshal.ReleaseComObject(oRS)
       oRS = Nothing
      End If
      System.GC.Collect() 'Release the handle to the table
  End Try
End Sub
Also, look this [Thread: ComboBox and DataTable|;.
Hope this can help you.
Regards
Sierdna S.
Edited by: Sierdna S on Oct 21, 2008 11:23 AM

Similar Messages

  • DeepCopy() behaviour

    Hi all,
    Having been pounding my head against the wall for a couple of days I just wanted to give you heads up on what I discovered.
    Don't know if this behaviour has already been documented but I've not found any useful info about this.
    I have a TLF-editor that saves TLF-formatted text to a MySQL database.
    So far so good, if I retrieve the TLF-formatted text to a TLF-viewer or the TLF-editor, it all looks right.
    But if I, (as in this case), want to create a summary of a couple of these database texts, (i.e. for printing), things started to break.
    As the TLF does not support "appending" the only way I could glue these texts together is by making a deepCopy() of all of the childElements in these separate texts and add these to a new TextFlow.
    However if there is a spanElement surrounding one word, (bold, italic, underlined, strikethrough, make your pick), the whiteSpace between this word and the words before and after are gone.
    textFlow.whiteSpaceCollapse = "preserve" has no effect.
    Nor has textFlow.whiteSpaceCollapse = flashx.textLayout.formats.WhiteSpaceCollapse.PRESERVE;
    And since I am importing a preformatted string (as a string) from the database straight into the textFlow I could not have imagined I'd have to use XML commands to get textFlow import working.
    Anyway, XML.prettyPrinting = false; before the import call fixes this.
    For safety I use this combo.
    XML.ignoreWhitespace = false;
    XML.prettyPrinting = false;
    Note, this behaviour is showing only when the target is created with StringTextLineFactory.

    I just saw that this has been up before and even fixed.
    Allthough it did not show up on my searches.

  • How to bind ASP Result to Combobox

    I am new in Flex builder. I have one page in Flex (One Combo
    box and submit button).
    I have one asp page.In that page i open the database
    connection and form the XML Result and return to the Flex.
    In Flex, how do i bind the ASP result to Combo box?
    give me example?

    Hi Sethumail2000,
    I have a similar example - an ASP.NET page generates some
    fairly complex XML with (among other things) structure
    <Result>
    <Deposits>
    <Deposit>
    <various other bits>...</bits>
    <ReleaseTitle>something</ReleaseTitle>
    </Deposit>
    <Deposit>
    <various other bits>...</bits>
    <ReleaseTitle>something else</ReleaseTitle>
    </Deposit>
    etc
    </Deposits>
    </Result>
    Then I have an XML object and a combo
    deposit_list_xml: XML
    <mx:ComboBox id='deposit_list' />
    and in the receive handler from the call to the ASP.NET page
    I have
    deposit_list_xml = XML(result from the call);
    deposit_list.dataProvider =
    deposit_list_xml.Deposits.Deposit.ReleaseTitle;
    Hope that helps
    Richard

  • How to get the values from xml file to java combo box

    Hi frens,
    I am new to java and xml programming,
    Now, i want to have a code of getting the tag values from the xml file
    into the swing combo box of java front end.
    How can we do that?
    any help of code or tutorial or an ebook is a great help for me.
    Thank you,
    Karthik.
    Edited by: Karthik84 on Aug 27, 2008 1:49 AM
    Edited by: Karthik84 on Aug 27, 2008 11:29 PM

    look at this link
    http://www.stylusstudio.com/docs/v2006/d_help30.html
    I read sometime back that castor has a tool to do
    conversion. You might have a look into casto as well.

  • XML data into Combo & List

    Hi
    I am too new to this and still tring to learn. Well here is what I am into. I am trying to make a simple product catalog, using native components
         a combobox to display DISTINCT health issues
         a listbox to display the products associated to the selected health issue item in ComboBox
         a textarea to display complete information about the selected product in listbox
    Data comes from single external xml file.
    I was able to start off with Combo, but I don't know how to display DISTINCT ITEMS IN IT? Now it display all items including duplicates. Then I added eventlistener to Combo, which on change, the data for selected item is displyed in Textarea, but i don't know how to hook this to List component.
    All files available here:
    https://docs.google.com/folder/d/0ByHOlDbL5njbX1FFd1UtTFNzMTg/edit
    Sure some of you can do it so easy. Appreciate your time and help.
    Thank you
    Kristtee

    Filter the XML before using it to create your dataProvider http://joshblog.net/2007/05/17/filter-xml-data-with-e4x-in-flash-part-2/

  • How to display data in combo box from xml file.

    Hi All,
            I have the data in xml file.
      <jukebox>
        <song>
            <title>When the Levee Breaks</title>
            <artist>Kansas Joe and Memphis Minnie</artist>
            <url>delhi601(www.songs.pk).mp3</url>
        </song>
        <song>
            <title>Better Leave that Stuff Alone</title>
            <artist>Will Shade</artist>
            <url>delhi601(www.songs.pk).mp3</url>
        </song>
        <song>
            <title>Walk Right In</title>
            <artist>Cannon's Jug Stompers</artist>
            <url>delhi601(www.songs.pk).mp3</url>
        </song>
    </jukebox>
    and i want to display the only url in combo box list. for that how can load this xml file and how can i show.
    Can any one help me.
    thanks
    Raghu.

    Raghuvasa,
    Get the XML file data into an XML variable in your code, say var jukebox: xml. Then do
    combo.dataProvider = jukebox.song.url
    or as a shortcut
    combo.dataProvider = jukebox.descendants("url")
    The latter will pull out elements with tag name url at any depth in the xml structure, so sometimes you have to be careful, but in your case there should be no problem.
    Richard

  • Need help with xml and combo boxes

    Basically what im doing is a ui for a electronic book.
    The book is broken into 3 parts and each part has its own set
    of chapters.
    My xml schema is pasted below.
    And what i would like is to have two comboBoxes .
    The first one would list the names of the parts available,
    ie.. Part I, Part II, Part III.
    the Second one would list the chapters avalable under that
    part. For example, If Part i, is sected then the secodn combo box
    would list chapter 1-5, while if the second part is selected, the
    second combo box would list chapters 6-10.
    Im using flash 8 pro, and the xmlconnector and comboboxes.
    Maybe there is an easier way. PLEASE HALLP! This is driving me
    nuts.
    XML Schema:

    Hi
    I have just done this for another guy in this forum, I can
    send you an example using UI Components - 3 Comboboxes each shows
    the sub-options of its parent, one more than what you want. The
    secret is in the construct of the XML file and how this creates the
    correct Schema for binding.
    Post me an email address and I can send you the files.

  • How to get values in the combo box in a XML form?

    Hi All,
        1. I have created a property which has "Default value" as "Clothings" and  "Allowed Values(csv)" as Real Estate - Sales , Clothings etc" by navigating to KM > CM > Global Services > Property Metadata > Properties.
       2. In the XML form builder when I drag this property I get a combo box for this property.
       3. But when I preview this by going to Content Management > Folder > New > FORMS > and select my XML form project I get a preview but it is not showing me the default values in the combo boxes which I created using the property in XML form builder.
    Please Suggest me as to how to get those values (which I mentioned in property) in the combo box ?
    Thanks in Advance,
    Jasmine.

    Hi All,
      I ll make the above Query Simple.
    1.In Xml Form Builder when you drag a property which has some 3-4 assigned values so you are  recomended to use a combo box.
    2.But the problem after using COMBOBOX is I am not getting these values in the preview of the combo box.
    3.Help Required please its urgent.
    Thanks in advance,
    Jasmine.

  • ..:: on getting 2 combo boxes to bind to single components?  --  (based on xcTrips XML tut)

    <<<<<<<PLEASE SKIP TO THE
    REPLY>>>>>>>>
    Ive built an app using the xcTrips tutorial from the flash
    xml resource page. It works great.
    (Links if needed-->)
    http://download.macromedia.com/pub/developer/xml_connector.zip
    http://www.adobe.com/devnet/flash/articles/xmlconnector.html
    Now I want to add another combo that uses a second array that
    I added to the original xml file.
    what I have done:
    1) I have added a new array to the xml file (same schema,
    different syntax)
    <videos>
    <video>
    <description></description>
    <swf></swf>
    </video>
    </videos>
    2) I imported the new array to the schema
    3) I bound the new combo box to the new videos array and set
    its formatter options
    4) I then bound the combo box to the textArea and loader
    compenents that are ALSO bound to the other combo box (I think this
    is the source of the problem)
    5) I did NOT set the default value of the selectedIndex to 0,
    b/c I do not want this box to load at runtime. (where is the other
    cb IS set to 0)
    Result---
    the new combo displays the label names from the new array,
    but does not update the description or the loader
    So--
    how can I get I get around this?
    thanks!!

    This is an excellent tutorial:
    http://www.adobe.com/devnet/flash/articles/flash_xmlphp.html

  • Podcast / Vodcast combo possible with XML?

    I don't seem to be having any luck generating a good feed when I added a video podcast ("vodcast") to my feed. Is having both the mp3 and m4v formats in one XML file not allowed? Maybe I messsed up the coding somewhere?
    My XML:
    <?xml version="1.0" encoding="UTF-8"?>
    <rss xmlns:itunes="http://www.itunes.com/dtds/podcast-1.0.dtd" version="2.0">
    <channel>
    <itunes:new-feed-url>http://feeds.feedburner.com/TheFlightcast</itunes:new-feed-url>
    <title>The Flightcast!</title>
    <link>http://flightsimulatorxworld.com</link>
    <language>en-us</language>
    <copyright>Patrick Ashley</copyright>
    <itunes:subtitle>Now departing for flight simulation topics!</itunes:subtitle>
    <itunes:author>Patrick Ashley</itunes:author>
    <itunes:summary>The Flightcast is a weekly show regarding Flight Simulation, especially Microsoft Flight Simulator X, and produced by FlightSimulatorXworld.com. Weekly features include interviews and tips of the week.</itunes:summary>
    <description>The Flightcast is a weekly show regarding Flight Simulation, especially Microsoft Flight Simulator X, and produced by FlightSimulatorXworld.com. Weekly features include interviews and tips of the week.</description>
    <itunes:owner>
    <itunes:name>Patrick Ashley</itunes:name>
    <itunes:email>[email protected]</itunes:email>
    </itunes:owner>
    <itunes:image href="http://downloads.flightsimulatorxworld.com/pod/flightcast.jpg" />
    <itunes:category text="Games & Hobbies">
    <itunes:explicit>clean</itunes:explicit>
    </itunes:category>
    <item>
    <title>Maiden Voyage</title>
    <itunes:author>Patrick Ashley</itunes:author>
    <itunes:subtitle>Our first podcast!</itunes:subtitle>
    <itunes:summary>In this 'maiden voyage' podcast, I discuss the features of FlightSimulatorXworld.com, and possible future features.</itunes:summary>
    <enclosure url="http://downloads.flightsimulatorxworld.com/pod/Flightcast#1.mp3" length="18331578" type="audio/x-m4a" />
    <guid>http://downloads.flightsimulatorxworld.com/pod/Flightcast#1.mp3</guid>
    <pubDate>Mon, 02 Apr 2007 19:00:00 GMT</pubDate>
    <itunes:duration>18:57</itunes:duration>
    <itunes:keywords>MSFS,Flight Sim,FS,Flight Simulation,Microsoft</itunes:keywords>
    </item>
    <item>
    <title>TrackIR: A Must-Have!</title>
    <itunes:author>Patrick Ashley</itunes:author>
    <itunes:subtitle>Our first video podcast!</itunes:subtitle>
    <itunes:summary>I interview Warren Blyth, from NaturalPoint, the makers of the TrackIR interface, and the tip of the week!</itunes:summary>
    <enclosure url="http://downloads.flightsimulatorxworld.com/pod/Flightcast#2.m4v" length="208163445" type="video/x-m4v" />
    <guid>http://downloads.flightsimulatorxworld.com/pod/Flightcast#2.m4v</guid>
    <pubDate>Tue, 17 Apr 2007 10:00:00 GMT</pubDate>
    <itunes:duration>17:25</itunes:duration>
    <itunes:keywords>FS,fs,Microsoft,flight sim,flight simulator,flight simulation</itunes:keywords>
    </item>
    </channel>
    </rss>
    Imac G4 20"   Mac OS X (10.4.9)  
    Imac G4 20"   Mac OS X (10.4.9)  

    You'll also need to properly "escape" you ampersand in "games & Hobbies"
    the tag should be:
    <itunes:category text="Games &amp; Hobbies" />
    You .mp3 files should have a type of "audio/x-mpeg"
    The links to the files are dead. Either the URL is incorrect, the file has been removed or the filename is incorrect.
    Erik

  • Not able to populate data in the combo box

    Hi Guys,
    I m new to flex development and I want to populate the data
    coming from the databasein the combobox.I am able to get the length
    .but not able to populate the data.
    Can anyone helpme out?
    The code is below:
    The data displayed in the combox box is displayed as
    [object],[object] etc.I m sure that the data is coming from the
    database and its not populated in the combo box.any help is
    appreciated.
    private function getParkinfo(event:ResultEvent):void
    { Alert.show(event.result.length.toString());
    countries.dataProvider = event.result;
    <mx:ComboBox id="countries" />

    What does the data look like in the result? Is it XML? Post a
    sample of it.

  • Looping through an array to get the index for each measure in a combo box

    Hi folks,
    I am working on a web application that has two combo boxes, one for year (called yearcombo) and for measures (called myURL) for that selected year, and also two radiobuttons (in radioBtnGroup). I have two years and a bunch of measure for each year. I  have a map tool tip that when you mouse over the county you see a measure for that specific year. However I have a bunch of measures for each year and I want to be able to loop through the measures (which are in an array collection inside a combobox) so my "if" expression can find every selectedIndex and bring me the tool tip for that selected measure for that selected radio button. Right now I would have to create if statements for each measure (each selectedIndex inside the myURL combobox)and each radiobutton (inside the radioBtnGroup) instead of creating a if expression to get a map tip tool for each measure. I know I would have to create a loop to search for these indexes and enter that in the if expression and also change the graphic.attributes to reflect the right measure or index selected. Do you API for Flex wizards  can give me any tips on how to code this according to my code below ? Any  help is greatly appreciated! (the print scree is attached)
    Below is the code snippet:
    if (yearcombo.selectedItem.year == "2007" && myURL.selectedIndex == 0 && radioBtnGroup.selectedValue == 0)
    fLayer.definitionExpression = "DATA_YEAR_TXT like '2007'"
    var graphic:Graphic = Graphic(event.currentTarget);
    graphic.symbol = mouseOverSymbol;
    var htmlText:String = graphic.attributes.htmlText;
    var textArea:TextArea = new TextArea();
    try{
    textArea.htmlText = myURL.selectedItem.label + graphic.attributes.ForDirIndOut.toString()
    myMap.infoWindow.content=textArea
    myMap.infoWindow.label = graphic.attributes.NAME;
    myMap.infoWindow.closeButtonVisible = false;
    myMap.infoWindow.show(myMap.toMapFromStage(event.stageX, event.stageY));}
    catch(error:Error) {
    trace("Caught Error: "+error);
    And below is the combo boxes with the arrays
    <mx:FormItem label="Year        :"  >
    <mx:ComboBox   id="yearcombo" selectedIndex="0" labelField="label" width="100%" change="changeEvt(event)"  >
    <mx:ArrayCollection id="year"  >
    <fx:Object label="2007"  year="2007" />
    <fx:Object label="2009"  year="2009" />
    </mx:ArrayCollection>
    </mx:ComboBox>
    </mx:FormItem>
    <mx:FormItem label="Measure:">
    <mx:ComboBox   id="myURL" selectedIndex="8" width="80%" mouseOver="clickEv2(event)" close="closeHandler(event)">
    <mx:ArrayCollection id="measures"   >
    <fx:Object id="forindout07" labeltext="2007 Forestry Industry Output" label="Forestry Industry Output " value="RADIO_BUTTONS/TFEI_07_forest_industry_output" year="2007"  />
    <fx:Object id="foremp07" label="2007 Forestry Employment " value="RADIO_BUTTONS/TFEI_07_forest_employment" year="2007" />
    <fx:Object id="forlabinc07" label="2007 Forestry Labor Income " value="RADIO_BUTTONS/TFEI_07_forest_labincome" year="2007" />
    <fx:Object id="forindbustax07" label="2007 Forestry Indirect Business Tax" value="RADIO_BUTTONS/TFEI_07_forest_business_tax" year="2007" />
    <fx:Object id="forindout09" label="Forestry Industry Output " value="RADIO_BUTTONS/TFEI_09_forest_industry_output" year="2009"  />
    <fx:Object id="foremp09" label="2009 Forestry Employment " value="RADIO_BUTTONS/TFEI_09_forest_employment" year="2009" />
    <fx:Object id="forlabinc09" label="2009 Forestry Labor Income " value="RADIO_BUTTONS/TFEI_09_forest_labincome" year="2009" />
    <fx:Object id="forindbustax09" label="2009 Forestry Indirect Business Tax" value="RADIO_BUTTONS/TFEI_09_forest_business_tax" year="2009" />
    <fx:Object id="blank" label=" "  />
    </mx:ArrayCollection>

    And here is the entire code
    <?xml version="1.0" encoding="utf-8"?>
    <mx:Application       
                    xmlns:fx="http://ns.adobe.com/mxml/2009"
                    xmlns:s="library://ns.adobe.com/flex/spark"
                    xmlns:mx="library://ns.adobe.com/flex/mx"
                    xmlns:esri="http://www.esri.com/2008/ags"
                    paddingBottom="8" paddingLeft="8"
                    paddingRight="8" paddingTop="8"
                    backgroundColor="0xffffff"
                    layout="vertical" >
        <!-- Start Declarations -->
    <fx:Declarations>
            <esri:SimpleFillSymbol id="mouseOverSymbol" alpha="0.5" color="0x808080">
                <esri:SimpleLineSymbol width="0" color="#000000"/>
            </esri:SimpleFillSymbol>
            <esri:SimpleFillSymbol id="defaultsym" alpha="0.01" color="#E0E0E0"   >
                <esri:SimpleLineSymbol width="1" color="#000000"/>
            </esri:SimpleFillSymbol>
        <!-- End Declarations -->
    </fx:Declarations>
        <fx:Script>
            <![CDATA[
                import com.esri.ags.Graphic;
                import com.esri.ags.SpatialReference;
                import com.esri.ags.esri_internal;
                import com.esri.ags.events.GraphicEvent;
                import com.esri.ags.geometry.Extent;
                import com.esri.ags.layers.ArcGISDynamicMapServiceLayer;
                import com.esri.ags.symbols.SimpleFillSymbol;
                import com.esri.ags.symbols.SimpleLineSymbol;
                import flash.utils.flash_proxy;
                import mx.collections.ArrayCollection;
                import mx.controls.Alert;
                import mx.controls.RadioButton;
                import mx.controls.TextArea;
                import mx.events.DropdownEvent;
                import mx.events.ItemClickEvent;
                import mx.rpc.Fault;
                import mx.rpc.events.FaultEvent;
                import flash.display.Sprite;
                import flash.events.ErrorEvent;
                import flash.events.MouseEvent;
                private function closeHandler(evt:DropdownEvent):void {
                    myLabel.text = ComboBox(evt.target).selectedItem.labeltext;
                private function loadLayerName():void
                    myLegend.layers = null;
                    layerPanel.removeAllChildren();
                    //loop through each layer and add as a radiobutton
                    for(var i:uint = 0; i < (dynamicLayer.layerInfos.length); i++)
                        var radioBtn:RadioButton = new RadioButton;
                        radioBtn.groupName = "radioBtnGroup";
                        radioBtn.value = i;
                        radioBtn.label = dynamicLayer.layerInfos[i].name;
                        if (dynamicLayer.layerInfos[i].name == "Direct Impact (Million $)")
                            radioBtn.label = "Direct Impact";
                        else if (dynamicLayer.layerInfos[i].name == "Total Impact (Million $)")
                        {radioBtn.label = "Total Impact";
                        else if (dynamicLayer.layerInfos[i].name == "Total Impact (Jobs)")
                        {radioBtn.label = "Total Impact";
                        else if (dynamicLayer.layerInfos[i].name == "Direct Impact (Jobs)")
                        {radioBtn.label = "Direct Impact";
                        else
                        {radioBtn.visible= false;
                        layerPanel.addChild(radioBtn);
                    /*     myDividerBox.getDividerAt(0).visible = false; */
                    //set the visible layer the first radio button
                     radioBtnGroup.selectedValue = 0;
                     dynamicLayer.visibleLayers = new ArrayCollection([0]);
                    myLegend.layers = [dynamicLayer];
                    myLegend.visible = true;
                private function radioClickHandler(event:ItemClickEvent):void
                    myLegend.layers = null;
                    // update the visible layers to only show the layer selected
                    dynamicLayer.visibleLayers = new ArrayCollection([event.index]);
                    myLegend.layers = [dynamicLayer];
                private function changeEvt(event:Event):void {
                if (yearcombo.selectedItem.year == "2007")
                    measures.filterFunction=filter1
                    measures.refresh()
                    myURL.dataProvider=measures
                else if (yearcombo.selectedItem.year == "2009")
                    measures.filterFunction=filter2
                    measures.refresh();
            public function filter1(item:Object):Boolean
                if (item.year=="2007") return true
                else return false
                public function filter2(item:Object):Boolean
                    if (item.year=="2009") return true
                    else return false
                private function clickEvt(event:Event):void {
                    if (yearcombo.selectedItem.year == "2007")
                        measures.filterFunction=filter3
                        measures.refresh()
                        myURL.dataProvider=measures
                    else if (yearcombo.selectedItem.year == "2009")
                        measures.filterFunction=filter4
                        measures.refresh();
                public function filter3(item:Object):Boolean
                    if (item.year=="2007") return true
                    else return false
                public function filter4(item:Object):Boolean
                    if (item.year=="2009") return true
                    else return false
                private function clickEv2(event:Event):void {
                    if (yearcombo.selectedItem.year == "2007")
                        measures.filterFunction=filter5
                        measures.refresh()
                    else if (yearcombo.selectedItem.year == "2009")
                        measures.filterFunction=filter6
                        measures.refresh();
                    else if (yearcombo.selectedItem.year == 2007 && myURL.selectedIndex==8)
                        myLegend.layers = null;
                        layerPanel.removeAllChildren();
                public function filter5(item:Object):Boolean
                    if (item.year=="2007") return true
                    else return false
                public function filter6(item:Object):Boolean
                    if (item.year=="2009") return true
                    else return false
                /* IF YOU WANT TO INCLUDE OTHER VALUES IN THE MAP TOOLTIP LIKE COUNTY NAME AND THE LABEL OF THE SELECTED ITEM
                if (myURL.selectedIndex==0)
                myTextArea.htmlText = "<b>County: </b>" + gr.attributes.NAME + "\n"
                + "<b>Measure: </b>" + myURL.selectedItem.label + gr.attributes.ForDirIndOut.toString()
                public function fLayer_graphicAddHandler(event:GraphicEvent):void
                    event.graphic.addEventListener(MouseEvent.MOUSE_OVER, onMouseOverHandler);
                    event.graphic.addEventListener(MouseEvent.MOUSE_OUT, onMouseOutHandler);
                public function onMouseOverHandler(event:MouseEvent):void
                    if (yearcombo.selectedItem.year == "2007" && myURL.selectedIndex == 0 && radioBtnGroup.selectedValue == 0)
                        fLayer.definitionExpression = "DATA_YEAR_TXT like '2007'"
                        var graphic:Graphic = Graphic(event.currentTarget);
                        graphic.symbol = mouseOverSymbol;
                        var htmlText:String = graphic.attributes.htmlText;
                        var textArea:TextArea = new TextArea();
                        try{
                        textArea.htmlText = myURL.selectedItem.label + graphic.attributes.ForDirIndOut.toString()
                        myMap.infoWindow.content=textArea
                        myMap.infoWindow.label = graphic.attributes.NAME;
                        myMap.infoWindow.closeButtonVisible = false;
                        myMap.infoWindow.show(myMap.toMapFromStage(event.stageX, event.stageY));}
                        catch(error:Error) {
                            trace("Caught Error: "+error);
                    if (yearcombo.selectedItem.year == "2007" && myURL.selectedIndex == 0 && radioBtnGroup.selectedValue == 1)
                        fLayer.definitionExpression = "DATA_YEAR_TXT like '2007'"
                        var graphic:Graphic = Graphic(event.currentTarget);
                        graphic.symbol = mouseOverSymbol;
                        var htmlText:String = graphic.attributes.htmlText;
                        var textArea:TextArea = new TextArea();
                        try{
                            textArea.htmlText = myURL.selectedItem.label + graphic.attributes.ForTotImpIndOut.toString()
                            myMap.infoWindow.content=textArea
                            myMap.infoWindow.label = graphic.attributes.NAME;
                            myMap.infoWindow.closeButtonVisible = false;
                            myMap.infoWindow.show(myMap.toMapFromStage(event.stageX, event.stageY));}
                        catch(error:Error) {
                            trace("Caught Error: "+error);
                    if (yearcombo.selectedItem.year == "2007" && myURL.selectedIndex == 1 && radioBtnGroup.selectedValue == 0)
                        fLayer.definitionExpression = "DATA_YEAR_TXT like '2007'"
                        var graphic:Graphic = Graphic(event.currentTarget);
                        graphic.symbol = mouseOverSymbol;
                        var htmlText:String = graphic.attributes.htmlText;
                        var textArea:TextArea = new TextArea();
                        try{
                            textArea.htmlText = myURL.selectedItem.label + graphic.attributes.ForDirEmp.toString()
                            myMap.infoWindow.content=textArea
                            myMap.infoWindow.label = graphic.attributes.NAME;
                            myMap.infoWindow.closeButtonVisible = false;
                            myMap.infoWindow.show(myMap.toMapFromStage(event.stageX, event.stageY));}
                        catch(error:Error) {
                            trace("Caught Error: "+error);
                    if (yearcombo.selectedItem.year == "2007" && myURL.selectedIndex == 1 && radioBtnGroup.selectedValue == 1)
                        fLayer.definitionExpression = "DATA_YEAR_TXT like '2007'"
                        var graphic:Graphic = Graphic(event.currentTarget);
                        graphic.symbol = mouseOverSymbol;
                        var htmlText:String = graphic.attributes.htmlText;
                        var textArea:TextArea = new TextArea();
                        try{
                            textArea.htmlText = myURL.selectedItem.label + graphic.attributes.ForTotImpEmp.toString()
                            myMap.infoWindow.content=textArea
                            myMap.infoWindow.label = graphic.attributes.NAME;
                            myMap.infoWindow.closeButtonVisible = false;
                            myMap.infoWindow.show(myMap.toMapFromStage(event.stageX, event.stageY));}
                        catch(error:Error) {
                            trace("Caught Error: "+error);
                    if (yearcombo.selectedItem.year == "2007" && myURL.selectedIndex == 2 && radioBtnGroup.selectedValue == 0)
                        fLayer.definitionExpression = "DATA_YEAR_TXT like '2007'"
                        var graphic:Graphic = Graphic(event.currentTarget);
                        graphic.symbol = mouseOverSymbol;
                        var htmlText:String = graphic.attributes.htmlText;
                        var textArea:TextArea = new TextArea();
                        try{
                            textArea.htmlText = myURL.selectedItem.label + graphic.attributes.ForDirLabInc.toString()
                            myMap.infoWindow.content=textArea
                            myMap.infoWindow.label = graphic.attributes.NAME;
                            myMap.infoWindow.closeButtonVisible = false;
                            myMap.infoWindow.show(myMap.toMapFromStage(event.stageX, event.stageY));}
                        catch(error:Error) {
                            trace("Caught Error: "+error);
                    if (yearcombo.selectedItem.year == "2007" && myURL.selectedIndex == 2 && radioBtnGroup.selectedValue == 1)
                        fLayer.definitionExpression = "DATA_YEAR_TXT like '2007'"
                        var graphic:Graphic = Graphic(event.currentTarget);
                        graphic.symbol = mouseOverSymbol;
                        var htmlText:String = graphic.attributes.htmlText;
                        var textArea:TextArea = new TextArea();
                        try{
                            textArea.htmlText = myURL.selectedItem.label + graphic.attributes.ForTotImpLabInc.toString()
                            myMap.infoWindow.content=textArea
                            myMap.infoWindow.label = graphic.attributes.NAME;
                            myMap.infoWindow.closeButtonVisible = false;
                            myMap.infoWindow.show(myMap.toMapFromStage(event.stageX, event.stageY));}
                        catch(error:Error) {
                            trace("Caught Error: "+error);
                    if (yearcombo.selectedItem.year == "2007" && myURL.selectedIndex == 3 )
                        fLayer.definitionExpression = "DATA_YEAR_TXT like '2007'"
                        var graphic:Graphic = Graphic(event.currentTarget);
                        graphic.symbol = mouseOverSymbol;
                        var htmlText:String = graphic.attributes.htmlText;
                        var textArea:TextArea = new TextArea();
                        try{
                            textArea.htmlText = myURL.selectedItem.label + graphic.attributes.ForIndirBusTax.toString()
                            myMap.infoWindow.content=textArea
                            myMap.infoWindow.label = graphic.attributes.NAME;
                            myMap.infoWindow.closeButtonVisible = false;
                            myMap.infoWindow.show(myMap.toMapFromStage(event.stageX, event.stageY));}
                        catch(error:Error) {
                            trace("Caught Error: "+error);
                    if (yearcombo.selectedItem.year == "2009" && myURL.selectedIndex == 0 && radioBtnGroup.selectedValue == 0)
                        fLayer.definitionExpression = "DATA_YEAR_TXT like '2009'"
                        var graphic:Graphic = Graphic(event.currentTarget);
                        graphic.symbol = mouseOverSymbol;
                        var htmlText:String = graphic.attributes.htmlText;
                        var textArea:TextArea = new TextArea();
                        try{
                            textArea.htmlText = myURL.selectedItem.label + graphic.attributes.ForDirIndOut.toString()
                            myMap.infoWindow.content=textArea
                            myMap.infoWindow.label = graphic.attributes.NAME;
                            myMap.infoWindow.closeButtonVisible = false;
                            myMap.infoWindow.show(myMap.toMapFromStage(event.stageX, event.stageY));}
                        catch(error:Error) {
                            trace("Caught Error: "+error);
                    if (yearcombo.selectedItem.year == "2009" && myURL.selectedIndex == 0 && radioBtnGroup.selectedValue == 1)
                        fLayer.definitionExpression = "DATA_YEAR_TXT like '2009'"
                        var graphic:Graphic = Graphic(event.currentTarget);
                        graphic.symbol = mouseOverSymbol;
                        var htmlText:String = graphic.attributes.htmlText;
                        var textArea:TextArea = new TextArea();
                        try{
                            textArea.htmlText = myURL.selectedItem.label + graphic.attributes.ForTotImpIndOut.toString()
                            myMap.infoWindow.content=textArea
                            myMap.infoWindow.label = graphic.attributes.NAME;
                            myMap.infoWindow.closeButtonVisible = false;
                            myMap.infoWindow.show(myMap.toMapFromStage(event.stageX, event.stageY));}
                        catch(error:Error) {
                            trace("Caught Error: "+error);
                    if (yearcombo.selectedItem.year == "2009" && myURL.selectedIndex == 1 && radioBtnGroup.selectedValue == 0)
                        fLayer.definitionExpression = "DATA_YEAR_TXT like '2009'"
                        var graphic:Graphic = Graphic(event.currentTarget);
                        graphic.symbol = mouseOverSymbol;
                        var htmlText:String = graphic.attributes.htmlText;
                        var textArea:TextArea = new TextArea();
                        try{
                            textArea.htmlText = myURL.selectedItem.label + graphic.attributes.ForDirEmp.toString()
                            myMap.infoWindow.content=textArea
                            myMap.infoWindow.label = graphic.attributes.NAME;
                            myMap.infoWindow.closeButtonVisible = false;
                            myMap.infoWindow.show(myMap.toMapFromStage(event.stageX, event.stageY));}
                        catch(error:Error) {
                            trace("Caught Error: "+error);
                    if (yearcombo.selectedItem.year == "2009" && myURL.selectedIndex == 1 && radioBtnGroup.selectedValue == 1)
                        fLayer.definitionExpression = "DATA_YEAR_TXT like '2009'"
                        var graphic:Graphic = Graphic(event.currentTarget);
                        graphic.symbol = mouseOverSymbol;
                        var htmlText:String = graphic.attributes.htmlText;
                        var textArea:TextArea = new TextArea();
                        try{
                            textArea.htmlText = myURL.selectedItem.label + graphic.attributes.ForTotImpEmp.toString()
                            myMap.infoWindow.content=textArea
                            myMap.infoWindow.label = graphic.attributes.NAME;
                            myMap.infoWindow.closeButtonVisible = false;
                            myMap.infoWindow.show(myMap.toMapFromStage(event.stageX, event.stageY));}
                        catch(error:Error) {
                            trace("Caught Error: "+error);
                    if (yearcombo.selectedItem.year == "2009" && myURL.selectedIndex == 2 && radioBtnGroup.selectedValue == 0)
                        fLayer.definitionExpression = "DATA_YEAR_TXT like '2009'"
                        var graphic:Graphic = Graphic(event.currentTarget);
                        graphic.symbol = mouseOverSymbol;
                        var htmlText:String = graphic.attributes.htmlText;
                        var textArea:TextArea = new TextArea();
                        try{
                            textArea.htmlText = myURL.selectedItem.label + graphic.attributes.ForDirLabInc.toString()
                            myMap.infoWindow.content=textArea
                            myMap.infoWindow.label = graphic.attributes.NAME;
                            myMap.infoWindow.closeButtonVisible = false;
                            myMap.infoWindow.show(myMap.toMapFromStage(event.stageX, event.stageY));}
                        catch(error:Error) {
                            trace("Caught Error: "+error);
                    if (yearcombo.selectedItem.year == "2009" && myURL.selectedIndex == 2 && radioBtnGroup.selectedValue == 1)
                        fLayer.definitionExpression = "DATA_YEAR_TXT like '2009'"
                        var graphic:Graphic = Graphic(event.currentTarget);
                        graphic.symbol = mouseOverSymbol;
                        var htmlText:String = graphic.attributes.htmlText;
                        var textArea:TextArea = new TextArea();
                        try{
                            textArea.htmlText = myURL.selectedItem.label + graphic.attributes.ForTotImpLabInc.toString()
                            myMap.infoWindow.content=textArea
                            myMap.infoWindow.label = graphic.attributes.NAME;
                            myMap.infoWindow.closeButtonVisible = false;
                            myMap.infoWindow.show(myMap.toMapFromStage(event.stageX, event.stageY));}
                        catch(error:Error) {
                            trace("Caught Error: "+error);
                    if (yearcombo.selectedItem.year == "2009" && myURL.selectedIndex == 3 )
                        fLayer.definitionExpression = "DATA_YEAR_TXT like '2009'"
                        var graphic:Graphic = Graphic(event.currentTarget);
                        graphic.symbol = mouseOverSymbol;
                        var htmlText:String = graphic.attributes.htmlText;
                        var textArea:TextArea = new TextArea();
                        try{
                            textArea.htmlText = myURL.selectedItem.label + graphic.attributes.ForIndirBusTax.toString()
                            myMap.infoWindow.content=textArea
                            myMap.infoWindow.label = graphic.attributes.NAME;
                            myMap.infoWindow.closeButtonVisible = false;
                            myMap.infoWindow.show(myMap.toMapFromStage(event.stageX, event.stageY));}
                        catch(error:Error) {
                            trace("Caught Error: "+error);
                public function onMouseOutHandler(event:MouseEvent):void
                    var gr:Graphic = Graphic(event.target);
                    gr.symbol = defaultsym;
                    myMap.infoWindow.hide();
            ]]>
        </fx:Script>
        <fx:Style>
            @namespace esri "http://www.esri.com/2008/ags";
            @namespace s "library://ns.adobe.com/flex/spark";
            @namespace mx "library://ns.adobe.com/flex/mx";
            @namespace esri "http://www.esri.com/2008/ags";
            @namespace components "com.esri.ags.components.*";
            components|InfoWindow
                content-background-alpha : 0.4;
                background-color : #4A7138;
                background-alpha : 0.7;
                border-style : solid;
        </fx:Style>
        <mx:HBox   width="930" height="800"  id="mapHbox"  horizontalAlign="center" >   
        <mx:HBox width="80">
        </mx:HBox>
        <mx:HBox id="myHBox" width="800" height="600" backgroundColor="0xffffff"  >
            <mx:VBox  height="590" width="358"  >
            <!--    <mx:Panel
                    width="356" height="100%"
                    color="0x000000"
                    borderAlpha="0.15"
                    >
                    -->
                    <mx:Canvas height="100%" width="100%" backgroundColor="0xffffff" >
                        <esri:Map id="myMap" openHandCursorVisible="false"
                                  height="100%" 
                                  logoVisible="false"
                                  doubleClickZoomEnabled="false"
                                  scrollWheelZoomEnabled="false"
                                  zoomSliderVisible="false"
                                  scaleBarVisible="false" scale="4000000" >
                            <esri:extent>
                                <esri:Extent xmin="-10736651.061900" ymin="4024099.909700" xmax="-10409195.669800" ymax="3440153.831100"      >
                                    <esri:SpatialReference wkid="102100"/>
                                </esri:Extent>
                            </esri:extent>
                            <esri:ArcGISDynamicMapServiceLayer id="dynamicLayer2"
                                                               url="http://tfs-24279/ArcGIS/rest/services/RADIO_BUTTONS/counties_layer/MapServer" />
                            <esri:ArcGISDynamicMapServiceLayer id="dynamicLayer" name=" "
                                                               alpha="1"
                                                               load="loadLayerName()"
                                                       url="http://tfs-24279/ArcGIS/rest/services/{myURL.selectedItem.value}/MapServer"   />
                            <esri:FeatureLayer id="fLayer"
                                               graphicAdd="fLayer_graphicAddHandler(event)"
                                               mode="snapshot"
                                               outFields="*"
                                               symbol="{defaultsym}"
                                               url= "http://tfs-24279/ArcGIS/rest/services/RADIO_BUTTONS/feature_layer_0709_five/FeatureServer/ 0" />
                        </esri:Map>
                    </mx:Canvas>
            <!--    </mx:Panel>-->
            </mx:VBox>       
            <mx:VBox  height="590" width="20"  >
            </mx:VBox>       
            <mx:Canvas height="500" width="400" backgroundColor="0xffffff"
                       horizontalScrollPolicy="off"
                       verticalScrollPolicy="off" >
                <mx:VBox  width="420" height="50%" paddingLeft="5" paddingTop="10" paddingRight="10" paddingBottom="10"
                         verticalGap="8">
                    <mx:Form  >
                        <mx:FormItem label="Year        :"  >
                            <mx:ComboBox   id="yearcombo" selectedIndex="0" labelField="label" width="100%" change="changeEvt(event)"  >
                                <mx:ArrayCollection id="year"  >
                                    <fx:Object label="2007"  year="2007" />
                                    <fx:Object label="2009"  year="2009" />
                                </mx:ArrayCollection>
                            </mx:ComboBox>
                        </mx:FormItem>
                        <mx:FormItem label="Measure:">
                            <mx:ComboBox   id="myURL" selectedIndex="8" width="80%" mouseOver="clickEv2(event)" close="closeHandler(event)">
                            <mx:ArrayCollection id="measures"   >
                                <fx:Object id="forindout07" labeltext="Forestry Industry Output" label="Forestry Industry Output " value="RADIO_BUTTONS/TFEI_07_forest_industry_output" year="2007"  />
                                <fx:Object id="foremp07" label="Forestry Employment " value="RADIO_BUTTONS/TFEI_07_forest_employment" year="2007" />
                                <fx:Object id="forlabinc07" label="Forestry Labor Income " value="RADIO_BUTTONS/TFEI_07_forest_labincome" year="2007" />
                                <fx:Object id="forindbustax07" label="Forestry Indirect Business Tax" value="RADIO_BUTTONS/TFEI_07_forest_business_tax" year="2007" />
                                <fx:Object id="forindout09" label="Forestry Industry Output " value="RADIO_BUTTONS/TFEI_09_forest_industry_output" year="2009"  />
                                <fx:Object id="foremp09" label="Forestry Employment " value="RADIO_BUTTONS/TFEI_09_forest_employment" year="2009" />
                                <fx:Object id="forlabinc09" label="Forestry Labor Income " value="RADIO_BUTTONS/TFEI_09_forest_labincome" year="2009" />
                                <fx:Object id="forindbustax09" label="Forestry Indirect Business Tax" value="RADIO_BUTTONS/TFEI_09_forest_business_tax" year="2009" />
                                <fx:Object id="blank" label=" "  />
                            </mx:ArrayCollection>
                        </mx:ComboBox>
                        </mx:FormItem>
                    </mx:Form>
                    <mx:VBox  id="layerPanel" width="50%" height="8%" verticalGap="3" paddingLeft="17">
                        <mx:RadioButtonGroup id="radioBtnGroup" itemClick="radioClickHandler(event)"  />
                    </mx:VBox>
                    <mx:VBox paddingLeft="17" height="50%" >
                    <mx:Canvas  id="legendPanel" width="100%"  >
                        <mx:Label id="myLabel" text=" " fontWeight="bold" />
                        <esri:Legend id="myLegend"
                                     layers="{[dynamicLayer]}"
                                     map="{myMap}" visible="false"
                                     respectCurrentMapScale="false"/>
                    </mx:Canvas>
                    <mx:TextArea width="275"  borderAlpha="0" height="200"  >
                        <mx:htmlText   >
                            <![CDATA[<font size='11'><b>Note:</b> Counties in white indicate either no data is available for that measure or the data has been supressed due to confidentiality.</font>
                            ]]>
                        </mx:htmlText>
                    </mx:TextArea>
                    </mx:VBox>   
                </mx:VBox>
            </mx:Canvas>
        </mx:HBox>
        </mx:HBox>   
    </mx:Application>

  • XML DB: is it possible to get a row for each element in a container element?

    I have an XML document containing a container element (collection). If I query, using an XPath expression, the contained elements I get a row for each container element with the contained element concatenated. Is it possible to get a row for each contained element?
    I run this simple query:
    select extract(xmltype('<colors><color>Red</color><color>Green</color></colors>')
    , '/colors/color/text()').getstringval() from dual
    And get this result:
    EXTRACT(XMLTYPE('<COLORS><COLOR>RED</COLOR><COLOR>GREEN</COLOR></COLORS>'),'/COL
    RedGreen
    1 row selected.
    What I would like to have is:
    Red
    Green
    2 rows selected.
    Wishful thinking or possible? Many thanks!

    Sure. This is where our XMLSequence() function comes in. It allows you to treat the top-level nodes in a nodeset as if they were rows in a table when combined with the TABLE() operator. Here's an example.
    First, to make the SQL look a little cleaner, I like to define a function like this:
    create or replace function testdoc return xmltype as
    begin
      return xmltype('<colors><color>Red</color><color>Green</color></colors>');
    end;.
    To break out the nodeset of <color> elements as a table, we use the following query:
    select value(list_of_color_elements).extract('*/text()').getStringVal() as color
    from TABLE( XMLSequence( extract(testdoc(),'/colors/color'))) list_of_color_elements.
    Or, using the new-in-9.2 extractValue() operator so we don't have to remember the text() part:
    select extractValue( value(list_of_color_elements), '.') as color
    from TABLE( XMLSequence( extract( testdoc() ,'/colors/color'))) list_of_color_elements.
    Here the TABLE(XMLSequence(...)) combo produces a table of XMLType, with one XMLType object in each row of the table.
    In general, if the XMLType instance were coming from an XMLType table xmltab the query would look like this:
    select extractValue( value(colors), '.') as color
    from xmltab x, /* Important that this table comes earlier in the FROM clause! */
         TABLE( XMLSequence( extract( value(x),'/colors/color'))) colors.
    And if the XMLType were instead in a column of XMLType named doc in a table xmltab, then we would have the syntax:
    select extractValue( value(colors), '.') as color
    from xmltab x, /* Important that this table comes earlier in the FROM clause! */
         TABLE( XMLSequence( extract( x.doc ,'/colors/color'))) colorsOnce you get the hang of it, you'll see that the combination of TABLE(XMLSequence()) to "shred" XML nodes into rows, and XMLAgg() to aggregate fragments of XML across multiple rows back into a single document, is quite powerful.

  • XML data (Output) into a flat file

    I need to convert XML data into a flat file, which is having "|" as delimiter and ftp the same to a server. The XML data is an output of BPEL activity. The XML data is employee records. Each employee records should come as one line in the flat file.
    Is it possible to do this? if so, what will be the steps
    Thanks

    Hi,
    You need to use file adapter to write your XML payload as a flat file.
    Following are the steps to write XML payload into a flat file:
    1. Create a sample flat file and add few rows in which fields should be delimited with pipe symbol. See the record sample given below:
    Name|Age|Address|City|State|Zip
    Sam|32|2788 Viking Dr|Green Bay|WI|54304
    Here first row is the header row, you can remove the header row if it is not required.
    2. Create a file adapter service using adapter configuration wizard. Give file name and folder location where you want to write flat file. On step 5 of the adapter configuration wizard you have to define or select message schema. Click on Define Schema for Native Format button, then Native Format Builder Wizard will be opened, here you can define message schema for your flat file.
    2.1 Here you need to select Delimited for file type.
    2.2 Give details about your flat file, select your sample flat file here, which you have created in step 1 above.
    2.3 Click Next button twice and go to step 4, here give namespace and element names you want and click on Next.
    2.4 In step 5 you need to specify delimiters. Wizard doesn’t shows *|* as a delimiter so you need to enter *|* in the Delimited By combo box and click on Next button.
    2.5 Complete remaining steps and click on Finish in the wizard.
    3. Finish "Adapter Creation Wizard". Add BPEL activities (assign, invoke) to pass XML payload to file adapter and file adapter will generate *|* delimited flat file and write it to the given folder.
    See the following article for more details on Native Format Builder Wizard:
    http://download-uk.oracle.com/docs/cd/B31017_01/integrate.1013/b28994/nfb.htm#CCHCIGCA
    Regards,
    Dharmendra
    http://soa-howto.blogspot.com

  • Retrieve element from an XML variable

    I have a BPEL process that takes in a XML message and from that message I want to parse out one element.
    Using BPEL v10.1.3.3.0
    Here is the xsd's, (use a wrapper for adding the name space)
    <?xml version="1.0" encoding="UTF-8"?>
    <schema xmlns="http://www.w3.org/2001/XMLSchema"
    targetNamespace="TempNamespace"
    xmlns:nxsd="http://xmlns.oracle.com/pcbpel/nxsd"
    nxsd:version="DTD">
    <include schemaLocation="VendorMasterBridge_2_1.xsd"/>
    </schema>
    <?xml version="1.0" encoding="UTF-8"?>
    <xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema">
    <xs:element name="VendorMasterBridge">
    <xs:complexType>
    <xs:sequence>
    <xs:element name="VendorMaster" minOccurs="1" maxOccurs="unbounded">
    <xs:complexType>
    <xs:sequence>
    <xs:element name="VendorNumber" minOccurs="1" type="xs:string"/>
    <xs:element name="VendorName" minOccurs="0" type="xs:string"/>
    <xs:element name="BatchCtrlNbr" minOccurs="0" type="xs:string"/>
    <xs:element name="Error" minOccurs="0" type="xs:string"/>
    <xs:element name="VendorMasterFields" minOccurs="0">
    <xs:complexType>
    <xs:sequence>
    <xs:element name="DateCreated" minOccurs="0" type="xs:dateTime"/>
    <xs:element name="Address1" minOccurs="0" type="xs:string"/>
    <xs:element name="Address2" minOccurs="0" type="xs:string"/>
    <xs:element name="PassReqdAutoCreate" minOccurs="0" type="xs:string"/>
    </xs:sequence>
    </xs:complexType>
    </xs:element>
    </xs:sequence>
    </xs:complexType>
    </xs:element>
    </xs:sequence>
    <xs:attribute name="id" use="optional" type="xs:string"/>
    <xs:attribute name="version" use="optional" type="xs:string" default="2.1"/>
    <xs:attribute name="timestamp" use="optional" type="xs:dateTime"/>
    </xs:complexType>
    </xs:element>
    </xs:schema>
    I use the Assign activity to try and get the Address1 field
    <assign name="Assign_1">
    <copy>
    <from variable="Vendxml" part="VendorMasterBridge"
    query="/ns3:VendorMasterBridge/VendorMaster/VendorMasterFields/Address1"/>
    <to variable="addr"/>
    </copy>
    </assign>
    When I deploy and run the BPEL process I get this error
    <selectionFailure xmlns="http://schemas.xmlsoap.org/ws/2003/03/business-process/"><part name="summary"><summary>empty variable/expression result.
    xpath variable/expression expression "/ns3:VendorMasterBridge/VendorMaster/VendorMasterFields/Address1" is empty at line 87, when attempting reading/copying it.
    Please make sure the variable/expression result "/ns3:VendorMasterBridge/VendorMaster/VendorMasterFields/Address1" is not empty.
    </summary>
    </part></selectionFailure>
    Here is the XML used for input
    <invWriteVendor_Enqueue_InputVariable>
    <part xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" name="VendorMasterBridge">
    <VendorMasterBridge xmlns:ns0="TempNamespace" id="RMS">
    <VendorMaster xmlns="">
    <VendorNumber>1077952523</VendorNumber>
    <VendorName>UNIFLEX</VendorName>
    <VendorMasterFields>
    <Address1>383 W COMBO AVE</Address1>
    <Address2>PO BOX 9004</Address2>
    <City>HICKSVILLE</City>
    <StateCode>NY</StateCode>
    <Zip>11801-9004</Zip>
    <Country>USA</Country>
    <TelephoneNumber>05169322400</TelephoneNumber>
    <StatusCode>00</StatusCode>
    </VendorMasterFields>
    </VendorMaster>
    </VendorMasterBridge>
    </part></invWriteVendor_Enqueue_InputVariable>
    Can someone help me know what I am doing wrong?
    If I do an assign of the input xml to another xml of the same message type all the fields transfer. I only run into this issue if I am trying to access a specific element.
    Thanks for any help on this,

    Thanks for the reply, but could you be a little more specific? Problem with the namespace where, in the incoming message? Is it defined wrong in the BPEL process? A mis-match somewhere?
    I kind of figured it was a namespace issue but I can not seem to track it down.

Maybe you are looking for

  • Error while running KMScheduler

    Hi SDN, Iam dynamically generating an Interactive Form using PDFDocumentAPI by pulling data from R/3 and sending the Interactive Form as an email attachment to the customer. This is all done using KM Scheduler, i kept all my code in the KMScheduler w

  • Ipod mini uploading issues

    Hi there. Ive search and read pages upon pages to see if any other folks have had this problem. It seems that I am not alone (thank goodness) but even after lots of trouble shooting I can not seem to get my iPod mini to load songs. Ive reset my facto

  • Bleed question

    I hope someone can shed some light on this problem. I'm placing a dotted border on an image. The dotted border will frame the image. My question is: how does one create a bleed for a line of dots (dot size is about 3 pts)? The line of dots will butt

  • New Java Programming Student Needs Help

    Hey everyone, I've just started taking a Java programming class at Penn State University, and I have had some prior experience with programming, i.e. C, C++, HTML, SQL. However, this will be my first attempt at Java. I know there are a lot of similar

  • Upgrading Web Service from 8.1 to 9.2 - JWSC vs. ServiceGen

    I noticed that JWSC generates schema element names using uppercase notation as opposed to ServiceGen which did it in lowercase. For example, for the given class: public class Person { private String lastName; public String getLastName() {...} public