Multi-selection using windows style tree structure

We developed a solution to replace the standard multi-select functionality with a java based tree structure where upon selection of a node all sub-entries are selected.  These entries are then added to the selection.
Performance is however a problem and I would like to know if anyone has experience of implementing such a solution or if there is an alternative standard solution. 
regards
Tim

Hello Tim,
Did you try to run an SE30 performance analysis ?
Check out this OSS note:
Note 948066 - Performance Analysis: Transactions to use
And depending on your CRM version, be aware that you can use the ABAP shared memory concept, which will considerably reduce the amount of memory used... hence increasing performance.
Ciao,
Nicolas.

Similar Messages

  • Abt alv grid using classes for tree structure

    hi to all,
    please giv me reply asap.
    thanks n regards
    satya

    Hi,
    Please check the link below :
    <a href="http://www.sapdev.co.uk/reporting/alv/alvtree.htm">http://www.sapdev.co.uk/reporting/alv/alvtree.htm</a>
    Thanks,
    Sriram Ponna.

  • Tree structure menu?

    Hello,
    Does anyone know a component to select menu like a tree structure? I see Accordian Menu can go only two levels. We have requirement to go more levels? Any help/guidance is appreciated.
    Thanks
    Manohar

    HI Manohar,
    maybe you can try the Xcelsius Add-On "XComponents". There you have additional objects available including one object called "tree". With this object you can define a hierarchical navigation structure, also with more than two levels. However i don't know if this add-on is for free or not as i only saw some examples here.
    Best
    Stefan

  • Layout Style "tree-form" with Wizard Style Layout checked

    Dear all,
    I am using layout style "tree-form" with Wizard Style Layout check box checked. intention is to display the hierarchy in tree and insertion with the help of Wizard for the last block. But with above settings, generated form is displaying as blank.
    Example of required behavior: REGIONS should be displayed in Tree while the new Employees entry should be with the help of Wizard Style Layout.
    Thanks in advance for help.
    Muhammad Shafique

    Muhammed,
    This combination is not supported. But you can acvhieve what you want by creating a separate group to insert a new employee. This additional group should have form layout, wizard checkbox checked, and "Add Menu Entry" option unchecked.
    Then you can customize the New button in the existing tree-form employee group to navigate to the new employee wizard group.
    Steven Davelaar,
    JHeadstart Team.

  • Tree structure with checkboxes and radio buttons

    Hi,
    I am using SNODETEXT as tree structure. On the child node, I need to have checkboxes and radio buttons. Is this possible?

    Hi
    Muse does not currently have dropdown lists, radio buttons, or checkboxes as part of the forms. You may want to check out using Adobe FormsCentral, Jotform, or Wufoo and inserting them via Object > Insert HTML as an alternative from the Muse forms, as those forms will have the lists, buttons, and checkboxes you're looking for.
    Another way if you are publishing your site to Business Catalyst, then you can create forms in BC admin section and copy the form html in Muse page which will render the from that you have created in BC in your Muse site page.
    More details :
    http://helpx.adobe.com/business-catalyst/using/create-insert-form.html
    Thanks,
    Sanjit

  • Tree Structure - Is it possible to Open a Pop up/external window on select

    Is it possible to Open a Pop up/external window on select of any Leafe node or a parent node?
    My requirement is to create a webdynpro screen which depicts the transaction :
    ooqa in sap R/3.
    Is it possible to do that in tree structure?
    Thanks & Regards,
    Sirisha.RS

    Hi Ayyaparaj,
    Thanks for ur reply.
    but i cant use a table here. I just need a tree structure..
    I guess Its posible by writing a code for a external window open in the onselect method itself.
    Thanks & regards,
    Sirisha.Rs

  • Creating a tree structure like Windows file explorer using Jdev

    Hi All,
    Is it possible to develop a tree structure like windows in JDEV and then same page I want to move to oracle apps.
    This tree I am creating for Showing Employee information. Like Parents & childs under it. i.e. Managers and employee reporting to managers.
    Please let me know if it is possible, if yes how , what is method of doing this.
    Thanks
    Ganesh Mane

    Yes. This possible with ADF Faces RC, which provides an af:tree component. Have a look at the Fusion Order Demo, which uses the tree to implement a similar usecase to the one you describe.
    http://www.oracle.com/technology/products/jdev/samples/fod/index.html
    Regards,
    RiC

  • How to create a tree structure with check boxs using Windows Activex Control?

    Hi,
    I am very new to LabVIEW. I am trying to create a tree structure with Check Boxes like the below. It would be great if someone would show me a right direction to go forward.
    The aim is to select the item and one by one i have to get the Path and give as an input to by application VI.
    Thanks and Best Regards
    Prathap

    Hi Andy,
    Sorry i pasted the Picture.. Pls find the attached picture.
    Following are my requirement:
    1) I need to populate a tree given a root directory, listing all the Folders and file of cetain pattern(*.pjt... ther will be only one *.pjt in every subfolders).
    2) I need a check box for every *.pjt to select the its path. The list of pjt files selected are used for my automation test suit.
    Pls let me know if you need more info.
    Best Regards
    Prathap
    Attachments:
    tree.JPG ‏73 KB

  • Listing File Hierarchy in console using a Tree structure

    first off i'm a college student. i'm not that good at java... we got this CA in class and try as i might i just can't get my head around it
    i was wondering if someone who know a bit more about java then i do would point me in the right direction, were i'm going wrong in my code
    i have to list out sub-files and sub-directorys of a folder (i.e. C:/test) to console using tree structure
    like this
    startingdir
    dir1 //subfolder of startingdir
    dir11 //subfolder of dir1
    dir111 //subfolder of dir11
    dir12 //subfolder of dir1
    file1A // document on dir1
    dir2 //subfolder of startingdir
    Tree.java
    import java.util.Iterator;
    import java.util.LinkedList;
    import java.util.ListIterator;
    import java.util.NoSuchElementException;
    import java.util.Deque;
    public class Tree<E> {
        // Each Tree object is an unordered tree whose
        // elements are arbitrary objects of type E.
        // This tree is represented by a reference to its root node (root), which
        // is null if the tree is empty. Each tree node contains a link to its
        // parent and a LinkedList of child nodes
        private Node root;
        //////////// Constructor ////////////
        public Tree () {
        // Construct a tree, initially empty.
            root = null;
        //////////// Accessors ////////////
        public boolean isEmpty () {
        // Return true is and only if this tree is empty.
             return (root == null);
        public Node root () {
        // Return the root node of this tree, or null if this tree is empty.
            return root;
        public Node parent (Node node) {
        // Return the parent of node in this tree, or null if node is the root node.
            return node.parent;
        public void makeRoot (E elem) {
        // Make this tree consist of just a root node containing element elem.
            root = new Node(elem);
        public Node addChild (Node node, E elem) {
        // Add a new node containing element elem as a child of node in this
        // tree. The new node has no children of its own. Return the node
        // just added.
            Node newChild = new Node(elem);
            newChild.parent = node;
            node.children.addLast(newChild);
            return newChild;
        public E element (Node node) {
             return node.getElement();
        //////////// Iterators ////////////
        public Iterator childrenIterator (Node node) {
            return node.children.iterator();
        public Iterator nodesPreOrder () {
        // Return an iterator that visits all nodes of this tree, with a pre-order
        // traversal.
            return new Tree.PreOrderIterator();
        //////////// Inner classes ////////////
        public class Node {
            // Each Tree.Node object is a  node of an
            // unordered tree, and contains a single element.
            // This tree node consists of an element (element),
            // a link to its parent
            // and a LinkedList of its children
            private E element;
            private Node parent;
            private LinkedList<Node> children;
            private Node (E elem) {
                // Construct a tree node, containing element elem, that has no
                // children and no parent.
                this.element = elem;
                this.parent = null;
                children = new LinkedList<Node>();
            public E getElement () {
            // Return the element contained in this node.
                return this.element;
            public String toString () {
            // Convert this tree node and all its children to a string.
                String children = "";
                // write code here to add all children
                return element.toString() + children;
            public void setElement (E elem) {
            // Change the element contained in this node to be elem.
                this.element = elem;
        public class PreOrderIterator implements Iterator {
            private Deque<Node> track; //Java recommends using Deque rather
            // than Stack. This is used to store sequence of nomempty subtrees still
            //to be visited
            private PreOrderIterator () {
                track = new LinkedList();
                if (root != null)
                    track.addFirst(root);
            public boolean hasNext () {
                return (! track.isEmpty());
            public E next () {
                Node place = track.removeFirst();
                //stack the children in reverse order
                if (!place.children.isEmpty()) {
                    int size = place.children.size(); //number of children
                    ListIterator<Node> lIter =
                            place.children.listIterator(size); //start iterator at last child
                    while (lIter.hasPrevious()) {
                        Node element = lIter.previous();
                        track.addFirst(element);
                return place.element;
            public void remove () {
                throw new UnsupportedOperationException();
        FileHierarchy.java
    import java.io.File;
    import java.util.Iterator;
    public class FileHierarchy {
        // Each FileHierarchy object describes a hierarchical collection of
        // documents and folders, in which a folder may contain any number of
        // documents and other folders. Within a given folder, all documents and
        // folders have different names.
        // This file hierarchy is represented by a tree, fileTree, whose elements
        // are Descriptor objects.
        private Tree fileTree;
        //////////// Constructor ////////////
        public FileHierarchy (String startingDir, int level) {
            // Construct a file hierarchy with level levels, starting at
            // startingDir
            // Can initially ignore level and construct as many levels as exist
            fileTree = new Tree();
            Descriptor descr = new Descriptor(startingDir, true);
            fileTree.makeRoot(descr);
            int currentLevel = 0;
            int maxLevel = level;
            addSubDirs(fileTree.root(), currentLevel, maxLevel);
        //////////// File hierarchy operations ////////////
        private void addSubDirs(Tree.Node currentNode, int currentLevel,
                int maxLevel) {
        // get name of directory in currentNode
        // then find its subdirectories (can add files later)
        // for each subdirectory:
        //    add it to children of currentNode - call addChild method of Tree
        //    call this method recursively on each child node representing a subdir
        // can initially ignore currentLevel and maxLevel   
            Descriptor descr = (Descriptor) currentNode.getElement();
            File f = new File(descr.name);
            File[] list = f.listFiles();
            for (int i = 0; i < list.length; ++i) {
                if (list.isDirectory()) {
    File[] listx = null;
    fileTree.addChild(currentNode, i);
    if (list[i].list().length != 0) {
    listx = list[1].listFiles();
    addSubDirs(currentNode,i,1);
    } else if (list[i].isFile()) {
    fileTree.addChild(currentNode, i);
    // The following code is sample code to illustrate how File class is
    // used to get a list of subdirectories from a starting directory
    // list now contains subdirs and files
    // contained in dir descr.name
    ////////// Inner class for document/folder descriptors. //////////
    private static class Descriptor {
    // Each Descriptor object describes a document or folder.
    private String name;
    private boolean isFolder;
    private Descriptor (String name, boolean isFolder) {
    this.name = name;
    this.isFolder = isFolder;
    FileHierarchyTest.javapublic class FileHierarchyTest {
    private static Tree fileTree;
    public static void main(String[] args) {
    FileHierarchy test = new FileHierarchy ("//test", 1);
    System.out.println(test.toString());

    Denis,
    Do you have [red hair|http://www.dennisthemenace.com/]? ;-)
    My advise with the tree structure is pretty short and sweet... make each node remember
    1. it's parent
    2. it's children
    That's how the file system (inode) actually works.
    <quote>
    The exact reasoning for designating these as "i" nodes is unsure. When asked, Unix pioneer Dennis Ritchie replied:[citation needed]
    In truth, I don't know either. It was just a term that we started to use. "Index" is my best guess, because of the
    slightly unusual file system structure that stored the access information of files as a flat array on the disk, with all
    the hierarchical directory information living aside from this. Thus the i-number is an index in this array, the
    i-node is the selected element of the array. (The "i-" notation was used in the 1st edition manual; its hyphen
    became gradually dropped).</quote>

  • How to convert a optionset into multi selection picklist in crm 2011 using javasacript??

    hi,
    where user want to select not only one but multiple value
    from a pick list. I tried  examples but it shows some errors.
    How  to do it??

    Hey I meet a problème on my development see my result :
    link : https://social.microsoft.com/Forums/getfile/652331
    a multiple select list on my crm 2013 I do this process on this forum :
    link : https://social.microsoft.com/Forums/en-US/2db47a59-165d-40c9-b995-6b3262b949eb/how-to-convert-a-optionset-into-multi-selection-picklist-in-crm-2011-using-javasacript?forum=crmdevelopment
    my development :
    // var_sc_optionset >> Provide schema-name for Option Set field
    // var_sc_optionsetvalue >> Provide schema-name for field which will store the multi selected values for Option Set
    // OS >> Provide Option Set field object
    // OSV >> Provide text field object which will store the multi selected values for Option Set
    //Method to convert an optionset to multi select Option Set
    function ConvertToMultiSelect(var_sc_optionset, var_sc_optionsetvalue, OS, OSV)
    if( OS != null && OSV != null )
    OS.style.display = "none";
    Xrm.Page.getControl(var_sc_optionsetvalue).setVisible(false);
    // Create a DIV container
    // var addDiv = document.createElement("<div style='overflow-y:auto; color:#000000; height:160px; border:1px #6699cc solid; background-color:#ffffff;' />");
    var addDiv = document.createElement("div");
    addDiv.style.overflowY = "auto";
    addDiv.style.height = "160px";
    addDiv.style.border = "1px #6699cc solid";
    addDiv.style.background = "#ffffff";
    addDiv.style.color = "#000000";
    OS.parentNode.appendChild(addDiv);
    // Initialise checkbox controls
    for( var i = 1; i < OS.options.length; i++ )
    var pOption = OS.options[i];
    if( !IsChecked( pOption.text , OS, OSV) ){
    // var addInput = document.createElement("<input type='checkbox' style='border:none; width:25px; align:left;' />" );
    var addInput = document.createElement("input" );
    addInput.setAttribute("type","checkbox");
    addInput.setAttribute("style","border:none; width:25px; align:left;");
    else {
    // var addInput = document.createElement("<input type='checkbox' checked='checked' style='border:none; width:25px; align:left;' />" );
    var addInput = document.createElement("input" );
    addInput.setAttribute("type","checkbox");
    addInput.setAttribute("checked","checked");
    addInput.setAttribute("style","border:none; width:25px; align:left;");
    // var addLabel = document.createElement( "<label />");
    var addLabel = document.createElement( "label");
    addLabel.innerText = pOption.text;
    // var addBr = document.createElement( "<br />"); //it's a 'br' flag
    var addBr = document.createElement( "br"); //it's a 'br' flag
    OS.nextSibling.appendChild(addInput);
    OS.nextSibling.appendChild(addLabel);
    OS.nextSibling.appendChild(addBr);
    ///////Supported functions
    // Check if it is selected
    function IsChecked( pText , OS, OSV)
    if(OSV.value != "")
    var OSVT = OSV.value.split(";");
    for( var i = 0; i < OSVT.length; i++ )
    if( OSVT[i] == pText )
    return true;
    return false;
    // var_sc_optionsetvalue >> Provide schema-name for field which will store the multi selected values for Option Set
    // OS >> Provide Option Set field object
    // Save the selected text, this field can also be used in Advanced Find
    function OnSave(OS, var_sc_optionsetvalue)
    var getInput = OS.nextSibling.getElementsByTagName("input");
    var result = '';
    for( var i = 0; i < getInput.length; i++ )
    if( getInput[i].checked)
    result += getInput[i].nextSibling.innerText + ";";
    //save value
    control = Xrm.Page.getControl(var_sc_optionsetvalue);
    attribute = control.getAttribute();
    attribute.setValue(result);
    I have to do 2 field one is option list field and the second is textfield, 
    option list field : new_books
    textfiled          : new_picklistvalue
    my js is on onload event see : 
    link : https://social.microsoft.com/Forums/getfile/652333
    thanks you for you'r help 

  • Multi-select LOV's hang form and use 100% CPU power

    Hello,
    We are using Designer 6i (6.5.52.1.0) and Headstart 6.5
    In one of our forms we are using 6 Multi-select LOV's.
    When we click the Cancel or Ok button (included through QMS_MSEL_LOV_BUTTONS), or hit Enter query in one of the ML_... blocks the form hangs and starts using all the CPU-power. I've tested this locally (c/s) and through the web (iAS), same result...
    I already rebuilt the LOV's but the problem isn't solved.
    We've got other forms with one or two multi-select LOV's, and these work fine.
    Has anyone experienced this behaviour before, and what is the cure?
    Thanks in advance!
    Wouter

    Wouter,
    If you are running against Solaris, you could be running into the following:
    Headstart applications that run via webforms on a Sun Solaris application server, suffer again from bug 1985903. This bug was spotted and solved a time ago and seemed to be solved at next
    releases of Forms 6i. Now, on Solaris the bug is introduced again.
    Description
    ===========
    1. When using a multi-select LOV (which is displayed in a modal dialog
    window), you select the records you want, press OK, and the application exits.
    2. When using a shuttle control to move records from left to right or vice
    versa, you select the records you want, press '>' to move them, and the
    application exits.
    This occurs in Forms 6.0.8.13.0 and 6.0.8.14.1. It did NOT occur in prior
    releases. This is some kind of forms bug.
    Workaround
    ==========
    For some reason the call to procedure renumber in qms$msel.process_records
    causes the application to exit. If you copy the code from renumber to all the
    places from which it is called, it works fine.
    - open qmslib65.pll in Form Builder
    - open package body qms$msel
    - find procedure process_records and define a local variable l_recno of type
    number.
    - find local procedure renumber and copy the body of this procedure
    (everything
    after 'begin' and before 'exception').
    - replace each call to 'renumber;' with the copied code.
    A new version of qms$msel package body is available on iXchange for download.
    See Headstart Oracle Designer 6i, Bugs and Fixes.
    Hope this helps,
    Marc Vahsen
    Headstart Team
    Oracle NL

  • SEARCH item in MULTI-SELECT LOV (Hierachical Tree)

    I have created a multi-select LOV using a hierarchical tree; providing the query for the tree in the Functional/Data Query property.
    The Multi-Select LOV works fine. As you would suspect some LOV's have long lists that one must scroll through.
    I would like to implement a SEARCH field (as seen in Forms standard LOV functionality) that will search through my Tree Node values and highlight the item searched (again as the standard LOV functionality works). Thus, allowing the user to quickly find the values in the list.
    How do I go about referencing the Tree Node values to the value in the search (field) item?

    Hello,
    Search, through the FTree package's functions, those that allows to navigate through the leaves.
    http://www.oracle.com/webapps/online-help/forms/10g/state?navSetId=_&navId=3&vtTopicFile=designing_forms/objects/manip_ht_runtime.html&vtTopicId=
    Francois

  • Select on a tree structure...

    Hi Guys,
    I have the following tree structure where I want to perform a select to get the below results.
    All Nodes are starting from D and types of the nodes are from A, (If a particular node is not connected to a type then it has its parent's type. ex.:- D11 is on A1 type)
    ..........................D1.(A1)
    ............................|
    ......|............|.................|...............|
    .....D11......D12..........D13(A3).......D14
    ...................|.................................|
    ..............----------...........................D141(A4)
    ..............|.........|............................|
    ......D121(A1)...D122.................-------------
    ........................|......................|............|
    ..............D1221(A2)............D1411(A4)..D1412
    ........................|
    ..................|............|
    ..........D12211.........D12212
    ...............................|
    .............................D122121
    Selection can only be performed in D1, D1221, D13 and D141 nodes.
    Perform selection on D1 should return - D11, D121 and D1221 (select lowest level nodes if they are in the same type and if the type of the node is changing then select the first node with the different type)
    Perform selection on D1221 will return - D12211 and D122121
    Perform selection on D13 will return null
    Perform selection on D141 will return - D1411 and D1412
    Table structure
    seq_no...parent_seq_no...type
    ..D1................................A1
    ..D11..........D1........
    ..D13..........D1................A3
    ..D1221......D122.............A2
    ..D12211....D1221.....
    ..D1411......D141.............A4
    Many Thanks and sorry for the long explanation,
    Napster

    Hi Frank,
    Wow it sounds so simple. I was sort of lost with the connected by clause. Now it’s getting clear. Thanks!
    One last question... can I used the connected by clause to get the top most node of a set of same type nodes. I used the connected by clause and wrote a function and it returns the exact output I need but it looks little messy. I will try to explain the requirement using the above example tree structure…
    In the above example,
    If I perform function on,
    D1, it should return D1
    D11, it should return D1
    D121, it should return D1
    D122121, it should return D1221
    D13 should return D13 itself,
    D 141 should return D141 itself,
    D 1411 should return D141… etc.
    The function I wrote….
    FUNCTION Get_Root_Node__ (
       seq_no_ IN NUMBER ) RETURN NUMBER
    IS
       CURSOR get_parent_list (seq_no_ NUMBER) IS  
          SELECT t.seq_no, t.type_cd
          FROM table_x t
          CONNECT BY PRIOR t.parent_seq_no = t.seq_no
          START WITH t.seq_no= seq_no_;
       CURSOR get_curr_list (seq_no_ NUMBER) IS  
          SELECT t.seq_no, t.type_cd
          FROM table_x t
          CONNECT BY PRIOR t.parent_seq_no = t.seq_no
          START WITH t.seq_no= seq_no_;
       top_seq_no_       NUMBER;
       cur_type_cd_      NUMBER;
    BEGIN
       FOR parent_rec_ IN get_parent_list(seq_no_) LOOP
            IF (parent_rec_.type_cd IS NOT NULL) THEN
              IF (cur_type_cd_ IS NOT NULL) AND (parent_rec_.type_cd_ <> cur_type_cd_) THEN
                 RETURN top_seq_no_;
              ELSE
                 cur_type_cd_ := parent_rec_.type_cd_;
              END IF;
           ELSIF (cur_type_cd_ IS NOT NULL) THEN
              FOR curr_rec_ IN get_curr_list(parent_rec_.seq_no) LOOP
                 IF (curr_rec_.type_cd IS NOT NULL) THEN
                    IF curr_rec_.type_cd = cur_type_cd_ THEN
                       top_seq_no_ := curr_rec_.seq_no;
                    ELSE
                       RETURN top_seq_no_;
                    END IF;
                 END IF;
              END LOOP;
           END IF;
           top_seq_no_ := parent_rec_.seq_no;
       END LOOP;
       RETURN top_seq_no_;
    END Get_Root_Node__;Is it possible to get this done by a simple select?

  • How to use multi select in a query report

    I defined a lov. This lov retuns name and a id. I want to use the result of this multi select in my query.
    I always get invalid number when I choose two items of the select. When I debug I see that the return value of the multi select is 1:2. How can I change the seperator : in , I tried the following but this does't work.
    if :P26_PRODUCTTYPE IS NOT NULL then
    l_sql := l_sql ||' and producttype in
    (REPLACE(:p26_producttype,'':'','','' ))';
    end if;

    as you're finding, multiple values selected from html db multi-select list items (and checkboxes) are stored as a single, colon-delimited string. i explained an easy way to handle this via pl/sql in...
    Multiple select list
    ...that post shows you how to throw the selected values into a pl/sql table and step through them as needed. it also showed how to use an instr to parse through the string if you want to go that route. you could use that same instr logic right in your sql query. so let's say your lov for your multi-select item (P1_MY_MULTISELECT, we'll call it) was defined as...
    select ename, empno from emp order by 1
    ...and your user selected KING, FORD, and JONES. :P1_MY_MULTISELECT would store those values as...
    7839:7902:7566
    ...you could then write a query to return the selected enames with something like...
    select ename, job
    from emp
    where insrt (':'||:P1_MY_MULTISELECT||':',':'||empno||':') != 0
    ...hope this helps,
    raj

  • How To hide a column on a Matrix using a parameter that is set-up as a multi-select

    Hi,
    I have a multi-select parameter (has 4 choices ie. A,B,C,D).  In the matrix the parent Column group is a date and the child group is based on the Multi-select parameter field.  When all choices are selected the report returns a column per
    date and then within that date column 4 sub columns as expected.....This all works. 
    Challenge ... I added another column (Col5).  For Col5 I only want it to show if value B has been selected from the multi choice
    Another way of saying it....  How do I get a column to appear (Visibility) if a specific  Value has been select in a multi-choice parameter
    Tx
    Andrew
    Andrew Payze

    Hi,
    here is the query
    SELECT        ProjectNumber, ProjectDescription, WBS, TaskNumber, TaskName, TaskDescription, TaskManager, Results, ResourceExpenditure, CostSet, Currency,
                             ReportingDate, Value, YEAR(ReportingDate) AS Year, { fn MONTHNAME(ReportingDate) } AS Month, ActualValue, PriorEAC
    FROM            vwForecastAccuracy
    WHERE        (CostSet IN (@CostType)) AND (YEAR(ReportingDate) = @Year) AND (Results = 'Cost')
    below is the Code, not sure how to attach RDL
    Thanks
    Andrew
    <?xml version="1.0" encoding="utf-8"?>
    <Report xmlns="http://schemas.microsoft.com/sqlserver/reporting/2008/01/reportdefinition" xmlns:rd="http://schemas.microsoft.com/SQLServer/reporting/reportdesigner">
    <Body>
    <ReportItems>
    <Tablix Name="matrix1">
    <TablixCorner>
    <TablixCornerRows>
    <TablixCornerRow>
    <TablixCornerCell>
    <CellContents>
    <Textbox Name="textbox3">
    <CanGrow>true</CanGrow>
    <KeepTogether>true</KeepTogether>
    <Paragraphs>
    <Paragraph>
    <TextRuns>
    <TextRun>
    <Value />
    <Style>
    <FontFamily>Tahoma</FontFamily>
    </Style>
    </TextRun>
    </TextRuns>
    <Style />
    </Paragraph>
    </Paragraphs>
    <rd:DefaultName>textbox3</rd:DefaultName>
    <Style>
    <Border>
    <Color>LightGrey</Color>
    <Style>Solid</Style>
    </Border>
    <PaddingLeft>2pt</PaddingLeft>
    <PaddingRight>2pt</PaddingRight>
    <PaddingTop>2pt</PaddingTop>
    <PaddingBottom>2pt</PaddingBottom>
    </Style>
    </Textbox>
    </CellContents>
    </TablixCornerCell>
    </TablixCornerRow>
    <TablixCornerRow>
    <TablixCornerCell>
    <CellContents>
    <Textbox Name="Textbox8">
    <CanGrow>true</CanGrow>
    <KeepTogether>true</KeepTogether>
    <Paragraphs>
    <Paragraph>
    <TextRuns>
    <TextRun>
    <Value />
    <Style>
    <FontFamily>Tahoma</FontFamily>
    </Style>
    </TextRun>
    </TextRuns>
    <Style />
    </Paragraph>
    </Paragraphs>
    <rd:DefaultName>Textbox8</rd:DefaultName>
    <Style>
    <Border>
    <Color>LightGrey</Color>
    <Style>Solid</Style>
    </Border>
    <PaddingLeft>2pt</PaddingLeft>
    <PaddingRight>2pt</PaddingRight>
    <PaddingTop>2pt</PaddingTop>
    <PaddingBottom>2pt</PaddingBottom>
    </Style>
    </Textbox>
    </CellContents>
    </TablixCornerCell>
    </TablixCornerRow>
    </TablixCornerRows>
    </TablixCorner>
    <TablixBody>
    <TablixColumns>
    <TablixColumn>
    <Width>1in</Width>
    </TablixColumn>
    <TablixColumn>
    <Width>1in</Width>
    </TablixColumn>
    </TablixColumns>
    <TablixRows>
    <TablixRow>
    <Height>0.21in</Height>
    <TablixCells>
    <TablixCell>
    <CellContents>
    <Textbox Name="Value">
    <CanGrow>true</CanGrow>
    <KeepTogether>true</KeepTogether>
    <Paragraphs>
    <Paragraph>
    <TextRuns>
    <TextRun>
    <Value>=Sum(Fields!Value.Value)</Value>
    <Style>
    <FontFamily>Tahoma</FontFamily>
    <Format>'$'#,0;('$'#,0)</Format>
    </Style>
    </TextRun>
    </TextRuns>
    <Style />
    </Paragraph>
    </Paragraphs>
    <rd:DefaultName>Value</rd:DefaultName>
    <Style>
    <Border>
    <Color>LightGrey</Color>
    <Style>Solid</Style>
    </Border>
    <PaddingLeft>2pt</PaddingLeft>
    <PaddingRight>2pt</PaddingRight>
    <PaddingTop>2pt</PaddingTop>
    <PaddingBottom>2pt</PaddingBottom>
    <rd:FormatSymbolCulture>en-US</rd:FormatSymbolCulture>
    </Style>
    </Textbox>
    </CellContents>
    <DataElementOutput>Output</DataElementOutput>
    </TablixCell>
    <TablixCell>
    <CellContents>
    <Textbox Name="Textbox4">
    <CanGrow>true</CanGrow>
    <KeepTogether>true</KeepTogether>
    <Paragraphs>
    <Paragraph>
    <TextRuns>
    <TextRun>
    <Value>=RunningValue(Fields!ActualValue.Value,sum, "matrix1_ProjectNumber")</Value>
    <Style>
    <FontFamily>Tahoma</FontFamily>
    </Style>
    </TextRun>
    </TextRuns>
    <Style />
    </Paragraph>
    </Paragraphs>
    <rd:DefaultName>Textbox4</rd:DefaultName>
    <Style>
    <Border>
    <Color>LightGrey</Color>
    <Style>Solid</Style>
    </Border>
    <PaddingLeft>2pt</PaddingLeft>
    <PaddingRight>2pt</PaddingRight>
    <PaddingTop>2pt</PaddingTop>
    <PaddingBottom>2pt</PaddingBottom>
    </Style>
    </Textbox>
    </CellContents>
    <DataElementOutput>Output</DataElementOutput>
    </TablixCell>
    </TablixCells>
    </TablixRow>
    </TablixRows>
    </TablixBody>
    <TablixColumnHierarchy>
    <TablixMembers>
    <TablixMember>
    <Group Name="matrix1_ReportingDate">
    <GroupExpressions>
    <GroupExpression>=Fields!ReportingDate.Value</GroupExpression>
    </GroupExpressions>
    </Group>
    <SortExpressions>
    <SortExpression>
    <Value>=Fields!ReportingDate.Value</Value>
    </SortExpression>
    </SortExpressions>
    <TablixHeader>
    <Size>0.21in</Size>
    <CellContents>
    <Textbox Name="Month">
    <CanGrow>true</CanGrow>
    <KeepTogether>true</KeepTogether>
    <Paragraphs>
    <Paragraph>
    <TextRuns>
    <TextRun>
    <Value>=Fields!Month.Value</Value>
    <Style>
    <FontFamily>Tahoma</FontFamily>
    <FontWeight>Bold</FontWeight>
    <Format>MM/dd/yyyy</Format>
    <Color>White</Color>
    </Style>
    </TextRun>
    </TextRuns>
    <Style>
    <TextAlign>Center</TextAlign>
    </Style>
    </Paragraph>
    </Paragraphs>
    <rd:DefaultName>Month</rd:DefaultName>
    <Style>
    <Border>
    <Color>LightGrey</Color>
    <Style>Solid</Style>
    </Border>
    <BackgroundColor>#6e9eca</BackgroundColor>
    <PaddingLeft>2pt</PaddingLeft>
    <PaddingRight>2pt</PaddingRight>
    <PaddingTop>2pt</PaddingTop>
    <PaddingBottom>2pt</PaddingBottom>
    </Style>
    </Textbox>
    </CellContents>
    </TablixHeader>
    <TablixMembers>
    <TablixMember>
    <Group Name="CostSet">
    <GroupExpressions>
    <GroupExpression>=Fields!CostSet.Value</GroupExpression>
    </GroupExpressions>
    </Group>
    <SortExpressions>
    <SortExpression>
    <Value>=Fields!CostSet.Value</Value>
    </SortExpression>
    </SortExpressions>
    <TablixHeader>
    <Size>0.25in</Size>
    <CellContents>
    <Textbox Name="CostSet1">
    <CanGrow>true</CanGrow>
    <KeepTogether>true</KeepTogether>
    <Paragraphs>
    <Paragraph>
    <TextRuns>
    <TextRun>
    <Value>=Fields!CostSet.Value</Value>
    <Style>
    <FontFamily>Tahoma</FontFamily>
    <FontWeight>Bold</FontWeight>
    <Color>White</Color>
    </Style>
    </TextRun>
    </TextRuns>
    <Style>
    <TextAlign>Center</TextAlign>
    </Style>
    </Paragraph>
    </Paragraphs>
    <rd:DefaultName>CostSet1</rd:DefaultName>
    <Style>
    <Border>
    <Color>LightGrey</Color>
    <Style>Solid</Style>
    </Border>
    <BackgroundColor>#6e9eca</BackgroundColor>
    <PaddingLeft>2pt</PaddingLeft>
    <PaddingRight>2pt</PaddingRight>
    <PaddingTop>2pt</PaddingTop>
    <PaddingBottom>2pt</PaddingBottom>
    </Style>
    </Textbox>
    </CellContents>
    </TablixHeader>
    <TablixMembers>
    <TablixMember />
    <TablixMember />
    </TablixMembers>
    </TablixMember>
    </TablixMembers>
    <DataElementOutput>Output</DataElementOutput>
    <KeepTogether>true</KeepTogether>
    </TablixMember>
    </TablixMembers>
    </TablixColumnHierarchy>
    <TablixRowHierarchy>
    <TablixMembers>
    <TablixMember>
    <Group Name="matrix1_ProjectNumber">
    <GroupExpressions>
    <GroupExpression>=Fields!ProjectNumber.Value</GroupExpression>
    </GroupExpressions>
    </Group>
    <SortExpressions>
    <SortExpression>
    <Value>=Fields!ProjectNumber.Value</Value>
    </SortExpression>
    </SortExpressions>
    <TablixHeader>
    <Size>1in</Size>
    <CellContents>
    <Textbox Name="ProjectNumber">
    <CanGrow>true</CanGrow>
    <KeepTogether>true</KeepTogether>
    <Paragraphs>
    <Paragraph>
    <TextRuns>
    <TextRun>
    <Value>=Fields!ProjectNumber.Value</Value>
    <Style>
    <FontFamily>Tahoma</FontFamily>
    <FontWeight>Bold</FontWeight>
    <Color>White</Color>
    </Style>
    </TextRun>
    </TextRuns>
    <Style />
    </Paragraph>
    </Paragraphs>
    <rd:DefaultName>ProjectNumber</rd:DefaultName>
    <ActionInfo>
    <Actions>
    <Action>
    <Drillthrough>
    <ReportName>BUDVAR 11 Budget Detail By WBS</ReportName>
    <Parameters>
    <Parameter Name="ProjectNumber">
    <Value>=Fields!ProjectNumber.Value</Value>
    </Parameter>
    <Parameter Name="Year">
    <Value>=Parameters!Year.Value</Value>
    </Parameter>
    <Parameter Name="CostSet">
    <Value>=Parameters!CostType.Value</Value>
    </Parameter>
    </Parameters>
    </Drillthrough>
    </Action>
    </Actions>
    </ActionInfo>
    <Style>
    <Border>
    <Color>LightGrey</Color>
    <Style>Solid</Style>
    </Border>
    <BackgroundColor>#6e9eca</BackgroundColor>
    <PaddingLeft>2pt</PaddingLeft>
    <PaddingRight>2pt</PaddingRight>
    <PaddingTop>2pt</PaddingTop>
    <PaddingBottom>2pt</PaddingBottom>
    </Style>
    </Textbox>
    </CellContents>
    </TablixHeader>
    <DataElementOutput>Output</DataElementOutput>
    <KeepTogether>true</KeepTogether>
    </TablixMember>
    </TablixMembers>
    </TablixRowHierarchy>
    <RepeatColumnHeaders>true</RepeatColumnHeaders>
    <RepeatRowHeaders>true</RepeatRowHeaders>
    <DataSetName>BudgetData</DataSetName>
    <Height>0.67in</Height>
    <Width>3in</Width>
    <Style />
    </Tablix>
    </ReportItems>
    <Height>0.84708in</Height>
    <Style />
    </Body>
    <Width>3.85417in</Width>
    <Page>
    <LeftMargin>1in</LeftMargin>
    <RightMargin>1in</RightMargin>
    <TopMargin>1in</TopMargin>
    <BottomMargin>1in</BottomMargin>
    <Style />
    </Page>
    <AutoRefresh>0</AutoRefresh>
    <DataSources>
    <DataSource Name="BIDatabase">
    <DataSourceReference>VSPDEV011</DataSourceReference>
    <rd:SecurityType>None</rd:SecurityType>
    <rd:DataSourceID>f3bf5788-4fb5-4822-89d9-2f4518f5488d</rd:DataSourceID>
    </DataSource>
    </DataSources>
    <DataSets>
    <DataSet Name="BudgetData">
    <Query>
    <DataSourceName>BIDatabase</DataSourceName>
    <QueryParameters>
    <QueryParameter Name="@CostType">
    <Value>=Parameters!CostType.Value</Value>
    </QueryParameter>
    <QueryParameter Name="@Year">
    <Value>=Parameters!Year.Value</Value>
    </QueryParameter>
    </QueryParameters>
    <CommandText>SELECT ProjectNumber, ProjectDescription, WBS, TaskNumber, TaskName, TaskDescription, TaskManager, Results, ResourceExpenditure, CostSet, Currency,
    ReportingDate, Value, YEAR(ReportingDate) AS Year, { fn MONTHNAME(ReportingDate) } AS Month, ActualValue, PriorEAC
    FROM vwForecastAccuracy
    WHERE (CostSet IN (@CostType)) AND (YEAR(ReportingDate) = @Year) AND (Results = 'Cost')</CommandText>
    </Query>
    <Fields>
    <Field Name="ProjectNumber">
    <DataField>ProjectNumber</DataField>
    <rd:TypeName>System.String</rd:TypeName>
    </Field>
    <Field Name="ProjectDescription">
    <DataField>ProjectDescription</DataField>
    <rd:TypeName>System.String</rd:TypeName>
    </Field>
    <Field Name="WBS">
    <DataField>WBS</DataField>
    <rd:TypeName>System.String</rd:TypeName>
    </Field>
    <Field Name="TaskNumber">
    <DataField>TaskNumber</DataField>
    <rd:TypeName>System.String</rd:TypeName>
    </Field>
    <Field Name="TaskName">
    <DataField>TaskName</DataField>
    <rd:TypeName>System.String</rd:TypeName>
    </Field>
    <Field Name="TaskDescription">
    <DataField>TaskDescription</DataField>
    <rd:TypeName>System.String</rd:TypeName>
    </Field>
    <Field Name="TaskManager">
    <DataField>TaskManager</DataField>
    <rd:TypeName>System.String</rd:TypeName>
    </Field>
    <Field Name="Results">
    <DataField>Results</DataField>
    <rd:TypeName>System.String</rd:TypeName>
    </Field>
    <Field Name="ResourceExpenditure">
    <DataField>ResourceExpenditure</DataField>
    <rd:TypeName>System.String</rd:TypeName>
    </Field>
    <Field Name="CostSet">
    <DataField>CostSet</DataField>
    <rd:TypeName>System.String</rd:TypeName>
    </Field>
    <Field Name="Currency">
    <DataField>Currency</DataField>
    <rd:TypeName>System.String</rd:TypeName>
    </Field>
    <Field Name="ReportingDate">
    <DataField>ReportingDate</DataField>
    <rd:TypeName>System.DateTime</rd:TypeName>
    </Field>
    <Field Name="Value">
    <DataField>Value</DataField>
    <rd:TypeName>System.Decimal</rd:TypeName>
    </Field>
    <Field Name="Year">
    <DataField>Year</DataField>
    <rd:TypeName>System.Int32</rd:TypeName>
    </Field>
    <Field Name="Month">
    <DataField>Month</DataField>
    <rd:TypeName>System.String</rd:TypeName>
    </Field>
    <Field Name="ActualValue">
    <DataField>ActualValue</DataField>
    <rd:TypeName>System.Decimal</rd:TypeName>
    </Field>
    <Field Name="PriorEAC">
    <DataField>PriorEAC</DataField>
    <rd:TypeName>System.Decimal</rd:TypeName>
    </Field>
    </Fields>
    </DataSet>
    <DataSet Name="ProjectLookup">
    <Query>
    <DataSourceName>BIDatabase</DataSourceName>
    <CommandText>SELECT DISTINCT ProjectNumber, ProjectDescription, ProjectNumber AS Expr1
    FROM vwForecastAccuracy</CommandText>
    </Query>
    <Fields>
    <Field Name="ProjectNumber">
    <DataField>ProjectNumber</DataField>
    <rd:TypeName>System.String</rd:TypeName>
    </Field>
    <Field Name="ProjectDescription">
    <DataField>ProjectDescription</DataField>
    <rd:TypeName>System.String</rd:TypeName>
    </Field>
    <Field Name="Expr1">
    <DataField>Expr1</DataField>
    <rd:TypeName>System.String</rd:TypeName>
    </Field>
    </Fields>
    </DataSet>
    <DataSet Name="CostTypeLookup">
    <Query>
    <DataSourceName>BIDatabase</DataSourceName>
    <CommandText>SELECT DISTINCT CostSet, CostSet AS CostSetDesc
    FROM vwForecastAccuracy
    UNION
    SELECT NULL AS Expr1, 'All' AS CostSetDesc
    ORDER BY CostSet</CommandText>
    </Query>
    <Fields>
    <Field Name="CostSet">
    <DataField>CostSet</DataField>
    <rd:TypeName>System.String</rd:TypeName>
    </Field>
    <Field Name="CostSetDesc">
    <DataField>CostSetDesc</DataField>
    <rd:TypeName>System.String</rd:TypeName>
    </Field>
    </Fields>
    </DataSet>
    <DataSet Name="YearLookup">
    <Query>
    <DataSourceName>BIDatabase</DataSourceName>
    <CommandText>SELECT DISTINCT YEAR(ReportingDate) AS Year
    FROM vwForecastAccuracy
    ORDER BY Year</CommandText>
    </Query>
    <Fields>
    <Field Name="Year">
    <DataField>Year</DataField>
    <rd:TypeName>System.Int32</rd:TypeName>
    </Field>
    </Fields>
    </DataSet>
    </DataSets>
    <ReportParameters>
    <ReportParameter Name="Year">
    <DataType>String</DataType>
    <Prompt>Year</Prompt>
    <ValidValues>
    <DataSetReference>
    <DataSetName>YearLookup</DataSetName>
    <ValueField>Year</ValueField>
    <LabelField>Year</LabelField>
    </DataSetReference>
    </ValidValues>
    </ReportParameter>
    <ReportParameter Name="CostType">
    <DataType>String</DataType>
    <Prompt>Cost Set</Prompt>
    <ValidValues>
    <DataSetReference>
    <DataSetName>CostTypeLookup</DataSetName>
    <ValueField>CostSet</ValueField>
    <LabelField>CostSetDesc</LabelField>
    </DataSetReference>
    </ValidValues>
    <MultiValue>true</MultiValue>
    </ReportParameter>
    </ReportParameters>
    <Language>en-US</Language>
    <ConsumeContainerWhitespace>true</ConsumeContainerWhitespace>
    <rd:ReportUnitType>Inch</rd:ReportUnitType>
    <rd:ReportID>19da6d82-a69b-4bb7-a634-2fee3191c5d8</rd:ReportID>
    </Report>
    Andrew Payze

Maybe you are looking for

  • Multicolum​n listbox value change and mouse up event in one case of event structure

    Hello All, Am facing two problems: 1. I have two multicolumn events, one is value change for deleting the rows of Multicolumn listbox and another one is mouse up for sorting the columns. But I can't combine both the events in one case. And if I creat

  • Error while sending the SOAP

    Hi All, We recently had SP upgrades fro sp09 to SP 17. From then we are getting an error as below when tring to send the soap message and the SOAP adapter went to inactive state .Several restarts dint help. Source: SAPIntegrationAdapter Message: <?xm

  • Clock icon

    How or why was the time 10:15 decided for the iphone

  • No Scanners to Select in Adobe Scan to PDF?

    I have a Lexmark X5450 Printer/Scanner and am running Snow Leopard (10.6.1). There are updated device drivers and I've successfully been able to use both scanners equipped on the X5450 in Image Capture. However, when I use Adobe Acrobat Pro 9 and wan

  • MacBook Pro A1278 won't turn on.

    Yesterday I connected my iPhone 5 to my MacBook Pro A1278 to install the new iOS 8.1. My MacBook died and I haven't been able to turn it on since, even though it's been fully charged. Is there anything I can do myself other than take it to the Apple