Sunday, 8 July 2012

Table Tuning (to check this if all tables have Primary,Cluster Index and Caching.

//This Script will check if all tables have // //Primary index //Cluster index //Caching ////NOTE: temp tables are skipped static void TableTuningTest_Mallik(Args _args) { boolean skipEmptyTables = true; boolean result; treeNode treeNode; SysDictTable sdt; str TableAndCound; int recordCount; boolean skipEmptyrecordCount = false; treeNodeIterator treeNodeIterator =TreeNode::findNode("\\Data Dictionary\\Tables").AOTiterator(); ; treeNode = treeNodeIterator.next(); setPrefix("Tuning"); while (treeNode) { sdt = new SysDictTable(tablename2id(treeNode.AOTname())); recordCount = sdt.recordCount(); if(!sdt.isTmp() && (!skipEmptyTables || (recordCount != 0)) ) { TableAndCound = treeNode.AOTname()+ ' ('+ int2str(sdt.recordCount())+')'; setPrefix(TableAndCound); result = false; result = result || sdt.treeNode().AOTgetProperty("CreatedDateTime") == "yes" ? true : false; result = result || sdt.treeNode().AOTgetProperty("ModifiedDateTime")== "yes" ? true : false; if(result && sdt.treeNode().AOTgetProperty("CreateRecIdIndex") == "No" ) { setPrefix(TableAndCound); info("RecIdIndex"); } if(sdt.treeNode().AOTgetProperty("CacheLookup") == "None") { setPrefix(TableAndCound); info("CacheLookup"); } if(sdt.treeNode().AOTgetProperty("ClusterIndex") == "") { setPrefix(TableAndCound); Warning("ClusterIndex"); } if(sdt.treeNode().AOTgetProperty("PrimaryIndex") == "") { setPrefix(TableAndCound); Error("PrimaryIndex"); } } treeNode = treeNodeIterator.next(); } }

No comments:

How to Disable “Advanced Filter or Sort” and Enforce Custom Filters on Any D365FO Form

 In Dynamics 365 Finance and Operations, users can apply filters through the “Advanced filter or sort” feature found under the Options tab...