Hi,
This an error that we don't usually see. It is caused by corrupt data in the bpm_run_steps table. You may want to open a case for this issue since it is not the easiest problem to fix. Here is an overview of what needs to be done.
1. Look through the error messages and make a list of all process instance ids that are mentioned.
2. Run the following query:
SELECT
s.process_instance_id,
r.step_instance_id,
r.condition_id
s.step_id
FROM
bpm_run_steps s,
bpm_run_step_cond_results r
WHERE
r.condition_result = 1 AND
r.step_instance_id = s.id AND
s.process_instance_id in
(customer_list_of_processes_for_the_error_message)
and not exists
(Select id from bps_def_steps where id = s.step_id)
If this doesn't yield any results try running the above query without the "and not exists part of the query and look for empty/null values in the step_id column.
3. This will give you a list of any process instances that have a step id that does not exist in the bpm_def_steps table.
The easiest fix is to look at a back-up of the database from before the problem started occurring and after the process instance was initiated to see what should be in this column and then use an update statement to correct the problem in the bpm_run_steps table.
The alternative is to do the followaing.
a. get the process version id from the bpm_run_processes table:
select process_version_id from bpm_run_processes where process_instance_id = problem_process_instance_id
b. go to the ui, go to the Initiated process list and open any process instance. Substitute your problem process_instance_id for the one identified in the url.
c. Click the enter key.
d. Note down the name of the process and the last step listed. Also notice whether or not that step is completed or not.
e. go to the list of available processes.
f. Search for the process you identified in the previous step or open any process and substitute your process_version_id for the one listed in the URL and click the Enter key.
g. Go to the steps tab, open the step name that you identified earlier and get the step_id from the url. You may also need to look at the next step's id if your step was completed.
This is the id you will need to add to your bpm_run_steps table in place of the incorrect or blank entry under step_id in the bpm_run_steps table.
Sincerely yours,
Jeanne Gaskill
Senior Support Engineer - Clarity