Placement de table
La configuration de la classification et du placement des tables, étendue par le partitionnement, constitue la base du contrôle de la distribution des données dans un environnement de scale-out SAP HANA.

Les tables associées peuvent être classées par un groupe de tables commun.
L'interface SQL de SAP HANA fournit trois types de classifications possibles : nom de groupe, type de groupe et sous-type. Les tables qui ont été classées avec des informations de groupe sont incluses dans la table SYS.TABLE_GROUPS et vous pouvez vérifier les détails de classification dans la vue de monitorage SYS.TABLE_GROUPS (voir détails ci-dessous). Les tables portant le même nom de groupe sont conservées sur le même hôte ou, dans le cas de tables partitionnées réparties sur plusieurs hôtes, les partitions de premier niveau correspondantes sont réparties de la même manière pour toutes les tables.
Une table du groupe est définie comme table principale et ses options de placement de table sont appliquées à toutes les autres tables du groupe. Il peut s'agir, par exemple, du site ou, dans le cas de tables partitionnées (si SAME_PARTITION_COUNT est défini dans SYS.TABLE_PLACEMENT, voir ci-dessous), du nombre de partitions de premier niveau.
Remarque
Pour les applications natives, le développeur d'applications peut définir un regroupement manuellement, par exemple en regroupant les tables qui sont souvent jointes. Les instructions suivantes présentent des exemples de définition d'attributs de groupe de tables à l'aide des instructions CREATE et ALTER :
1234567CREATE COLUMN TABLE "HA201_DEMO"."HA201_TABLE"(
HAY INT,
GEORG INT,
HAKAN INT,
PRIMARY KEY (HAY, GEORG))
GROUP NAME DEMO GROUP TYPE EXAMPLE GROUP SUBTYPE TEST GROUP LEAD;
Cette instruction create table crée une table nommée HA201_TABLE, définit le nom du groupe sur DEMO, le type de groupe sur EXAMPLE, le sous-type de groupe sur TESTet en fait la table principale dans le groupe DEMO.
123456ALTER TABLE "HA201_DEMO"."HA201_TABLE" SET
GROUP NAME DEMO
GROUP TYPE EXAMPLE
GROUP SUBTYPE TEST
GROUP LEAD;
Cette instruction alter table définit le nom du groupe sur DEMO, le type de groupe sur EXAMPLE, le sous-type de groupe sur TEST, et en fait la table principale dans le groupe DEMO, pour une table existante.
Cela peut également être effectué dynamiquement en fonction des informations disponibles dans le cache de plan SQL, avec l'outil d'analyse du chemin de jointure dans l'optimiseur de répartition des données ou avec le programme de regroupement ABAP (SHDBSO_TABLE_GROUPING) pour le scale-out SAP S/4HANA. Voir la note SAP : 2447004 - « Table Grouping Report for S/4 HANA in scale-out systems ».
Les outils de redistribution des tables du cockpit SAP HANA incluent également une étape de préparation facultative pour intégrer l'outil Group Advisor dans le processus de génération de plan afin de créer des groupes de tables de manière dynamique.
Classification et emplacement des tables
Les données d'application sont généralement stockées dans une multitude de tables de base de données et les données de plusieurs de ces tables sont combinées à l'aide d'opérations SQL, telles que la jointure ou l'union, lorsqu'elles sont interrogées. Comme ces relations entre les différentes tables sont définies dans le code d'application, ces informations ne sont pas disponibles dans SAP HANA. La fonctionnalité de classification des tables offre la possibilité de pousser vers le bas ces informations sémantiques dans la base de données en permettant aux administrateurs de définir des groupes de tables. Ces informations peuvent être utilisées, par exemple, lors de la détermination du nombre de partitions à créer ou, dans le cas d'une infrastructure de scale-out, du nœud sur lequel localiser les tables ou les partitions.
Informations sur l'emplacement de la table
La table SYS.TABLE_GROUPS contient les détails de classification des tables :
- Nom du groupe
- Type de groupe
- Sous-type de groupe
La table SYS.TABLE_PLACEMENT contient les règles de placement des tables :
- Classification
- Options de configuration par règle
- Emplacement de la table ou de la partition par règle
La vue M_EFFECTIVE_TABLE_PLACEMENT affiche l'emplacement de la table.
Redistribution de table à l'aide de :
- Cockpit SAP HANA
- Console SQL
- SAP HANA Studio (obsolète)
- Des notes SAP sont disponibles pour ERP, BW, S/4HANA et BW/4HANA.
La classification est effectuée en fournissant à chaque table un nom de groupe, un type de groupe et un sous-type. En fonction des combinaisons de ces éléments, ainsi que des noms de table et de schéma, un ensemble de valeurs de configuration peut être défini comme règles de placement de table. Ces règles sont utilisées pour contrôler, par exemple, l'emplacement des partitions ou le nombre de partitions lors d'opérations telles que la création ou la redistribution de tables. Ce faisant, les tables associées ou fortement liées sont placées de telle sorte que la communication inter-nœuds requise est minimisée pour les opérations SQL sur les tables au sein du groupe.
Les règles de placement de table sont appliquées lors de la migration du système ou de la création de table, mais il peut également être nécessaire d'ajuster l'emplacement ou le nombre de partitions sur une base continue pour gérer la croissance des données. Par conséquent, la redistribution des tables peut également être exécutée à la demande pour optimiser l'infrastructure au fur et à mesure de l'évolution du système. Le repartitionnement est toujours nécessaire, par exemple, pour toute table ou partition de la base de données qui atteint le nombre maximal de 2 milliards de lignes.
Les outils suivants sont disponibles pour effectuer le repartitionnement et la redistribution des tables. Ces outils évaluent l'infrastructure actuelle et déterminent une répartition optimisée :
Redistribution des tables SAP HANA
Optimiseur de répartition des données (fait partie de SAP HANA Data Warehousing Foundation)
L'équilibrage d'une infrastructure de scale-out SAP HANA avec ces outils s'effectue en deux étapes :
- Génération d'un plan basé sur des règles de placement de table (décrit en détail dans une section ultérieure). Après avoir généré le plan, vous pouvez le vérifier et ajuster la définition des règles si nécessaire.
- Exécution du plan qui implémente les modifications de partitionnement et de distribution.
Étant donné que la table de fractionnement et la table de déplacement sont des opérations qui nécessitent des blocages de table, l'exécution du plan ne doit pas être effectuée pendant une période où la charge de la base de données est importante.
Classification de table et règles de placement de table
Les règles de placement des tables sont définies dans la table SYS.TABLE_PLACEMENT. Le privilège système TABLE ADMIN est requis pour gérer ces options. Les règles de placement concernent essentiellement les domaines suivants :
La classification, c'est-à-dire les tables liées qui doivent être regroupées, est organisée en groupes.
Options de configuration pour gérer le partitionnement (nombre de partitions initiales, seuil de fractionnement, etc.)
Répartition physique ou emplacement des tables ou partitions dans l'infrastructure du serveur
Lors de la création d'une table, si les règles définies correspondent à une table ou à un groupe de tables, SAP HANA les prend en compte lors de la création de la table. Gardez à l'esprit que les spécifications de partition doivent toujours être définies par l'application.
Règles de placement de table
La table TABLE_PLACEMENT fournit une interface de Customizing qui peut être utilisée pour la gestion dynamique des partitions et des sites.
Les paramètres de partitionnement sont utilisés pour définir le mode de partitionnement d'une table ou d'un groupe de tables si la table a une spécification de partitionnement de premier niveau de hachage ou de tourniquet. Le partitionnement de plage n'est pas géré de cette manière.
Si le nombre de lignes est inférieur à MIN_ROWS_FOR_PARTITIONING, la table se compose d'une seule partition. Si cette limite minimale de lignes est dépassée, la table est partitionnée en autant de parties que remplit les contraintes suivantes :
Le nombre de partitions est supérieur ou égal à la valeur de (nombre de lignes de la table) / REPARTITIONING_THRESHOLD.
Le nombre de partitions est un multiple de INITIAL_PARTITIONS.
Le nombre de partitions est inférieur ou égal au nombre d'hôtes si le paramètre max_partitions_limited_by_locations n'est pas défini sur faux et que le nombre de partitions est inférieur à la valeur du paramètre max_partitions (voir les détails ci-dessous).
Par conséquent, si la table a plusieurs partitions, il existe au moins INITIAL_PARTITIONS partitions et chaque partition a moins de enregistrements REPARTITIONING_THRESHOLD. Dans ce contexte, les partitions font référence à des partitions de premier niveau (de type HASH ou ROUNDROBIN).
Notez que lorsqu'une table partitionnée est créée sans nombre de lignes estimé (comportement par défaut), une table partitionnée est créée avec des partitions de premier niveau INITIAL_PARTITIONS. Alors que dans une redistribution, il est ciblé pour avoir une seule partition de premier niveau (en supposant MIN_ROWS_FOR_PARTITIONING > 0). Dans des applications spécifiques, la création est effectuée avec un nombre de lignes estimé, par exemple BW avec 1 million, et elle est donc créée avec une seule partition de premier niveau (en supposant MIN_ROWS_FOR_PARTITIONING > 1,000,000).
Nouveau partitionnement
Il n'y a pas de nouveau partitionnement automatique lorsque les valeurs seuils sont dépassées. Au lieu de cela, il est proposé lors de la prochaine exécution du processus de redistribution.
Les valeurs saisies pour le partitionnement doivent être cohérentes avec l'infrastructure physique, en particulier le nombre de nœuds de serveur disponibles :
- Si un nouveau partitionnement est nécessaire, les tables ne sont repartitionnées qu'en doublant le nombre de partitions (initiales) existantes. Cette opération est effectuée pour des raisons de performance. Le nombre maximal de partitions (de premier niveau) atteint par ce processus est défini par le paramètre global.ini > [table_placement] > max_partitions (default: 12).
- Par défaut, le système ne crée pas plus de partitions que le nombre d'hôtes disponibles (ou plus précisément d'emplacements possibles). Par exemple, si INITIAL_PARTITIONS est défini sur 3, mais que la base de données SAP HANA distribuée a cinq emplacements possibles, le repartitionnement de trois à six partitions n'aura pas lieu. Une table peut avoir plusieurs partitions par hôte si le paramètre global.ini > [table_placement] > max_partitions_limited_by_locations est défini sur false (valeur par défaut : true). Cette règle n'est pas prise en compte si un nombre plus élevé de partitions de premier niveau est requis pour les groupes de partitions avec plus de 2 milliards d'enregistrements (global.ini > [table_placement] > max_rows_per_partition, default: 2,000,000,000).
Emplacement
Il existe les valeurs prédéfinies suivantes pour les sites possibles :
Coordinateur : représente le nœud principal
Travailleur (ou travailleurs) : représente tous les nœuds de travailleur qui appartiennent au groupe de travailleurs « par défaut ».
Tout : représente tous les nœuds qui appartiennent au groupe de travailleurs « par défaut », c'est-à-dire le nœud coordinateur et les nœuds de travail.
L'affectation du groupe de salariés se trouve dans l'entrée WORKER_ACTUAL_GROUPS de la vue M_LANDSCAPE_HOST_CONFIGURATION et est accessible en exécutant la procédure suivante :
1call SYS.UPDATE_LANDSCAPE_CONFIGURATION('GET WORKERGROUPS','<hostname>')En outre, il est également possible de créer des définitions de sites personnalisées en utilisant la procédure suivante pour affecter des groupes de travailleurs à un hôte :
1call SYS.UPDATE_LANDSCAPE_CONFIGURATION('SET WORKERGROUPS','<hostname>','<name1> <name2> <name3>')Remarque
Comment les règles sont appliquées
La table TABLE_PLACEMENT est lue de telle sorte qu'une règle plus spécifique remplace une règle plus générique. Une matrice complète de priorités est disponible dans la note SAP 1908082, « Table Placement Priorities ».
Par exemple, une entrée avec un seul schéma s'applique à toutes les tables de ce schéma ; les entrées supplémentaires pour ce schéma et les types de groupes spécifiques remplacent la règle plus générale.
Vue Suivi
Vous pouvez afficher les options réelles de placement des tables par table en interrogeant la vue système M_EFFECTIVE_TABLE_PLACEMENT. Vous pouvez afficher le(s) site(s) valide(s) en fonction de la configuration et, pour chaque paramètre de partitionnement, les valeurs réelles et, dans les colonnes _MATCH correspondantes, le motif (règle de comparaison) pour ces sites.
Les informations sur la classification d'une table peuvent être vérifiées dans la vue de monitorage SYS.TABLE_GROUPS.
Redistribution de tables dans un système SAP HANA multi-hôtes
Dans un système SAP HANA réparti, les tables et partitions de table sont affectées à un serveur d'index sur un hôte particulier au moment de leur création, mais cette affectation peut être modifiée. Dans certaines situations, c'est même nécessaire. Vous pouvez utiliser le cockpit SAP HANA ou l'éditeur SQL pour exécuter des opérations de redistribution automatiques.
Il existe plusieurs fois où des tables ou des partitions d'une table doivent être déplacées vers d'autres serveurs. Par exemple, si vous prévoyez de supprimer un hôte de votre système, vous devez d'abord déplacer toutes les données de cet hôte vers les autres hôtes du système. La redistribution des tables peut également être utile si vous pensez que la distribution actuelle n'est plus optimale.
Les opérations de redistribution sont disponibles pour prendre en charge les situations suivantes :
Vous prévoyez de supprimer un hôte de votre système.
Vous avez ajouté un nouvel hôte à votre système.
Vous voulez optimiser la répartition actuelle des tables.
Vous voulez optimiser le partitionnement de table.
Bien qu'il soit possible de déplacer manuellement des tables et des partitions de table d'un hôte à un autre, cela n'est ni pratique ni faisable pour une redistribution à grande échelle des données.
Répartition de table
Dans le cockpit SAP HANA, recherchez la carte Répartition de table. À partir de cette carte, sélectionnez Afficher la répartition de table actuelle. L'application Répartition de table présente les informations de partitionnement et de répartition des tables dans un système réparti. Vous pouvez réduire le nombre de tables affichées à l'aide de la fonction de filtre.

En outre, vous pouvez sélectionner des actions supplémentaires dans l'application Répartition de table.
Les opérations disponibles sont les suivantes :
Afficher la distribution des tables
Générer table plan de redistribution
Sauvegarder la répartition de table actuelle
Restaurer le plan de distribution déposé sauvegardé
Réexécuter le plan de distribution des tables
Redistribution des tables avec SAP HANA Cockpit

SAP HANA prend en charge plusieurs opérations de redistribution qui utilisent des algorithmes complexes, ainsi que des règles de placement de table configurables et des paramètres de redistribution, pour évaluer la distribution actuelle et déterminer une meilleure répartition en fonction de la situation. Les administrateurs peuvent utiliser la fonctionnalité de redistribution des tables dans le cockpit SAP HANA pour créer un plan de redistribution et de nouveau partitionnement des tables. L'administrateur peut réviser le plan et l'exécuter.
- Répartition des tables de soldes
La charge sur un système de scale-out change au fil du temps avec l'utilisation du système. Cette option génère un plan pour déplacer les tables et les partitions vers leurs hôtes appropriés s'ils sont actuellement sur des hôtes non valides selon les règles spécifiées dans la table TABLE_PLACEMENT. Le plan vérifie si un fractionnement ou une fusion est nécessaire et calcule les positions optimales pour les parties et les tables. Tous les types de tables et de parties peuvent être déplacés. Cependant, seules les tables que vous êtes autorisé à afficher en tant qu'objets de catalogue sont affectées.
- Vérifier le nombre de partitions
Dans un système de scale-out, les tables partitionnées sont réparties sur différents serveurs d'index. L'emplacement des différentes partitions peut être spécifié manuellement ou déterminé par la base de données lorsque la table est initialement partitionnée. Au fil du temps, ce partitionnement initial peut ne plus être optimal, par exemple, si une partition a considérablement augmenté.
Cette option permet d'évaluer si les tables partitionnées doivent ou non être repartitionnées. Le plan indique comment les tables partitionnées sont repartitionnées (fractionnées ou fusionnées) et comment les partitions nouvellement créées sont distribuées. Notez que cela n'est pertinent que pour les tables de stockage en colonnes. Les tables système, les tables temporaires et les tables de stockage en lignes ne sont pas prises en compte.
- Redistribuer les tables après l'ajout d'hôte(s)
Après avoir ajouté un ou plusieurs hôtes Worker à un système de scale-out, vous devrez peut-être redistribuer les tables sur les serveurs d'index actifs. Cette option vérifie si de nouvelles partitions peuvent être créées et génère un plan pour déplacer les tables et les partitions de table si nécessaire.
- Vérifier l'emplacement correct des tables et des partitions
Cette option génère un plan pour déplacer les tables et les partitions vers leurs hôtes appropriés s'ils sont sur des hôtes non valides selon les règles spécifiées dans la table TABLE_PLACEMENT. Seules les tables que vous êtes autorisé à afficher en tant qu'objets de catalogue sont affectées.
- Tâches périodiques
Certaines opérations régulières doivent être effectuées de temps en temps. Cette option vous permet d'effectuer diverses opérations dans le système, telles que l'optimisation des compressions, le défrag, le chargement de la table et la fusion de delta. Seules les tables que vous êtes autorisé à afficher en tant qu'objets de catalogue sont affectées. Vous devez également disposer des droits appropriés pour effectuer des opérations de tâches périodiques spécifiques, telles que Delta Merge.
Redistribution de table à l'aide de l'éditeur SQL

La redistribution des tables peut également être effectuée à l'aide des commandes SQL. Vous pouvez créer un script SQL qui exécute toutes les étapes requises ou utiliser l'éditeur SQL fourni par l'explorateur de base de données SAP HANA.
La redistribution des tables est basée sur les règles de placement des tables définies dans la table TABLE_PLACEMENT. Ces règles déterminent, par exemple, les tailles de table, les valeurs seuils de partitionnement et les emplacements de partition préférés. La redistribution est un processus en deux étapes : d'une part, pour générer le plan et, d'autre part, pour exécuter le plan. Des commandes distinctes sont utilisées à chaque étape :
- La commande de génération de plan est un outil polyvalent qui nécessite un numéro d'algorithme comme paramètre pour déterminer quelles actions sont exécutées. Selon l'algorithme sélectionné, des valeurs de paramètres facultatives supplémentaires peuvent également être disponibles pour donner plus de contrôle sur l'exécution.
- La commande d'exécution du plan prend un seul paramètre qui est la valeur numérique de l'ID du plan. Vous pouvez récupérer cette valeur (REORG_ID) à partir de la vue système REORG_OVERVIEW (voir Vues système ci-dessous).
Pour ces commandes, il existe la syntaxe suivante :
CALL REORG_GENERATE(<algorithm integer>, <optional parameter string>);
CALL REORG_EXECUTE(<plan_id>);
Le privilège d’administration des ressources est requis pour appeler REORG_GENERATE(). La commande fonctionne uniquement sur les tables et partitions que l'utilisateur exécutant est autorisé à voir comme objets de catalogue.
Génération du plan : algorithmes et options
La liste suivante présente une synthèse des algorithmes les plus couramment requis :
Ajouter serveur : numéro d'algorithme : 1
Exécutez ce contrôle après avoir ajouté un ou plusieurs serveurs d'index à l'infrastructure. Si de nouvelles partitions peuvent être créées, un plan est généré pour fractionner les tables et déplacer les nouvelles partitions vers les serveurs d'index nouvellement ajoutés.
Options : SCHEMA_NAME | TABLE_NAME | GROUP_NAME | GROUP_TYPE | GROUP_SUBTYPE | RECALC | NO_PLAN
Effacer le serveur : numéro d'algorithme : 2
Déplace toutes les partitions d'un serveur nommé vers d'autres serveurs de l'infrastructure.
Options : USE_GROUP_ADVISOR
Sauvegarder numéro d'algorithme : 4
Sauvegardez la configuration actuelle de l'infrastructure.
Restaurer numéro d'algorithme : 5
Restaurez une configuration d'infrastructure sauvegardée. Saisissez la valeur de l'ID du plan comme valeur de paramètre facultative.
Écosystème des soldes : numéro d'algorithme : 6
Cette fonction vérifie si les tables de l'infrastructure sont placées sur des serveurs non valides selon les règles de placement des tables, et vérifie si un fractionnement ou une fusion est nécessaire pour obtenir des positions optimales pour les partitions et les tables et pour répartir uniformément les tables sur les hôtes du serveur d'index.
Options : SCHEMA_NAME | TABLE_NAME | GROUP_NAME | GROUP_TYPE | GROUP_SUBTYPE | RECALC | NO_PLAN | NO_SPLIT | SCOPE
Contrôler nombre de partitions Numéro d'algorithme : 7
Cette fonction vérifie si les tables partitionnées doivent être repartitionnées et crée un plan pour fractionner les tables si les partitions dépassent un seuil de nombre de lignes configuré. Aucun paramètre facultatif.
Exécuter l’algorithme Conseiller de groupe : 12
Appelle le Conseiller de groupe et crée un plan exécutable à partir de sa sortie.
Le Group Advisor identifie les tables qui sont souvent utilisées ensemble de sorte que lors de la redistribution, elles puissent être localisées ensemble sur le même nœud afin d'éviter la communication inter-nœuds dans l'infrastructure.
Vérifier l'emplacement de la table Numéro d'algorithme : 14
Contrôlez l'infrastructure actuelle par rapport aux règles de placement des tables et (si nécessaire) prévoyez de déplacer les tables et les partitions vers les hôtes appropriés.
Options : LEAVE_UNCHANGED_UNTOUCHED | KEEP_VALID | NO_SPLIT
Numéro de l'algorithme de réexécution du plan : 15
Exécutez à nouveau les postes ayant échoué à partir de plans précédemment exécutés.
Option : RERUN_ALL
Numéro de l'algorithme de tâches périodiques : 16
Effectuez des tâches périodiques. Des privilèges supplémentaires peuvent être requis pour des actions spécifiques.
Options : OPTIMIZE_COMPRESSION | DEFRAG | LOAD_TABLE | MERGE_DELTA | ALLFacultatif
Scénarios de placement de tableaux prédéfinis
Pour des applications spécifiques, SAP fournit des recommandations concernant les configurations de partitionnement et de répartition des tables.
SAP BW powered by SAP HANA
Toutes les étapes requises et les options recommandées pour SAP BW sur HANA 2 sont décrites dans la note SAP : 1908075 — « BW on SAP HANA: Table placement and Landscape redistribution ». Cela inclut un fichier zip avec documentation et code SQL pour configurer différents scénarios couvrant une plage de paramètres TABLE_PLACEMENT en fonction de la taille du nœud (TB par nœud) et du nombre de nœuds coordinateur et de travailleur.
SAP Business Suite Powered by SAP HANA
Note SAP : 1899817 — « SAP Business Suite on SAP HANA database: Table Placement » inclut des scripts de configuration pour configurer le partitionnement et la distribution pour Suite et S/4HANA pour différentes versions d'assemblage de Support Packages.
SAP S/4HANA
À partir de SAP S/4HANA 1610 FPS1, le scale-out est pris en charge et peut être appliqué dans des scénarios spéciaux. Les tables de données applicatives sont regroupées en fonction du domaine d'application et peuvent être placées en tant que groupe de tables sur un serveur spécifique. De cette façon, il est possible d'utiliser le scale-out dans SAP S/4HANA.

Pour en savoir plus sur les options de scale-out pour SAP S/4HANA, voir la note SAP : 2408419 — « SAP S/4HANA - Prise en charge de nœuds multiples ». Cette note comprend des scripts et des options de configuration, ainsi qu'une documentation détaillée sur les groupes de tables et la migration.

Avec la charge de travail mixte sur un système SAP S/4HANA, il est toujours judicieux de commencer par une mise à l'échelle aussi grande que possible, avant de passer au scale-out. Ainsi, si le premier nœud est supérieur à 6 To et 8 sockets CPU, la scale-out est autorisée. Voir la figure précédente pour un exemple.
SAP BW/4 HANA
Toutes les étapes requises et les options recommandées pour SAP BW/4 sur HANA 2 sont décrites dans la note SAP : 2334091 — « BW/4HANA : placement des tables et redistribution de l'infrastructure ». Cela inclut un fichier zip avec documentation et code SQL pour configurer différents scénarios couvrant une plage de paramètres TABLE_PLACEMENT en fonction de la taille du nœud (TB par nœud) et du nombre de nœuds coordinateur et de travailleur.

SAP fournit des recommandations concernant les configurations de la répartition des tables. Pour ces scénarios, des scripts d'implémentation SQL et une documentation détaillée sont fournis dans les notes SAP.
Scénarios de placement de tableaux prédéfinis
| Scénarios de placement de tableaux prédéfinis | Note SAP |
|---|---|
| SAP BW powered by SAP HANA | 1908075 |
| SAP Business Suite powered by SAP HANA et SAP S/4HANA | 1899817 |
| SAP S/4HANA | 2408419 |
| SAP BW/4HANA | 2334091 |
| Activer la distribution de table BPC HANA | 2003863 |