You encounter a runtime error U00020331 because a GET_VAR statement fails to resolve a variable name, resulting in an incomplete reference to "VARA."․․․․
Error Message:
"U00020331 Runtime error in object '<JOBName>', line '00010': U00003705 Variable 'VARA.' not found"
Symptoms:
Jobs fail during execution due to missing variable objects.
Scripting errors occur at a specific line number of the affected object.
Nested GET_VAR statements return errors when the first variable is null or empty.
Automic Automation Engine: 24.4.x
This occurs when a script uses a variable (e.g., &VAR_NAME) set by a previous GET_VAR to build a second GET_VAR string: GET_VAR('VARA.&VAR_NAME'). If the first GET_VAR returns no result, the second attempts to call 'VARA.', which does not exist.
The error U00003705 (Variable 'VARA.' not found) is usually a symptom of a timing or logic gap within the self-developed script. Because Automic does not provide these scripts "out of the box," the specific "inputs" and "scenarios" are determined by how your internal jobs interact with the VARA objects you are using.
Implement Troubleshooting Print Statements: Modify the script in '<JOBName>' to log the following data points for debugging:
Start time before the PUT and GET operations.
End time after the PUT operation.
Any variables used in the original GET_VAR request (if any).
These statements can help identify if this is some kind of timing issue - or maybe the condition for which you thought the job was being executed is not true and this impacts the job/result. Once you have these results you can determine next appropriate step.
Add Error Handling Logic: Update the '<JOBName>' job script to validate that variables are not empty before proceeding to prevent the job from failing immediately. See the Additional Information section for options while considering error handling.
Reproduce and Capture Diagnostics:
Activation report for '<JOBName>' that receives the error while attempting the incomplete GET_VAR.
Activation report and relevant details for the job that adds the data (often via PUT_VAR) used by the GET_VAR in #1.
Include getting RunIds, screenshots, timestamps, etc..
Analyze Data Flow: Compare the activation reports to identify why the job responsible for populating the VARA did not provide the expected value, the conditions under which the <JOBName> was running were expected (for example, was it executed differently than usual), etc..
Using the code below returns:
2026-02-12 22:34:56 - U00020408 USING GET_VAR to set SUBID
2026-02-12 22:34:56 - U00020408 SUBID - " "
2026-02-12 22:34:56 - U00020408 Variable is a blank space
Script:
:SET &RUNID = "123"
:SET &SUBID = "MISSING":PRINT "USING GET_VAR to set SUBID":SET &SUBID = GET_VAR(VARA.MYVARAOBJ, '&RUNID')
:IF &SUBID = " ": PRINT "Variable is a blank space": STOP MSG, 50, "is a blank space.":ENDIF
:IF &SUBID = "": PRINT "Variable is empty": STOP MSG, 50, "is empty/null.":ENDIF
When using :IF &SUBID = "" ahead of :IF &SUBID = " " it returns:
2026-02-12 22:35:45 - U00020408 USING GET_VAR to set SUBID
2026-02-12 22:35:45 - U00020408 SUBID - " "
2026-02-12 22:35:45 - U00020408 Variable is empty