# Auto Scan Class Creation?

**URL:** <https://forum.inductiveautomation.com/t/auto-scan-class-creation/11309>\
**Category:** Ignition\
**Created:** [March 3, 2016, 5:34pm UTC](https://forum.inductiveautomation.com/t/auto-scan-class-creation/11309 "2016-03-03T17:34:11Z")\
**Posts on this page:** 1\
**Page:** 1

<div class="post-metadata">

**Author:** ![mm3](https://avatars.discourse-cdn.com/v4/letter/m/76d3ee/32.png) [@mm3](https://forum.inductiveautomation.com/u/mm3)\
**Post date:** [March 3, 2016, 5:34pm UTC](https://forum.inductiveautomation.com/t/auto-scan-class-creation/11309/1 "2016-03-03T17:34:11Z")

</div>

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]
