🚀PROMO #PLANCARRERA2024 - 🔥Bonificaciones, Precios Congelados y Cuotas

 X 

✒️La memoria en SAP y en ABAP

La memoria en SAP y en ABAP

La memoria en SAP y en ABAP1 | La Memoria

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.

Cuando hablamos de memoria debemos hacer una distinción entre:

  • La memoria de SAP.
  • La memoria de ABAP.

La memoria de ABAP es una memoria local y es muy limitada, ya que 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. Cuando hablamos de una sesión interna nos referimos a la sesión de un usuario de SAP en particular en el sistema.

En cambio la memoria de 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 sesión.

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

Cuando se trata de la memoria de SAP utilizaremos las sentencias SET PARAMETER ID y GET PARAMETER ID para intercambiar datos, de modo que con la sentencia SET vamos a asignar valores a los ID de parámetros de los campos de las pantallas de SAP y con la sentencia GET vamos recuperar los valores de los ID de parámetros de los campos de las pantallas de SAP.

Por otro lado, los programas 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 programas.

Veamos a continuación las principales diferencias que existen entre las memoria de SAP y la memoria de 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 programas dentro de una misma sesión tienen acceso a ella
Hace que los datos estén disponibles en la sesión principal Hace que los datos estén disponibles en múltiples sesiones dentro de la misma sesión
Los datos se pueden intercambiar utilizando los parámetros 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 para el envío de parámetros en la llamada a la transacción.

La sintaxis de la sentencia SET PARAMETER ID es la siguiente: SET PARAMETER ID <pid> FIELD <f>.

Con la ejecución de la sentencia anterior escribimos el contenido del campo f en la memoria global de SAP del usuario bajo el ID pid. Los ID de parámetro pueden tener hasta 20 caracteres.

Los valores escritos en la memoria SAP se conservan incluso cuando el usuario sale del programa.

Veamos un ejemplo sobre cómo se utiliza la sentencia SET PARAMETER ID, para ello supongamos que deseamos acceder desde un programa a la transacción estándar VA01 a través de la cual se crean en el sistema SAP los pedidos de los clientes.

Tal como vemos en la imagen anterior, en la pantalla inicial de la transacción VA01 es obligatorio el ingreso del campo Clase de pedido. Si seleccionamos el campo Clase de pedido y presionamos la tecla F1 vamos a visualizar la documentación del campo de la pantalla. Si ahora hacemos clic en el botón de información técnica.

Entonces vamos a visualizar los datos técnicos y entre ellos encontramos que el ID de parámetro para el campo Clase de pedido que es AAT..

Vamos a utilizar el ID de parámetro que acabamos de visualizar para ejecutar la transacción VA01, completar la pantalla inicial de la transacción y acceder directamente a la segunda pantalla de la transacción. Para cumplir con este objetivo creamos el programa ABAP ZTEST_SET_PARAMETER.

La sentencia SET PARAMETER ID 'AAT' FIELD 'CMR' asigna al ID de parámetro 'AAT' el valor 'CMR'.

La sentencia CALL TRANSACTION ejecuta la transacción VA01 y el agregado de la cláusula AND SKIP FIRST SCREEN evita mostrar la primera pantalla de la transacción.

Si ejecutamos el programa ZTEST_SET_PARAMETER vamos a ver que efectivamente accedimos directamente a la segunda pantalla de la transacción VA01, habiendo cargado en la primera pantalla el valor CMR para el campo Clase de pedido.

Por otro lado, la sentencia GET PARAMETER ID se utiliza para transferir el valor almacenado en un ID de parámetro de la memoria SAP a un campo o variable.

La sintaxis de la sentencia GET PARAMETER ID es la siguiente: GET PARAMETER ID <pid< FIELD <f>

Veamos un ejemplo sobre como se utiliza la sentencia GET PARAMETER ID.

Para ello creamos el programa ZTEST_GET_PARAMETER y lo que hacemos es pasar el valor CMR al ID de parámetro AAT mediante la sentencia SET PARAMETER ID y luego recuperamos el valor que acabamos de pasar mediante la ejecución de la sentencia GET PARAMETER ID.

Si ejecutamos el programa ZTEST_GET_PARAMETER vamos a ver impreso en la pantalla el contenido de la variable V_VALOR.

AUDIO ACLARATIVO: Luego de la ejecución de la sentencia SET PARAMETER ID y GET PARAMETER ID debemos evaluar el contenido de la variable de sistema SY-SUBRC. Para ambas sentencias, si el sistema no encuentra un ID de parámetro que coincida con el que especificamos entonces el SY-SUBRC será distinto de cero y caso contrario será cero.

1.2 | La Memoria de ABAP

Tal como mencionamos anteriormente en ABAP existen sentencias que nos permiten manipular fácilmente los datos que subimos y bajamos de la memoria.

Para subir o exportar datos a la memoria ABAP vamos a utilizar la sentencia EXPORT.

El ID que se utiliza debe ser único ya que identifica a ese dato dentro de la memoria ABAP.

AUDIO ACLARATIVO: El ID de memoria que se utiliza tanto para la sentencia IMPORT como para la sentencia EXPORT debe ser único y representa una ubicación escrita en la memoria ABAP, en este caso, en el que vemos en el ejemplo utilizamos el texto Z_ESTADO pero prodriamos haber utilizado cualquier otro literal que represente de algún modo el valor exportado o importado de la memoria.

Para bajar o importar los datos de la memoria ABAP utilizamos la sentencia IMPORT tal como mostramos a continuación: IMPORT <campo> FROM MEMORY <id_unico>.

Para que la exportación e importación de datos funcione correctamente se debe utilizar la misma sesión de memoria o ejecución.

Ahora bien si deseamos pasar datos entre programas entonces podemos utilizar la sentencia SUBMIT para poder llamar a un programa dentro de la ejecución de otro programa.


 

 

 


Sobre el autor

Publicación académica de Pedro Antonio Duarte, en su ámbito de estudios para la Carrera Consultor ABAP.

SAP Master


Pedro Antonio Duarte

Profesión: Consultor de Sap Abap - Argentina - Legajo: JP24O

✒️Autor de: 128 Publicaciones Académicas

🎓Egresado de los módulos:

Disponibilidad Laboral: FullTime

Certificación Académica de Pedro Duarte

✒️+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


USO DE MEMORIA EN ABAP - LECCION 4-9 EXPORT, la sentencia se utiliza para exportar a memoria ABAP datos, el uso de la memoria es sumamente util cuando se trabaja con distintos programas que estan relacionados. IMPORT, se utiliza para importar a memoria ABAP datos que previamente fueron subidos a memoria mediante la sentencia EXPORT NOTA, se pueden exportar e importar tanto variables, como estucturas o tablas internas a memoria FREE MEMORY, se utiliza para liberar la memoria ABAP NOTA, para que la expotacion o importancion de datos funcione correctamente se debe utilizar la misma sesion de memoria o ejecucion

Acceder a esta publicación

Creado y Compartido por: Cristian Darwin Arteaga Diaz / Disponibilidad Laboral: FullTime + Carta Presentación

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

SAP Senior

1| LA MEMORIA EN ABAP SE PUEDEN EXPORTAR E IMPORTAR TANTOS VARIABLES COMO ESTRUCTURAS O TABLAS INTERNAS A MEMORIA. LUEGO DE BAJAR LOS DATOS DE MEMORIA, ES CONVENIENTE LIBERAR EL AREA DE MEMORIA UTILIZADA. ESTO ES LO QUE HACEMOS CON LA SENTENCIA FREE MEMORY

Acceder a esta publicación

Creado y Compartido por: Luis Eugenio Leyva Orozco

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

SAP Senior

la memoria ABAP es una memoria local y es muy limitada. la memoria de SAP es una memoria global y es accesible por todos los progamas que se ejecutan. para la memoria SAP utilizaremos mucho las sentencias SET PARAMETER ID Y GET PARAMETER ID y los programas ABAP pueden acceder a la memoria ABAP utilizando IMPOR y EXPORT . la sentencia SET PARAMETER ID se utiliza para el envio de parametros. la sentencia GET PARAMETER ID se utiliza para obtener la informacion conociendo el ID En la memoria ABAPA el EXPORT lo utilizamos para exportar los datos para importar los datos de la memoria utilizamos IMPORT Y cuando ya no necesitemos mas en memoria esta informacion es conveniente liberar el espacoi con FREE MEMORY ID ahora si queremos pasar datos entre...

Acceder a esta publicación

Creado y Compartido por: Jose Sebastian Salamanca Garcia

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

SAP Master

Memoria en ABAP: En algunas oportunidades es necesario durante la ejecución de un programa ABAP, necesitemos datos que se obtengan de otro programa ABAP. Existen varias formas de solucionar esto, pasando parámetros de un programa a otro, o utilizar la memoria para pasar los datos. Las sentencias que permiten en ABAP manipular los datos que subimos y bajamos de memoria EXPORT IMPORT: El id que se utiliza debe ser único y representa una ubicación escrita en la memoria ABAP. Se pueden exportar a memoria variables, estructuras o tablas internas. Luego de hacer uso de la memoria es conveniente liberarla con la sentencia FREE MEMORY. Para Ejecutar un programa dentro de otro utilizamos la sentencia SUBMIT.

Acceder a esta publicación

Creado y Compartido por: Jorge Luis Leal Marquez / Disponibilidad Laboral: PartTime + Carta Presentación

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

SAP Master


MEMORIA EN ABAP Cuando al ejecutar un programa u objeto ABAP necesitamos de datos que se obtienen en otro programa ABAP que se ejecuta previamente, formas de solucionarlo: Mediante parámetros de un programa a otro. Usar la memoria para pasar los datos. Sentencias para manipular los datos que subimos y bajamos de memoria: (Podemos subir a memoria tanto variables, como estructuras o tablas internas) Subir datos a memoria: EXPORT <valor> TO MEMORY ID <id_unico>. Descargar datos de la memoria: IMPORT <valor> FROM MEMORY ID <id_unico>. Liberar el área de memoria: FREE MEMORY ID <id_unico>. Llamar un programa desde otro programa: SUBMIT

Acceder a esta publicación

Creado y Compartido por: Ignacio Martín Bolumar

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

SAP Master

La memoria Podemos usar la memoria para pasar unos datos de un programa a otro La memoria de SAP. Es algo global, para sesión de un usuario o de otro. Se conservan incluso cuando el usuario sale del programa. Debemos evaluar la variable del sistema SY-SUBRC. Lo de siempre. Será cero si éxito, distinto de cero fracaso. SET PARAMETER ID .. FIELD GET PARAMETER ID .. FIELD La memoria de ABAP. Memoria local, muy limitada. Sesión de un usuario particular IMPORT .. FROM MEMORY ID <id_unico> para bajar los datos de la memoria ABAP EXPORT .. TO MEMORY ID <id_unico> para subir datos a la memoria ABAP FREE MEMORY para liberar la memoria Sentencia SUBMIT

Acceder a esta publicación

Creado y Compartido por: David Brito Melado

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

SAP Master


LECCION 9. UNIDAD 4. USO DE LA MEMORIA EN ABAP. 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. 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. Para bajar o descargar los datos de memoria utilizamos la sentencia IMPORT. Se pueden exportar e importar tanto variables, como estructuras o tablas internas a memoria. Luego de bajar los datos de memoria, es conveniente liberar el área de memoria utilizada. Esto lo hacemos con la sentencia FREE MEMORY. Utilizaremos la sentencia...

Acceder a esta publicación

Creado y Compartido por: Jose Dario Angel Vanegas

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

SAP Master

La memoria en ABAP en ciertas oportunidades, podria pasar que mientras ejecutamos un programa o objeto ABAP, necesitamos de datos que se obtengan en otro programa ABAP que se ejecuto previamente, existen varias formas de solucionar esto, unoa de ellas es pasando parametros de un programa a otro, si es que ambos objetos son programas, otra opcion es utilizar la memoria para pasar los datos. en abap existen sentencias que nos permiten manipular facilmente los datos que subimos y bajamos de memoria, para subir datos a memoria vamos a utilizar la sentencia EXPORT. para bajar o descagar los datos de memoria utilizamos la sentencia import

Acceder a esta publicación

Creado y Compartido por: Oscar Sebastian Caicedo Carlier / Disponibilidad Laboral: PartTime + Carta Presentación

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

SAP Master

La memoria ABAP: Necesitamos de datos que se obtengan en otro programa ABAP. Existen varias formas de solucionar esto, una de ellas es pasando parametros de un programa a otro, si es que ambos objetos son programas. Otra opcion es utilizar la memoria para pasar los datos. En ABAp existen sentencias que permiten manipular facilmente los datos que subimos y bajamos de memoria. Para subir datos a memoria vamos a utilizar la sentencia EXPORT. Se pueden exportar e importar tanto variables, como estructuras o tablas internas a memoria. Se utiliza FREE MEMORY para liberar el area de memoria utilizada. Para que la exportacion-importacion de datos funcione correctamente se debe utilizar la misma sesion de memoria o ejecucion. Se utiliza SUBMIT para llamar...

Acceder a esta publicación

Creado y Compartido por: Roberto Serrano

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

SAP Senior

MEMORIA ABAP Mientras usamos un programa ABAP necesitamos de datos que se obtengan en otro programa ABAP que se ejecuto previamente. Hay varias formas de darle solucion, una es pasando parametros de un programa a otro, si son programas ambos. Otra opcion es utilizar la memoria para pasar los datos. Tenemos sentencias que nos permiten manipular los datos que subimos y bajamos de memoria. Para subir datos usaremos la sentencia EXPORT. Para bajar o descargar datos de la memoria usaremos la sentencia IMPORT. Luego de bajar los datos de memoria es conveniente liberar el area de memoria usada. Para esto utilisaremos la sentencia FREE MEMORY. Usaremos la sentencia SUBMIT para poder llama a un programa dentro de la ejecucion.

Acceder a esta publicación

Creado y Compartido por: Bruno Edgardo Gallinoto / Disponibilidad Laboral: FullTime + Carta Presentación

 


 

👌Genial!, estos fueron los últimos artículos sobre más de 79.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!