Strange but not unexpected behaviour CM9 client and HP TRIM 7.3.5 Workgroup server

Hello all,

I'd like to start a thread about general strangeness that WILL HAPPEN TO YOU if you are forced into a situation where a HPE CM9 client/sdk is installed and pointed at a HP TRIM 7.x workgroup server. This is possible but not recommended and hopefully this thread will document why.

Here is the first dose of wierd/not wierd:

With a 32 bit TRIMSDK against a HP TRIM 7.3.5 workgroup server.

The administrator can't delete records they created because the workgroup server and HP TRIM 7.3.5 database doesn't track the permission "delete previous revisions of record". This happens even though there are no previous versions to delete. The error message is "Access denied. You need to have the Remove previous revisions permission to execute this task."

Work around:

To delete the record, start a HP TRIM 7.3.5 client or use the HP TRIM 7.x SDK and try again.

Happy CM9ing!


Parents Reply Children
  • This is TRIMSDK 32 bit VERSION 9.0.0..279 pointing at TRIM 7.3.5 workgroup server as before. The offending code is: 

    Locations locations = _trimInstance.MakeLocations();


    RecordSearch rs = _trimInstance.NewRecordSearch();

    rs.AddLocationClause(location, ltSearchLocationType.ltCurrent, true);// Setting this to true causes the non-existent SQL procedure to be called


    records = rs.GetRecords();

    System.Diagnostics.Debug.WriteLine(records.Count); // Error thrown here



      ex.Message "HPE Content Manager Workgroup Server on' reported an error. Workgroup Error. The SQL query failed. Errors were '_VLSELFANDCHILDREN' is not a recognized built-in function name.  SQL was SELECT COUNT_BIG(uri) FROM TSRECORD WITH (NOLOCK) WHERE ( 1=0 AND uri IN ( SELECT rlRecUri FROM TSRECLOC WITH (NOLOCK) WHERE ( rlLocUri IN ( SELECT uri FROM TSLOCATION WITH (NOLOCK) WHERE ( _VLSELFANDCHILDREN('uri','TSLOCREL','lrLocUri2','lrLocUri1','lrType','0','77981') ) ) AND rlLocType = 0 AND rlRecUri > 0 ) ) AND uri  > 0  ) AND EXISTS ( SELECT 1 FROM TSRECORD SECFLTR WHERE SECFLTR.uri = TSRECORD.uri AND SECFLTR.rcSecLevel <= 30 AND ( (19 % SECFLTR.rc1CaveatKey) = 0 AND SECFLTR.rc2CaveatKey = 1 AND SECFLTR.rc3CaveatKey = 1 AND SECFLTR.rc4CaveatKey = 1 AND SECFLTR.rc5CaveatKey = 1))" string