nv-l
[Top] [All Lists]

Re: [NV-L] (no subject)

To: Tivoli NetView Discussions <nv-l@lists.ca.ibm.com>
Subject: Re: [NV-L] (no subject)
From: Jane Curry <jane.curry@skills-1st.co.uk>
Date: Wed, 20 Sep 2006 10:51:58 +0100
Delivery-date: Wed, 20 Sep 2006 10:53:09 +0100
Envelope-to: nv-l-archive@lists.skills-1st.co.uk
In-reply-to: <88299102B8C1F54BB5C8E47F30B2FBE20482056A@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>
References: <88299102B8C1F54BB5C8E47F30B2FBE20482056A@inblr-exch1.eu.uis.unisys.com>
Reply-to: Tivoli NetView Discussions <nv-l@lists.ca.ibm.com>
Sender: nv-l-bounces@lists.ca.ibm.com
User-agent: Mozilla Thunderbird 1.0.8 (X11/20060411)
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: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)

--
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)

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

Archive operated by Skills 1st Ltd

See also: The NetView Web