SAP ABAP: tipos de datos

Mientras programamos en ABAP, necesitamos usar una variedad de variables para almacenar información diversa. Las variables no son más que ubicaciones de memoria reservadas para almacenar valores. Esto significa que cuando crea una variable, reserva algo de espacio en la memoria. Es posible que desee almacenar información de varios tipos de datos como carácter, entero, punto flotante, etc. Según el tipo de datos de una variable, el sistema operativo asigna memoria y decide qué se puede almacenar en la memoria reservada.

Tipos de datos elementales

ABAP ofrece al programador una amplia variedad de tipos de datos de longitud fija y de longitud variable. La siguiente tabla enumera los tipos de datos elementales ABAP:

Tipo Palabra clave
Campo de bytes X
Campo de texto C
Entero yo
Punto flotante F
Número empaquetado PAGS
Cadena de texto CUERDA

Algunos de los campos y números se pueden modificar usando uno o más nombres como los siguientes:

  • byte
  • numeric
  • character-like

La siguiente tabla muestra el tipo de datos, cuánta memoria se necesita para almacenar el valor en memoria, y el valor mínimo y máximo que podría almacenarse en ese tipo de variables.

Tipo Longitud típica Rango típico
X 1 byte Cualquier valor de byte (00 a FF)
C 1 personaje 1 hasta 65535
N (texto numérico archivado) 1 personaje 1 hasta 65535
D (fecha similar a un personaje) 8 caracteres 8 caracteres
T (tiempo parecido a un personaje) 6 caracteres 6 caracteres
yo 4 bytes -2147483648 al 2147483647
F 8 bytes 2.2250738585072014E-308 a 1.7976931348623157E + 308 positivo o negativo
PAGS 8 bytes [-10 ^ (2len -1) +1] a [+ 10 ^ (2len -1) 1] (donde len = longitud fija)
CUERDA Variable Cualquier carácter alfanumérico
XSTRING (cadena de bytes) Variable Cualquier valor de byte (00 a FF)

Ejemplo

REPORT YR_SEP_12. 
DATA text_line TYPE C LENGTH 40. 
text_line = 'A Chapter on Data Types'. 
Write text_line. 

DATA text_string TYPE STRING. 
text_string = 'A Program in ABAP'. 
Write / text_string. 

DATA d_date TYPE D. 
d_date = SY-DATUM. 
Write / d_date.

En este ejemplo, tenemos una cadena de caracteres de tipo C con una longitud predefinida de 40. STRING es un tipo de datos que se puede utilizar para cualquier cadena de caracteres de longitud variable (cadenas de texto). Los objetos de datos de tipo STRING generalmente deben usarse para contenido similar a un carácter donde la longitud fija no es importante.

El código anterior produce la siguiente salida:

A Chapter on Data Types 
A Program in ABAP 
12092015

El tipo FECHA se utiliza para almacenar información sobre la fecha y puede almacenar ocho dígitos como se muestra arriba.

Tipos complejos y de referencia

Los tipos complejos se clasifican en Structure types y Table types. En los tipos de estructura, los tipos y estructuras elementales (es decir, la estructura incrustada en una estructura) se agrupan. Puede considerar solo la agrupación de tipos elementales. Pero debe estar consciente de la disponibilidad de anidamiento de estructuras.

Cuando los tipos elementales se agrupan, se puede acceder al elemento de datos como un elemento de datos agrupado o se puede acceder a los elementos de datos de tipo elemental individuales (campos de estructura). Los tipos de tablas se conocen mejor como matrices en otros lenguajes de programación.Arrayspueden ser matrices simples o de estructura. En ABAP, las matrices se denominan tablas internas y se pueden declarar y operar de muchas formas en comparación con otros lenguajes de programación. La siguiente tabla muestra los parámetros según los cuales se caracterizan las tablas internas.

S.No. Descripción de parámetros
1

Line or row type

La fila de una tabla interna puede ser de tipo elemental, complejo o de referencia.

2

Key

Especifica un campo o un grupo de campos como clave de una tabla interna que identifica las filas de la tabla. Una clave contiene los campos de tipos elementales.

3

Access method

Describe cómo los programas ABAP acceden a las entradas individuales de la tabla.

Los tipos de referencia se utilizan para hacer referencia a instancias de clases, interfaces y elementos de datos en tiempo de ejecución. Los servicios de tipo de tiempo de ejecución ABAP OOP (RTTS) permiten la declaración de elementos de datos en tiempo de ejecución.