|
Publicité ' | |||||||||||||||||||||||
|
|
#1 |
|
Candidat au titre de Membre du Club
![]() Inscription : décembre 2009 Messages : 47 ![]() |
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 |
|
|
00
|
|
|
#2 |
|
Membre expérimenté
![]() |
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 ?? |
|
|
00
|
Copyright © 2000-2012 - www.developpez.com