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.