Apprends à agréger et à regrouper des données dans une table interne ABAP.
Ta classe recevra une table interne nommée initial_numbers. Elle prend deux colonnes : GROUP et NUMBER.
TYPES: BEGIN OF initial_numbers_type,
group TYPE group,
number TYPE i,
END OF initial_numbers_type,
initial_numbers TYPE STANDARD TABLE OF initial_numbers_type WITH EMPTY KEY.
Les données de cette table se répartissent en trois groupes : A, B et C. Chaque groupe contient plusieurs enregistrements.
| GROUP | NUMBER |
|---|---|
| A | 10 |
| B | 5 |
| A | 6 |
| C | 22 |
| A | 13 |
| C | 500 |
Ta tâche consiste à renvoyer une table interne contenant un enregistrement par groupe. Cet enregistrement doit contenir le nombre d'enregistrements de la table d'origine pour ce groupe (COUNT), la somme de toutes les valeurs de NUMBER de ce groupe (SUM), la valeur minimale du groupe (MIN), la valeur maximale du groupe (MAX) et la moyenne de toutes les valeurs de ce groupe (AVERAGE).
La table de retour attendue a la définition suivante :
TYPES: BEGIN OF aggregated_data_type,
group TYPE group,
count TYPE i,
sum TYPE i,
min TYPE i,
max TYPE i,
average TYPE f,
END OF aggregated_data_type,
aggregated_data TYPE STANDARD TABLE OF aggregated_data_Type WITH EMPTY KEY.
Il existe de nombreuses façons d'accomplir cette tâche en ABAP. Avec quelle efficacité peux-tu la réaliser ? Peux-tu y arriver en ne lisant chaque enregistrement de la table qu'une seule fois ?
Inscris-toi sur Exercism pour apprendre et maîtriser ABAP avec 54 exercices, et un vrai mentorat humain, le tout gratuitement.