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)