X++ Job List out Dynamics AX 2012 Security Role, Query and Policy

This is a test job I wrote a few weeks ago to list out my custom security policies, roles and queries associated with it into a table. Hope someone finds it useful.

static void DN_LoadSecPolMeta(Args _args)
{
#AOT
Treenode secPolicyNode;
Treenode secPolicy;
NoYesId noyesid;
str secPolicyName, secRole, secQuery, strPrimaryTable;
int i;
int nodeCount;
DN_SecPol secpoltst;
secPolicyNode = treenode::findNode(#SecPoliciesPath);
// Count of all the secPolicys.
nodeCount = secPolicyNode.AOTchildNodeCount();
secPolicy = secPolicyNode.AOTfirstChild();
for (i=1; i<=nodeCount; ++i)
{
secPolicyName = secPolicy.AOTgetProperty("Name");
secRole = secPolicy.AOTgetProperty("RoleName");
secQuery = secPolicy.AOTgetProperty("Query");
if(secPolicyName like 'DN*' && secPolicy.AOTgetProperty("PolicyGroup") == 'Record Security') //Spit out only custom security policies having RLS Security
{
secpoltst.RoleName = secRole;
secpoltst.PolicyName = secPolicyName;
secpoltst.QueryName = secQuery;
secpoltst.PrimaryTable = secPolicy.AOTgetProperty("PrimaryTable");
secpoltst.Enabled = NoYes::Yes;
secpoltst.doInsert();
}
secPolicy = secPolicy.AOTnextSibling();
}
}

Comments

Post a Comment