ADF 11g - Search for node in a tree

I am currently working on ADF 11g. I have implemeted a hierarchical tree using a tree component. How do I implement search for a node in the tree?

You build the model yourself, so it should not be a problem to traverse the model in search for the right node.
Timo

Similar Messages

  • ADF 11g support for Internet Explorer 8 plus x

    hi
    Given the current situation for ADF 10g, see forum thread "ADF 10g support for Internet Explorer 8" ...
    at ADF 10g support for Internet Explorer 8
    ... I was wondering about the future browser support in ADF 11g.
    (Specifically about IE8 the knownissues.html document for JDeveloper and ADF 11g (11.1.1.1.0) currently says "Internet Explorer 8 is neither supported nor certified. If you must use IE8, set the compatibility view settings in your IE8 browser to ALL. In IE8, go to the Tools menu -> Compatibility View Settings and check the last checkbox "Display All Websites In Compatibility View"." and "... IE8 support should be in the upcoming first patch set. ..." Re: PanelStretchLayout on IE8.)
    question
    (q1) What is the life expectancy of applications built with ADF (Faces) 11g in regard to their future browser support?
    many thanks
    Jan Vervecken
    edit 20091001 : fixed link to knownissues.html

    Thanks for your reply Shay.
    We plan to officially support IE8 with the next patch release to JDeveloper 11g - currently planned for later this year.That matches what I wrote in my initial post in this forum thread about IE8 support.
    We usually only certify browsers after they officially go production.That does not really answer my question (q1) in this forum thread.
    It is more like, how can I assess that Oracle will support any successor(s) of IE8 or successor(s) of any currently supported browsers for ADF 11g applications in the future? How long will Oracle support "commonly used browsers" for an ADF 11g application I build today, so how long will I be able to use that application?
    How do I answer such questions for ADF 11g applications that should be deployed on the internet (where, as some extranet environments, you typically have not that much (or no) control over which browsers your users use ... although some would like to argue with that, see forum thread "ADF Faces RC browser support and browser market share")?
    (By the way, do you have any feedback for the forum thread "ADF 10g support for Internet Explorer 8"?)
    regards
    Jan

  • Searching for a certain  binary tree from another tree........

    I have been struggling for a tree search problem for a good while. Now I decide to ask you experts for a better solution :-).
    Given a binary tree A. We know that every Node of A has two pointers. Leaves of A can be tested by if(node.right = =node). Namely, The right pointer of every leaf node points to itself. (The left pointer points to the node sits on the left side of the leaf in the same depth. and the leafmost node points to the root. I do no think this information is important, am i right?).
    Tree B has a similar structure.
    The node used for both A and B.
    Node{
    Node left;
    Node right;
    My question is how to test if tree B is a subtree of A and if it is, returns the node in A that corresponds to the root of B. otherwise, return null.
    So, the method should look like:
    public Node search(Node rootOfA, Node rootOfB){
    I know a simple recursive fuction can do the job. The question is all about the effciency....
    I am wonderring if this is some kind of well-researched problem and if there has been a classical solution.
    Anyone knows of that? Any friend can give a sound solution?
    Thank you all in advance.
    Jason
    Message was edited by:
    since81

    I'm not too sure if this would help but there goes.
    I think a recursive function will be the easiest to implement (but not the most efficient). In terms of recursive function if you really want to add performance. You could implement your own stack and replace the recursive function with the use of this stack (since really the benefit of recursive function is that it manages its own stack). A non-recursive function with customized well implemented stack will be much more efficient but your code will become more ugly too (due to so many things to keep track of).
    Is tree B a separate instance of the binary tree? If yes then how can Tree B be a subset/subtree of tree A (since they are two separate "trees" or instances of the binary tree). If you wish to compare the data /object reference of Tree B's root node to that of Tree A's then the above method would be the most efficient according to my knowledge. You might have to use a Queue but I doubt it. Stack should be able to replace your recursive function to a better more efficient subroutine but you will have to manage using your own stack (as mentioned above). Your stack will behave similar to the recursive stack to keep track of the child/descendant/parent/root node and any other references that you may use otherwise.
    :)

  • Tooltiptext for nodes in a JTree

    Hi
    I have a Jtree in a scrollPane ,I want to set Tooltiptext for nodes in THE Tree only & when the part of the node is hidden while squizzing the Pane horrizontally .
    bye

    HI,
    you need a treeCellRenderer for that. Have a look in the swing tutorial.
    There are some examples.

  • Problem when selecting child node in Hierarchical Tree

    I have a hierarchical tree on a form populated thru a table query(form1). When I click on a child node, it opens form2 which contains a tab canvas. After closing forms, I return to the form1(containing Tree). At this point If I want to click on the same child node, I should be able to open form2 again. This doesn't happen.
    I have the following code in my When-Tree-node_selected trigger:
    Declare
    htree item;
    vnode_label varchar2(50);
    node_clicked FTREE.NODE;
    vnode_value number;
    vnode_depth number;
    v_type number;
    v_value varchar2(100);
    v_form_name varchar2(100);
    v_alert_return number;
    begin
    -- Find the tree itself.
    htree := FIND_ITEM('tree_block.tree');
    node_clicked := :SYSTEM.TRIGGER_NODE;
    vnode_value := FTREE.NODE_label;
    -- Find the value of the node clicked on.
    vnode_label := FTREE.GET_TREE_NODE_PROPERTY (htree,:SYSTEM.TRIGGER_NODE,FTREE.NODE_label);
    vnode_depth := to_number(ftree.get_tree_node_property(htree,:SYSTEM.TRIGGER_NODE,ftree.Node_depth));
    --Open form for node selected on tree and/or specific tab page
    if vnode_depth <> 1 then
    if :system.trigger_node_selected = 'TRUE' then CASE vnode_label
    WHEN 'Personal' then
    v_form_name :='HR_PERSONAL_INFO_UPDATE';
    WHEN 'Citizenship' then
    v_form_name :='HR_PERSONAL_INFO_UPDATE';
    WHEN 'Emergency Contact' then
    v_form_name :='HR_PERSONAL_INFO_UPDATE';
    if id_null(Find_form(v_form_name)) then
    open_form(:global.application_path || v_form_name,ACTIVATE,NO_SESSION,SHARE_LIBRARY_DATA);
    else
    go_form(v_form_name);
    end if;
    END IF;
    elsif vnode_depth = 1 then
    if :system.trigger_node_SELECTED = 'TRUE' then CASE vnode_label
    WHEN 'EMPLOYEE INFO' then
    v_form_name :='HR_PERSONAL_INFO_UPDATE';
    vnode_label := 'Personal';
    WHEN 'REPORTS' then
    v_form_name :='HR_REPORTS';
    vnode_label := '';
    if id_null(Find_form(v_form_name)) then
    v_form_name := :global.application_path || v_form_name;
    open_form(v_form_name,ACTIVATE,NO_SESSION,SHARE_LIBRARY_DATA);--,p_list);
    else
    go_form(v_form_name);
    end if;
    end if;
    end;
    Can anyone please help me? I don't want the user to double click. They should only click once.
    Thanks,
    Mercedes

    Right clicking does not change the current selection. The tree has no way to report what node was right clicked. Only work around is to left click the node you wish then right click it.
    --pat                                                                                                                                                                                                                                                                                                                                                                                                       

  • Do we have a preprocessor or interceptor layer in ADF 11g?

    Hi,
    I am working on JDev 11g and ADF 11g.
    For my project we have provided a login screen. Now I want the logged user to be authenticated and authorized.
    This has to be done through the tables/values available in database [oracle 10g] and NOT declaratively.
    For this, I want to have a preprocessor OR Interceptor layer that will do the required authentication and authorization. So now based on the output of this layer I will show the result to the user.
    Want to know
    1. How can this be achieved in ADF?
    2. What steps should I follow
    3. Are there any limitations that I need to be aware of?
    Thanks in advance.

    .. to add to the previous answer
    - you can authenticate users against a database infrastrcuture using WLS. User names and roles can be added to the privileges of the authenticated users this way. Using ADF Security, JAAS permissions are declaratively added to application roles, which are mapped to user roles. This way the framework does it all for you
    - if you want to implement custom security, no standard security, the you have various hookpoints to use
    1) PageLifecycle customization - checks on teh PageDef level in ADF if users are allowed to access this apge. For this you would need to know about the requires access permission and look it up in your database tables
    2) ServletFilter - handle the incoming request first and determine if the request is for a protected resources
    3) Task Flow initializer method / method call activity - check authorization on task flow entry
    4) PhaseListeners - similar to servlet, check the incoming request for authorized resource access
    5) Use managed beans and EL on pages to show/hide content
    As you see, using ADF Security is a lot easier to use than a hand crafted solution. However, its possible
    Please see the Fusion developer guide documentation for more infromation about lifecycle handling and customization
    Frank

  • Search for a node in a tree

    I have a standard APEX tree on a in the side bar region of a page. (using Oracle 10g APEX 3.1.0)
    The tree displays and functions just fine. The initial display of the tree is the first 2 levels.
    My users would like a search function of some sort that would expand the tree to only those levels that would match their search criteria.
    For example if I had the following tree
    Animals
    |-Mammals
    | |-Canines
    | | |-Dogs
    | | |-Wolves
    | | |-Foxes
    | |-Felines
    | | |-Cats
    | | |-Lions
    | | |-Tigers
    |-Birds
    | |-Raptors
    | |-Eagles
    and so forth
    and it was initially displayed
    Animals
    |-Mammals
    |-Birds
    |-Fish
    and so forth
    the user would like to search for Canines or Dogs or Raptors (only 1 criteria at a time) and have the tree expand to the proper branch/node.
    I would provide a Search Tree button to initiate the search (refresh the page).
    Anybody done this?
    Bob

    Hi Bob,
    Here is an example were this is possible
    http://www.oracle.com/technology/pub/articles/spendolini-tree.html
    Kind regards,
    Iloon

  • OBIEE 11g: Searching Subject Area for measure names in Answers

    Hello,
    I have installed OBIEE 11g SampleApp 825 and just exploring the provided set of dashboards.
    From the samples, I am performing following steps:
    - I selected Edit Dashboard (for 2.1 Simple Demo Dashboard)
    - For Column 2, in the Master Detail 1 Compound View, I did Edit Analysis
    - which took me into the Answers design interface with 4 tabs (Criteria, Results, Prompts, Adv).
    In the Criteria tab, there is the Subject Area pane on the left where it shows the Subject Area this Answers report is built on and a bunch of Folders like Time, Products, Base Facts etc.
    Beside the Subject Area pane, is the Selected Columns pane where you drop fields from the folders.
    This particular analysis (Product Line Analysis) has three columns: Revenue Analysis, Products Hierarchy and T05 Per Name Year.
    Now, I want to find the folder to which the Revenue Analysis measure belongs. So, I started expanding each node/folder in the Subject Area pane and visually searching for "Revenue Analysis"....cannot find it!
    How to determine which Subject Area folder a field on the Analysis belongs to? In Oracle Discoverer, only the Folders from which fields are selected are "enabled" so it's easy to navigate straight to that folder. Or again, in Discoverer, you can actually search for a particular field name and it will return all folders that have that field name pattern. While the Search feature on the top row is useful in finding which Analysis/Report match a string, it does not help in identifying relevant Subject Area Folder fields that match a pattern.
    Is something similar available in Answers/OBIEE 11g?
    Thanks,
    Manish
    Edited by: mhathi on Oct 21, 2010 8:53 AM

    Again answering part of my own question...It was staring me right in the eye and I couldn't see it:-)...When you have a column in the Selected Columns pane, it's source is right there above the field name. If there is no source folder listed, then it might mean it's a formula. For example in my case, the Products Hierarchy column has the word Product above it...that's the folder it belongs to.
    Good. But, the follow-on question still remains, how to search for folders containing a particular string, to find say all folders that have columns like %Margin%?
    Edited by: mhathi on Oct 21, 2010 9:27 AM

  • Stress test tool and guidelines for tuning ADF 11g

    Hi all,
    I am working our ADF 11g application on load & stress testing. The load test works fine with some millions of full dummy rows (this generated data tool is easily written by ourself). The tunning only was done with only indexing. But with stress I'm concerning with RAM and other tunning parameters such IO and share pool from OS to DB and to WL servers and how to tune it for around 200-300 concurrent connections. I'm studying Jmeter for this purpose but still not get the answer. I have tested with Oracle Openscript but it worked very heavily slow :(.
    The question here is that do you have any experiences on tuning parameters for such requirements and what is the best automatic test tool for testing multi-connections, please advise me.
    Thank you very much.

    Oracle Application Testing Suite has specific support for ADF testing:
    http://www.oracle.com/technetwork/oem/app-test/index.html
    http://www.testingreflections.com/node/view/8538
    Some info on JMeter: http://www.connotea.org/user/jdeveloper/tag/jmeter
    Another option: http://www.yenlo.nl/harryvanoosten/2010/03/10/load-testing-an-adf-11g-application/
    Some entries about tuning: http://www.connotea.org/user/jdeveloper/tag/tuning

  • DBMS based custom login module for ADF 11g on Web Logic Server (10.3.1.0)

    We have the requirement of creating a login page, wherein the authentication is performed against users records stored in a specific table in Oracle Database. The ADF 11g developer guide does not provide any example to accomplish the same. Though there are numerous examples of achieving the same using OC4J, but there is none available to achieve this on Web Logic Server. Do we have any documentation or information available on this?

    User,
    Have a search on the forum or check the WLS documentation. WLS has built-in authenticators for this that you can likely use.
    John

  • ADF 11g - Selecting a certain row for a Form

    First of all hello and my apologies if this issues has been discussed here before (tried searching for it for a while. maybe I don't understand the problem right?).
    Let me describe my context a bit : i got 2 tables, table2 contains an attribute(Index_Code) that is a Foreign Key for the attribute Index in Table1.
    I got an ADF:Table in a JSP page with Table2View source(read-only) and I would like to be able to select a row in the table and then move to another JSP page where I i have an ADF:Form (Table2View+Table1View). The problem for me is that the row for Table2View in the 2nd JSP page is not selecting correctly (it always selects the 1st entry and not the entry with the Index_Code that i want). I want to add that in the Data Controls tab if I expand Table1View , i have the appropiate Table2View inside of it. But if i expand the Table2View node I don't have Table1View inside of it.
    I'm pretty sure this is a very simple procedure, and I've been trying to google for a solution for 2 days now and I'm beggining to think it is such a simple solution that no one even bothers explaining it :). So i've posted this thread as my last resort.

    Hi Marius,
    It is not exactly clear for me what do you want but from your description I guess you have two View Objects : Table1View and Table2View and one View Link defining Table1View as master and Table2View as detail.
    So in DataControl palette it is logical that only Table1View node is expandable with Table2View inside. Now if you put Table1View to jspx page as master af:table and Table2View as a detail table the detail table will reflect to change of the row in master table. If you put Table2View as a af:table alone also to second jspx page the framework will remember which row you selected on the first page when you navigate to second one.
    regards,
    Branislav

  • How to extend  breadth first Search for Binary Tree to any kind of Tree??

    Dear Friends,
    I am thinking a problem, How to extend breadth first Search for Binary Tree to any kind of Tree?? ie each node has more than 2 leaves such as 1, 2,3,4 or any,
    I have following code to successfully apply for breadth first Search in Binary Tree as follows,
    package a.border;
    import java.util.ArrayList;
    import java.util.LinkedList;
    public class Tree
        int root;
        Tree left;
        Tree right;
        static ArrayList<Integer> list = new ArrayList<Integer>();
        static ArrayList<Tree> treeList = new ArrayList<Tree>();
        private static LinkedList<Tree> queue = new LinkedList<Tree>();
         * @param root root value
         * @param left left node
         * @param right right node
        public Tree(int root, Tree left, Tree right)
            this.root = root;
            this.left = left;
            this.right = right;
        /** Creates a new instance of Tree
         * You really should know what this does...
         * @param root
        public Tree(int root)
            this.root = root;
            this.left = null;
            this.right = null;
         * Simply runs a basic left then right traversal.
        public void basicTraversal()
            //Check if we can go left
            if (left != null)
                left.basicTraversal();
            //Add the root
            list.add(root);
            //Check if we can go right
            if (right != null)
                right.basicTraversal();
        public ArrayList<Integer> getBreadthTraversal(ArrayList<Integer> list)
            //Add the root to the arraylist, we know it is always the first entry.
            list.add(root);
            //Basically we add the first set of nodes into the queue for
            //traversing.
            //Query if left exists
            if (left != null)
                //Then add the node into the tree for traversing later
                queue.add(left);
            //Same for right
            if (right != null)
                queue.add(right);
            //Then we call the traverse method to do the rest of the work
            return traverse(list);
        private ArrayList<Integer> traverse(ArrayList<Integer> list)
            //Keep traversing until we run out of people
            while (!queue.isEmpty())
                Tree p = queue.remove();
                //Check if it has any subnodes
                if (p.left != null)
                    //Add the subnode to the back of the queue
                    queue.add(p.left);
                //Same for left
                if (p.right != null)
                    //Same here, no queue jumping!
                    queue.add(p.right);
                //Append to the ArrayList
                list.add(p.root);
            //And return
            return list;
         * Makes a tree and runs some operations
         * @param args
        public static void main(String[] args)
             *                             4
             *          t =           2       6
             *                      1   3    5   7
            Tree leaf6 = new Tree(1);
            Tree leaf7 = new Tree(3);
            Tree leaf8 = new Tree(5);
            Tree leaf9 = new Tree(7);
            Tree t4 = new Tree(2, leaf6, leaf7);
            Tree t5 = new Tree(6, leaf8, leaf9);
            Tree t = new Tree(4, t4, t5);
            t.basicTraversal();
            System.out.println("Here is basicTraversal ="+list.toString());
            list.clear();
            t.getBreadthTraversal(list);
            System.out.println("getBreadthTraversal= " +list.toString());
            list.clear();
        }Can Guru help how to update to any kind of tree??
    here this code is for the tree like:
             *                             4
             *          t =           2       6
             *                      1   3    5   7
             */But i hope the new code can handle tree like:
             *                             4
             *                           /   | \
             *                          /     |   \
             *          t =            2     8   6
             *                        / |  \    |    /| \
             *                      1 11  3 9   5 10  7
             */Thanks

    sunnymanman wrote:
    Dear Friends,
    I am thinking a problem, How to extend breadth first Search for Binary Tree to any kind of Tree?? ...The answer is interfaces.
    What do all trees have in common? And what do all nodes in trees have in common?
    At least these things:
    interface Tree<T> {
        Node<T> getRoot();
    interface Node<T> {
        T getData();
        List<Node<T>> getChildren();
    }Now write concrete classes implementing these interfaces. Let's start with a binary tree (nodes should have comparable items) and an n-tree:
    class BinaryTree<T extends Comparable<T>> implements Tree<T> {
        protected BTNode<T> root;
        public Node<T> getRoot() {
            return root;
    class BTNode<T> implements Node<T> {
        private T data;
        private Node<T> left, right;
        public List<Node<T>> getChildren() {
            List<Node<T>> children = new ArrayList<Node<T>>();
            children.add(left);
            children.add(right);
            return children;
        public T getData() {
            return data;
    class NTree<T> implements Tree<T> {
        private NTNode<T> root;
        public Node<T> getRoot() {
            return root;
    class NTNode<T> implements Node<T> {
        private T data;
        private List<Node<T>> children;
        public List<Node<T>> getChildren() {
            return children;
        public T getData() {
            return data;
    }Now with these classes, you can wite a more generic traversal class. Of course, every traversal class (breath first, depth first) will also have something in common: they return a "path" of nodes (if the 'goal' node/data is found). So, you can write an interface like this:
    interface Traverser<T> {
        List<Node<T>> traverse(T goal, Tree<T> tree);
    }And finally write an implementation for it:
    class BreathFirst<T> implements Traverser<T> {
        public List<Node<T>> traverse(T goal, Tree<T> tree) {
            Node<T> start = tree.getRoot();
            List<Node<T>> children = start.getChildren();
            // your algorithm here
            return null; // return your traversal
    }... which can be used to traverse any tree! Here's a small demo of how to use it:
    public class Test {
        public static void main(String[] args) {
            Tree<Integer> binTree = new BinaryTree<Integer>();
            // populate your binTree
            Tree<Integer> nTree = new NTree<Integer>();
            // populate your nTree
            Traverser<Integer> bfTraverser = new BreathFirst<Integer>();
            // Look for integer 6 in binTree
            System.out.println("bTree bfTraversal -> "+bfTraverser.traverse(6, binTree));
            // Look for integer 6 in nTree
            System.out.println("bTree bfTraversal -> "+bfTraverser.traverse(6, nTree));
    }Good luck!

  • How to get Text for nodes in Tree Structure

    Hi Friends,
    How to get Text for nodes in Tree Structure
    REPORT  YFIIN_REP_TREE_STRUCTURE  no standard page heading.
                       I N I T I A L I Z A T I O N
    INITIALIZATION.
    AUTHORITY-CHECK OBJECT 'ZPRCHK_NEW' :
                      ID 'YFIINICD' FIELD SY-TCODE.
      IF SY-SUBRC NE 0.
        MESSAGE I000(yFI02) with SY-TCODE .
        LEAVE PROGRAM.
      ENDIF.
    class screen_init definition create private.
    Public section
      public section.
        class-methods init_screen.
        methods constructor.
    Private section
      private section.
        data: container1 type ref to cl_gui_custom_container,
              container2 type ref to cl_gui_custom_container,
              tree type ref to cl_gui_simple_tree.
        methods: fill_tree.
    endclass.
    Class for Handling Events
    class screen_handler definition.
    Public section
      public section.
        methods: constructor importing container
                   type ref to cl_gui_custom_container,
                 handle_node_double_click
                   for event node_double_click
                   of cl_gui_simple_tree
                   importing node_key .
    Private section
      private section.
    endclass.
    *&                        Classes implementation
    class screen_init implementation.
    *&                        Method INIT_SCREEN
      method init_screen.
        data screen type ref to screen_init.
        create object screen.
      endmethod.
    *&                        Method CONSTRUCTOR
      method constructor.
        data: events type cntl_simple_events,
              event like line of events,
              event_handler type ref to screen_handler.
        create object: container1 exporting container_name = 'CUSTOM_1',
                       tree exporting parent = container1
                         node_selection_mode =
                cl_gui_simple_tree=>node_sel_mode_multiple.
        create object: container2 exporting container_name = 'CUSTOM_2',
        event_handler exporting container = container2.
    event-eventid = cl_gui_simple_tree=>eventid_node_double_click.
        event-appl_event = ' '.   "system event, does not trigger PAI
        append event to events.
        call method tree->set_registered_events
             exporting events = events.
        set handler event_handler->handle_node_double_click for tree.
         call method: me->fill_tree.
      endmethod.
    *&                        Method FILL_TREE
      method fill_tree.
        data: node_table type table of abdemonode,
              node type abdemonode.
    types:    begin of tree_node,
              folder(50) type c,
              tcode(60) type c,
              tcode1(60) type c,
              tcode2(60) type c,
              text(60) type c,
              text1(60) type c,
              text2(60) type c,
              end of tree_node.
      data:  wa_tree_node type tree_node,
                t_tree_node type table of tree_node.
    wa_tree_node-folder = text-001.
    wa_tree_node-tcode  = text-002.
    wa_tree_node-text =  'Creditors ageing'.
    wa_tree_node-tcode1 = text-003.
    wa_tree_node-text1 =  'GR/IR aging'.
    wa_tree_node-tcode2 = text-004.
    wa_tree_node-text2 =  'Bank Balance'.
    append wa_tree_node to t_tree_node.
    clear wa_tree_node .
    wa_tree_node-folder = text-005.
    wa_tree_node-tcode  = text-006.
    wa_tree_node-text =  'Creditors ageing'.
    wa_tree_node-tcode1 = text-007.
    wa_tree_node-text1 =  'Creditors ageing'.
    wa_tree_node-tcode2 = text-008.
    wa_tree_node-text2 =  'Creditors ageing'.
    append wa_tree_node to t_tree_node.
    clear wa_tree_node .
    wa_tree_node-folder = text-009.
    wa_tree_node-tcode  = text-010.
    wa_tree_node-text =  'Creditors ageing'.
    wa_tree_node-tcode1 = text-011.
    wa_tree_node-text1 =  'Creditors ageing'.
    wa_tree_node-tcode2 = text-012.
    wa_tree_node-text2 =  'Creditors ageing'.
    append wa_tree_node to t_tree_node.
    clear wa_tree_node .
    node-hidden = ' '.                 " All nodes are visible,
        node-disabled = ' '.               " selectable,
        node-isfolder = 'X'.                                    " a folder,
        node-expander = ' '.               " have no '+' sign forexpansion.
        loop at t_tree_node into wa_tree_node.
          at new folder.
            node-isfolder = 'X'.                      " a folder,
            node-node_key = wa_tree_node-folder.
                   clear node-relatkey.
            clear node-relatship.
            node-text = wa_tree_node-folder.
            node-n_image =   ' '.
            node-exp_image = ' '.
            append node to node_table.
          endat.
         at new tcode .
            node-isfolder = ' '.                          " a folder,
            node-n_image =   '@CS@'.       "AV is the internal code
            node-exp_image = '@CS@'.       "for an airplane icon
            node-node_key = wa_tree_node-tcode.
             node-text = wa_tree_node-text .
                     node-relatkey = wa_tree_node-folder.
            node-relatship = cl_gui_simple_tree=>relat_last_child.
          endat.
          append node to node_table.
        at new tcode1 .
            node-isfolder = ' '.                          " a folder,
            node-n_image =   '@CS@'.       "AV is the internal code
            node-exp_image = '@CS@'.       "for an airplane icon
            node-node_key = wa_tree_node-tcode1.
                     node-relatkey = wa_tree_node-folder.
            node-relatship = cl_gui_simple_tree=>relat_last_child.
              node-text = wa_tree_node-text1.
         endat.
          append node to node_table.
           at new tcode2 .
            node-isfolder = ' '.                          " a folder,
            node-n_image =   '@CS@'.       "AV is the internal code
            node-exp_image = '@CS@'.       "for an airplane icon
            node-node_key = wa_tree_node-tcode2.
                     node-relatkey = wa_tree_node-folder.
            node-relatship = cl_gui_simple_tree=>relat_last_child.
            node-text = wa_tree_node-text2.
         endat.
          append node to node_table.
        endloop.
        call method tree->add_nodes
             exporting table_structure_name = 'ABDEMONODE'
                       node_table = node_table.
      endmethod.
    endclass.
    *&                        Class implementation
    class screen_handler implementation.
    *&                        Method CONSTRUCTOR
      method constructor.
       create object: HTML_VIEWER exporting PARENT = CONTAINER,
                      LIST_VIEWER exporting I_PARENT = CONTAINER.
      endmethod.
    *&                 Method HANDLE_NODE_DOUBLE_CLICK
      method handle_node_double_click.
      case node_key(12).
    when 'Creditors'.
    submit YFIIN_REP_CREADITORS_AGING  via selection-screen and return.
    when  'Vendor'.
    submit YFIIN_REP_VENDOR_OUTSTANDING  via selection-screen and return.
    when 'Customer'.
    submit YFIIN_REP_CUSTOMER_OUTSTANDING  via selection-screen and
    return.
    when 'GR/IR'.
    submit YFIIN_REP_GRIR_AGING  via selection-screen and return.
    when 'Acc_Doc_List'.
    submit YFIIN_REP_ACCOUNTINGDOCLIST  via selection-screen and return.
    when 'Bank Bal'.
    submit YFIIN_REP_BANKBALANCE  via selection-screen and return.
    when 'Ven_Cus_Dtl'.
    submit YFIIN_REP_VENDORCUST_DETAIL via selection-screen and return.
    when 'G/L_Open_Bal'.
    submit YFIIN_REP_OPENINGBALANCE via selection-screen and return.
    when 'Usr_Authn'.
    submit YFIIN_REP_USERAUTHRIZATION via selection-screen and return.
    endcase.
      endmethod.
    endclass.
    Program execution ************************************************
    load-of-program.
      call screen 9001.
    at selection-screen.
    Dialog Modules PBO
    *&      Module  STATUS_9001  OUTPUT
          text
    module status_9001 output.
      set pf-status 'SCREEN_9001'.
      set titlebar 'TIT_9001'.
      call method screen_init=>init_screen.
    endmodule.                 " STATUS_9001  OUTPUT
    Dialog Modules PAI
    *&      Module  USER_COMMAND_9001  INPUT
          text
    module user_command_9001 input.
    endmodule.                 " USER_COMMAND_9001  INPUT
    *&      Module  exit_9001  INPUT
          text
    module exit_9001 input.
    case sy-ucomm.
    when 'EXIT'.
      set screen 0.
    endcase.
    endmodule.
            exit_9001  INPUT

    you can read  the table node_table with nody key value which imports when docubble click the the tree node (Double clifk event).
    Regards,
    Gopi .
    Reward points if helpfull.

  • Applescript Help: Search for text in Safari DOM tree

    Im trying to make a script really similar what was asked here: Re: Find text in webpage and email notification applescript/automator Except instead of searching the "source code" of the page, I want the script to search the "DOM tree" for the page.
    To summarize, I am trying to make a script that loads a safari page, searches for a particular text in the DOM Tree, and if found will send me an email.
    Here is the code from the other thread I referenced:
    on idle
              set pagURL to "http://page.url.com?whatever"
              if application "Safari" is not running then
                        quit
                        return
              end if
              tell application "Safari"
                        set URL of document 1 of window 1 to "http://your.web.address/"
                        delay 5
      -- delay to let page load.
                        if source of document 1 of window 1 contains "search text" then
                                  my sendAMail()
                        end if
                        return 900 --fifteen minutes
              end tell
    end idle
    on sendAMail()
              tell application "Mail"
                        set theMess to make new outgoing message at end with properties {sender:"your name", subject:"some subject line", content:"The message you want to send to yourself", visible:true}
                        tell theMess
                                   make new to recipient at end of to recipients with properties {address:"[email protected]"}
                        end tell
      -- send theMess
              end tell
    end sendAMail
    Any help would be appreciated!

    For the URL you quote as an example (http://www.sislands.com/coin70/week2/NestedLoops1.htm), using text instead of source worked for me:
    if text of document 1 of window 1 contains "1  2  3  4" then
    another example:
    if text of document 1 of window 1 contains "10 12 14 16" then
    Note a double space between single digits (1  2  3  4) and a single space between double digits (10 12 14 16) is required for a match as per the table format:
    Any full line:
    if text of document 1 of window 1 contains "for (i = 1; i <= 10; i++) { // when i = 10" then
    or partial line works:
    if text of document 1 of window 1 contains "; i++) { // when i = 10" then

  • How to search for a text node with a particular value in an xml document with labview

    supposing i have the following xml document:
    <head>
    <book>
    <bookname>zio</bookname>
    <author>dan</author>
    </book>
    <book>
    <bookname>the spear warrior</bookname>
    <author>britney</author>
    </book>
    <book>
    <bookname>the beard</bookname>
    <author>derrick</author>
    </book>
    </head>
    i want to search for the author of the book "the beard" using for example the V.I Get first match  of labview to access the the node with value "the beard" and then use Get next sibling  V.I  and Get node text content to get get the author of this book..so my question is how do i write the xpath expression for Get first match so as to access the node with bookname "the beard" instantyly?  am trying to minimise the use of loops because they increase the time duration,..thank you (NB:i dont want to use Get all Matched V.I because it obliges me to use a loop in order to access the name derrick and this increases the time duration for my v.i)
    Solved!
    Go to Solution.

    Since it's all text, why not use a real quick Match Pattern (or Regular Expression, but you don't need that much power here), see attached.
    Cameron
    To err is human, but to really foul it up requires a computer.
    The optimist believes we are in the best of all possible worlds - the pessimist fears this is true.
    Profanity is the one language all programmers know best.
    An expert is someone who has made all the possible mistakes.
    To learn something about LabVIEW at no extra cost, work the online LabVIEW tutorial(s):
    LabVIEW Unit 1 - Getting Started
    Learn to Use LabVIEW with MyDAQ
    Attachments:
    Two-stage match demo.vi ‏8 KB

Maybe you are looking for

  • Exchange 2007 not accepting my password

    I am having problems setting up Mail.app to connect to Exchange 2007, everytime i logon it says that Exchange has rejected my password. I am fairly sure that autodiscover is turned on as when i type in my email address it finds the server and setting

  • Server-Services property called Web Services Listener in Enterprise Server

    I am trying to find out the Server-Services property called Web Services Listener Port inside the Enterprise Server web console..but I cannot find it.. In the BPM manuals it is given that:- When using FuegoBPM Enterprise Server, the Port is defined i

  • Control Timeline and FLV Together

    HI, Where can I find ready-made buttons that will control an FLV and a timeline together? I have a swf with an FLV and I animate images and phrases on a movieClip timeline timed to what they say in the flv. I set up cuepoints that trigger the animati

  • None of my devices "eligible for the requested build."

    Hi. I am running iTunes 10.2.2 on MacBook Pro w/ 10.6.7 I have been trying to update my iPad 2 and my son's two iPod Touches (4g) to 4.3.3 and keep getting the error message that "The iPad "MyPad" could not be updated. This device isn't eligible for

  • Pages won't sync between computers in iCloud drive

    Since I upgraded to iCloud Drive, I can't get my documents to sync between my laptop and desktop. Before I upgraded, I could write on the laptop and it would sync with the desktop and vid-versa. I upgraded to Yosemite thinking this would solve the pr