Configuration de la planification des prix

Objectives

After completing this lesson, you will be able to:
  • Expliquez l'objectif de la planification des prix.
  • Expliquez les modules des planifications des prix.
  • Expliquez les trois types de taux disponibles.
  • Expliquez les composantes logiques communes.

Introduction aux planifications des prix

Diviseur optique

Dans SAP Convergent Charging, la logique de détermination du prix est créée en assemblant des arbres de décision contenant des composants simples. Ces composants sont des modules que vous pouvez regrouper pour répondre à vos besoins de gestion.

Exemple d'une arborescence et de sa configuration

Dans la figure ci-dessus, la partie gauche de la fenêtre présente un exemple d'arborescence. À droite, la configuration du composant sélectionné s'affiche.

Modules des planifications des prix

Au moment de l'exécution, les frais sont calculés en exécutant certaines parties de la logique d'arborescence. Chaque nœud de l'arborescence représente un composant qui exécute une opération bien définie telle que l'ajout de deux nombres, la comparaison de deux nombres ou la lecture à partir d'une table. L'arborescence d'une planification des prix peut être divisée en trois couches :

1. Niveau de taux
C'est ici que sont définis les taux de vos frais. Dans la figure ci-dessous, cette zone est mise en surbrillance en jaune.
2. Niveau algorithmique
À ce niveau se trouvent les logiques de calcul. Plusieurs composantes logiques sont combinées pour former la logique de calcul du prix pour vos services. Dans la figure ci-dessous, cette zone est mise en surbrillance en bleu. Chaque composante logique est affectée à l'une des trois catégories suivantes :
  1. Comparateurs
  2. Fractionneurs
  3. Opérateurs
3. Niveau de fonction

Les fonctions sont les feuilles de votre logique d'arborescence de calcul. Ils affectent une valeur numérique calculée au montant facturé par les frais. Dans la figure ci-dessous, les fonctions sont mises en surbrillance.

Selon la structure de votre planification des prix, plusieurs fonctions peuvent s'ajouter au montant final de vos frais. Les fonctions ne se soucient pas seulement de l'affectation, mais sont également fournies avec leur propre ensemble de fonctions arithmétiques de base.

Examinons d'abord tous les types de composants disponibles pour avoir une vue d'ensemble. Une fois que vous savez quels composants sont disponibles et ce que ces composants font, vous verrez l'assemblage d'une planification des prix dans le système.

Types de taux disponibles

Vous commencerez par le niveau de tarification. Chaque planification des prix doit commencer par un élément de tarification. Le taux définit le type de frais qui seront calculés et facturés. SAP Convergent Charging fournit trois types d'éléments de tarif :

1. Taux d'utilisation
Les taux d'utilisation traitent les éléments de tarification d'une classe d'éléments de tarification donnée. Le plan tarifaire en dessous d'un tel tarif a accès aux propriétés de l'élément de tarification traité par les frais. Pour chaque élément de tarification traité, les frais peuvent créer une opération de sortie qui est envoyée au système de facturation.
2. Taux récurrent
Les tarifs récurrents calculent les frais basés sur le temps sur une base récurrente. Ils ne traitent pas les éléments de tarification, mais ils peuvent être déclenchés indirectement par des éléments de tarification pendant le « processus d'activation ». Vous apprendrez plus tard, ce que cela signifie.
3. Tarif unique
Les tarifs uniques calculent les frais lors de certains événements, qui ne se produisent généralement qu'une seule fois pour un frais. Ces événements sont l'activation, la suspension ou la reprise de frais dans le cadre d'un poste de contrat.

Taux d'utilisation

Un taux d'utilisation est simple à configurer. Il doit uniquement faire référence à une classe d'éléments de tarification. Vous pouvez ajouter plusieurs taux d'utilisation à des frais tant que chacun d'eux fait référence à une classe d'éléments de tarification différente. De cette façon, vos frais peuvent traiter différents types d'utilisation du service, chaque type étant représenté par une classe d'éléments de tarification dédiée.

Il s'agit de l'emplacement dans l'arborescence pour créer un taux d'utilisation.

Taux récurrents

Les tarifs récurrents représentent des frais qui sont déclenchés régulièrement sans qu'il soit nécessaire de traiter un élément de tarification. SAP Convergent Charging déclenchera automatiquement ces redevances lorsqu'un contrat est « activé ». Vous en apprendrez davantage sur le processus d'activation ultérieurement. Pour l'instant, pensez-y simplement comme un processus automatisé, qui permettra à SAP Convergent Charging de calculer les frais sur une base récurrente et de créer les éléments imputés correspondants jusqu'à un certain moment du cycle de vie du contrat.

Emplacement dans l'arborescence pour créer un taux récurrent.

En ce qui concerne le modèle de récurrence exact, SAP Convergent Charging offre une grande flexibilité. Dans la vidéo suivante, vous allez parcourir des cas d'utilisation de plus en plus complexes, configurer le taux récurrent en fonction des besoins et visualiser les modifications qui en résultent dans le comportement du système.

Tarifs uniques

Les taux uniques (comme leur nom l'indique) sont des taux qui sont déclenchés une fois lorsqu'une condition donnée est remplie. SAP Convergent propose trois conditions différentes :

Activation
Une dose déclenchée lors de l'activation facturera des frais au début de la première période de validité d'un poste de contrat.
Suspension
Lorsqu'un poste de contrat se termine, des frais de suspension sont déclenchés. Lorsqu'un poste de contrat est terminé, relancé ultérieurement et terminé à nouveau au bout d'un certain temps, des frais de suspension sont déclenchés chaque fois que le poste de contrat est interrompu.
Reprise
Lorsqu'un poste de contrat est terminé, mais relancé ultérieurement, des frais de reprise sont déclenchés. Si le poste de contrat est terminé et relancé après une pause plusieurs fois, chaque fois que le poste redevient valide, des frais de reprise sont déclenchés.

Le graphique ci-dessous illustre le déclenchement de chaque frais unique.

Exemple : lorsque des frais uniques sont déclenchés

Dans SAP Billing Revenue and Innovation Management, les frais uniques tels que les frais d'activation sont généralement déclenchés par SAP Subscription Order Management et contournent complètement SAP Convergent Charging. Par conséquent, on pourrait avoir le sentiment, que les taux d'un coup sont inutiles. Toutefois, dans certains cas, les taux d'intérêt unique peuvent s'avérer utiles. Lors du calcul des remises dans SAP Convergent Charging, ces remises peuvent uniquement être appliquées lorsque tous les frais à prendre en compte dans le processus de remise à l'escompte sont traités par SAP Convergent Charging.

Fonctions

Chaque branche de l'arborescence de planification des prix doit se terminer par une fonction. Une fonction peut servir l'un des quatre objectifs suivants :

  1. Affectez une propriété numérique au montant évalué d'un frais.

    Comme nous l'apprendrons dans cette leçon, il peut arriver que plusieurs fonctions s'ajoutent au montant total évalué d'un frais. En règle générale, cette affectation est combinée à la prise en charge d'un calcul d'un certain type. Les fonctions suivantes ont cet objectif :

    • Plat
    • Générique
    • Linéaire
    • Polynomial
  2. Interrompez le calcul des frais et supprimez la création d'un poste imputé.

    Cette opération est généralement effectuée lorsqu'un service est gratuit. La fonction utilisée pour cela est appelée : Libre.

  3. Appeler une macro tarifaire

    Les macros peuvent être comprises comme des moyens de créer des arbres de prix réutilisables. Ils sont similaires aux sous-programmes en programmation, que vous pouvez appeler à partir d'autres programmes, afin que vous n'ayez pas à les écrire plusieurs fois. Nous allons apprendre comment ce composant est utilisé lorsque nous couvrons les macros tarifaires. La fonction utilisée à cet effet est appelée : Macro Function.

  4. Déclencher une erreur et interrompre le processus de tarification des frais actuels.

    Cette opération est généralement effectuée lorsque le prix d'une prestation n'a pas pu être déterminé pour une raison quelconque. La fonction utilisée ici est appelée : Aucun accès.

    Fonctions disponibles

Examinons plus en détail les quatre types de fonction :

Fonctions Affectation de montants

Nous ne passerons pas en revue les quatre fonctions en détail. La fonction la plus courante de l'ensemble est la fonction « Flat ». Les composants demandent à sélectionner une propriété numérique comme "Montant fixe". La valeur de la propriété sélectionnée sera ajoutée au montant facturé par les frais.

Fonction avec montant affecté.

Le composant Linéaire permet de sélectionner un "Nom de propriété" et un "Montant échelonné" supplémentaires, qui sont multipliés et ajoutés à un Montant fixe. Cette fonction permet d'exécuter une formule comme :

A*B+C

A, B et C peuvent être des propriétés numériques. Le résultat est ajouté au montant facturé par les frais.

Exemple de frais.

Le même calcul peut être effectué avec le composant de calcul arithmétique que nous allons apprendre dans la suite de cette leçon. L'avantage de la fonction linéaire est qu'elle combine le calcul et l'affectation du résultat au montant facturé dans une composante.

La fonction « Libre »

Chaque fois qu'un service est gratuit, vous disposez de l'une des deux options suivantes :

  1. Créez un élément imputé avec un montant de 0 pour indiquer explicitement que votre utilisation du service est gratuite.
  2. Supprimer la création d'un élément imputé en premier lieu.

Ce dernier peut être réalisé en utilisant la fonction Libre. Il n'a pas d'options spécifiques.

Remarque

Comme vous vous en souvenez peut-être, une fonction libre ne déclenchera aucun frais dépendant. Lorsque vous devez vous assurer que tous les frais dépendants sont exécutés, utilisez une fonction plate à la place et affectez un montant de 0. De cette façon, vous créerez un poste imputé avec un montant de 0, mais tous les frais dépendants seront déclenchés.

La fonction « Aucun accès »

Les logiques de notation peuvent exécuter des conditions qui ne permettent pas de calculer correctement un montant. Cela peut être dû à l'échec de la recherche du prix correct, à l'absence de données de saisie obligatoires ou à une incohérence des données d'entrée. Dans toutes ces situations, le processus de valorisation doit être interrompu et l'erreur doit être communiquée à l'appelant.

La composante Aucun accès attend un message décrivant le problème rencontré par la logique d'évaluation. Ce message doit être à la fois descriptif et court. Lorsque SAP Convergent Charging est utilisé en combinaison avec SAP Convergent Invoicing, le message d'erreur est renvoyé à SAP Convergent Invoicing, qui l'enregistre dans sa base de données pour référence ultérieure. Comme il existe une longueur maximale de message que SAP Convergent Invoicing peut stocker, les messages dépassant ce maximum seront tronqués, ce qui peut rendre l'analyse des causes profondes de l'erreur difficile.

Exemple de la fonction Aucun accès.

Sous le message, toutes les propriétés disponibles dans le contexte d'évaluation sont disponibles pour la sélection. Vous devez cocher les cases de toutes les propriétés requises pour une analyse des causes profondes, mais tenir compte de la longueur maximale d'un message d'erreur. Les noms et les valeurs d'exécution de toutes les propriétés que vous avez sélectionnées seront ajoutés au message d'erreur. Par conséquent, il est difficile de déterminer le nombre de propriétés à inclure dans le message avant que SAP Convergent Invoicing tronque la chaîne, car elle dépend de la longueur de toutes les valeurs d'exécution de propriété.

Composantes logiques

Comparateurs

Les comparateurs sont des composants qui comparent deux valeurs ou plus l'une avec l'autre et ramifient la logique de l'arborescence en deux branches ou plus selon le résultat. Nous vous donnerons une introduction détaillée aux composants de comparaison les plus utilisés. Les autres seront listés, mais pas expliqués en détail. La documentation vous fournira les détails nécessaires chaque fois que vous en aurez besoin ultérieurement. Deux des composantes les plus utilisées vous permettent de lire des tables. Ces deux composantes sont décrites dans les sujets Utilisation des tables de mappage et Utilisation des tables par intervalles.

La figure suivante montre la liste des composants de comparateur disponibles lorsque vous passez la souris sur l'icône correspondante.

Liste des comparateurs

Les composants les plus utilisés sont les suivants :

  • Introducteur de table de correspondance
  • Chiffres
  • Commutation des préfixes
  • Introducteur de table par intervalles
  • Chaînes

Chiffres

Avec le composant comparateur de nombres, vous pouvez comparer deux nombres l'un avec l'autre.

Chiffres

Comme nom de propriété, sélectionnez la propriété numérique à comparer.

Comme valeur de comparaison, sélectionnez la propriété de nombre avec laquelle comparer la première propriété. La valeur de comparaison permet également de saisir un nombre statique qui n'est pas lu à partir d'une propriété. Comme ces chiffres sont fixés au moment de la conception, cela est assez rare et inflexible.

En tant qu'opérateur, vous pouvez choisir parmi une liste d'opérations de comparaison au moment de la conception :

  1. Est égal à
  2. Est supérieur à
  3. Est inférieur à
  4. Est supérieur ou égal à
  5. Est inférieur ou égal à

L'instruction vérifiée sera :

<Property Name> <operator> <Comparison Value>

Par exemple :

NUMBER1 is greater than NUMBER2

Le composant a deux branches pour continuer. Chacun d'eux décrit l'un des résultats possibles. Seule la branche correspondant au résultat de la comparaison sera exécutée après la comparaison.

Exemple de NUMBER

Un exemple de cas d'utilisation serait de toujours facturer le montant le plus élevé de deux montants disponibles.

Chaînes

Le composant comparateur de chaînes est similaire au composant comparateur de nombres.

Composant du comparateur de chaînes

Il compare deux chaînes l'une à l'autre. Vous choisirez deux chaînes à comparer (une « valeur de propriété » et une « valeur de comparaison »), puis vous sélectionnerez une opération dans la liste suivante :

  1. Est égal à
  2. Commence par
  3. Se termine par
  4. Contient

Là encore, la valeur de comparaison permet de saisir une chaîne statique comme valeur de comparaison, ce qui est une configuration plutôt statique et non flexible et qui doit donc être empêchée.

L'instruction vérifiée sera :

<Property Name> <operator> <Comparison Value>

Par exemple :

STRING1 starts with STRING2

Le résultat peut être vrai ou faux. Le composant a deux branches de sortie correspondantes, une pour chacun des résultats possibles de la comparaison. La branche correspondant au résultat de la comparaison sera exécutée.

Exemple de la syntaxe du comparateur de chaînes.

Commutation des préfixes

Le composant comparateur de commutation de préfixe est similaire à un composant comparateur de chaîne, mais permet uniquement de vérifier si la valeur d'une propriété de chaîne donnée commence par un ensemble de valeurs de préfixe, ou par aucun des préfixes donnés. Les préfixes doivent être indiqués explicitement au moment de la conception et ne peuvent pas être fournis par une propriété.

Définition de préfixes.

La composante fournit une branche sortante pour chaque préfixe que vous voulez contrôler. Une branche par défaut supplémentaire est fournie, qui est exécutée lorsque le contrôle de propriété n'a commencé avec aucun des préfixes fournis. Une seule des branches sortantes est alors exécutée.

Exemple de syntaxe des préfixes

Remarque

Notez cependant que la séquence dans laquelle les préfixes sont archivés est importante. Imaginez la liste suivante de préfixes vérifiés par le composant comparateur de commutation de préfixe dans la séquence donnée :

  1. AB
  2. ABC
  3. DEF

Comme une valeur "ABCDE" commence par "ABC", mais commence également par "AB", le premier préfixe de la liste sera toujours considéré comme le premier résultat et la logique correspondante sera donc toujours exécutée pour ces cas. Le deuxième préfixe ne sera jamais atteint de cette façon. Il est donc important de trier la liste des éléments de préfixe de manière à ce que les préfixes les plus spécifiques soient répertoriés en premier, suivis des plus généraux :

  1. ABC
  2. AB
  3. DEF

Comparateurs restants

Les comparateurs restants ne seront pas expliqués en détail. La liste suivante fournit une synthèse de tous les composants avec une brève description de leurs objectifs.

Synthèse de tous les composants

Comparateur/ComposantDescription
Plage de dates/heuresAutoriser la configuration d'une plage horaire quotidienne, hebdomadaire, mensuelle ou annuelle et d'une date à comparer au modèle de plage horaire. Le composant vérifie si la date fournie se trouve dans l'intervalle de temps ou en dehors de celui-ci.
DatesPermet d'effectuer une comparaison avec les propriétés de date. Le composant peut vérifier si une date est égale, après, strictement après, avant ou strictement avant l'autre. La composante peut également vérifier si la première date a le même jour de la semaine, le même jour du mois, le même mois ou la même année que la deuxième date. Le contrôle peut également avoir lieu pour n'importe quelle combinaison de ces critères.
Commutation d'intervalleCompare une propriété de nombre à un ensemble d'intervalles numériques fournis au moment de la conception. La composante fournit une branche de sortie par intervalle ainsi qu'une branche par défaut, qui est exécutée lorsqu'aucun des intervalles n'est applicable. Si la valeur de la propriété de numéro fournie se trouve dans l'un des intervalles donnés, la branche de sortie correspondante est exécutée. Si aucun intervalle n'est atteint, la branche par défaut est exécutée.
Introducteur de table de mappageLit à partir d'une table de correspondance avec un ensemble de critères de recherche. Le composant se divise en deux branches : l'une est exécutée lorsqu'une entrée a été trouvée, l'autre est exécutée lorsqu'aucune entrée n'a été trouvée. Ce composant est traité plus en détail lors de l'introduction des tables de mappage.
Jours fériésCompare une date donnée à un ensemble de jours fériés. Les jours fériés sont gérés via un fichier XML qui peut être exporté et importé avec l'outil principal. Si la date indiquée correspond à l'un des jours fériés sélectionnés à contrôler, la composante exécute une succursale sortante. Si ce n'est pas le cas, l'autre branche sortante est exécutée.
Introducteur de table par intervallesVérifie une table par intervalles et des branches dans un ensemble de branches sortantes en fonction de l'emplacement de la propriété numérique par rapport aux intervalles. Ce composant est traité plus en détail lors de l'introduction des tables de mappage.
CommutationCette composante fonctionne avec des comptes prépayés au lieu de comptes externes. Il vérifie le statut d'une référence de compte prépayé fournie dans le dictionnaire des références internes du plan de recharge. Vous pouvez vérifier n'importe quel statut du compte prépayé. Selon le statut du compte prépayé (actif, bloqué, fermé, bloqué), la composante exécute la branche sortante correspondante.

Fractionneurs

Contrairement aux comparateurs, les séparateurs permettent d'exécuter plusieurs branches sortantes d'un composant. En quelque sorte, les séparateurs fractionnent le flux de contrôle en plusieurs branches en fonction d'une règle.

Liste des séparateurs disponibles.

Séparateur de numéros

Le composant séparateur le plus important est probablement le séparateur de nombre. Son objectif est de fractionner une valeur numérique en deux parties à un seuil donné.

Prenons un exemple :

Supposons que votre client ait utilisé votre service pour un certain nombre d'unités. L'abonné au service a reçu un certain nombre d'unités d'utilisation de service gratuites que vous devez imputer par rapport à l'utilisation déclarée par le système de mesure avant de pouvoir déterminer le montant à facturer.

SERVICE_USAGE: X Units

FREE_USAGE: Y units

Comme votre logique de calcul du prix ne peut pas indiquer si l'utilisation du service client est inférieure ou supérieure au montant de l'utilisation gratuite encore disponible pour le client, elle doit d'abord effectuer une comparaison. En fonction du résultat, le calcul arithmétique correct doit être effectué pour que le résultat puisse être traité correctement. Ce calcul peut être :

  1. SERVICE_USAGE – FREE_USAGE si le volume d'utilisation de services gratuits encore disponible est inférieur à la quantité de services consommée. Le résultat peut être facturé et le solde d'utilisation du service gratuit sera défini sur 0.
  2. FREE_USAGE – SERVICE_USAGE si le volume de services disponibles est supérieur à la quantité de services consommée. Le résultat sera déduit du solde d'utilisation libre et rien ne sera facturé.

C'est assez compliqué, et le séparateur peut aider à simplifier ce calcul. Dans la configuration, vous sélectionnerez un "Nom de propriété" numérique contenant le nombre à fractionner en deux parties. Comme la "Valeur de fractionnement" doit être sélectionnée, une autre propriété numérique contenant le seuil à partir duquel fractionner la première propriété doit être sélectionnée. Notez que vous pouvez également saisir un numéro statique ici, mais comme il est plutôt statique, cela n'est généralement pas fait.

Le composant s'attend à ce que vous indiquiez les noms des propriétés numériques dans lesquelles il écrira le résultat de l'opération de fractionnement. La première propriété recevra la valeur de "Nom de propriété" jusqu'à la "Valeur de fractionnement", tandis que toute valeur de "Nom de propriété" sera affectée à la seconde au-delà de la "Valeur de fractionnement".

Voyons comment le composant serait configuré pour l'exemple donné ci-dessus.

Exemple de paramétrage d'un séparateur de numéro.

La propriété à fractionner ici est "SERVICE_USAGE". Comme valeur de fractionnement, le compteur "FREE_USAGE" a été fourni. Le résultat du fractionnement est écrit respectivement dans les propriétés "USAGE_FREE_OF_CHARGE" et "USAGE_TO_CHARGE".

Soyons spécifiques et supposons que le client ait consommé 7 unités, alors que le solde de FREE_USAGE est de 5 unités. A partir des 7 unités utilisées 5 unités sont inférieures au seuil de 5 unités encore libres. Par conséquent, la propriété USAGE_FREE_OF_CHARGE reçoit la valeur "5".

À partir des 7 unités utilisées, 2 unités sont supérieures à 5 unités encore libres. Par conséquent, la propriété USAGE_TO_CHARGE reçoit la valeur "2".

Le composant crée deux branches de sortie qui sont toutes les deux exécutées :

Exemple de séparateur de nombre : les branches de sortie.

Notez que la propriété "USAGE_FREE_OF_CHARGE" est disponible uniquement dans la branche sortante intitulée "SERVICE_USAGE: Jusqu'à FREE_USAGE" alors que la propriété USAGE_TO_CHARGE est disponible uniquement dans la branche intitulée "SERVICE_USAGE: Beyond FREE_USAGE". Comme vous pouvez le voir, la logique restante que vous devez implémenter est beaucoup plus simple de cette manière, car certains calculs arithmétiques ont été effectués par la composante de séparateur pour vous.

Visualisation de l'exemple

Remarque

Selon les données fournies comme entrées pour le composant, les propriétés de sortie USAGE_FREE_OF_CHARGE et USAGE_TO_CHARGE peuvent être nulles.

Composants de séparateur restants

Le tableau suivant présente une synthèse de tous les composants de séparateur restants.

Synthèse de tous les composants de séparateur restants

Composant de séparateurDescription
Agrégateur de montantsPermet de calculer la valeur totale, minimale, maximale ou moyenne de 20 branches différentes de l'arbre des prix. De cette façon, le moins cher de plusieurs calculs peut être facturé, par exemple.
Jours fériésPermet de comparer un intervalle de temps avec un nombre arbitraire de jours fériés du dictionnaire des jours fériés.
Créneau horairePermet de comparer un intervalle de temps avec un modèle de plage horaire récurrent. Le modèle peut être quotidien, hebdomadaire, mensuel ou annuel (par exemple « chaque semaine les week-ends »).

Opérateurs

Les composants de l'opérateur ne fractionnent pas du tout le flux de contrôle. Chaque composant d'opérateur a exactement une branche sortante.

Les figures affichent tous les opérateurs disponibles.

Calcul arithmétique

Cette composante permet d'effectuer des calculs arithmétiques de base. Le composant prend en charge les opérations suivantes :

  • Addition
  • Soustraction
  • Multiplication
  • Secteur d'activité
  • Opération modulo
  • Exploitation électrique

Le composant attend la sélection d'une propriété ou d'une valeur statique pour le premier et le deuxième opérande, la sélection de l'une des opérations répertoriées à exécuter et le nom de la propriété dans laquelle écrire la valeur de résultat de l'opération.

Exemple de calcul arithmétique.

En fonction de l'opération sélectionnée, un mode d'arrondi doit être sélectionné. SAP Convergent Charging prend en charge les modes d'arrondi suivants :

  1. vers le haut
  2. vers le bas
  3. à la valeur la plus proche

En interne, une précision allant jusqu'à 12 décimales est prise en charge.

Concaténer

L'opérateur concaténer permet de combiner un nombre arbitraire de valeurs de chaîne dans une nouvelle propriété de chaîne. L'élément central de sa configuration est une liste d'éléments composant la nouvelle chaîne. Vous pouvez ajouter autant d'éléments à la liste que vous le souhaitez.

Options de l'opérateur de concaténation

Les éléments de contrôle de la table vous permettent d'ajouter de nouveaux éléments, de supprimer des éléments existants ou de modifier la séquence des éléments existants si nécessaire.

Par défaut, les éléments ajoutés à la table sont concaténés sans caractère de séparation. Cependant, le composant opérateur permet d'effectuer une sélection parmi un ensemble prédéfini de caractères de séparation et même l'option d'utiliser un caractère personnalisé. Lorsque vous avez sélectionné le point-virgule comme caractère de séparation, il est ajouté entre les éléments à concaténer. Aucun séparateur ne sera placé avant le premier et après le dernier élément.

Changer de table

La table de commutation est un composant assez polyvalent, qui peut analyser une propriété de chaîne ou de nombre. En fonction d'un ensemble de règles, une propriété de chaîne ou de nombre de sortie est créée et fournie avec une valeur. Le type de données de la propriété de sortie est indépendant du type de données de la propriété analysée.

Par exemple, vous pouvez analyser une propriété de chaîne contenant un domaine de niveau supérieur et définir un nom de pays dans une deuxième propriété en fonction du domaine de niveau supérieur trouvé. L'exemple en est donné dans le tableau ci-dessous.

Cependant, la table contenant les règles ne peut pas être modifiée via une API lors de l'exécution. Cela signifie que l'ensemble de règles doit être plutôt statique. Pour les tables de données dynamiques, il serait préférable de les modifier au moment de l'exécution. Les tables seront abordées dans un sujet ultérieur.

Exemple de table de commutation.

Mettre à jour compteur

Le composant de mise à jour du compteur est crucial lors de la gestion des compteurs, car il permet de modifier la valeur du compteur. En tant que "Nom du compteur", vous devez sélectionner le compteur pour lequel vous voulez modifier la valeur.

Exemple de compteur de mise à jour.

La deuxième étape consiste à sélectionner l'une des quatre opérations disponibles pour l'exécution sur le compteur. Vous pouvez :

  • Réinitialisez le compteur sur sa valeur initiale.
  • Définissez le compteur sur une valeur spécifique ou une valeur lue à partir d'une propriété numérique.
  • Ajoutez une certaine valeur au compteur.
  • Soustraire une certaine valeur du compteur.

Comme valeur d'opération, vous pouvez saisir un nombre spécifique, qui est utilisé pour l'opération, ou fournir une propriété numérique à partir de laquelle le système lira le nombre.

Lorsqu'une opération de compteur est exécutée dans le cadre de votre logique d'arbre d'évaluation, mais que l'exécution de la logique échoue (en atteignant une fonction Aucun accès ou en échouant autrement), la modification du compteur ne sera pas exécutée.

Opérateurs restants

Le tableau suivant répertorie tous les composants de l'opérateur restants et décrit brièvement leurs objectifs.

Liste de tous les composants d'opérateur restants

Composant de l'opérateurDescription
Déclenchement d'alerteCette composante permet de déclencher une alerte publiée par SAP Convergent Charging. Les applications externes peuvent s'abonner à ces événements à l'aide de l'API Java pf SAP Convergent Charging. En outre, les notifications sont fournies dans la réponse des API des services Web SOAP.
Émetteur de l'événement d'allocationEnvoie un événement d'allocation aux allocations d'un contrat. Ainsi, il arrive généralement de régler l'utilisation par rapport à une allocation.
Introducteur de propriété d'allocationPermet de traiter les allocations existantes pour un contrat en fonction de certains critères. Ce composant peut par exemple compter toutes les allocations d'un certain type valides à une date donnée et ayant un solde supérieur à X.
Créer allocationCréer une allocation avec certaines propriétés.
Décalage de dateDécalez une date en ajoutant ou en soustrayant un certain nombre de secondes, minutes, heures, jours, mois ou années indiqué(e) dans une propriété de nombre.
Compteur de décrémentsFournit des modifications de valeurs de compteur conformes à la session.
DuréeUtilise deux propriétés de date comme entrée et calcule le nombre de secondes, minutes, heures ou jours entre elles.
Adaptateur de duréeConvertit un nombre donné de secondes, minutes, heures ou jours en une autre unité de temps (doit être secondes, minutes, heures ou jours). Les conversions tiennent compte de l'impact des transitions entre l'heure d'été et l'heure d'hiver.
FiltreApplique des filtres à une chaîne multivaleurs et affecte les valeurs aux nouvelles propriétés en fonction du filtre correspondant à la chaîne.
Opérateur de macroAppelle une macro tarifaire en tant qu'opérateur. Les macros seront abordées dans une leçon ultérieure.
Évaluateur multivaleurCe composant utilise une propriété de nombre multivaleur comme entrée et calcule la somme, le minimum, le maximum et la moyenne sur toutes les valeurs.
Introducteur de propriétéIntroduit de nouvelles propriétés d'un certain type de données dans le contexte de valorisation et définit leurs valeurs initiales. Vous pouvez créer des propriétés des types de données "chaîne", "nombre" et "date".
Convertisseur de type de propriétéCette composante vous permet d'effectuer une conversion entre certains types de propriétés. Ce composant vous permet également de créer des propriétés de chaîne multivaleurs et des propriétés de nombre multivaleurs à partir de propriétés de chaîne.
ProrataCet élément permet d'appliquer un calcul au prorata à une propriété numérique. Le mode de fonctionnement de la composante au prorata est similaire à la manière dont un calcul au prorata est appliqué par un taux récurrent.
Introducteur de table multiniveauCe composant peut lire à partir d'un type de table obsolète appelé "Table multiniveau". Elles ont été remplacées par des tables par intervalles, que nous aborderons dans un sujet ultérieur.
Introducteur de table de traductionCe composant peut lire à partir d'un type de table obsolète appelé "Table de translation". Elles ont été remplacées par des tables de correspondance, que nous aborderons dans un sujet ultérieur.

Propriétés multivaleurs

Jusqu'à présent, vous avez découvert les propriétés des types de données chaîne, nombre et date. SAP Convergent Charging prend en charge les propriétés multivaleurs. Vous pouvez imaginer que ces propriétés soient une liste de valeurs par opposition à une seule valeur. Une telle liste de valeurs peut être, par exemple, une liste d'adresses e-mail dérivées de la zone du destinataire d'un e-mail.

Imaginez que la propriété de chaîne ZZ_RECIPIENTS contient des adresses e-mail séparées par des points-virgules, comme vous le trouverez dans le champ "À" de votre programme de messagerie. Cela peut ressembler à ceci :

ZZ_RECIPIENTS = "gary_smith@testdomain.com; finn_swann@testdomain.com; eve_steward@testdomain.com"

Une chaîne multivaleur est une chaîne qui prend en compte les différentes adresses e-mail et les stocke en tant que valeurs de chaîne distinctes dans une seule propriété. Vous pouvez imaginer une chaîne multivaleurs comme une liste de valeurs de chaîne :

ZZ_RECIPIENTS_MV =

gary_smith@testdomain.com
finn_swann@testdomain.com
eve_steward@testdomain.com

Lorsqu'une chaîne contient une séquence de valeurs numériques séparées par des points-virgules, vous pouvez créer une propriété numérique multivaleur à partir de celle-ci. Supposons qu'il existe une propriété ZZ_DISTANCES avec un ensemble de distances en kilomètres entre un départ et une destination pour différents itinéraires :

ZZ_DISTANCES = "36; 42; 12"

Vous pouvez créer une propriété de nombre multivaleur à partir de cette chaîne, qui se présente comme suit :

ZZ_DISTANCES =

36
42
12

Les propriétés multivaleurs seules ne sont pas utiles. La valeur ajoutée provient des composants, qui peuvent fonctionner avec des propriétés multivaleurs comme vous l'avez vu dans les tableaux ci-dessus.

Les propriétés multivaleurs sont créées à l'aide du composant opérateur convertisseur de type de propriété. Comme ce cours n'utilise pas ces types de propriétés, elles ne seront pas abordées plus en détail.

Assemblage des planifications des prix

Maintenant que vous comprenez bien les composants utilisés pour créer des planifications des prix, voyons comment créer une nouvelle planification des prix dans le système.