Dynamics Ax 2012′de DefaultDimension sorgu örnekleri
Merhaba
Şu yazımda BusinessUnit boyutunun değeri “20″ olan müşterileri listeleyen bir query yazmıştım. Bu query örneğinin select ifadesiyle yazılmış şeklini iki örnekle anlatacağım.
Bu örnekte gerekli bütün tabloları join’leyip istediğimiz sonuca ulaşıyoruz.
static void FD_AddCustDimensionRangeSelectAll(Args _args)
{
CustTable custTable;
DimensionAttribute dimAttr;
DimensionAttributeValue dimAttrValue;
DimensionAttributeValueSetItem dimAttrValueSetItem;
;
while select custTable
join dimAttrValueSetItem
where dimAttrValueSetItem.DimensionAttributeValueSet == custTable.DefaultDimension
&& dimAttrValueSetItem.DisplayValue == "20"
join dimAttrValue
where dimAttrValue.RecId == dimAttrValueSetItem.DimensionAttributeValue
join dimAttr
where dimAttr.RecId == dimAttrValue.DimensionAttribute
&& dimAttr.BackingEntityType == tableNum(DimAttributeOMBusinessUnit)
{
info(strFmt("%1 ; %2 ; %3 ; %4", CustTable.AccountNum ,
dimAttr.Name , dimAttrValueSetItem.DisplayValue , CustTable.name()));
}
}
Bu örnekte ise DimensionAttributeValue ve DimensionAttributeValueSetItem yerine Bir view kullanıyoruz.
static void FD_AddCustDimensionRangeSelect(Args _args)
{
CustTable custTable;
DimensionAttribute dimAttr;
DimensionAttributeValueSetItemView dimAttrValueSetItemView;
;
while select custTable
join dimAttrValueSetItemView
where dimAttrValueSetItemView.DimensionAttributeValueSet == custTable.DefaultDimension
&& dimAttrValueSetItemView.DisplayValue == "20"
join dimAttr
where dimAttr.RecId == dimAttrValueSetItemView.DimensionAttribute
&& dimAttr.BackingEntityType == tableNum(DimAttributeOMBusinessUnit)
{
info(strFmt("%1 ; %2 ; %3 ; %4", CustTable.AccountNum ,
dimAttr.Name , dimAttrValueSetItemView.DisplayValue , CustTable.name()));
}
}
İki kodu da çalıştırdığınızda aynı çıktıyı alacaksınız.

Selamlar.







