Auto Scan Class Creation?

Does Ignition 7.8.1 have a feature to create scan classes for you?

I’ve got a UDT Parameter called historyScanClass that is a string.

A tag in the UDT is then using {historyScanClass} to retrieve this parameter for itself. This way each instance of this UDT may have a different Historical Scanclass.

This all works fine except that with this 7.8 release, an actual scan class named “{historyScanClass}” is being automatically created in the Scan Class Editor.
Supposedly this is a feature to fill in any missing scan classes with an automatically created one, but it is making a lot of errors in the Console log because ‘{’ character is an illegal character.

[attachment=0]bad_scanclass.jpg[/attachment]

[code]11:29:01 AM Provider[clwElect] Unexpected error executing scan class.

java.lang.IllegalArgumentException: java.io.IOException: com.google.common.collect.ComputationException: com.inductiveautomation.ignition.common.sqltags.parser.TagPathFormatException: Illegal character ‘{’ (Line 1 , Char 28)
at com.inductiveautomation.ignition.gateway.sqltags.simple.SimpleTagProvider.getPath(SimpleTagProvider.java:84)
at com.inductiveautomation.ignition.gateway.sqltags.system.GatewaySystemTagsImpl.getPath(GatewaySystemTagsImpl.java:62)
at com.inductiveautomation.ignition.gateway.sqltags.simple.SimpleTagProvider.updateValue(SimpleTagProvider.java:100)
at com.inductiveautomation.ignition.gateway.sqltags.providers.AbstractStoreBasedTagProvider.scanclassStatisticsChanged(AbstractStoreBasedTagProvider.java:2137)
at com.inductiveautomation.ignition.gateway.sqltags.scanclasses.SimpleExecutableScanClass.notifyStatistics(SimpleExecutableScanClass.java:472)
at com.inductiveautomation.ignition.gateway.sqltags.scanclasses.SimpleExecutableScanClass.run(SimpleExecutableScanClass.java:905)
at com.inductiveautomation.ignition.common.execution.impl.BasicExecutionEngine$TrackedTask.run(BasicExecutionEngine.java:584)
at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511)
at java.util.concurrent.FutureTask.runAndReset(FutureTask.java:308)
at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.access$301(ScheduledThreadPoolExecutor.java:180)
at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:294)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)
at java.lang.Thread.run(Thread.java:745)
Caused by: java.io.IOException: com.google.common.collect.ComputationException: com.inductiveautomation.ignition.common.sqltags.parser.TagPathFormatException: Illegal character ‘{’ (Line 1 , Char 28)
at com.inductiveautomation.ignition.common.sqltags.parser.TagPathParser.parse(TagPathParser.java:181)
at com.inductiveautomation.ignition.common.sqltags.parser.TagPathParser.parse(TagPathParser.java:158)
at com.inductiveautomation.ignition.gateway.sqltags.simple.SimpleTagProvider.getPath(SimpleTagProvider.java:82)
… 13 more
Caused by: com.google.common.collect.ComputationException: com.inductiveautomation.ignition.common.sqltags.parser.TagPathFormatException: Illegal character ‘{’ (Line 1 , Char 28)
at com.inductiveautomation.ignition.common.sqltags.parser.TagPathParser$ParseFunction.load(TagPathParser.java:414)
at com.inductiveautomation.ignition.common.sqltags.parser.TagPathParser$ParseFunction.load(TagPathParser.java:407)
at com.google.common.cache.LocalCache$LoadingValueReference.loadFuture(LocalCache.java:3527)
at com.google.common.cache.LocalCache$Segment.loadSync(LocalCache.java:2319)
at com.google.common.cache.LocalCache$Segment.lockedGetOrLoad(LocalCache.java:2282)
at com.google.common.cache.LocalCache$Segment.get(LocalCache.java:2197)
at com.google.common.cache.LocalCache.get(LocalCache.java:3937)
at com.google.common.cache.LocalCache.getOrLoad(LocalCache.java:3941)
at com.google.common.cache.LocalCache$LocalLoadingCache.get(LocalCache.java:4824)
at com.inductiveautomation.ignition.common.sqltags.parser.TagPathParser.parse(TagPathParser.java:172)
… 15 more
Caused by: com.inductiveautomation.ignition.common.sqltags.parser.TagPathFormatException: Illegal character ‘{’ (Line 1 , Char 28)
at com.inductiveautomation.ignition.common.sqltags.parser.TagPathLexer.errMsg(TagPathLexer.java:213)
at com.inductiveautomation.ignition.common.sqltags.parser.TagPathLexer.errMsg(TagPathLexer.java:217)
at com.inductiveautomation.ignition.common.sqltags.parser.TagPathLexer.yylex(TagPathLexer.java:735)
at com.inductiveautomation.ignition.common.sqltags.parser.TagPathParser._parse(TagPathParser.java:201)
at com.inductiveautomation.ignition.common.sqltags.parser.TagPathParser.access$200(TagPathParser.java:28)
at com.inductiveautomation.ignition.common.sqltags.parser.TagPathParser$ParseFunction.load(TagPathParser.java:412)
… 24 more[/code]