OPALE - 10.0 - Utilisation
Fonctions de tableaux
Sommaire
ClearArray
Cette fonction efface le contenu du tableau spécifié.
Exemple : ClearArray (tableau)
Attention : si un filtre a été appliqué au préalable via la fonction FilterArray
, seules les lignes correspondant à ce filtre seront supprimées.
CountArray
Cette fonction renvoie le nombre d'éléments compris dans le tableau.
Exemple :DB.nb = CountArray (tableau)
DuplicateArray
Cette fonction permet de copier le contenu d'un tableau dans un autre.
Exemple : DuplicateArray (tableau_source, tableau_destination)
FilterArray
Pour appliquer un filtre sur toutes les fonctions des tableaux.
Exemple 1 : l'utilisateur souhaite récupérer les valeurs pour lesquelles store = North FilterArray ( tableau, " store" = 'North' " )
Exemple 2 : Appliquer le filtre aux fonctions SumArray, Write et ClearArray.
FilterArray ( tableau , " article = ‘TV’ " ) SumArray ( tableau , "total" ) Foreach(tableau) { } Write(DB, tab) { } NextRead() {} ClearArray (tableau) FilterArray ( tableau )
Remarque : Une fois appliquée, la fonction FilterArray continuera à s'appliquer jusqu'à ce qu'elle soit remise à zéro. Lorsqu'elle est utilisée dans une fonction MAPREPORT, elle s'appliquera toujours à la fin de la fonction. Par conséquent, il faut la remettre à zéro avant la fin de la fonction.
SumArray
La fonction SumArray calcule la somme des colonnes. Les valeurs sont affectées aux champs du tableau.
Exemple : SumArray (tableau, "total", "nbVente")
SQLArray
Cette fonction permet d'effectuer une requête SQL sur un tableau.
Exemples :
SQLArray ( tableau , "UPDATE mytable set name = 'bill' where id = (Select id from mytable2 where name= 'name3' )" ) DB.value = SQLArray ( array , "Select name from mytable where … " )
SetArrayLineTable
Cette fonction insère tous les éléments d'une table dans le tableau spécifié. Pour cela, le nombre d'éléments dans la table et dans le tableau doit être identique.
Exemple :SetArrayLineTable ( tableau , table )
SortArray
Avant d’afficher des valeurs, il est possible de les trier à l'aide de la fonction SortArray. Cette fonction peut prendre une liste de colonnes en paramètre.
Exemple : SortArray ( tableau, "region" , "store")
Remarque : Une fois appliquée, la fonction SortArray continuera à s'appliquer jusqu'à ce qu'elle soit remise à zéro. Lorsqu'elle est utilisée dans une fonction MAPREPORT, elle s'appliquera toujours à la fin de la fonction. Par conséquent, il faut la remettre à zéro avant la fin de la fonction.
SetArrayLineValue
Cette fonction permet d'ajouter ou modifier une valeur en indiquant uniquement les valeurs des champs.
SetArrayLineValue ( tableau , "North", "store1", "article1", 2 , 20, 40 ) SetArrayLineValue ( tableau , "South" , "store1", "article1", 3 , 30 , 90)
Pour remplacer les valeurs par des calculs (par exemple lorsque les champs proviennent d'une table).
Dans l'exemple suivant, le total est obtenu en multipliant sales par price :
SetArrayLineValue (tableau, table.region , table.store , table.article , table.sales , table.price , (table.sales * table.price ) )
Il est également possible de cumuler une valeur à la valeur en cours (ceci uniquement si le tableau contient une clé primaire). Ce cumul ne s’applique que sur les champs de type entier. Il suffit simplement de mettre l’entier dans une chaine de caractère qui commence par le caractère « + ».
Dans l’exemple suivant, on suppose que la clé primaire soit les deux premières colonnes, si le couple « sub – magasin 1 » n’existe pas, on l’insère dans le tableau en prenant comme « nbVente » la valeur 3. Si le couple existe, alors on incrémente le champ « nbVente » du nombre situé après le « + »
SetArrayLineValue ( array, "South" , "store1" , "article1", "+3" , 30 , 90)
SetArrayLine
Cette fonction ajoute ou modifie une valeur dans le tableau grâce au nom de colonne.
SetArrayLine ( tableau , "nbVente", 10 ) SetArrayLine ( tableau , "region", South , "nbVente", 10 )
TransposeArray
La fonction TransposeArray permet de remplacer les lignes par les colonnes et inversement. Elle comporte deux paramètres : le tableau source et le nouveau tableau transposé.