BPMN Execution of BusinessRuleTask seems to Succeed but DMN Result Process Variable is null

I have a BPMN process with a DMN Decision Table that uses a process variable as input. This input process variable is initialized and populated by a user task and is behaving as expected.

Process execution seems to finish successfully. I see no error logs, but the resultVariable defined within the Business Rule Task, has value of null.

I have changed the value of Camunda:resultVariable within the Business Rule Task but regardless of the name, it always ends up with a null value after execution.

I wonder if it’s safe to assume that successful process execution means the Business Rule Task was bound correctly to the DMN Table and it was able to compute a decision.

It just seems that the very last step: storing the decision result is missing.

Is there something I’m missing in the output variable mapping configuration?

Input Process Variable is a string called day and I pass a value of "Tuesday" in the User Form.

Business Rule Task

<bpmn:businessRuleTask 
id="dmn-task_HOwbZaIn" 
name="Sukesh and Davids" 
camunda:resultVariable="result" 
camunda:decisionRef="BR-64bd3260-11ee-93f1-0a58a9feac2a" 
camunda:decisionRefTenantId="XXX"
>
  <bpmn:incoming>connector-flow_P7sNfZK</bpmn:incoming>
  <bpmn:outgoing>connector-flow_5ab1aM1J</bpmn:outgoing>
</bpmn:businessRuleTask>

DMN

<?xml version="1.0" encoding="UTF-8"?>
<definitions xmlns="https://www.omg.org/spec/DMN/20191111/MODEL/" xmlns:biodi="http://bpmn.io/schema/dmn/biodi/2.0" xmlns:camunda="http://camunda.org/schema/1.0/dmn" id="Definitions_0obggq4" name="DRD" namespace="http://camunda.org/schema/1.0/dmn" exporter="Camunda Modeler" exporterVersion="4.8.1">
  <decision id="Decision_04xd30d" name="DayofWeek">
    <decisionTable id="DecisionTable_192eifp">
      <input id="day" label="day" biodi:width="192" camunda:inputVariable="day">
        <inputExpression id="InputExpression_1" typeRef="string">
          <text></text>
        </inputExpression>
      </input>
      <output id="result" name="result" typeRef="string" />
      <rule id="DecisionRule_19dx5je">
        <inputEntry id="UnaryTests_0at02b6">
          <text>"Monday"</text>
        </inputEntry>
        <outputEntry id="LiteralExpression_0mzgwqa">
          <text>"Yes"</text>
        </outputEntry>
      </rule>
      <rule id="DecisionRule_1riumo2">
        <inputEntry id="UnaryTests_1x6esu9">
          <text>"Tuesday"</text>
        </inputEntry>
        <outputEntry id="LiteralExpression_10386ld">
          <text>"No"</text>
        </outputEntry>
      </rule>
    </decisionTable>
  </decision>
</definitions>

Hi @segura2794
For one thing I find it strange how you decisionRef looks for the business rule task, as the ID of the decision is different. But if the decision is not found it should lead to an error.
But I think you definitely need to specify, that you’re expecting a single result from the execution.
Like this

    <bpmn:businessRuleTask id="DecisionActivity" name="Decide it" camunda:resultVariable="result" camunda:decisionRef="Decision_ABC" camunda:mapDecisionResult="singleEntry">
      <bpmn:incoming>Flow_1pe1h15</bpmn:incoming>
      <bpmn:outgoing>Flow_15mhsny</bpmn:outgoing>
    </bpmn:businessRuleTask>

Here also the corresponding DMN as a reference

  <decision id="Decision_ABC" name="Decision 1">
    <decisionTable id="DecisionTable_0eth8x8">
      <input id="Input_1" camunda:inputVariable="day">
        <inputExpression id="InputExpression_1" typeRef="string">
          <text></text>
        </inputExpression>
      </input>
      <output id="Output_1" name="result" typeRef="string" />
      <rule id="DecisionRule_17cvf8c">
        <inputEntry id="UnaryTests_0xkixqw">
          <text>"Tuesday"</text>
        </inputEntry>
        <outputEntry id="LiteralExpression_1ei56ur">
          <text>"No"</text>
        </outputEntry>
      </rule>
    </decisionTable>
  </decision>