Les commandes de tableau et les boucles pas à pas sont des objets d'affichage de tableau d'écran que vous ajoutez à un écran dans Screen Painter.
Du point de vue de la programmation, les commandes de table et les boucles de pas sont presque exactement les mêmes. Les contrôles de tableau sont simplement des boucles d'étape améliorées qui affichent des données avec l'aspect et la convivialité associés aux tableaux dans les applications de bureau.
Avec les contrôles de table, l'utilisateur peut:
- Faites défiler le tableau verticalement et horizontalement
- Redimensionner la largeur d'une colonne
- Faire défiler un champ (lorsque le contenu du champ est plus large que le champ)
- Sélectionnez les lignes ou les colonnes du tableau
- Réorganiser la séquence des colonnes
- Enregistrer les paramètres d'affichage actuels pour une utilisation future
Les contrôles de tableau offrent également des fonctionnalités de mise en forme spéciales (certaines automatiques, d'autres facultatives) qui facilitent la visualisation et l'utilisation des tableaux. Table Control fournit -
- redimensionnement automatique du tableau (vertical et horizontal) lorsque l'utilisateur redimensionne la fenêtre
- lignes de séparation entre les lignes et entre les colonnes (verticales et horizontales)
- champs d'en-tête de colonne pour toutes les colonnes
Une caractéristique des boucles pas à pas est que leurs lignes de tableau peuvent s'étendre sur plus d'une ligne à l'écran. Une ligne d'un champ de table, par contre, doit toujours être contenue dans une seule ligne (bien que le défilement soit possible).
En général, de nombreuses fonctionnalités fournies par le contrôle de table sont gérées localement par l'interface SAPgui de votre système, vous n'avez donc pas besoin de les programmer vous-même. La seule exception notable à cela est le défilement vertical .
Exemple (transaction TZ60)
Syntaxe
Pour gérer les contrôles de table dans les programmes ABAP, vous devez déclarer un contrôle dans la partie déclaration du programme pour chaque contrôle de table à l'aide de l'instruction suivante:
CONTRÔLESTYPE VUE TABLE À L'AIDE DE L'ÉCRAN
où
La position du curseur pour un contrôle de table peut être définie des manières suivantes:
Dans PBO, vous pouvez placer le curseur sur un champ spécifique d'une ligne spécifique d'un contrôle de table.
SET CURSOR FIELDLINE [OFFSET ]
En utilisant l'addition optionnelle OFFSET, vous pouvez entrer le décalage du curseur dans le champ comme décrit sous Définition de la position du curseur.
À PAI, vous pouvez lire la position actuelle du curseur.
GET CURSOR FIELDLINE …
En plus des informations données sous Recherche de la position du curseur, le champ
OBTENIR LA LIGNE DE CURSEUR.
pour déterminer la ligne du contrôle de table. SY-SUBRC vous permet de vérifier si le curseur est placé dans une ligne d'un champ de table.
Pour obtenir la ligne correspondante de la table interne:
GET CURSOR ligne.ind = -top_line + - 1.Lire l'index de la table .
La variable système stepl - contient l'index de la ligne de table courante dans une boucle… endloop. Loopc - contient le nombre de lignes visibles dans la table
Pour créer un contrôle de table
1.Ajoutez un élément de contrôle de table à votre écran
2.Donnez un nom au contrôle de table. Dans le programme ABAP, déclarez une structure avec le même (CONTROLS
3.Pour créer des champs, accédez à la fonction Dict./Program fields.
- Entrez le nom de la structure dont vous voulez les champs. (Si vous voulez qu'il le choisisse dans le dictionnaire de votre programme, cliquez sur le bouton correspondant).
- Dans la liste des champs, choisissez les champs souhaités et choisissez ok.
- Cliquez dans la zone de contrôle du tableau
Si vous souhaitez une colonne de sélection, cochez la case appropriée dans les attributs et donnez-lui un nom. Créez le champ dans le programme ABAP.
Dans le DPB, vous devriez avoir la déclaration
BOUCLE àUTILISATION DU CONTRÔLE .ENDLOOP.
Dans le PAI, vous devriez avoir.
BOUCLE sur.ENDLOOP.
C'est dans les boucles que le transfert de données se produit entre l'écran et la table interne.Lorsque vous remplissez la table interne, utilisez DESCRIBE TABLE
Pour modifier les attributs de cellules individuelles, modifiez temporairement la table SCREEN dans le PBO. Vous pouvez modifier les attributs de la structure créée par l'instruction CONTROLS
-fixed_cols etc sont les attributs du contrôle -cols-index etc sont les attributs des colonnes. -cols-screen-invisible etc sont les attributs d'écran de chaque colonne.