SAP Web Dynpro - Visualiseur de liste SAP (ALV)

SAP List Viewer est utilisé pour ajouter un composant ALV et fournit un environnement flexible pour afficher des listes et une structure tabulaire. Une sortie standard se compose d'un en-tête, d'une barre d'outils et d'un tableau de sortie. L'utilisateur peut ajuster les paramètres pour ajouter des options d'affichage, d'agrégation et de tri de colonnes à l'aide de boîtes de dialogue supplémentaires.

Voici les principales caractéristiques d'ALV -

  • Il prend en charge de nombreuses propriétés de l'élément table car il est basé sur l'élément d'interface utilisateur de table Web Dynpro.

  • La sortie ALV peut être filtrée, triée ou vous pouvez appliquer des calculs.

  • L'utilisateur peut exécuter des fonctions spécifiques à l'application en utilisant les éléments de l'interface utilisateur dans la barre d'outils.

  • Permet à l'utilisateur d'enregistrer le paramètre dans différentes vues.

  • Permet de configurer des zones spéciales au-dessus et en dessous de la sortie ALV.

  • Permet de définir la mesure dans laquelle la sortie ALV peut être modifiée.

Comment créer un ALV?

Voici les étapes pour créer un ALV.

Step 1 − Use T-code: SE80.Sélectionnez Web Dynpro comp / intf dans la liste et entrez le nom. Cliquez sur affichage. Vous serez invité à créer le composant. Cliquez sur Oui.

Step 2- Sélectionnez le type comme composant Web Dynpro. Entrez le nom de la fenêtre et le nom de la vue.

Step 3 - Cliquez sur la coche.

Step 4 - Dans la fenêtre de modification, entrez le composant utilisé comme ALV, le composant comme SALV_WD_TABLE et la description comme composant ALV.

Step 5- Allez dans Contrôleur de composants et cliquez avec le bouton droit sur le contexte. Sélectionnez ensuite Créer un nœud MAKT avec la structure de dictionnaire MAKT.

Step 6 - Sélectionnez les attributs requis dans MAKT en utilisant Ajouter un attribut à partir de la structure.

Step 7 - Supprimez la structure de dictionnaire MAKT du nœud MAKT et définissez les propriétés comme suit (cardinalité, sélection des leads, etc.)

Step 8 - Cliquez avec le bouton droit sur Utilisation des composants dans l'arborescence d'objets → Créer une utilisation du contrôleur.

Step 9 - Allez dans Affichage → onglet Contexte et faites glisser le nœud MAKT vers la vue.

Après la cartographie, il apparaîtra comme indiqué dans la capture d'écran suivante.

Step 10 - Accédez à Disposition et cliquez avec le bouton droit sur Insérer un élément.

La mise en page apparaîtra comme indiqué dans la capture d'écran suivante -

Step 11 - Accédez à l'onglet Propriétés, cliquez sur Créer une utilisation du contrôleur pour ajouter ce qui suit à la vue.

Step 12 - Allez à la méthode, utilisez WDDOINIT pour écrire du code.

Step 13- Double-cliquez sur la méthode pour saisir le code. Entrez le code suivant et lancez le composant utilisé ALV.

Utilisez la méthode GET_MODEL dans le contrôleur.

Step 14 - Liez la table au nœud de contexte en utilisant la méthode BIND_TABLE comme suit -

Step 15 - Accédez à Fenêtre dans l'arborescence d'objets et cliquez avec le bouton droit de la souris sur C1 pour intégrer la table ALV à la vue.

Une fois que vous avez intégré la table ALV, elle apparaîtra comme ceci -

Step 16- La dernière étape consiste à créer une application Web Dynpro sous l'arborescence d'objets. Saisissez le nom de l'application.

Step 17 - Pour exécuter l'application, double-cliquez et vous verrez la sortie.

Utilisation de filtres dans la sortie ALV

À l'aide de filtres, vous pouvez limiter les données dans la sortie ALV. Vous pouvez créer plusieurs conditions de filtre pour chaque champ. Pour créer ou supprimer une condition de filtre, vous pouvez utiliser la méthode de la classe d'interface IF_SALV_WD_FILTER.

Vous pouvez utiliser les méthodes suivantes pour créer, obtenir et supprimer des conditions de filtre:

Fonction Méthode
Obtenir une condition de filtre spécifique GET_FILTER_RULE
Obtenir toutes les conditions de filtrage d'un champ GET_FILTER_RULES
Créer une condition de filtre CREATE_FILTER_RULE
Supprimer une condition de filtre spécifique DELETE_FILTER_RULE