KNOWN ISSUE: SP1 filter "Windows computers requiring pcAnywhere plug-in Upgrade" shows errors

Article:TECH45379  |  Created: 2009-09-28  |  Updated: 2012-05-10  |  Article URL http://www.symantec.com/docs/TECH45379
NOTE: If you are experiencing this particular known issue, we recommend that you Subscribe to receive email notification each time this article is updated. Subscribers will be the first to learn about any releases, status changes, workarounds or decisions made.
Article Type
Technical Solution

Product(s)

Issue



Under the policy "pcAnywhere Plug-in for Windows Upgrade", the default Target is filter "Windows computers requiring pcAnywhere plug-in Upgrade".  The filter shows 0 for the count. 

From within the Upgrade policy, double-click the filter to open the Edit dialog, then click the "Update results" button.   The dialog will then show "No items found".  Click OK, and another dialog box will pop up stating "The data could not be loaded."

In addition, click Manage > Filters > Software > Agents and Plug-in Filters.  Click the filter "Windows computers requiring pcAnywhere plug-in Upgrade". 
Under Filter Membership on the right, click the "Update membership" button.  The following error string appears:
"Error updating the filter membership. The membership grid may not display the correct membership. Check logs for more details."


Environment



pcAnywhere Solution 12.5 (which shipped with CMS 7.0), with Service Pack 1 version 12.5.415


This article does not apply to pcAnywhere Solution 12.6 (which shipped with CMS 7.1).  If you are interested in issues related to pcAnywhere Solution 12.6, click the link below to open the article entitled "How to find the latest information about pcAnywhere Solution 12.6".


Cause



The SQL query used by the filter returns an error because after upgrading to pcAnywhere Solution SP1, there are two rows passed to a function which returns the latest version.


Solution



 

 

UPDATE Item
SET [State] =
'<item> <isManualUpdate>false</isManualUpdate> <manufacturer /> <dataSource typeGuid="b29ba3f7-cc80-4988-a341-d8471b05ea1d"> <configuration> <base> <parameters /> </base> <query><![CDATA[ select r.Guid, i.[Product Version] from vComputerResource r,Inv_AeX_AC_Client_Agent i, Inv_AeX_AC_Identification a where i.[Agent Class Guid] = ''452f2bcf-7261-4aa6-9228-387676f3a183'' and r.Guid = i.[_ResourceGuid] and r.Guid = a.[_ResourceGuid] and r.IsManaged=1 and r.Guid IN (select p.ResourceGuid as Guid from pcAnywhere_License_Status p where r.Guid=p.[ResourceGuid] and ( p.Status = ''Active'') and (dbo.fnpcAnywhere_plugin_CompareVersion(i.[Product Version], (SELECT dbo.GetLatestpcAVersion(State) FROM vProduct WHERE ProductGuid = ''c432b710-f971-11a2-8643-20105bf409af'' and Guid = ''c432b710-f971-11a2-8643-20105bf409af'')) < 0) ) ]]></query> </configuration> </dataSource> </item>'
WHERE Guid = 'E397B6AE-AD14-4D40-BE03-8840FE824235'

 

UPDATE vProduct
SET State = '<item><url /><imageUrl /><replicateFolderContents>False</replicateFolderContents><msiVersion>12.5.415</msiVersion><version>12.5.415.0</version><legacyXml></legacyXml></item>'
WHERE (Guid = 'c432b710-f971-11a2-8643-20105bf409af')

Please contact Symantec Technical Support if you need help with implementing a work-around.

 

This issue is resolved in Service Pack 2 of pcAnywhere

If you are unable to update, a work-around is available.  Symantec recommends that you first make a full backup of your database before proceeding.

 

Copy and paste the following two SQL statements into SQL Server Management Studio and execute them against the database (named Symantec_CMDB by default):

IMPORTANT: when pasting into SQL, ensure that the lines that begin with “‘<item> “ exist on a single line. The next lines begins with “WHERE Guid“.  After executing those statements, you should see two Messages which both state  "1 row(s) affected".  The first statement updates the filter query such that it returns the proper row, and the second statement ensures that the expected version information is stored in the database.

 

If you are using SP2, run the following query:

UPDATE Item
SET [State] =
'<item> <isManualUpdate>false</isManualUpdate> <manufacturer /> <dataSource typeGuid="b29ba3f7-cc80-4988-a341-d8471b05ea1d"> <configuration> <base> <parameters /> </base> <query><![CDATA[ select r.Guid, i.[Product Version] from vComputerResource r,Inv_AeX_AC_Client_Agent i, Inv_AeX_AC_Identification a where i.[Agent Class Guid] = ''452f2bcf-7261-4aa6-9228-387676f3a183'' and r.Guid = i.[_ResourceGuid] and r.Guid = a.[_ResourceGuid] and r.IsManaged=1 and r.Guid IN (select p.ResourceGuid as Guid from pcAnywhere_License_Status p where r.Guid=p.[ResourceGuid] and ( p.Status = ''Active'') and (dbo.fnpcAnywhere_plugin_CompareVersion(i.[Product Version], (SELECT dbo.GetLatestpcAVersion(State) FROM vProduct WHERE ProductGuid = ''c432b710-f971-11a2-8643-20105bf409af'' and Guid = ''c432b710-f971-11a2-8643-20105bf409af'')) < 0) ) ]]></query> </configuration> </dataSource> </item>'
WHERE Guid = 'E397B6AE-AD14-4D40-BE03-8840FE824235'

UPDATE vProduct
SET State = '<item><url /><imageUrl /><replicateFolderContents>False</replicateFolderContents><msiVersion>12.5.539</msiVersion><version>12.5.539.0</version><legacyXml></legacyXml></item>'
WHERE (Guid = 'c432b710-f971-11a2-8643-20105bf409af')

If you are using SP1, run the following query:

 

Note:  If you have any clones of this filter from previous builds, they will continue to error.  You will need to make new clones of this filter to work with.


Supplemental Materials

ValueETK 1845517
Description

Logged in Etrack (Symantec) database



Legacy ID



49314


Article URL http://www.symantec.com/docs/TECH45379


Terms of use for this information are found in Legal Notices