Is there an easy way to find out if a field is updated via workflows?

Hi everyone

I'm trying to debug why a field is possibly being set incorrectly. I can put the field in audit but I'm trying to see if there is a way to locate a field by the workflow that's updating it? I cant make the change to audit the field during the day so will need to do it after hours as this kicks out user I think.

Thanks

  • Hi sonesay inthavong,

    If a Legacy Workflow is updating a field, that field's name will be in: workflow_actions.field
    The value it is being changed to is in: workflow_actions.value
    Example query:

    SELECT * FROM workflow_actions WHERE field = '<fieldname_c>';

    How to trace results from this back to Legacy Workflow names in the user interface of Sugar:

    SELECT workflow.id WFid, workflow.name WFname workflow_actions.field Field, workflow_actions.value Value FROM workflow_actions
    JOIN workflow_actionshells ON workflow_actionshells.id = workflow_actions.parent_id
    JOIN workflow ON workflow.id = workflow_actionshells.parent_id
    WHERE workflow_actions.field = '<fieldname_c>';


    If an Advanced Workflow is updating a field through a Change Field Action, the field will be contained within the JSON in pmse_bpm_activity_definition.act_fields

    Example Query:

    SELECT * FROM pmse_bpm_activity_definition WHERE act_fields LIKE '%<fieldname_c>%';

    How to trace results from this back to Advanced Workflow names in the user interface of Sugar:

    SELECT pmse_bpmn_process.prj_id ProcessURLid, pmse_bpmn_process.name ProcessName, pmse_bpmn_activity.name ProcessElementName FROM pmse_bpmn_process
    JOIN pmse_bpm_activity_definition ON pmse_bpm_activity_definition.pro_id = pmse_bpmn_process.id
    JOIN pmse_bpmn_activity ON pmse_bpmn_activity.id = pmse_bpm_activity_definition.id
    WHERE pmse_bpm_activity_definition.act_fields LIKE '%<fieldname_c>%';

    I hope this helps!