nv-l
[Top] [All Lists]

[NV-L] (no subject)

To: <nv-l@lists.ca.ibm.com>
Subject: [NV-L] (no subject)
From: "Lakka, Rajesh Kumar" <Rajesh.Lakka@in.unisys.com>
Date: Wed, 20 Sep 2006 15:04:22 +0530
Delivery-date: Wed, 20 Sep 2006 10:45:44 +0100
Envelope-to: nv-l-archive@lists.skills-1st.co.uk
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
Thread-index: Acbcl/QvE+wX5JNUQsGTHRLRQlZ3CA==
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. 
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                                          nodeName[256];
            CString                                     ComponentName;
            ComponentName = Component;
            ComponentName.MakeUpper ();
            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)
<Prev in Thread] Current Thread [Next in Thread>

Archive operated by Skills 1st Ltd

See also: The NetView Web