We are up to 25 screencasts as of last night. You can find the full list here:


In particular I want to call attention to Screencast 25: Getting the Values of an AX Enum into a Report

I’ve pasted the code used to retrieve the Enum data into a DataTable

public static System.Data.DataTable GetAXEnum(string enumname)
    if (enumname == null)
        throw new System.ArgumentNullException("enumname");
    var dt = new System.Data.DataTable();
    dt.Columns.Add("Symbol", typeof(string));

    var ax = Microsoft.Dynamics.Framework.Reports.SessionManager.GetSession();
    int enum_id = (int)ax.CallStaticClassMethod("Global", "enumName2Id", enumname);
    var enum_obj = ax.CreateAxaptaObject("DictEnum", Convert.ToString(enum_id));
    int val_count = (int)enum_obj.Call("values");


    for (int i = 0; i < val_count; i++)
        string symbol = (string)enum_obj.Call("value2Symbol", i);

        if (symbol.Length > 0)
            int int_value = (int)enum_obj.Call("symbol2Value", symbol);
            string label = (string)enum_obj.Call("value2Label", i);
            dt.Rows.Add(symbol, int_value, label);
    return dt;