Recursive node
Hi All,
What is recursive node what is the use of it .....
waiting for your response...
Regards,
Shilpa
Hi
Recursive Node is used when depth of child nodes under a given context while not be known untill at runtime.
Recursive Node have two properties : Name and repeated Node
https://www.sdn.sap.com/irj/scn/wiki?path=/display/wdjava/value%252bnodes%252cmodel%252bnodes%252crecursive%252bnodes
/people/sap.user72/blog/2005/06/05/tree-control-in-webdynpro
/people/bharadwaj.p/blog/2006/12/20/image-recursive-tree-with-an-action
Thanks,
Tulasi Palnati
Similar Messages
-
[Tree] item and node order ! (Recursive Node)
I made a wd4a has organizatonal structure tree. but I have some problem with the org tree.
I want to have a tree(org structure) in item(person) and node(organization) order.
Root Root
|- Person 1 |- Head Dept
|- Person 2 | |-Person 3
|-Head Dept -> | |-Person 4
| |- Person 3 |-Sales
| |- Person 4 |- Person 1
|-Sales |- Person 2
( to be displayed) (current displayed)
Whiat's the problem?
Although the both of them have a same contents, I really want to display in person and org order .
Plz. help.I solved this problem myself and it makes me very so tired.
I guess that Recursive node tree have some bugs.
If a node have one recursive node and one sub-node and some kinds of attributes,
we have to make a decision on how to display and sort them(sub-node and attributes)
There is a example below as I really want to sort them.
C_Drive Folder
- file 1
- file 2
- Folder 1
- file3
- Folder 1-1
- Folder 2
Context
|-Folder Node
| |-File Node
| | |-File Name attribute
| |-Folder Name attribute
| |-Folder_Content -> Recursive Node
When you meet this situation,you must implement the context nodes and
the names of context node and recursive node must be in alphabet order you want to display.
I am sorry for my crumsy writting English. -
How to manipulate recursive node with context api?
Hi, all.
I made a recursive node in my context. So it is like a tree.
When I choosed one child node in my tree, how can I get it`s current element?
Thanks a lot.Hi Louis
Check this PDF link
http://www.sdn.sap.com/irj/servlet/prt/portal/prtroot/com.sap.km.cm.docs/library/user-interface-technology/wd%20java/wdjava%20archive/constructing%20a%20recursive%20and%20loadable%20web%20dynpro%20tree.pdf
Also check this elearning link.It gives info of supply function
https://www.sdn.sap.com/irj/scn/elearn?rid=/library/uuid/60086bd5-9301-2b10-6f97-a14366a5602b&overridelayout=true
Regards
Ruturaj -
Dynamic context in web dynpro abap: recursion node is possible?
Hi,
i'm working with web dynpro ABAP and I need to create a dynamic recursion node. Is possible?
thank you.
Regards.
AlHello Saravanan,
this is my code that creates a context node with recursion node, but supply_method i never called. why? could you help me?
CALL METHOD lr_root_info->add_new_child_node
EXPORTING
name = y_name
is_mandatory = abap_false
is_multiple = abap_true
is_mandatory_selection = abap_false
is_multiple_selection = abap_true
is_singleton = abap_true
is_initialize_lead_selection = abap_true
is_static = abap_true
supply_method = 'SUPPLY_NAV_LIST'
RECEIVING
child_node_info = lr_node_info.
ls_attribute-name = 'TEXT'.
ls_attribute-type_name = 'STRING'.
CALL METHOD lr_node_info->add_attribute
EXPORTING
attribute_info = ls_attribute.
ls_attribute-name = 'ENABLED'.
ls_attribute-type_name = 'WDY_BOOLEAN'.
CALL METHOD lr_node_info->add_attribute
EXPORTING
attribute_info = ls_attribute.
lr_node_info->add_recursive_child_node( child_name = y_name_nav child_info = lr_node_info is_static = abap_false ).
Thank you.
Al -
How to get current node element for recursive node.
Hello Xperts,
I have a requirement where I need to find the current node element of the recursive node.
I was trying following code for the same
Data:
selected_elem type ref to if_wd_context_element.
selected_elem = WDEVENT->GET_CONTEXT_ELEMENT( NAME = 'CONTEXT_ELEMENT' ).
selected_elem ->get_static_attributes(
IMPORTING
static_attributes = sel_attri ).
But it does not work for me and I always get 1st node value.
Please help me in this issue.
-AshutoshHello ,
If you implementing a simple tree ( not table tree ) and you want the selected element for
OnLoadChildren event .
Then create an importing parameter CONTEXT_ELEMENT of type IF_WD_CONTEXT_ELEMENT
in the event handler of onLoadChildren .
Webdynpro framework automatically filled up the context element with the current node in the tree .
I tried it , It really worked for me .
If you have a table tree then you need to create an importing parameter PATH of type String in tha event handler .
Webdynpro frame automatically fills the PATH .
the use can use the following method to get the element from the PATH .
wd_context->path_get_element( path ).
I tried it , It also worked for me .
Regards
Vivek
PS : please provide the points if answer is helpful . -
Check result for Data Type: PriceDerivationType | http://alfuttaim.com/xi/storeConnectivity:
Data type Data Type PriceDerivationType | http://alfuttaim.com/xi/storeConnectivity points to itself
Hi Experts ,
I have a datatype part of sap standard content which has a recursive node ( poniting to itself).
I have to copy it to a local name space and use it . When i try to copy it and activate it i am getting this
error .
"Check result for Data Type: PriceDerivationType | http://alfuttaim.com/xi/storeConnectivity:
Data type Data Type PriceDerivationType | http://alfuttaim.com/xi/storeConnectivity points to itself"
Please let me know how do i go abt activating this object.
Thanks in advance and best regards,
AnilHi Anil,
When you copy it local namespace, verify the namespace is local or the one which is poiting to itself.
If this is pointing itself, manually you change the namespace which you want and activate it.
Hope this helps.
Regards
Shankar. -
Hello PI people.
I have a problem reguarding to a XSD file (standard DSML found here: [DSMLv2|http://www.oasis-open.org/committees/dsml/docs/DSMLv2.xsd]).
When I Import it as external definition to PI Integration builder it all works fine but if I undfold the message "Filter" the there is problem with the defintions for "not" and after one more fold on "and" or "or" the same problem is shown. It looks like PI understands the XSD but it just not permit recursive nodes?
Is it the XSD that dosent meet the PI standard or is it a internal thing in PI that needs to be activated to handle recursive nodes i XSD?
(When a message is mapped with this DSML all the error prone nodes are stripped..)
// JesperHello Jesper,
You can refer to this document for supported XSD and WSDL:
http://www.sdn.sap.com/irj/sdn/go/portal/prtroot/docs/library/uuid/00a9a425-1769-2a10-9196-bd8eeed72e4c
Once you open this excel document go to row 94 for Recursive Data Structures, it says it is supported but there is a reference to row 143 which says
Recursive data structure must be expanded in design-time manually to the desired depth
If what you are thinking is dynamic recursion, then it is not possible. You have to use Java Mapping/XSLT for that. Now as for the nodes not displaying, right-click on the node and then select expand recursive structure.
Hope this helps,
Mark -
Reading and modifying data in a recursive node
Hi All,
I am using a TreeByNesting column in a table UI element of my component.
For this purpose I have created a node in the context - ('TREE') which contains a recursive node - ('RECURSIVE_TREE').
What would be the simplest way to read the data from this node ? And how do I go about changing a single line of information
within the node ?
Thanks,
FathimaWhat would be the simplest way to read the data from this node?
Reading data from a recursive node is no different to reading any normal node. It's just that you have a very simple way of holding the same structure.
Once you have a reference to the element of a node (a single line of data), then updating it is no different to updating a line of a table.
More issues are associated with making and setting lead selections for an element (all parent elements also need to be lead selected and no child elements). Searching through the hierarchy, etc.
Where I have used this functionality I have often set up search tables with the key data that I want to search in a flat table and a reference to the corresponding element - much easier to search then - without having to resort to recursive coding!
Could you elaborate a little on what exactly you are having an issue with?
Cheers,
Chris -
WD ABAP: Lead selection on a recursive node
Hi,
I would like to know if lead selection is permitted on a recursive node in WD ABAP.
As of now, methods 'set_lead_selection_index' or 'set_lead_selection' do not cause lead selection to change in my view, and the lead selection rests only with the first row in my table..(I have set the rowSelectable property to YES for my table.)
Also, method call 'set_selected' performed on my target element does not solve the problem.
Any help much appreciated!
Best Regards.Hi Adithya,
Yes, you can have a leadSelection on a recursive node and it can be changed by the same methods that are used for non-recursive ones.
Best regards,
Thomas -
WD ABAP: Recursion Nodes that Repeat Tree Nodes with Embedded Tables ???
At Rich H's suggestion, I'm posting this here as well as in the blogs.
Suppose you've got a tree context with a node that has a table embedded under it. (For example, the TREE_WITH_TABLE view of WDR_TEST_EVNT has this kind of context substructure.) Call this node "NODE_WITH_TABLE."
You now define a recursion node underneath "NODE_WITH_TABLE" and specify "NODE_WITH_TABLE" as the repeated node for this recursion node. Call this recurion node "RECURSION_NODE".
Lo and behold - the table fills properly when you're on any instance of "NODE_WITH_TABLE", but not when you're on an instance of "RECURSION_NODE".
I'm hoping that:
a) I'm doing something wrong;
OR
b) There's an easy work-around/alternative I'm not seeing
OR
c) SAP will give recursion nodes enough memory to carry any table(s) embedded in the nodes they're repeating.
'Cause I sure don't want to have to define "n" levels of tree-nodes that have different copies of the same table(s) embedded in them.
Message was edited by: Armin Reichert/people/david.halitsky/blog/2006/08/16/recursion-nodes-that-repeat-tree-nodes-with-embedded-tables-in-wd-abap-not
Maybe you might want to back out your weblog as it is not really a place to ask these types of questions. Think of it this way, if you are allowed to do this type of weblog, what is stopping any other weblogger. Hence the weblogs would just be another forum, which I don't think anyone wants.
Regards,
Rich Heilman -
Hi........
Like I am not Able to Create Recursive Node. it is giving Error. Type Comfortable.
Please Tell Me solution ...You may have to explain lot more than this,so that we can understand and help you effective.
What you do exactly? from where you are trying to do ? explain it in step step what you have done so for and also post the exact message.
You must be making somewhere a mistake. This is not a kind of error i hear often. -
Hi everybody,
i would like to ask if it is posiible to map context node with recursive node from controller to view. I try to do that by the recursive subnode is disabled. When that is not possible can that any one explain why?
Regards
BogdanHello Bogdan,
Recursive context nodes cannot be mapped. You may refer this <a href="http://help.sap.com/saphelp_nw2004s/helpdata/en/ea/a5384162316532e10000000a1550b0/frameset.htm">article</a>
Best Regards,
Bala -
Recursive node and Non Recursive node
Hi,
What is the difference between Recursive node and Non Recursive node ?
Thanks,
TejaHi Teja
Recursive node
If you wish to represent a recursive data structure within the context, a recursive node is the correct node to use. The simplest example of recursive data within a hierarchical structure is a file system. A dictionary can contain either files or subdirectories. This definition is then repeated for each subdirectory level down the hierarchy.
Within the context, a recursive node is a special node that has only two properties: name and repeatedNode. As with any context node, a recursive node must itself name, but the repeatedNode property is where the recursion is defined. This property holds a reference to some parent node and indicates that, at runtime, the location of the recursive node will be occupied by a node of the type indicated in the repeatedNode property.
You should think of a recursive node as a design time placeholder used to indicate a node will be created at this location at runtime, and will be of the type named in the repeatedNode property.
The node name identified by repeatedNode must lie on the direct path back to the context root node.
When a recursive node is created at runtime it always created as a non-singleton node. This is a hard-coded feature and cannot be changed.
Non recursive node is opposite to recursive node
Regards
Ruturaj -
Hi,
I'm creating a Web dynpro tree Application ....in that i need to create a recursion node ...but i couldn't found it. Please let me know how to crate a recursion node.
Thanks,
ParameshwariHi,
Check this tutorial on sdn: [Constructing a Recursive and Loadable Web Dynpro Tree|http://www.sdn.sap.com/irj/scn/index?rid=/library/uuid/47ce9b90-0201-0010-59b5-f70826824eee]
You will get very clear idea about using recursive node.
Regards,
Anand G
Edited by: Jason Lax on Dec 27, 2011 5:17 PM (Updated URL to correct format.) -
Need to loop through Recursive node
Hi Everyone,
I am having troubles looping through a node to get a boolean value called "Check".
Basically I am using the TreeNesteedInTable UI. One of the columns I display is the "Check" mentioned above. Basically the user can go through the tree structure and check his/her options. I should then be able to loop through this structure to get all the records "Checked". My application is not doing this.
At the moment I am looping through the top level node - think this is where my probelm is because this node can only be singleton! This means that I then have to loop through the Recusrsive node of this type to get the values as the recusrive is always non-singleton en must therefor contain the elements I am looking for. But, i do not know how tho get access to this node. Is this the correct way of doing it, or how should it be done otherwise?
Many thanks,
ChristiaanHI,
I got it to work like this:
public void addICAMForIncident( ) {
//@@begin addICAMForIncident()
IWDMessageManager msgMgr = wdComponentAPI.getMessageManager();
try {
int count;
Bapi1240_Rc rootCause;
IPublicEhs_icam.IAbsentOrFailedControlsElement existingAbsentOrFailedControlsElement;
IPublicEhs_icam.IAbsentOrFailedControlsElement recursive;
IPublicEhs_icam.IAbsentOrFailedControlsElement recursiveChildElement;
IPublicEhs_icam.IAbsentOrFailedControlsNode recursiveChildNode;
// if(wdContext.nodeAbsentOrFailedControls() != null){
// set header data:
wdContext.currentHeader_CreateElement().setRecord_No(wdContext.currentHeader_GDElement().getRecord_No());
wdContext.currentHeader_CreateElement().setRecno_Root(wdContext.currentHeader_GDElement().getRecno_Root());
wdContext.currentHeader_CreateElement().setIncident(wdContext.currentGPInputNodeElement().getIPIncidentNum());
//Top Level Node (Singleton)
existingAbsentOrFailedControlsElement = wdContext.currentAbsentOrFailedControlsElement();
//We need to go through the values of the RECURSIVE node as that is where the values are!
//Each time we expand a node in the tree this recursive node is filled with values
for(int i = 0;i<existingAbsentOrFailedControlsElement.nodeRecursiveAbsentOrFailedControl().size();i++)
recursiveChildNode = existingAbsentOrFailedControlsElement.nodeRecursiveAbsentOrFailedControl().nodeRecursiveAbsentOrFailedControl(i);
for(int m = 0;m<recursiveChildNode.size();m++)
recursiveChildElement = recursiveChildNode.getAbsentOrFailedControlsElementAt(m);
if(recursiveChildElement.getCheck())
//New line in the "table":
rootCause = new Bapi1240_Rc();
rootCause.setFunction("009");
rootCause.setHierarchy_Key("EHS_IAL_STD");
rootCause.setNode_Key(recursiveChildElement.getNODE_ID());
rootCause.setRef_Recno(wdContext.currentHeader_GDElement().getRecord_No());
rootCause.setRef_Object("IAL");
rootCause.setRef_Recno_Smeas("0");
rootCause.setPrimarykey("00000000000000000001");
rootCause.setForeignkey("00000000000000000001");
rootCause.setFlgfrgnkey(true);
rootCause.setFlgprimkey(true);
rootCause.setFlag_Selected(true);
//add the line to the "table":
createInput.addRootcause(rootCause);
}//end if
}//end for
}// end for
// execute:
wdContext.currentBapi_Bus1240_Create_InputElement().modelObject().execute();
// invalidate the output structure:
wdContext.nodeOutput_Create().invalidate();
} catch (CMIException ex) {
msgMgr.reportException(ex.getLocalizedMessage(), true);
//@@end
Maybe you are looking for
-
Problems with installing new hard drive using time machine
Hi, I have a 2.4 GHz Intel Core 2 Duo 15" Macbook Pro (unibody) with 8 GB 1333 MHz DDR3 and a 250 GB Sata HD running OS 10.6.7. It works like a dream. However, i bought a new 1 TB HD (WD Scorpio Blue) since a) 250 GB is not enough for me right now b)
-
Not able to purchase in lenovo site
(Unable to authorize your transaction. Please select another payment method to complete your order Eventhough I have Amex International card and shipped to US address still I am getting this error . Any help wrt this would be great. PS: I am using am
-
Hi, in load monitoring process chain having issue with 1 master data load, this issue containg "Error message when processing in the Business Warehouse" and in monitor 2 duplicate records are there, how can i solve the issue and continue the
-
Launching AIR application(MAC)
<MAC ONLY> I created a 'hello world' AIR app. using Flex builder 3 and I click the debug button and the somehow helloWorld-app.xml launches in Dreamweaver. Does anyone know how to fix this? all i'm trying to do is create a simple AIR app. and click t
-
Normally you relate a search help to a input box and let SAP to handle the F4. So after selecting a value, this value will be returned to the input box. But i want to react on the value and don't put it automatically in the box, but process it first.