Sunteți pe pagina 1din 15

7 - ELEMENTOS BSICOS

Y TIPOS DE DATOS DEL


LENGUAJE ABAP
SAP ABAP programacin para principiantes
LOGALI SAP

Contenido
Resumen de la leccin .......................................................................................................................................... 2
Tipos de datos y objetos de datos ........................................................................................................................ 2
Definicin de objetos de datos ............................................................................................................................. 2
Definicin de parmetros de interfaz ................................................................................................................... 2
Definicin de campos de entrada/salida .............................................................................................................. 2
Tipos estndar ABAP ............................................................................................................................................. 3
Tipo estndar ABAP completes ........................................................................................................................ 3
Tipo estndar ABAP incompletos ..................................................................................................................... 3
Ejemplos................................................................................................................................................................ 4
Tipo de datos para las fechas y para la hora .................................................................................................... 5
Tipos de datos para enteros y nmero de punto flotante ............................................................................... 7
Tipo de nmero DECimal de punto FLOTante - DECFLOAT16-DECFLOAT34 .................................................... 9
Tipo de cadena de caracteres de longitud dinmica STRING, XSTRING ......................................................... 11
Tipo de datos para cadena de caracteres C y el tipo para cadena de caracteres numrica N ....................... 12
Tipo de datos para secuencia de bytes X y el tipo para nmero empaquetado P ........................................ 14

SAB APAP programacin para principiantes

logalisap.com

Resumen de la leccin
En este mdulo se familiarizar con la diferencia entre tipos de datos y
objetos de datos y aprender a definirlos y a utilizarlos en un programa.

Tipos de datos y objetos de datos


Una descripcin variable formal se denomina tipo de datos. Por el
contrario, una variable o constante definida concretamente mediante un
tipo de datos se llama objeto de datos.

Definicin de objetos de datos


El tipo de un objeto de datos define sus propiedades tcnicas (y
posiblemente tambin las semnticas).

Definicin de parmetros de interfaz


El tipo de un parmetro de interfaz determina el tipo del parmetro real que
se transfiere al llamar la unidad de modularizacin.

Definicin de campos de entrada/salida


El tipo de un campo de entrada/salida puede proporcionar informacin
adicional a las caractersticas tcnicas, como la ayuda de entrada de valor
y de campo.

SAB APAP programacin para principiantes

logalisap.com

Tipos estndar ABAP


Veamos primero los tipos estndar ABAP predefinidos por SAP (tipos
implementados). Estn divididos en dos grupos:
Tipos completo
Tipos incompleto
Los tipos estndar ABAP implementados estn completos. Esto significa
que ya contienen una especificacin de longitud fija especfica del tipo:

Tipo estndar ABAP completes


D - tipo para fechas, formato: AAAAMMDD, longitud 8 (fija)
T - tipo para hora, formato: HHMMSS, longitud 6 (fija)
I - tipo para entero, longitud 4 (fija)
F - tipo para nmero de punto flotante, longitud 8 (fija)
DECFLOAT16 - tipo de nmero DECimal de punto FLOTante, longitud 8
(fija)
DECFLOAT34 - tipo de nmero DECimal de punto FLOTante, longitud
16 (fija)
STRING - tipo de cadena de caracteres de longitud dinmica
XSTRING - tipo para secuencia de bytes de longitud dinmica (cadena
heXadecimal)
Tipo estndar ABAP incompletos
C - tipo para cadena de caracteres para la que se debe especificar la
longitud fija
N - tipo para cadena de caracteres numrica para que se debe
especificar la longitud fija
X - tipo para secuencia de bytes (cadena heXadecimal) para la que se
debe especificar la longitud fija
P - tipo para nmero empaquetado para el que se debe especificar la
longitud fija. En la definicin de un nmero empaquetado, es posible que
tambin se especifique la cantidad de puntos decimales.

SAB APAP programacin para principiantes

logalisap.com

Ejemplos
A continuacin detallamos como se utilizan los tipos de datos en ABAP con
la implementacin del cdigo fuente de los tipos estndar completos e
incompletos.
Importante: En la creacin de los programas tiene que reemplazar LOGALI
con el nombre de su usuario SAP.

SAB APAP programacin para principiantes

logalisap.com

Tipo de datos para las fechas y para la hora


Creamos un programa ejecutable ZTIPO_DATOS_DT_LOGALI
*&---------------------------------------------------------------------*
*& Report ZTIPO_DATOS_DT_LOGALI
*&
*&---------------------------------------------------------------------*
*&
*&
*&---------------------------------------------------------------------*
REPORT ztipo_datos_dt_logali.
* Declaracin de variable de tipo fecha con una longitud fija de 8
DATA fecha TYPE d.
* Formato interno utilizado por SAP para almacenar las fechas AAAAMMDD
" Asignacin de la variable de tipo fecha
fecha = '20151127'.
* Pintar en la pantalla el valor de la variable fecha en el formato
DD/MM/YYYY
WRITE fecha DD/MM/YYYY.
* Eliminar el valor de la variable fecha con la sentencia clear
CLEAR fecha.
* Dejar una lnea en blanco
SKIP.
WRITE fecha.
SKIP.
fecha = '20201110'.
WRITE fecha DD/MM/YYYY.
* Declaracin de la variable de tipo hora con una longitud fija de 6
DATA hora TYPE t.
* Asignamos un valor a la variable en el formato HHMMSS
hora = '153040'.
SKIP.
WRITE 'Hora: '.
* Pintar en la panttala el valor de la variable hora en el formato time
WRITE hora ENVIRONMENT TIME FORMAT.

SAB APAP programacin para principiantes

logalisap.com

6
CLEAR hora.
SKIP.
WRITE hora.
SKIP.
hora = '201530'.
WRITE hora ENVIRONMENT TIME FORMAT.

SAB APAP programacin para principiantes

logalisap.com

Tipos de datos para enteros y nmero de punto flotante


Creamos un programa ejecutable ZTIPO_DATOS_IF_LOGALI
*&--------------------------------------------------------------------*
*& Report ZTIPO_DATOS_IF_LOGALI
*&
*&--------------------------------------------------------------------*
*&
*&
*&--------------------------------------------------------------------*
REPORT ztipo_datos_if_logali.
* Declaracin de variable tipo i
DATA numero TYPE i.
* Asignacin
numero = 4.
WRITE 'Nmero: '.
WRITE numero.
CLEAR numero.
SKIP.
WRITE numero.
numero = 5.
SKIP.
WRITE: 'Nmero: ',
numero.
* write 'Nmero: '.
* write numero.
DATA tarifa TYPE f.
* Asignacin
tarifa = '5.2'.
SKIP.
WRITE: 'Tarifa: ', tarifa.

SAB APAP programacin para principiantes

logalisap.com

8
tarifa = '1.0'.
SKIP.
WRITE: 'La nueva tarifa: ', tarifa.

SAB APAP programacin para principiantes

logalisap.com

Tipo de nmero DECimal de punto FLOTante - DECFLOAT16-DECFLOAT34


Creamos un programa ejecutable ZTIPO_DECFLOAT_LOGALI
*&--------------------------------------------------------------------*
*& Report ZTIPO_DECFLOAT_LOGALI
*&
*&--------------------------------------------------------------------*
*&
*&
*&--------------------------------------------------------------------*
REPORT ztipo_decfloat_logali.

* Declaracin de la variable de tipo DECFLOAT16


DATA mi_decimal16 TYPE decfloat16.
* Asignacin
mi_decimal16 = '16.6'.
WRITE mi_decimal16.
mi_decimal16 = '38500.202'.
SKIP.
WRITE mi_decimal16.
* Declaracin de la variable de tipo DECFLOAT34. longitud 16
DATA mi_decimal34 TYPE decfloat34.
* Asignacin
mi_decimal34 = '16.6'.
SKIP.
WRITE mi_decimal34.
* Limpiar el valor de la variable
CLEAR mi_decimal34.
SKIP.

SAB APAP programacin para principiantes

logalisap.com

10
WRITE mi_decimal34.
mi_decimal34 = '38500.202'.
SKIP.
WRITE mi_decimal34.

SAB APAP programacin para principiantes

logalisap.com

11

Tipo de cadena de caracteres de longitud dinmica STRING, XSTRING


Creamos un programa ejecutable ZTIPO_STRINGX_LOGALI
*&--------------------------------------------------------------------*
*& Report ZTIPO_STRINGX_LOGALI
*&
*&--------------------------------------------------------------------*
*&
*&
*&--------------------------------------------------------------------*
REPORT ztipo_stringx_logali.
* Declaracin de tipo de cadena de caracteres de longitud dinmica
DATA cadena_dinamica TYPE string.
* Asignacin
cadena_dinamica = 'Hola'.
WRITE cadena_dinamica.
cadena_dinamica = 'Que tal? Bienvenido al curso de ABAP'.
SKIP.
WRITE cadena_dinamica.
CLEAR cadena_dinamica.
* Declaracin el tipo para secuencia de byte de longitud dinmica
DATA hex TYPE xstring.
*

Asignacin

hex = '01ABC'.
SKIP.
WRITE hex.
hex = 'JKF'.
skip.
write 'Nuevo valor: '.
write hex.

SAB APAP programacin para principiantes

logalisap.com

12

Tipo de datos para cadena de caracteres C y el tipo para cadena de caracteres


numrica N
Creamos un programa ejecutable ZTIPO_DATOS_CN_LOGALI
*&--------------------------------------------------------------------*
*& Report ZTIPO_DATOS_CN_LOGALI
*&
*&--------------------------------------------------------------------*
*&
*&
*&--------------------------------------------------------------------*
REPORT ztipo_datos_cn_logali.
* Declaracin de variable de tipo para cadena de caracteres C
*DATA cadena TYPE c LENGTH 3.
DATA cadena(3) TYPE c.
* Asignacin
cadena = '123'.
WRITE cadena.
SKIP.
cadena = 'ABCD'.
WRITE cadena.
CLEAR cadena.
SKIP.
cadena = 'A'.
WRITE cadena.
* Declaracin de la variable de tipo cadena de caracteres numrica
DATA cadena_numerica TYPE n LENGTH 5.
* Asignacin
cadena_numerica = '1234'.
SKIP.

SAB APAP programacin para principiantes

logalisap.com

13
WRITE cadena_numerica.
data hexa type x LENGTH 10.
hexa = 'JFK'.
write

hexa.

*cadena_numerica = 'ABC'.
cadena_numerica = '12345'.
skip.
write cadena_numerica.
* Los valores admitidos son 0123456789

SAB APAP programacin para principiantes

logalisap.com

14

Tipo de datos para secuencia de bytes X y el tipo para nmero empaquetado P


Creamos un programa ejecutable ZTIPO_DATOS_XP_LOGALI
*&---------------------------------------------------------------------*
*& Report ZTIPO_DATOS_XP_LOGALI
*&
*&---------------------------------------------------------------------*
*&
*&
*&---------------------------------------------------------------------*
REPORT ZTIPO_DATOS_XP_LOGALI.
* Declaracin del tipo de dato incompleto para secuencia de bytes
data hexadecim type x LENGTH 10.
*Asignacin
hexadecim = '01ABC'.
write hexadecim.
CLEAR hexadecim.
* Declaracin de tipo para nmero empaquetado
data num_empaq type p LENGTH 10 DECIMALS 4.
* Asignacin de valor
num_empaq = '150.444'.
skip.
write num_empaq.
skip.
num_empaq = '150.4444'.
write num_empaq.

SAB APAP programacin para principiantes

logalisap.com

S-ar putea să vă placă și