Exportfile for AOT version 1.0 or later Formatversion: 1 ***Element: JOB ; Microsoft Dynamics Job: findLargeTables unloaded ; -------------------------------------------------------------------------------- JOBVERSION 1 SOURCE #findLargeTables #static void findLargeTables(Args _args) #{ # Dictionary dictionary; # TableId tableId; # # SysDictTable dictTable; # # Array recordCounts = new Array(Types::Container); # container tables; # int currCount; # # int i, printed; # int maxPrint = 10; # ; # # dictionary = new Dictionary(); # # tableId = dictionary.tableNext(0); # # while (tableId) # { # dictTable = new SysDictTable(tableId); # # if ( !dictTable.isMap() && !dictTable.isView() && !dictTable.isSystemTable() && dictTable.dataPrCompany() # && ( dictTable.cacheLookup() == RecordCacheLevel::None # || dictTable.indexCnt() == 0 # || dictTable.clusterIndex() == 0 # || dictTable.primaryIndex() == 0 # ) # ) # { # currCount = dictTable.recordCount(); # if (currCount > 0) # { # if (recordCounts.exists(currCount)) # { # tables = recordCounts.value(currCount); # tables += dictTable.name(); # } # else # { # tables = [dictTable.name()]; # } # # recordCounts.value(currCount, tables); # } # } # # tableId = dictionary.tableNext(tableId); # } # # printed = 0; # i = recordCounts.lastIndex(); # while (i > 0 && printed < maxPrint) # { # if (recordCounts.exists(i) && conLen(recordCounts.value(i)) > 0 ) # { # info(strFmt("%1 - %2", i, con2str(recordCounts.value(i)))); # ++printed; # } # # --i; # } #} ENDSOURCE ***Element: END