Dynamics Ax’ta eksik tablo özelliklerini kontrol etmek

Merhaba

Tablo özelliklerinin performan için ne kadar önemli olduğunu biliyorsunuz. Örneğin PrimaryIndex, ClusterIndex, Label, Securty key ve CacheLookup gibi. Bir tablo oluşturulduğunda bu alanların mutlaka tanımlanması gerekmektedir. Peki daha önce oluşturulmuş tablolarda bu alanların tanımlanıp tanımlanmadığını nasıl kontrol edebilirsin. Tabiki SysDictTable’ı kullanarak.

Örneğimizde sadece  PrimaryIndex, ClusterIndex ve  CacheLookup özelliklerini kontrol edeceğiz ve temp tabloları  atlayacağız.
static void TabloTara(Args _args)
{
    boolean         skipEmptyTables = true;
    boolean         result;
    treeNode        treeNode;
    SysDictTable    sdt;
    str             TableAndCound;
    int             recordCount;
    boolean         skipEmptyrecordCount = false;
    treeNodeIterator treeNodeIterator =TreeNode::findNode(“<a href=”file://\\Data”>\\Data</a> 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();
    }
}

Kaynak 

Thanks Dick

Selamlar.

 
  • Trackback are closed
  • Comments (2)
    • Anonim
    • Mayıs 7th, 2011 7:22pm

    merhaba fatih BEY…ben bu işte yeni bile sayılmam…

    1. soru:tarayıcıdan aldığım öğrenci bilgilerimi siteme atıp verileri veri tabanına alan bir sistem mümkün mü?

    2.soru:okuldaki optik okuyucudan alınan .dat yada .txt dosyalarının(ki bu dosyaların ilk satırları cevap anahtarı olur belirli sutun aralıkları değişik veriler içerir… )siteye yükledikten sonra ilk satırın ilgili sutun verisi ile diğer satırların aynı sutunundaki verileri karşılaştıracak ve kişi adına açılacak veri tabanı işleyecek ve sitede açılan yeni sayfada sınav sıralamasını ve netleri verecek bi sistem kurmak mümkün mü?

    yada en uygun tasarım aracı ne olabilir……

    • Merhaba,
      Söylediklerinizi yapabilirsiniz ancak iyi seviyede bir programlama dili bilmeniz gerekir.

Comment are closed.