Tuesday, 10 July 2012

Microsoft Dynamics AX 2012 Development Cookbook

Highest layer of the Tree Node

 
#AOT

TreeNode treeNode;

SysTreeNode node;

UtilEntryLevel level;

treeNode = TreeNode::findNode(#ViewsPath +
'\\' + tableStr(DimAttributeHcmPosition));

level = SysTreeNode::getHighestLayer(treeNode);



info(
strFmt('%1',level));

Wednesday, 29 February 2012

Executing SQL Query in AX


UserConnection                  con;
    Statement                       stmt;
    ResultSet                       resultSet;
    SqlStatementExecutePermission   permission;
    str                             sql;
    ;
    sql = 'select * from HcmEmployment';
    permission = new SqlStatementExecutePermission(sql);
    permission.assert();

    con     = new userconnection();
    stmt    = con.createStatement();

    resultSet = stmt.executeQuery(sql);
    CodeAccessPermission::revertAssert();
    while (resultSet.next())
    {
     
           info(resultset.getString(1));

    }

Monday, 16 January 2012

Create a Project using Project Filter through code


static void ProjectFilter(Args _args)
{
    sysprojectfilterrunbase upgradeproject;
    utilelements            theelements;
    ;
    upgradeproject = new sysprojectfilterrunbase();
    upgradeproject.parmProjectNode(systreenode::createProject('test123'));
    upgradeproject.grouping(sysprojectgrouping::AOT);

    while select name, utilLevel, RecordType, ParentId from theelements
    where theelements.utilLevel == UtilEntryLevel::usr
    {
        try
        {
            theelements.reread();
            upgradeproject.doUtilElements(theelements);
        }
        catch (exception::Error)
        {
            throw error('error');
        }
    }
    upgradeproject.write();
    info('finish');
}