Formula management workflow not triggering after formula update in tc-12.4

Our formula management workflows in tc-12.4 are not starting automatically after formula updates. When engineers modify formulas in parts or BOMs, the expected review workflow should trigger, but nothing happens. Manual workflow initiation works fine, but the automatic workflow-trigger based on formula-update events is broken.

Checked event-mapping configuration:


Event: FormulaModified
Target Workflow: Formula_Review_WF
Status: ACTIVE

The event appears to be firing (I can see it in audit logs), but the workflow engine isn’t picking it up. This delays-review processes significantly since engineers forget to start workflows manually. Any ideas what might be breaking the event-mapping between formula updates and workflow triggers?

Have you checked the workflow engine’s event processing queue? Sometimes events pile up if there’s a processing bottleneck. Also, verify that the workflow template is properly deployed and active. I’ve seen cases where template updates don’t fully propagate, leaving the old event-mapping configuration in place while the new template expects different event parameters.

Check if your formula-update events are being captured correctly by the subscription service. The workflow-trigger mechanism relies on proper event subscription mappings. Use the Event Management utility to verify that FormulaModified events have active subscriptions pointing to your Formula_Review_WF template.

I’ve encountered this before. The issue might be with the event action handler configuration in your workflow template. When you define the workflow-trigger based on formula-update, there’s an event action handler that needs to be properly configured with the correct event type mapping. Check your workflow template XML for the FormulaModified event action definition and ensure it’s pointing to the right handler class. Sometimes after upgrades or template modifications, these mappings get disconnected.

I’ve debugged this exact scenario multiple times in tc-12.4 environments. The problem involves all three areas you’ve identified, and the solution requires systematic verification.

Workflow Trigger Configuration: First, verify your workflow launch criteria in the template definition. The workflow-trigger must be properly configured with the correct event type:


<LaunchCriteria>
  <EventType>FormulaModified</EventType>
  <ObjectType>WTPart</ObjectType>
</LaunchCriteria>

Formula Update Event Handling: The formula-update event in tc-12.4 has specific requirements. Ensure your event subscription is configured correctly:


EventSubscription sub = EventSubscription.newEventSubscription();
sub.setEventType("FormulaModified");
sub.setSubscriberClass("com.acme.WorkflowLauncher");

Critically, the event must be a POST_INVOKE subscription, not PRE_INVOKE.

Event Mapping Verification: The event-mapping between formula modifications and workflow launches requires proper action handler registration. Check your workflow template’s event action configuration:


// Pseudocode - Event mapping verification steps:
1. Query workflow template for Formula_Review_WF
2. Get associated event actions from template definition
3. Verify FormulaModified event has registered action handler
4. Check action handler class implements WorkflowLaunchable interface
5. Confirm handler's isApplicable() method returns true for formula objects
// See TC Workflow Administration Guide Section 6.3

Common Issues in TC-12.4:

  1. Event Subscription Timing: Formula events must complete transaction commit before triggering workflows. Add this to your subscription:

sub.setTiming(EventSubscription.POST_EVENT);
sub.setTransactionBehavior(EventSubscription.AFTER_COMMIT);
  1. Object Type Filtering: If your formulas are on specific part types, ensure event filters match:

sub.setObjectTypeFilter("com.acme.CustomPart");
  1. Workflow Template Deployment: Re-deploy your workflow template after verifying event mappings. Sometimes the event-mapping registration doesn’t persist correctly during initial deployment.

Testing Procedure:

  1. Enable debug logging for workflow engine and event service
  2. Update a formula on a test part
  3. Monitor MethodServer logs for FormulaModified event firing
  4. Verify event reaches workflow launch handler
  5. Check for any exception stack traces in workflow engine logs

Additional Fix for TC-12.4: There’s a known issue where formula events don’t propagate if the formula is updated through certain API methods. Ensure formula updates use:


Formula formula = part.getFormula();
formula.setExpression(newExpression);
PersistenceHelper.manager.save(formula);
PersistenceHelper.manager.refresh(part);

The refresh() call is crucial for event propagation.

After implementing these changes, test with a new formula modification. The workflow should trigger automatically within seconds of the update completing.

Look at your subscription priorities and filters. We had a similar situation where formula-update events were being consumed by a different subscriber before reaching the workflow trigger. Check if there are multiple subscriptions to the FormulaModified event and their priority order. Also verify that your event-mapping includes the correct object type filters - if it’s filtering for the wrong formula type, the workflow won’t trigger.