Utilisation de l'API setVariableValue dans un script de présentation

Objective

After completing this lesson, you will be able to utilisez l'API setVariableValue pour définir plusieurs variables dans un script de présentation.

API setVariableValue

Cette leçon est pertinente pour les développeurs de présentations qui utilisent des requêtes d'un système SAP Business Warehouse (SAP BW) comme source de données pour leurs présentations.

Points à prendre en compte

Il existe deux éléments à prendre en compte lorsque vous décidez d'utiliser des variables d'une requête BEx à partir d'un système SAP BW dans vos scripts, car ces variables sont des objets assez coûteux du point de vue des performances.

  1. Toutes les valeurs que vous définissez comme valeurs de variables doivent être validées avant d'être utilisées.

    La validation signifie qu'il existe une exigence pour une demande de backend supplémentaire.

    Dans la boîte de dialogue Analyse des performances, ces demandes de validation seront affichées en tant que demandes de métadonnées de modèle de requête supplémentaires.

    La boîte de dialogue SAP Performance Insights affiche des demandes de validation supplémentaires affichées en tant que demandes de métadonnées de modèle de requête supplémentaires.
  2. La modification d'une seule variable peut entraîner un nouveau rendu de plusieurs widgets.

    Selon le paramètre de gestion des variables (à l'échelle de la présentation ou spécifique au widget), la conception de la présentation elle-même et si la variable est utilisée dans plusieurs widgets, la modification d'une seule variable peut entraîner la génération de plusieurs widgets.

Recommandations

Une fois que vous avez réfléchi à l'impact de l'utilisation des variables sur les performances de votre présentation, il existe deux recommandations pour utiliser efficacement les variables. Il s'agit uniquement de recommandations générales, et non de règles strictes, car des différences peuvent survenir en fonction de la conception de la présentation spécifique.

  1. Utilisation de plusieurs valeurs de variables.

    Si vous voulez définir plusieurs valeurs de variables dans un script, conservez les API setVariableValue() ensemble, idéalement une ligne après l'autre. Dans la mesure du possible, elles sont automatiquement fusionnées en une seule demande. Cela réduit le nombre d'allers-retours dans le backend et augmente les performances. Par exemple :

    Code Snippet
    12
    Table_1.getDataSource().setVariableValue("U00_VAR_MON_001","201507"); Table_1.getDataSource().setVariableValue("U00_VAR_MON_002","201508");
    Boîte de dialogue Analyse des performances affichant les performances du script d'événement onClick lorsque BTN_2var est sélectionné. Le code utilisé est écrit au-dessus de l'image.

    Si, pour une raison quelconque, vous ne pouvez pas les écrire ensemble, notez que certaines API (par exemple, celles qui font référence à la source de données, trient les valeurs, etc.) empêchent le système de fusionner les demandes. Par exemple :

    Code Snippet
    123
    Table_1.getDataSource().setVariableValue("U00_VAR_MON_001","201507"); Table_1.sortByMember("0D_NW_PRID__0D_NW_PRCAT",SortOrder.Descending); Table_1.getDataSource().setVariableValue("U00_VAR_MON_002","201508");
    Boîte de dialogue Analyse des performances affichant les performances du script d'événement onClick lorsque BTN_VarSortVar est sélectionné. Le code utilisé est écrit au-dessus de l'image.
  2. Utilisation d'un filtre au lieu d'une variable.

    Si la variable dans la requête est utilisée uniquement pour permettre à l'utilisateur de sélectionner un filtre pour une dimension, envisagez d'utiliser un filtre à la place.

    La définition d'une valeur de filtre avec l'API setDimensionFilter(), en général, ne nécessite pas l'aller-retour de validation supplémentaire.