Dans le billet précédent, nous avons vu dans quelle table nous devions créer notre champ et le nom que nous allions lui donner. Il nous reste à définir son type.
Pour rappel, ce champ se destine à accueillir une liste de valeur. Sous AX le type de champ à utiliser est "Enum". Les valeurs de cette énumération sont connues, il faut donc les définir :
- 0 : Test 1
- 1 : Test 2
- 2 : Test 3
0, 1 et 2 étant les valeurs stockées en base de données et "Test 1", "Test 2" et "Test 3" les valeurs d'affichage.
Etape 1 - Création de l'énumération :
Voici les actions à réaliser :
- Se placer dans l'AOT (Control+D) sur la branche "Data Dictionary\Base Enums"
- Ouvrir le menu contextuel et sélectionner l'option "Nouveau Base Enum"
- Affecter à ce base enum le nom "SP_TestCombo"
- Ouvrir le menu contextuel correspondant à ce base enum et sélectionner l'option "Nouveau Element"
- Valoriser les propriétés "Name", "Label" et "EnumValue" avec les valeurs suivantes : "Test1", "Test 1",0
- Répéter ces deux dernières actions pour obtenir les valeurs "Test 2" et "Test 3"
Voici ce que vous devez obtenir :
Etape 2 - Création de l'extended data types :
Il s'agit ici de créer le type de données sur lequel notre champ va s'appuyer, voici les actions à réaliser :
- Dans l'AOT (Control+D) se placer sur la branche "Data Dictionary\Extended Data Types"
- Ouvrir le menu contextuel et sélectionner l'option "Nouveau\Enum"
- Affecter à ce type le nom "SP_TestComboType"
- Valoriser les propriétés "Label", "HelpText" et "EnumType" avec les valeurs suivantes : "Test", "Test d'une liste de valeur","SP_TestCombo"
Voici ce que vous devez obtenir :
Etape 3 - Ajout du champ dans la table :
Le champ est désormais prêt à être ajouté à la table, voici les actions à réaliser :
- Dans l'AOT (Control+D) se placer sur la branche "Data Dictionary\Tables\smmBusRelTable\Fields" ("smmBusRelTable" étant le nom de la table des relations commerciales)
- Ouvrir le menu contextuel et sélectionner l'option "Nouveau\Enum"
- Affecter à ce champ le nom "SP_TestComboType"
- Valoriser la propriété "ExtendedDataType" avec la valeur "SP_TestComboType" correspondant au type précédemment créé.
Voici ce que vous devez obtenir :
Une fois ces différentes étapes effectuées, notre table est à jour, il ne nous reste plus qu'à mettre à jour notre "form", c'est ce que nous allons voir dans le billet suivant "CP1.3 - Modification de la form".