Today, I came across a requirement to find out the name of each table in AOT along with the number of records for each table.
Here is the code to achieve this functionality;
void getTableNameRecordCount(Args _args)
{
#AOT Name name;
NumberOf recordCount;
TreeNode treeNode;
SysDictTable sysDictTable;
;
treeNode = TreeNode::findNode(#TablesPath);
treeNode = treeNode.AOTfirstChild();
while (treeNode)
{
name = treeNode.AOTname();
sysDictTable = SysDictTable::newTableId(treeNode.applObjectId());
recordCount = sysDictTable.recordCount(false);
if (recordCount)
info (strfmt("@SYS26868", name, recordCount));
treeNode = treeNode.AOTnextSibling();
}
}
Here is the code to achieve this functionality;
void getTableNameRecordCount(Args _args)
{
#AOT Name name;
NumberOf recordCount;
TreeNode treeNode;
SysDictTable sysDictTable;
;
treeNode = TreeNode::findNode(#TablesPath);
treeNode = treeNode.AOTfirstChild();
while (treeNode)
{
name = treeNode.AOTname();
sysDictTable = SysDictTable::newTableId(treeNode.applObjectId());
recordCount = sysDictTable.recordCount(false);
if (recordCount)
info (strfmt("@SYS26868", name, recordCount));
treeNode = treeNode.AOTnextSibling();
}
}
the code worked very well, its very useful, thank you.
ReplyDelete