🚀PROMO #PLANCARRERA2024 - 🔥Bonificaciones, Precios Congelados y Cuotas

 X 

✒️ABAP La declaración de datos

ABAP La declaración de datos

ABAP La declaración de datos

Unidad n°2: La declaración y el procesamiento de datos
Lección n°3: La declaración de datos

Los tipos de datos ABAP:

En ABAP hay distintos tipos de datos que podemos declarar en los programas, vamos a necesitar crearlos ya que los programas usan variables, constantes y otros objetos para almacenar los datos durante su ejecución.
Los tipos ded atos se dividen en dos grupos:

  • Tipos completos.
  • Tipos incompletos.

La diferencia entre estos se debe a la longitud del dato. En los completos, los tipos de datos tienen una longitud fija establecida por el sist. estándar y cuando declaramos una variable de un tipo completo ya tenemos la longitud del dato.
En los incompletos, la longitud del dato no viene fijada por el sistema estándar y será el programador el que tiene la obligación de especificar la longitud al momento de declarar la variable.

Dentro de los tipos de datos completos estándar hay ocho tipos:

  • D: es para las fechas, tiene un formato AAAA MM DD, con longitud de 8 dígitos.
  • T: para la hora, tiene un formato HH MM SS, con longitud de 6 dígitos.
  • I: para los núm. enteros, con longitud fija de 4 bytes.
  • F: para los núm. decimales, con longitud fija de 8 bytes.
  • DECFLOAT16: para núm. decimales de punto flotante, con longitud fija de 8 bytes.
  • DECFLOAT34: para núm. decimales de punto flotante, con longitud fija de 16 bytes.
  • STRING: para las cadenas de caracteres, con longitud dinámica.
  • XSTRING: para las secuencias de bytes, con longitud dinámica (cadena hexadecimal).

Dentro de los tipos de datos incompletos estándar hay cuatro tipos:

  • C: para las cadenas de caracteres, para el que se debe especificar la longitud fija.
  • N: para cadenas de caracteres numéricas, se debe especificar la longitud fija.
  • X: para secuencia de bytes (cadena hexadecimal), se debe especificar longitud fija.
  • P: para núm. empaquetados, es posible que también se especifique la cantidad de puntos decimales.

Para declarar una variable en un programa, usaremos dos palabras reservadas "DATA" y "TYPE".

Ahora por ejemplos veremos como usar las variables:

  • Variable tipo fecha: DATA: v_fecha TYPE d.
    Para asignarle un valor determinado mientras la declaramos: DATA: v_fecha TYPE d VALUE '20210726'.
  • Variable tipo hora: DATA: v_hora TYPE t.
    Para asignarle un valor determinado mientras la declaramos: DATA: v_hora TYPE t VALUE '14:55:00'.
  • Variable tipo entero y asignarle un valor determinado: DATA: v_cantidad TYPE i VALUE '1000'.
  • Variable tipo string y asignarle un valor determinado: DATA: v_texto TYPE string VALUE 'ABAP es un lenguaje'.
  • Variable tipo c/caracter y asignar contenido determinado: DATA: v_nombreyape(40) TYPE c VALUE 'Juan Carlos'.
    Cuando declaramos variables tipo c/caracter TYPE c debemos especificar la longitud de la cadena.
  • Variable tipo n y asignarle un contenido determinado: DATA: v_telefono(13)TYPE n VALUE '5491156865676'.
  • Variable tipo/empaquetad y asignar contenido determinado: DATA: v_pi TYPE p DECIMALS 11 VALUE '3.1213695864'.

Por cada declaración de datos, estamos usando una sentencia DATA diferente, por ende cuando se ejecute el programa, se ejecutarán sentencias diferentes. Podemos optimizar ampliamente esta forma de declarar variables de modo de especificar todas las declaraciones en un asola sentencia DATA de la siguiente forma:

DATA: v_fecha TYPE d VALUE '20210726',
v_hora TYPE t VALUE '14:55:00',
v_pi TYPE p DECIMALS 11 VALUE '3.1213695864'.

Otra forma de declarar variables usando TYPE consiste en asignarle a la variable un tipo de datos ya existentes en el Diccionario de datos, es decir, que existe en SAP: DATA: v_nro_cliente TYPE kunnr. "Num. de cliente

También podemos declarar variables que sean de igual tipo de datos que otras variables ya creadas en el sistema, usando la sentencia LIKE.
En el ejemplo declaramos la variable "v_carrid" que es del mismo tipo de datos que el campo CARRID de la tabla base de datos SFLIGHT de vuelos de SAP: DATA: v_carrid LIKE sflight-carrid.

*Tabla SFLIGHT: es una tabla estándar del sistema que contiene info sobre vuelos y que generalmente es usada para hacer programas de prueba o demo en el sistema.

La diferencia de usar TYPE y LIKE es:

  • Con TYPE podemos declarar una variable de dos formas: usando los tipos de datos estándar del sistema (completo o incompleto) o usando un tipo de dato ya existente en el diccionario de datos.
    Reutilizamos tipos de datos existentes.
    Si alguien modifica ese tipo de dato, nuestro programa se verá afectado.
  • Con LIKE reutilizamos los tipos de datos que es positivo, pero por otro lado, como vimos con TYPE, si alguien modifica ese tipo de datos, el cambio impactará en nuestro programa.

Las estructuras de datos:

También existe la posibilidad de declarar los tipos de datos que están compuestos por varios tipos de datos diferentes, usando las Estructuras.

Las estructuras son un tipo de dato compuesto formado por un conjunto de campos relacionados, cuyos componentes pueden ser simples campos, otras estructuras o inclusive tablas.
Estas se usan principalmente cuando trabajamos con tablas internas.

Existen cuatro formas de declarar una estructura:

  • Usando la palabra clave DATA.
  • En la 2da también podemos usar DATA pero declararemos una estructura de vuelos solo con ciertos campos. Para declarar cada campo de la estructura usaremos tipos de datos existentes en SAP.
  • También se puede declarar la estructura como en el ejemplo anterior, pero usando los tipos de datos completos o incompletos estándar de SAP.
  • La 4ta forma de declarar una estructura es usando TIPOS, que son formatos de estructuras que pueden ser usados por cualquier otra estructura sin necesidad de reescribir código. Para esto se usa TYPES.

Las constantes:

Son variables que se declaran dentro de un programa y cuyo valor permanecerá tal como lo indica su nombre, constante, a lo largo de la ejecución del programa.
Para declararla se usa CONSTANTS, debemos especificar el tipo de dato de la constante y el valor que tendrá esta a lo largo de la ejecución del programa.

  • Si declaramos una constante de un tipo de datos incompleto, debemos especificar su longitud:
    CONSTANTS: c_x(1) TYPE c VALUE 'X'.
  • Si declaramos una constante de un tipo de datos completo, no es necesario especificar su longitud:
    CONSTANTS: c_nombre TYPE string

El uso de constantes ayuda a que el mantenimiento de los programas sea más sencillo.


Los include de datos y de subrutinas:

Como no todos los programas son de pocas líneas y baja complejidad, nos encontraremos con algunos que tendrán más de 100 líneas y una comprensión difícil, es por ello que para facilitarnos esto, usaremos los Includes.

El include es un tipo de programa u objeto ABAP usado para modularizar los programas de forma que estos sean más legibles y mantenibles.
Existen dos tipos:

  • INCLUDE de datos: usado para agrupar las declaraciones de datos.
    Para crear uno, luego de la sentencia REPORT, debemos escribir INCLUDE, seguido del nombre del include de datos:
    REPORT ztest_programa.
    INCLUDE
    ztest_programa_datos.
    1. Cuando hacemos doble clic en ztest_programa_datos, veremos una ventana que nos preguntará si queremos crear el objeto y clic en si.
    2. Veremos otra ventana que nos muestra el objeto creado, donde podemos modificar el título por defecto; En Tipo, verificamos que estamos creando un programa tipo Inlcude y grabamos.
    3. A continuación, le asignaremos un paquete al include de datos y grabamos.
    4. Creamos una nueva orden de transporte y la asociamos al include de datos
    5. Se creó el include ztest_programa_datos.
    6. Ahora copiaremos todas las declaraciones de datos que están en el programa principal y las pegaremos dentro del include.
    7. Borramos todas las declaraciones de datos del programa principal y activamos tanto el include como el programa principal.
  • INCLUDE de subrutinas: usado para agrupar las declaraciones de subrutinas.
    *Subrutinas: bloque de código modularizado en una rutina para hacer más legible el código del programa.

Variables del sistema:

Estas variables son definidas por el sistema y son de gran ayuda. Estas se encuentra en la tabla base de datos SYST. Su contenido no puede modificarse en los programas, si no que cambia con la ejecución de los mismos.
*Tabla SYST: tabla base de datos SYST almacenada en las variables del sistema de un programa.
Las variables de sistemas más usadas son:

  • SY-SUBRC: para chequear luego a la ejecución de una sentencia, si el resultado de la ejecución fue exitosa o no.
    Si fue exitoso, esta variable tendrá valor 0, pero si no lo es, tendrá un valor distinto a 0.
  • SY-DATUM: contiene la fecha del sist en formato AAAA MM DD.
  • SY-UZEIT: contiene la hora del sist. en formato HH SS MM.
  • SY-TABIX: contiene el índice de una tabla interna.
    *Tabla interna: objeto de datos que permite guardar en la memoria grandes cantidades de registros de datos con la misma estructura.

 

 

 


Sobre el autor

Publicación académica de Candela Estefanía Calzada, en su ámbito de estudios para la Carrera Consultor ABAP.

SAP Expert


Candela Estefanía Calzada

Profesión: Técnica Electrónica - Argentina - Legajo: JW91W

✒️Autor de: 160 Publicaciones Académicas

🎓Egresado de los módulos:

Disponibilidad Laboral: FullTime

Presentación:

Me encuentro estudiando la ingeniería en sistemas de información. poseo amplia experiencia en edición de videos. tengo bases entorno a la programación que quiero continuar consolidando.

Certificación Académica de Candela Calzada

✒️+Comunidad Académica CVOSOFT

Continúe aprendiendo sobre el tema "La declaración de datos" de la mano de nuestros alumnos.

SAP Senior

Declaración de datos Principales tipos de datos en ABAP son: Texto Punto flotante Entero Texto numérico Numero empaquetado Hexadecimal FechaYYYYMMDD Hora HHMMSS Tipos String: Palabra clave del sistema que se utiliza para la declaración de varibles. Un string es una secuencia de caracteres de longitud variable. XSTRING: Que se utiliza para la declaración de variables. Un xstring es una secuencia hexadecimal de caracteres de longitud variable que se utiliza para cadenas de gran longitud. Palabra clave: Propia del lenguaje que no puede ser utilizada por el programador con otra intención con el que se le designo. Data: Que se utiliza para la declaración de variables. Type: Que se utiliza para...

Acceder a esta publicación

Creado y Compartido por: Rafael Razo

*** CVOSOFT - Nuestros Alumnos - Nuestro Mayor Orgullo como Academia ***

SAP SemiSenior

Tipo Entero I. 4bytes. Rango: -32'332.322 a 32'332.322 Tipo String C. 1 byte. Se utiliza para cadenas de longitud variable. Tipo Xstring X. 1byte. Se utiliza como un string hexadecimal para cadenas de caracteres muy grandes. DATA. Palabra clave para declaración de variables. TYPE. Palabra clave para declaración de tipo de datos. Cuando se declara una variable tipo C sin especificar la longitud el sistema por defecto lo toma como 1 caracter. LIKE. Palabra clave que permite asignar el mismo tipo de dato de otra variable ya existente en el sistema. Estructuras de datos Estructura. Es un conjunto de campos relacionados, cuyos componentes puede ser simples campos, otras estructuras o inclusive tablas. DATA, TYPES. Constantes Constante....

Acceder a esta publicación

Creado y Compartido por: John Arley Lopez Sanchez

*** CVOSOFT - Nuestros Alumnos - Nuestro Mayor Orgullo como Academia ***

TIPOLOGÍA DE DATOS ABAP: C: Texto F: Punto flotante I: Entero N: Texto numérico P: (Número Empaquetado) X: Hexadecimal D: Fecha T: Hora Además existen los tipo STRING (Palabra clave del sistema que se utiliza para la declaración de variables, es una secuencia de carácteres de longitud variable. Y también existen los XSTRING: Palabra clave del sistema que se utiliza para la declaración de variables. Un XSTRING es una secuancia hexadecimal de carácteres de longitud variable que se utiliza para las cadenas de gran longitud. Con declaraciones de TYPE c hay que especificar la longitud de la cadena (numero entre paréntesis), en caso contratio en su defetcto el sistema asigna...

Acceder a esta publicación

Creado y Compartido por: Alex Gomez Osuna

*** CVOSOFT - Nuestros Alumnos - Nuestro Mayor Orgullo como Academia ***

SAP Senior

Lección: Declaración de datos 1) Tipos de datos ABAP C-F-I-N-P-X-D-T También exiten los Tipos STRING que se utilizan para cadenas de longitud variable y XSTRING que se utilizan como un string hexadecimal para cadenas de caracteres muy grandes. Para declarar una variable utilizaremos la palabra clave DATA y TYPE Con el agregado de VALUE, inicializamos con un valor determinado a una variable Cuando declaramos variables de tipo caracter TYPE c debemos especificar la longitud de la cadena. De lo contrario el sistema asumirá que su longitud es 1 caracter También podemos declarar variables que sean de igual tipo que otras ya creadas en el sistema. Para esto utilizamos la sentencia LIKE. Tabla SFLIGHT : Es una tabla...

Acceder a esta publicación

Creado y Compartido por: Aida Cortina Fernandez

*** CVOSOFT - Nuestros Alumnos - Nuestro Mayor Orgullo como Academia ***

SAP Master

Principales tipos de datos están definidas por las siguientes palabras claves: C=Texto / F=Punto Flotante / I=Entero / N=Texto Numérico / P=Numero Empaquetado / X=Hexadecimal / D=Fecha yyymmdd / T=Horas hhmmss String: Palabra clave del sistema que se utiliza para la declaración de variables, Un string es una secuencia de caracteres de longitud variable. Xstring: Es una secuencia hexadecimal de caracteres de longitud variable que se utiliza para cadenas de gran longitud. Para declarar una variable debemos utilizar las palabras claves DATA y TYPE Sentencia LIKE= son variables ya creadas en el sistema que pueden ser de igual tipo La principal diferencia de LIKE y TYPE es que si se llega a actualizar la...

Acceder a esta publicación

Creado y Compartido por: Jeferson José Peña Curvelo

*** CVOSOFT - Nuestros Alumnos - Nuestro Mayor Orgullo como Academia ***

SAP Senior

- Declaración de datos - Tipos de datos C Texto F Punto flotante I Entero N Texto numérico P Número empaquetado X Hexadecimal D Fecha YYYYMMDD T Hora HHMMSS STRING Cadenas de longitud variable XSTRING String hexadecimal para cadenas de caracteres muy grandes Para declarar una variable utilizaremos la palabra clave DATA y TYPE: Ej.: DATA: v_texto(4) TYPE c VALUE 'Hola', Con el agregado de VALUE, inicializamos un valor determinado a una variable. Cuando declaramos variables de tipo C debemos especificar la longitud de la cadena, si no se asumirá su longitud de 1 caracter. También podemos declarar variables, estructuras o tablas internas del mismo tipo que otras ya creadas...

Acceder a esta publicación

Creado y Compartido por: Sandra Erika Bernabe Abreu

*** CVOSOFT - Nuestros Alumnos - Nuestro Mayor Orgullo como Academia ***

SAP Senior

TIPO DE DATOS ABAP C: TEXTO-> 1-32000 F: PUNTO FLOTANTE-> 8 bytes I: ENTERO-> 4 bytes N: TEXTO NUMÉRICO->1-32000 P: NUMERO EMPAQUETADO->1-16 X: HEXADECIMAL->1-29870 D: FECHA YYYYMMDD->8 T: HORA HHMMSS->6 STRING: cadenas de longitud variable XSTRING: string hexadecimal para cadenas de caracteres muy grandes. Se declaran utilizando DATA y TYPE. ej. DATA: kt(8) TYPE c VALUE 'hola', kj TYPE i. Cuando se declaran variables de tipo C se debe especificar la longitud, de lo contrario lo tomará por defecto longitud 1. Con LIKE podemos crear variables que posean la misma longitud y tipo que otra variable de la tabla base de datos. ej. DATA: v_carrid LIKE sflight-carrid. Aqui...

Acceder a esta publicación

Creado y Compartido por: Alberth Julian Bolanos Bravo

*** CVOSOFT - Nuestros Alumnos - Nuestro Mayor Orgullo como Academia ***

SAP Master

Tipos de datos c texto. f Float i Entero N Texto numerico p Numerico empaquetado x hexadecimal d date fecha en format YYYY/MM/DD t Hola HHMMSS STRING cadenas de texto XSTRING cadenas de texto muy grandes Para la declaración de variable utilizamos DATE TYPE VALUE para inicializar una variable si se declaran variables con TYPE se debe especificar la longitud del campo, de lo contrario por defecto es 1 ESTRUCTURA: Es un conjunto de campos relacionadas cuyos componentes pueden ser campos, estructuras o tablas. Para definir estructuras existen tres forma. 1. Utilizando la palabra clave DATA. Ej. DATA: va_vuelos TYPE sflight. 2.Utlizando la palabra clave DATA pero solo se declaran algunos campos. Ej: DATA: BEGIN OF wa_vuelos2, ...

Acceder a esta publicación

Creado y Compartido por: Juan Santamaria Borja

*** CVOSOFT - Nuestros Alumnos - Nuestro Mayor Orgullo como Academia ***

SAP SemiSenior

Tipos de datos ABAP Los principales tipos de datos ABAP son: TIPOS Long.por defecto Posible longitud Valor inicial Descripción 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 numérico P 8 1-16 0 Número Empaquetado X 1 1-29870 x'00'...

Acceder a esta publicación

Creado y Compartido por: Diamela Serignese

*** CVOSOFT - Nuestros Alumnos - Nuestro Mayor Orgullo como Academia ***

SAP Master

Tipos de Datos ABAP: C (Texto); F (Punto Flotante); I (Entero); N (Texto Numérico); P (Número Empaquetado); X (Hexadecimal); D (Fecha); T (Hora); STRING (Cadenas de Longitud Variables); XSTRING (String Hexadecimal muy grande). Declaración de Variables: DATA (Sección que engloba la definición de las Variables); TYPE (Tipo); VALUE (Valor Inicial); LIKE (Igual TYPE que otra ya definida). NOTA: Las variables C deben estar acompañadas de la longitud entre paréntesis. Por defecto se asume 1 de longitud. -------------------------------------------------------------------------------------------------------------------------------- Estructuras de Datos: Es un conjunto de campos relacionados (simples...

Acceder a esta publicación

Creado y Compartido por: Victor Norberto Levi

 


 

👌Genial!, estos fueron los últimos artículos sobre más de 79.000 publicaciones académicas abiertas, libres y gratuitas compartidas con la comunidad, para acceder a ellas le dejamos el enlace a CVOPEN ACADEMY.

Buscador de Publicaciones:

 


 

No sea Juan... Solo podrá llegar alto si realiza su formación con los mejores!