I have 2 cases that inherit from the same class and all the flows are created under this class, the 2 cases (caseA and caseB) have the same stages but not the same steps for example: for stageA there are 2 steps step1 and step2, the first case (caseA) have those steps but the second case (caseB) have only step1 . I want to enable changing the class of the case using the flow action "ChangeClass" as local action, so we can change the case from any step. The problem is that i can change the class even if the step doesn't exist for example: i'm running the caseA, i'm in in stageA and in step2 but when i execute "ChangeClass" action, the class changes to caseB and the step remains the same without getting an error, even this step does not exist in this case.
How to test if a flow can be executable or not when changing the class even if this flow is created under the inherited class?
many thanks in advance
Message was edited by: Marissa Rogers - Moved from Mesh Help, added Category
When reviewing the activities coupled to the flowaction in question it would appear as if the case specified should be caught by the first step of the activity Work- ActionChangeClass at least in the version I am using 7.1.9. What version are you using?
If you are using a similar version I would see (using a private checkout and oLog statements) why it is not be prevented in this case.
I've never tried to do what you are asking, so I don't have a specific answer, but let's take a step back. Why are you changing classes? Just so that you can change the steps on the stages? Are there other, business related reasons? If not, I'd suggest you rethink your approach. Could you just add an allowed when to the stage when you don't want it to be allowed? Also, how would you expect the system to behave if you switch classes to a stage/step that doesn't exist in the new class? Would expect it to fail, and if so, in what way? You could also flip this on it's head and create a custom ChangeClass that checks the target class for the flow/step/whatever before trying to change anything and throw an error if it isn't present.