Page 1 of 1

Incomplete UDC Caching

Posted: February 28th, 2022, 4:07 pm
by JefferyD
I'm using the GetUDC service to get a list of status descriptions based on the logged in user. When a user logs in and the service is triggered for the first time, it works as expected. When another user logs in and triggers that same service though, it will only return the overlap and excludes the rest.

Example
  1. First user can access statuses 30, 40, and 50.
  2. Second user can access statuses 20, 40, and 60.
  3. Descriptions for 30, 40, and 50 are returned by GetUDC for the first user.
  4. Description for 40 is returned by GetUDC for the second user.
I assume the keys are used in the caching logic as well as SystemCode and UDCTable, and since the second user gets something back, the caching doesn't realize that there's more to download. Is there any way to tell the service to ignore the keys (or a specific key) for the caching but not for the actual inquiry?

If not, then I'd like to suggest 2 possible solutions.
  1. Add a flag (like IgnoreBlanks/IgnoreCase) that will tell the service to ignore a specific key when downloading UDC values to the cache.
  2. Add a "Filters" section that is identical to the "Keys" section except that it will only filter the values returned by the service and not limit the values that are actually cached.
GetUDC.PNG
GetUDC.PNG (56.48 KiB) Viewed 795 times
GetUDC.PNG
GetUDC.PNG (56.48 KiB) Viewed 795 times

Re: Incomplete UDC Caching

Posted: February 28th, 2022, 4:32 pm
by SteveCap
Task 897 has been created

Re: Incomplete UDC Caching

Posted: March 4th, 2022, 8:50 am
by JustinVanRegenmorter
This issue has been resolved as of RunTime revision 876.

Re: Incomplete UDC Caching

Posted: March 4th, 2022, 9:05 am
by SteveCap
You should clear the cached udc and have then get repulled when this is applied.

Re: Incomplete UDC Caching

Posted: March 4th, 2022, 9:21 am
by JefferyD
Is there a feature in the IDE to clear the UDC cache, or does that need to be done directly in the database?

Re: Incomplete UDC Caching

Posted: March 4th, 2022, 9:30 am
by SteveCap
I do not believe there is a direct way to clear it from the IDE. In the connector app's _Base schema there are tables F0004 and F0005 that you should clear. You can do this by using a service or the ide page ReadUpdateDatabaseRecords.