Concurrent and forms nodes in separate node.

Hi,
We are planning to upgrade from 11.5.10.2 to R12.1.3.
This is our current Env (11.5.10.2)
Node 1 : DB + Concurrent node
Node 2: Application services except Concurrent node
Do I need to install R12 file system in each node and run the upgrade driver from the each node?
If we have any other approaches, please do let me know?
Thanks
R.Sundaravel

912912 wrote:
Hi,
We are planning to upgrade from 11.5.10.2 to R12.1.3.
This is our current Env (11.5.10.2)
Node 1 : DB + Concurrent node
Node 2: Application services except Concurrent node
Do I need to install R12 file system in each node and run the upgrade driver from the each node?
If we have any other approaches, please do let me know?
Thanks
R.SundaravelIf you want to keep the same configuration, then the answer is yes.
Or, you could go with the approach of installing all application tier files on Node1 and keep the database running on Node1 only -- I would prefer this approach if you have sufficient resources on Node2.
Configuring Applications Node Services in Oracle E-Business Suite Release 12 [ID 406558.1]
On a R12 Multi-Node Install -- Why do all Middle Tiers run all Services? [ID 415385.1]
Thanks,
Hussein

Similar Messages

  • R12 Concurrent managers + forms on a single node?

    He friends
    I wanted to have your views on the following topic.
    Currently I have an 11.5.10 Apps setup on 2 different nodes.One hosting forms + apache and second one hosting DB and Concurrent managers.
    Now I am moving on R12 on new poweful servers both for apps and Db.
    My team is planning to have the concurrent managers+ forms ..in fact all services inclusive of discoverer on one node and only DB on the second node.
    Kindly provide your views.
    Kam.

    My team is planning to have the concurrent managers+ forms ..in fact all services inclusive of discoverer on one node and only DB on the second node.
    Kindly provide your views.This should be OK as long as you have sufficient resources on that node.
    Thanks,
    Hussein

  • Model and Value node data in one form...?

    Hello,
    I have a requirement where the adobe form is expected to have model data available and then in the same form teh user provides data, which is maintained in value node.
    Now the problem we are facing is, we are unable to maintain both value node and model node(i.e,attributes) under one type of node.(Invalid node type error appears when tried to place both attributes under one node).
    How do we provide them to data source, as it takes only one node.
    Thanks & Regards,
    Sharath

    Hi,
    you could try to add a some calculated attributes in the node which is bound to the interactive form. In the getter and setter methods of these calculated attributes you can read and set the value of your model attributes.
    Regards
    Sebastian

  • How to Create Instances in the Transient Root Node and Sub Nodes from Root Node Query Method ?

    Hi All,
    I am Creating a BOPF BO with 3 Nodes,
    Node 1) ROOT -- > contains a query,
    using Root Node I have created Search UIBB Configuration in FBI.
    In testing -- > when i enter Data in the Search Criteria Fields am able to get the details in to the query method
    from Imporing parameter : 'IT_SELECTION_PARAMETERS'.
    HERE I am fetching data from a standard table and trying to fill the data in the Node : 'MNR_SEARCH_RESULT'.
    How to Append data to the Sub node 'MNR_SEARCH_RESULT' when there is no Node instance created in the ROOT Node ?
    For This  I have created an instance in the ROOT Node and Using that I tried to create Instance in the Sub Node 'MNR_SEARCH_RESULT'.
    Below is my code which i have placed in the Query method ..
    DATA : LR_DATA TYPE REF TO ZBO_S_ROOT1.
    DATA : LR_SEARCH_RES TYPE REF TO ZBO_S_MNR_SEARCH_RESULT.
    DATA : LO_CI_SERVICE_MANAGER TYPE REF TO /BOBF/IF_TRA_SERVICE_MANAGER,
            LO_TRANSACTION_MANAGER TYPE REF TO /BOBF/IF_TRA_TRANSACTION_MGR.
       LO_CI_SERVICE_MANAGER = /BOBF/CL_TRA_SERV_MGR_FACTORY=>GET_SERVICE_MANAGER( IV_BO_KEY = ZIF_BO_TEST_PO_C=>SC_BO_KEY ).
       LO_TRANSACTION_MANAGER = /BOBF/CL_TRA_TRANS_MGR_FACTORY=>GET_TRANSACTION_MANAGER( ).
    CREATE DATA LR_DATA.
    LR_DATA->KEY = LO_CI_SERVICE_MANAGER->GET_NEW_KEY( ).
    LR_DATA->ROOT_KEY   = IS_CTX-ROOT_NODE_KEY.
    LR_DATA->PIPO_MAT_ID = '100100'.
    LR_DATA->PIPO_MAT_DESC = 'MATERIAL'.
    LR_DATA->PIPO_SPRAS = 'E'.
    LR_DATA->PIPO_MATL_TYPE = 'ZPMI'.
    LR_DATA->PIPO_MATL_GROUP = 'ZKK'.
         DATA lt_mod      TYPE /bobf/t_frw_modification.
         DATA lo_change   TYPE REF TO /bobf/if_tra_change.
         DATA lo_message  TYPE REF TO /bobf/if_frw_message.
         FIELD-SYMBOLS: <ls_mod> LIKE LINE OF lt_mod.
        APPEND INITIAL LINE TO lt_mod ASSIGNING <ls_mod> .
        <ls_mod>-node        =   ZIF_BO_TEST_PO_C=>sc_node-ROOT.
        <ls_mod>-change_mode = /bobf/if_frw_c=>sc_modify_create.
        <ls_mod>-key         = LR_DATA->KEY.
        <ls_mod>-data        = LR_DATA.
    DATA : LT_CHG_FIELDS TYPE /BOBF/T_FRW_NAME.
    DATA : LS_CHG_FIELDS LIKE LINE OF LT_CHG_FIELDS.
    DATA : LV_KEY TYPE /BOBF/CONF_KEY.
    CALL METHOD IO_MODIFY->CREATE
       EXPORTING
         IV_NODE            = ZIF_BO_TEST_PO_C=>sc_node-ROOT
         IV_KEY             = LR_DATA->KEY
         IS_DATA            = LR_DATA
         IV_ROOT_KEY        = IS_CTX-ROOT_NODE_KEY
       IMPORTING
         EV_KEY             = LV_KEY .
    CREATE DATA LR_SEARCH_RES.
    LR_SEARCH_RES->KEY           = LO_CI_SERVICE_MANAGER->GET_NEW_KEY( )..
    LR_SEARCH_RES->PARENT_KEY    = LV_KEY.
    LR_SEARCH_RES->ROOT_KEY    = LV_KEY.
    LR_SEARCH_RES->MATNR    = '123'.
    LR_SEARCH_RES->ERSDA    = SY-DATUM.
    LR_SEARCH_RES->ERNAM    = SY-UNAME.
    **LR_SEARCH_RES->LAEDA    = .
    **LR_SEARCH_RES->AENAM    = .
    **LR_SEARCH_RES->VPSTA    = .
    *LR_SEARCH_RES->LVORM    = .
    LR_SEARCH_RES->MTART    = 'ZPI'.
    LR_SEARCH_RES->MBRSH    = 'ZTP' .
    LR_SEARCH_RES->MATKL    = 'MAT'.
    **LR_SEARCH_RES->BISMT    = ''
    **LR_SEARCH_RES->MEINS    =
    CALL METHOD io_modify->create
               EXPORTING
                 iv_node            = ZIF_BO_TEST_PO_C=>sc_node-MNR_SEARCH_RESULT
                 is_data            = LR_SEARCH_RES
                 iv_assoc_key       = ZIF_BO_TEST_PO_C=>sc_association-root-MNR_SEARCH_RESULT
                 iv_source_node_key = ZIF_BO_TEST_PO_C=>sc_node-root
                 iv_source_key      = LV_KEY
                 iv_root_key        = LV_KEY.
    I am Unable to set data to the Node . I did not get any error message or Dump while executing . when i tried to retrive data I got the details from the node but am unable to view those details in the FBI UI and BOBT UI while testing .
    Please provide your valuable Suggestions.
    Thanks in Adv.
    Thanks ,
    Kranthi Kumar M.

    Hi Kranthi,
    For your requirement you need only two nodes. Root Node and Result node. Use the same structure for both.
    To create Instance while search.
    Create Query method with input type which has the required fields for selection criteria.
    Fetch the data and create instance in the root node.
    Pass the new instance key as exporting parameter form Query Method.
    To Move data from ROOT to Result.
    Create a action at root node.
    Write a code to create new entries in Result node.
    Then configure the Search UIBB and display result in List UIBB. Add button and assign the action MOVE_MAT_2_RESULT.
    Create another List uibb to display data from Result node.
    Connect the UIBBs using wire schema. SEARCH -> LIST(ROOT) ---> LIST(RESULT).
    Give src node association for ROOT to RESULT Configuration.
    Regards,
    Sunil

  • Problem while handling Parent and child nodes in CE

    Hi all
    I am facing a problem with handling Child and Parent nodes in CE.
    I have a Table in which I have drop downs. On selecting a value in the drop down, I have to take that value and do some action.
    I am trying to access the value in the following ways
    wdContext.nodeParent().currentParentElement().nodeChild().currentChildElement().getVaActivity();
    wdContext.nodeChild ().currentChildElement().getVaActivity();
    When I select the drop down from the first row of the Table the code works fine.
    But when I select other rows, it returns the current value of the first row.
    The lead selection of the parent always returns u20180u2019 even though you have done some action in row 2,3 etc.
    The same code gives the required values in EP 7.0; I.e.: it returns the values form selected row in the table.
    Basic problem is that the current value of parent always returns the first row.
    Following are the Properties of the nodes
    Parent
    Collection Cardinality: 0-n
    Singletone: true
    Child:
    Collection Cardinality: 0-n
    Singletone: false
    Please help
    Regards
    Deepu

    Hi,
       In CE changing dropdown selections doesn't fire table leadselection events. If you want to use a dropdown in a context-driven UI element like a Table, you need to use of event parameter mappings. So here are the steps:
    1. Create a new action for the onSelect event of the dropdown (I will write the code for DropDownByIndex), let's call it Select.
    2. Add a parameter parentElement whose type is same as the type of the parent node element. So from your example it would be IParentElement. Select the chek-box for "Adapt event-handler parameter". This will add a new parameter to the event-handler method onActionSelect called parentElement.
    3. Write this inside wdDoModifyView :
    if (firstTime) {
        IWDAbstractDropDownByIndex ddi = (IWDAbstractDropDownByIndex) view.getElement("<id of DropDownByIndex>");
        ddi.mappingOfOnSelect().addSourceMapping(IWDAbstractDropDownByIndex.IWDOnSelect.NODE_ELEMENT,"parentElement");
    3. If you want to set the lead selection of the table to the row where the dropdown is write this inside the event-handler:
    wdContext.nodeParent().setLeadSelection(parentElement.index()); //parentElement is the event handler parameter added through the action.
    Note that the event parameter IWDOnSelect.NODE_ELEMENT points to the node element that defines the data mapping for the containing row and not the node element of the source for the dropdown. This has been specfically  added for such a scenario. All this is well documented [here|http://help.sap.com/javadocs/nwce/current/wdr/com/sap/tc/webdynpro/clientserver/uielib/standard/api/IWDAbstractDropDownByIndex.IWDOnSelect.html#NODE_ELEMENT].
    Regards,
    Satyajit.

  • ISE admin , PSN and monitoring node fail-over and fall back scenario

    Hi Experts,
    I have question about ISE failover .
    I have two ISE appliaces in two different location . I am trying to understand the fail-over scenario and fall-back scenario
    I have gone through document as well however still not clear.
    my Primary ISE server would have primary admin role , primary monitoring node and secondary ISE would have secondary admin and secondary monitoring role .
    In case of primary ISE appliance failure , I will have to login into secondary ISE node and make admin role as primary but how about if primary ISE comes back ? what would be scenario ?
    during the primary failure will there any impact with users for authentication ? as far as PSN is available from secondary , it should work ...right ?
    and what is the actual method to promote the secondary ISE admin node to primary ? do i have to even manually make monitoring node role changes ?
    will i have to reboot the secondary ISE after promoting admin role to primary  ?

    We have the same set up across an OTV link and have tested this scenario out multiple times. You don't have to do anything if communication is broken between the prim and secondary nodes. The secondary will automatically start authenticating devices that it is in contact with. If you promote the secondary to primary after the link is broke it will assume the primary role when the link is restored and force the former primary nodes to secondary.

  • How to drag and drop nodes in Tree?

    Hi,
    I want to drag and drop nodes in the tree. For example a tree represents the hierarchy of employees reporting in an organization by using tree.I want to change the reporting an employee visible in the tree by simple drag and drop operation in place of going to another form for updating each employee record indiviually.
    Regards
    Piyush

    Ron,
    I looked into implementing drag / drop in one of the apex trees I created today and ran across this thread. Thank you Ron for the links, it helped a lot.
    I added the code below to my page's "Execute when Page Loads" (tree region id is "tree_reg") and the tree is now drag/drop enabled.
    It did break the [+] icon from collapsing the tree though ... but the apex.widget.tree buttons still work
    var regTree = apex.jQuery("#tree_reg").find("div.tree");
    regTree.tree({ 
    callback : {
    onmove: function(NODE, TREE_OBJ, REF_NODE, TYPE)
    {alert(NODE.id+"   "+TREE_OBJ.id+"   "+ REF_NODE);}
    });Next, I plan on creating a AJAX call using NODE.id, TREE_OBJ.id, and REF_NODE
    V/R
    Ricker

  • How to preserve encoded characters at text and attributes node?

    <greeting>hello, <World> </greeting>
    When I run a SAX parser, it automatically decodes the characters
    and make the document ill-formed after the round trip.
    <greeting>hello, <world> </greeting> --- ERROR
    Q: How do I preserve those special characters at text node and attribute nodes?
    Thanks

    Thanks for you guys' help.
    It's great to get a real-time help from this online community.
    Yue,
    What I attempted to do was
    0. I have 6G <database> document having 1.4 M <entry>s.
    1. Read one <entry> at a time using SAX
    2. Save each <entry> to a buffer
    3. Pass the buffer to a Unmarshaller ( JAXB ) and create a JavaObject
    Repeat above moving to next <entry> until reaches to the end.
    At step 1, unescape happens
    becomes >< becomes <
    and & &
    making my doc malformed (which is legal) :(
    At step 2, I did the following to perserve <, >, and &
    str = str.replaceAll( ">", "&gt;");
    str = str.replaceAll( "<", "&lt;");
    str = str.replaceAll( "&", "&amp;");At step 3, JAXB is now happy to get a healthy XML input
    <greeting>hello, <World></greeting>
    It turned out to be nobody's fault but myself.
    It was a good lesson, though.
    Thanks, buddies

  • JTree cut and paste multiple child and ancestor nodes not function correct

    Hello i'm creating a filebrowser for multimedia files (SDK 1.22) such as .jpg .gif .au .wav. (using Swing, JTree, DefaultMutableTreeNode)
    The problem is I want to cut and paste single and multiple nodes (from current node til the last child "top-down") which partly functions:
    single nodes and multiple nodes with only one folder per hierarchy level;
    Not function:
    - multiple folders in the same level -> the former order gets lost
    - if there is a file (MMed. document) between folders (or after them) in the same level this file is put inside one of those
    I tried much easier functions to cope with this problem but every time I solve one the "steps" the next problem appears...
    The thing I don't want to do, is something like a LinkedList, Hashtable (to store the nodes)... because the MMed. filebrowser would need to much resources while browsing through a media library with (e.g.) thousands of files!
    If someone has any idea to solve this problem I would be very pleased!
    Thank you anyway by reading this ;)
    // part of the code, if you want more detailed info
    // @mail: [email protected]
    import java.util.Enumeration;
    import javax.swing.*;
    import javax.swing.tree.*;
    // var declaration
    static Enumeration en;
    static DefaultMutableTreeNode jTreeModel, lastCopiedNode, dmt, insert, insertParent, insertSameFolder;
    static String varCut;
    static int index= 0;
    static int counter = 0;
    /* cut function */
    if (actionCommand.equals ("cut"))
         // get the selected node (DefaultMutableTreeNode)
         lastCopiedNode = (DefaultMutableTreeNode)  selPath.getLastPathComponent ();
         // get the nodes in an Enumeration array (in top- down order)
         en = dmt.preorderEnumeration();
         // the way to make sure if it is a cut or a copied node
         varCut = "cut";
    /* paste function */
    if (actionCommand.equals ("paste"))
    // node is cut
    if (varCut == "cut")
    // is necessary for first time same folder case
    insertParent = dmt;
    // getting the nodes out of the array
    while(en.hasMoreElements())
         // cast the Object to DefaultMutableTreeNode
         // and get stored (next) node
         insert = (DefaultMutableTreeNode) en.nextElement();
    // check if the node is a catalogue when getRepresentation()
    // is a function of my node creating class (to know if it is
    // a folder or a file)
    if (insert.getRepresentation().equals("catalogue"))
         // check if a "folder" node is inserted
         if (index == 1)
              counter = 0;
              index = 0;
         System.out.println ("***index and counter reset***");
         // the node is in the same folder
         // check if the folder is in the same hierarchy level
         // -> in this case the insertParent has to remain
         if (insert.getLevel() == insertParent.getLevel())
              // this is necessary to get right parent folder
              insertSameFolder = (Knoten) insert.getParent();
              jTreeModel.insertNodeInto (insert, insertSameFolder, index);
    System.out.println (">>>sameFolderCASE- insert"+counter+"> " + String.valueOf(insert) +
              "\ninsertTest -> " + String.valueOf(insertTest)
              // set insertParent folder to the new createded one
              insertParent = insert;
              index ++;
         else // the node is a subfolder
              // insertNode
              jTreeModel.insertNodeInto (insert, insertParent, index);
              // set insertParent folder to the new createded one
              insertParent = insert;
    System.out.println (">>>subFolderCASE- insertParent"+counter+"> " + String.valueOf(insertParent) +
              "\ninsertParent -> " + String.valueOf(insertParent)
              index ++;
    else // the node is a file
         // insertNode
         jTreeModel.insertNodeInto (insert, insertParent, counter);
         System.out.println (">>>fileCASE insert "+counter+"> " + String.valueOf(insert) +
         "\ninsertParent -> " + String.valueOf(insertParent)
    counter ++;
    // reset index and counter for the next loop
    index = 0;
    counter = 0;
    // reset cut var
    varCut = null;
    // remove the node (automatically deletes subfolders and files)
    dmt.removeNodeFromParent (lastCopiedNode);
    // if node is a copied one
    if varCut == null)
         // insert copied node the same way as for cut one's
         // to make it possible to copy more than one node
    }

    You need to use a recursive copy method to do this. Here's a simple example of the copy. To do a cut you need to do a copy and then delete the source.
    import java.io.*;
    import javax.swing.*;
    import javax.swing.tree.*;
    import java.awt.BorderLayout;
    import java.awt.Container;
    import java.awt.event.*;
    import java.util.*;
    public class CopyTree extends JFrame
         Container cp;
         JTree cTree;
         JScrollPane spTree;
         DefaultTreeModel cModel;
         CNode cRoot;
         JMenuBar menuBar = new JMenuBar();
         JMenu editMenu = new JMenu("Edit");
         JMenuItem copyItem = new JMenuItem("Copy");
         JMenuItem pasteItem = new JMenuItem("Paste");
         TreePath [] sourcePaths;
         TreePath [] destPaths;
         // =====================================================================
         // constructors and public methods
         CopyTree()
              super("Copy Tree Example");
              addWindowListener(new WindowAdapter()
              {public void windowClosing(WindowEvent evt){System.exit(0);}});
              // edit menu
              copyItem.addActionListener(new ActionListener()
              {public void actionPerformed(ActionEvent e){mnuCopy();}});
              editMenu.add(copyItem);
              pasteItem.addActionListener(new ActionListener()
              {public void actionPerformed(ActionEvent e){mnuPaste();}});
              editMenu.add(pasteItem);
              menuBar.add(editMenu);
              setJMenuBar(menuBar);
              buildModel();
              cp = getContentPane();
              cTree = new JTree(cModel);
              spTree = new JScrollPane(cTree);
              cp.add(spTree, BorderLayout.CENTER);
              pack();
         static public void main(String [] args)
              new CopyTree().show();
         // =====================================================================
         // private methods - User Interface
         private void mnuCopy()
              sourcePaths = cTree.getSelectionPaths();
         private void mnuPaste()
              TreePath sp, dp;
              CNode sn,dn;
              int i;
              destPaths = cTree.getSelectionPaths();
              if(1 == destPaths.length)
                   dp = destPaths[0];
                   for(i=0; i< sourcePaths.length;i++)
                        sp = sourcePaths;
                        if(sp.isDescendant(dp) || dp.isDescendant(sp))
                             JOptionPane.showMessageDialog
                                  (null, "source and destinations overlap","Paste", JOptionPane.ERROR_MESSAGE);
                             return;
                   dn = (CNode)dp.getLastPathComponent(); // the node we will append our source to
                   for(i=0; i< sourcePaths.length;i++)
                        sn = (CNode)sourcePaths[i].getLastPathComponent();
                        copyNode(sn,dn);
              else
                   JOptionPane.showMessageDialog
                        (null, "multiple destinations not allowed","Paste", JOptionPane.ERROR_MESSAGE);
         // recursive copy method
         private void copyNode(CNode sn, CNode dn)
              int i;
              CNode scn = new CNode(sn);      // make a copy of the node
              // insert it into the model
              cModel.insertNodeInto(scn,dn,dn.getChildCount());
              // copy its children
              for(i = 0; i<sn.getChildCount();i++)
                   copyNode((CNode)sn.getChildAt(i),scn);
         // ===================================================================
         // private methods - just a sample tree
         private void buildModel()
              int k = 0;
              cRoot = new CNode("root");
              cModel = new DefaultTreeModel(cRoot);
              CNode n1a = new CNode("n1a");
              cModel.insertNodeInto(n1a,cRoot,k++);
              CNode n1b = new CNode("n1b");
              cModel.insertNodeInto(n1b,cRoot,k++);
              CNode n1c = new CNode("n1c");
              cModel.insertNodeInto(n1c,cRoot,k++);
              CNode n1d = new CNode("n1d");
              cModel.insertNodeInto(n1d,cRoot,k++);
              k = 0;
              CNode n1a1 = new CNode("n1a1");
              cModel.insertNodeInto(n1a1,n1a,k++);
              CNode n1a2 = new CNode("n1a2");
              cModel.insertNodeInto(n1a2,n1a,k++);
              CNode n1a3 = new CNode("n1a3");
              cModel.insertNodeInto(n1a3,n1a,k++);
              CNode n1a4 = new CNode("n1a4");
              cModel.insertNodeInto(n1a4,n1a,k++);
              k = 0;
              CNode n1c1 = new CNode("n1c1");
              cModel.insertNodeInto(n1c1,n1c,k++);
              CNode n1c2 = new CNode("n1c2");
              cModel.insertNodeInto(n1c2,n1c,k++);
         // simple tree node with copy constructor
         class CNode extends DefaultMutableTreeNode
              private String name = "";
              // default constructor
              CNode(){this("");}
              // new constructor
              CNode(String n){super(n);}
              // copy constructor
              CNode(CNode c)
                   super(c.getName());
              public String getName(){return (String)getUserObject();}
              public String toString(){return  getName();}

  • Bapi_costelementgrp_create and hierarchy nodes

    Hi to all,
    I need an algorythm in order to fill the internal table hierarchynodes (def. like bapiset_hier ) to pass to the bapi_costelementgrp_create.
    The hierarchy nodes will be uploaded from a file with two fields: "father node" and "child node" like the following:
    TESTJR     TESTJR2
    TESTJR2   TESTJR3
    TESTJR     TESTJR4
    in the internal table the hierlevel shoul be like the following schema:
    TESTJR is level 0
    TESTJR2 have to assigned to TESTJR (hierlevel 1)
    TESTJR3 have to assigned to TESTJR2 (hierlevel 2)
    TESTJR4 have to assigned to TESTJR (hierlevel 1)
    Any ideas and suggestions?
    Thanks in advance.
    Andrew

    Hello Andrew,
    Try the code below.  However, you should test it thoroughly.  WARNING:  Make sure first record in internal table pertains to the root node.  The internal table lt_hier is the internal table that you assign parameter "hierarchynodes" when calling BAPI_COSTELEMENTGRP_CREATE.
    Kind Regards,
    Rae Ellen Woytowiez
    * Types, internal table, and structures for input file
    TYPES:  BEGIN OF input,
              groupname1 TYPE bapiset_groupname,
              groupname2 TYPE bapiset_groupname,
            END OF input.
    TYPES:  input_tt TYPE TABLE OF input.
    DATA:  lt_input TYPE input_tt,
           ls_input TYPE input.
    TYPES:  BEGIN OF input_numbered,
              groupname1 TYPE bapiset_groupname,
              groupname2 TYPE bapiset_groupname,
              rrn TYPE i,
            END OF input_numbered.
    TYPES:  input_numbered_tt TYPE TABLE OF input_numbered.
    DATA:  lt_input_numbered TYPE input_numbered_tt,
           ls_input_numbered TYPE input_numbered.
    * Types, internal tables, structures used to help
    * determine hierarchy level.
    TYPES:  BEGIN OF group_level_numbered,
              level TYPE bapiset_level,
              rrn TYPE i,
              groupname TYPE bapiset_groupname,
            END OF group_level_numbered.
    TYPES:  group_level_numbered_tt TYPE TABLE OF group_level_numbered.
    DATA:  lt_group_level_numbered TYPE group_level_numbered_tt,
           ls_group_level_numbered TYPE group_level_numbered.
    * Types, internal table, structures for function module.
    TYPES:  bapiset_hier_tt TYPE TABLE OF bapiset_hier,
            bapi1113_values_tt TYPE TABLE OF bapi1113_values.
    DATA:  lt_hier TYPE bapiset_hier_tt,
           lt_values TYPE bapi1113_values_tt,
           ls_hier TYPE bapiset_hier,
           ls_values TYPE bapi1113_values.
    DATA:  count TYPE i.
    DATA:  level TYPE i.
    START-OF-SELECTION.
      count = 1.
      LOOP AT lt_input INTO ls_input.
        CLEAR:  ls_input_numbered.
        ls_input_numbered-groupname1 = ls_input-groupname1.
        ls_input_numbered-groupname2 = ls_input-groupname2.
        ls_input_numbered-rrn = count.
        APPEND ls_input_numbered TO lt_input_numbered.
        count = count + 1.
      ENDLOOP.
    * Build hierarchy
      SORT lt_input_numbered BY groupname1 rrn.
      level = 0.
      LOOP AT lt_input_numbered INTO ls_input_numbered.
        PERFORM process_group
                    USING
                       ls_input_numbered
                    CHANGING
                       level.
      ENDLOOP.
    * derive table to be used in FM
      SORT lt_group_level_numbered BY rrn.
      LOOP AT lt_group_level_numbered INTO ls_group_level_numbered.
        ls_hier-groupname = ls_group_level_numbered-groupname.
        ls_hier-hierlevel = ls_group_level_numbered-level.
        ls_hier-DESCRIPT = ls_group_level_numbered-groupname.
        APPEND ls_hier TO lt_hier.
      ENDLOOP.
    FORM process_group USING value(ps_input_numbered) TYPE input_numbered
                       CHANGING value(pv_level) TYPE bapiset_level.
      DATA:  groupname1_subrc TYPE sysubrc,
             groupname1_tabix TYPE sytabix.
      DATA:  groupname2_subrc TYPE sysubrc,
             groupname2_tabix TYPE sytabix.
    * Check and if necessary add groupname1.
      CLEAR ls_group_level_numbered.
      READ TABLE lt_group_level_numbered INTO ls_group_level_numbered
                 WITH KEY groupname = ps_input_numbered-groupname1
                 BINARY SEARCH.
      groupname1_subrc = sy-subrc.
      groupname1_tabix = sy-tabix.
      IF groupname1_subrc <> 0.
        ls_group_level_numbered-groupname = ps_input_numbered-groupname1.
        ls_group_level_numbered-level = pv_level.
        ls_group_level_numbered-rrn = ps_input_numbered-rrn.
        INSERT ls_group_level_numbered INTO lt_group_level_numbered
               INDEX groupname1_tabix.
      ELSE.
        pv_level = ls_group_level_numbered-level.
      ENDIF.
    * Check and if necessary add groupname2.
      CLEAR ls_group_level_numbered.
      READ TABLE lt_group_level_numbered INTO ls_group_level_numbered
                 WITH KEY groupname = ps_input_numbered-groupname2
                 BINARY SEARCH.
      groupname2_subrc = sy-subrc.
      groupname2_tabix = sy-tabix.
      IF groupname2_subrc <> 0.
        ls_group_level_numbered-groupname = ps_input_numbered-groupname2.
        ls_group_level_numbered-level = pv_level + 1.
        ls_group_level_numbered-rrn = ps_input_numbered-rrn.
        INSERT ls_group_level_numbered INTO lt_group_level_numbered
               INDEX groupname2_tabix.
      ENDIF.
    * Check for childs for groupname2.
      pv_level = pv_level + 1.
      LOOP AT lt_input_numbered INTO ls_input_numbered
                         WHERE groupname1 = ps_input_numbered-groupname2.
        PERFORM process_group
                    USING
                       ls_input_numbered
                    CHANGING
                       level.
      ENDLOOP.
    ENDFORM.
    Edited by: Rae Ellen Woytowiez on Apr 15, 2011 7:24 AM
    Edited by: Rae Ellen Woytowiez on Apr 15, 2011 7:26 AM
    Edited by: Rae Ellen Woytowiez on Apr 15, 2011 7:26 AM

  • What is difference between local variable and property node ?

    What is difference between local variable and property node ?
    " 一天到晚游泳的鱼"
    [email protected]
    我的个人网站:LabVIEW——北方客栈 http://www.labview365.com
    欢迎加入《LabVIEW编程思想》组——http://decibel.ni.com/content/groups/thinking-in-labview

    To make things clear, here are two small examples that show how nasty locals and value properties can be to the naive programmer.
    - Open the diagram of the race condition.vi before running it and try to predict what will be the values of the two counters after the third run.
    - Use the Compare Locals Properties and Wires.vi to find out how slow locals and value properties can be (times 1000+).
    This being demonstrated, I must add that I use globals and value properties quite often, because they are often very convenient
    Chilly Charly    (aka CC)
             E-List Master - Kudos glutton - Press the yellow button on the left...        
    Attachments:
    Race condition.vi ‏9 KB
    Compare Locals Properties and Wires.vi ‏18 KB

  • Difference between Interface node and normal node?

    What is the main difference between  Interface node and normal node?
    Cheers
    Aisurya.

    Hi surya,
    Interface node or methods comes into picture whenever you want to use one component as used component. I mean to say
    Component usages. If you select node as interface node, it will available in another component so you can use that node or methods.
    Normal node means in that component only. Simply we can say for component usages we go for interface nodes.
    Cehck This...
    http://help.sap.com/saphelp_nw70ehp1/helpdata/EN/79/555e3f71e41e26e10000000a114084/content.htm
    Cheers,
    Kris.

  • Is it possible to put two different colors in tree parent node background and child nodes background?

    Is it possible to put two different colors in tree parent
    node background and child nodes background?
    Any help will be very helpful.
    Thanks

    Hi 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]

  • Tree and Tree Node Components - Threadinar7

    Hi All,
    This is the seventh in the "Threadinar" series , please see Threadinar6 at
    http://forum.sun.com/jive/thread.jspa?threadID=100601 for details
    In this Threadinar we will focus on the
    "Tree" and "Tree Node" Components
    Let us begin our discussion with the Tree Component.
    Tree Component
    You can drag the Tree component from the Palette's Basic category to the Visual Designer to create a hierarchical tree structure with nodes that can be expanded and collapsed, like the nodes in the Outline window. When the user clicks a node, the row will be highlighted. A tree is often used as a navigation mechanism.
    A tree contains Tree Node components, which act like hyperlinks. You can use a Tree Node to navigate to another page by setting its url property. You can also use a Tree Node to submit the current page. If the the Tree Node's action property is bound to an action event handler, selecting the node automatically submits the page. If the Tree Node's actionListener property is bound to an action listener, opening or closing the node automatically submits the page. You set Tree Node properties in the Tree Node Component Properties window.
    * If you use this component to navigate between pages of a portlet, do not use the url property to link to a page. Instead, use the Navigation editor to set up your links to pages.
    * Events related to tree node selection do not work correctly in portlets because the component uses cookies to pass the selected node id back and forth, and cookies are not correctly handled by the portlet container. You cannot handle tree node selection events in portlet projects.
    Initially when you drop a tree on a page, it has one root node labeled Tree and one subnode labeled Tree Node 1. You can add more nodes by dragging them to the tree and dropping them either on the root node to create top level nodes or on existing nodes to create subnodes of those nodes. You can also right-click the Tree or any Tree Node and choose Add Tree Node to add a subnode to the node.
    Additionally, you can work with the component in the Outline window, where the component and its child components are available as nodes. You can move a node from level to level easily in the Outline window, so you might want to work there if you are rearranging nodes. You can also add and delete tree nodes in the Outline window, just as in the Visual Designer.
    The Tree component has properties that, among other things, enable you change the root node's displayed text, change the appearance of the text, specify if expanding or collapsing a node requires a trip to the server, and specify whether node selection should automatically open or close the tree. To set the Tree's properties, select the Tree component in your page and use the Tree Component Properties window.
    The following Tutorial ("Using Tree Component") is very useful to learn using Tree components
    http://developers.sun.com/prodtech/javatools/jscreator/learning/tutorials/2/sitemaptree.html
    See Also the Technical Article - "Working with the Tree Component and Tree Node Actions"
    http://developers.sun.com/prodtech/javatools/jscreator/reference/techart/2/tree_component.html
    Tree Node Component
    You can drag the Tree Node component from the Palette's Basic category to a Tree component or another tree node in the Visual Designer to create a node in a hierarchical tree structure, similar to the tree you see in the Outline window.
    The tree node is created as a subnode of the node on which you drop it. If you drop the node on the tree component itself, a new node is created as a child of the root node. You can see the hierarchical structure clearly in the Outline window, where you can also easily move nodes around and reparent them.
    You can also add a tree node either to a Tree component or to a Tree Node component by right-clicking the component and choosing Add Tree Node.
    A Tree Node component by default is a container for an image and can be used to navigate to another page, submit the current page, or simply open or close the node if the node has child nodes.
    * If you select the Tree Node component's node Tree Node icon in the Outline window, you can edit its properties in the Tree Node Properties window. You can set things like whether or not the Tree Node is expanded by default, the tooltip for the Tree Node, the label for the tree node, and the Tree Node's identifier in your web application.
    * You can use a Tree Node to navigate to another page by setting its url property. You can also use a Tree Node to submit the current page. If the the Tree Node's action property is bound to an action event handler, selecting the node automatically submits the page. If the Tree Node's actionListener property is bound to an action listener, opening or closing the node automatically submits the page.
    - Note: If you use this component to navigate between pages of a portlet, do not use the url property to link to a page. Instead, use the Navigation editor to set up your links to pages. In addition, events related to tree node selection do not work correctly in portlets because the component uses cookies to pass the selected node id back and forth, and cookies are not correctly handled by the portlet container. You cannot handle tree node selection events in portlet projects.
    * If you select the image in the Tree Node, you can see that its icon property is set to TREE_DOCUMENT. If you right-click the image on the page and choose Set Image, you can either change the icon to another one or choose your own image in the Image Customizer dialog box. For more information on working with an image in a tree node, see Image component.
    - Note: The image used in a tree node works best if it is 16x16 or smaller. Larger images can work, but might appear overlapped in the Visual Designer. You can right-click the component and choose Preview in Browser feature to check the appearance of the images.
    Please share your comments, experiences, additional information, questions, feedback, etc. on these components.
    ------------------------------------------------------------------------------- --------------------

    One challenge I had experience was to make the tree
    always expanded on all pages (I placed my tree menu
    in a page fragment so I can just import it in my
    pages).Did you solve this problem. It would be interesting to know what you did.
    To expand a node you call setExpanded on the node. Here is some code from a tutorial that a coworker of mine is working on.
    In the prerender method:
           Integer expandedPersonId = getRequestBean1().getPersonId();
             // If expandedPersonId is null, then we are not coming back
            // from the Trip page. In that case we do not want any trip
            // nodes to be pre-selected (highlighted) due to browser cookies.
            if (expandedPersonId==null) {
                try {
                    HttpServletRequest req =(HttpServletRequest)
                    getExternalContext().getRequest();
                    Cookie[] cookies = req.getCookies();
                    //Check if cookies are set
                    if (cookies != null) {
                        for (int loop =0; loop < cookies.length; loop++) {
                            if (cookies[loop].getName().equals
                                    ("form1:displayTree-hi")) {
                                cookies[loop].setMaxAge(0);
                                HttpServletResponse response =(HttpServletResponse)
                                getExternalContext().getResponse();
                                response.addCookie(cookies[loop]);
                } catch (Exception e) {
                    error("Failure trying to clear highlighting of selected node:" +
                            e.getMessage());
            }                  ... (in a loop for tree nodes)...
                      personNode.setExpanded(newPersonId.equals
                                    (expandedPersonId));In the action method for the nodes:
           // Get the client id of the currently selected tree node
            String clientId = displayTree.getCookieSelectedTreeNode();
            // Extract component id from the client id
            String nodeId = clientId.substring(clientId.lastIndexOf(":")+1);
            // Find the tree node component with the given id
            TreeNode selectedNode =
                    (TreeNode) this.getForm1().findComponentById(nodeId);
            try {
                // Node's id property is composed of "trip" plus the trip id
                // Extract the trip id and save it for the next page
                Integer tripId = Integer.valueOf(selectedNode.getId().substring(4));
                getRequestBean1().setTripId(tripId);
            } catch (Exception e) {
                error("Can't convert node id to Integer: " +
                        selectedNode.getId().substring(4));
                return null;
    It would also be great if I can set the tree
    readonly where the user cannot toggle the expand
    property of the tree (hope this can be added to the
    tree functionality).

  • Htmlb:tree differentiate between nodeclick and tree node expander click

    Hi,
    how can i differentiate between nodeclick and tree node expander (to get to its children) click in my event processing in htmlb:tree element.
    <u><b>What i am trying to achieve?</b></u>
    Onload just load root node and its immediate children.
    On node expand get the children of the current node and modify htmlb:tree table2 with additional node inofs.
    on node click  call some client function.
    But my issue is that i am not able to differentiate between node expander click and node click in my event handling. Any help on this is appreciated.
    (I am not using MVC)
    Thanks in advance.
    Regards
    Raja
    Message was edited by: Durairaj Athavan Raja

    After reading your weblog I think I understand better. I did some testing with my example.  I am using the toggle = "true", so that the page returns to the server each time an expander is selected.
    <htmlb:tree id          = "myTree1"
                  height      = "75%"
                  toggle      = "true"
                  title       = "<b><otr>EQI Reporting Tree</otr></b>"
                  width       = "90%"
                  onTreeClick = "myTreeClick"
                  table       = "<%= application->selection_model->itview                             %>" >
      </htmlb:tree>
    However I have not added any coding in my event handler to respond to the expander event.  I only respond to myTreeClick (which loads some data for the given selection).  The BSP tree element itself must be doing the hard work for me. 
      if event_id cs 'tr_myTree1'.
        data: tree_event type ref to cl_htmlb_event_tree.
        tree_event ?= htmlb_event.
        if tree_event->server_event = 'myTreeClick'.
          clear appl->message1.
          appl->selection_model->get_chart_data( appl = appl
                                                 node = tree_event->node ).
        endif.
      endif.
    I pass my entire tree defintion to the element.  It appears that it only sends visible nodes to be rendered. When the expander is selected, I don't have to do anything, the tree re-renders with only the newly visible rows. 
    I tested and turned off the toggle (toggle = "false") and my page took forever to load because it was sending all the nodes to the frontend on the first load.

Maybe you are looking for

  • Speakers and microphone are not working

    suddenly, speakers, headphones and the microphone are not working... i tried updating the driver but it didn't work and when i try to test it through propertise i get an error message " failed to play test tone" what should i do? product: dv6-1350us

  • Export to interactive PDF with video

    Hello, i tried many times to create a simple white document with just a place of "flv" video in the middle. I set up the PDF export to interactive...but when i open the PDF i can't reproduce the video, just see the preview image. If i export to SWF i

  • ECCS - Integration of an operative FS version  with a FS Item Hierarchy

    Dear collegues, I'm trying to create a FS Item Hierarchy on ECCS as a copy from the FS Version (T011) but I'm not able to get the GL accounts as a position, but only the previous node of the tree, I mean, no gl account is populated as a position. I h

  • ALE: Sending IDOC inbound from non-SAP system

    Hi How does one need to setup the SAP system to accept data from an external non-SAP system. Should one setup some sort of conection to trigger an import to SAP?

  • Read a structure written in VC

    I have written a structure in VC and saved to a file, I want to read the file in LV8.0 but I cann't get the right result, the structure is  below: struct Save_Data {   int  A1;   int  A2;    double A3;    double A4;   double A5;   double A6;   double