Troubleshooting: Circular Reference Errors in Data Workflow

Estimated Reading Time:  3 minutes

Issue

When an operation acts on something that doesn't exist, you can get a circular reference error. You'll also get this issue if the operator tries to act on itself. There a few suggestions to help you troubleshoot circular reference errors. Try the solutions listed below.

Solutions

Possible solutions to troubleshoot circular errors in your Data Workflow are:

Removing Numerical Value Requirements in Data Workflow Inputs

If an input is zero or begins with a zero, it’s best practice to avoid making it required in your Data Workflow. When you set the input to required, you’re almost certain to get a circular reference error. An easy way to resolve this issue is to make a change in your Input data operator. This operator has a drop-down menu that lets you select either Yes or No for a required input. Select No to resolve the issue.

Adding an Initializer with Inputs Set to Required

Any required input value of zero, or a value that begins with zero, might need troubleshooting. With the help of an Initializer component, you can prevent these issues. All you need to do is take your inputs out of the Data Workflow and add them to the Initializer.

To place your inputs into an Initializer component:

1. In the Module Builder, hover over your Data Workflow component.
2. On your canvas, drag and drop an Initializer component. Place it above your Data Workflow component.
3. Create a Property ID A Property ID is the unique field ID used by Unqork to track and link components in your module. (initXxx) and Canvas Label Text Canvas Label Text indicates the purpose of the corresponding field or component. For non-input components, the Canvas Label Text isn't end-user facing, and only appears in the . that suits your application.
4. In the Inputs Enter inputs components and actions you want the component to perform. table, enter the Property ID(s) of your input(s). Select the Required  checkbox () for each input.
5. In the Outputs Enter outputs components and actions you want the component to perform. table, enter the following:

Property ID

Type

Value

The Property ID of your Data Workflow

trigger

GO

6. Click Save & Close.
7. Save your module.

Now, preview your module in Express View and open the DevTools Console The DevTools Console helps you securely store, build, test, and deploy your software. as you run your Data Workflow. If configured correctly, you'll see your circular reference error resolved.

Creating a Greater Than Zero Argument

Another easy fix depends on the numerical values you input. If you know these values are always greater than zero, you can create an argument for it. Add a Gate operator to your Data Workflow using these steps:

1. In the Module Builder, hover over your Data Workflow component.
2. A 5-button toolbar displays above the component on hover-over.

Using the toolbar, click the (Settings) button.

3. On your Data Workflow canvas, drag and drop a Gate operator.
4. Configure the operator's Info window as follows:

Setting

Value

Category

Gate

Label

_arg>0

Do Not Sanitize Formula

Checked

Condition

_arg>0

NOTE  When selected, the Do Not Sanitize checkbox tells the operator to use your formula as-is. This is the best practice when working with a complex formula. If clear, the operator cleans up special characters that can cause unexpected data behavior.

5. Connect the output port (right) of your Input data operator to the input and argument ports (left and top) of your Gate operator.
6. Click Save.
7. Save your module.

Now, preview your module in Express View and open the DevTools Console as you run your Data Workflow. You should see that your Data Workflow ran successfully. There is no longer a circular reference error message.

Resources