Total node count of a top level VI.

Hello everybody,
I've came across a problem, in a top-level VI, I want to know:
a> the total nodes count
b> nodes count which are member of vi.lib
c> nodes count which are member of user.lib.
Now after using 'SuperPrivateScriptingFeatureVisible=True' & 'SuperSecretPrivateSpecialStuff=True', I got a private property node 'Matrics >> Advance' and using the cluster output of the 'read only' property, I got the total nodes count.
Now the actual problem is to know, out of total nodes, which all are member of vi.lib and user.lib.
I am not allergic to Kudos, in fact I love Kudos.
 Make your LabVIEW experience more CONVENIENT.

Just to give you some background:
Nodes are a lot of different things: Functions, Structures, SubVIs, ... are you interested in counting ForLoops as well?
In your case, I'd use the TRefTraverse (It's in the Utility folder) to get all SubVIs. Then check the path. There are some OpenG 'Path Constants' for vi.lib and user lib. So just wire the output of the TRefTravese and check VI.path against does constants and count up.
Alternatively, you can use the Vi.Calees property. But this will only return you one count for each SubVI no matter how many instances you placed in the BD.
Felix
www.aescusoft.de
My latest community nugget on producer/consumer design
My current blog: A journey through uml

Similar Messages

  • Name from the Top level Parent

    I need to write a property to retrieve value from the top level node. My current heiarchies are:
    A1
         A2
              S1
              A3
    B1
         D2
              S1!Shared
              B2
    C1
         C2
              S1! Shared
              C3
    The required property is to check for the shared node and if the top level parent is A1, then create a property value with A.S1. Similarily, if it is B1 then B.S1 and so on. I am thinking this can be achieved by creating a list, derived property using the top level parent name. ex,
    List     Value
    A1     If shared node then concat A+Name
    How to achieve this?

    The nodes A1 B1 C1 are they part of the same hierarchy and child nodes under the Hierarchy Top Node? or is the scenario something else?
    Thanks
    Denzz

  • How to Display Detailed navigation passing Top level navigation node name

    Hi All,
    I have prepared a DLN par file but unfortunatly my requirement is such that I need to pass one of the toplevel node name as input parameter and that should display the corresponding DLN which is from 3rd level.
    I have checked in sdn for passing a value to the navigation tag lib which will consider it as a selectednode but could find none.
    Can some body suggest me how to acheive this.
    Thanks in Advance.
    Sai Krishna. K

    Hi Kiran,
    Thanks for your Reply..
    Following is my Scenario:
    I use 2 same versions of portals connected via federated portal concept.
    I have my detailed navigation par file in portal2 and was calling it from portal1 from a iview.
    Since I am not physically navigating in portal2(which mean there is no selected node to iterate ), when I call that iview in portal1 it is picking up only 1st node in top level navigation.
    So i need to pass "My reports" (as 1st level) & "India" (as 2nd level) as parameters such that it gets only its DTN at all times from 3rd level.
    Hope you understand my scenario, below is my iteration code logic.
    <div id="myslidemenu" class="jqueryslidemenu">
    <ul>
         <nav:iterateSelectedNavNodesLevel level="<%=START_LEVEL%>">
         <%-- the 'currentDepth' attribute provides the byte value of the current level --%>
        <nav:recurseNavNodeChildren currentDepth="depth">
             <% current = start + depth.intValue() - 1; %>
             <%=writeClosingTags(last - current)%>
             <%
            last = current;
            %>
            <%-- we want to distinguish between folder and leaf nodes so we can use different graphics --%>
              <%-- complete the html syntax for the 'class' attribute pass it as an anchor attribute--%>
              <li><nav:navNodeAnchor navigationMethod="byURL" />
              <%-- checks for additional navigation level and the appropriate html tags to accomodate them --%>
            <nav:ifNextRecursionDepthWillIncrease>
                <ul>
            </nav:ifNextRecursionDepthWillIncrease>
            <nav:ifNextRecursionDepthWillNotChange>
                </li>
            </nav:ifNextRecursionDepthWillNotChange>
        </nav:recurseNavNodeChildren>
        <%=writeClosingTags(last - start)%>
        <% last = start; %>
    </nav:iterateSelectedNavNodesLevel>
    </ul>
    </div>
    As per the passing parameter concept please explain me a bit more clear with step by step procedure.
    <b>Here if not passing parameters, providing static values will also do for my requirement.</b>
    Many Thanks,
    Sai Krishna.
    Edited by: Konchada Sai Krishna on Feb 14, 2009 9:42 PM

  • Xmlns attribute appearing in top level node

    I have an xml message that is parsed and its DOM tree built. Then a portion of the message, identified by an xpath, is extracted which is stored as XMLNode, which is later printed to a stream.
    Using the latest Oracle XML library ( comes with Oracle 10 ), the top level element in the node is always appended with extra 'xmlns' attribute.
    This is an example. The original message does not have
    this extra xmlns attribute.
    <RESPONSE xmlns="http://www.nlis-hub.co.uk/NS/2001-01-10">
    <PROPERTY_1>description 1</PROPERTY_1>
    <PROPERTY_2>description 2</PROPERTY_2>
    <PROPERTY_3>description 3</PROPERTY_3>
    </RESPONSE>
    How can we turn this behaviour off ?
    Thanks,
    Dwi

    THanks for replying.
    Yes, the XML document has the namespace specified:
    <ROOT_MESSAGE xmlns="http://www.nlis-hub.co.uk/NS/2001-01-10" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.nlis-hub.co.uk/NS/2001-01-10 Schema.xsd">
    <RESPONSE>
    <PROPERTY_1>description 1</PROPERTY_1>
    <PROPERTY_2>description 2</PROPERTY_2>
    <PROPERTY_3>description 3</PROPERTY_3>
    </RESPONSE>
    </ROOT_MESSAGE>
    In our application, we are storing the <RESPONSE>
    block to db as CLOB. We have a requirement to store it
    exactly as it was received. However, the XML parser (or something) is including the xmlns attribute in the top level node of that portion
    <RESPONSE xmlns="http://www.nlis-hub.co.uk/NS/2001-01-10">
    </RESPONSE>
    This is what is done to obtain the node:
    (xpathStr is the xpath to the RESPONSE node )
    NodeList nodeList = xmlDocument_.selectNodes( xpathStr, this );
    int nodeLength = nodeList.getLength();
    StringWriter xmlStringWriter = new StringWriter();
    PrintWriter xmlPrintWriter = new PrintWriter( xmlStringWriter );
    for( int nodeIndex = 0; nodeIndex < nodeLength; ++nodeIndex )
    XMLNode node = (XMLNode)nodeList.item( nodeIndex );
    node.print( xmlPrintWriter );
    StringBuffer xmlStringBuffer = xmlStringWriter.getBuffer();
    By the time it gets to the output stream, it already has the xmlns attribute appended to the top level node.
    How can we prevent this ?
    Thanks,
    Dwi

  • Not all Top level folders showing item count

    Hi there, I have Aperture 3.2.2 running on OSX 10.6.8.
    I use referenced files and a folder structure with a top folder and projects nested.
    Some of my top level folders when clicked, show ALL images in the projects nested below. Others do not. When I examine them in finder, nothing jumps out at me that is different. Have you any experience with this happening? Thanks, Deb

    Here is a screen shot.  Some of the blue folders will show all images nested in the projects below, some show nothing.  ie: 2013 shows all, but 2012, shows nothing.  You must click on each individual project to reveal the items contained.  I would like to click on each top level folder and see all items nested beneath.  There must be something I'm doing different, but for the life of me, can't figure it out.  Why some show and some don't.

  • How to avoid multiple top level navigation nodes ?

    Dear portal experts,
    If a user is assigned to multiple portal roles, which contain partially the same worksets, the user gets these worksets doubled in the top level navigation.
    Can this be avoided ? The portal should check the user roles and show each workset only once.
    Thanks,
    Johannes

    Hi,
    you have to set Merge ID attribute to the worksets.
    Regards,
    Ladislav

  • Top Level Navigation Manipulation in "Hosted Portal"

    We are in a position where we have to begin hosting additional content in our portal from a portal that is being decommissioned.
    The problem is we need to keep it seperate from the existing content from a user access point of view.
    While users can have access to roles from the existing content and from the soon to be "hosted" content, they have not to be seen in the portal at the same time.
    For example if the user accesses the portal with URL 1 they only see tabs in the top level navigation for the current content but if they access using URL 2 they only see tabs in the top level navigation for the "hosted" content.
    I know we can control most of the issues such hosting raises using URL Aliases in our Desktop Rules to display different desktops, but wanted to know if anyone knows of a simple way that this can be enforced in the standard top level navigation iView via either configuration or simple code change to prevent us having to develop our own TLN to cope with this.
    We are currently on EP7.0 SP13
    Thanks (and of course points) for any help you can offer.

    Hi Micheal,
    Thanks for your suggestions.
    We have managed to get halfway to our required solution with a very simple change to a copy of the standard top level navigation whereby we only process the PrintNavNodes method for iterations of the "initialNodes" which have the required node names - e.g.
    private void PrintNavNodes(IPortalComponentRequest request, IPortalComponentResponse response)
    for(Iterator it = initialNodes.iterator(); it.hasNext();)   {
    INavigationNode initialNode = (INavigationNode)it.next();
    // Start of Change - Portal Share Project
    String nodeName = initialNode.getName();
    if ( nodeName.endsWith("ccmaint_user")  ||  nodeName.endsWith("ccmaint_supervisor")  ) {
    // End of Change - Portal Share Project            
    firstContent = PrintNode(initialNode, request, response, 0);
    try {
    This effectively filters out the unwanted tabs in the desktop where this amended TLN is used. 
    This works fine where the tabs you want to see have sort priority putting them at the front of the list but leads to problems when used for the converse set of content as the desktop is still referring to the full "initialNodes" list and so while filtering at this level does render the TLN as required, it becomes unusable as the tab positions are still considered to be as they would be if you had not filtered any.
    For example:
    We have 5 tabs in total.  For URL 1 we wish to show only tabs 1 & 2.  For URL 2 we want tabs 3, 4 & 5.
    Using this method for URL 1 we are fine as Tabs 1 & 2 are in the correct positions but for URL 2 when the tabs are rendered they appear in positions 1, 2 & 3 as required but act somewhat as though they are still in positions 3, 4 & 5 (e.g. Select the first tab and the 3rd is highlighted and a page error occurs - "'children' is null or not an object").
    Not only this but the Inner Page still displays the content from the filtered tab 1 as opposed to tab 3.
    Can anyone advise a way we can get round these issues?
    Thanks
    Ian.
    P.S. Please excuse my naïvety in this area.
    Edited by: I. Butcher on Mar 27, 2008 10:31 AM

  • 3.0.9.8.5 - Total Row Count in reports

    "Total Row Count" seems to be broken after applying patch 3.0.9.8.5.
    After applying the patch, we viewed an existing report which returned (let's say) 25 rows (and I've got max rows per page set to 5):
    The first page correctly says: "Total Row Count in Report- 25" and "Row(s) 1 - 5 "
    But then clicking the 'next' button, the following page incorrectly says: "Total Row Count in Report- 10" and "Row(s) 6 - 10 "
    So, the total row count is getting screwed up. Clicking "previous" in the example above, the total row count goes down to '5'.
    Another 3.0.9.8.5 patch problem appears to be 5 extra <br>'s within the report customize page top level of buttons and the criteria form. Looks ugly.

    Thanks for the reply.
    Is there nothing I can do to fix this problem before the next 3.0.9 patch comes out? We've have perhaps another few months to go before we make the move to portal release 2.
    This one issue with patch 3.0.9.8.5 is mostly definitely a show-stopper for us...we cannot live with customers seeing errors as basic as "total rows" returned in queries....we will have to roll back to our previous patch level 3.0.9.8.3. By doing this, we will continue to get bad customer feedback because of the awful performance introduced by that patch (Internet Explorer HTTP 1.0 vs 1.1 / keepalives / SSL issue). That's not to mention that we won't see the benefits of the content-area export/import bug fixes in this latest pathset.
    So, if there is ANYTHING we can do to fix this one problem, we (and our customers) would greatly appreciate hearing about it.
    thanks,
    -john

  • Getting at a top-level XML attribute

    It's Friday afternoon... I'm fried and can't seem to figure
    out how to get at a top-level XML attribute.
    Some specifics...
    My XML doc has a single attribute in the top node followed by
    several "version" nodes
    <projData projectName="Spry Project">
    <version>
    I successfully load and create an xml data set from said XML
    file. Later on, I use the getDocument() method to refer to the XML
    DOM doc used by the original xml data set. I need to extract the
    value of the attribute "projectName" into a javascript variable.
    The xpath query should be "projData/@projectName" but all I
    get returned is an undefined value.
    Any ideas? I'm sure it's something simple that I'm
    overlooking.

    > can you please helo.
    This is impossible.
    Obviously your ABAP mapping is wrong. Fix it.

  • Top Level Navigation jumps to wrong workset

    Hi,
    In our portal (SP15), rather than loading the first page/iview of each workset in the top level navigation, we wanted a starter page that said something like 'click a menu item to continue'. To achieve this, I created the relevant URL iview and added it (delta-link) to each workset that appeared in the TLN. I then changed the properties of the iview so that it was Invisible in the Navigation AND Default Entry for Folder. So now when you click on a TLN node, the iview appears but doesn't show in the menu.
    However, this has created some strange behaviour. Once a node on the TLN has been selected that points to proper page or iview (i.e. one that appears in the navigation), if you then click on any workset on the second level (first level ones are ok), the TLN "jumps" back to the node which has the page/iview - but still shows the starter page iview. This means that users can't access any workset on the second level, except the first one to be displayed (i.e. when you have several nested worksets in a workset).
    Can anyone explain why this is happening? The problem only occurs when the starter iview is both Invisible in the Navigation AND Default Entry for the Folder. Is this expected behaviour (and if so, why?) or is it a bug? Is there another way to achieve what we want?
    Many thanks
    Jane

    If I do that, the iview does not appear because I already have an Entry Point above that level (i.e. the Workset). Entry Point as Yes only sets the initial navigation node, it doesn't force an iview to appear. (or at least this is what my testing has shown).
    We may have to rethink how we can do this - does anyone know of a way to stop the first iview/page loading in every TLN node, and instead just showing the portal background?
    Many thanks
    Jane

  • Customized Top Level Navigation iView

    Hello to all
    We are using a customized TLN iview. Its source code was modified to admit different URLs, and do the filtering depending of the default framework page which is using the TNL iview,
    I mean, the TLN would be copied inside a proyect folder on the Portal Content, where would be a DFPage that contains a copy of TNL iview, and this copy would have a different roleFilter attribute.
    Then, the TLN was modified again in order to merge roles that had the same name.
    Those changes doesn't seem really important, they have just declared some vars, and each of them added one code line. The first one extended the first part of an IF condition, and the second one extended it with another condition, using OR.
    The problem is that after the modifications, our TLN doesn't highlight correctly the first node when accessing or refreshing the Portal, instead of it shows a default start page that doesn't belong to any of our roles
    The TLN iview has a procedure named PrintNavNodes, which is called on the event OnClick (I assume), and when we accessrefresh the page too.
    The iview works well when clicking its buttons, it's just the first time it is used when the wrong page is shown, that's the problem we need to correct.
    This procedure (PrintNavNodes) lodges the code changes. The only var modified is String prefix, so maybe anyone could tell me a default value to it, o a way to catch that mistake in order to show another page when the default page is to appear.
    Also, I would appreciate if anyone knows about an API, andor a How to... manual, or any kind of documentation about this subject.
    We have no possibility of reject the changes, so we need to find an alternative solution. Here is the code...
    Thanks in advance, and regards
        private void PrintNavNodes(IPortalComponentRequest request, IPortalComponentResponse response)
         ILogger loggerArquitectura = request.getLogger(portal_logger);
             String strDataToPrint=;
         NavigationEventsHelperService navHelperService = (NavigationEventsHelperService)PortalRuntime.getRuntimeResources().getService(com.sap.portal.navigation.helperservice.navigation_events_helper);
         NavigationNodes initialNodes = navHelperService.getRealInitialNodes(request);       
    !-- Change Heiko Broker for SiteNavigation          
              IPortalComponentContext componentContext = request.getComponentContext();
              IPortalComponentProfile profile = componentContext.getProfile();
              String roleFilter = profile.getProperty(RoleFilter);
            if(initialNodes != null)
         INavigationNode firstChild = null;
         INavigationNode firstContent = null;          
         String prefix=ROLESportal_content;
    !-- Change Marta Alberto
         PROBLEM In the new TLN, when using the merge roles feature, the
         url of the merge roles is different (start with the word merge.....).
         This is a wrong implementation because it filters all the nodes that do
         not start with ROLES.
         SOLUTION Compare with the other prefix too.
         String newPrefixThatFixesTheProblem=MERGESportal_content;          
         String newPrefixThatFixesTheProblem=merge(;
                if(initialNodes.size()  0)      
                for(Iterator it = initialNodes.iterator(); it.hasNext();)
                    INavigationNode initialNode = (INavigationNode)it.next();
                        strDataToPrint=initialNode.getName(),;
    !-- Change Heiko Broker for SiteNavigation          
         if (initialNode.getName().startsWith(prefix+roleFilter)
    !-- Change Marta Alberto
         PROBLEM In the new TLN, when using the merge roles feature, the
         url of the merge roles is different (start with the word merge.....).
         This is a wrong implementation because it filters all the nodes that do
         not start with ROLES.
         SOLUTION Compare with the other prefix too.
          initialNode.getName().startsWith(newPrefixThatFixesTheProblem + prefix + roleFilter))                    
                         firstContent = PrintNode(initialNode, request, response, 0);
                         if(firstChild == initialNode)
                             if(firstChild.getLaunchURL() != null && !firstChild.getLaunchURL().equals())
                                 firstContent = firstChild;
                             else
                             if(firstContent == null)
                                 try
                   firstContent = firstChild.getFirstChild();
                                 catch(NamingException e)
                   ILogger logger = request.getLogger(navigation_logger);
                   if(logger != null && logger.isActive())
                        logger.severe(this, e, Exception in Top Level Navigation);
                             HttpSession httpSession = request.getServletRequest().getSession();
                             httpSession.setAttribute(NavFirstContentNode, firstContent);
                }  end FOR
            response.write(););

    Hi,
    Check authentication related properties of iView. Make sure all of them are set to lowest level or none
    Regards,
    Ganga

  • Hide Top level navigation if user assigned only one role

    Hi,
    I would like to hide the top level navigation if user assigned with only one role.
    I can create role based rule to show desktop using Master rule collection, but is it possible by doing to with role count.
    If user has multiple roles show desktop1 else show desktop2

    not sure if this possible ,you may check feasibility of creating  a application which checks user role count and if role count is = 1 load the Portal url (URL alais) which had TLN iview invisible in the same window else do nothing and load the portal with the desktop which has tln.
    Put the application in framewrk page which has TLN visible.
    create a URL alias and create a desktop -framework page which dont have TLN ,assign this desktop to this URL alias in rule collection set its priority before user conditions check in rule collection so that it has high priority before user or group check in rule collection.
    you can create a poc in sandbox and check if it wiorks?

  • OHW Top-Level entry in tree-based TOC navigator

    Hi Team,
    Is it possible to specify the text string in the "Top Level" location? We would prefer to have our product name rather than the words "Top Level".
    We are combining multiple helpsets through a master helpset file. The <title> string from each subhelpset establishes the second-level TOC entries. Our html <title>s establish the rest of the TOC entries.
    We are using:
    <parameters>
    <combineBooks>false</combineBooks>
    <useLabelInfo>true</useLabelInfo>
    </parameters>

    Currently, there is no mechanism to change the text for the "Top Level" node.
    One thing we might do for the future would allow users to specify their own resource bundles for OHW UI, or provide some means for untranslated text to be displayed for this.

  • Budget Control at top level WBS only

    Hello All,
    I have a requirement from client where I need to activate the Budget control (90% warning and 100% error). I have done the setting accordingly.
    Now the scenario is such that when client is doing budgeting, they are allocating the budget only at top level WBS (they have a different legacy, where they are doing there detail planning n budgeting, but since they want the feature of budget control in PS, they will do minimal budgeting in PS). As per my settings when I budget top level WBS and save the availabity control is activated (with no budget on lower level WBS). Now when I try to do some postings/or assign that WBS to PO, even with a value of 1 USD, i am getting an error of budget exceeded, which is fine as per the settings as that WBS is having 0 budget.
    The requirement from client side is such that they want AVAC to be activated only at top WBS and do postings to lower WBS. But if the total of lower WBS exceed the budget of top WBS, they should get an warning or error. For example:
    WBS level  BUDGET ACTUALS
      1               100
      2                              50
      2                              50
    so as soon as the actuals touch 100, the system should give an error/warning. Note that the 2nd level WBS are not budgeted in SAP, so budget is 0 on them.
    I have 2 questions:
    1.Is it possible to activate AVAC only for top WBS ?(without any enhancement/development)
    2.How the AVAC will work, if the total of 2nd level WBS exceeds the budget of top WBS (as explained in example above)?
    Awating your replies.
    Thanks
    Sarang

    Thanks Virendra, it was useful.
    I tried other way round also i.e. by not marking the release tab in OPS9 and activating AVAC in CJ30.It works in that way too.
    For my other question, regarding activating AVAC only at top level, we can achiebve that by using transaction control in user status.
    Thanks
    Sarang

  • How to find out the node count?

    How to find out the node count in illustrator document through programmatically. Kindly advice me.

    Check DBA_HIST_RESOURCE_LIMIT. Your information will be there.
    Simialr information is available in DBA_HIST_SYSSTAT.
    Look for stat name logons cumulative/logons current - Total number of logons since the instance started/Total number of current logons
    You can joing dba_hist_snapshot with snap_id and give begin_interval_time and end_interval_time to know historic process utilization.
    Regards,
    Sreejith

Maybe you are looking for