2013-01-08 12 views
5

Esiste una tabella, una vista o una procedura che è possibile utilizzare per estrarre i valori da un Base Enum utilizzando SQL (direttamente dal DB, non in X ++)? Sono stato in grado di trovare alcuni isolati nella tabella SRSAnalysisEnums ma non l'enum di cui ho bisogno in particolare.Dynamics AX 2012 SQL Estrazione dei valori Base Enum

risposta

4

Se si sta tentando di accedere al Enums da AX dall'esterno (per esempio in SQL) è possibile aggiungere le enumerazioni mancanti per SRSAnalysisEnums aggiungendo la tabella che contiene una prospettiva e ricostruire i modelli

Strumenti-> strumenti di reporting -> modelli aggiornamento

è descritto qui http://abraaxapta.blogspot.co.uk/2012/02/missing-enums-in-srsanalysisenums.html

e un modo AX 2012 solo diverso di fare lo

http://abraaxapta.blogspot.co.uk/2012/11/accessing-enum-labels-from-outside-ax.html

Spero che questo aiuti

+0

Questo ha fatto il trucco (versione 2012). Ho solo dovuto modificare la query per iterare attraverso gli indici enum e memorizzare i valori in una tabella temporanea. –

+0

Un altro riferimento per il 2012 sarebbe: http://ioi.solutions/retrieving-label-from-enum-value-in-dynamics-ax-sql-db –

4

Looping oltre enumerazioni è morto facile:

static void EnumIteration(Args _args) 
{ 
    DictEnum enum = new DictEnum(enumName2Id("TestEnum")); 
    int i; 
    for (i=0; i < enum.values(); i++) 
    { 
     info(enum.index2Label(i)); 
    }  
} 

rotolare sul proprio tavolo.

+0

Questo mi ha aiutato a verificare se un valore di stringa corrisponde a un elemento di un enum. Confrontare la mia stringa con tutte le etichette degli elementi ha un significato nel mio scenario, quindi è fantastico. Grazie Jan! –