TSAP

<< Todas las entradas

ABAP Básico - Parte II

09/05/2020 | ABAP | ABAP, Código

Este post es continuación de parte I.

Estructuras y Tablas Internas

Estructuras

Una estructura es un grupo de variables, y se definen de la siguiente manera:

DATA: BEGIN of ls_cliente,
        id_cliente     TYPE i,
        nombre_cliente TYPE string,
    END of ls_customer.


Luego, para acceder a la misma, podemos hacer:

ls_cliente-id_cliente = 100.
ls_cliente-nombre_cliente = 'Juan Perez'.


Si quisiesemos "limpiar" todas las variables, podemos usar:

CLEAR ls_cliente.

Tablas Internas

La forma más facil de explicar que es una tabla interna, es pensar en un archivo Excel. Básicamente, es una variable que va a contener múltiples filas y columnas.

Para definir una tabla, siempre necesitamos una estructura, que sirve para definir las columnas.

Utilizando nuestra estructura ls_cliente previamente definida:

DATA: lt_tabla LIKE STANDARD TABLE OF ls_cliente.

La cantidad de filas es variable, por lo que no hace falta preocuparse por eso.

Ahora, para agregar dos clientes a nuestra tabla podríamos hacer:

ls_cliente-id_cliente = 100.
ls_cliente-nombre_cliente = 'Juan Perez'.
INSERT ls_customer INTO TABLE lt_customer.
ls_cliente-id_cliente = 200.
ls_cliente-nombre_cliente = 'Laura Lopez'.
INSERT ls_customer INTO TABLE lt_customer.


El contenido de nuestra tabla quedaría así:

ID_CLIENTE NOMBRE_CLIENTE
100 Juan Perez
200 Laura Lopez

\

Nota: Algunos lenguajes de programación tienen el concepto de ARRAY, que es muy parecido al concepto de Tabla Interna de ABAP.

Variables "INLINE"

En las últimas versiones de ABAP, se pueden definir variables de una forma "nueva". Un poco parecido a lenguajes como JavaScript, donde no hace falta explicitar el tipo de la variable, sino que el mismo es inferido de acuerdo al valor que se le asigna inicialmente.

DATA(lv_variable) = 10.

Reemplazaría:

DATA: lv_variable TYPE integer.
lv_variable = 10.

Particularmente no me gusta para nada esta forma "nueva". Teóricamente hace que los programas sean más cortos y fáciles de leer, pero en mi caso prefiero la forma tradicional.


Comentarios...

Loading comments ...