IfPart condition CMMN

Hi all,

As part of my CasePlanModel in Camunda I have chosen to opt for embedded forms as a means to insert and gather data. I am referring to them with the formkey embedded:app:forms/FORMNAME.html.

In these forms I have defined a boolean with its cam-variable-name as “actiesnodig”. If I have a sentry somewhere else that is triggered by this boolean, I have inserted the expression as ${acties == false}. This is the exact error I get in catalina

org.camunda.commons.logging.BaseLogger.logError ENGINE-16004 Exception while closing command context: Unknown property used in expression: ${actiesnodig == false}. Cause: Cannot resolve identifier ‘actiesnodig’
org.camunda.bpm.engine.ProcessEngineException: Unknown property used in expression: ${actiesnodig == false}. Cause: Cannot resolve identifier ‘actiesnodig’

As far as I know I have followed every step and every way to design the form. Could anyone tell me where the problem is in my case?

Hello NDB,

I was able to reproduce your error and it appears the issue is related to the property “actiesnodig” not existing as a process variable.In other words, you have to make sure “actiesnodig” variable exists when the case model is instantiated. So perhaps set such variable to true and if it changes to false then your sentry would be activated. If I may ask and as a side question, what is your use case for using CMMN :slight_smile:

Regards,

Hi Patozgg,
Thanks for your reply

I am working on a small process to send out and receive back surveys. I am still working on getting the mail connector successfully integrated as well.

Thing is, I have two ways the process can go. Either the case autocompletes when “actiesnodig” turns out to be “null” as a boolean, or it is true, then another stage becomes active. I could opt for the default ‘true’ evaluation if all else fails. Where do I configure this variable beforehand? I currently have it in a form which is filled out in the second stage of my CasePlanModel.

I also had this idea to make a circle of entry and exit criteria between the first two stages. I will configure the variable that controls this to be false so it keeps running until evaluated to true. Given that there is an entry criteria on the first stage, how do I set another entry to activate the stage when the case becomes active? ${CASE_ID == ‘start’} does not seem to work.

Attached is my model, if you were interested in taking a look.
Loan application.cmmn (10.7 KB)

Thanks in advance

Hello NDB,

Sorry for my late reply. Try giving a value to actiesnodig before you call your embedded form. You could try using a start listener on the task itself that is calling the form. This would prevent the case instance from throwing a null error. I like your idea for opting for a true evaluation if all else fails :slight_smile: .

Best Regards,