AX’ın veritabanından benim gibi sık sık sorgu çekiyorsanız veya ax’dan veri çeken bir entegrasyon yazıyorsanız, enum tipindeki alanlarda gördüğünüz sayısal değerin label karşılığını görmek isteyebilirsiniz.
Ax içinde standart olarak gelen SRSAnalysisEnums tablosunda iş zekası ile ilgili bazı enum labelları bulunuyor. Bu tabloyu BIGenerator::populateSRSAnalysisEnums() method’u dolduruyor. İnternette çeşitli kaynaklar, bu sınıfı modifiye ederek istediğiniz enumlar için nasıl çalıştıracağınızdan bahsediyor. Fakat bu işlemler gereksiz uzun.
Ben yine bu sınıfı temel alan ve kullanması çok daha basit bir sınıf hazırladım. Bu yardımcı sınıfı ax’a dahil ettikten sonra aşağıdaki job’ı çalıştırarak istediğiniz enumların, istediğiniz dildeki labellarını
SRSAnalysisEnums tablosuna kaydediyor. Artık SQL’den direkt bu tabloya sorgu çekerek labellara erişebilirsiniz.
Sınıfı buradan indirebilirsiniz.
// Güven Şahin
// guvensahin.com
static void GvnEnumLabelGeneratorJob(Args _args)
{
GvnEnumLabelGenerator GvnEnumLabelGenerator;
container conLanguage;
container conEnumNum;
;
conLanguage = ["en-us", "en-au"];
conEnumNum += enumNum(DmrItemLabelType);
conEnumNum += enumNum(DmrPassportType);
GvnEnumLabelGenerator = new GvnEnumLabelGenerator(conLanguage, conEnumNum);
GvnEnumLabelGenerator.run();
info("done. check SRSAnalysisEnums table.");
}
Son olarak ben sadece AX 2012 de test ettim. Fakat kodlar Dynamics 365 F&O içinde geçerli.
Geri bildirim: Dynamics 365 F&O – Enum Etiketlerine SQL Sorgusu ile Erişmek | Güven Şahin
Geri bildirim: Dynamics 365 F&O – Union Query ile View Oluşturmak | Güven Şahin