Dynamics AX Enum Etiketlerine SQL’den Erişmek

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.

 

Bir cevap yazın

E-posta hesabınız yayımlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir