In order to speed up some processing of records, I've created a class to read the data and then perform the processing and insert onto a database via a number of threads.
I can spawn the new threads ok, read tables and issue debug messages in the thread, but as soon as I try to insert onto a table which requires data from the cache (in this instance a NumberSeq) it falls over with the "Error executing code: No system global variables" error.
Stack trace (from the AOS event log) is below:-
(S)\Classes\NumberSeq_Fast\getNumInternal - line 15
(S)\Classes\NumberSeq\runNumber - line 9
(S)\Classes\NumberSeq\num - line 12
(S)\Data Dictionary\Tables\InventJournalTrans\Methods\insert - line 30
(S)\Classes\dbsProcessThreaded\processPutaway - line 27
The error (in getNumInternal) is:-
_num = appl.numberSeqGlobal().numberSeqDataArea().numberSeqNumCache().getNumFromCache(NumberSequenceTable::find(_numberSequenceCode));
I'm a bit confused as I would have thought this would be a fairly standard sort of thing people want to do (surely a threaded instance is pretty much identical to a batch job without any client?)
For reference, my handler class is being invoked by another class running on the server which in turn is invoked via a call on a client form. I assume I'm not doing anything out of the ordinary here and any help would be much appreciated.
Thanks.
Simon