Calc Tables space size

useing X++ code calculate normal tables of sub Dictionary space size.

remark by Jimmy  July 14th 2010

static void Jimmy_CalcTableSpaceSize(Args _args)
{
    Dictionary      dict = new Dictionary();
    SysDictTable    dictTable;
    int             i,recordCount;
    tableId         tableId;
    real            size;
    test            test;
    int             m   ;
    Common          common;
;
    delete_from test;
    for (i=1; i<=dict.tableCnt(); i++)
    {
        tableId     = dict.tableCnt2Id(i);
        dictTable   = new SysDictTable(tableId);
        if(dictTable.isMap() || dictTable.isView() || dictTable.isTmp())
            continue;
       // recordCount = dictTable.recordCount(false);
        common      = dictTable.makeRecord();
        common.disableCache(true);
        select firstonly count(RecId) from common;
        recordCount = any2int(common.RecId);
        
        if (recordCount)
        {
            size        = recordCount * dictTable.recordSize();
            test.ItemId = dict.tableName(tableId);
            test.Name   = dictTable.label();
            test.Pirce  = dictTable.recordSize();
            test.Id     = dictTable.id();
            test.Qty    = size;
            test.Record = recordCount;
            test.doInsert();
            m++; 
        }
    }
    info(int2str(m));
}

原文地址:https://www.cnblogs.com/Fandyx/p/1777120.html