![](/cvo_files/imgs_sap_abap/logos/logo_cvo_academy_it.png)
✒️ABAP Las tablas internas
ABAP Las tablas internas
![ABAP Las tablas internas ABAP Las tablas internas](https://www.cvosoft.com/cvo_files/imgs_sap_abap/og-images/335.jpg)
En otros lenguajes de programación es array/vector/lista/coleccion. Funciona solo cuando el programa se ejecuta.
Guarda de 0 a n registros
Para crear una tabla, esta necesita una estructura, área de trabajo o cabecera, solo se puede almacenar 1 registro de datos
FORMAS PARA DECLARAR TABLAS INTERNAS
1. Sentencia:
TYPES (se declara un tipo de datos, con el contenido de sus columnas)
DATA:
TYPES STANDARD TABLE OF (se declara la tabla interna) <TI_nombretablainterna>
LIKE LINE OF (se declara la estructura o área de trabajo) <WA_nombreestructura>
Ejemplo:
TYPES: BEGIN OF ty_proveedores,
dni(8) TYPE c,
nombre(30) TYPE c,
apellido(30) TYPE c,
END OF ty_proveedores.
DATA: ti_proveedores TYPE STANDARD TABLE OF ty_proveedores,
wa_proveedores LIKE LINE OF ti_proveedores.
2. Sentencia:
OCCURS 0 (se coloca 0 para trabajar con tablas de gran cantidad de registros,que se guardaran en memoria simultaneamente)
3. Primero declarar la estructura WA y luego la tabla interna o sino declarar la tabla interna con la tabla base de datos existentes del diccionario de datos ABAP
<Tabla base de datos estandar (TBDS) LFA1 es maestro de proveedres hay q revisar si al TBDS tiene los datos que necesitamos para nuestro programa, si no es así, no funcionaria bien>
4. Declarar WA usando la TI como cabecera
Sentencia:
WITH HEADER LINE
Ejemplo
DATA: ti_proveedores LIKE TABLE OF lfal WITH HEADER LINE.
(No se aconseja su uso de este Último)
*COMO LLENAR UNA TABLA INTERNA*
Sentencias:
SELECT
INSERT
APPEND TO
en APPEND TO se llenan para abajo y en el debugg viendo la variable con /h se visualiza 2x3=68 que significa q hay 2 registros con 3 datos y en total hay 68 caracteres
si se hace doble click se puede ver en la pestaña TABLAS del debugg
existen 5 tipos de tablas en ABAP
INDEX / ANY / STANDARD / SORTED / HASHED
Siempre usamos las STANDARD
*ORDENAR TABLA INTERNA*
Sentencia SORT
De forma ASCENDING o DESCENDING
Ejemplo
SORT ti_proveedores BY dni ASCENDING.
Si no se pone nada por default ordena ascendente
*RECORRER TABLA INTERNA*
Sentencia LOOP-ENDLOOP
 
 
 
Agradecimiento:
Ha agradecido este aporte: Alvaro Ardila Sandoval
Sobre el autor
Publicación académica de Diana Margarita Man Ip, en su ámbito de estudios para la Carrera Consultor ABAP.
Diana Margarita Man Ip
Profesión: Ingeniera Industrial - Peru - Legajo: DL97G
✒️Autor de: 41 Publicaciones Académicas
🎓Egresado de los módulos:
Certificación Académica de Diana Man