In RSA Identity Governance & Lifecycle, a SQL exception error in the UI is encountered when saving Delay node on a Workflow
2 years ago
Originally Published: 2018-08-27
Article Number
000041275
Applies To
RSA Product Set: Identity Governance & Lifecycle
RSA Version/Condition: 7.0.2
 
Issue
A SQL exception error occurred while saving a workflow after adding a Delay node to the workflow.

The popup error in the UI is

Error: An SQL Exception has occured. Please see the server log for details.
 
SQL Exception after adding Delay node

This corresponds to the error in both the server.log and WorkPoint.log which is:
2018-08-20 01:22:08,721 [default task-54] ERROR com.workpoint.services.impl.GenericServiceImpl - ORA-02291: integrity constraint (AVUSER.FK3_WP_PROC_NODE) violated - parent key not found 

ORA-02291: integrity constraint (AVUSER.FK3_WP_PROC_NODE) violated - parent key not found 

SQL = Execute Batch: INSERT INTO WP_PROC_NODE (PROC_NODE_ID, PROC_NODE_DB, PROC_ID, PROC_DB, NODE_TYPE_ID, ACT_ID, ACT_DB, SUB_PROC_ID, SUB_PROC_DB, DISPLAY_INFO, NAME, DELAY_DATE_CODE, DELAY_DATE_OFFSET, DELAY_BUS_CAL_ID, DELAY_BUS_CAL_DB, DELAY_SCRIPT_ID, DELAY_SCRIPT_DB, COND_SCRIPT_ID, COND_SCRIPT_DB, EVAL_FREQ, EVAL_BUS_CAL_ID, EVAL_BUS_CAL_DB, ROW_VERSION, LU_ID, LU_DATE, PROC_NODE_TEMPLATE_ID, PROC_NODE_TEMPLATE_DB, MAX_EVAL, EXPIRATION_DATE_CODE, EXPIRATION_DATE_OFFSET, EXPIRATION_BUS_CAL_ID, EXPIRATION_BUS_CAL_DB, DESCRIPTION, SPLIT_COUNT_SCRIPT_ID, SPLIT_COUNT_SCRIPT_DB, MILESTONE_ID, MILESTONE_DB, MILESTONE_REF, MILESTONE_REF_SCRIPT_ID, MILESTONE_REF_SCRIPT_DB, MILESTONE_SCOPE, MILESTONE_TIMEFRAME, FORM_ID, FORM_DB, CHECK_SYNTAX_SCRIPT_ID, CHECK_SYNTAX_SCRIPT_DB, COMP_CODE_SCRIPT_ID, COMP_CODE_SCRIPT_DB, OUTBOUND_SELECTION, ENFORCE_TRAN_SELECTION, FOLLOW_TEMPLATE, PROC_NODE_UUID, EMIT_EVENTS, PRIOR_ID, PRIOR_DB, PRIOR_SCRIPT_ID, PRIOR_SCRIPT_DB, REF1, REF2, REF3, REF4, MAX_ITERATIONS, MAX_HISTORY_RETENTION) VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?) 
Batch Item 1: 3344,'WPDS',7616,'WPDS',6,2393,'WPDS',null,'','0,570,75,0,90,90,-1,0', 'Delay',1,43200,null,'',null,'',null,'',0, null,'',1,'109532',2018-08-20 01:22:08.704,18,'WPDS',0,0,0, null,'','',null,'',null,'','',null,'', 0,0,null,'',null,'',null,'',0,0, 0,'daf4af47-18cc-4b35-a0b7-64bef08b45a9',1,null,'',null,'','','','', '',0,0 
aaaaa
 
Run the following SQL query to verify that this is the issue:
SELECT * FROM wp_proc_node_template WHERE node_type_id=6;

Values for ACT_ID and ACT_DB should be null, but when the error occurs it has a value.
Cause
This problem is restricted to Delay nodes in a workflow.

After many different updates/upgrades, the Delay node may still be configured with outdated settings referencing a non-existent activity.  Newer versions of the Delay node do not reference the value.
Resolution
This issue has been fixed/resolved on RSA Identity Governance & Lifecycle 7.0.2 P05 and 7.1.0.
Workaround
As a workaround to resolve the issue, perform the steps below:
  1. Stop ACM:
acm stop
  1. Run the following SQL update as AVUSER:
UPDATE WP_PROC_NODE_TEMPLATE SET act_id=null, act_db=null WHERE node_type_id=6;
COMMIT;
  1. Start ACM:
acm start
  1. Open your workflow, add a Delay node, then save the workflow.