EXTRACTVALUE + MULTIPLE CHILD NODES
Hi,
I have a XML Doc where I have multiple nodes in a tag and I need to extract the data using extractvalue funtion.
My XMLtype doc stores a xml doc in this form:
<CYKDoc xmlns="CYKdocument.bankxyz.com">
<CYK>
<gci>12345678</gci>
<system>LION</system>
<recordType>1</recordType>
<CYKId>987654</CYKId>
<policyVersion>DDL 1.0</policyVersion>
</CYK>
<CYKResponse>
<id>q_grid</id>
<grid>
<data>
<dataRow>
<dataColumn>
<id>q_grid_id</id>
<name>q_grid_id</name>
<codes>
<code>704</code>
</codes>
</dataColumn>
<dataColumn>
<id>q_owner_type</id>
<name>q_owner_type</name>
<codes>
**<code>IN</code>**
** <code>OUT</code>**
** <code>BETWEEN</code>**
</codes>
<catName>ben_owner_type</catName>
</dataColumn>
</dataRow>
</data>
</grid>
</CYKResponse>
</CYKResponses>
</CYKDoc>
In the above XML, I have a tag of name "q_owner_type" which has multiple child nodes..but I am not able to fetch the codes of any tag at all..
My Query is :
SELECT CYK_id,q_id,code,catname
FROM ((SELECT p.CYK_id CYK_id,
EXTRACTVALUE (VALUE (tab1), 'dataColumn/id') q_id,
EXTRACTVALUE(VALUE(tab2), '/code') AS code,
EXTRACTVALUE (VALUE (tab1),
'dataColumn/catName'
) catname
FROM CYK.CYK_doc p,
TABLE
(XMLSEQUENCE
(EXTRACT
(p.CYK_doc, '/CYKDoc/CYKResponses/CYKResponse[id="q_grid"]/grid/data/dataRow[1]/dataColumn'))) tab1,
TABLE (XMLSEQUENCE (EXTRACT (VALUE (tab1), 'dataColumn/codes/code'))) tab2
)) a
WHERE a.CYK_id = 227209;
I get 4 rows having one question as q_grid_id and 3 questions as q_owner_type but the extractvalue( tab2) doesnt fetch the values of codes....
I am assuming that its an issue with XPATH I mentioned in alias tab2 but How else to handle it, is an issue here...
If In TABLE (XMLSEQUENCE (EXTRACT (VALUE (tab1), 'dataColumn/codes/code'))) tab2 I refer the path only till codes, it errors out with saying that "single row fetches multiple records" because there are multiple child records..
How to handle this??
Please HELP
Thanks
Mahesh
Hi,
Is there no way to handle this?
I am sort of running out of time, but not able to think of any solution for this.. There must be a way to do so..
I found the below link while surfing :
http://www.componentworkshop.com/blog/2009/07/21/advanced-oracle-parsing-xml-fragments-in-oracle-functions-and-procedures
I think this link has some answer to my solution in terms of joins but I managed to find no solution to it.
<EmailAddresses>
<EmailAddress>[email protected]</EmailAddress>
<EmailAddress>[email protected]</EmailAddress>
<EmailAddress>[email protected]</EmailAddress>
</EmailAddresses>
How do i extract the EmailAddress from the parent tag ?? while using the XPath to extract the values..??
Please let me know.
Thanks in advance
Similar Messages
-
How to store multiple child nodes using dbms_xmlstore
Hi,
I'm using oracle 10g environment. In DBMS_XMLSTORE package I cannot able to insert the multiple child node value into db table.
Here I have given the xml value
<DATAPACKET REQUEST-ID="10001094">
<HEADER>
<SEARCH-RESULT-LIST>
<SEARCH-RESULT-ITEM NAME="Ra-Al-Gul" CONFIDENCE-SCORE="750" BUREAU-ID="893991307899440">
<IDENTIFIERS>
<IDENTIFIER IDSOURCE="0001" MATCHED="TRUE"/>
</IDENTIFIERS>
<SURROGATES>
<SURROGATE ID="CH0001" MATCHED="TRUE"/>
<SURROGATE ID="CH0002" MATCHED="TRUE"/>
<SURROGATE ID="CH0003" MATCHED="TRUE"/>
</SURROGATES>
</SEARCH-RESULT-ITEM>
</SEARCH-RESULT-LIST>
</HEADER>
</DATAPACKET>for this xml data I have created the below table structure
-- Table create script
CREATE TABLE xml_insert (datapacket t_response );
/* Type creation code */
CREATE OR REPLACE TYPE t_response AS OBJECT
"@REQUEST-ID" VARCHAR2(100),
header t_resp_header
CREATE OR REPLACE TYPE t_resp_header AS OBJECT
"SEARCH-RESULT-LIST" t_search_item
CREATE OR REPLACE TYPE t_search_item AS OBJECT
("SEARCH-RESULT-ITEM" t_search_list);
CREATE OR REPLACE TYPE t_search_list AS OBJECT
("@NAME" VARCHAR2(300),
"@CONFIDENCE-SCORE" VARCHAR2(300),
"@BUREAU-ID" VARCHAR2(300),
IDENTIFIERS t_search_identifiers,
SURROGATES t_search_surrogates
CREATE OR REPLACE TYPE t_search_identifiers AS OBJECT
(IDENTIFIER t_search_IDENTIFIER);
CREATE OR REPLACE TYPE t_search_identifier AS OBJECT
"@IDSOURCE" VARCHAR2(20),
"@MATCHED" VARCHAR2(20)
CREATE OR REPLACE TYPE t_search_surrogates AS OBJECT
(SURROGATE t_search_SURROGATE);
CREATE OR REPLACE TYPE t_search_surrogate AS OBJECT
"@ID" VARCHAR2(20),
"@MATCHED" VARCHAR2(20)
CREATE OR REPLACE TYPE tb_search_surrogate AS TABLE of t_search_SURROGATE;
/and run this block
DECLARE
insCtx DBMS_XMLStore.ctxType;
rows NUMBER;
xmldoc CLOB :=
<ROWSET>
<ROW>
<DATAPACKET REQUEST-ID="Q10001094">
<HEADER>
<SEARCH-RESULT-LIST>
<SEARCH-RESULT-ITEM NAME="Anis kulam" CONFIDENCE-SCORE="750" BUREAU-ID="893991307899440">
<IDENTIFIERS>
<IDENTIFIER IDSOURCE="0001" MATCHED="TRUE"/>
</IDENTIFIERS>
<SURROGATES>
<SURROGATE ID="CH0001" MATCHED="TRUE"/>
<SURROGATE ID="CH0002" MATCHED="TRUE"/>
<SURROGATE ID="CH0003" MATCHED="TRUE"/>
</SURROGATES>
</SEARCH-RESULT-ITEM>
</SEARCH-RESULT-LIST>
</HEADER>
</DATAPACKET>
</ROW>
</ROWSET>';
BEGIN
insCtx := DBMS_XMLStore.newContext('xml_check');
rows := DBMS_XMLStore.insertXML(insCtx, xmlDoc);
DBMS_XMLStore.closeContext(insCtx);
END;I got the following error
Error Messgae :
ORA-19031: XML element or attribute SURROGATE does not match any in type DOHADEV.T_CRB_SEARCH_SURROGATES
ORA-06512: at "SYS.DBMS_XMLSTORE", line 78
ORA-06512: at line 28Hi,
A couple of comments to begin with :
- Your setup script, test case and error message are not consistent with each other.
- You've not chosen the easiest road with DBMS_XMLSTORE and nested objects. As pointed out in a previous thread of yours, the whole thing would be far more simple with XMLTable.
Do you really need to store the data in an object-relational structure at the end, or do you intend to further break it down into relational rows and columns?
Do you have an XML schema? -
How to select data with multiple child nodes
We have the following data:
me table ei table
m1 e1
m1 e2
m1 e3
m1 e4
m2 e5
m2 e6
m3 e7
m3 e8
I would like to display them as:
m1 e1
e2
e3
e4
m2 e5
e6
m3 e7
e8
How to best do this with sql?
I would like to produce this list with sql and then transform it to xml.
Thanks.Since you did not use tags it is not clear what results should be:
SQL> WITH TBL AS (
2 SELECT 'm1' me, 'e1' ei FROM DUAL UNION ALL
3 SELECT 'm1' me, 'e2' ei FROM DUAL UNION ALL
4 SELECT 'm1' me, 'e3' ei FROM DUAL UNION ALL
5 SELECT 'm1' me, 'e4' ei FROM DUAL UNION ALL
6 SELECT 'm2' me, 'e5' ei FROM DUAL UNION ALL
7 SELECT 'm2' me, 'e6' ei FROM DUAL UNION ALL
8 SELECT 'm3' me, 'e7' ei FROM DUAL UNION ALL
9 SELECT 'm3' me, 'e8' ei FROM DUAL
10 )
11 SELECT CASE ROW_NUMBER() OVER(PARTITION BY ME ORDER BY EI) WHEN 1 THEN ME ELSE NULL END ME,
12 EI
13 FROM TBL
14 ORDER BY TBL.ME,
15 TBL.EI
16 /
ME EI
m1 e1
e2
e3
e4
m2 e5
e6
m3 e7
e8
8 rows selected.or
SQL> WITH TBL AS (
2 SELECT 'm1' me, 'e1' ei FROM DUAL UNION ALL
3 SELECT 'm1' me, 'e2' ei FROM DUAL UNION ALL
4 SELECT 'm1' me, 'e3' ei FROM DUAL UNION ALL
5 SELECT 'm1' me, 'e4' ei FROM DUAL UNION ALL
6 SELECT 'm2' me, 'e5' ei FROM DUAL UNION ALL
7 SELECT 'm2' me, 'e6' ei FROM DUAL UNION ALL
8 SELECT 'm3' me, 'e7' ei FROM DUAL UNION ALL
9 SELECT 'm3' me, 'e8' ei FROM DUAL
10 )
11 SELECT CASE ROW_NUMBER() OVER(PARTITION BY ME ORDER BY EI) WHEN 1 THEN ME ELSE EI END ME,
12 CASE ROW_NUMBER() OVER(PARTITION BY ME ORDER BY EI) WHEN 1 THEN EI ELSE NULL END EI
13 FROM TBL
14 ORDER BY TBL.ME,
15 TBL.EI
16 /
ME EI
m1 e1
e2
e3
e4
m2 e5
e6
m3 e7
e8
8 rows selected.
SQL>
SY. -
Datagrid-Multiple child nodes of xml provide as dataprovider
<QueueIndex>
<id>
<qixQltId>104</qixQltId>
<qixIndexname>Branch</qixIndexname>
<dixId>104</dixId>
<qixSeq>1</qixSeq>
</id>
<qixIndexvalue>WFI_S_Branch</qixIndexvalue>
<qixLength>255</qixLength>
<qixType>S</qixType>
<qixList>Y</qixList>
</QueueIndex>
i have the above xml which im providing to datagrid.<mx:DataGrid
id="myDataGrid" dataProvider="{xmlObjectQFields.QueueIndex}">
<mx:columns>
<mx:DataGridColumn dataField="id.qixQltId" headerText="ID"/>
<mx:DataGridColumn dataField="qixMand" headerText="Name"/>
<mx:DataGridColumn dataField="qixReadonly" headerText="Desc"/>
<mx:DataGridColumn dataField="qixLength" headerText="Map Value"/>
<mx:DataGridColumn dataField="qixType" headerText="Region"/>
<mx:DataGridColumn dataField="qixList" headerText="Sequence"/>
</mx:columns>
</mx:DataGrid>
i get the first column as null. but when i give dataField as "id" only i get to see <id>contents in this tag/<id>i want to print "104"<QueueIndex>
<id>
<qixQltId>104</qixQltId>
<qixIndexname>Branch</qixIndexname>
<dixId>104</dixId>
<qixSeq>1</qixSeq>
</id>
<qixIndexvalue>WFI_S_Branch</qixIndexvalue>
<qixLength>255</qixLength>
<qixType>S</qixType>
<qixList>Y</qixList>
</QueueIndex>
i have the above xml which im providing to datagrid.<mx:DataGrid
id="myDataGrid" dataProvider="{xmlObjectQFields.QueueIndex}">
<mx:columns>
<mx:DataGridColumn dataField="id.qixQltId" headerText="ID"/>
<mx:DataGridColumn dataField="qixMand" headerText="Name"/>
<mx:DataGridColumn dataField="qixReadonly" headerText="Desc"/>
<mx:DataGridColumn dataField="qixLength" headerText="Map Value"/>
<mx:DataGridColumn dataField="qixType" headerText="Region"/>
<mx:DataGridColumn dataField="qixList" headerText="Sequence"/>
</mx:columns>
</mx:DataGrid>
i get the first column as null. but when i give dataField as "id" only i get to see <id>contents in this tag/<id>i want to print "104" -
Help with xsl for multiple child node
We have the following data.
row meID EI
1 a a1
a2
a3
a4
2 b b1
b2
3 c c1
c2
I would like to use XSL to display the data in the fashion:
<row=1>
<meID>a</meID>
<EI>a1</EI>
<EI>a2</EI>
<EI>a3</EI>
<EI>a4</EI>
</row>
<row=2>
<meID>b</meID>
<EI>b1</EI>
<EI>b2</EI>
</row>
<row=3>
<meID>c</meID>
<EI>c1</EI>
<EI>c2</EI>
</row>
Currently, I am only able to get the XSL to lump all the EIs together:
<row=1>
<meID>a</meID>
<EI>a1a2a3a4</EI>
</row>
What do I need to change in the XSL to make it display 4 rows of EI?
Thanks.The data should look like:
1_________a_________a1
____________________a2
____________________a3
____________________a4
2_________b_________b1
____________________b2
3_________c_________c1
____________________c2 -
How do I create multiple types of child nodes in ADF Faces Tree Component
Hi,
I am trying to construct a tree using ADF Faces. The tree I am trying to develop should look something like:
- Departments
+ Dept 10
+ Dept 20
+ Dept 30
+ Dept 40
- Employees
+ SCOTT
+ALLEN
+ BLAKE
The nodes shown at the top level should serve as labels, indicating the various types of nodes available.
I have created the top level RootLabelsViewObj, with a SQL clause:
select rn, node_label
from (
select 1 rn
, 'Employees' node_label
from dual
union all
select 2 rn
, 'Departments' node_label
from dual
union all
select 3 rn
, 'Bonusplans' node_label
from dual
I have created ViewLinks between the RootLabelsViewObj and the DeptView and EmpView respectively (created on top of DEPT and EMP table in SCOTT schema), based on the LABEL attribute in the RootLabelsViewObj and with ViewLink SQL specified like:
:Bind_NodeLabel = 'Departments' for the link with DeptView and :Bind_NodeLabel = 'Employees' for the link with EmpView.
In the ADF BC Application Module Tester, I get exactly what I want.
However, when I create a JSF JSPX page and drag the RootLabelsViewObj from the Data Control Panel to the page as ADF Tree, I run into a little issue: it seems like I cannot create a second Branch Accessor rule for the RootLabelsViewObj1: I have created a first Branch Accessor Rule referring to DeptView and now try to create a second one for EmpView, to allow Employees to be displayed under the root label "Employees" - but I cannot.
The PageDefinition looks like:
<tree id="RootLabelsViewObj1" IterBinding="RootLabelsViewObj1Iterator">
<AttrNames>
<Item Value="Rn"/>
<Item Value="NodeLabel"/>
</AttrNames>
<nodeDefinition DefName="model.RootLabelsViewObj"
id="RootLabelsViewObjNode">
<AttrNames>
<Item Value="NodeLabel"/>
</AttrNames>
<Accessors>
<Item Value="DeptView"/>
</Accessors>
</nodeDefinition>
<nodeDefinition DefName="model.EmpView" id="EmpViewNode">
<AttrNames>
<Item Value="Ename"/>
</AttrNames>
</nodeDefinition>
<nodeDefinition DefName="model.DeptView" id="DeptViewNode">
<AttrNames>
<Item Value="Deptno"/>
</AttrNames>
</nodeDefinition>
</tree>
Does anyone know:
- whether it is possible (intended) to have more than one branch accessor per node (i.e. more than one type of child under a node in the tree)
- if so, how this can be achieved?
Right now it looks like I am limited to each node in the tree having only one type of child node.
Please tell me I am wrong.
best regards,
LucasGive this a shot mate
event.getNativeEventTarget();That will allow you to access the DOM object directly
Id can be retrieved via
event.getNativeEventTarget().id; -
Is there a way to open multiple childs of Accordian at a same time
Hi,
Is there a way to open multiple childs of Accordain at a same time.
My requiremnets is something like this:--
Thanks for any help on this in Advance.
Regards
MuniraYou can have multiple nodes open on a tree, so I guess you could open them all up on a button click.
Another option that might be possible is to use individual Accordians for each section and then use the click function to close the others. -
Check the value of attribute of a child node in datatype xmltype.
Hello,
I have a xml stored in column having datatype as "XMLTYPE"
<?xml version="1.0" encoding="ISO-8859-1"?>
<Settings>
<Setting Name="A1" Value="N"/>
<Setting Name="A2" Value="N"/>
<Setting Name="A3" Value="SOMEVALUE"/>
<Setting Name="A4" Value="N"/>
<Setting Name="A5" Value="Y"/>
<Setting Name="A6" Value="N"/>
</Settings>I do not want to loop into each child node. But want to find out if the value of setting A5 is Y or N? Is there a way I can find that without doing the extract of "Setting" child node and then looping each node to find the value?
Regards,You didn't specify your version of Oracle so here are two options. If 10.2 or greater, use XMLTable, else use the ExtractValue option.
-- The WITH simply simulates your existing table that I do not have.
WITH fake_tab AS
(SELECT XMLTYPE('<?xml version="1.0" encoding="ISO-8859-1"?>
<Settings>
<Setting Name="A1" Value="N"/>
<Setting Name="A2" Value="N"/>
<Setting Name="A3" Value="SOMEVALUE"/>
<Setting Name="A4" Value="N"/>
<Setting Name="A5" Value="Y"/>
<Setting Name="A6" Value="N"/>
</Settings>
') tab_col
FROM dual)
-- For 10.2 and higher use this SELECT
SELECT a5
FROM fake_tab,
XMLTABLE('/Settings'
PASSING fake_tab.tab_col
COLUMNS
a5 VARCHAR2(10) PATH 'Setting[@Name="A5"]/@Value');
-- For 10.1 and before
SELECT ExtractValue(tab_col, '/Settings/Setting[@Name="A5"]/@Value')
FROM fake_tab; -
Is it possible to put two different colors in tree parent
node background and child nodes background?
Any help will be very helpful.
ThanksHi PanosE,
Yes, you can set up another Standard Edition Server in child domain and then deploy pool pairing.
You need to deploy a new Front End Pool for the new Standard Edition Server.
A similar case for your reference.
https://social.technet.microsoft.com/Forums/office/en-US/eca4299c-8edb-481e-b328-c7deba2a79ba/lync-2013-standard-edition-lync-fe-pools-in-multiple-domain-single-forest-senario?forum=lyncdeploy
Best regards,
Eric
Please remember to mark the replies as answers if they help, and unmark the answers if they provide no help. If you have feedback for TechNet Support, contact [email protected] -
How to create multiple root node in a tree
Hi Experts,
As per my requirement I have two requirements for tree creation:
1) Create a Tree which can display multiple root node.
2) Cretae a Tree which can display data directy without any folder.
I am new in Tree development.
Can any body help me out to get it done.
If it is not possible then also i need a confirmation from experts.
Regards,
Madhuuse method add_node of the class Cl_gui_alv_tree to add a node to the tree.
In case of root node the parameter lv_relat_key is passed as blank.In order to create further child nodes pass the node key of the parent as the relat key of the child and use the method again.
Regards,
Abhi -
HI Can I add a child node to an Element Node with a name that exists
HI,
Can I add a child node to an Element Node with a name that is already existing in the Element Node.
Let me explain what I need exactly.
My Existing element Node looks like this:
<form>
<name>
<FirstName></FirstName>
<LastName></LastName>
</name>
</form>
Can I add another child node with hte name 'FirstName' to the 'name' node ..?
I want to put a attribute rvsn with a value 1 for the original 'FirstName' element Node.
so the new Element Node should look like the foloowing:
<form>
<name>
<FirstName rvsn="1"></FirstName>
<FirstName></FirstName>
<LastName></LastName>
</name>
</form>
Hopefully this is valid XML !!
when I tried to use appendChild, it removed the previous node and put the new one. Thats what is the documentation also said.. I read it after I tried it :(
Anyway, ther should be another way to add a node like that.
Any hints, ideas will be of great help.
-Thanks in advance !!
Murthy// this method will start marking the old values with a revision number.
private void saveNodeDetails (Node node) {
String Content = "";
String nodeName = "";
int rvsn = getRvsn();
int type = node.getNodeType();
int tempRvsn = 0;
String tempNodeName = "";
String tempParentNodeName = "";
Node tempParentNode = null;
// check if element
if (type == Node.ELEMENT_NODE) {
Node traverseNode = node;
nodeName = getNodeName(traverseNode);
if (nodeName != null && nodeName.trim().length() > 1)
nodeName = nodeName.substring(0, nodeName.length() - 1);
if (_debug)
System.out.print("2. ELEMENT_NODE name## " + nodeName);
// if the element has no children, its leaf node.
// if its there in the Hashtble, then update the value from the hashtable.
if (reqParams.containsKey(nodeName)) {
if (_debug) System.out.println("3. Hash Value = " + reqParams.get(nodeName).toString());
if (traverseNode == null)
if (_debug) System.out.println("3A. traverseNode == null ");
if (node == null)
if (_debug) System.out.println("3B. node == null ::(((((");
// get the node children
NodeList children = node.getChildNodes();
// end of getting children for the Node.
if (_debug) System.out.println("4. Got ChildNodes ");
if (children != null) {
int length = 0;
length = children.getLength();
if (_debug) System.out.println("5. Got children Length = " + length);
if( ((Element) node).hasAttribute("rvsn") ){
System.out.println(" node has Attribute(rvsn) ");
tempRvsn = Integer.parseInt( ((Element) node).getAttribute("rvsn") );
if( tempRvsn == rvsn){
// user is changing the same data again and again.
// so remove the text node and append the new value as text node finally
for (int index = 0; index < length; index++) {
if (_debug) System.out.println("6. index = " + index);
if (_debug) System.out.println(index + ": children.item( index )@saveNodeDetails@ContainerDoc = " + children.item(index).getNodeType() + " -- " + children.item(index).getNodeValue());
if (children.item(index).getNodeType() == Node.TEXT_NODE)
node.removeChild(children.item(index));
}else{
int l= 0; // do not do any thing if the current node rvsn is different from the rvsn of the DOM
// programme logic could enter this part when ther are multiple revisions of the NODe in the DOM,
// and we are traversing through the previous versions of it.
} else{
System.out.println(" node has no Attribute(rvsn) ");
// the node has no rvsn attribute.
// it is the initial version of the dom.
// add the rvsn from the DOM to this NODE for the first time.
((Element) node).setAttribute("rvsn", (new Integer(rvsn)).toString() );
// get parent node and add a new child node with the same name as current node.
// so parent node will have the previous node with a rvsn and a new node without the rvsn !!
tempNodeName = node.getNodeName();
tempParentNode = node.getParentNode();
tempParentNodeName = tempParentNode.getNodeName();
System.out.println(" adding node: " + tempNodeName + " to : " + tempParentNodeName);
node = addNode(tempParentNode, tempNodeName, "");
getNodeName(node); // print the name of the node after modifying it !!!
printSiblings(node);
//System.out.println(" After adding the node : " + getNodeName(node));
} else if (_debug) {
System.out.println("7. Node name exist in the Hash but has no children to be removed..!!:: @saveNodeDetails ");
if (_debug) System.out.println("7B. Update the dom from the hash value " + nodeName + ", " + reqParams.get(nodeName).toString());
node.appendChild(document.createTextNode(reqParams.get(nodeName).toString()));
if (node != null) {
if ( ( (Element) node).hasAttribute("rvw"))
( (Element) node).removeAttribute("rvw");
if ( ( (Element) node).hasAttribute("msg"))
( (Element) node).removeAttribute("msg");
if ( ( (Element) node).hasAttribute("dor"))
( (Element) node).removeAttribute("dor");
}// end of if (type == Node.ELEMENT_NODE)
NodeList children = node.getChildNodes();
if (children != null) {
for (int i = 0; i < children.getLength(); i++) {
saveNodeDetails(children.item(i));
} // end of saveNodeDetails method
public Node addNode(Node parentNode, String nodeName, String value){
Node newNode = null;
try{
newNode = parentNode.appendChild( document.createElement(nodeName) );
newNode.appendChild( document.createTextNode( value ) );
}catch(Exception Ex){
System.out.println("2. Exception@addNode@ContainerDoc = " + Ex);
return newNode ;
} // end of addNode method -
Problem with childs nodes and automatic key mapping in a Data Object
Hi experts!
I'm doing the service order tutorial from the mobile help at [this link|http://help.sap.com/saphelp_nwmobile71/helpdata/en/21/9b5b924c3b434fba4767731794b029/frameset.htm] and I have a problem...
In the topic "Modeling the Equipment Data Object", says you have to mark the "Automatic Key Mapping" checkbox. So when I had to create a third child node ( the location node ) the system raised an exception with the message "Deselect automatic key mapping flag for more than two-level nodes". I'm trying deselecting the flag and creating the location node, but when I want mark again the automatic key mapping flag, this is disabled.
What can I do to solve this and create the three child nodes with the flag marked? It's a configuration thing?
Any help it's very welcome. Thanks in advance.
Best regards,
Simon.The thing is: Its not allowed to use automatic keymapping if you have more than two levels. This is why the message showed up, and this is why its been disabled.
What automatic keymapping does: Figures out automatically which child node belongs to which parent (by guessing from the field name and type, which fields in the child correspond to which key fields of the parent).
On three levels, this becomes more complicated => Its disabled.
How to do keymapping yourself instead of having the DOE do it automatically: Do 'Explicit keymapping' from each child to its parent. Explicit keymapping is done by clicking on the corresponding menu button in the child node. Here you need to associate child node fields (they need not be key fields of the child, but they are allowed to be that as well) to each of its parent nodes key fields (so that each child can be associated to its parent).
Cheers -
Getting the value of a child node in an array
How do you get the value of a child node in an array titled "entries"? I used to do this in AS2, and now I'm trying in AS3. To top it off, I'm forced to use an XML format I'm unfamiliar with. So I'm not sure how to access these nodes in AS3. An example of the XML is;
<Row>
<Cell><Data ss:Type="String">Absorption Areas</Data></Cell>
<Cell><Data ss:Type="String">Drain fields where left over liquid from the septic system soak into the ground.</Data></Cell>
</Row>
How would I access ether of the <Cell> rows?
ThanksGiven that you declared ss namespace (otherwise it will throw an error) you have two options:
xml.Cell[0].Data - will output:
Absorption Areas
xml.Cell.Data will output:
<Data ss:Type="String">Absorption Areas</Data>
<Data ss:Type="String">Drain fields where left over liquid from the septic system soak into the ground.</Data>
So, xml.Cell.Data[1] will output:
Drain fields where left over liquid from the septic system soak into the ground. -
How to add a button in the child node of the Tree Table?
Hi All,
I am having a requirement to create a tree table and it should have a delete button to each child node (screenshot attached).
Can anyone provide me a sample for how to implement this.
Thanks in Advance
AravindhHi Aravindhan,
Try something like this:
var ttDesvios = new sap.ui.table.TreeTable();
var cbDesviacion = new sap.ui.commons.CheckBox();
ttDesvios.addColumn(new sap.ui.table.Column({
label: new sap.ui.commons.Label({text: "Col1"}),
template: new sap.ui.commons.Label({text: "Info"}),
width: "50px",
ttDesvios.addColumn(new sap.ui.table.Column({
label: new sap.ui.commons.Label({text: "Action"}),
template: new sap.ui.commons.Button({text: "Delete"}).bindProperty("visible", "pathPropertyChild", function(value){
if(value .............){ return true;} //For child
else{ return false;} //For parent
width: "160px",
Regards
EDIT: Wrong paste code, that's better! -
When in a hierarchy, a user right clicks on a node to crate a new node, he has two options
-Child
-Sibling
Is it possible to restrict the user from creating a sibling and allow him to ONLY create child nodes?
Business cases:
1. different level nodes need to have different prefixes.
- Thus, the default prefix property definition uses the level number to assign a prefix
- Also, a validation, to ensure the correct prefix, uses the level number
But if the user can create a child and a sibling then the default prefix will only be right for a single case and not both.
ThanksIf the images are exactly the same size then make sure the layer with the mask
is the active layer and in the other documents go to Select>Load Selection and choose
your document with the layer mask under Source document and under channel choose the layer mask.
After the selection loads press the layer mask icon at the bottom of the layers panel.
MTSTUNER
Maybe you are looking for
-
How do i install multiple photos to my desktop
I want to display several photos as my desk top background (as a collage), how can I accomlish this? Thanks
-
I really need your help. I'm 14. I really need to put new music on my iPod and I have plugged it into my computer and its taking ages to back-up and it wont let me do anything until its done. It will take over 3 hours if it keeps on going like this.
-
Create a work order using the BAPI for IW31
Hi, I want to create a work order using the BAPI for IW31 tr. can any one help me with the program description. Full points will be awarded for the useful answers. Thanks and regards, Sunil
-
Software updater updating problem
I get this error message when i try to install the newest version of NSU, and i can't update my N73 without the newest update. I use datacable CA-53 "There is a problem with this Windows Installer package. A script required for this install to comple
-
Is there a backup software for the mac that will backup my hard drive to DVD's? Thanks, Kristina