Unable to find project in the Project List and if accessed via other means, all properties values are blanked out

Document ID : KB000025695
Last Modified Date : 14/02/2018
Show Technical Document Details

Description:

Project (or subproject) no longer displays in Project List or if accessed from another link, the project has lost its ID, Name, or other data. The project will appear to be 'empty'. You will also be unable to open the Project using any scheduler (Microsoft Project or Open Workbench).

 

Solution:

On Premise Customers: Test these statements in a non-production copy of the database before implementing in production.

These query statements will execute in Oracle or MSSQL.

Be sure to 'commit' the update statements for the changes to take effect.

Project field SRM_PROJECTS.LAST_UPDATED_BY holds the value -99 (minus 99).

This may have been caused by unusual database activity (eg. closing the database whilst work is in progress) and where a -99 exists in the LAST_UPDATED_BY field of table SRM_PROJECTS a transaction may not have been completed.

  1. Run the following query to verify you are seeing the issue this resolves:

    select id, name, unique_name
    from srm_projects
    where last_updated_by = -99

    If any results are returned, continue, if not, please contact support directly

  2. The following query will update the field to user record 1 which is the stock 'admin' user record ID:

    update srm_project
    set last_updated_by=1
    where id= ' nnnnnn '

    Where nnnnnn is the project id obtained from the first query. You can also verify that the id by also looking at the URL when you try and access the project, the URL will contain the id.
  3. Also, run the following additional query to check the INV_INVESTMENTS table data to see if any records are affected by the -99 value:

    select id, name, code
    from inv_investments
    where last_updated_by=-99

  4. The following query will update the field to user record ID = 1 which is the stock 'admin' user record ID :

    update inv_investments
    set last_updated_by=1
    where id=(select id
    from inv_investments
    where last_updated_by=-99)

 

Be sure to 'commit' the changes, go back into the application and look for the investment again.