API error 500 - Could not find stored procedure 'tsAclCheck'

Hi all,

Running CM 10.1 Patch 5 Hotfix 3

Windows Server 2022

We have a third party application that integrates with CM.  The application gives a 500 error when attempting to create a record.

In the log on the Workgroup server I see this error in the log under ServiceAPIWorkpath:

ERROR HP.HPTRIM.Service.BaseTrimObjectUpdater - Error saving: HP.HPTRIM.ServiceModel.Record - Content Manager Workgroup Server on 'local' reported an error. Error executing SQL statement: [Microsoft][ODBC Driver 17 for SQL Server][SQL Server]Could not find stored procedure 'tsAclCheck'.
Details: SQL state and native error code are consecutively  42000 , 2812

I checked the Enterprise Studio and the tsAclCheck procedure is present in the schema for all 3 of our environments.

Thing is we have other applications that use the API and they are working fine, I'm not sure why this one application is causing this error.

Does anyone have an idea what the issue might be?

Thanks

Justin

EDIT:

So it works in our PRODUCTION environment but not our TESTING.  We did have CM patched a few months ago, could the Stored Procedures not have been updated or something?

  • Verified Answer

    +1

    Hi Justin,

    In the Patch 6 notes there is mention of recreating some stored procedures. This may have come in with the Hotfix for Patch 5. so maybe was a missed step in the Hotfix, or not in its documentation. Or, it could have just been missed in the non-prop environment. The details are:

    Content Manager stored procedures
    You must install the following stored procedures as part of the patch upgrade process:
    Order of stored procedure to be installed:
    1. tsAclOthersCheck
    2. tsAclRTAndFPCheck
    3. tsAclRecordCheck
    4. tsAclWorkflowCheck
    5. tsAclCheck
    6. tsAclStoreCheck
    To manually install the stored procedure, perform the following steps:
    1. In the Content Manager Enterprise Studio, right-click on the dataset where you want to install the
    stored procedure.
    2. Navigate to Schema > Manage. The Schema Manager dialog is displayed.
    3. In the left pane, expand Procedures and scroll down.
    4. Select the tsAclOthersCheck stored procedures, right-click > Check and then Recreate.
    5. Repeat step 4 for all the stored procedures mentioned above.
    6. Once all the stored procedures are recreated, click Close to exit out of Schema Manager

    Cheers,

    Mike.

  • 0 in reply to 

    Thanks for the reply , this does seem to be the issue.  I ran a check on those procedures and they produce an error stating they don't exist.

    When going into the Schema Manager, it states that all activity needs to be halted before proceeding.  We have 3 environments.  We also have 2 servers (Workgroup and Event Processing).  Do I need to stop anything before recreating these?

  • 0 in reply to 

    I generally don't bother shutting anything down, when you go into the Schema manager, it will mark the database as unavailable for the duration. Just make sure you don't run it on the PROD dataset as users may get upset...

    Each dataset has its own set of stored procedures, they are not shared between all datasets.

    Cheers

  • 0 in reply to 

    Awesome, thanks .  I recreated those procedures and was able to successfully register a record!