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.