Overview
You have selected a particular service within your Service Gateway environment, and after about 20 seconds, you see a message modal appear. The modal shows a title of "common_fault_finder_title" and content of "common_fault_finder_msg". This is preventing you from editing the affected service.
Reviewing the browser console shows the following error, "Cannot find Condition for GUID: <GUID>." Within the Encore.log, you identify FinderExceptions indicating that a referenced object does not exist.
Solution
This behavior often appears when the affected service references a particular template or its conditions, which no longer exist within your database. You can use the steps below as a reference to investigate this within your database and remove these missing references.
Note: The steps below require that you connect to your Oracle DB using a user with the necessary privileges defined when you set up your database. Consult your Database Admin, as needed, while processing the steps below.
It is highly recommended that you have a recent database backup created before making any changes within your database.
- Collect the affected GUID from your Browser Console.
- Navigate to the Services menu within the Service Gateway UI.
- Press F12 to open the Browser Console.
- Reproduce the behavior and identify the "Cannot find Condition for GUID: <GUID>" error.
- Collect the <GUID> from the error for use in the SQL queries below.
- Verify that the GUID no longer exists
- The SPRT_SG_CONDITION table contains the primary reference to the GUID as its primary_key.
- To confirm the affected GUID no longer exists, you can execute a SELECT using the GUID collected above:
SELECT * FROM SPRT_SG_CONDITION
WHERE GUID = <GUID_COLLECTED_FROM_CONSOLE>;
- Locating the Invalid Reference
- Once you have verified that the GUID does not appear, you can check for hanging references within the other tables that reference the GUID.
- The GUID column within this table is referenced within five other tables that should also be checked and updated:
- SPRT_SG_SERVICE_TC_XREF
- SPRT_SG_POLICY_ACTION
- SPRT_SG_POLICY
- SPRT_SG_EXPRESSION
- SPRT_SG_CSR_RTP
- Each of these tables contains a field SG_CONDITION_GUID that references the GUID primary_key within the SPRT_SG_CONDITION table.
- As above, you can use a Select to locate any invalid references:
SELECT * FROM <Table_Above>
WHERE SG_CONDITION_GUID = <GUID_COLLECTED_FROM_CONSOLE>;
- Removing Invalid References
- For any of the tables above that contain instances of this invalid GUID, you can set the SG_CONDITION_GUID value to NULL:
UPDATE <Table_Above> SET SG_CONDITION_GUID = NULL
WHERE SG_CONDITION_GUID = <GUID_COLLECTED_FROM_CONSOLE>; - For example, if your Browser Console showed "09bef6f0-5c93-11eb-8c85-f55dc39d05cc" as the affected Condition GUID and you located references of it in the SPRT_SG_EXPRESSION table:
UPDATE SPRT_SG_EXPRESSION SET SG_CONDITION_GUID = NULL
WHERE SG_CONDITION_GUID = 09bef6f0-5c93-11eb-8c85-f55dc39d05cc;
- For any of the tables above that contain instances of this invalid GUID, you can set the SG_CONDITION_GUID value to NULL:
Testing
After removing all of the orphaned GUID entries within your database, return to the affected service and verify that you can now edit the services without the error modal appearing.