Tipos de Datos
==============
Tipo LongxDefecto Rango ValorInicial Descripcion
C 1 1 -32000 ESPACIOS Texto
F 8 8 0.0E 00 Punto Flotante
I 4 4 0 Entero
N 1 1 -32000 '0000' Texto Numerico
P 8 1 -16 '0' Numero empaquetado
X 1 1 -29870 x'00' Hexadecimal
D 8 8 00000000 Fecha YYYYMMDD
T 6 6 000000 Hora HHMMSS
STRING Long.Variable cadenas
XSTRING Long.Variable(valor grande) String Hexadecimal
Modo de Declarar Variables.
==========================
DATA: nombre_variable{(n)} TYPE Tipo_variable {VALUE xxxxxxx}.
En caso que no se especifique n en el caso de una variable tipo texto, su valor sera 1.
Tambien se usa la sentencia LIKE en lugar de TYPE para copiar el tipo de dato ya guardado en el sistema.
Uso ejm:
DATA: copia LIKE sflight-carrid. "Denominacion breve de la compañia aerea en una BD SFLIGHT de prueba de ABAP.
BASES DE DATOS DE ABAP: SFLIGHT, SPPLI.
ESTRUCTURAS DE DATOS.
====================
Es un conjunto de campos relacionados, cuyos componentes pueden ser simples campos (Tipos de datos), otras estructuras o inclusove tablas.
Para crear una estrcutura existen tres formas:
1) Creando una instancia de una estructura ya creada:
DATA: vuelos TYPE sflight.
2) Creando una estructura con tipos de datos ya definidos, para eso lo ponemos entre BEGIN OF nombre_estructura y END OF nombre_estructura.
DATA: BEGIN OF vuelos2,
denominacion_breve TYPE s_carr_id,
cod_conexion TYPE s_conn_id,
...
END OF vuelos2.
3)Es parecido al anterior pero se debe usar la palabra reservada TYPES, antes de la declaracion de los datos que se usan en el programa.
TYPES: BEGIN OF vuelos2,
denominacion_breve TYPE s_carr_id,
cod_conexion TYPE s_conn_id,
...
END OF vuelos2.
DATA: prueba TYPE vuelos2.
Constantes.
==========
Es una variable que no modifica su valor en el programa. Para declararlas se usa la palabra clave CONSTANTS.
CONSTANTS: constante1(3) TYPE c VALUE 'hey'.
constnate2 TYPE f VALUE 3,14.
*&---------------------------------------------------------------------*
*& Include Z_PRUEBA_ABAP_DATOS_ESTMO99K_1
*&---------------------------------------------------------------------*
CONSTANTS: constante1(3) TYPE c VALUE 'hey',
PI TYPE f VALUE '3,14'.
DATA: val1 TYPE i,
superficie TYPE f.
fabiojanu18@yahoo.com
*&---------------------------------------------------------------------*
*& Report ZPRUEBA_ABAP_DATOS_ESTMO99K
*&
*&---------------------------------------------------------------------*
*&
*&
*&---------------------------------------------------------------------*
REPORT ZPRUEBA_ABAP_DATOS_ESTMO99K.
INCLUDE Z_PRUEBA_ABAP_DATOS_ESTMO99K_1.
INITIALIZATION.
CLEAR superficie.
val1 = 7.
START-OF-SELECTION.
superficie = PI*val1*vla1.
TOP-OF-PAGE.
WRITE 'Superficie de un circulo de radio 7'.
END-OF-SELECTION.
WRITE superficie.
WRITE constante1.
Variables de Sistema.
====================
Son variables definida por el sistema. Estas se encuentran en la tabla Base de Datos SYST. Estas variables no pueden modificarse.
- SY-SUBRC: Cod de retorno que indica si una sentencia se ejecuto correctamente (valor 0), o no lo hizo (distinto de cero).
- SY-DATUM : Contiene la fecha del sistema.
- SY-UZEIT : Contiene la hora del sistema.
- SY-TABIX : Contiene el indice de una tabla interna.
Archivos Hechos:
================
ZCLASE_001
*&---------------------------------------------------------------------*
*& Report ZCLASE_001
*&
*&---------------------------------------------------------------------*
*&
*&
*&---------------------------------------------------------------------*
REPORT ZCLASE_001.
data: num1(100) type i value 500,
num2 type i value 100,
resultado type i,
texto1(100) type c value 'Resultado : ',
texto2(15) type c value 'Resultado'.
resultado = num1 num2.
*write: 'Numero 1 : ',num1.
write: texto1,resultado.
write: texto2,resultado.
ZABAP_DATOS_ACTUALES_ESTMO99K
*&---------------------------------------------------------------------*
*& Report ZABAP_DATOS_ACTUALES_ESTMO99K
*&
*&---------------------------------------------------------------------*
*&
*&
*&---------------------------------------------------------------------*
REPORT ZABAP_DATOS_ACTUALES_ESTMO99K.
DATA: fecha_actual like SY-DATUM,
hora_actual like SY-UZEIT,
etiqueta_fecha(15) type c value 'Hora actual: ',
etiqueta_hora(15) type c value 'Fecha actual'.
INITIALIZATION.
fecha_actual = sy-datum.
hora_actual = sy-uzeit.
START-OF-SELECTION.
WRITE: etiqueta_fecha,fecha_actual.
WRITE: etiqueta_hora,hora_actual.
WRITE: /'La fecha actual del sistema es: ',sy-datum.
WRITE: /'La fecha actual del sistema es: ',sy-uzeit.
END-OF-SELECTION.