When creating a AM Query for Software Packages - SW Package... with a Completion Time and operator Days Older :
Following error appears when a preview of the query is done or when the query is executed
Database Error! [AMM001002]
ADO Version 10.0 - COM Error: ErrorCode:-2147217913,WordErrorCode:3079, IDispatch error #3079, Conversion failed when converting the varchar value '(1752501820-864000)' to data type int., Microsoft SQL Server Native Client 11.0, (null)
Same error also occurs for fields "Creation Time" and "Package Created"
Client Automation 14.5
Generated SQL Query is like :
ca_discovered_hardware.dis_hw_uuid in (SELECT usd_applic.target FROM usd_applic, usd_actproc, usd_rsw WHERE $(RDS_BITSET4BIN)(usd_applic.task,0) AND usd_applic.actproc=usd_actproc.objectid AND usd_actproc.rsw=usd_rsw.objectid AND usd_applic.status IN (9,29) AND usd_applic.uninstallstate!=2 AND usd_rsw.itemname = '7Zip' AND usd_rsw.itemversion = '25.0.0' AND usd_actproc.itemname = 'inst' AND usd_applic.completiontime < '($DATE$-864000)' )
Problem is here :
usd_applic.completiontime < '($DATE$-864000)'
If the quote characters are removed it works :
usd_applic.completiontime < ($DATE$-864000)
quotes characters are not needed as usd_applic.completiontime is an integer
Execute these 4 SQL UPDATE in mdb database :
use mdb
UPDATE RPDATFLD SET flddef=N'Crit2PseudoTemplate=Procedure $CritOperator$ ''$CritValueLabel$'' ;'+CHAR(13)+CHAR(10)+N'Crit0PseudoTemplate=Package Name $CritOperator$ ''$CritValueLabel$'' ;'+CHAR(13)+CHAR(10)+N'Crit1PossibleValues=select DISTINCT itemversion as label, itemversion as value from usd_rsw order by label;'+CHAR(13)+CHAR(10)+N'Crit2ValueSelector=VS_LIST;'+CHAR(13)+CHAR(10)+N'Crit2PossibleValues=select DISTINCT itemname as label, itemname as value from usd_actproc where $(RDS_NOTEMPTY)(itemname) order by label;'+CHAR(13)+CHAR(10)+N'Crit7SqlTemplate=AND usd_rsw.creationtime $CritOperator$ $CritValue$;'+CHAR(13)+CHAR(10)+N'Crit9SqlTemplate=AND usd_rsw.$(RDS_SAFENAMEC)(comment) $CritOperator$ ''$CritValue$'';'+CHAR(13)+CHAR(10)+N'DisplayEnum=;'+CHAR(13)+CHAR(10)+N'Crit0Type=CT_OBJECT;'+CHAR(13)+CHAR(10)+N'Crit3PseudoTemplate=Status = ''$CritValueLabel$'' ;'+CHAR(13)+CHAR(10)+N'Crit4SqlTemplate=AND usd_applic.administrator $CritOperator$ ''$CritValue$'';'+CHAR(13)+CHAR(10)+N'Crit6PseudoTemplate=Completion Time $CritOperator$ ''$CritValueLabel$'' ;'+CHAR(13)+CHAR(10)+N'Crit7PseudoTemplate=Created $CritOperator$ ''$CritValueLabel$'' ;'+CHAR(13)+CHAR(10)+N'Crit7Name=Package Created;'+CHAR(13)+CHAR(10)+N'Crit7Required=0;'+CHAR(13)+CHAR(10)+N'Usage=0;'+CHAR(13)+CHAR(10)+N'CriteriaCount=10;'+CHAR(13)+CHAR(10)+N'Crit6SqlTemplate=AND usd_applic.completiontime $CritOperator$ $CritValue$;'+CHAR(13)+CHAR(10)+N'Crit8Name=Package Supplier;'+CHAR(13)+CHAR(10)+N'Crit1SqlTemplate=AND usd_rsw.itemversion $CritOperator$ ''$CritValue$'';'+CHAR(13)+CHAR(10)+N'Crit4Name=Ordered By;'+CHAR(13)+CHAR(10)+N'Crit6Name=Completion Time;'+CHAR(13)+CHAR(10)+N'Crit8PseudoTemplate=Supplier $CritOperator$ ''$CritValueLabel$'' ;'+CHAR(13)+CHAR(10)+N'PseudoTemplate=($Crit0Pseudo$$Crit1Pseudo$$Crit3Pseudo$$Crit2Pseudo$$Crit4Pseudo$$Crit5Pseudo$$Crit6Pseudo$$Crit7Pseudo$$Crit8Pseudo$$Crit9Pseudo$);'+CHAR(13)+CHAR(10)+N'Crit0Name=Package Name;'+CHAR(13)+CHAR(10)+N'Crit0Required=1;'+CHAR(13)+CHAR(10)+N'Crit2Required=0;'+CHAR(13)+CHAR(10)+N'Crit4PossibleValues=select DISTINCT administrator as label, administrator as value from usd_applic where $(RDS_NOTEMPTY)(administrator) order by label;'+CHAR(13)+CHAR(10)+N'Crit5SqlTemplate=AND usd_applic.creationtime $CritOperator$ $CritValue$;'+CHAR(13)+CHAR(10)+N'Crit0ValueSelector=VS_LIST;'+CHAR(13)+CHAR(10)+N'Crit1Type=CT_OBJECT;'+CHAR(13)+CHAR(10)+N'Crit5Required=0;'+CHAR(13)+CHAR(10)+N'Crit5ValueSelector=VS_EDITABLELIST;'+CHAR(13)+CHAR(10)+N'Category=Software>Software Packages;'+CHAR(13)+CHAR(10)+N'Table=usd_rsw;'+CHAR(13)+CHAR(10)+N'Crit1PseudoTemplate=Package Version $CritOperator$ ''$CritValueLabel$'' ;'+CHAR(13)+CHAR(10)+N'Crit4Required=0;'+CHAR(13)+CHAR(10)+N'' WHERE srcid='ITRM_USD11' AND locid='ENU' AND fldname='Deployment>SW Package...'
UPDATE RPDATFLD SET flddef=cast(cast(flddef AS NVARCHAR(MAX))+cast(N'Crit4ValueMapping=$ORDEREDBY_%CATALOG%=Catalog|$ORDEREDBY_%SYSTEM%=System|$ORDEREDBY_%SWDETECTOR%=Software Detector|;'+CHAR(13)+CHAR(10)+N'Crit5Name=Creation Time;'+CHAR(13)+CHAR(10)+N'Column=itemname;'+CHAR(13)+CHAR(10)+N'Crit0PossibleValues=select DISTINCT itemname as label, itemname as value from usd_rsw order by label;'+CHAR(13)+CHAR(10)+N'Crit3Type=CT_OBJECT;'+CHAR(13)+CHAR(10)+N'Crit3ValueSelector=VS_LIST;'+CHAR(13)+CHAR(10)+N'Crit7Type=CT_DATE;'+CHAR(13)+CHAR(10)+N'Crit7ValueSelector=VS_EDITABLELIST;'+CHAR(13)+CHAR(10)+N'Crit8ValueSelector=VS_EDITABLELIST;'+CHAR(13)+CHAR(10)+N'Crit1Required=0;'+CHAR(13)+CHAR(10)+N'Crit2Name=Procedure;'+CHAR(13)+CHAR(10)+N'Crit3Name=Status;'+CHAR(13)+CHAR(10)+N'Crit3SqlTemplate=SELECT usd_applic.target FROM usd_applic, usd_actproc, usd_rsw WHERE $(RDS_BITSET4BIN)(usd_applic.task,0) AND usd_applic.actproc=usd_actproc.objectid AND usd_actproc.rsw=usd_rsw.objectid AND usd_applic.status IN ($CritValue$) AND usd_applic.uninstallstate!=2;'+CHAR(13)+CHAR(10)+N'Crit9PossibleValues=select DISTINCT $(RDS_SAFENAMEC)(comment) as label, $(RDS_SAFENAMEC)(comment) as value from usd_rsw order by label;'+CHAR(13)+CHAR(10)+N'Name=Deployment > SW Package...;'+CHAR(13)+CHAR(10)+N'Crit2Type=CT_OBJECT;'+CHAR(13)+CHAR(10)+N'Crit3Required=1;'+CHAR(13)+CHAR(10)+N'Crit4ValueSelector=VS_EDITABLELIST;'+CHAR(13)+CHAR(10)+N'Crit5PseudoTemplate=Creation Time $CritOperator$ ''$CritValueLabel$'' ;'+CHAR(13)+CHAR(10)+N'Crit7PossibleValues=select DISTINCT creationtime as label, creationtime as value from usd_rsw order by label;'+CHAR(13)+CHAR(10)+N'Crit9PseudoTemplate=Comment $CritOperator$ ''$CritValueLabel$'' ;'+CHAR(13)+CHAR(10)+N'From=usd_rsw;'+CHAR(13)+CHAR(10)+N'Crit2SqlTemplate=AND usd_actproc.itemname $CritOperator$ ''$CritValue$'';'+CHAR(13)+CHAR(10)+N'Crit3PossibleValues=Deployed=9,29|Deploying or Deployed=0,1,2,3,4,6,7,8,9,17,18,19,20,21,27,29|Deploying=1,2,3,4,7,8,17,18,19,20,21,27|Deployment failed=10,15,16,28|;'+CHAR(13)+CHAR(10)+N'Crit6Required=0;'+CHAR(13)+CHAR(10)+N'Crit8Required=0;'+CHAR(13)+CHAR(10)+N'Crit8Type=CT_STRING;'+CHAR(13)+CHAR(10)+N'Crit8PossibleValues=select DISTINCT supplier as label, supplier as value from usd_rsw order by label;'+CHAR(13)+CHAR(10)+N'Crit9Name=Package Comment;'+CHAR(13)+CHAR(10)+N'SqlTemplate=$target.primarykeyfield$ in ($Crit3Sql$ $Crit0Sql$ $Crit1Sql$ $Crit2Sql$ $Crit4Sql$ $Crit5Sql$ $Crit6Sql$ $Crit7Sql$ $Crit8Sql$ $Crit9Sql$);'+CHAR(13)+CHAR(10)+N'Crit0SqlTemplate=AND usd_rsw.itemname $CritOperator$ ''$CritValue$'';'+CHAR(13)+CHAR(10)+N'Crit5PossibleValues=select DISTINCT creationtime as label, creationtime as value from usd_applic order by label;'+CHAR(13)+CHAR(10)+N'Crit6PossibleValues=select DISTINCT completiontime as label, completiontime as value from usd_applic order by label;'+CHAR(13)+CHAR(10)+N'Crit9Type=CT_STRING;'+CHAR(13)+CHAR(10)+N'Crit6ValueSelector=VS_EDITABLELIST;'+CHAR(13)+CHAR(10)+N'Crit9Required=0;'+CHAR(13)+CHAR(10)+N'Crit9ValueSelector=VS_EDITABLELIST;'+CHAR(13)+CHAR(10)+N'Crit1Name=Package Version;'+CHAR(13)+CHAR(10)+N'Crit1ValueSelector=VS_LIST;'+CHAR(13)+CHAR(10)+N'Crit8SqlTemplate=AND usd_rsw.supplier $CritOperator$ ''$CritValue$'';'+CHAR(13)+CHAR(10)+N'Where=;'+CHAR(13)+CHAR(10)+N'Crit4Type=CT_STRING;'+CHAR(13)+CHAR(10)+N'Crit4PseudoTemplate=Procedure $CritOperator$ ''$CritValueLabel$'' ;'+CHAR(13)+CHAR(10)+N'Crit5Type=CT_DATE;'+CHAR(13)+CHAR(10)+N'Crit6Type=CT_DATE;'+CHAR(13)+CHAR(10)+N'ProcessSiblings=0;'+CHAR(13)+CHAR(10)+N'' AS NVARCHAR(MAX)) AS NTEXT) WHERE srcid='ITRM_USD11' AND locid='ENU' AND fldname='Deployment>SW Package...'
UPDATE RPDATFLD SET flddef=N'Crit2PseudoTemplate=Procedure $CritOperator$ ''$CritValueLabel$'' ;'+CHAR(13)+CHAR(10)+N'Crit0PseudoTemplate=Package Name $CritOperator$ ''$CritValueLabel$'' ;'+CHAR(13)+CHAR(10)+N'Crit1PossibleValues=select DISTINCT itemversion as label, itemversion as value from usd_rsw order by label;'+CHAR(13)+CHAR(10)+N'Crit2ValueSelector=VS_LIST;'+CHAR(13)+CHAR(10)+N'Crit2PossibleValues=select DISTINCT itemname as label, itemname as value from usd_actproc where $(RDS_NOTEMPTY)(itemname) order by label;'+CHAR(13)+CHAR(10)+N'Crit7SqlTemplate=AND usd_rsw.creationtime $CritOperator$ $CritValue$;'+CHAR(13)+CHAR(10)+N'Crit9SqlTemplate=AND usd_rsw.$(RDS_SAFENAMEC)(comment) $CritOperator$ ''$CritValue$'';'+CHAR(13)+CHAR(10)+N'DisplayEnum=;'+CHAR(13)+CHAR(10)+N'Crit0Type=CT_OBJECT;'+CHAR(13)+CHAR(10)+N'Crit3PseudoTemplate=Status = ''$CritValueLabel$'' ;'+CHAR(13)+CHAR(10)+N'Crit4SqlTemplate=AND usd_applic.administrator $CritOperator$ ''$CritValue$'';'+CHAR(13)+CHAR(10)+N'Crit6PseudoTemplate=Completion Time $CritOperator$ ''$CritValueLabel$'' ;'+CHAR(13)+CHAR(10)+N'Crit7PseudoTemplate=Created $CritOperator$ ''$CritValueLabel$'' ;'+CHAR(13)+CHAR(10)+N'Crit7Name=Package Created;'+CHAR(13)+CHAR(10)+N'Crit7Required=0;'+CHAR(13)+CHAR(10)+N'Usage=0;'+CHAR(13)+CHAR(10)+N'CriteriaCount=10;'+CHAR(13)+CHAR(10)+N'Crit6SqlTemplate=AND usd_applic.completiontime $CritOperator$ $CritValue$;'+CHAR(13)+CHAR(10)+N'Crit8Name=Package Supplier;'+CHAR(13)+CHAR(10)+N'Crit1SqlTemplate=AND usd_rsw.itemversion $CritOperator$ ''$CritValue$'';'+CHAR(13)+CHAR(10)+N'Crit4Name=Ordered By;'+CHAR(13)+CHAR(10)+N'Crit6Name=Completion Time;'+CHAR(13)+CHAR(10)+N'Crit8PseudoTemplate=Supplier $CritOperator$ ''$CritValueLabel$'' ;'+CHAR(13)+CHAR(10)+N'PseudoTemplate=($Crit0Pseudo$$Crit1Pseudo$$Crit3Pseudo$$Crit2Pseudo$$Crit4Pseudo$$Crit5Pseudo$$Crit6Pseudo$$Crit7Pseudo$$Crit8Pseudo$$Crit9Pseudo$);'+CHAR(13)+CHAR(10)+N'Crit0Name=Package Name;'+CHAR(13)+CHAR(10)+N'Crit0Required=1;'+CHAR(13)+CHAR(10)+N'Crit2Required=0;'+CHAR(13)+CHAR(10)+N'Crit4PossibleValues=select DISTINCT administrator as label, administrator as value from usd_applic where $(RDS_NOTEMPTY)(administrator) order by label;'+CHAR(13)+CHAR(10)+N'Crit5SqlTemplate=AND usd_applic.creationtime $CritOperator$ $CritValue$;'+CHAR(13)+CHAR(10)+N'Crit0ValueSelector=VS_LIST;'+CHAR(13)+CHAR(10)+N'Crit1Type=CT_OBJECT;'+CHAR(13)+CHAR(10)+N'Crit5Required=0;'+CHAR(13)+CHAR(10)+N'Crit5ValueSelector=VS_EDITABLELIST;'+CHAR(13)+CHAR(10)+N'Category=Software>Software Packages Users Profiles;'+CHAR(13)+CHAR(10)+N'Table=usd_rsw;'+CHAR(13)+CHAR(10)+N'Crit1PseudoTemplate=Package Version $CritOperator$ ''$CritValueLabel$'' ;'+CHAR(13)+CHAR(10)+N'Crit4Required=0;'+CHAR(13)+CHAR(10)+N'' WHERE srcid='ITRM_USERPROFILES11' AND locid='ENU' AND fldname='Deployment>SW Package...'
UPDATE RPDATFLD SET flddef=cast(cast(flddef AS NVARCHAR(MAX))+cast(N'Crit4ValueMapping=$ORDEREDBY_%CATALOG%=Catalog|$ORDEREDBY_%SYSTEM%=System|$ORDEREDBY_%SWDETECTOR%=Software Detector|;'+CHAR(13)+CHAR(10)+N'Crit5Name=Creation Time;'+CHAR(13)+CHAR(10)+N'Column=itemname;'+CHAR(13)+CHAR(10)+N'Crit0PossibleValues=select DISTINCT itemname as label, itemname as value from usd_rsw order by label;'+CHAR(13)+CHAR(10)+N'Crit3Type=CT_OBJECT;'+CHAR(13)+CHAR(10)+N'Crit3ValueSelector=VS_LIST;'+CHAR(13)+CHAR(10)+N'Crit7Type=CT_DATE;'+CHAR(13)+CHAR(10)+N'Crit7ValueSelector=VS_EDITABLELIST;'+CHAR(13)+CHAR(10)+N'Crit8ValueSelector=VS_EDITABLELIST;'+CHAR(13)+CHAR(10)+N'Crit1Required=0;'+CHAR(13)+CHAR(10)+N'Crit2Name=Procedure;'+CHAR(13)+CHAR(10)+N'Crit3Name=Status;'+CHAR(13)+CHAR(10)+N'Crit3SqlTemplate=SELECT usd_applic.target FROM usd_applic, usd_actproc, usd_rsw WHERE $(RDS_BITSET4BIN)(usd_applic.task,0) AND usd_applic.actproc=usd_actproc.objectid AND usd_actproc.rsw=usd_rsw.objectid AND usd_applic.status IN ($CritValue$) AND usd_applic.uninstallstate!=2;'+CHAR(13)+CHAR(10)+N'Crit9PossibleValues=select DISTINCT $(RDS_SAFENAMEC)(comment) as label, $(RDS_SAFENAMEC)(comment) as value from usd_rsw order by label;'+CHAR(13)+CHAR(10)+N'Name=Deployment > SW Package...;'+CHAR(13)+CHAR(10)+N'Crit2Type=CT_OBJECT;'+CHAR(13)+CHAR(10)+N'Crit3Required=1;'+CHAR(13)+CHAR(10)+N'Crit4ValueSelector=VS_EDITABLELIST;'+CHAR(13)+CHAR(10)+N'Crit5PseudoTemplate=Creation Time $CritOperator$ ''$CritValueLabel$'' ;'+CHAR(13)+CHAR(10)+N'Crit7PossibleValues=select DISTINCT creationtime as label, creationtime as value from usd_rsw order by label;'+CHAR(13)+CHAR(10)+N'Crit9PseudoTemplate=Comment $CritOperator$ ''$CritValueLabel$'' ;'+CHAR(13)+CHAR(10)+N'From=usd_rsw;'+CHAR(13)+CHAR(10)+N'Crit2SqlTemplate=AND usd_actproc.itemname $CritOperator$ ''$CritValue$'';'+CHAR(13)+CHAR(10)+N'Crit3PossibleValues=Deployed=9,29|Deploying or Deployed=0,1,2,3,4,6,7,8,9,17,18,19,20,21,27,29|Deploying=1,2,3,4,7,8,17,18,19,20,21,27|Deployment failed=10,15,16,28|;'+CHAR(13)+CHAR(10)+N'Crit6Required=0;'+CHAR(13)+CHAR(10)+N'Crit8Required=0;'+CHAR(13)+CHAR(10)+N'Crit8Type=CT_STRING;'+CHAR(13)+CHAR(10)+N'Crit8PossibleValues=select DISTINCT supplier as label, supplier as value from usd_rsw order by label;'+CHAR(13)+CHAR(10)+N'Crit9Name=Package Comment;'+CHAR(13)+CHAR(10)+N'SqlTemplate=$target.primarykeyfield$ in ($Crit3Sql$ $Crit0Sql$ $Crit1Sql$ $Crit2Sql$ $Crit4Sql$ $Crit5Sql$ $Crit6Sql$ $Crit7Sql$ $Crit8Sql$ $Crit9Sql$);'+CHAR(13)+CHAR(10)+N'Crit0SqlTemplate=AND usd_rsw.itemname $CritOperator$ ''$CritValue$'';'+CHAR(13)+CHAR(10)+N'Crit5PossibleValues=select DISTINCT creationtime as label, creationtime as value from usd_applic order by label;'+CHAR(13)+CHAR(10)+N'Crit6PossibleValues=select DISTINCT completiontime as label, completiontime as value from usd_applic order by label;'+CHAR(13)+CHAR(10)+N'Crit9Type=CT_STRING;'+CHAR(13)+CHAR(10)+N'Crit6ValueSelector=VS_EDITABLELIST;'+CHAR(13)+CHAR(10)+N'Crit9Required=0;'+CHAR(13)+CHAR(10)+N'Crit9ValueSelector=VS_EDITABLELIST;'+CHAR(13)+CHAR(10)+N'Crit1Name=Package Version;'+CHAR(13)+CHAR(10)+N'Crit1ValueSelector=VS_LIST;'+CHAR(13)+CHAR(10)+N'Crit8SqlTemplate=AND usd_rsw.supplier $CritOperator$ ''$CritValue$'';'+CHAR(13)+CHAR(10)+N'Where=;'+CHAR(13)+CHAR(10)+N'Crit4Type=CT_STRING;'+CHAR(13)+CHAR(10)+N'Crit4PseudoTemplate=Procedure $CritOperator$ ''$CritValueLabel$'' ;'+CHAR(13)+CHAR(10)+N'Crit5Type=CT_DATE;'+CHAR(13)+CHAR(10)+N'Crit6Type=CT_DATE;'+CHAR(13)+CHAR(10)+N'ProcessSiblings=0;'+CHAR(13)+CHAR(10)+N'' AS NVARCHAR(MAX)) AS NTEXT) WHERE srcid='ITRM_USERPROFILES11' AND locid='ENU' AND fldname='Deployment>SW Package...'
And open a new DSM Explorer.
Workaround if above solution could not be applied
Example :
Replace
usd_applic.completiontime < '($DATE$-1728000)' )
by
usd_applic.completiontime < ($DATE$-1728000) )