Work order status not updating after batch completion in integration environment

We’re experiencing a critical issue in our integration environment where work order status remains stuck at ‘In Progress’ even after batch completion events are successfully logged. This is blocking our downstream production reporting and causing major delays in material release.

The batch completion event fires correctly (confirmed in event logs), but the workflow engine doesn’t seem to be picking up the trigger to update work order status to ‘Completed’. We’ve verified the event-to-status mapping configuration matches our production setup, yet the behavior differs.

Our batch process completes normally, all quality checks pass, and the batch record shows completion timestamp. However, the work order status transition never occurs. We’re running FactoryTalk MES 10.0 with standard workflow configurations.


Batch ID: BCH-2025-0815-001
Event Logged: BatchCompletionEvent at 09:45:23
Work Order: WO-45892 Status: In Progress (Expected: Completed)
Workflow State: Awaiting trigger response

Has anyone encountered similar workflow engine trigger issues with batch completion event handling? This is impacting our entire production line downstream.

I’m going to provide the complete solution based on what we’ve uncovered. Your issue stems from a combination of event-to-status mapping misconfiguration and workflow engine trigger evaluation logic.

Root Cause Analysis:

The workflow engine trigger isn’t firing because the batch completion event handling includes attribute conditions that aren’t being met. Specifically, the ‘validationStatus’ attribute in your event payload is preventing the trigger from evaluating to true.

Event-to-Status Mapping Fix:

First, verify your event mapping configuration includes all required attributes:


Event: BatchCompletionEvent
Required Attributes: batchId, completionTime, qualityStatus
Optional Attributes: validationStatus (should not block completion)
Status Transition: In Progress -> Completed

Workflow Engine Trigger Configuration:

  1. Open Workflow Designer and navigate to your work order workflow definition
  2. Select the transition from ‘In Progress’ to ‘Completed’ state
  3. Edit the trigger condition to handle the validationStatus attribute properly
  4. Modify the trigger expression to:

event.type == 'BatchCompletionEvent' AND
event.batchId == workOrder.currentBatchId AND
event.qualityStatus == 'PASSED' AND
(event.validationStatus IS NULL OR event.validationStatus != 'failed')

The key change is making validationStatus optional in the trigger logic. The condition now allows the transition if validationStatus is null OR if it’s anything except ‘failed’. The ‘pending_review’ value won’t block completion anymore.

Batch Completion Event Handling:

  1. Check your batch class configuration: Administration > Production Management > Batch Classes

  2. Select your batch class and go to Quality Management tab

  3. If ‘Require Manual Validation’ is checked, either:

    • Uncheck it if manual validation isn’t needed, OR
    • Ensure the validation step has a timeout/auto-approve rule
  4. Verify the event publisher configuration:

    • Go to System Configuration > Event Publishing
    • Find BatchCompletionEvent publisher
    • Ensure ‘Publish on Quality Check Pass’ is enabled
    • Verify ‘Wait for Validation’ is set to FALSE

Testing the Fix:

  1. After making these changes, restart the Workflow Engine service
  2. Create a test work order and batch
  3. Complete the batch and monitor Event Monitor for the BatchCompletionEvent
  4. Verify the event payload shows qualityStatus=‘PASSED’
  5. Confirm work order status transitions to ‘Completed’ within 30 seconds

Additional Considerations:

If you need to maintain the manual validation workflow but still want automatic status updates, create a separate workflow state called ‘Completed - Pending Validation’ that the batch completion event triggers, then have the validation approval event trigger the final ‘Completed’ state.

For FT MES 10.0 specifically, there’s a known issue where workflow trigger conditions don’t properly evaluate NULL attributes. Apply the latest cumulative update (CU 10.0.5 or higher) which includes a fix for this behavior.

The event-to-status mapping is working correctly - the issue is purely in how the workflow engine evaluates the trigger conditions against the event payload. By making the validationStatus attribute optional in your trigger logic, you allow the normal completion flow while still supporting scenarios where validation status is relevant.

Rachel, that’s interesting about case sensitivity. I captured the event payload using Event Monitor and found something odd - the batch completion event includes a ‘validationStatus’ attribute that wasn’t in our original design. It’s set to ‘pending_review’ even though all quality checks passed. Could this be interfering with the workflow trigger evaluation?

We had this exact problem last quarter. The issue was with event attribute case sensitivity. Our batch completion events were sending ‘Complete’ but the workflow trigger was checking for ‘COMPLETE’. FactoryTalk MES 10.0 is strict about attribute matching. Use the Event Monitor tool to capture a live batch completion event and compare the actual payload attributes against your workflow trigger conditions. Nine times out of ten, it’s a mismatch in attribute names, values, or data types between what the event sends and what the workflow expects.