I suggest you give up this programming exercise and just group your
particular nodes into a smartset. Or group them on the map using
location.conf. Those additions to NetView have made most user programming
pointless. It's difficult to do correctly and won't give you anything more
than those two will give you, especially on Windows. You did not mention
what platform this was intended for, but by the style of the code, that's
what I am guessing is your development platform.
I know it's not the answer you wanted but unless you call or e-mail Support
and open a problem, that's may be the best answer I can give you. I
have not worked on ovw or ipmap in a very long time. But I can see that
you are trying to populate this submap by querying the database for object
field values,
pObjectIdList = OVwDbListObjectsByFieldValue(pFieldValue);
Are you certain that is working? That's where I'd start putting in debug
statements or tracing printf's if I were you. If your investigation shows
that the ovwdb utilities are not working correctly, then you can turn that
issue over to Support.
James Shanks
Level 3 Support for Tivoli NetView for UNIX and Windows
Network Availability Management
Network Management - Development
Tivoli Software, IBM Corp
"Lakka, Rajesh
Kumar"
<Rajesh.Lakka@in. To
unisys.com> "Tivoli NetView Discussions"
Sent by: <nv-l@lists.ca.ibm.com>
nv-l-bounces@list cc
s.ca.ibm.com
Subject
RE: [NV-L] Some systems dont get
09/20/2006 06:09 added to the submap.
AM
Please respond to
Tivoli NetView
Discussions
<nv-l@lists.ca.ib
m.com>
Jane,
Sorry I did not mention anything in the subject line of the mail
earlier.
The earlier mail which I sent in html format failed to reach nv-list
because it was 60 KB and I had to switch to plain text format.
In the scenario I am using there will be certain systems with our SNMP
MIB running on them. We need display them on the console using our own
submap representation. The submap is created perfectly but some of its
components fail to add.
The problem is that
1. Some systems are not getting added to the submap. They fail to add
when pObjectIdList->count > 0 is false.
2.I want to know why the condition (pObjectIdList->count > 0) is
becoming false for some systems (ie pObjectIdList->count is 0 instead of
being 1).
Thanks,
Rajesh
-----Original Message-----
From: nv-l-bounces@lists.ca.ibm.com
[mailto:nv-l-bounces@lists.ca.ibm.com] On Behalf Of Jane Curry
Sent: Wednesday, September 20, 2006 3:22 PM
To: Tivoli NetView Discussions
Subject: Re: [NV-L] (no subject)
Hi Rajesh,
Perhaps you might explain a bit at a higher level, what you are trying
to achieve? Most people who use NetView do not need to resort to
programming with the APIs. Perhaps there is an easier way of achieving
what you want??
Cheers,
Jane
Lakka, Rajesh Kumar wrote:
> 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:c
pEServer",submapName,ovwNormalStatus,ovwCompoundStatusSource,
NULL, ovwMergeDefaultCapabilities);
> objectId = OVwDbSelectionNameToObjectId (submapName);
> submapId = OVwCreateSubmap
(OVwGetMapInfo(),objectId,ovwSharedSubmap,ovwNoSubmapType,submapName,ovw
BusLayout,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)
>
--
Tivoli Certified Consultant & Instructor
Skills 1st Limited, 2 Cedar Chase, Taplow, Bucks, SL6 0EU, UK
Tel: +44 (0)1628 782565
Copyright (c) 2006 Jane Curry <jane.curry@skills-1st.co.uk>. All rights
reserved.
_______________________________________________
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)
_______________________________________________
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)
|