Domina ABAP: Guía Definitiva para Declarar y Gestionar Tablas Internas Paso a Pasopost-template-default single single-post postid-46 single-format-standard et_pb_button_helper_class et_fixed_nav et_show_nav et_secondary_nav_enabled et_primary_nav_dropdown_animation_fade et_secondary_nav_dropdown_animation_fade et_header_style_left et_pb_footer_columns4 et_cover_background et_pb_gutter et_pb_gutters3 et_right_sidebar et_divi_theme et-db
771 715 4434

Las MESA INTERNA (tablas internas) se utilizan para obtener datos de una estructura fija para uso dinámico en ABAP. Cada línea de la tabla interna tiene la misma estructura de campos, y es aquí donde se realizan todos los cambios o cualquiera de las acciones sobre el contenido de la tabla. En algunas ocasiones, es necesario tener una manera de poder agrupar tablas internas relacionadas con el fin de ahorrar recursos y tiempo en la lectura final y obtener de manera directa los valores respectivos. Esto es posible a nivel de ABAP de la misma manera como indica la teoría de «Arreglos» manejada en otros lenguajes de programación.

Creación y declaración de tablas internas

Hay muchas formas de crear una tabla interna. Se crea una tabla interna itab con la estructura de línea, o se puede crear haciendo referencia a una tabla existente, que podría ser un estándar. Además de declarar la estructura de una tabla interna, la cláusula OCCURS también define cuántas entradas de la tabla se mantienen en el almacenamiento principal.

Las áreas de trabajo (work areas) son filas únicas de datos y deberán tener el mismo formato que cualquiera de las tablas internas. Para el llenado de estas estructuras, se pueden utilizar diversos métodos:

  • Líneas iniciales: Agrega una línea inicializada con el valor correcto para su tipo a la tabla.
  • COLLECT: Es otra forma de declaración utilizada para completar las tablas internas. Si existe una entrada con la misma clave, no se agrega una nueva línea, sino que se suman los campos numéricos.
  • INSERT: Esta instrucción agrega una línea o área de trabajo a la tabla interna.
  • APPEND: Permite copiar el contenido de una tabla a otra.

Procesamiento y recorrido de datos

Una vez creadas y llenadas las tablas, el manejo de los datos se realiza principalmente a través de sentencias de bucle:

1. LOOP AT ITABLE: La tabla interna se lee línea por línea. Puede acceder a los valores de las columnas para esa línea durante cualquier parte de la estructura LOOP-ENDLOOP.

Lea también: IVA 21% Excel

2. Lectura por índice: Esta declaración lee la línea actual o la línea especificada por el índice. El valor de SY-TABIX es el índice de la línea leída. Si se encuentra una entrada con el índice especificado, entonces SY-SUBRC se establece en 0.

Tablas de tipo rango (Select Options)

En varios desarrollos ABAP se hace necesario el uso de tablas internas de tipo rango, las cuales suelen ser usadas en estructuras de control o consultas Open SQL. Al declarar un objeto de datos de tipo rango, el sistema crea una tabla interna conformada por cuatro columnas: SIGN, OPTION, LOW y HIGH.

A continuación se detallan los operadores lógicos utilizados en la columna OPTION:

Operador Descripción
EQ Igual.
NE Diferente, no igual.
GE Mayor igual.
GT Mayor que.
LE Menor igual.
LT Menor que.
CP Comprende el patrón.
BT Entre un valor y otro.

El contenido de SIGN determina si el resultado se incluye ("I") o excluye ("E") del conjunto resultante. Por otro lado, LOW y HIGH actúan como los operandos base para la comparación de los datos, dependiendo de si se requiere evaluar un valor puntual o un rango completo.

Lea también: Guía IVA reducido

Lea también: ¿Cómo localizar tus XML del SAT?

tags: #como #declarar #una #tabla #interna #en