Conditional Actions throwing eWait error

Hi, i'm new to metastorm and currently using v9 SR2 with hotfix 9.0.2.4 already applied. My machine is running on XP pro SP3 with MS SQL server 2008. While applying 2 conditional actions to a system stage to check for the returned count of rows from DB that's been assigned to a process variable, i keep on getting error like below.  Has anyone encountered this before? or anyone can advice me please.

 

 

 

Failed to execute 'system action'. Exception 'Cannot insert the value NULL into column 'eFlagName', table 'Metastorm.dbo.eWait'; column does not allow nulls. INSERT fails.  The statement has been terminated.' occurred when attempting to 'Delete event registrations'.

Tagged:

Comments

  • I'm on 9.0.2.3 (I think - confusingly the about box never gives HF numbers for some reason), and I do not get this when I have 3 conditional actions set to false, true and nothing, in priority order.

  • quick e-workaround would be to make the conditional actions timed actions of 1 second (or more if multiple actions).

  • Ethan Beisher
    Ethan Beisher E Community Moderator

    Where are you doing the assignment? Can you put it in the action that leads into the system stage?

     

    Can you post the solution (or a representative sample)?

  • From my reading of it the assignment is done ealier, and has nothing to do with it. It seems much more likely something to do with the eWait entries being insterted, but it is unclear if this is when the folder neters the stage or one fo the actions is attempted.

     

    Given the error, I would say on stage entry, but I would like to see the full record from the eLog table myself.

  • Thanks Jerome and Ethan for the quick responses and advices. I managed to solve this yesterday actually. It's caused by an undefined flag in the stage that the folder supposed to flow into. What i'm trying to do is actually a simple loop based on row count from DB. assignment of loop count done earlier than the loop. when the loop finished and the loop count reaches zero, the folder supposed to reside in a system stage waiting for its childs to be completed and raised a flag to move the parent to another stage. I purposely didnt set the flag action property 'flag used to invoke this action' as i see the folder haven't reached the stage yet and i thought i didnt have to set it yet. But somehow it turns out that the engine is inserting record into eWait table everytime my loop finished with the 'flag used to invoke this action' in the next stage as the eFlagName column value and in this case its trying to insert NULL into that column. I didnt fully understand how metastorm engine conclude this and i think the error thrown in eLog is not so helpful as well.

  • Glad you sorted it. I agree the error and error message need some work.

     

    If the Designer lts you have a flag action without a flag, the Engine should not blow up when encountering it. One or t'other should be changed.

     

    My money is on the Designer (I am sure Doogal would love to hear me say that yet again!). I think it should fail to deploy if the flag is not set - it is normally an oversight.

  •  


    snaw wrote:

    What i'm trying to do is actually a simple loop based on row count from DB. assignment of loop count done earlier than the loop. when the loop finished and the loop count reaches zero, the folder supposed to reside in a system stage waiting for its childs to be completed and raised a flag to move the parent to another stage. I purposely didnt set the flag action property 'flag used to invoke this action' as i see the folder haven't reached the stage yet and i thought i didnt have to set it yet. But somehow it turns out that the engine is inserting record into eWait table everytime my loop finished with the 'flag used to invoke this action' in the next stage as the eFlagName column value and in this case its trying to insert NULL into that column. I didnt fully understand how metastorm engine conclude this and i think the error thrown in eLog is not so helpful as well.


    We typically do this sort of thing in a Visual Scripts or C# code now. The only reason anyone did this using loopback actions in previous versions was because we had no looping statements. In version 9 we have, and the 'Process' side becomes much simpler and less cluttered with 'code' type activity like this.

     

  • yep...i realize it can be done via visual script loop action or C# code activity. It's just that i learned metastorm a months ago in v7 and 2 weeks ago i migrated to v9. So everything is still not in a correct order in my head yet and i havent try to do looping using 'v9 way' yet. Will give it a try soon. Thanks for the tips jerome.