Oct 29, 2018

Custom dimension lookup

static void LookupDimTag(FormStringControl _FormStringControl)
{
    DimensionAttribute                  dimensionAttribute;
    DimensionAttributeDirCategory       dimAttributeDirCategory;
    Query                               query = new Query();
    SysTableLookup                      sysTableLookup;
   
    dimensionAttribute = DimensionAttribute::findByName("Dimension attribute name");

    if (dimensionAttribute.Type == DimensionAttributeType::CustomList)
    {
        select firstonly DirCategory from dimAttributeDirCategory where dimAttributeDirCategory.DimensionAttribute == dimensionAttribute.RecId;
        sysTableLookup = SysTableLookup::newParameters(tableNum(DimensionFinancialTag), _FormStringControl);
           
        sysTableLookup.addLookupfield(fieldNum(DimensionFinancialTag, Value));
        sysTableLookup.addLookupfield(fieldNum(DimensionFinancialTag, Description));
       
        query = new Query();
        query.addDataSource(tableNum(DimensionFinancialTag)).addRange(fieldNum(DimensionFinancialTag, FinancialTagCategory)).value(queryValue(dimAttributeDirCategory.DirCategory));
        sysTableLookup.parmQuery(query);

        sysTableLookup.performFormLookup();
    }
}

No comments:

Post a Comment