Questions and discussion about using ProcessMaker: user interface, running cases & functionality
By nikhilathawale
#816241
1.We are using SOAP API for extended application integration,but while using routeCase API it gives it gives following
Code: Select all
stdClass Object
(
    [status_code] => 100
    [message] => Process definition error: All conditions in evaluation routing rule evaluated to false, so workflow has stopped. Please change the definition of the evaluation routing rule.
    [timestamp] => 2018-09-24 19:52:55
)
this error comes because of exclusive gate variable not set so i used sendVariables SOAP API to set the value of variable used in exclusive gate,sendVariable variable return status zero, that means value is set.

2. Then I tried route case SOAP API but it gives following error
Code: Select all
stdClass Object
(
    [status_code] => 18
    [message] => This case delegation is already closed or does not exist
    [timestamp] => 2018-09-24 19:40:55
)

How do I route a case having exclusive gate?

Is there any SOAP API or function to get all variables of all Dynaform because we need name of variable in sendVariable API
User avatar
By amosbatto
#816245
You can use the getVariables() web service to verify that the variable was set or you can open the case in debug mode to verify it or you can check the APPLICATION.APP_DATA field to see if the variable exists in the serialized form.
nikhilathawale wrote:2. Then I tried route case SOAP API but it gives following error
Code: Select all
stdClass Object
(
    [status_code] => 18
    [message] => This case delegation is already closed or does not exist
    [timestamp] => 2018-09-24 19:40:55
)
How do I route a case having exclusive gate?
At this point the case has already been routed out of the task, so you can no longer route it. You can try routing it with the next index number, but I don't know if it will work. Otherwise, forget that case, because the only way to fix it is to change the record for the task in the APP_DELEGATION table, changing the DEL_THREAD_STATUS to 'OPEN' and changing the datatime in the DEL_FINISH_DATE field to NULL. Then delete the next delegation in APP_DELEGATION which should have the next index number.



O
By nikhilathawale
#816260
It is working now and we are able to route a case. :)
But how do I get the list of variables in the Dynaform because when I'm using sendVariable SOAP call i need a variable name to set its value.
How do i get those variable names dynamically before sendVariable call?
User avatar
By amosbatto
#816272
There is no web service function to get all the variables in a case without specifying the names of the case variables that you want to retrieve.

The only solution is to create a trigger in the process with this code:
Code: Select all
$c = new Cases();
$aCaseInfo = $c->loadCase(@@APPLICATION);
@@caseVars = json_encode( $aCaseInfo['APP_DATA'] );
Then use the executeTrigger() web service to execute the trigger and then call getVariables() to get the caseVars variable and use json_decode() to convert it into an array.

PS: It probably isn't necessary to convert it into a JSON string, but I added that part just in case.
By nikhilathawale
#816297
Thanks,
we have got previous case value and task form variable by your solution,But we need value of current task variable and also need to know which variable we should set using setVariables.

Hello. For rental housing, there are software solu[…]

Experience heightened pleasure with Cenforce 100 M[…]

Get an instant solution to move emails to MBOX for[…]

Most Demanding OST to PST Converter

The most demanding OST to PST Converter is TrijaT[…]