Utilisation des tables de mappage

Objectives

After completing this lesson, you will be able to:
  • Créez une classe de tables de correspondance.
  • Expliquez la différence entre une classe de tables de correspondance et une table de correspondance.
  • Créez une table de mappage.
  • Utilisez des tables de mappage dans les planifications des prix.
  • Renseignez une table de mappage avec des données.

Introduction aux tables de mappage

Les tables de correspondance nous permettent de stocker des données telles que les prix ou d'autres informations, qui peuvent changer régulièrement. L'avantage de l'utilisation de tables est que les données peuvent généralement être modifiées par des systèmes externes à l'aide des API de SAP Convergent Charging, sans qu'il soit nécessaire de modifier les planifications des prix des frais.

Si vous êtes familiarisé avec les bases de données relationnelles et leurs tables, vous supposerez probablement que les tables dans SAP Convergent Charging fonctionnent de la même manière. Cependant, il existe des différences importantes :

  1. Les tables de mappage dans SAP Convergent Charging ont trois colonnes obligatoires :
    1. Identifiant
    2. Date de début
    3. Date de fin
  2. Une à 40 colonnes d'entrée peuvent être déclarées. Les colonnes d'entrée contiennent les données utilisées pour rechercher une entrée dans la table. Dans une base de données, ces colonnes seraient considérées comme faisant partie de la « clé ». Les colonnes d'entrée peuvent avoir le type de données chaîne ou devise. Le type de données de devise est une chaîne qui se compose de tous les codes de devise ISO/SAP possibles connus dans le dictionnaire de devises correspondant.
  3. Une à 30 colonnes de sortie peuvent être déclarées. Les colonnes de sortie contiennent les données, qui sont associées aux données dans les colonnes clés.
Colonnes d'une classe de tables de correspondance.

Dans SAP Convergent Charging Core Tool, une table de mappage type peut ressembler à ceci :

Exemple de table de mappage type.

Cette table attend une valeur d'accord sur le niveau de service (colonne SLA) et une valeur de code devise (colonne CURRENCY) comme critères de recherche ou entrées. Pour une certaine combinaison de ces valeurs, il associe un prix (colonne AMOUNT).

La colonne d'identifiants fait toujours partie d'une table de mappage. Il sert de clé primaire pour traiter une seule ligne d'une table à l'aide des API, mais il ne peut pas être utilisé comme critère de recherche lors de la lecture à partir d'une table dans une arborescence de planification des prix.

L'intervalle pour lequel la ligne de table est valide figure dans les colonnes de validité. Lors de la recherche dans une table avec un ensemble de critères de recherche, une date de référence doit être indiquée. Un résultat contient uniquement les lignes qui correspondent aux critères de recherche et sont valides à la date de référence donnée.

Les colonnes de sortie peuvent avoir le type de données Chaîne ou Nombre. De cette façon, vous pouvez stocker des valeurs numériques telles que les prix, ainsi que des valeurs alphanumériques telles que les noms de pays, les couleurs, etc.

Classes de tables de correspondance

Dans SAP Convergent Charging, la structure d'une table de mappage est définie séparément des données contenues dans une ou plusieurs tables. La séparation s'effectue en définissant la structure d'une table comme une "Classe de tables de correspondance". Une fois la classe définie, vous pouvez créer plusieurs tables de correspondance de la même structure en référençant la classe. Vous ne pouvez pas créer une table de correspondance sans faire référence à une classe de tables de correspondance. La classe est obligatoire lors de la conception.

La classe de tables de correspondance pour la table décrite se présente comme suit :

Exemple de classe de tables de correspondance type

Création de tables de mappage

Vous pouvez créer de nouvelles tables de correspondance en sélectionnant FichierNouvelleclasse de tables de correspondance dans l'outil principal. Chaque classe de tables de correspondance doit avoir un nom. Vous devez fournir au moins une colonne d'entrée et une colonne de sortie à la classe. Une colonne doit avoir un nom et un texte descriptif, ainsi qu'un type. L'onglet Informations supplémentaires contient des informations facultatives. Les informations ajoutées à cet onglet ne sont pas accessibles dans la planification des prix. Il peut cependant être utilisé pour limiter l'accès aux tables pour différents groupes d'utilisateurs via SAP Convergent Charging Cockpit.

Une fois qu'une classe de tables de correspondance a été définie et sauvegardée dans la base de données de SAP Convergent Charging, les colonnes d'entrée et de sortie sont fixées. Il n'est pas possible d'ajouter ou de supprimer des colonnes une fois la classe de tables de correspondance sauvegardée. Cependant, il est possible d'ouvrir la classe de tables de correspondance comme copie, puis d'ajouter ou de supprimer des colonnes si nécessaire. La nouvelle classe de tables peut ensuite être sauvegardée sous un autre nom.

Tables de mappage

Une fois la classe de tables de correspondance définie et sauvegardée dans la base de données, une table de correspondance peut être créée en référence à la classe de tables de correspondance existante. Toutes les tables créées en référence à la même classe de tables de correspondance partagent les mêmes colonnes d'entrée et de sortie. Pour créer une table de mappage, vous devez sélectionner FichierNouvelletable de mappage. Donnez un nom à la nouvelle table de correspondance et sélectionnez la classe de tables de correspondance sur laquelle votre nouvelle table est basée. Lorsque vous modifiez la classe de tables de correspondance à utiliser, les colonnes de table changent en conséquence.

Dans l'onglet Instance de table, vous pouvez gérer le contenu de la table. Vous pouvez ajouter et gérer manuellement ligne par ligne ou importer le contenu de la table à partir du fichier de valeurs séparées par des virgules (fichier CSV). L'importation du contenu d'une table à l'aide d'un fichier CSV facilite l'importation de milliers de lignes de table en une seule étape.

La manière la plus simple de créer un modèle pour le format de fichier CSV est d'ajouter une ligne à la table, de l'enregistrer et d'exporter les données de la table dans un fichier CSV.

Chaque table de mappage se trouve dans le catalogue du groupe Tables de mappage.

Les tables de correspondance sont techniquement accessibles par n'importe quel compte d'abonné. Par conséquent, les tables de mappage sont les mieux adaptées aux données qui doivent être disponibles pour l'ensemble ou la plupart des comptes d'abonné d'un système.

Tables de correspondance pour abonné

Lorsque vous souhaitez stocker des données dans une table de correspondance qui doit être accessible uniquement à un compte d'abonné spécifique, vous devez utiliser des tables de correspondance pour abonné. Les tables de correspondance pour abonné sont similaires aux tables de correspondance. Ils utilisent les mêmes classes de tables de correspondance que les tables de correspondance. Cependant, ils sont affectés à un compte d'abonné spécifique. Seul le compte d'abonné auquel la table est affectée peut être lu à partir de la table de correspondance pour abonné.

Tables de mappage des accords

Les tables de correspondance des accords sont similaires aux tables de correspondance standard, car elles sont accessibles par plusieurs comptes d'abonné. Chaque table reçoit un ID d'accord. Ces tables sont utilisées lorsque SAP Subscription Order Management crée des contrats-cadres. Comme ces contrats-cadres sont partagés entre plusieurs comptes d'abonnés, ce type de table est utilisé pour stocker les données pertinentes pour la notation qui font partie du contrat-cadre. Une autre différence clé réside dans le fait que les tables d'accord ne sont pas lues lors de l'affichage du catalogue. Elles sont lues lorsque le sous-dossier avec les tables d'accord est développé, ce qui optimise les performances et permet de gérer plus de tables d'accord que les tables de correspondance dans un système SAP Convergent Charging.

Utilisation de tables de mappage dans les planifications des prix

Lorsque le nom de la table de mappage doit être lu, le composant de comparaison Introducteur de table de correspondance doit être utilisé.

Utilisation du composant Comparateur : Introducteur de table de correspondance

Il crée deux succursales sortantes dans la planification des prix. La première branche est exécutée lorsqu'une entrée a été trouvée dans la table, tandis que la deuxième branche est exécutée lorsqu'aucune entrée n'a pu être trouvée.

Les branches de sortie d'un composant comparateur de table de mappage.

Lorsqu'une table de correspondance est contrôlée, le composant introducteur de table de correspondance doit connaître la classe de tables de correspondance sur laquelle repose le contrôle de la table de correspondance. Ces informations sont essentielles car elles indiquent au composant les colonnes d'entrée et de sortie qu'elles traiteront au moment de l'exécution.

Le nom de la table de mappage à partir de laquelle lire peut être fourni par un paramètre de type ID de table de mappage ou en sélectionnant une table de mappage spécifique au moment de la conception. L'utilisation d'un paramètre permet de déterminer l'instance de table de mappage au moment de l'exécution, ce qui offre plus de flexibilité.

Utilisation d'un paramètre pour sélectionner la table de mappage à contrôler.

La zone Date de référence requiert la sélection d'une propriété du type de données Date, qui sert de base pour déterminer une ligne valide. Seules les lignes valides à la date et à l'heure indiquées par la propriété de date de référence sont considérées comme une occurrence.

Le paramètre Colonne de correspondance de préfixe le plus long permet de faire correspondre non strictement la valeur de la propriété d'entrée avec la valeur de colonne de la table, mais plutôt une vérification de la valeur qui correspond au préfixe le plus long. Cela est important lorsque vous devez trouver la correspondance la plus proche pour une logique de zone hiérarchique. La valeur de la table est considérée comme le préfixe.

Dans la section Mappage du contexte de notation, vous devez affecter une propriété compatible avec le type à chacune des colonnes d'entrée. Le composant comparateur prend les valeurs de toutes ces propriétés et parcourt toutes les entrées de table de haut en bas, jusqu'à ce qu'il trouve une correspondance exacte pour toutes. Si vous avez sélectionné une colonne pour la correspondance de préfixe la plus longue, cette colonne ne sera pas vérifiée pour une correspondance exacte, mais pour une correspondance de préfixe la plus longue à la place.

La section Mappage des propriétés générées contient toutes les colonnes de sortie de la table. Dans la zone Nom de propriété généré, le nom de la propriété d'édition est indiqué. Il contient la valeur de résultat correspondante plus bas dans la branche Ligne trouvée de l'arborescence de planification des prix. Vous pouvez renommer ces noms de propriété comme bon vous semble en double-cliquant dans la cellule Nom de propriété généré.

Si le composant comparateur n'a trouvé aucune ligne de table correspondant aux critères de recherche d'entrée, la branche Ligne introuvable est utilisée. Les propriétés générées du composant ne seront pas disponibles dans cette branche. Mais ne pas trouver une ligne est nécessairement un problème : vous pouvez rechercher plusieurs tables l'une après l'autre jusqu'à ce que vous trouviez une entrée. Il s'agit d'une pratique courante lorsque vous organisez des prix à différents niveaux hiérarchiques (niveau du contrat, niveau du compte de l'abonné, niveau général). Dans ce cas, vous effectuez une recherche du niveau le plus spécifique (contrat) au niveau le plus général (général). Les prix de chaque niveau peuvent résider dans une table dédiée, ce qui se traduit par une cascade de comparaisons de tables. Ce n'est que lorsque le dernier contrôle ne retourne aucun résultat appelant une fonction Aucun accès qu'il est judicieux.

Comment créer deux tables de mappage pour stocker des informations de prix

Dans cette vidéo, Melissa montre à Jonathan comment créer deux tables de correspondance pour stocker les informations de prix pour l'utilisation du processeur et de la RAM pour le service de sélection de cloud. Tout d'abord, une nouvelle classe de tables de correspondance commune est créée pour prendre en charge les prix des deux services. Une fois la classe prête, deux tables de correspondance distinctes seront configurées et gérées avec les prix d'utilisation du service CPU et RAM.

Comment créer des frais d'utilisation à l'aide d'une table de correspondance

Dans cette démonstration, les frais de calcul des frais d'utilisation du processeur sont mis à jour. Ces frais sont basés sur un composant de changement de préfixe pour lire les informations sur les prix à partir de la table de mappage créée dans la vidéo précédente.

La démonstration montre également comment utiliser la fonctionnalité d'exécution d'essai pour tester la logique de charge.