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

 X 

✒️ABAP Las tablas internas

ABAP Las tablas internas

ABAP Las tablas internas

TABLAS INTERNAS

Es un objeto de datos que permite guardar en memoria grandes cantidades de registros de datos con la misma estructura. La cantidad máxima está relacionada con los límites especificados en la instalación del sistema. El uso típico que se le da es:

  • Para almacenar temporalmente en la Base de Datos para un uso futuro.
  • Para estructurar y formatear datos que se mostraran como salida del programa.
  • Para formatear los datos para ser utilizados por otros servicios.

Las tablas internas son las creadas como locales en un programa; no pertenecen al Diccionario de Datos. Sólo son visibles localmente en el programa en el que se declaran. La tabla interna y su línea de cabecera está conformada por cuatro columnas: SIGN, OPTION, LOW y HIGH.

  • SIGN: I: Incluir ,E: Excluir
  • OPTION: EQ, NE, GE, GT, LE, LT, CP, NP, BT, NB
  • LOW: Valor del tipo que se definió en el rango.
  • HIGH: Valor del tipo que se definió en el rango.

Existen distintos tipos de tablas internas.

ANY TABLE - Es posible usar ANY TABLE para definir el tipo de un parámetro de tabla genérico. Las operaciones permitidas para tablas de este tipo son todas las operaciones permitidas para STANDARD, SORTED y HASHED TABLES. Hay que tener en cuenta que no es posible usar índices para acceder a las tablas definidas con este tipo.

INDEX TABLE - Los tipos STANDARD Y SORTED pertenecen al tipo de tablas genérico INDEX TABLE. Una tabla indexada es aquella a la que puedes acceder mediante un índice. Es posible usar el tipo INDEX TABLA para especificar el tipo de un parámetro genérico en un FORM o FUCTION. El tipo HASHED no pertenece al tipo global INDEX por lo que no puede ser pasado a un parámetro definido INDEX TABLE.

STANDARD TABLE - El acceso es mediante una búsqueda lineal. Esto significa que el tiempo requerido para la búsqueda esta relacionado linealmente al número de registros de la tabla.

SORTED TABLE - Al definir una tabla como SORTED TABLE esta tabla siempre se guarda con en el orden correcto. El acceso a una SORTED TABLE es mediante una búsqueda binaria. SI la clave no es única, el sistema obtiene la entrada con el índice más bajo. El tiempo requerido para el acceso esta logaritmicamente relacionado al número de de registros de la tabla.

También es posible acceder a SORTED TABLES mediante operaciones de índices. Cuando se inserta un registro usando un índice, el sistema chequea para asegurarse que la secuencia de orden ha sido mantenida correctamente. Por esta razón, es más lenta la inserción de entradas que en una STANDARD TABLE. Como regla, se debería acceder a SORTED TABLES siempre mediante su clave.

HASHED TABLE - Se puede entender una HASHED TABLE como un grupo, a cuyos elementos puedes acceder usando su clave única. A diferencia de las STANDARD y SORTED TABLES, no puedes acceder a estas tablas mediante índices. Todos los registros deben tener una clave única. El tiempo de acceso es constante, sin tener en cuenta el número de registros de la tabla. Solo es posible acceder a las tablas tipo HASHED usando las operaciones genéricas de clave u otras operaciones genéricas (SORT, LOOP). No están permitidas las operaciones de índices (como LOOP….FROM INSERT itab dentro de un LOOP).

Declaración de una tabla interna

DATA: BEGIN OF nombre_tabla OCCURS núm_entradas, ... END OFnombre_tabla.

Se pueden declarar tablas internas con tipos globales o tipos locales.

  • Con OCCURS se especifica el número de líneas, registros o entradas máximo de la tabla. Sin este parámetro se declaran estructuras, que son cabeceras de tablas, es decir, no tienen entradas.
  • Las tablas internas tienen un registro de cabecera, del mismo formato que cada entrada de la tabla, que es como un buffer que sirve para insertar o extraer entradas de ellas.
  • Para insertar datos, se usa un MOVE normal para cada campo, con lo que se rellena la cabecera con los valores adecuados, y luego un APPEND nombretabla. Así se inserta dicha cabecera como una nueva entrada en la tabla). También se puede usar la sentencia COLLECT, que es similar a APPEND, salvo que si se inserta una entrada cuya clave ya existe, en lugar de crear una nueva, se suman los contenidos de los campos numéricos no clave (si no hay, es como APPEND).
  • Para extraer datos, se debe recorrer la tabla (con un bucle LOOP AT nombre_tabla, por ejemplo) hasta llegar a la entrada buscada. Entonces, automáticamente ya se tendrá en el registro cabecera de la tabla dicha entrada, accesible directamente.
  • Con la sentencia CLEAR se limpia o borra el registro de cabecera (pone todos los campos a su valor inicial), pero no borra ninguna entrada de la tabla. En cambio con REFRESH se borran todas las entradas de la tabla, salvo la cabecera. Con FREE se eliminan la tabla y su cabecera.
  • Conviene controlar con un IF o un CHECK si la tabla está vacía o no antes de intentar imprimirla. Se puede usar la sentencia DESCRIBE TABLE tabla LINES nr_líneas, para guardar en la variable nr_líneas el número de líneas de la tabla, y así ver si es cero o no.
  • Para ordenar la tabla, usar la sentencia SORT nombre_tabla BY campo [ opciones].

Es posible definir tablas internas con o sin cabecera. Una tabla interna con cabecera consta de un área de trabajo (cabecera) y el contenido real de la tabla, que son diseccionados con el mismo nombre La manera de interpretar el nombre depende del contexto en el que se usa. Declaramos una tabla interna con cabecera usando WITH HEADER LINE.

Operacioneas con tablas internas

APPEND - Añade el contenido de una estructura (que tiene el mismo tipo que el tipo de línea) al final de una tabla interna.

INSERT - Inserta el contenido de una estructura que tiene el mismo tipo que el tipo de linea en una tabla interna.

READ - Copia el contenido de una línea de la tabla interna en una estructura que tiene el mismo tipo que el tipo de línea. Después de hacer un Read a una tabla interna podemos comprobar si la lectura ha obtenido resultado checkeando el campo SY-SUBRC que en caso positivo tiene el valor 0.

MODIFY - Sobrescribe una línea de la tabla interna con el contenido de una estructura que tiene el mismo tipo que el tipo de línea.

DELETE - Borra una línea de la tabla interna.

SORT - Podemos ordenar tablas en orden creciente o decreciente de cualquier columna.

CLEAR - Vuelve el contenido de la tabla a su valor inicial de acuerdo con el tipo de columna.

REFRESH - Hace lo mismo que CLEAR.

FREE - Borra la tabla interna y libera la memoria.

Para varios registros.

LOOP ... ENDLOOP - El LOOP sitúa las filas de la tabla interna una por una en la estructura especificada en el INTO. La estructura debe tener el mismo tipo que la fila de la tabla interna. Todas las operaciones de registros deben ser ejecutadas dentro del loop.

Es posible ver el contenido de la tabla interna en tiempo de ejecución mediante el debugger. Incluso se pueden añadir, modificar o borrar líneas. También se puede ver cuál es el contenido de la cabecera de la tabla en cada momento.


 

 

 

Agradecimiento:

Ha agradecido este aporte: Francisco Compte Sanchez


Sobre el autor

Publicación académica de Sergio Armando Beltran Castaneda, en su ámbito de estudios para la Carrera Consultor ABAP.

SAP Master

Sergio Armando Beltran Castaneda

Profesión: Ingeniero de Sistemas con Especialización en Gerencia de Proyectos - Colombia - Legajo: WK55K

✒️Autor de: 70 Publicaciones Académicas

🎓Cursando Actualmente: Consultor ABAP Nivel Avanzado

🎓Egresado del módulo:

Disponibilidad Laboral: FullTime

Presentación:

Soy ingeniero de sistemas desde hace mas de 10 años y quiero enfocarme en el mundo sap, iniciando en el lenguaje abap, con miras a ampliar mi conocimiento profesional y laboral.

Certificación Académica de Sergio Beltran

✒️+Comunidad Académica CVOSOFT

Continúe aprendiendo sobre el tema "Las tablas internas" de la mano de nuestros alumnos.

SAP SemiSenior

TABLAS INTERNAS: En ABAP las tablas internas hacen la función de los ARRAYS bidimensionales de otros lenguajes de programación. El uso más frecuente de una tabla interna es almacenar en memoria los datos de una tabla de una base de datos durante la ejecución de un programa ABAP. Por lo tanto, las tablas internas son memoria dinámica, es decir, se crean en tiempo de ejecución del programa en la parte de memoria RAM asignada para este propósito, y desaparecen una vez que se ha ejecutado el bloque o programa para el que se habían creado.

Acceder a esta publicación

Creado y Compartido por: Marvin Ernesto Gómez Ayala

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

SAP Senior

El uso de tablas internas facilita y ayuda a que en sap no se generen tablas Z innecesarias.

Acceder a esta publicación

Creado y Compartido por: Faharid Manjarrez

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

SAP Expert


En ABAP (Advanced Business Application Programming), las tablas internas son estructuras de datos que permiten almacenar conjuntos de información de manera temporal durante la ejecución de un programa. Estas tablas internas son muy útiles para procesar y manipular datos en la memoria del programa, sin necesidad de acceder a la base de datos de manera directa. Las tablas internas son similares a los arrays o listas en otros lenguajes de programación. Permiten almacenar datos de diferentes tipos, como números, caracteres, fechas, entre otros, y pueden contener múltiples filas de datos. A diferencia de las tablas de la base de datos, las tablas internas solo existen en tiempo de ejecución y no se...

Acceder a esta publicación

Creado y Compartido por: Darling Geraldino

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

SAP Master

Tablas internas si queremos guardar datos en la misma estructura de meoria sin necesidad de acceder continuamente a las bases de datos y poder realizar diversas operaciones con este conjunto, entonces se utilizan las tablas internas. uso tipico tablas internas: 1. para almacenar temporalmente los datos de las bases de datos para un procesamiento futuro. 2. para estructurar y formatear datos que se mostraran como salida de programas 3.para formatear datos para ser utilizados por otros servicios. como se crea una tabla interna se crea con la senticia data:begin of (nombre de la tabla) occurs (nunmero de datos a almacenar) (estructura de campos) end of (nombre de la tabla) llenado de una tabla interna: se utiliza al final la senticia append to...

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

Para el manejo de tablas internas, es importante saber cuando deben llevar un area de trabajo de tal forma de agilizar y poder explotar la versatilidad del lenguaje de programacion ABAP, porque permita diferenciar el trabajo simple, del trabajo con tablas del sistema.

Acceder a esta publicación

Creado y Compartido por: Luis Enrique Quintero Florido

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

SAP Senior

LAS TABLA INTERNAS. Si se quiere guardar una colección de registros de datos de la misma estructura en memoria, sin necesidad de acceder continuamente a la tablas bases de datos y poder realizar diversas operaciones con este conjunto de información, entonces utilizaremos tablas internas. Las TABLAS INTERNAS son un objeto de datos que permite guardar en memoria grandes cantidades de registros de datos con la misma estructura. Una tabla interna puede almacenar entre 0 a n registros de datos. Si bien al momento de declarar una tabla interna es posible especificar la cantidad de registros que puede almacenar, la verdad es que la cantidad de registros máxima está íntimamente relacionada con los límites especificados...

Acceder a esta publicación

Creado y Compartido por: Juan Alberto Peñalver Alvarez / Disponibilidad Laboral: FullTime + Carta Presentación

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

SAP Master

Tabla internas alamcenar temporalmente coleccion de daros sin estar que accediendo a la base de datos para ello utilizamos tablas internas uso tipico almacenar temporalmente los datos de las bases de datos para un procesamiento futuro. estructurar y formatear datos que se mostraran como salida del programa formatear datos para ser utilizados por otros servicios como declarar tablas internas DATA: BEGIN OF <TABLA> OCCURS <N> <DEF CAMPO> END OF <TABLA> OCCURS: especifica la cantidad de registros en memoria AREA DE TRABAJO Cabecera de una tabla interna que tiene el contenido de una tabla interna que se esta procesando APPEND TO : se añade un registro a la tabla interna en la ultima posicion con los valores que...

Acceder a esta publicación

Creado y Compartido por: Andres Felipe Escobar Lopez

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

SAP Master

Tablas internas Para acabar (por el momento) tenemos las tablas internas. Sirven básicamente para almacenar la información que extraemos de las tablas de la base de datos. Una tabla interna es también una matriz de datos, pero bidimensional. Al contrario que las estructuras que sólo pueden contener un valor para cada campo, las tablas internas contendrán muchos registros. Cada registro llevará un valor diferente en el mismo campo a la manera que tiene una tabla transparente de diccionario. Podemos declarar tablas internas de diferentes maneras: Ejemplo de declaración de tablas internas: ************************************************************************ *Tablas internas ************************************************************************...

Acceder a esta publicación

Creado y Compartido por: Cesar Ismael Rodriguez Zorrilla

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

SAP Expert


Tablas internas: Es un objeto de datos que permite guardar en memoria grandes cantidades de registros de datos con la misma estructura. Uso de las tablas internas: Para almacenar temporalmente los datos de las BD para procesamiento futuro. Para estructurar y formatear datos que se mostraran como salida del programa. Para formatear datos para ser utilizados por otros servicios. La cantidad de lineas definidas en las tablas internas con la palabra OCCURS no limitan el tamaño de la tabla sino la cantidad de registros que se guardaran en memoria simultaneamente, por lo general se define con 0 para trabajar con tablas con grandes registros. APPEND TO: Añade un registro a la tabla interna en la ultima posición...

Acceder a esta publicación

Creado y Compartido por: Dairy Alejandra Torrenegra Cera

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

SAP Expert


Tablas internas Es un objeto de datos que permite guardar en memoria grandes cantidades de registros de datos con la misma estructura. Usos de la tabla interna Almacenar temporalmente los datos de las bases de datos para un procesamiento futuro. Para estructurar y formatear datos que se mostrarán como salida del programa Para formatear datos para ser utilizados por otros servicios. Declaración de tablas internas: Usando la sintaxis: DATA: BEGIN OF TABLA (Definiendo el tamaño OCCURS)....Campos END OF TABLA Usando la sintaxis: DATA: TABLA TYPE TABLE OF Estructura Usando la sintaxis: DATA: TABLA LIKE STANDARD TABLE OF Estructura WITH HEADER LINE. Operaciones de tablas internas APPEND TO: Añade...

Acceder a esta publicación

Creado y Compartido por: Marvin Raul Lopez Morales / 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!