Cette action est appelée en tout début du modèle, avant l'affichage de la fenêtre de sélection.
Sélection sur liste
Elle sert principalement à construire la fenêtre de sélection. Depuis la version V5, on a la possibilité de construire de 1 à 5 colonnes. Dans ce cas, il faut re-déclarer la variable TEXTE pour la dimensionner.
On alimente les variables suivantes :
NBTEX: Integer
C'est le nombre de lignes ( donc nombre de valeurs possibles pour le champ saisissable ) à afficher dans la fenêtre.
TEX(NBTEX) : Char, longueur 50, dimensionnée à 200
Ce sont toutes les valeurs possibles pour le champ saisissable.
TEXTE(NBTEX) : Char, longueur 50, dimensionnée à 200
C'est le texte associé à chaque valeur. En fait, seul ces textes seront affichés dans cette liste de sélection.
TIT: Char, longueur 50, dimensionnée à 5
C'est le titre de la fenêtre pour l'indice 0, et le titre des colonnes pour les indices de 1 à 5.
Lorsqu'il n'y pas d'élément à afficher dans cette fenêtre, c'est à dire que l'on a positionné NBTEX = 0, on peut afficher un message d'erreur par GERR=1 et en mettant un texte dans GMESSAGE.
Lorsqu'il n'y a qu'un élément à afficher dans cette fenêtre, c'est à dire que l'on a positionné NBTEX = 1, le modèle n'ouvre pas la fenêtre de sélection, mais modifie automatiquement la valeur du champ saisissable par cet élément.
Pour agrandir le dimensionnement qui est par défaut à 200, il faut re-déclarer les variables TEX & TEXTE en local dans cette action.
Fenêtre de sélection comportant 3 colonnes.
$SEL_LISTE
Local File BPCUSTOMER [BPC]
Local File BPARTNER [BPR]
For [BPC]
Read [BPR]BPR0 = [F:BPC]BPCNUM
Local Char TEXTE(GLONDES)(1..200,1..3)
NBTEX = 20 : # Nombre de lignes à afficher
For I=1 To NBTEX
TEX(I) = [F:BPC]BPCNUM
TEXTE(I,1) = [F:BPC]BPCNUM
TEXTE(I,2) = mess([F:BPC]BPCTYP,401,1)
TEXTE(I,3) = [F:BPR]CRY
Next I
TIT(0) = "Liste" : # Titre de la boîte de sélection
TIT(1) = "Code Client" : TIT(2) = "Type" : TIT(3) = "Pays" : # Titre des colonnes
Next
Return