Que son tablas internas, son un objeto de datos que permiten guardar en memoria los datos de una tabla, para no buscar en la base de datos constantemente.
DATA; BEGIN OF wa_estrucutura,
campos,
END OF wa_estructura.
DATA: tabla LIKE STANDARD TABLE OF wa_estructura.
Tercera Forma:
DATA: <tabla> LIKE STANDARD TABLE OF <tablaBD> WITH HEADER LINE.
Llenar una tabla interna, para ello usamos los siguientes datos:
APPEND TO: Añade registros en la tabla en la ultima posición,
Sintaxis.
wa_tabla-campo = 'valor',
wa_tabla-campo = 'valor',
APPEND wa_tabla TO <tabla>.
Ordenamiento de una tabla interna, usamos la sentencia SORT
Sintaxis
SORT <tabla> BY campo DESCENDING (descendiente) // ASCENDING
Procesamiento de una tabla usamos la sentencia LOOP-ENDLOOP
Sintaxis
LOOP AT <tabla> INTO wa_estructura,
WRITE: wa-estructura-campos,
ENDLOOP.
Lectura de una tabla, READ TABLE
READ TABLE <tabla> INTO wa_estructura
WITH KEY campos = 'valor'.
Para leer en una posición especifica usamos INDEX
READ TABLE <tabla> INTO wa_estructura
INDEX 1.
Podemos usar la sentencia BINARY SEARCH para hacer la búsqueda mas eficiente.
Modificando una tabla Interna, usamos MODIFY
wa:estructura-campo = 'valor',
MODIFY <tabla> FROM wa_estructura INDEX 1.
Insertar en una tabla, usamos INSERT
wa:estructura-campo = 'valor',
INSERT <tabla> INtO wa_estructura INDEX 1.
Borrar en una tabla, usamos DELETE
wa:estructura-campo = 'valor',
DELETE <tabla> WHERE campo = 'valor'.
Para borrar todo el contenido en una tabla interna usamos REFRESH
REFRESH <tabla>.
Para saber cuantos registros tiene una tabla, usamos DESCRIBE TABLE.
DATA: campos TYPE i.
DESCRIBE TABLE <tabla> LINES campos.
AUDIO 3: Para inicializar la tabla interna usamos CLEAR , luego para liberar el espacio usamos la sentencia FREE, y finalmente REFRESH para borrar el contenido pero no la tabla.