Having edited a process in Service Desk 7.3.1 an error is received on save or copy that will include some of the following information:
The DELETE statement conflicted with the SAME TABLE REFERECE constraint fkey$lc_transition_step$nxs. The conflict occurred in database "<DB Name>", table "dbo.lc_tranistion_step", column "lc_next_step_guid".
Please note that this problem is not caused by all process design changes so may not have been experienced even where processes have been edited.
Apply the attached patch (Problem4592_v7.3.1.zip) following the instructions in the enclosed document. Please be aware that the patch will need to be applied to every installation of the Service Desk Console running version 7.3.1 whether an error has been encountered or not.
Having applied the patch please run the script below to identify any existing processes that may need fixing as a result of this Problem:
select m.md_title as 'Module Title', c.md_title as 'Class Title',
l.lc_name as 'Lifecycle Name', l.lc_title as 'Lifecycle Title'
from lc_lifecycle_description l, md_class_type c, md_module m where
l.lc_class_type_guid = c.md_guid and
c.md_module_guid = m.md_guid and
l.lc_guid in (select lc_lifecycle_guid from lc_transition where lc_guid in
(select distinct t1.lc_transition_guid from lc_transition_step t1
left outer join lc_transition_step t2 on t1.lc_next_step_guid = t2.lc_guid
left outer join lc_transition_step t3 on t1.lc_false_next_step_guid = t3.lc_guid
where t1.lc_transition_guid != t2.lc_transition_guid
or t1.lc_transition_guid != t3.lc_transition_guid))
If any results are returned by this script you will need to 'fix' these processes before being able to edit them again in Process Designer.
In order to fix a corrupt process, please run the attached script - 'PROCESSES - Fix processes with missing transition steps.sql' for Microsoft SQL Server, or 'PROCESSES - Fix processes with missing transition steps.ora' for Oracle, in order to resolve the problem.
This script will not affect processes that are not broken so can be run if you are unsure as to whether it is required or not.
If you are unsure about any of the instructions above, please contact us.
As with any script please ensure a full database back-up is taken before running the script and is fully tested before continuing work. If any issues are encountered please revert to your back-up and contact us for further assistance.