SAP ABAP - Tables internes

La table interne est en fait une table temporaire, qui contient les enregistrements d'un programme ABAP en cours d'exécution. Une table interne n'existe que pendant l'exécution d'un programme SAP. Ils sont utilisés pour traiter de gros volumes de données en utilisant le langage ABAP. Nous devons déclarer une table interne dans un programme ABAP lorsque vous devez récupérer des données à partir de tables de base de données.

Les données d'une table interne sont stockées dans des lignes et des colonnes. Chaque ligne est appelée unline et chaque colonne est appelée un field. Dans une table interne, tous les enregistrements ont la même structure et la même clé. Les enregistrements individuels d'une table interne sont accessibles avec un index ou une clé. Comme la table interne existe jusqu'à ce que le programme associé soit en cours d'exécution, les enregistrements de la table interne sont supprimés lorsque l'exécution du programme est terminée. Ainsi, les tables internes peuvent être utilisées comme zones de stockage temporaires ou comme tampons temporaires où les données peuvent être modifiées selon les besoins. Ces tables n'occupent de la mémoire qu'au moment de l'exécution et non au moment de leur déclaration.

Les tables internes n'existent que lorsqu'un programme est en cours d'exécution, donc lorsque le code est écrit, la table interne doit être structurée de manière à ce que le programme puisse l'utiliser. Vous constaterez que les tables internes fonctionnent de la même manière que les structures. La principale différence est que les structures n'ont qu'une seule ligne, tandis qu'une table interne peut avoir autant de lignes que nécessaire.

Une table interne peut être constituée d'un certain nombre de champs, correspondant aux colonnes d'une table, tout comme dans le dictionnaire ABAP une table a été créée à l'aide de plusieurs champs. Les champs clés peuvent également être utilisés avec des tables internes et, lors de la création de ces tables internes, ils offrent un peu plus de flexibilité. Avec les tables internes, on peut spécifier une clé non unique, permettant de stocker n'importe quel nombre d'enregistrements non uniques et permettant le stockage d'enregistrements en double si nécessaire.

La taille d'une table interne ou le nombre de lignes qu'elle contient n'est pas fixe. La taille d'une table interne change en fonction de l'exigence du programme associé à la table interne. Mais il est recommandé de garder les tables internes aussi petites que possible. Cela permet d'éviter que le système ne fonctionne lentement car il a du mal à traiter d'énormes quantités de données.

Les tables internes sont utilisées à de nombreuses fins -

  • Ils peuvent être utilisés pour conserver les résultats de calculs qui pourraient être utilisés plus tard dans le programme.

  • Une table interne peut également contenir des enregistrements et des données afin de pouvoir y accéder rapidement plutôt que d'avoir à accéder à ces données à partir des tables de la base de données.

  • Ils sont extrêmement polyvalents. Ils peuvent être définis en utilisant n'importe quel nombre d'autres structures définies.

Exemple

Supposons qu'un utilisateur souhaite créer une liste de numéros de contact de différents clients à partir d'une ou plusieurs grandes tables. L'utilisateur crée d'abord une table interne, sélectionne les données pertinentes dans les tables client, puis place les données dans la table interne. D'autres utilisateurs peuvent accéder et utiliser cette table interne directement pour récupérer les informations souhaitées, au lieu d'écrire des requêtes de base de données pour effectuer chaque opération pendant l'exécution du programme.