✒️ABAP / La memoria en SAP y en ABAP Por Gustavo Betancur Guzmán

Selector Alummnos / Empresas

La memoria en SAP y en ABAP

La memoria en SAP y en ABAP

Resumen

Unidad 4 leccion 9

La Memoria en SAP y en ABAP

1- La Memoria.

En ciertas oportunidades podría suceder q mientras ejecutamos un prog u objeto en ABAP, necesitamos de datos q se obtenga en otro prog ABAP q se ejecuto previa/.

Existen varias formas de solucionar esto => pasando parámetro de un prog a otro (si es q ambos objetos son prog.)

=> otra opción es utilizar la memoria xa pasar los datos entre prog.

Debemos hacer una distinción cuando hablamos de memoria

  • La memoria de SAP
  • La memoria de ABAP

La memoria de ABAP es una memoria local y es muy limitada, ya q solo se puede acceder a ella dentro de una sesión interna y los prog q se ejecutan fuera de sesión no pueden leer ni escribir en esta memoria. Cuando hablamos de una sesión interna nos referimos a una sesión interna de usuario de SAP en particular.

En cambio la memoria de SAP es una memoria global y es accesible xa todos los prog. q se ejecutan en esa sesión, así como en las diferentes sesiones ppal/. La memoria de SAP se puede utilizar xa pasar datos de un prog a otro, ya sea dentro de una sesión o en otra sesión.

En términos de uso, el uso ppal de la memoria ABAP es hacer q los datos sean accesibles xa múltiples prog dentro de la misma sesión. Y en lo q respecta a la memoria de SAP también hace q los datos estén disponibles en múltiples sesiones.

Cuando se trata de la memoria SAP utilizaremos sentencias

SET PARAMETER ID y GET PARAMETER ID

xa intercambio de datos

SET xa asignar valor a los ID y GET vamos a recuperar los valores de los ID de parámetros

por otro lado los prog ABAP pueden acceder a la memoria ABAP dentro de la misma sesión interna utilizando las sentencias IMPORT y EXPORT. los datos dentro de esta memoria permanecen intactos durante una secuencia de llamadas a prog.

Diferencias de la memoria SAP vs memoria ABAP

MEMORIA DE

SAP

MEMORIA DE ABAP
- Es una memoria global - Es una memoria local
- Todas las sesiones de SAP GUI de todos los usuarios de SAP tienen acceso a ella - Todos los prog. dentro de una misma sesión tienen acceso a ella
- Hacen q los datos estén disponibles en la sesión ppal - Hace q los datos estén disponibles en múltiples sesiones dentro de la misma sesión
- Los datos se pueden intercambiar utilizando los prog GET / SET - Los datos se pueden intercambiar utilizando las sentencias EXPORT / IMPORT

1-1 La memoria de SAP

La sentencia SET PARAMETER ID se utiliza xa el evento de parámetros en la llamda a una TX

sintaxis

SET PARAMETER ID <pid> FIELD <f>

con estas sentencia escribiremos el contenido del campo f en la memoria global de SAP del susario bajo el ID pid. los ID => pueden tener 20 caracteres.

=> Los valores escritos en la memoria SAP se conservan incluso cuando el usuario sale de prog.

Ej: sobre como se utiliza la sentencia SET PARAMETER ID accedes al prog. TX VA01 => pedidos de clientes

en la TX VA01 => clase de pedido (es obligatorio)

si en la TX VA01 y en el campoclase de pedido y presionamos F1 en este campo y visualizamos la documentacion del campo x pantalla y hacemos clic en el botón información técnica asi:

Aquí encontramos el ID de parámetro xa el campo clase de pedido q es AAT.

Vamos a utilizar el ID parámetro TX VA01 completar la pantalla inicial de la TX y acceder directa/ a la segunda pantalla de la TX. => creamos el programa ztest_set_parameter

REPORT ztest_set_parameter

SET PARAMETER ID 'AAT' FIELD 'CMR'.

CALL TRANSATION 'VA01' AND SKIP FIRST SCREEN.

La sentencia SE PARAMETER ID 'AAT' FIELD 'CMR' asigna la ID de parámetro 'AAT' el valor de 'CMR'

La sentencia CALL TRANSACTION ejecuta la TX VA01 y agregado de la claúsula AND SKIP FIRST SCREEN

evita mostrar la primera pantalla de la TX

si ejecutamos el prog. ztest_set_parameter, efectival/ accede directa/ a la segunda pantalla de la TX VA01

ejecutamos el prog ZTEST_SET_PARAMETER vamos a ver q efectiva/ acceder directa/ a la segunda pantalla VA01 habiendo cargado en la primera pantalla el valor CMR xa el campo clase de pedido.

por otro lado, la sentencia GET PARAMETER ID se utiliza xa transferir el valro almacendado en un ID de parámetro de memoria SAP a un campo o variable.

sintaxis => GET PARAMETER ID < pid > FIELD < f >

ej: GET PARAMETER ID

creamos el prog. ztest_get_parameter y lo q hacemos es pasar el valor CMR al ID de parámetro AAT mediante la sentencia SET PARAMETER ID y luego recuperamos el valor q acabamos de pasar mediante la ejecución de la sentencia GET PARAMETER IF así:

REPORT ztest_get_parameter.

DATA: v_valor(3) TYPE c.

CLEAR v_valor.

SET PARAMETER ID 'AAT' FIELD 'CMR'.

IF sy-subrc NE 0. " siempre evalua la sentencia

write:/ 'el parametro es erroneo', v_valor.

ENDIF.

GET PARAMETER ID 'AAT' FIELD v_valor.

if sy-subrc EQ 0.
Write:/'el valor triaido ', v_valor.
else.
Write:/'el valor es errad', v_valor.
endif.

1-2 La memoria de ABAP

tal como mencionamos anterior/ en ABAP existen sentencias q nos permiten manipular los datos q subimos y bajamos de la memoria

xa subir y exportar datos a la memoria ABAP vamos a utilizar la sentencia EXPORT

EXPORT <campo > TO MEMORY ID <id_unico>

el ID q se utiliza debe ser unico ya q identifica a ese dato dentro de la memoria ABAP.

CLEAR v_estado_usu.

v_estado_usu = 'ACTIVO'.

" exportamos a memoria el estado del usuario

EXPORT v_estado_usu TO MEMORY ID 'z_estado'.

IF sy-subrc NE 0.

MESSAGE e000(z1) WITH 'Error al exportar'

ENDIF.

xa bajar o importar los datos de la memoria ABAP, la sentencia IMPORT tal como los vemos así:

IMPORT <campo > FROM MEMORY ID <id_unico >

Ej: " importo de memoria el estado del usuario.

IMPORT v_estado_usu FROM MEMORY ID 'z_estado'.

IF sy-subrc NE 0.

MESSAGE e000(z1) WITH 'Error al importar'.

ENDIF.

=> se pueden importa o exporta tanto variables, como estructuras o tablas internas a la memoria ABAP.

luego de bajar datos de la memoria es conveniente liberar el área de memoria utilizada => sentencia FREE MEMORY

" liberamoa la memria ABAP.

FREE MEMORY ID 'z_estado'.

=> Xa q la importación y exportación de datos funcione correctal/ se debe utilizar la misma sesión de memoria o ejecución.

Ahora bien, si deseamos pasar datos entre prog podemos utilzar la sentencia SUBMIT, xa poder llamar a un prog dentro de la ejecución de otro prog.

Ej: prog q exporta datos y realiza un SUBMIT a otro prog q importa esos datos.

prog ztest_export_submit.

REPORT ztest_export_submit.

DATA: v_estado_usu TYPE char10.

START-OF-SELECTION.

" exportamos a memoria el estado del usuario

EXPORT v_estado_usu TO MEMORY ID 'Z_ESTADO'

IF sy-subrc NE 0.

MESSAGE e000(z1) WITH 'Error al exportar'

ENDIF.

" se va a pasar el control a otro prog

" llamamos al otro prog con la instruccion SUBMIT

SUBMIT ztest_import_submit AND RETURN.

==> AND RETURN => esta sentencia es: CUANDO finaliza el prog. el cual se le paso el control, devuelve el control a este prog donde estamos actual/.

prog. => ztest_export_submit => pasa el control a

ztest_import_submit y luego regresa el control

a ztest_export_submit

se crea el prog import

REPORT ztest_import_submit.

DATA: v_estado_usu TYPE char10.

START-OF-SELECTION.

" importamos de memoria el estado del usuario

IMPORT v_estado_usu FROM MEMORY ID 'Z_ESTADO' " id de memoria

IF sy-subrc NE 0.

MESSAGE e000(z1) WITH 'Error al importar'.

ELSE.

WRITE:/ v_estado_usu.

ENDIF.

"liberamos la memoria en ABAP.

FREE MEMORY ID 'Z_ESTADO'.


 

Escanear / Compartir

 

 


Sobre el autor

Publicación académica de Gustavo Betancur Guzmán, en su ámbito de estudios para el Curso SAP ABAP.

SAP Expert

Gustavo Betancur Guzmán

Profesión: Ingeniero de Sistemas - Colombia - Legajo: WS86O

✒️Autor de: 164 Publicaciones Académicas

🎓Egresado de los módulos:

Certificación Académica de Gustavo Betancur

✒️+Comunidad Académica CVOSOFT

Continúe aprendiendo sobre el tema "La memoria en SAP y en ABAP" de la mano de nuestros alumnos.

SAP Expert


¿Por qué usar la memoria? En ocasiones, durante la ejecución de un programa u objeto ABAP, necesitamos acceder a datos que fueron obtenidos o procesados en otro programa ejecutado previamente. Para solucionar esto sin usar parámetros directos, utilizamos la memoria para intercambiar datos. Es fundamental distinguir entre dos tipos de memoria con alcances diferentes: La memoria de SAP (Global). La memoria de ABAP (Local). 1. Memoria de SAP (Global) Es una memoria global accesible para todas las sesiones principales de un usuario. Los datos almacenados aquí permanecen disponibles incluso si el usuario sale del programa, permitiendo pasar datos de un programa a otro ya sea dentro de una sesión...

Acceder a esta publicación

Creado y Compartido por: Gabriel José Luces González

*** CVOSOFT - Nuestros Alumnos - Nuestro Mayor Orgullo como Academia ***

SAP Master


la memoria en SAP y ABAP En ABAP, a veces se necesita acceder a datos generados por un programa previo durante la ejecución de otro programa ABAP. Existen varias formas de transferir datos entre programas, como utilizar parámetros o aprovechar la memoria del sistema. Se distingue entre memoria de SAP (global) y memoria de ABAP (local), cada una con sus propias características y capacidades. La memoria de ABAP solo es accesible en la misma sesión interna de usuario y es limitada a esa sesión. La memoria de SAP es global dentro del entorno del usuario y puede utilizarse para transferir datos incluso entre diferentes sesiones principales. Manejo de parámetros con memoria SAP Para...

Acceder a esta publicación

Creado y Compartido por: Juan Ignacio Romero

*** CVOSOFT - Nuestros Alumnos - Nuestro Mayor Orgullo como Academia ***

SAP Senior

1. La Memoria La memoria en sistemas SAP es un recurso esencial para el procesamiento eficiente de datos y ejecución de programas. El manejo adecuado de la memoria permite optimizar el rendimiento del sistema y evitar errores como desbordamientos o lentitud. ⸻ 1.1 La Memoria de SAP • SAP utiliza diferentes áreas de memoria para almacenar datos temporales durante la ejecución de procesos. • La memoria en SAP se puede clasificar en: • Memoria del usuario: Almacena datos específicos para cada usuario durante su sesión activa. Estos datos permanecen disponibles mientras dura la sesión. • Memoria de programa: Donde se cargan los programas y sus datos temporales durante la ejecución....

Acceder a esta publicación

Creado y Compartido por: Mara Fadua Romero Hernandez

*** CVOSOFT - Nuestros Alumnos - Nuestro Mayor Orgullo como Academia ***

SAP Master

Introducción: La memoria en SAP ABAP permite intercambiar datos entre programas y sesiones. ¡Domina las técnicas de memoria SAP (global) y memoria ABAP (local) para optimizar flujos de trabajo y compartir información eficientemente! Memoria SAP (Global) Conceptos clave: Alcance: Accesible en todas las sesiones del usuario. Persistencia: Los datos se mantienen incluso después de cerrar programas. Usos típicos: Prellenar campos en transacciones, compartir valores entre reportes. Sentencias críticas: ID: Identificador único de 3-20 caracteres (consultar en F1 → Información técnica). Ejemplo práctico:...

Acceder a esta publicación

Creado y Compartido por: Oscar Aravena Muller / Disponibilidad Laboral: FullTime

*** CVOSOFT - Nuestros Alumnos - Nuestro Mayor Orgullo como Academia ***

SAP Expert


La memoria en SAP y en ABAP 1 La memoria En el entorno SAP, existen dos tipos principales de memoria que permiten compartir datos entre programas: Es local y accesible solo dentro de la misma sesión interna de un usuario. Se utiliza cuando varios programas se ejecutan en la misma sesión. La transferencia de datos se hace mediante las sentencias: EXPORT (para guardar datos en memoria) IMPORT (para recuperar datos) FREE MEMORY (para liberar el área ocupada una vez utilizada) Es limitada, ya que programas externos a la sesión no pueden acceder a ella. 1.1 Memoria SAP Es...

Acceder a esta publicación

Creado y Compartido por: Geovanny Martínez Campoverde

*** CVOSOFT - Nuestros Alumnos - Nuestro Mayor Orgullo como Academia ***

SAP Expert



La memoria en SAP y ABAP: conceptos fundamentales En el entorno SAP, la gestión de memoria es crítica para el rendimiento de las aplicaciones. SAP utiliza una arquitectura compleja donde los recursos del sistema, como CPU y memoria, deben usarse de manera eficiente. El lenguaje de programación ABAP, propio del sistema SAP, tiene mecanismos específicos para interactuar con la memoria. ¿Qué es la memoria en SAP? En SAP, la memoria se refiere al almacenamiento temporal de datos que pueden ser usados durante la ejecución de procesos, transacciones o programas. La memoria ayuda a compartir información entre distintos programas ABAP, sesiones de usuario o incluso procesos en segundo plano. SAP...

Acceder a esta publicación

Creado y Compartido por: David Ibarra / Disponibilidad Laboral: FullTime + Carta Presentación

*** CVOSOFT - Nuestros Alumnos - Nuestro Mayor Orgullo como Academia ***

SAP SemiSenior

La Memoria en SAP y en ABAP En ciertas oportunidades podría suceder que mientras ejecutamos un programa u objeto ABAP, necesitemos de datos que se obtengan en otro programa ABAP que se ejecutó previamente. Existen varias formas de solucionar esto, una de ellas es pasando parámetros de un programa a otro, si es que ambos objetos son programas y otra opción es utilizar la memoria para pasar los datos entre programas. • La memoria de ABAP es una memoria local y es muy limitada, ya que no solo se puede acceder a ella dentro de una sesión interna y los programas que se ejecutan fuera de la sesión no pueden leer ni escribir en esta memoria. Una sesión interna es la sesión de un usuario de...

Acceder a esta publicación

Creado y Compartido por: Mauricio Ezequiel Yedro

*** CVOSOFT - Nuestros Alumnos - Nuestro Mayor Orgullo como Academia ***

SAP Junior

LA MEMORIA EN SAP Y EN ABAP En ciertas oportunidades podría suceder que mientras ejecutamos un programa u objeto ABAP, necesitamos de datos que se obtengan en otro programa ABAP que se ejecutó previamente, para esto vamos a utilizar la memoria para pasar los datos entre programas. Cuando hablamos de memoria existen debemos hacer una distinción entre: La Memoria SAP: es una memoria global y es accesible para todos los programas que se ejecutan en esa sesión, así como en las diferentes sesiones principales. La memoria de SAP se puede utilizar para pasar datos de un programa a otro ya sea dentro de una sesión o en otra. Utilizaremos las sentencias SET PARAMETER ID y GET PARAMETER ID para intercambiar datos,...

Acceder a esta publicación

Creado y Compartido por: Carvajal Encina Franco Erasmo / Disponibilidad Laboral: FullTime

*** CVOSOFT - Nuestros Alumnos - Nuestro Mayor Orgullo como Academia ***

SAP Senior

Memoria Para ejecutar un programa que necesita datos de un programa que se ejecuto previamente, se le pasan los datos por memoria. Memoria SAP Y la memoria SAP es global y accesible para todos los programas que esten en una sesion, asi como en diferentes sesiones principales, en esta memoria se pueden pasar datos entre programas en una sesion o otra. El principal uso es hacer que los datos esten disponibles en multiples sesiones. Para pasar datos en la memoria SAP se utilizan las sentencias SET PARAMETER ID que asignara valores a los ID de parametros de los campos y GET PARAMETER ID que recuperara los valores de ID de parametros de los campos de las pantallas de SAP. La sintaxis de SET es: SET PARAMETER ID <pid> FIELD <f>....

Acceder a esta publicación

Creado y Compartido por: Luciano Martinez / Disponibilidad Laboral: FullTime + Carta Presentación

*** CVOSOFT - Nuestros Alumnos - Nuestro Mayor Orgullo como Academia ***

SAP Expert


La Memoria. En ciertas oportunidades, podría pasar que mientras ejecutamos un programa o objeto ABAP, necesitemos de datos que se obtengan en otro programa ABAP que se ejecuto previamente. Existen varias formas de solucionar esto, una de ellas es pasando parámetros de un programa a otro, si es que ambos objetos son programas. Otra opción es utilizar la memoria para pasar los datos. En ABAP existen sentencias que nos permiten manipular fácilmente los datos que subimos y bajamos de memoria. Para subir datos a memoria vamos a utilizar la sentencia EXPORT tal como mostramos a continuación. EXPORT <valor> TO MEMORY ID <id_unico>. Para bajar o descargar los datos de memoria utilizamos la sentencia IMPORT...

Acceder a esta publicación

Creado y Compartido por: Jose Medina / Disponibilidad Laboral: FullTime + Carta Presentación

 


 

👌Genial!, estos fueron los últimos artículos sobre más de 99.000 publicaciones académicas abiertas, libres y gratuitas compartidas con la comunidad, para acceder a ellas le dejamos el enlace a CVOPEN ACADEMY.

🔎Buscador de Publicaciones:

 


 

No sea Juan... Solo podrá llegar alto si realiza su formación con los mejores!