nv-l
[Top] [All Lists]

Re: [NV-L] Why is it that some symbols dont get added to the submap

To: Tivoli NetView Discussions <nv-l@lists.ca.ibm.com>
Subject: Re: [NV-L] Why is it that some symbols dont get added to the submap
From: Greg Keetch <gkeetch@ca.ibm.com>
Date: Wed, 27 Sep 2006 08:44:18 -0700
Delivery-date: Wed, 27 Sep 2006 16:47:01 +0100
Envelope-to: nv-l-archive@lists.skills-1st.co.uk
In-reply-to: <88299102B8C1F54BB5C8E47F30B2FBE2048204D1@inblr-exch1.eu.uis.unisys.com>
List-help: <mailto:nv-l-request@lists.ca.ibm.com?subject=help>
List-id: Tivoli NetView Discussions <nv-l.lists.ca.ibm.com>
List-post: <mailto:nv-l@lists.ca.ibm.com>
List-subscribe: <http://lists.ca.ibm.com/mailman/listinfo/nv-l>, <mailto:nv-l-request@lists.ca.ibm.com?subject=subscribe>
List-unsubscribe: <http://lists.ca.ibm.com/mailman/listinfo/nv-l>, <mailto:nv-l-request@lists.ca.ibm.com?subject=unsubscribe>
Reply-to: Tivoli NetView Discussions <nv-l@lists.ca.ibm.com>
Sender: nv-l-bounces@lists.ca.ibm.com



Hi Rajesh,

Sorry, meant to get back to you on this sooner but things have been pretty
busy for me.

I can't say for sure, but maybe this is a problem with character case. You
don't say if you're using NetView for Windows or Unix, so for your
reference any command I give are for Unix.

I would check the data in the DB using a couple of netview commands or a
shell script:

#!/bin/ksh
for selname in `/usr/OV/bin/nvUtil e "('EServer_sysName' ~ '.')"`; do
      echo "$selname ::" `/usr/OV/bin/ovobjprint -s $selname | grep
EServer_sysName`
done

This should give you a list of the object selection names and the related
setting for the EServer_sysName field. If the EServer_sysName field shows
data that is not all UPPERCASE for the three problem workstations (1, 3,
and 4) no object will be returned in your query.

If this is the case, you could update the field data in the DB to all
uppercase using the nvdbimport command, or remove the "
ComponentName.MakeUpper ();" line from the "AddComponentToSubmap()"
function and make sure the ComponentName is passed in the same character
case as it is stored in the DB. These are just a couple of starting point
ideas since, as in perl, timtowtdi (there is more than one way to do it).

I hope this helps.

Regards,
Greg Keetch
IT Specialist (Advisor), Network Services
Network Management Tools Specialist
Information Technology Services Americas (ITSA), Global Services, IBM
Canada



                                                                           
             "Lakka, Rajesh                                                
             Kumar"                                                        
             <Rajesh.Lakka@in.                                          To 
             unisys.com>               <nv-l@lists.ca.ibm.com>             
             Sent by:                                                   cc 
             nv-l-bounces@list                                             
             s.ca.ibm.com                                          Subject 
                                       [NV-L] Why is it that some symbols  
                                       dont get added to the submap        
             09/20/2006 02:23                                              
             AM                                                            
                                                                           
                                                                           
             Please respond to                                             
              Tivoli NetView                                               
                Discussions                                                
             <nv-l@lists.ca.ib                                             
                  m.com>                                                   
                                                                           
                                                                           




Dear NetView experts and group members,

My name is Rajesh. I am facing a peculiar problem here. I am developing a
connector program for the Tivoli NetView 7.1.4

I am having 5 systems (computers) in the same network segment or different.

(192.168.ABC.).
 Let us say the hostnames of the 5 systems are as follows:
Work Station 1
Work Station 2
Work Station 3
Work Station 4
Work Station 5

All these 5 systems are discovered by netview and their nodes are displayed
on the console.
I create a submap in my  own function :

CreateESubmap (){
int nnodes;
??..
??..
symbolId = OVwCreateSymbolBySelectionName
(OVwGetMapInfo(),pSymbolList->symbols[i].submap_id,SubmapName,"Network:cpEServer",submapName,ovwNormalStatus,ovwCompoundStatusSource,

NULL, ovwMergeDefaultCapabilities);

objectId = OVwDbSelectionNameToObjectId (submapName);
submapId = OVwCreateSubmap
(OVwGetMapInfo(),objectId,ovwSharedSubmap,ovwNoSubmapType,submapName,ovwBusLayout,ovwNoSubmapFlags);

//WHEN THE CODE REACHES HERE I CAN SEE THE SUBMAP IMAGE WITH THE NAME
submapName IS SHOWN IN THE CONSOLE.

//Now I want to add symbols to the submap which is already created.
//I try to add these work stations to the submapName.Now I try
//to add all these 5 Work Stations to the submap.
//One Workstation at a time in this for loop

for(int i=0;i<4;i++){
            If(addcomponenttosubmap(submapid,objectId,workstation))
            {
            nnodes=nnodes+1
            }



}




The implementation of addcomponenttosubmap is illustrated below.


bool CNV_ESDiscoveryDlg::AddComponentToSubmap(OVwSubmapId  submapId,
CString Component)
{
            bool     bComponentAdded       = false;
            int                     i;

            LogMessage ("\nAddComponentToSubmap : Entrance");


            OVwObjectId                             objectId;
            OVwObjectIdList                       * pObjectIdList;
            OVwObjectInfo              * pObjectInfo;

            OVwSymbolId                           symbolId;


            OVwFieldBinding                       * pFieldValue;

            char                                          * pchHostname;
            char                                          nodeName[256];

            CString                                     ComponentName;





            ComponentName = Component;

            ComponentName.MakeUpper ();

            LogValue ("Component", ComponentName.GetBuffer(1));

            for (i = 0; i < MAX_OBJECTS; i++) {
                        m_objectList[i] = ovwNullObjectId;
            }

            pFieldValue = new OVwFieldBinding;
            pFieldValue->field_val = new OVwFieldValue;
            pFieldValue->field_id =
OVwDbFieldNameToFieldId("EServer_sysName");
            pFieldValue->field_val->is_list = FALSE;
            pFieldValue->field_val->field_type = ovwStringField;
            pFieldValue->field_val->un.string_val =
ComponentName.GetBuffer(1);


            pObjectIdList = OVwDbListObjectsByFieldValue(pFieldValue);
            LogError("AddComponentTosubmap :
OvwDbListObjectsByFieldValue");


            if (pObjectIdList != NULL) {

                        LogMessage ("Object list != NULL");
                        LogValue ("Object count", pObjectIdList->count);

                        if (pObjectIdList->count > 0) {
                                    objectId =
pObjectIdList->object_ids[0];

                                    pObjectInfo = OVwGetObjectInfo
(OVwGetMapInfo(), objectId);




symbolId =  OVwCreateSymbol (OVwGetMapInfo(),
submapId,
objectId,
"Computer:WinNT",
nodeName,
ovwNormalStatus,
ovwCompoundStatusSource,
NULL,
ovwMergeDefaultCapabilities);
                                                                        if
(symbolId != ovwNullSymbolId) {
bComponentAdded = true;
//MessageBox(" MCP Componment Added ");
//MessageBox(nodeName);
                                                                        }

else {
LogError ("AddComponentToSubmap OVwCreate Symbol");
                                                                        }






                                    }




            }

            delete pFieldValue->field_val;
            delete pFieldValue;



            return bComponentAdded;

}   // AddComponentToSubmap



The problem I face is that a symbol gets added to the submap only when
pObjectIdList->count > 0 is true only for WorkStation 2 and WorkStation 5.
I can see these symbols under the submapName.
But for WorkStation 1 WorkStation 3 and WorkStation 4 the
pObjectIdList->count > 0 is false so nothing gets added to the submapName.

Even though all the workstations are in the same network segment I am
getting this problem.

If I put a OVwErrorMsg(OVwError()) after pObjectIdList =
OVwDbListObjectsByFieldValue(pFieldValue) always I get the message ?success
?for all the 5 workstations. But after this pObjectIdList->count > 0 is
false for WorkStation 1 WorkStation 3 and WorkStation 4.


Why pObjectIdList->count > 0 is false for WorkStation 1 WorkStation 3 and
WorkStation 4?

Waiting for your response,

Thanking you,
Rajesh_______________________________________________
NV-L mailing list
NV-L@lists.ca.ibm.com
Unsubscribe:NV-L-leave@lists.ca.ibm.com
http://lists.ca.ibm.com/mailman/listinfo/nv-l (Browser access limited to
internal IBM'ers only)



_______________________________________________
NV-L mailing list
NV-L@lists.ca.ibm.com
Unsubscribe:NV-L-leave@lists.ca.ibm.com
http://lists.ca.ibm.com/mailman/listinfo/nv-l (Browser access limited to 
internal IBM'ers only)

<Prev in Thread] Current Thread [Next in Thread>

Archive operated by Skills 1st Ltd

See also: The NetView Web