Complex XML DataSet and Sorting
Hello,
Please consider the following XML data:
<viewentries>
<viewentry>
<entrydata name="column1">
<text>text1</text>
</entrydata>
<entrydata name="column2">
<text/>
</entrydata>
<entrydata name="column3">
<text/>
</entrydata>
<entrydata name="column4">
<text>text4</text>
</entrydata>
</viewentry>
<viewentry>
<entrydata name="column1">
<text>text5</text>
</entrydata>
<entrydata name="column2">
<text>text6</text>
</entrydata>
<entrydata name="column3">
<text/>
</entrydata>
<entrydata name="column4">
<text>text8</text>
</entrydata>
</viewentry>
etc...
</viewentries>
I was able to build a table like the following using Spry XMLDataSet and NestedXMLDataSet objects. However I am struggling trying to implement sorting...
label for column1
label for column2
label for column3
label for column4
text1
text4
text5
text6
text8
etc,,,
Does anybody know how to do columns sorting using Spry in such scenario?
Thanks.
xtian71 wrote:
This is how I generate the HTML table from the XML data source.
var dsView = new Spry.Data.XMLDataSet(url, '/viewentries');
var dsViewEntries = new Spry.Data.NestedXMLDataSet(dsView, 'viewentry');
var dsEntryDatas = new Spry.Data.NestedXMLDataSet(dsViewEntries, 'entrydata');
<div spry:region="dsViewEntries dsEntryDatas">
<table>
<thead>
<tr><th>Column#1</th><th>Column#2</th><th>Column#3</th><th>Column#4</th></tr>
</thead>
<tbody spry:repeatchildren="dsViewEntries">
<tr>
<td spry:repeat="dsEntryDatas">{dsEntryDatas::text}</td>
</tr>
</tbody>
</table>
</div>
Thanks.
To the headings add <th spry:sort="column1"> etc.
Similar Messages
-
Spry xml dataset driven page and search engines
If a page uses Spry xml dataset to present products to a
visitor, what do google and yahoo crawlers see in that page?
I'm asking because i plan to rewrite our products' static
pages using spry xml dataset, and i'd like to ensure crawlers see
the products. I haven't looked much, yet, into this pry capability,
but the products page will most probably be paginated (not sure if
possible in this capability) since there are hundreds of products.
currently, our static html pages generated good conversions
into purchases from google and yahoo searches.
It would be great if there is a real-life website that uses
this spry capability and has their pages appear in those search
engines.
thanks.If a page uses Spry xml dataset to present products to a
visitor, what do google and yahoo crawlers see in that page?
search bot do not read / understand javascript. So they would
not index it.
Its a commen point of failure of the ajax techniques, Spry
has a handy solution for it (spry:content) wich will allow u to
overwrite 'content' if javascript is enabled so and bots will just
see the static page. -
Currently when I try and add a SPRY XML Dataset and hit the Get Schema button I get "Unable to locate or parse the XML Source (-1,-1). I created the XML from the Export recordset to XML tool in the Developer Toolbox. I can't seem to figure out what I am missing. Anyone else having this problem as well. It use to work then I think my system did some update from Adobe and since has stopped working. Any assistance is greatly appreciated. Thanks.
Hello,
The error usually means that the XML source that you choose within Spry XML Data Set interface is not valid.
So you should check the XML source to see if it returns a valid XML.
Regards,
Ionut -
Little help with complex XML data as data provider for chart and adg
Hi all,
I've been trying to think through a problem and Im hoping for
a little help. Here's the scenario:
I have complex nested XML data that is wrapped by subsequent
groupings for efficiency, but I need to determine if each inner
item belongs in the data collection for view in a data grid and
charts.
I've posted an example at the bottom.
So the goal here is to first be able to select a single
inspector and then chart out their reports. I can get the data to
filter from the XMLListCollection using a filter on the first layer
(ie the name of the inspector) but then can't get a filter to go
deeper into the structure in order to determine if the individual
item should be contained inside the collection. In other words, I
want to filter by inspector, then time and then tag name in order
to be able to use this data as the basis for individual series
inside my advanced data grid and column chart.
I've made it work with creating a new collection and then
looping through each time there is a change to the original
collection and updating the new collection, but that just feels so
bloated and inefficient. The user is going to have some buttons to
allow them to change their view. I'm wondering if there is a
cleaner way to approach this? I even tried chaining filter
functions together, but that didn't work cause the collection is
reset whenever the .refresh() is called.
If anyone has experience in efficiently dealing with complex
XML for charting purposes and tabular display purposes, I would
greatly appreciate your assistance. I know I can get this to work
with a bunch of overhead, but I'm seeking something elegant.
Thank you.Hi,
Please use the code similar to below:
SELECT * FROM DO_NOT_LOAD INTO TABLE IT_DO_NOT_LOAD.
SORT IT_DO_NOT_LOAD by WBS_Key.
IF SOURCE_PACKAGE IS NOT INITIAL.
IT_SOURCE_PACKAGE[] = SOURCE_PACKAGE[].
LOOP AT IT_SOURCE_PACKAGE INTO WA_SOURCE_PACKAGE.
V_SYTABIX = SY-TABIX.
READ TABLE IT_DO_NOT_LOAD into WA_DO_NOT_LOAD
WITH KEY WBS_Key = WA_SOURCE_PACKAGE-WBS_Key
BINARY SEARCH.
IF SY-SUBRC = 0.
IF ( WA_DO_NOT_LOAD-WBS_EXT = 'A' or WA_DO_NOT_LOAD-WBS_EXT = 'B' )
DELETE IT_SOURCE_PACKAGE INDEX V_SYTABIX.
ENDIF.
ENDIF.
ENDLOOP.
SOURCE_PACKAGE[] = IT_SOURCE_PACKAGE[].
ENDIF.
-Vikram -
OSB, DB adapters and complex XML
I'm new to all Oracle middleware products (and it's years since I've written any Java, while I'm being honest), but I've been given the task of taking some existing XML feeds and sticking some of the data in a DB. Well, that's the basic solution I've come up with anyway, and OSB (10.3.1) seems the way to go.
I've seen the JCA DB adapter tutorial at http://www.oracle.com/technology/sample_code/products/osb/index.html - and very good it is too, but I'm wanting to take it a bit further. i.e. do something more complex than a simple 1:1 XML attribute to database column mapping. I want to take the existing XML file that has a relatively complex schema (containing more attributes than we actually need, plus entire sections I want to ignore) and only take the relevant info and put it in the DB table.
The thing is, I don't see any pointers on that, wherever I look on the web. Is it simply a case of hacking around with the xml, xsd, mappings, etc...telling it about the extra fields, and to ignore them...or - given that will probably take quite a while - is there a an easier way using Jdeveloper, Eclipse or something?
Likewise, is there a nice tutorial showing how to create a proxy service and map it to the DB adapter business service? I guess I can figure that out myself, but it's nice to save time and see the 'right' way first...
Any other pointers, before I head off down the wrong path? Good resources, aside from the manuals on here?
Cheers in advance.If I remember correct, a DB Proxy (JCA proxy using DB adapter) required for cluster deployment , is supposed to use a WSDL specifically generated from JDEV with specific settings.
Ex. I created a db proxy in my development box (Single node OSB domain). The same proxy cannot be deployed in clustered osb domain. The wsdl for db inbound in cluster domain is little different from db inbound in non-cluster env and that has to be created from scratch from JDEV.
I can search my previous mails for the specifics if you should require .
Thanks
Manoj -
Array of objects into dataset and then to datagrid
I have discovered amfphp (
http://amfphp.org). It's a really
cool way to move complex data objects from php to flash and back.
quote:
So I am successfully creating an array of items from my
database...an item that would otherwise be created like this:
items = array();
item[0] = new Object();
item[0].id = 7;
item[0].name= "Item 1";
item[0].styleNumber = "001";
item[1] = new Object();
etc.
I put DataSet and DataGrid objects on my stage called
productDataSet and productDataGrid, respectively, and tried this:
quote:
this.productDataSet.items = re.result;
trace('dataSet length:' + this.productDataSet.getLength());
this.productDataGrid.dataProvider =
this.productDataSet.dataProvider;
the trace appears to work correctly--several hundred
items--and the dataGrid shows my object property names (albeit in
reverse order) and the DataGrid appears to have several hundred
items in it but there is NO DATA THERE. All the list items are
blank.
I've had a bit of luck working with the component inspector
creating bindings and stuff but I'm hampered by my incomplete
understanding of how it works. All the tutorials I've found
instruct me to import an XML sample to create a schema. Since I
have no XML i cannot one.
I want to do just a couple of things:
1) put my data in the DataSet properly, ideally in one fell
swoop--i *think* i've done this correctly above
2) attach the DataGrid to the DataSet so that when i sort or
filter the data set, the datagrid shows the results and when i
select an item in the DataGrid, the DataSet knows that is the
currently selected item.
3) hide the 'id' field in the data grid and display
user-friendly names for the columns: "Style Number" rather than
"styleNumber".
Any help would be much appreciated. I *think* this is all
about understanding schemas but I don't really know.That *is* a very interesting article. Unfortunately, it
doesn't mention anything about DataSets. I haven't had any trouble
getting my data into my flash application. I've also been able to
put it into a DataGrid pretty easily (although not quite as
elegantly as that example did).
The problem is that I'm having issues when I introduce a
DataSet for filtering. I can't get the data from the DataSet into
the DataGrid like I want it. I haven't been able to hide the 'id'
column of my data and the column names unfortunately are *exactly*
what the Object property names are. I was hoping to put
user-friendly column headers on their like 'Product Name' rather
than 'name' or 'Style Number' rather than 'styleNumber'.
Also, the concept of a schema is still somewhat beyond me. I
tried changing the schema for my productDataSet to this and I got
the data to display. I added 'name, 'styleNumber', and 'id'
quote:
<-->dataProvider : Array
<-->deltaPacket : DeltaPacket
<-->items : Array
<-->selectedIndex: Number
<-->name : String
<-->styleNumber: String
<-->id : Integer
I have tried radically different shemas (schemae?) that seem
to also get the data in there but I don't really understand what
i'm doing here and I feel like I'm asking for trouble not knowing
how this stuff really works.
And, like I said before, i want to hide certain information
that's in the DataSet so that it doesn't get displayed. I'd also
like to Have some user-friendly names rather than the actual
field/property identifiers. -
every example you see online is trivial and utterly useless
for practical programming purposes...typically you'll see something
like this:
<mx:XML format="e4x" id="myMenuModel">
<root label="Menu">
<menuitem label="MenuItem A">
<menuitem label="SubMenuItem 1-A"/>
<menuitem label="SubMenuItem 2-A" />
</menuitem>
<menuitem label="MenuItem B"/>
<menuitem label="MenuItem C" type="check"/>
<menuitem type="separator"/>
<menuitem label="MenuItem D">
<menuitem label="SubMenuItem 1-D" type="radio"
groupName="one"/>
<menuitem label="SubMenuItem 2-D" type="radio"
groupName="one"/>
<menuitem label="SubMenuItem 3-D" type="radio"
groupName="one"/>
</menuitem>
</root>
</mx:XML>
...just hard coded simplistic xml which is fine and dandy if
you have a simple xml schema and all the leaves of your tree can be
keyed off the same "label" attribute. But what if you have a
complex, deeply nested XML file that doesn't follow this nice
pattern? What if I want to pull different attributes from different
levels in the tree to display, is that even possible? Or what if I
dont want to use the attribute at all for my display label in the
tree, what if I want to use an element node name? Like for example,
say I had:
<department label="marketing">
<employee name="Eric Cartman" Age="8">
<interest>
<type>food</type>
<name>cheesiepoofs</name>
</interest>
<interest>
<type>pets</type>
<name>mr. kitty</name>
</interest>
</employee>
Is there a way I can build my tree to use the department
'label' attribute for the top level, the employee 'name' attribute
for the second level and the <type> element nested under
<interest> for the third level?
I confess I'm a Flex newbie but any other language I've
worked provides a mechanism to tailor this sort of thing to
individual business cases. Any insight would be greatly
appreciated.
thank you.
SAnother approach is parse your complex xml into objects and
then create your own
tree datadescriptor. This is described in the help. Search on
"custom tree datadescriptor"
We use this approach because the xml we want to display in a
tree does not fit nicely. So we wrote a parser that converts the
xml into "TreeObjects" (our class) and created the custom tree
datadescriptor to handle it. When we create the tree object we can
control the data used for the label so it displays correctly. -
WebPart: Display the search result in an spgridview with filter and sort
hi,
For explain more in details.
I need the search result in a table displaying some meta common in the different library.
I've to have the possibility to filter and sort the grid.
i'm trying to extend Microsoft.Office.Server.Search.WebControls.CoreResultsWebPart
i can have the result from the textbox search with: SharedQueryManager.GetInstance(this.Page).QueryManager
My queryManager is populate in the method: CreateChildControls
I put the sample code i use. and in the populateData method, my querymanager is null while in the createChildContriol, it's correctly populate with : this.queryManager = SharedQueryManager.GetInstance(this.Page).QueryManager;
using System;
using System.ComponentModel;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Web.UI.WebControls.WebParts;
using Microsoft.SharePoint;
using Microsoft.SharePoint.WebControls;
using Microsoft.SharePoint.Search.Internal.WebControls;
using Microsoft.Office.Server.Search.Query;
using Microsoft.Office.Server.Search.WebControls;
using System.Data;
using System.Xml;
namespace CustomSearchResultWebPart.CustomCoreResultWebPart
[ToolboxItemAttribute(false)]
public class CustomCoreResultWebPart : Microsoft.Office.Server.Search.WebControls.CoreResultsWebPart
private ObjectDataSource objDS;
private const string ObjectDataSourceID = "gridViewDataSource";
private QueryManager queryManager;
private SPGridView gridView = new SPGridView();
protected override void CreateChildControls()
//here is correctly populate
this.queryManager = SharedQueryManager.GetInstance(this.Page).QueryManager;
try
LoadSearchGrid();
catch (Exception ex)
Page.Response.Write(ex.Message + " - " + ex.StackTrace);
//base.CreateChildControls();
protected override void OnInit(EventArgs e)
base.OnInit(e);
protected override void OnLoad(EventArgs e)
base.OnLoad(e);
protected override void OnPreRender(EventArgs e)
//gridView.DataBind();
base.OnPreRender(e);
protected override void Render(HtmlTextWriter writer)
base.Render(writer);
public DataTable populateData()
DataSet dtSet = null;
DataTable dtTable = null;
//here is my query manager is null
if (queryManager != null && queryManager.Count > 0)
XmlDocument xdoc = new XmlDocument(); //We are using XmlDocument
xdoc = queryManager.GetResults(queryManager[0]);//xml returned by search
if (xdoc != null)
XmlReader xmlReader = new XmlNodeReader(xdoc);
dtSet = new DataSet();
dtSet.ReadXml(xmlReader);
if (dtSet.Tables.Count > 1)
dtTable = dtSet.Tables["Result"];
return dtTable;
private void LoadSearchGrid()
this.objDS = new ObjectDataSource();
this.objDS.ID = ObjectDataSourceID;
this.objDS.SelectMethod = "populateData";
this.objDS.TypeName = this.GetType().AssemblyQualifiedName;
this.objDS.ObjectCreating += new ObjectDataSourceObjectEventHandler(objDS_ObjectCreating);
this.Controls.Add(objDS);
gridView.ID = "_gridView";
gridView.AutoGenerateColumns = false;
gridView.Width = new Unit(100, UnitType.Pixel);
gridView.EnableViewState = false;
gridView.AllowPaging = true;
gridView.PageSize = 5;
gridView.DataSourceID = ObjectDataSourceID;
this.Controls.Add(gridView);
void objDS_ObjectCreating(object sender, ObjectDataSourceEventArgs e)
//e.ObjectInstance = objDS;
protected void gridView_RowDataBound(object sender, GridViewRowEventArgs e)
//throw new NotImplementedException();
Do you have a sample that i can use or some tutorial?
thanks for your helpI added this in my class
public class CustomResultsDatasource : CoreResultsDatasource
public CustomResultsDatasource(Microsoft.Office.Server.Search.WebControls.CoreResultsWebPart parentWebPart)
: base(parentWebPart)
View = new CustomResultsDatasourceView(this, GetType().Name);
public class CustomResultsDatasourceView : CoreResultsDatasourceView
public CustomResultsDatasourceView(SearchResultsBaseDatasource dataSourceOwner, string viewName)
: base(dataSourceOwner, viewName)
//make sure we have a value for the datasource
if (DataSourceOwner == null)
throw new ArgumentNullException("DataSourceOwner");
CustomResultsDatasource datasource = this.DataSourceOwner as CustomResultsDatasource;
this.QueryManager = SharedQueryManager.GetInstance(datasource.ParentWebpart.Page).QueryManager;
And this in my customSearchResultWebPart
protected override void CreateDataSource()
//base.CreateDataSource();
this.DataSource = new CustomResultsDatasource(this);
How can i use queryManager in populateData?
thanks for your help -
Filtering a list with an XML dataset in Spry 1.6.1?
I have a typical XML data file. I know how to load it, create a dataset, and then a master-detail display.
However, what I need to do is create form items that will FILTER the master set as the user clicks options.
For example, if the list is countries of the world, and the default is to show them all, there could be checkboxes and/or select menus that allow the user to choose countries only in Asia, or only monarchies, etc.
I can't find any examples of how to do this sort of thing. Are there any?That's very helpful, thanks. What I am stuck on now is I am trying to "parameterize" my filter function, so I can pass the string to filter by from the checkbox to une function instead of having a filter function for each.
for example this works to find all items where the color is red:
var myFF = function(dataSet, row, rowNumber)
if (row["color"].search('red') != -1)
return row;
return null;
function ToggleFilter(enable, f)
if (enable)
ds1.addFilter(f, true);
else
ds1.removeFilter(f, true);
<label>Red: <input name="red1" type="checkbox" value="" onclick="ToggleFilter(this.checked, myFF);" /></label>
I would rather have the function be for ANY color, and specify the color on the checkbox, such as this:
<label>Red: <input name="red2" type="checkbox" value="" onclick="ToggleFilter(this.checked, myFF, 'red');" /></label>
So that I can easily have checkboxes 'red' 'green' etc. However I must not be doing it right since if I modify the ToggleFilter function to expect the third parameter, and add the parameter to the ds1.addFilter(f, true) the whole thing fails. -
Parse complex XML in PL/SQL
have complex XML with depth level 10. I need to parse and store data into tables from XML. I am able to parse simple XML but not complex. Could any body suggest me the required steps to parse complex XML in PL/SQL?
Based on response from mdrake on this thread:
Re: XML file processing into oracle
Reading XML using a schema...
declare
SCHEMAURL VARCHAR2(256) := 'http://xmlns.example.org/xsd/testcase.xsd';
XMLSCHEMA VARCHAR2(4000) := '<?xml version="1.0" encoding="UTF-8"?>
<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:xdb="http://xmlns.oracle.com/xdb" xdb:storeVarrayAsTable="true">
<xs:element name="cust_order" type="cust_orderType" xdb:defaultTable="CUST_ORDER_TBL"/>
<xs:complexType name="groupType" xdb:maintainDOM="false">
<xs:sequence>
<xs:element name="item" type="itemType" maxOccurs="unbounded"/>
</xs:sequence>
<xs:attribute name="id" type="xs:byte" use="required"/>
</xs:complexType>
<xs:complexType name="itemType" xdb:maintainDOM="false">
<xs:simpleContent>
<xs:extension base="xs:string">
<xs:attribute name="id" type="xs:short" use="required"/>
<xs:attribute name="name" type="xs:string" use="required"/>
</xs:extension>
</xs:simpleContent>
</xs:complexType>
<xs:complexType name="cust_orderType" xdb:maintainDOM="false">
<xs:sequence>
<xs:element name="group" type="groupType" maxOccurs="unbounded"/>
</xs:sequence>
<xs:attribute name="cust_id" type="xs:short" use="required"/>
</xs:complexType>
</xs:schema>';
INSTANCE CLOB :=
'<cust_order cust_id="12345">
<group id="1">
<item id="1" name="Standard Mouse">100</item>
<item id="2" name="Keyboard">100</item>
<item id="3" name="Memory Module 2Gb">200</item>
<item id="4" name="Processor 3Ghz">25</item>
<item id="5" name="Processor 2.4Ghz">75</item>
</group>
<group id="2">
<item id="1" name="Graphics Tablet">15</item>
<item id="2" name="Keyboard">15</item>
<item id="3" name="Memory Module 4Gb">15</item>
<item id="4" name="Processor Quad Core 2.8Ghz">15</item>
</group>
<group id="3">
<item id="1" name="Optical Mouse">5</item>
<item id="2" name="Ergo Keyboard">5</item>
<item id="3" name="Memory Module 2Gb">10</item>
<item id="4" name="Processor Dual Core 2.4Ghz">5</item>
<item id="5" name="Dual Output Graphics Card">5</item>
<item id="6" name="28inch LED Monitor">10</item>
<item id="7" name="Webcam">5</item>
<item id="8" name="A3 1200dpi Laser Printer">2</item>
</group>
</cust_order>';
begin
dbms_xmlschema.registerSchema
schemaurl => SCHEMAURL
,schemadoc => XMLSCHEMA
,local => TRUE
,genTypes => TRUE
,genBean => FALSE
,genTables => TRUE
,ENABLEHIERARCHY => DBMS_XMLSCHEMA.ENABLE_HIERARCHY_NONE
execute immediate 'insert into CUST_ORDER_TBL values (XMLTYPE(:INSTANCE))' using INSTANCE;
end;
desc CUST_ORDER_TBL
--SQL> desc CUST_ORDER_TBL
-- Name Null? Type
-- TABLE of SYS.XMLTYPE(XMLSchema "http://xmlns.example.org/xsd/testcase.xsd" Element "cust_order") STORAGE Object-relational TYPE "cust_orderType222_T"
set autotrace on explain
set pages 60 lines 164 heading on
col cust_id format a8
select extract(object_value,'/cust_order/@cust_id') as cust_id
,grp.id as group_id, itm.id as item_id, itm.inm as item_name, itm.qty as item_qty
from CUST_ORDER_TBL
,XMLTABLE('/cust_order/group'
passing object_value
columns id number path '@id'
,item xmltype path 'item'
) grp
,XMLTABLE('/item'
passing grp.item
columns id number path '@id'
,inm varchar2(30) path '@name'
,qty number path '.'
) itm
CUST_ID GROUP_ID ITEM_ID ITEM_NAME ITEM_QTY
12345 1 1 Standard Mouse 100
12345 1 2 Keyboard 100
12345 1 3 Memory Module 2Gb 200
12345 1 4 Processor 3Ghz 25
12345 1 5 Processor 2.4Ghz 75
12345 2 1 Graphics Tablet 15
12345 2 2 Keyboard 15
12345 2 3 Memory Module 4Gb 15
12345 2 4 Processor Quad Core 2.8Ghz 15
12345 3 1 Optical Mouse 5
12345 3 2 Ergo Keyboard 5
12345 3 3 Memory Module 2Gb 10
12345 3 4 Processor Dual Core 2.4Ghz 5
12345 3 5 Dual Output Graphics Card 5
12345 3 6 28inch LED Monitor 10
12345 3 7 Webcam 5
12345 3 8 A3 1200dpi Laser Printer 2
17 rows selected.Need at least 10.2.0.3 for performance i.e. to avoid COLLECTION ITERATOR PICKLER FETCH in execution plan...
On 10.2.0.1:
Execution Plan
Plan hash value: 3741473841
| Id | Operation | Name | Rows | Bytes | Cost (%CPU)| Time |
| 0 | SELECT STATEMENT | | 24504 | 89M| 873 (1)| 00:00:11 |
| 1 | NESTED LOOPS | | 24504 | 89M| 873 (1)| 00:00:11 |
| 2 | NESTED LOOPS | | 3 | 11460 | 805 (1)| 00:00:10 |
| 3 | TABLE ACCESS FULL | CUST_ORDER_TBL | 1 | 3777 | 3 (0)| 00:00:01 |
|* 4 | INDEX RANGE SCAN | SYS_IOT_TOP_774117 | 3 | 129 | 1 (0)| 00:00:01 |
| 5 | COLLECTION ITERATOR PICKLER FETCH| XMLSEQUENCEFROMXMLTYPE | | | | |
Predicate Information (identified by operation id):
4 - access("NESTED_TABLE_ID"="CUST_ORDER_TBL"."SYS_NC0000900010$")
filter("SYS_NC_TYPEID$" IS NOT NULL)
Note
- dynamic sampling used for this statementOn 10.2.0.3:
Execution Plan
Plan hash value: 1048233240
| Id | Operation | Name | Rows | Bytes | Cost (%CPU)| Time |
| 0 | SELECT STATEMENT | | 17 | 132K| 839 (0)| 00:00:11 |
| 1 | NESTED LOOPS | | 17 | 132K| 839 (0)| 00:00:11 |
| 2 | MERGE JOIN CARTESIAN | | 17 | 131K| 805 (0)| 00:00:10 |
| 3 | TABLE ACCESS FULL | CUST_ORDER_TBL | 1 | 3781 | 3 (0)| 00:00:01 |
| 4 | BUFFER SORT | | 17 | 70839 | 802 (0)| 00:00:10 |
|* 5 | INDEX FAST FULL SCAN| SYS_IOT_TOP_56154 | 17 | 70839 | 802 (0)| 00:00:10 |
|* 6 | INDEX UNIQUE SCAN | SYS_IOT_TOP_56152 | 1 | 43 | 2 (0)| 00:00:01 |
|* 7 | INDEX RANGE SCAN | SYS_C006701 | 1 | | 0 (0)| 00:00:01 |
Predicate Information (identified by operation id):
5 - filter("SYS_NC_TYPEID$" IS NOT NULL)
6 - access("SYS_NTpzENS1H/RwSSC7TVzvlqmQ=="."NESTED_TABLE_ID"="SYS_NTnN5b8Q+8Txi9V
w5Ysl6x9w=="."SYS_NC0000600007$")
filter("SYS_NC_TYPEID$" IS NOT NULL AND
"NESTED_TABLE_ID"="CUST_ORDER_TBL"."SYS_NC0000900010$")
7 - access("SYS_NTpzENS1H/RwSSC7TVzvlqmQ=="."NESTED_TABLE_ID"="SYS_NTnN5b8Q+8Txi9V
w5Ysl6x9w=="."SYS_NC0000600007$")
Note
- dynamic sampling used for this statement-----
-- CLEAN UP
DROP TABLE CUST_ORDER_TBL purge;
exec dbms_xmlschema.deleteschema('http://xmlns.example.org/xsd/testcase.xsd'); -
Hello,
I have loaded an xml dataset from an XML file and I have used
the code below to manipulate the dataset.
if (ds.getDataWasLoaded())
var rows = ds.getData();
for (var i = 0; i < rows.length; i++)
rows
= "Changed";
How do i reflect this on the page?
I have tried to use ds.loadData(); but it loads the original
data of the page and not the manipulated data.
Thank youHi there Kinblas,
Here is my code:
<?xml version="1.0" encoding="iso-8859-1"?>
<items>
<item>
<name>room</name>
<id>999</id>
<pid>256</pid>
</item>
<item>
<name>Wallet</name>
<id>123</id>
<pid>999</pid>
</item>
<item>
<name>Coins</name>
<id>234</id>
<pid>123</pid>
</item>
<item>
<name>Notes</name>
<id>345</id>
<pid>123</pid>
</item>
<item>
<name>pencil case</name>
<id>000</id>
<pid>999</pid>
</item>
<item>
<name>pencil</name>
<id>111</id>
<pid>000</pid>
</item>
<item>
<name>pen</name>
<id>222</id>
<pid>000</pid>
</item>
<item>
<name>ruler</name>
<id>333</id>
<pid>000</pid>
</item>
<item>
<name>rubber</name>
<id>444</id>
<pid>000</pid>
</item>
</items>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01
Transitional//EN"
http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html;
charset=iso-8859-1">
<title>Untitled Document</title>
<script language="JavaScript" type="text/javascript"
src="../../spry_15/includes/xpath.js"></script>
<script language="JavaScript" type="text/javascript"
src="../../spry_15/includes/SpryData.js"></script>
<script language="JavaScript" type="text/javascript"
src="../../spry_15/includes/SpryDebug.js"></script>
<script language="JavaScript" type="text/javascript">
var dsItem = new Spry.Data.XMLDataSet("spry.xml",
"/items/item[id='999']", { useCache: true});
var dsItemsChildren = new Spry.Data.XMLDataSet("spry.xml",
"/items/item[pid='{dsItem::id}']", { useCache: true});
var dsItemsSiblings = new Spry.Data.XMLDataSet("spry.xml",
"/items/item[pid='{dsItem::pid}']", { useCache: true});
function selectItem(id) {
xpath = "/items/item[id=" + id + "]";
dsItem.setXPath(xpath);
function doSort() {
dsItem.sort("name", "toggle");
function doChange() {
if (dsItem.getDataWasLoaded()) {
var rows = dsItem.getData();
var rows1 = dsItemsChildren.getData();
var rows2 = dsItemsSiblings.getData();
for (var i = 0; i<rows.length ; i++) {
if (rows
["name"]=="rubber") {
rows["name"]="eraser";
for (var i = 0; i<rows1.length ; i++) {
if (rows1
["name"]=="rubber") {
rows1["name"]="eraser";
for (var i = 0; i<rows2.length ; i++) {
if (rows2
["name"]=="rubber") {
rows2["name"]="eraser";
Spry.Data.updateAllRegions();
</script>
</head>
<body>
<ul spry:region="dsItem">
<li spry:repeat="dsItem">Selected Item:
{name}</li>
</ul>
items Siblings
<ul spry:region="dsItemsSiblings">
<li spry:repeat="dsItemsSiblings"><a href='#'
onClick="selectItem({id});">{name}</a></li>
</ul>
Items Children
<ul spry:region="dsItemsChildren">
<li spry:repeat="dsItemsChildren"><a href='#'
onClick="selectItem({id});">{name}</a></li>
</ul>
<input value="Sort" type="button" onClick="doSort();">
<input value="Change" type="button"
onClick="doChange();">
</body>
</html>
When I click on sort, it fires off doSort which finds all
occurences of 'rubber' and changes them to eraser, but when
clicking on the links which result in setting the xpath, the cache
is not used but the original xml is used and the word 'rubber'
reappears.
I hope this make it clear.
Thanks -
Grouping and sorting the data based on the parameter
Hi,
I need to display the total of item Cost i.e sub total based on parameter in Excel format
if value = 1 then (Subtotal by Manufacture) and sorting by Manufacture, Receipt Date, Organization, Item Code
if value = 2 then (Subtotal by Organization ) and sorting by Organization, Item, Serial Number
and at the end of report need to display full total
is it possible in excel output using the below xml , please guide me if i need to change the way of getting XML ouput or can be acheived using this.
Please find the xml , thanks in advance
<?xml version="1.0"?>
<!-- Generated by Oracle Reports version 6.0.8.27.0 -->
<ASWRECDTREP>
<LIST_G_ASW_REC_DATE>
<G_ASW_REC_DATE>
<ORGANIZATION_CODE>10</ORGANIZATION_CODE>
<ORGANISATION_NAME>NDC - PARTS</ORGANISATION_NAME>
<SERIAL_NUMBER>90699100802262</SERIAL_NUMBER>
<ITEM_CODE>OM906LA.007</ITEM_CODE>
<DESCRIPTION>MERCEDES SERIES 900 OFF HWY ENGINE 205 KW 0852</DESCRIPTION>
<MANUFACTURER>MER</MANUFACTURER>
<APPLICATION>INDL</APPLICATION>
<ITEM_COST>15009.09</ITEM_COST>
<MATERIAL_COST>685.25</MATERIAL_COST>
<PO_NUMBER>1001395</PO_NUMBER>
<TRANSACTION_RECEIPT_DATE>22-MAY-09</TRANSACTION_RECEIPT_DATE>
<VENDOR_LOT_NUM></VENDOR_LOT_NUM>
<CURRENCY_CODE>EUR</CURRENCY_CODE>
<PO_UNIT_PRICE>7431.3</PO_UNIT_PRICE>
</G_ASW_REC_DATE>
<G_ASW_REC_DATE>
<ORGANIZATION_CODE>10</ORGANIZATION_CODE>
<ORGANISATION_NAME>NDC - PARTS</ORGANISATION_NAME>
<SERIAL_NUMBER>90699100802285</SERIAL_NUMBER>
<ITEM_CODE>OM906LA.007</ITEM_CODE>
<DESCRIPTION>MERCEDES SERIES 900 OFF HWY ENGINE 205 KW 0852</DESCRIPTION>
<MANUFACTURER>MER</MANUFACTURER>
<APPLICATION>INDL</APPLICATION>
<ITEM_COST>15009.09</ITEM_COST>
<MATERIAL_COST>685.25</MATERIAL_COST>
<PO_NUMBER>1001395</PO_NUMBER>
<TRANSACTION_RECEIPT_DATE>22-MAY-09</TRANSACTION_RECEIPT_DATE>
<VENDOR_LOT_NUM></VENDOR_LOT_NUM>
<CURRENCY_CODE>EUR</CURRENCY_CODE>
<PO_UNIT_PRICE>7431.3</PO_UNIT_PRICE>
</G_ASW_REC_DATE>
<G_ASW_REC_DATE>
<ORGANIZATION_CODE>30</ORGANIZATION_CODE>
<ORGANISATION_NAME>Melbourne</ORGANISATION_NAME>
<SERIAL_NUMBER>6520107896</SERIAL_NUMBER>
<ITEM_CODE>3500.010</ITEM_CODE>
<DESCRIPTION>ALLISON 3000 SERIES ON HWY TRANSMISSION E018179</DESCRIPTION>
<MANUFACTURER>ATD</MANUFACTURER>
<APPLICATION>ONHY</APPLICATION>
<ITEM_COST>11126.11</ITEM_COST>
<MATERIAL_COST>664.23</MATERIAL_COST>
<PO_NUMBER>971515</PO_NUMBER>
<TRANSACTION_RECEIPT_DATE>14-APR-09</TRANSACTION_RECEIPT_DATE>
<VENDOR_LOT_NUM></VENDOR_LOT_NUM>
<CURRENCY_CODE>USD</CURRENCY_CODE>
<PO_UNIT_PRICE>8063.3</PO_UNIT_PRICE>
</G_ASW_REC_DATE>
<G_ASW_REC_DATE>
<ORGANIZATION_CODE>30</ORGANIZATION_CODE>
<ORGANISATION_NAME>Melbourne</ORGANISATION_NAME>
<SERIAL_NUMBER>6510869062</SERIAL_NUMBER>
<ITEM_CODE>3200.010</ITEM_CODE>
<DESCRIPTION>ALLISON 3000 SERIES ON HWY TRANSMISSION E017944</DESCRIPTION>
<MANUFACTURER>ATD</MANUFACTURER>
<APPLICATION>ONHY</APPLICATION>
<ITEM_COST>11853.57</ITEM_COST>
<MATERIAL_COST>707.66</MATERIAL_COST>
<PO_NUMBER>982120</PO_NUMBER>
<TRANSACTION_RECEIPT_DATE>12-MAY-09</TRANSACTION_RECEIPT_DATE>
<VENDOR_LOT_NUM></VENDOR_LOT_NUM>
<CURRENCY_CODE>USD</CURRENCY_CODE>
<PO_UNIT_PRICE>8251.6</PO_UNIT_PRICE>
</G_ASW_REC_DATE>
<G_ASW_REC_DATE>
<ORGANIZATION_CODE>40</ORGANIZATION_CODE>
<ORGANISATION_NAME>Brisbane</ORGANISATION_NAME>
<SERIAL_NUMBER>D6002 G6003</SERIAL_NUMBER>
<ITEM_CODE>520 SERIES.002</ITEM_CODE>
<DESCRIPTION>KONRAD 520 SERIES MARINE STERN DRIVE</DESCRIPTION>
<MANUFACTURER>OTH</MANUFACTURER>
<APPLICATION>MARI</APPLICATION>
<ITEM_COST>9296.95</ITEM_COST>
<MATERIAL_COST>482.91</MATERIAL_COST>
<PO_NUMBER>1009062</PO_NUMBER>
<TRANSACTION_RECEIPT_DATE>24-JUN-09</TRANSACTION_RECEIPT_DATE>
<VENDOR_LOT_NUM></VENDOR_LOT_NUM>
<CURRENCY_CODE>USD</CURRENCY_CODE>
<PO_UNIT_PRICE>6939.29</PO_UNIT_PRICE>
</G_ASW_REC_DATE>
<G_ASW_REC_DATE>
<ORGANIZATION_CODE>40</ORGANIZATION_CODE>
<ORGANISATION_NAME>Brisbane</ORGANISATION_NAME>
<SERIAL_NUMBER>ABC123</SERIAL_NUMBER>
<ITEM_CODE>GM20541-KP1.001</ITEM_CODE>
<DESCRIPTION>KOHLER GENSET</DESCRIPTION>
<MANUFACTURER>KOH</MANUFACTURER>
<APPLICATION>PGEN</APPLICATION>
<ITEM_COST>756.83</ITEM_COST>
<MATERIAL_COST>.78</MATERIAL_COST>
<PO_NUMBER>1015156</PO_NUMBER>
<TRANSACTION_RECEIPT_DATE>14-OCT-09</TRANSACTION_RECEIPT_DATE>
<VENDOR_LOT_NUM></VENDOR_LOT_NUM>
<CURRENCY_CODE>AUD</CURRENCY_CODE>
<PO_UNIT_PRICE>20</PO_UNIT_PRICE>
</G_ASW_REC_DATE>
<G_ASW_REC_DATE>
<ORGANIZATION_CODE>40</ORGANIZATION_CODE>
<ORGANISATION_NAME>Brisbane</ORGANISATION_NAME>
<SERIAL_NUMBER>ABC124</SERIAL_NUMBER>
<ITEM_CODE>GM20541-KP1.001</ITEM_CODE>
<DESCRIPTION>KOHLER GENSET</DESCRIPTION>
<MANUFACTURER>KOH</MANUFACTURER>
<APPLICATION>PGEN</APPLICATION>
<ITEM_COST>756.83</ITEM_COST>
<MATERIAL_COST>.78</MATERIAL_COST>
<PO_NUMBER>1015156</PO_NUMBER>
<TRANSACTION_RECEIPT_DATE>14-OCT-09</TRANSACTION_RECEIPT_DATE>
<VENDOR_LOT_NUM></VENDOR_LOT_NUM>
<CURRENCY_CODE>AUD</CURRENCY_CODE>
<PO_UNIT_PRICE>20</PO_UNIT_PRICE>
</G_ASW_REC_DATE>
<G_ASW_REC_DATE>
<ORGANIZATION_CODE>70</ORGANIZATION_CODE>
<ORGANISATION_NAME>NDC - PRODUCT</ORGANISATION_NAME>
<SERIAL_NUMBER>06R1017763</SERIAL_NUMBER>
<ITEM_CODE>6062HK30.005</ITEM_CODE>
<DESCRIPTION>DETROIT SERIES 60 MARINE ENGINE 615 KW 2949322</DESCRIPTION>
<MANUFACTURER>MDD</MANUFACTURER>
<APPLICATION>MARI</APPLICATION>
<ITEM_COST>99125.34</ITEM_COST>
<MATERIAL_COST>2028.31</MATERIAL_COST>
<PO_NUMBER>883339</PO_NUMBER>
<TRANSACTION_RECEIPT_DATE>05-MAR-09</TRANSACTION_RECEIPT_DATE>
<VENDOR_LOT_NUM></VENDOR_LOT_NUM>
<CURRENCY_CODE>USD</CURRENCY_CODE>
<PO_UNIT_PRICE>63768</PO_UNIT_PRICE>
</G_ASW_REC_DATE>
<G_ASW_REC_DATE>
<ORGANIZATION_CODE>70</ORGANIZATION_CODE>
<ORGANISATION_NAME>NDC - PRODUCT</ORGANISATION_NAME>
<SERIAL_NUMBER>6310935001</SERIAL_NUMBER>
<ITEM_CODE>2500.003</ITEM_CODE>
<DESCRIPTION>ALLISON 2000 SERIES ON HWY TRANSMISSION E016189</DESCRIPTION>
<MANUFACTURER>ATD</MANUFACTURER>
<APPLICATION>ONHY</APPLICATION>
<ITEM_COST>4855.33</ITEM_COST>
<MATERIAL_COST>306.39</MATERIAL_COST>
<PO_NUMBER>1000221</PO_NUMBER>
<TRANSACTION_RECEIPT_DATE>01-JUN-09</TRANSACTION_RECEIPT_DATE>
<VENDOR_LOT_NUM></VENDOR_LOT_NUM>
<CURRENCY_CODE>USD</CURRENCY_CODE>
<PO_UNIT_PRICE>3574.9</PO_UNIT_PRICE>
</G_ASW_REC_DATE>
<G_ASW_REC_DATE>
<ORGANIZATION_CODE>70</ORGANIZATION_CODE>
<ORGANISATION_NAME>NDC - PRODUCT</ORGANISATION_NAME>
<SERIAL_NUMBER>6310935002</SERIAL_NUMBER>
<ITEM_CODE>2500.003</ITEM_CODE>
<DESCRIPTION>ALLISON 2000 SERIES ON HWY TRANSMISSION E016189</DESCRIPTION>
<MANUFACTURER>ATD</MANUFACTURER>
<APPLICATION>ONHY</APPLICATION>
<ITEM_COST>4855.33</ITEM_COST>
<MATERIAL_COST>306.39</MATERIAL_COST>
<PO_NUMBER>1000221</PO_NUMBER>
<TRANSACTION_RECEIPT_DATE>01-JUN-09</TRANSACTION_RECEIPT_DATE>
<VENDOR_LOT_NUM></VENDOR_LOT_NUM>
<CURRENCY_CODE>USD</CURRENCY_CODE>
<PO_UNIT_PRICE>3574.9</PO_UNIT_PRICE>
</G_ASW_REC_DATE>
<G_ASW_REC_DATE>
<ORGANIZATION_CODE>70</ORGANIZATION_CODE>
<ORGANISATION_NAME>NDC - PRODUCT</ORGANISATION_NAME>
<SERIAL_NUMBER>6310935003</SERIAL_NUMBER>
<ITEM_CODE>2500.003</ITEM_CODE>
<DESCRIPTION>ALLISON 2000 SERIES ON HWY TRANSMISSION E016189</DESCRIPTION>
<MANUFACTURER>ATD</MANUFACTURER>
<APPLICATION>ONHY</APPLICATION>
<ITEM_COST>4855.33</ITEM_COST>
<MATERIAL_COST>306.39</MATERIAL_COST>
<PO_NUMBER>1000221</PO_NUMBER>
<TRANSACTION_RECEIPT_DATE>01-JUN-09</TRANSACTION_RECEIPT_DATE>
<VENDOR_LOT_NUM></VENDOR_LOT_NUM>
<CURRENCY_CODE>USD</CURRENCY_CODE>
<PO_UNIT_PRICE>3574.9</PO_UNIT_PRICE>
</G_ASW_REC_DATE>
<G_ASW_REC_DATE>
<ORGANIZATION_CODE>70</ORGANIZATION_CODE>
<ORGANISATION_NAME>NDC - PRODUCT</ORGANISATION_NAME>
<SERIAL_NUMBER>6510876301</SERIAL_NUMBER>
<ITEM_CODE>T350R.004</ITEM_CODE>
<DESCRIPTION>ALLISON TORQMATIC ON HWY TRANSMISSION</DESCRIPTION>
<MANUFACTURER>ATD</MANUFACTURER>
<APPLICATION>ONHY</APPLICATION>
<ITEM_COST>9465.69</ITEM_COST>
<MATERIAL_COST>597.33</MATERIAL_COST>
<PO_NUMBER>1005777</PO_NUMBER>
<TRANSACTION_RECEIPT_DATE>23-JUN-09</TRANSACTION_RECEIPT_DATE>
<VENDOR_LOT_NUM></VENDOR_LOT_NUM>
<CURRENCY_CODE>USD</CURRENCY_CODE>
<PO_UNIT_PRICE>6936.3</PO_UNIT_PRICE>
</G_ASW_REC_DATE>
<G_ASW_REC_DATE>
<ORGANIZATION_CODE>70</ORGANIZATION_CODE>
<ORGANISATION_NAME>NDC - PRODUCT</ORGANISATION_NAME>
<SERIAL_NUMBER>6510876302</SERIAL_NUMBER>
<ITEM_CODE>T350R.004</ITEM_CODE>
<DESCRIPTION>ALLISON TORQMATIC ON HWY TRANSMISSION</DESCRIPTION>
<MANUFACTURER>ATD</MANUFACTURER>
<APPLICATION>ONHY</APPLICATION>
<ITEM_COST>9465.69</ITEM_COST>
<MATERIAL_COST>597.33</MATERIAL_COST>
<PO_NUMBER>1005777</PO_NUMBER>
<TRANSACTION_RECEIPT_DATE>23-JUN-09</TRANSACTION_RECEIPT_DATE>
<VENDOR_LOT_NUM></VENDOR_LOT_NUM>
<CURRENCY_CODE>USD</CURRENCY_CODE>
<PO_UNIT_PRICE>6936.3</PO_UNIT_PRICE>
</G_ASW_REC_DATE>
<G_ASW_REC_DATE>
<ORGANIZATION_CODE>70</ORGANIZATION_CODE>
<ORGANISATION_NAME>NDC - PRODUCT</ORGANISATION_NAME>
<SERIAL_NUMBER>6510876303</SERIAL_NUMBER>
<ITEM_CODE>T375R.002</ITEM_CODE>
<DESCRIPTION>ALLISON TORQMATIC ON HWY TRANSMISSION</DESCRIPTION>
<MANUFACTURER>ATD</MANUFACTURER>
<APPLICATION>ONHY</APPLICATION>
<ITEM_COST>10224.19</ITEM_COST>
<MATERIAL_COST>645.19</MATERIAL_COST>
<PO_NUMBER>1005777</PO_NUMBER>
<TRANSACTION_RECEIPT_DATE>23-JUN-09</TRANSACTION_RECEIPT_DATE>
<VENDOR_LOT_NUM></VENDOR_LOT_NUM>
<CURRENCY_CODE>USD</CURRENCY_CODE>
<PO_UNIT_PRICE>7433.3</PO_UNIT_PRICE>
</G_ASW_REC_DATE>
<G_ASW_REC_DATE>
<ORGANIZATION_CODE>70</ORGANIZATION_CODE>
<ORGANISATION_NAME>NDC - PRODUCT</ORGANISATION_NAME>
<SERIAL_NUMBER>6310940354</SERIAL_NUMBER>
<ITEM_CODE>2500.003</ITEM_CODE>
<DESCRIPTION>ALLISON 2000 SERIES ON HWY TRANSMISSION E016189</DESCRIPTION>
<MANUFACTURER>ATD</MANUFACTURER>
<APPLICATION>ONHY</APPLICATION>
<ITEM_COST>4855.33</ITEM_COST>
<MATERIAL_COST>306.39</MATERIAL_COST>
<PO_NUMBER>1005777</PO_NUMBER>
<TRANSACTION_RECEIPT_DATE>23-JUN-09</TRANSACTION_RECEIPT_DATE>
<VENDOR_LOT_NUM></VENDOR_LOT_NUM>
<CURRENCY_CODE>USD</CURRENCY_CODE>
<PO_UNIT_PRICE>3574.9</PO_UNIT_PRICE>
</G_ASW_REC_DATE>
<G_ASW_REC_DATE>
<ORGANIZATION_CODE>70</ORGANIZATION_CODE>
<ORGANISATION_NAME>NDC - PRODUCT</ORGANISATION_NAME>
<SERIAL_NUMBER>6310940355</SERIAL_NUMBER>
<ITEM_CODE>2500.003</ITEM_CODE>
<DESCRIPTION>ALLISON 2000 SERIES ON HWY TRANSMISSION E016189</DESCRIPTION>
<MANUFACTURER>ATD</MANUFACTURER>
<APPLICATION>ONHY</APPLICATION>
<ITEM_COST>4855.33</ITEM_COST>
<MATERIAL_COST>306.39</MATERIAL_COST>
<PO_NUMBER>1005777</PO_NUMBER>
<TRANSACTION_RECEIPT_DATE>23-JUN-09</TRANSACTION_RECEIPT_DATE>
<VENDOR_LOT_NUM></VENDOR_LOT_NUM>
<CURRENCY_CODE>USD</CURRENCY_CODE>
<PO_UNIT_PRICE>3574.9</PO_UNIT_PRICE>
</G_ASW_REC_DATE>
<G_ASW_REC_DATE>
<ORGANIZATION_CODE>70</ORGANIZATION_CODE>
<ORGANISATION_NAME>NDC - PRODUCT</ORGANISATION_NAME>
<SERIAL_NUMBER>6310940356</SERIAL_NUMBER>
<ITEM_CODE>2500.003</ITEM_CODE>
<DESCRIPTION>ALLISON 2000 SERIES ON HWY TRANSMISSION E016189</DESCRIPTION>
<MANUFACTURER>ATD</MANUFACTURER>
<APPLICATION>ONHY</APPLICATION>
<ITEM_COST>4855.33</ITEM_COST>
<MATERIAL_COST>306.39</MATERIAL_COST>
<PO_NUMBER>1005777</PO_NUMBER>
<TRANSACTION_RECEIPT_DATE>23-JUN-09</TRANSACTION_RECEIPT_DATE>
<VENDOR_LOT_NUM></VENDOR_LOT_NUM>
<CURRENCY_CODE>USD</CURRENCY_CODE>
<PO_UNIT_PRICE>3574.9</PO_UNIT_PRICE>
</G_ASW_REC_DATE>
<G_ASW_REC_DATE>
<ORGANIZATION_CODE>70</ORGANIZATION_CODE>
<ORGANISATION_NAME>NDC - PRODUCT</ORGANISATION_NAME>
<SERIAL_NUMBER>6310940357</SERIAL_NUMBER>
<ITEM_CODE>2500.003</ITEM_CODE>
<DESCRIPTION>ALLISON 2000 SERIES ON HWY TRANSMISSION E016189</DESCRIPTION>
<MANUFACTURER>ATD</MANUFACTURER>
<APPLICATION>ONHY</APPLICATION>
<ITEM_COST>4855.33</ITEM_COST>
<MATERIAL_COST>306.39</MATERIAL_COST>
<PO_NUMBER>1005777</PO_NUMBER>
<TRANSACTION_RECEIPT_DATE>23-JUN-09</TRANSACTION_RECEIPT_DATE>
<VENDOR_LOT_NUM></VENDOR_LOT_NUM>
<CURRENCY_CODE>USD</CURRENCY_CODE>
<PO_UNIT_PRICE>3574.9</PO_UNIT_PRICE>
</G_ASW_REC_DATE>
<G_ASW_REC_DATE>
<ORGANIZATION_CODE>70</ORGANIZATION_CODE>
<ORGANISATION_NAME>NDC - PRODUCT</ORGANISATION_NAME>
<SERIAL_NUMBER>5272003543</SERIAL_NUMBER>
<ITEM_CODE>T1637K33.002</ITEM_CODE>
<DESCRIPTION>DETROIT SERIES 4000 INDUSTRIAL ENGINE 1865 KW 2456291</DESCRIPTION>
<MANUFACTURER>MDD</MANUFACTURER>
<APPLICATION>MNIG</APPLICATION>
<ITEM_COST>420083.16</ITEM_COST>
<MATERIAL_COST>3785.85</MATERIAL_COST>
<PO_NUMBER>921170</PO_NUMBER>
<TRANSACTION_RECEIPT_DATE>30-JUN-09</TRANSACTION_RECEIPT_DATE>
<VENDOR_LOT_NUM></VENDOR_LOT_NUM>
<CURRENCY_CODE>USD</CURRENCY_CODE>
<PO_UNIT_PRICE>301549</PO_UNIT_PRICE>
</G_ASW_REC_DATE>
</LIST_G_ASW_REC_DATE>
</ASWRECDTREP>
Best Regards,
MahiHi Vetri,
I tried to implement the solution you have given and i am getting error,
I tried to see the output by loading the xml to the template given in BIP Blog in the following Link,
http://blogs.oracle.com/xmlpublisher/2007/05/left_up_down_right_group.html
I am getting the same error,Please help me how to overcome this.If possible send me the template that was working for you.
The error log is as follows:
ConfFile: C:\Program Files\Oracle\BI Publisher\BI Publisher Desktop\Template Builder for Word\config\xdoconfig.xml
Font Dir: C:\Program Files\Oracle\BI Publisher\BI Publisher Desktop\Template Builder for Word\fonts
Run XDO Start
Template: C:\Users\MAHESH\Desktop\Grouping.rtf
RTFProcessor setLocale: en-us
FOProcessor setData: C:\Users\MAHESH\Desktop\EmployeeListing.xml
FOProcessor setLocale: en-us
java.lang.reflect.InvocationTargetException
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
at java.lang.reflect.Method.invoke(Unknown Source)
at oracle.apps.xdo.common.xml.XSLT10gR1.invokeProcessXSL(Unknown Source)
at oracle.apps.xdo.common.xml.XSLT10gR1.transform(Unknown Source)
at oracle.apps.xdo.common.xml.XSLT10gR1.transform(Unknown Source)
at oracle.apps.xdo.common.xml.XSLTWrapper.transform(Unknown Source)
at oracle.apps.xdo.template.fo.util.FOUtility.generateFO(Unknown Source)
at oracle.apps.xdo.template.fo.util.FOUtility.generateFO(Unknown Source)
at oracle.apps.xdo.template.FOProcessor.createFO(Unknown Source)
at oracle.apps.xdo.template.FOProcessor.generate(Unknown Source)
at RTF2PDF.runRTFto(RTF2PDF.java:629)
at RTF2PDF.runXDO(RTF2PDF.java:439)
at RTF2PDF.main(RTF2PDF.java:289)
Caused by: java.lang.ArrayIndexOutOfBoundsException: -1
at oracle.xdo.parser.v2.XSLTContext.peekExprValue4Grouping(XSLTContext.java:871)
at oracle.xdo.parser.v2.XPathFunctionCall.evaluate(XPathFunctionCall.java:536)
at oracle.xdo.parser.v2.XPathFunctionCall.evaluate(XPathFunctionCall.java:583)
at oracle.xdo.parser.v2.XSLVariable.getValue(XSLVariable.java:205)
at oracle.xdo.parser.v2.XSLVariable.processAction(XSLVariable.java:117)
at oracle.xdo.parser.v2.XSLNode.processChildren(XSLNode.java:417)
at oracle.xdo.parser.v2.XSLResultElement.processAction(XSLResultElement.java:180)
at oracle.xdo.parser.v2.XSLNode.processChildren(XSLNode.java:417)
at oracle.xdo.parser.v2.XSLResultElement.processAction(XSLResultElement.java:180)
at oracle.xdo.parser.v2.XSLNode.processChildren(XSLNode.java:417)
at oracle.xdo.parser.v2.XSLResultElement.processAction(XSLResultElement.java:180)
at oracle.xdo.parser.v2.XSLNode.processChildren(XSLNode.java:417)
at oracle.xdo.parser.v2.XSLResultElement.processAction(XSLResultElement.java:180)
at oracle.xdo.parser.v2.XSLNode.processChildren(XSLNode.java:417)
at oracle.xdo.parser.v2.XSLResultElement.processAction(XSLResultElement.java:180)
at oracle.xdo.parser.v2.XSLNode.processChildren(XSLNode.java:417)
at oracle.xdo.parser.v2.XSLResultElement.processAction(XSLResultElement.java:180)
at oracle.xdo.parser.v2.XSLNode.processChildren(XSLNode.java:417)
at oracle.xdo.parser.v2.XSLResultElement.processAction(XSLResultElement.java:180)
at oracle.xdo.parser.v2.XSLNode.processChildren(XSLNode.java:417)
at oracle.xdo.parser.v2.XSLResultElement.processAction(XSLResultElement.java:180)
at oracle.xdo.parser.v2.XSLNode.processChildren(XSLNode.java:417)
at oracle.xdo.parser.v2.XSLTemplate.processAction(XSLTemplate.java:191)
at oracle.xdo.parser.v2.XSLStylesheet.execute(XSLStylesheet.java:512)
at oracle.xdo.parser.v2.XSLStylesheet.execute(XSLStylesheet.java:489)
at oracle.xdo.parser.v2.XSLProcessor.processXSL(XSLProcessor.java:271)
at oracle.xdo.parser.v2.XSLProcessor.processXSL(XSLProcessor.java:155)
at oracle.xdo.parser.v2.XSLProcessor.processXSL(XSLProcessor.java:192)
... 15 more
Best Regards,
Mahi -
Spry Menu Using Nested XML Dataset (Spry 1.6)
I have a vertical menu with a few items. One of which is
labeled Products which has submenus. I want to have that submenu
read from a Nested XML dataset. Using a single dataset for one
level in a menu is easy enough, but the subenu will have submenus.
Example Menu:
Home
Company
Products
|-- Product 1
|-- Item 1
|-- Item 2
|-- Item 3
|-- Product 2
|-- Item 1
|-- Item 2
|-- Product 3
|-- Item 1
|-- Item 2
|-- Item 3
|-- Item 4
|-- Product 4
|-- Item 1
|-- Item 2
|-- Product 5
I have been looking for an easy way to use the Spry Nested
XML Dataset to create the Product/Item menu. The number of Products
may vary as well as the number of Items in each Product submenu
(also, some Products may not have Items).
I already have an ASP page that creates the XML data from a
database.
Schema follows (XSD ):
<?xml version="1.0" encoding="utf-8"?>
<xsd:schema xmlns:xsd="
http://www.w3.org/2001/XMLSchema">
<xsd:element name="products">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="product_type"
maxOccurs="unbounded">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="type_name" maxOccurs="1"
type="xsd:string"/>
<xsd:element name="type_url" maxOccurs="1"
type="xsd:anyURI"/>
<xsd:element name="product_name"
maxOccurs="unbounded">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="item_name" maxOccurs="1"
type="xsd:string"/>
<xsd:element name="item_url" maxOccurs="1"
type="xsd:anyURI"/>
</xsd:sequence>
</xsd:complexType>
</xsd:element>
</xsd:sequence>
</xsd:complexType>
</xsd:element>
</xsd:sequence>
</xsd:complexType>
</xsd:element>
</xsd:schema>
I have been programming for 17 years but am new to Spry. If
this cannot be done easily with the Spry framework, I'll probably
wind up splitting the XML data into 2 files (Products and Items)
then writing a nested loop and call each by row, but then I have to
find out how Spry Datasets reference XML data. Figuring out how to
call rows from the XML data shouldn't be so bad, but this method
just seems like such a hassle for something that should be easy.
Pseudocode follows:
j=1
i=1 to TotalNumberProducts
display Product i from Products
ItemsExist=true
While ItemsExist
if j > TotalNumberItems | Item j is not for Product then
ItemsExist=false
else
display Item j from Items
j++
Wend
Next
Thanks in advance for any help or direction!That's exactly what I'm trying to do. However, I implemented
that code and the submenus won't appear. I suspect the submenus
aren't finding the field names from the Nested XML Dataset. The
first level of Product menus work great (this is a submenu of the
overall menu) and correctly identify products that do not have
submenus, so I know it's picking up the number of records in the
Nested Dataset correctly - it just won't display the data in the
next level of menu.
variable and script declarations:
<script src="SpryAssets/SpryMenuBar.js"
type="text/javascript"></script>
<script src="SpryAssets/xpath.js"
type="text/javascript"></script>
<script src="SpryAssets/SpryData.js"
type="text/javascript"></script>
<script src="SpryAssets/SpryNestedXMLDataSet.js"
type="text/javascript"></script>
<link href="SpryAssets/SpryMenuBarVertical.css"
rel="stylesheet" type="text/css">
<script type="text/javascript">
<!--
var productMenuData = new
Spry.Data.XMLDataSet("products.asp", "products/product_type");
var productMenuDataItems = new
Spry.Data.NestedXMLDataSet(productMenuData, "product_name");
//-->
</script>
Code for menus:
<ul id="NavMenu" class="MenuBarVertical">
<li><a
href="index.html">Home</a></li>
<li><a
href="company.html">Company</a></li>
<li><a href="franco_giberti.html">Franco
Giberti</a></li>
<li><a class="MenuBarItemSubmenu"
href="products.asp">Products</a>
<ul spry:region="productMenuData
productMenuDataItems">
<li spry:repeat="productMenuData"><a
class="MenuBarItemSubmenu" href="{type_url}"
spry:if="{productMenuDataItems::ds_RowCount} !=
0">{type_name}</a> <a href="{type_url}"
spry:if="{productMenuDataItems::ds_RowCount} ==
0">{type_name}</a>
<ul spry:if="{productMenuDataItems::ds_RowCount} !=
0">
<li spry:repeat="productMenuDataItems"><a
href="{productMenuDataItems::item_url}">{productMenuDataItems::item_name}</a></li>
</ul>
</li>
</ul>
</li>
<li><a href="contact.html">Contact Us</a>
<!-- end #sidebar1 -->
</li>
</ul>
XML:
<products
xsi:noNameSpaceSchemaLocation="products.xsd">
−
<product_type>
<type_name>Pasta Sauce</type_name>
<type_url>pt_2.asp</type_url>
−
<product_name>
<item_name>Putenesca</item_name>
<item_url>pn_3.asp</item_url>
</product_name>
−
<product_name>
<item_name>Arrabiata</item_name>
<item_url>pn_4.asp</item_url>
</product_name>
−
<product_name>
<item_name>Pesto</item_name>
<item_url>pn_5.asp</item_url>
</product_name>
−
<product_name>
<item_name>Basil and Tomato</item_name>
<item_url>pn_6.asp</item_url>
</product_name>
−
<product_name>
<item_name>Bolognese</item_name>
<item_url>pn_7.asp</item_url>
</product_name>
−
<product_name>
<item_name>Carboniera</item_name>
<item_url>pn_8.asp</item_url>
</product_name>
</product_type>
+
<product_type>
<type_name>Organic Olive Oil</type_name>
<type_url>pt_3.asp</type_url>
−
<product_name>
<item_name>Original</item_name>
<item_url>pn_9.asp</item_url>
</product_name>
−
<product_name>
<item_name>Basil</item_name>
<item_url>pn_10.asp</item_url>
</product_name>
−
<product_name>
<item_name>Herbs</item_name>
<item_url>pn_11.asp</item_url>
</product_name>
−
<product_name>
<item_name>Sun Dried Tomato</item_name>
<item_url>pn_12.asp</item_url>
</product_name>
</product_type>
+
<product_type>
<type_name>Organic Spreads</type_name>
<type_url>pt_4.asp</type_url>
−
<product_name>
<item_name>Putenesca</item_name>
<item_url>pn_13.asp</item_url>
</product_name>
−
<product_name>
<item_name>Arrabiata</item_name>
<item_url>pn_14.asp</item_url>
</product_name>
−
<product_name>
<item_name>Pesto</item_name>
<item_url>pn_15.asp</item_url>
</product_name>
−
<product_name>
<item_name>Basil and Tomato</item_name>
<item_url>pn_16.asp</item_url>
</product_name>
−
<product_name>
<item_name>Bolognese</item_name>
<item_url>pn_17.asp</item_url>
</product_name>
−
<product_name>
<item_name>Carboniera</item_name>
<item_url>pn_18.asp</item_url>
</product_name>
</product_type>
+
<product_type>
<type_name>Organic Grilled Vegetables</type_name>
<type_url>pt_5.asp</type_url>
−
<product_name>
<item_name>Putenesca</item_name>
<item_url>pn_19.asp</item_url>
</product_name>
−
<product_name>
<item_name>Arrabiata</item_name>
<item_url>pn_20.asp</item_url>
</product_name>
−
<product_name>
<item_name>Pesto</item_name>
<item_url>pn_21.asp</item_url>
</product_name>
−
<product_name>
<item_name>Basil and Tomato</item_name>
<item_url>pn_22.asp</item_url>
</product_name>
−
<product_name>
<item_name>Bolognese</item_name>
<item_url>pn_23.asp</item_url>
</product_name>
−
<product_name>
<item_name>Carboniera</item_name>
<item_url>pn_24.asp</item_url>
</product_name>
</product_type>
−
<product_type>
<type_name>Truffle Products</type_name>
<type_url>pt_6.asp</type_url>
</product_type>
</products>
Any further guidance would be very much appreciated! -
Reading complex XML file in flex
I have searched the web but found very primitive xml
examples. I want to read a complex xml file which through
httpservice .
The xml file is ultimately going to become dataProvider of a
tree. But I have no idea how to traverse this xml file. mentioned
under are the xml file and HTTPService tag.
I want to traverse it in the resultHandler function.
Thank you very muchYes, as Greg says, use e4x.
To do this you must set the HTTPService resultFormat="e4x";
In you handler, do:
var xmlResult= XML(event.result);
trace(xmlResult.toXMLString());
and away you go.
Tracy -
Binding ADF UI to a complex XML Type – Development Productivity, State Mgmt
Binding ADF UI to a complex Web Service – Development Productivity, Managing State, Etc.
For those scenarios when ADF UI has to be bound to a complex XML type, it seems that the direction taken by the ADF development team was to generate data-controls that map to complex XML types.
The major problem with this approach is the fact that application server does not manage state. For example, If application has to submit a purchase order to a web service then application server has to manage the shopping card state until its ready to be submitted.
In some previous forum threads it had been suggested that using generated data-controls is a “quick and dirty” solution for accessing web services and that a proper solution is to use generated Java Proxy Interface.
That implies many manually constructed entity objects, associations and overridden doDML methods, which is far less productive compared to entity objects generated from a database schema.
Suggestion and a Question for the ADF development team
From the logical model standpoint, there is no difference in between the XML schema and DB schema. Therefore, it is possible to generate entity objects and associations for XML Types of XML schema the same way it’s done for tables of Database schema. The only difference is serialization of CRUD operations on entity objects.
One way to handle this is:
- Generate Application Module for a complex XML type. This application module should have methods for marshaling to/from corresponding XML type.
- Generate entity object for each subtype within the complex XML type. In case of nested subtypes, generate association to a parent type.
- Generate data control with actions that are bound to web service operations and code that serializes request message from corresponding AM and de-serializes response message to corresponding AM.
This way, ADF would offer the same productivity for the SOA development as one its currently offering for the ORM development.
Until the time when something like this is available, what would be the best approach for binding ADF UI to web services?
Feedback is greatly appreciated.
Boro Petrovic
Edited by: wds12518 on Jan 25, 2010 11:49 AMWe have similar issues as our big portion of the UI is based on WS. We found that there is no easy way to map entity object structure to complex XML type (one EO can based on one flat type or domain can't be bound to UI directly). Oracle PMs, is there any better solution or future plans to address this issue?
Maybe you are looking for
-
IPhone no longer shows in iPhoto to import photos after 9.2 and iOS 5 updates
For some reason my iPhone 4S doesn't show in iPhoto to import photos. Oddly, iPhoto will launch when I plug into sync, but the phone does not show. Also, the phone doesn't show in the Image Capture application.
-
I have good idea about HR. But Im not that much expert .Id like if you guys share your ABAP HR experience and give me some hints like how to read time data what are the basic ways and macros to read time management data. What are the different ways
-
[svn:osmf:] 14465: Initial commit of refactored metadata API.
Revision: 14465 Revision: 14465 Author: [email protected] Date: 2010-02-26 21:16:35 -0800 (Fri, 26 Feb 2010) Log Message: Initial commit of refactored metadata API. Note that this is the first step in a major, multi-step refactoring, so there m
-
Spotlight Has Stopped Working, WHY!!!!!!
Hi There, New to this mac business converted after 10 years of being a PC man but music industry required me to spend money on Logic, anyway i was casually using my macbook and the spotlight thing stopped working, its nothing big but really annoying
-
Hi , Is distribution model necessary while sending Idocs to other system ? Regards, Pradeep