Invalid API Alias Error in app-ca Logs
search cancel

Invalid API Alias Error in app-ca Logs

book

Article ID: 204869

calendar_today

Updated On:

Products

Clarity PPM SaaS Clarity PPM On Premise

Issue/Introduction

When a view is selected in the new UX and a field is added, an error similar to the following appears in the app-ca logs. 

ERROR 2020-11-20 07:46:07,264 [http-nio-8080-exec-405] rest.validation (clarity:admin:12316434__D8E3FFC0-80D7-459E-8BFA-6351A29DFA43:PPM_REST_API) ExceptionInfo ::  Could not create resource. Resource name: listColumns. Error code: odf.invalidAPIAlias Error message: ODF-0950: Invalid API Alias.

Steps to Reproduce: 

1. Create a custom attribute on the Project object and give it an API Attribute ID
2. Add this attribute as a column on a view in the Project grid in the new UX and Save the view
3. Back on the Project object, clear out the API Attribute ID on this attribute properties, and Save
4. Populate the API Attribute ID on this attribute as something different than it was before. Alternatively, leave it blank. 
5. Go back to the view in the new UX, attempt to add any new column to the same view

Expected Results: The column is added to the view without logging any errors in the logs. 
Actual Results: The column is added to the view, but the app-ca logs now contain an 'Invalid API Alias' error. 

 

Environment

Release : 15.8.0+

Component : CA PPM STUDIO

Cause

This error occurs because the reference to the original column does not get removed from the ODF_UI_LIST_COLS table in the database. This reference remains in the table so that in case the API alias is cleared out by mistake, it can be repopulated with its original value, and the attribute still remain in any new UX view that it was in before. Note that when the API alias is cleared out, it no longer appears on the view in the UX, but does remain in the view columns table in the database.

When the API alias (API Attribute ID) is cleared out and then either left blank or changed to something else, the column reference in the database still includes the original API alias. However, since this API Attribute ID no longer exists, it is no longer valid so the error occurs in the logs. This error has no impact on the behavior that we see in the UI. It is there to notify that there is an invalid API alias associated to one or more columns in the view on the database table. 

Resolution

In order to no longer get the error in the logs, the view can be saved as a new view using Save As. When this is done, any column on the original view that no longer has a valid API alias (API Attribute ID) will not get copied over to the new view.