static void tablesinamodule(Args _args)
{
// The name of the configuration key to be specified here
str configKeyName = "ProdShop";
Dictionary dictionary = new Dictionary();
ConfigurationKeyId configKeyId = dictionary.configurationKeyName2Id(configKeyName);
TableId tableId;
DictConfigurationKey dictConfigurationKey;
DictTable dictTable;
container keyIds;
int i;
;
if (configKeyId)
{
// Find all children of the specified configuration key
for (i = dictionary.configurationKeyNext(0); i; i = dictionary.configurationKeyNext(i))
{
dictConfigurationKey = new DictConfigurationKey(i);
while (dictConfigurationKey.parentConfigurationKeyId())
dictConfigurationKey = new DictConfigurationKey(dictConfigurationKey.parentConfigurationKeyId());
if (dictConfigurationKey.id() == configKeyId)
keyIds += i;
}
// Find all tables that have an appropriate configuration key
i = 0;
for (tableId = dictionary.tableNext(0);tableId;tableId = dictionary.tableNext(tableId))
{
dictTable = new DictTable(tableId);
if (!dictTable.isMap() && !dictTable.isTmp() && !dictTable.isView())
{
if (confind(keyIds, dictTable.configurationKeyId()))
{
i++;
info(dictTable.name());
}
}
}
}
info(strfmt("%1 tables have configuration key '%2'", i, configKeyName));
}
{
// The name of the configuration key to be specified here
str configKeyName = "ProdShop";
Dictionary dictionary = new Dictionary();
ConfigurationKeyId configKeyId = dictionary.configurationKeyName2Id(configKeyName);
TableId tableId;
DictConfigurationKey dictConfigurationKey;
DictTable dictTable;
container keyIds;
int i;
;
if (configKeyId)
{
// Find all children of the specified configuration key
for (i = dictionary.configurationKeyNext(0); i; i = dictionary.configurationKeyNext(i))
{
dictConfigurationKey = new DictConfigurationKey(i);
while (dictConfigurationKey.parentConfigurationKeyId())
dictConfigurationKey = new DictConfigurationKey(dictConfigurationKey.parentConfigurationKeyId());
if (dictConfigurationKey.id() == configKeyId)
keyIds += i;
}
// Find all tables that have an appropriate configuration key
i = 0;
for (tableId = dictionary.tableNext(0);tableId;tableId = dictionary.tableNext(tableId))
{
dictTable = new DictTable(tableId);
if (!dictTable.isMap() && !dictTable.isTmp() && !dictTable.isView())
{
if (confind(keyIds, dictTable.configurationKeyId()))
{
i++;
info(dictTable.name());
}
}
}
}
info(strfmt("%1 tables have configuration key '%2'", i, configKeyName));
}
No comments:
Post a Comment