"no viable alternative at input 'self'"

Hi,

I’m getting error on my code as “no viable alternative at input ‘self’”.
I couldn’t identify any issue on my code.
If I make this code as comment, the error moves on to next line and so on, until I make all these lines as comment.
Hope my explanation is clear.

org.python.core.PySyntaxError
SyntaxError: (“no viable alternative at input ‘self’”, (‘function:runAction’, 60, 3, ‘\t\t\tself.getSibling(“systemDD”).props.enabled = self.getSibling(“statusTA”).props.enabled = self.getSibling(“descriptionTA”).props.enabled = 0\n’))

at org.python.core.ParserFacade.fixParseError(ParserFacade.java:95)
at org.python.core.ParserFacade.parse(ParserFacade.java:205)
at org.python.core.Py.compile_flags(Py.java:2205)
at com.inductiveautomation.ignition.common.script.ScriptManager.compileFunction(ScriptManager.java:841)
at com.inductiveautomation.ignition.gateway.project.ProjectScriptLifecycle$TrackingProjectScriptManager.compileFunctionSuper(ProjectScriptLifecycle.java:578)
at com.inductiveautomation.ignition.gateway.project.ProjectScriptLifecycle$AutoRecompilingScriptFunction.getOrCreateDelegate(ProjectScriptLifecycle.java:617)
at com.inductiveautomation.ignition.gateway.project.ProjectScriptLifecycle$AutoRecompilingScriptFunction.<init>(ProjectScriptLifecycle.java:608)
at com.inductiveautomation.ignition.gateway.project.ProjectScriptLifecycle$TrackingProjectScriptManager.compileFunction(ProjectScriptLifecycle.java:567)
at com.inductiveautomation.ignition.common.script.ScriptManager.compileFunction(ScriptManager.java:822)
at com.inductiveautomation.perspective.gateway.script.ScriptFunctionHelper.invoke(ScriptFunctionHelper.java:70)
at com.inductiveautomation.perspective.gateway.action.ScriptAction.runAction(ScriptAction.java:71)
at com.inductiveautomation.perspective.gateway.model.ActionCollection$ActionSequence$ExecuteActionsTask.lambda$call$0(ActionCollection.java:263)
at com.inductiveautomation.perspective.gateway.api.LoggingContext.mdc(LoggingContext.java:54)
at com.inductiveautomation.perspective.gateway.model.ActionCollection$ActionSequence$ExecuteActionsTask.call(ActionCollection.java:252)
at com.inductiveautomation.perspective.gateway.model.ActionCollection$ActionSequence$ExecuteActionsTask.call(ActionCollection.java:221)
at com.inductiveautomation.perspective.gateway.threading.BlockingTaskQueue$TaskWrapper.run(BlockingTaskQueue.java:154)
at java.base/java.util.concurrent.Executors$RunnableAdapter.call(Unknown Source)
at java.base/java.util.concurrent.FutureTask.run(Unknown Source)
at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(Unknown Source)
at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source)
at java.base/java.lang.Thread.run(Unknown Source)

Ignition v8.0.7 (b2019122014)
Java: Azul Systems, Inc. 11.0.5

Don’t be mislead. self is not the issue; the line above it has not been completed in a satisfactory manner, and so self is being interpreted as an argument for the previous line. Check that the previous line has ONLY the expected arguments.

1 Like

Great! that absolutely makes sense. I missed a parentheses on previous line. Thanks for prompt response.

2 Likes

As a general rule, 'no viable alternative input at ‘something’ usually means you forgot to close a parentheses/quote/forgot to put indented code after a if statement, or something to that effect.