Following code snippet loop through metadata information of AOT objects (this example is to loop through all data entities).
class
DataEntityExtension
{
/// <summary>
/// Runs the class with the specified
arguments.
/// </summary>
/// <param name =
"_args">The specified arguments.</param>
public static void main (Args _args)
{
DMFEntityTableExtension entityTableExtension;
var entityNames = Microsoft.Dynamics.Ax.Xpp.MetadataSupport::GetDataEntityViewNames();
Var enumerator = entityNames.getEnumerator();
while (enumerator.MoveNext())
{
enumerator.MoveNext();
Microsoft.Dynamics.AX.Metadata.MetaModel.AxDataEntityView axDataEntity = Microsoft.Dynamics.Ax.Xpp.MetadataSupport::GetDataEntityView(enumerator.Current);
if (axDataEntity)
{
entityTableExtension.Label =
SysLabel::labelId2String(axDataEntity.Label);
entityTableExtension.PublicEntityName = axDataEntity.PublicEntityName;
entityTableExtension.PublicCollectionName =
axDataEntity.PublicCollectionName;
entityTableExtension.EntityName = axDataEntity.Name;
entityTableExtension.IsPublic = axDataEntity.IsPublic;
entityTableExtension.insert();
info(strFmt("Entity
Name: %1 -- Entity Label; %2 -- Entity public collection Name: %3 -- Entity
Public Name %4 -- Is Entity Public - %5",
axDataEntity.Name,
SysLabel::labelId2String(axDataEntity.Label),
axDataEntity.PublicCollectionName,
axDataEntity.PublicEntityName,
axDataEntity.IsPublic));
}
}
}
}
OUTPUT:
It was a great information. Thanks for sharing.
ReplyDeleteD365 Finance and Operations Training
D365 Finance and Operations Training in Hyderabad
D365 Operations Training