Les matrices multidimensionnelles ont été introduites en RPG par la version V5R2. Elles sont codées comme des matrices de matrices avec des structures de données qualifiées :
d items ds qualified
d inz
d array likeds( data )
d dim( 99 )
d data ds qualified
d id
Matrices multidimensionnelles
like( item.id )
d sales 9p 2 dim( 12 )
ITEMS.ARRAY est une matrice bidimensionnelle qui contient les valeurs de ventes (sales) des articles (items) pour chaque mois de l’année. La première dimension contient les items et la seconde contient les valeurs sales. La matrice est codée à l’aide de deux structures de données. La structure de données ITEMS définit un ARRAY de 99 éléments comme la structure de données DATA. La structure de données DATA contient un ID item et une matrice de 12 valeurs SALES pour les mois de l’année. Les éléments de la matrice sont initialisés à l’exécution en spécifiant le mot-clé INZ sur la définition de structure de données ITEMS.
Vous devez utiliser un index pour chaque dimension de la matrice :
idx = 1;
id = items.array( idx ).id;
idx2 = 12;
decSales = items.array( idx ).sales( idx2 );
On peut coder des matrices de plus de deux dimensions, mais deux ou trois suffiront la plupart du temps. A noter que la totalité de la matrice est contenue dans la structure de données qualifiée de niveau supérieur, qui peut n’avoir que 64 K. Donc, au fur et à mesure que le nombre de dimensions augmente, la taille de chaque dimension va diminuant.
Téléchargez cette ressource

Percer le brouillard des rançongiciels
Explorez les méandres d’une investigation de ransomware, avec les experts de Palo Alto Networks et Unit 42 pour faire la lumière dans la nébuleuse des rançongiciels. Plongez au cœur de l’enquête pour comprendre les méthodes, les outils et les tactiques utilisés par les acteurs de la menace. Découvrez comment prévenir les attaques, les contrer et minimiser leur impact. Des enseignements indispensables aux équipes cyber.