Précédent   Forum des professionnels en informatique > Logiciels > Solutions d'entreprise > ERP > SAP
SAP Forum d'entraide sur SAP et sur la programmation avec le langage ABAP
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 27/04/2011, 15h43   #1
Candidat au titre de Membre du Club
 
Inscription : décembre 2009
Messages : 47
Détails du profil
Informations forums :
Inscription : décembre 2009
Messages : 47
Points : 11
Points : 11
Par défaut Taille mémoire d'une table interne

Bonjour,

Je travaille sur un programme qui affiche un alv, mais dès qu'il y a un grand nombre de données il dump. Ceci est du au faite que la taille mémoire occupée par la table interne dépasse une certaine limite.
Pour celà j'aimerais bien savoir s'il y a une instruction qui retourne la taille mémoire occupée par la tabe interne afin de conditionner le retour selon le retour.

Merci
donjuan est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 28/04/2011, 10h16   #2
Membre expérimenté
 
Avatar de Celdrøn
 
Homme Celdrøn Valdersen
Consultant SAP
Inscription : juillet 2007
Messages : 438
Détails du profil
Informations personnelles :
Nom : Homme Celdrøn Valdersen
Âge : 26
Localisation : France

Informations professionnelles :
Activité : Consultant SAP

Informations forums :
Inscription : juillet 2007
Messages : 438
Points : 579
Points : 579
Envoyer un message via MSN à Celdrøn
Salut,

Tu peux utiliser l'instruction DESCRIBE TABLE (voir l'aide).

Si elle est bien utilisée, elle alimente les zones système TFILL et TLENG.
Ce que j'entends pas zones système ce sont les champs de la structure SYST qui peuvent être appelés dans ton programme via les structures internes SYST ou SY.

TLENG est la taille d'une ligne en octets, donc tu n'auras qu'à multiplier cette valeur au nombre de lignes TFILL et ça devrait le faire.

Sinon, c'est surprenant que ton programme plante, normalement la taille allouée par utilisateur permet de travailler convenablement.

Regarde dans ton programme si tu n'utilises pas de mémoire abusivement.

Toutes les tables internes globales utilisées ponctuellement (tables de copie temporaire par exemple) peuvent, et même doivent, être déclarées en local, c'est à dire dans la routine de traitement.

Vérifie que tu ne récupères que ce dont tu as besoin, les SELECT * sont souvent cause de surcharge mémorielle, donc à remplacer par des SELECT sur les seuls champs dont on a besoin.
__________________
Boaf...signature <= ça suffira ça ??
Celdrøn est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité Cette discussion est résolue.
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 08h18.


 
 
 
 
Partenaires

Hébergement Web