Dictionary Entries for Database Views Causing Errors

J_DeWitt023
Tera Contributor

I am experiencing an issue in our DEV instance where a glide function I built for a database view causes an Internal Server Error, limiting my access. Each time this happens, my access becomes more restricted.

 

Sometimes, the function is indeed faulty. When I test it in the associated database view, it occasionally redirects me to the list view. Is this expected behavior? I would expect a faulty glide function to simply not work or for the data not to load in the view.

 

I am only redirected to the list view when there is an issue with a dictionary entry. When I return to the dictionary entry, I am unable to edit or delete it, and neither can the sys admin. This results in errors for the rest of the day, preventing me from working in the instance. I have to wait until the next day to log in and delete the entire database view to resolve the issue. Why can't I delete a dictionary entry that I created on a database view? It isn't a system table.

 

For context, the views associated with the problematic dictionary entries all have left joins. I have opened a HI ticket but couldn't recreate the issue while working with the engineer. Has anyone else experienced this or found a resolution?

 

Here are the steps for the most recent occurrence that led to the HI ticket. I have since deleted the view and recreated it without issue, but I can't figure out what I did wrong:

 

  1. Created a new update set in DEV.

  2. Created a new dictionary entry:

    • Table: sn_hr_core_case_view_name
    • Column name: u_article_flag_position
    • Type: integer
    • Function definition: glidefunction:divide(position('k',k_number),position('k',k_number))
  3. Went to the database view to test. When I clicked "Try It," I was redirected to the list of database views. This happens whenever there is an issue with a dictionary entry.

  4. Tried to view the dictionary record. The system was slow, so I logged out.

  5. Logged back in and received the following error:

    Internal Server Error (500)
    Cannot invoke "com.glide.db.functions.ADBFunction.toString()" because the return value of "com.glide.db.functions.DBFunctionUtil.parseFunction(String, String)" is null. Check logs for error trace or enable glide.rest.debug property to verify REST request processing.
  6. Navigated to the dictionary manually (sys_dictionary.list). My Favorites menu no longer worked, and I was unable to search All. 

  7. Tried deleting the record but did not have the option.

  8. Attempted to deactivate the entry but received the message "No response from server" instead of "Security prevents writing to this field."

  9. Confirmed prefixes are correct and the field referenced in the function is available in the view.

3 REPLIES 3

Daryll Conway
Giga Guru

I have the same issue, unable to delete the dictionary entry or edit it in any way. Getting this same error message

Darrell F
Mega Sage

Same issue. Did you have any luck fixing?

WillieW
Tera Contributor

Not enough context here to assist. How is the database view defined? How is the field defined, as above?