Hi Kiran, I was Busy in some Different issues… Check my code… I need to modify it little more.As node has to traverse in My way as i want. But this code will help to all it seems… static void Manas_Treenodetraverse(Args _args) { TreeNode treeNode, treeNodeTable; TreeNodeTraverser T1; TreeNodeIterator iterator; str _Nodevalue,_Nodevalue1; MenuItem _Menu; MenuItemName MenuItemName; void traverseFields(TreeNode _treeNode) { TreeNode parentNode; t1 = new TreeNodeTraverser(_treeNode); parentNode =T1.next(); iterator = parentNode.AOTiterator(); parentNode = iterator.next(); while(parentNode) { t1 = new TreeNodeTraverser(parentNode); parentNode =T1.next(); iterator = parentNode.AOTiterator(); //MenuItemName=“AccountantElectronicAddressEdit_BR”; // info(strFmt("%1",parentNode.treeNodePath())); _Nodevalue1=“MenuItemType”; _Nodevalue=parentNode.AOTgetProperties(false,false,false); if(strContains(_Nodevalue,_Nodevalue1)==true) { if(parentNode.AOTgetProperty(“Menuitemname”)) { info(parentNode.AOTgetProperty(“Menuitemname”)); info(strFmt("%1",parentNode.treeNodePath())); } } parentNode = iterator.next(); } } ; treeNode = TreeNode::rootNode(); treeNodeTable = treeNode.AOTfindChild(‘Menus’); treeNodeTable = treeNodeTable.AOTfindChild(‘AccountsPayable’); while(treeNodeTable) { traverseFields(treeNodeTable); treeNodeTable = treeNodeTable.AOTnextSibling(); } } Thanks, Manas