abap:memory
Table of Contents
Zone mémoire
SAP possède plusieurs niveaux de zones mémoire qui définissent l'accès et la vie des données.
DB
La base de données est a priori accèssible de partout, sans limite de durée. Pour stocker des données on passera par :
- Tables standard
- Tables spécifiques
- TVARVC
- Variables utilisateur
Mémoire vive
Il existe plusieurs zones en mémoire vive ou scopes, dans l'ordre du plus global vers le plus particulier (Sauce):
- la SAP memory, liée à une “session” de SAPLogon (donc partagée par tous les modes de la session)
- l'ABAP memory, liée à un mode de SAPLogon (donc partagée par toutes les internal sessions du mode)
- l'internal session, liée à un run de programme en particulier (les internal session sont stackées dans le mode)
- les FORM, MODULE, SCREEN, FUNCTION, METHOD, etc
Commandes ABAP
Les commandes ABAP correspondant à chaque niveau sont :
- les SPA/GTA pour la SAP memory
SET PARAMETER ID <pid> FIELD <f>. GET PARAMETER ID <pid> FIELD <f>.
- les définitions dans le programme principal (le
FUNCTION-POOL
pour les FM, les attributs de classe, etc) pour l'internal session (DATA
ouFIELD-SYMBOLS
) - les définitions dans le bloc particulier (
DATA
ouFIELD-SYMBOLS
)
Durée de vie
- Les export dans l'ABAP memory semblent y vivre tant que l'internal session d'origine est dans la stack (ou qu'un
FREE MEMORY
est éxecuté) - Les variables globales vivent tant que le programme principal est en cours d'éxecution (trivial ! sauf dans les cas des FM ! : l'internal session du FUNCTION-POOL reste dans la stack du mode)
abap/memory.txt · Last modified: 2015/10/02 14:45 by ginko