Forms 6 hierarchical Tree

I would like to Know concept of Hierarchical Tree of forms 6i. What query should be written in the record group to populate the tree and how to implement hierarchical tree to make the form act like Windows Explorer .
Thank You.

Read the documentation. Here is a sample query to load the record group.
PROCEDURE prc_populate_record_group
IS
CURSOR g IS
SELECT groupnum,
groupnm
FROM merch_group
ORDER BY groupnm;
CURSOR c (l_groupnum NUMBER) IS
SELECT categorynum,
categorynm
FROM merch_group_category
WHERE groupnum = l_groupnum
ORDER BY categorynm;
i NUMBER;
l_rg_id RECORDGROUP;
l_init_state GROUPCOLUMN;
l_level GROUPCOLUMN;
l_label GROUPCOLUMN;
l_icon GROUPCOLUMN;
l_value GROUPCOLUMN;
l_node ftree.node;
l_next_node ftree.node;
l_tree_item ITEM;
BEGIN
l_rg_id := FIND_GROUP('PRC_GROUP_CAT');
IF NOT ID_NULL(l_rg_id)
THEN
DELETE_GROUP(l_rg_id);
END IF;
l_rg_id := CREATE_GROUP('PRC_GROUP_CAT');
l_init_state := ADD_GROUP_COLUMN(l_rg_id, 'init_state', NUMBER_COLUMN);
l_level := ADD_GROUP_COLUMN(l_rg_id, 'level', NUMBER_COLUMN);
l_label := ADD_GROUP_COLUMN(l_rg_id, 'label', CHAR_COLUMN, 40);
l_icon := ADD_GROUP_COLUMN(l_rg_id, 'icon', CHAR_COLUMN, 20);
l_value := ADD_GROUP_COLUMN(l_rg_id, 'value', CHAR_COLUMN, 40);
i := 1;
FOR g_rec IN g
LOOP
ADD_GROUP_ROW (l_rg_id, i);
SET_GROUP_NUMBER_CELL(l_init_state, i, -1);
SET_GROUP_NUMBER_CELL(l_level, i, 1);
SET_GROUP_CHAR_CELL(l_label, i, g_rec.groupnm| |' - '| |g_rec.groupnum);
SET_GROUP_CHAR_CELL(l_icon, i, NULL);
SET_GROUP_CHAR_CELL(l_value, i, g_rec.groupnum);
i := i + 1;
FOR c_rec IN c (g_rec.groupnum)
LOOP
ADD_GROUP_ROW (l_rg_id, i);
SET_GROUP_NUMBER_CELL(l_init_state, i, -1);
SET_GROUP_NUMBER_CELL(l_level, i, 3);
SET_GROUP_CHAR_CELL(l_label, i, c_rec.categorynm| |' - '| |c_rec.categorynum);
SET_GROUP_CHAR_CELL(l_icon, i, NULL);
SET_GROUP_CHAR_CELL(l_value, i, c_rec.categorynum);
i := i + 1;
END LOOP;
END LOOP;
--Find the tree
l_tree_item := find_item('CONTROL.TREE4');
-- Assign record group to item causing the data to display
ftree.set_tree_property(l_tree_item, ftree.record_group, l_rg_id);
-- Find the root node of the tree
l_node := ftree.find_tree_node(l_tree_item, '');
END;
null

Similar Messages

  • Connect by prior working in sql but not in forms 10g hierarchical tree

    Hello Friends,
    I have the following connect by prior example which is working in sql command prompt but not in Forms 10g hierarchical tree item type. Can you please let me know why ?
    configuration: Forms 10g patchset 10.1.2.0.2 and oracle 11g database on windows 7
    SQL> SELECT 1 InitialState,
    2 level Depth,
    3 labeller NodeLabel,
    4 NULL NodeIcon,
    5 to_char(reportno) NodeValue
    6 FROM reports where formname = 'billinin.fmx' or reportno > 9999
    7 start with reportno > 9999
    8 CONNECT BY PRIOR reportno = labelno
    9 /
    INITIALSTATE DEPTH NODELABEL N NODEVALUE
    1 1 FIRST 10000
    1 2 report1 UD Label 1
    1 2 report2 UD Label 2
    1 2 report3 UD Label 3
    1 1 SECOND 10001
    1 1 THIRD 10002
    If I write this command in forms hierarchical tree, then it is working, why not the above code ?
    SQL> SELECT 1 InitialState,
    2 level Depth,
    3 labeller NodeLabel,
    4 NULL NodeIcon,
    5 to_char(reportno) NodeValue
    6 FROM reports
    7 start with reportno > 9999
    8 CONNECT BY PRIOR reportno = labelno

    Thanks Room,
    This command worked ! I will put the sample working code here. It will help you to filter the records in a tree in sql command prompt as well as in forms hierarchical tree 10g.
    SELECT 1 InitialState,
    level Depth,
    labeller NodeLabel,
    NULL NodeIcon,
    to_char(reportno) NodeValue
    FROM reports
    start with reportno > 9999
    CONNECT BY PRIOR reportno = labelno
    AND FORMNAME = :reports.testitem

  • How to go to a particular node in a hierarchical tree?

    I want to do this simple thing with a Forms hierarchical tree.
    Since tree has lots of levels and branches I want to give a search box.
    User types the label and press a button. The form then has to query the tree node and expand ONLY the path where the node is (if found) and highlight it. If a node with a label is NOT found I give an error message to the user.
    I got hold of a code segment to explode a tree and modified it, but it does not work. The entire tree is expanded and you don't know where you are.
    Any help will be greatly appreciated?
    PROCEDURE Expand_All_Nodes_in_Tree IS
         node ftree.node;
         htree ITEM;
         state varchar2(30);
    BEGIN
         -- Search the tree identifiant --
         htree := Find_Item('menu.tree');
         -- Search the root --
         node := Ftree.Find_Tree_Node(htree, '');
         -- Expand all nodes --
         WHILE NOT Ftree.ID_NULL(node) LOOP
         state := Ftree.Get_Tree_Node_Property(htree, node, Ftree.NODE_STATE);
         IF state = Ftree.COLLAPSED_NODE THEN
         Ftree.Set_Tree_Node_Property(htree, node, Ftree.NODE_STATE, Ftree.EXPANDED_NODE);
         END IF;
         node := Ftree.Find_Tree_Node(htree, '', ftree.find_NEXT,Ftree.NODE_LABEL,'', node);
    IF Ftree.Get_Tree_Node_Property(htree, node, Ftree.NODE_LABEL) = :ctrl.node_lable_to_search THEN
    EXIT;
    END IF;     
         END LOOP;
    END;

    Hi Channa,
    Try this code with you tree i am using the same situation and this code is working perfect with me.
    PROCEDURE find_node_in_tree(search_string varchar2, find_type varchar2) IS
    htree ITEM;
    search_start_node ftree.node;
    find_node ftree.node;
    BEGIN
    htree := Find_Item('blk_tree.main_tree');
         search_start_node := nvl(ftree.get_tree_selection(htree,1),ftree.root_node);
         find_node := ftree.find_tree_node(htree,upper(search_string)||'%',ftree.find_next,ftree.node_label,ftree.root_node,search_start_node-1);
         if find_node = 0 then
              find_node := 1;
    end if;
    Ftree.Set_Tree_selection(htree, find_node, Ftree.SELECT_ON);
    exception
         when others then
              NULL;
    END;
    -Ammad

  • Add checkbox on the nodes of Hierarchical tree in oracle forms 9i

    Hi,
    I am working on oracle forms 9i.I have to add checkbox at the place of node(+/-) in Hierarchical tree so,
    that user can select or deselect the Tree.That can do in oracle forms but how i don't know.
    can anybody help me.....
    Regards,
    Hemant

    You can't change this aspect of the Tree Control in Oracle Forms using built-in functionality. You might be able to extend the Tree Control using Java, but you have to do this yourself. : (
    Craig...

  • Make an hierarchical Tree in oracle Forms 6i

    Hi everybody,
    I want to make an hierarchical tree. I work in Forms 6i
    I create one non database block e.g. 'Bloc2' then
    add hierarchical control item in that. e.g 'Menu'.
    I create a record group named 'RG_DATA_TEST'
    Before I use a table in this record_group.
    I want a tree as this :
    - Menu1
    Menu1 option1
    Menu1 option2
    - Menu1 option3
    Menu option3 Sub opt 3
    + Menu2
    the table 'Menu_tree' is described' :
    CREATE TABLE MENU_tree
    ID NUMBER(5),
    LABEL VARCHAR2(128 BYTE),
    ICON VARCHAR2(40 BYTE),
    MASTER NUMBER(5),
    STATUS NUMBER(1) DEFAULT 1,
    VALUE VARCHAR2(128 BYTE)
    Here the data in the table :
    INSERT INTO MENU_tree ( ID, LABEL, ICON, MASTER, STATUS, VALUE ) VALUES (1, 'Menu1', 'mainmenu', NULL, 1, NULL);
    INSERT INTO MENU_tree ( ID, LABEL, ICON, MASTER, STATUS, VALUE ) VALUES (
    2, 'Menu1 Option 1', 'optionmenu', 1, 1, 'Dialog11');
    INSERT INTO MENU_tree ( ID, LABEL, ICON, MASTER, STATUS, VALUE ) VALUES ( 3, 'Menu1 Option 2', 'optionmenu', 1, 1, dialog12');
    INSERT INTO MENU_tree ( ID, LABEL, ICON, MASTER, STATUS, VALUE ) VALUES (4, 'Menu1 Option 3', 'optionmenu', 1, 1, NULL);
    INSERT INTO MENU_tree ( ID, LABEL, ICON, MASTER, STATUS, VALUE ) VALUES ( 5, 'Menu1 Opt 3 Sub Opt 3', 'suboptionmenu', 4, 1, 'Dialog131');
    INSERT INTO MENU_tree ( ID, LABEL, ICON, MASTER, STATUS, VALUE ) VALUES ( 6, 'Menu2', 'mainmenu', NULL, -1, NULL);
    INSERT INTO MENU_tree ( ID, LABEL, ICON, MASTER, STATUS, VALUE ) VALUES ( 7, 'Menu2 Option1', 'optionmenu', 6, 1,'Dialog21');
    The record_group use this instruction SELECT :
    SELECT STATUS, LEVEL, LABEL, ICON, VALUE
    FROM MENU_tree
    CONNECT BY PRIOR ID = MASTER
    START WITH MASTER IS NULL
    And At the trigger When_new_form_instance , i do this code :
    DECLARE
    htree ITEM;
    V_IGNORE number;
    BEGIN
    HTREE := FIND_ITEM('BLOC2.MENU');
    V_IGNORE := POPULATE_GROUP('RG_DATA_TEST');
    FTREE.POPULATE_TREE(htree);
    END;
    When i run the forms, It don't give me a structure of node.
    It give me only a icon with two arrows.
    Where is the problem ?
    Must I add code somewhere ?
    Help me for your ideas.
    Regards.
    Edited by: 794982 on 17 sept. 2010 04:55
    Edited by: 794982 on 17 sept. 2010 05:01
    Edited by: 794982 on 17 sept. 2010 05:04
    Edited by: 794982 on 17 sept. 2010 05:06
    Edited by: 794982 on 17 sept. 2010 05:13
    Edited by: 794982 on 17 sept. 2010 05:19
    Edited by: 794982 on 17 sept. 2010 05:23

    Ok Francois Thanks for your response.
    Just I pricise i work with oracle forms version 9.0.4.0.19 .
    But I am putting this code in trigger When_New_form_Instance but it didn't work.
    When I execute it just shows a line with two arrows but not a real tree.
    Then I do a block-non based and a elemnt with type hierarticall tree and a canevas.
    and i create a record_group. and in a palette property of the element i precise the canevas and the record_group
    I don't khnow where is the problem ?
    Any other suggestion ? please
    Regards.

  • Hierarchal tree in FORMS

    Hi,
    I have a hierarchal tree table that I want to represent using forms (insert and update data in the tree table).
    Are there any LINKS or documentation that can help me with my little project :-)
    Thanks,
    Marc.

    The help file has a fairly detailed description of how to manipulate the tree control.
    Provided you have a table that can do this I would do "connect by prior" and "start with" SQL statement and use the pseudo column called "level" to determine when to create a new sub tree and when to end it.

  • Hierarchical tree - Data Entry Form

    I am trying to make a data entry form for hierarchical tree. Any one help me to send a sample .fmb file.
    I created a table like
    create table master_ACTIVITY
    (INITIAL_LEVEL NUMBER (4) ,
    NODE_DEPTH NUMBER (4) ,
    NODE_LABEL VARCHAR2(160) ,
    NODE_ICON VARCHAR2(60) ,
    NODE_DATA VARCHAR2(160) ,
    NODE_PARENT VARCHAR2(160)
    1. How do i use hierarchical tree for adding and deleting item into it.
    2. In my other form i use the item from hierarchical tree. so how to get the return value of the selected item in a hierarchical tree. and which of filed in this table i need in other forms to connect to this table and get values.
    please send a sample form to [email protected]
    thank you
    saji daniel

    Andreas,
    It got worked.
    I have another problem now. I have 2000 records in my tree. when i populate it is taking time to populate.
    I want to display only parent trees ie Level 1 & 2 Items. But the Level 1 & 2 should have '+' symbol to display.
    When the user click on any items in level 2, only then the child of the selected parent should populate.
    By default all the items are displayed in collapsed mode (-1). But still it take time to populate.
    Any solution ?.

  • Hierarchical tree not showing up while running the form

    Hi Gurus,
    I have a problem while running forms in 10g AS.
    The hierarchical tree control is showing up when I run the form in my local development (win xp) system. But, when I run the same form through my 10g Application server(linux), the hierarchical tree control is not showing up.
    Can anyone suggest some solutions ?
    Thanks in advance.
    Sundar K

    Hi Andreas,
    Thanks for the reply.
    The form shows a blank square-box, instead hiearchical tree. I can see other controls like text-box, LOV, command button on the same form.
    The java console shows,
    Downloading http://test.abits.com:7778/forms/java/frmall_jinit.jar to JAR cache
    Downloading http://test.abits.com:7778/forms/java/f60tree.jar to JAR cache
    proxyHost=null
    proxyPort=0
    connectMode=HTTP, native.
    Forms Applet version is : 10.1.2.0
    The problem persist, even though I change the appsweb.cfg file to use frmall.jar instead of frmall_jinit.jar.
    I'm using 10g application server (iAS 10.1.2.0.2).
    Kindly advise. Thanks in advance.
    Sundar K

  • Forms Builder-hierarchical tree(expanding and collapsing nodes)

    hi friends,
    can anyone help me with populating my hierarchical tree form by using codes for collapsing and expanding?
    for instance when_button_pressed:
    tree_control.expand_all(tree_control.v_item_name); //this is for expanding all the nodes in the tree structure
    well, i have an sql statement in my record group which in turn defines the structure of the hierarchical tree.
    Is it possible to just use the codes 'tree_control.expand_all(tree_control.v_item_name);' like that in the when-button-pressed trigger?
    Thanks for any help :)

    Hi
    can anyone help me with populating my hierarchical tree form by using codes for collapsing and expanding?
    Pls have a look here ....
    Hope this helps...
    Regards,
    Amatu Allah.

  • Hierarchical Tree -- Forms 6i

    Forms 6i patchset 18 c/s
    I am having am issue with hierarchical tree misbehaving itself once the nodes get greater than 1600 or so.
    The tree graphics get malformed and the vertical scrollbar, even when scrolled all the way down will not let you see all of the nodes.
    1) does anyone know of a node limit in 6i or a workaround?
    I did check Forms 11gR2 by recompiling my form in 11gR2 and everything behaves fine, so I know the issue has either been fixed or is only an issue on c/s versions of forms.
    Thanks,
    Chris

    I am having am issue with hierarchical tree misbehaving itself once the nodes get greater than 1600 or so.Well, I'm sure you will admit that 1600 nodes is a lot of nodes! Forms 6i was de-supported a long time ago and as I recall, patchset 18 was the last released patch for Forms 6i (I could be wrong - it's been a while since I worked with Forms 6i so I could be wrong). The fact that you have the "latest" patchset available for Forms 6i suggests you have a support agreement with Oracle. If this assumption is correct, you could check My Oracle Support (MOS) to see if there were any one-off patches released after Patchset 18 and try them to see if they fix the issue.
    If there are no one-offs or smaller patches after Patchset 18 then you will likely need to look into ways to alter how you display nodes to reduce the number of nodes or possibily upgrade to a supported version of Forms (Forms 11g R2).
    Craig...

  • Creating a Hierarchical Tree in Forma 6i

    Hi Gurus,
    We are using forms 6i and oracle 9i. In oracle forms i have one control block and another control block. When we click on one column repname ,the other control block displays the
    corresponding info for the sales rep name. eg. Lets say i pick John the salesrep in the other
    control block it displays its code,geography region etc.
    I want to create a hierarchical tree in the other block where it is displaying the salesrep info.
    So i want when i click on the sales rep name(the other control block measure)
    then it should the code,geography region etc in the form of hierarchical tree in the other control
    block. If the sales rep name is not clicked then the control block having the salesrep info should be hidden.
    I would appreciate your help.
    Thanks,
    PSO

    place your treeitem in the layout. The treeitem has to the only item in the block and property "Single record" has to be true.
    To populate your tree with data you can either
    - use a query to populate a treeitem have a look at this thread Tree Menu
    - use the Ftree.Add_Tree_Node built-in and program your own logic.

  • Hierarchical trees in forms

    in my oracle forms application i'm working with hierarchical
    trees; every time the tree displays all the nodes are expanded,
    but i want all of them to be collapsed, i tried to set the
    properties of the tree with ftree.collapsed_node, but i only got
    an error message that i didn't select any node.
    Can somebody help me?
    null

    Dear Friend,
    Try this piece of code this will solve your problem
    tree_item:=find_item('your tree item');
    find_node:=ftree.find_tree_node(tree_item,'your_Node_name',
    ftree.find_next,ftree.node_label,
    ftree.root_node,ftree.root_node);
    ftree.SET_TREE_NODE_PROPERTY
    (tree_item,find_node,ftree.node_state,ftree.collapsed_node);
    do the neccessary changes and apply
    bye
    Vishnu Vadla
    null

  • Hierarchical tree in web forms 10g - form freezing

    I have an application with an hierarchical tree on one of the forms - the application worked fine as client/server back in forms 6 but now that it is web enabled in 10g there are problems with the tree causing the form to freeze, then the entire application has to be closed. It doesn't seem to matter if you are selecting a node or creating a new node both have caused the form to freeze. It doesn't happen all of the time but it seems that the longer the application has been in use the more it starts to freeze. Any ideas? Is there a known problem with trees in web forms? Thanks
    Joanne

    At the root of my tree is a patient (I work in the health care industry) and then for that patient there are clinic visits, surgeries, etc (there are 16 nodes at this level). and under each of these are dates when the visits occured (there can be an unlimited number of nodes at this level). This is some of my code for populating the tree:
    if :GLOBAL.patient_seq is not null then
    -- turn the tree on
    set_item_property('tree_block.tree_item', ENABLED, PROPERTY_TRUE);     
    set_item_property('tree_block.tree_item', NAVIGABLE, PROPERTY_TRUE);          
    lv_tree_id := find_item('TREE_BLOCK.TREE_ITEM');     
    --refresh the tree back to it's original state from the database                          
    Ftree.Set_Tree_Property(lv_tree_id,
         Ftree.RECORD_GROUP,
         FIND_GROUP('TREE_GROUP'));
    -- create the clinic visits branch
    wcchn_tree_items_pkg.get_visits(lv_visit_table, :global.patient_seq);
    for lv_counter in 1.. lv_visit_table.count loop
    lv_site := wcchn_locations_pkg.get_location_code(lv_visit_table(lv_counter).site);
    create_visit_node( lv_visit_table(lv_counter).visit_date || ' - ' || lv_site,
         lv_tree_id,
    lv_visit_table(lv_counter).seq_nr);
    end loop;
    Below is the procedure referred to in the above segment of code:
    PROCEDURE CREATE_VISIT_NODE (pi_date IN VARCHAR2, pi_tree_id IN ITEM, pi_seq IN NUMBER) IS
    lv_return_value NUMBER;
    lv_node_value varchar2(100);
    lv_search_node FTREE.node;
    BEGIN
    lv_search_node:=FTREE.Find_Tree_Node(pi_tree_id,                              'CLINIC VISITS',                         FTREE.FIND_NEXT,                         FTREE.NODE_LABEL,                         FTREE.ROOT_NODE,                         FTREE.ROOT_NODE);
    lv_node_value:='G' || to_char(pi_seq);
    if :GLOBAL.ACTION_INDICATOR = 'INSERT' then
              lv_return_value:=FTREE.Add_Tree_Node(pi_tree_id,                    lv_search_node,                         FTREE.PARENT_OFFSET,                          1,                                    FTREE.LEAF_NODE,                          pi_date,                                   NULL,                                    lv_node_value);
    else
              lv_return_value:=FTREE.Add_Tree_Node(pi_tree_id,                              lv_search_node,                          FTREE.PARENT_OFFSET,                          FTREE.LAST_CHILD,                          FTREE.LEAF_NODE,                          pi_date,                                   NULL,                                    lv_node_value);
    end if;
         FTREE.Set_Tree_Node_Property(pi_tree_id,                              lv_search_node,                              FTREE.NODE_STATE,                         FTREE.EXPANDED_NODE);
    END;

  • How to call forms using Hierarchical Tree in Forms 10g?

    I know how to call forms from menu that attached to a top form.
    I would like to call forms using Hierarchical Tree. Does any one know how where I can find some instructions on using Hierarcical Tree to call other forms? Any discussion is welcome. Thanks.

    Thanks to Francois.
    The exampe with clear instructions and I can build tree that calls forms now.
    I add a OPEN_FORM statement in WHEN-TREE-NODE-ACTIVATED trigger
    Declare
         LN$I Pls_integer ;
    Begin     
    :Ctrl.Node_Activated := Ftree.Get_Tree_Node_Property('BL_TREE.MENU', :SYSTEM.TRIGGER_NODE, Ftree.NODE_VALUE) ;
    If :Ctrl.Node_Activated IS NOT NULL Then
         Set_Alert_Property( 'AL_CALL_FORM', ALERT_MESSAGE_TEXT, 'Calling module : ' || :Ctrl.Node_Activated ) ;
         LN$I := Show_Alert( 'AL_CALL_FORM' ) ;
         open_form(:Ctrl.Node_Activated);
    End if ;
    End ;
    Or call physical form path by:
         open_form('c:\tree\'||:Ctrl.Node_Activated ||'.fmx');
    I enter the VALUE of MENU as the Form fmx name and it works very well.
    Thanks so much.

  • Call forms and reports from a hierarchical tree node.

    Hello,
    I am new in pl/sql programming and I have some dificulties. I have created a hierarchical tree, in order to use it as a menu in an application that I am trying to develope. The problem is that I do not know how can I make the last nodes to be either a form or a report and when somebody double clicks on these nodes the form or the report will run. What is more, should I use the when-tree-node-selected trigger or the when-tree-node-activated?
    Thank you in advance,
    Vag

    Hi ,
    In Oracle Forms , a hierarchical tree is developed through the use of a sql statement and column which defines the order of leaves...
    Visit the on-line help of Forms10g to find out the details , and the triggers as well...
    Something else...post this question to Oracle Forms to get more detailed answer...
    Regards,
    Simon

Maybe you are looking for