🚀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

Los tipos de datos de ABAP:

tal como en otros lenguajes de programación, en ABAP existen diferentes tipos de datos que podemos declarar en nuestros programas.

ABAP forma parate de los lenguajes de progamación tipados tal como son C o JAVA por otro lado, no necesitan establecer un tipo y en una misma variable se puede almacenar cualquier tipo de dato durante la ejecución, como puede ser en PHP. en ABAP tiene un tipo especifico, es desir que una variable de tipo fecha solo podrá contener valores numéricos en un formato correspondiente o para guardar un nombre se debe utilizar una variable de tipo cadena de caracteres.

  • Tipos completos
  • Tipo incompletos

La diferencias entre los dos grupor se debe, en los tipos completos los tipos de datos tienen una longitud fija establecida por el sistema estándar y cuando declaramos una varible de un tipo completo ya tenemos la longituddel dato.

En los tipos incompletos, la longitud del dato no viene fijada por el sistema estándar y será el programador el que tiene la obligación de espesificar la longitud del dato en el momento de la declaracion de la variable.

Dentro de los tipos de datos completos estándar tenemos a los siguentes 8 tipos:

  1. D - es el tipo de datos para fechas, el formato AAAMMDD,donde AAAA representa el año, MM representa el mes y DD representa el diá.
  2. T - es el tipo de dato para la hora, el formato HHMMSS, donde HH representa la hora, MM representa los minutos y SS representa los segundos.
  3. I - es el tipo de datos para los números enteros, el cual tiene una longitud fija de 4 bytes.
  4. F - es el tipo de datos para los números de punto flotante o decimales, el cual tiene una longitud fija de 8 bytes.
  5. DECFLOAT16 - es el tipó de datos que se utiliza para los númros decimales de punto flotante, el cual tiene una longitud fija de 8 bytes.
  6. DECFLOAT34 - es el tipo de datos que se utiliza para los números decimales de punto flotante, el cual tiene una longitud fija de 16 bytes.
  7. STRING - es el tipo de datos que se utiliza para las cadenas de caracteres, el cual tiene una longitud dinámica.
  8. XSTRING - es el tipo de datos que se utiliza para las secuencias de bytes de longitud dinámica (cadena hexadecimal).

Dentro de los tipos de datos incompletos estándar tenemos a los siguientes 4 tipos:

  1. C - es el tipo de datos que se utiliza para las cadenas de caracteres, para el que se debe especificar la longitud fija.
  2. N - es el tipo de datos que se utiliza para las cadenas de caracteres numéricas, para el que se debe especificar la lomgitud fija.
  3. X - es el tipo de datos que se utiliza para la secuencia de bytes (cadena hexadecimal), para el que se debe especificar la longitud fija.
  4. P - es el tipo de dato que se utiliza para los números empaquetados, para el que se debe especificar la longitud fija. en la definición de un número empaquetado, es pocible que también se especifique la tantidad de puntos decimales.

EN base alos 12 tipo de datos estándar completos e incompletos, que también se llaman tipos primitivos, se pueden crear tipos de datos complejos, estructuras bidimensionales u objetos del diccionario de datos.

Ahora bien para declararuna bariable un programa ABAP vamos a utilizat dos palabras reservadas sumamente importante dentro del mundo ABAP, tal como son DATA y TYPE.

Si deseamos declarar una variable tipo fecha seria:

DATA: v_fecha TYPE d.

Si deseamos utilizar un valor determinado a la variable al mismo tiempo que la declaramos entonces vamos a utilizar el agregado VALUE y se seria

DATA: v_fecha TYPE d VALUE '20240412'.

Si desiamos declarar un valor de tipo hora ariamos lo siguiete:

DATA: v_hora TYPE t.

Si deseamos asignarle un valor determinado a la variable al mismo tiempo que la declaramos entonces vamos a utilizar el agregado VALUE :

DATA: v_hora TYPE t VALUE '10:09:00'.

Si deseamos declarar una variable de tipo entero y asignarle un valor determinado hariamos lo siguiente:

DATA: v_cantidad TYPE i VALUE ' 100'.

Si deseamos declarar una variable de tipo STRINg y asignarle un valor determinado hariamos lo siguiente:

DATA: v_texto TYPE string VALUE 'ABAP es un lenguaje de programación'.

Si deseamos declarar una varieble de tipo C o caracter y asignarle un contenido hariamos lo siguiente:

DATA: v_nombreyape (40) TYPE c VALUE ' Julian Avarez'.

Cuando declaramos variable de tipo C o caracter TYPE C devemos espesificar la longitud de la cadena de caracteres. De lo contrario el sistema asumirá su longitud es de 1 varacter.

Si deseamos declarar una variable de tipo N y asignamos un contenido determinado hariamos lo siguiente:

DATA: v_telefono (13) TYPE n VALUE '5491156859687'.

Si deseamos declarar una variable de tipo P o empaquetado y asignarle un contenido determinado hariamos lo siguiente:

DATA: v_pi TYPE p decimales 11 VALUE '3.1416925659'.

Por cada declaracion de datos estamos utilizando una sentencia DATA diferente. pero podemos optimizar ampliamente todos las declaraciones en una sola sentencia DATA de la siguiente forma:

DATA: v_fecha TYPE d VALUE '20240412'.

v_hora TYPE t VALUE '10:09:00'.

v_cantidad TYPE i VALUE ' 100'.

v_texto TYPE string VALUE 'ABAP es un lenguaje de programación'.

v_nombreyape (40) TYPE c VALUE ' Julian Avarez'.

v_telefono (13) TYPE n VALUE '5491156859687'.

v_pi TYPE p decimales 11 VALUE '3.1416925659'.

Otra forma de declarar variables utilizando TYPE consiste en asignarle a la variable un tipo de dato ya existente en el diccionario de datos, es desir que ya existe en SAP.

DATA: v_nro_cliente TYPE kunnr. "N° de cliente

Por último, tambien podemos declarar variables que sean de igual tipo de datos que otras variable ya creadas en el sistema. para esto utilizamos LIKE.

SI queremos declarar 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. "denominaciín breve de la campañia aérera

Las estructuras de datos: existe la posibilidad de declarar tipos de datos de que estan compuestos pór varios tipos de datos diferentes,

ESTRUCTURA es un tipo de dato compuestoque esta formado por un conjunto de campos relacionados, cuyos camponentes pueden ser simple campos, otras estructuras o inclusive tablas.

Existen cuatro formas de declarar una estructura en un programa ABAP:

  • La primera es utilizando la palabra clave DATA declaramos una estructura de vuelos que tendrá los mismos campo que tiene la tabla base de datos de vuelos SFLIGHT

DATA: wa_vuelos TYPE sflight.

  • En la segunda forma también utilizamos la palabra clave DATA para vamos a declarar una estructura de vuelo solo conciertos campos. para declarar cada uno de los campos de la estructura utilizamos tipo de dato ya existentes en SAP.

*estructura de vuelos

DATA: BEGIN OF wa_vuelos 2,

carrid TYPE s_carr_id, "denominacion breve dela compañia aérea

connid TYPE s_conn_id, "código de conexión de vuelo directo

fldate TYPE s_date, "fecha del vuelo

price TYPE s_price, "precio del vuelo

currency TYPE s_currcode, "moneda local de la compañia aérea

planetype TYPE s_planetye, "tipo de avión

END OF wa_vuelos2.

  • También podemos declarar la estructura tal como hicimos en el ejemplo anterior pare utilizando los tipos de datos completos o incompletos estándar de SAP tal como vemos

*estructura de vuelos

DATA: BEGIN OF wa_vuelos 3,

carrid (3) TYPE c, "denominacion breve dela compañia aérea

connid (4) TYPE n, "código de conexión de vuelo directo

fldate TYPE d, "fecha del vuelo

price TYPE p, DECIMALES 2, "precio del vuelo

currency (5) TYPE c, "moneda local de la compañia aérea

planetype (10) TYPE c, "tipo de avión

END OF wa_vuelos3.

  • Finalmente cuarta forma de declarar una estructura es utilisando TIPOS, que son formatos de estructuras que pueden ser utilizados por cualquier otra estructura sin necesidad reescribir el codigo. para esto se utiliza la palabra reservada TYPES.

*estructura de vuelos

TYPES: BEGIN OF ty_vuelos ,

carrid TYPE s_carr_id, "denominacion breve dela compañia aérea

connid TYPE s_conn_id, "código de conexión de vuelo directo

fldate TYPE s_date, "fecha del vuelo

price TYPE s_price, "precio del vuelo

currency TYPE s_currcode, "moneda local de la compañia aérea

planetype TYPE s_planetye, "tipo de avión

DATA: wa_vuelos4 TYPE ty_vuelos.

Costante: es una variable que de se declara dentro de un programa y cuyo permanecerá tal como lo indica su nombre costante a lo largo de la ejecución del programa. para su declaracion se utiliza la palabra reservada CONSTANTS.

Si declaramos una constante de un tipo de dato incompleto además debemos especificar su longitud.

CONSTANTS:c_x (1) TYPE c VALUE 'x'.

Si deceamo una costante de un tipo de datos completo entonces será necesario especificar su longitud.

COSTANTS: c_nombre TYPE VALUE 'Ezequiel'.

La utilizacion de contantes ayuda a que el mantenimiento de los programas ABAP sea mas sencillo, por lo tanto utilizar contantes en lugar de textos entre comillas simple es considerada una buena practica de programación.

Los include de datos y de subrutinas: en un programa ABAP con muchas lineas de codigo,declaraciones de datos. visualizar el progra con el objetivi de comprender su funcionalidad se vuelve mas complejo. existe un tipo de programa ABAP que nos ayuda mucho en esta tarea de hacer que los programas sean faciles de comprender y por lo tanto fáciles de modificar o mantener. Estamos hablando de los INCLUDES.

INCLUDES: es un tipo de programa u objeto ABAP que se utiliza para modularizar los programas que estos resulten más legibles y mantenibles.

Existen dos tipos de INCLUDES:

  1. INCLUDE de datos: se utiliza para agrupar las declaraciones de datos.
  2. INCLUDE de subrutinas: se utilisa para agrupar la declaraciones de subrutinas,

Para crear un include de datos lo que debemos hacer es escribir, luego de la sentencia REPOR, la palabra reservada INCLUDE seguido del nombre de incluce de datos.

REPORT ztest_prueba.

INCLUDE ztest_programa_datos.

DATA: v_facha TYPE d VALUE '20240413'.

Al hacer clic sobre el nombre del include ZTEST_PROGRAMA_DATOS veremos donde se nos consulta si deseamos crear el objeto, por lo que hacemos clic en el boton si.

Luego nos muestra el objetosque será creado. Aqui podemos modificar el titulo por defecto que propone el sistema. (verificamos que estamos creando un programa de tipo include) y final mente hacemos clic en el boton grabar. A continuacion, asignamos un paquete al iclude de datos y grabamos. Creamos una nueva orden transporte y la asociamos al include de datos. Finalmente habremos creado el include ZTEST_PROGRAMA_DATOS.

Ahora lo que hacemos es copiar todas las declaraciones de datos que se encuentra en el programa principal ZTEST_PROGRAMA y las vamos a pegar en el iclude de datos ZTEST_PROGRAMA_DATOS. luego borramos todas las declaraciones de datos del programa principal y activamos tanto el include como el programa principa.

el programa principal ZTEST_PROGRAMA queda reducido a unicamente dos lineas de codig, lo que facilita ampliamente su comprención y modificación.

La variables del sistema:

A parte de la variable que difine el programa ABAP en el programa, existen otras variables que han sido definidas por el sistema y que son de gran utilidad dentro de los programas ABAP.

Estas variables se encuentran en la tabla base de datos SYST y contiene información que va desde la hora del sistema , saber,si se ejecutó correctamente una sentencia ABAP o una actualización a una tabla base de datos. su contenido no puede ser modificado en los programas, sino que cambia simplemente con la ejecución de los mismos.

Tabla SYST: la tabla base de datos SYST almacena a las variables del sistema de un programa ABAP.

  • SY-SUBRC: es sin duda el mas importante de todas las variables del sistema. se la utiliza para chequear posteriormente a la ejecución de una sentencia ABAP, si el resultado de la ejecución fue exitoso,entonces la variable tendra el valor cero y si no es exitoso entoses la variable tendra un valor distinto a cero.
  • SY-DATUM: esta variable de sistema contiene la fecha del sistema en el formato AAAAMMDD.es una variable sumamenre util en nuestro trabajo del dia a dia como programadores ABAP.
  • SY-UZEIT: esta variable del sistema contiene la hora del sistema en el formato HHMMSS.
  • SY-TABIX: esta variable del sistema contiene el icono de una tabla interna.


 

 

 


Sobre el autor

Publicación académica de Javier Miguel Angel Barcelo, en su ámbito de estudios para la Carrera Consultor ABAP.

Javier Miguel Angel Barcelo

Profesión: Militar - Argentina - Legajo: DQ34X

✒️Autor de: 27 Publicaciones Académicas

🎓Cursando Actualmente: Consultor ABAP Nivel Inicial

Certificación Académica de Javier Angel

✒️+Comunidad Académica CVOSOFT

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

SAP Master

Declaración de datos: type: i entero longitud 4, c texto longitud 1, f flotante longitud 8, n texto numerico longitud 1, x hexadecimal longitud 1, d fecha longitud 8 , t hora longitud 6. La longitud de los tipos de datos se refiere a los bites que ocupan en el sistema no a la cantidad de caracteres. Cuando se declara variables de tipo caracter TYPE c se debe especificar la longitud de la cadena de lo contrario el sistema entiende que esta va a ser de 1 caracter. Cuando se declara una variable de tipo LIKE significa que es una copia de una declaración de una variable antes declara en el diccionario de datos por lo tanto va a tener la misma longitud de la variable que se declaro en el diccionario de datos. Se debe tomar en cuenta...

Acceder a esta publicación

Creado y Compartido por: Jesus Enrique Ramos Bello / Disponibilidad Laboral: FullTime + Carta Presentación

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

SAP Senior

Esta sección de los programas es opcional; es donde se declaran los datos de ámbito global, siempre que estos se declaren fuera de un proceso o función, los datos pueden utilizarse desde cualquier punto del programa siempre después de su declaración estos, si se quieren que sean globales a todos los procesos y funciones deberán ser declarados al principio antes que procesos y funciones y después de directivas de compilación y librerías. La sección debe comenzar obligatoriamente con el tipo de la variable seguida de una serie de declaraciones de datos terminadas con un símbolo ; (punto y coma). En general, se declaran como datos globales todos aquellos que establecen...

Acceder a esta publicación

Creado y Compartido por: Jose Miguel Sanchez Gonzalez / Disponibilidad Laboral: FullTime

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

SAP Master

TIPOS DE DATOS ABAP C --> caracter : se debe indicar longitud o será 1 por default F --> punto flotante I --> entero N --> texto numérico P --> num empaquetado X --> caracter hexadecimal D --> fecha con formato AAAAMMDD T --> hora con formato HHMMSS STRING --> texto (la longitud se determina durante la ejecución) XSTRING --> texto hexadecimal (la longitud se determina durante la ejecución) Para declarar una variable utilizamos DATA seguido de TYPE o LIKE (según sea necesario) y luego VALUE si necesitamos inicializarla durante la declaración ESTRUCTURA DE DATOS Es un conjunto de campos, estructuras anidadas y/o tablas relacionadas...

Acceder a esta publicación

Creado y Compartido por: Jonatan Richioni

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

SAP SemiSenior

Declaración de datos Los principales tipos de datos que se utilizan en ABAP son: C: de texto F: punto flotante I: enteros N: texto númerico P: número empaquetado X: hexadecimal D: fecha AAAAMMDD T: hora HHMMSS También existen los tipos STRING que se utilizan para cadenas de longitud variables y XSTRING que se utilizan como un string hexadecimal para cadenas de caracteres muy grandes. Para declarar una variable utilizaremos la palabras claves DATA y TYPE. También podemos declarar variables que sean de igual tipo que otras ya creadas en el sistema. Para esto utilizaremos la sentencia LIKE. Esta sentencia se utiliza para declarar variables que sean iguales a otros tipos de datos...

Acceder a esta publicación

Creado y Compartido por: Abraham Arredondo Caceda / Disponibilidad Laboral: FullTime + Carta Presentación

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

SAP SemiSenior

Resumen Lección: Declaración de Datos. Tipos de datos: Texto (C) Punto flotante (F) Entero (I) Texto Numérico (N) Numero Empaquetado (P) Hexadecimal (X) Fecha YYYYMMDD (D) Hora HHMMSS (T) Cadena de longitud Variable (STRING) String hexadecimal para cadenas de caracteres muy grandes (XSTRING) Para declarar una variable de utilizan las palabras claves: DATA TYPE Agregando VALUE se inicializa con un valor determinado a una variable, también se pueden declarar variables de igual tipo que otras ya creadas utilizando la sentencia LIKE. Estructura de Datos Es un conjunto de campos relacionados, cuyos componentes pueden ser simples campos, otras estructuras o inclusive tablas....

Acceder a esta publicación

Creado y Compartido por: Alexander José Tovar Rodríguez

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

SAP SemiSenior

TIPOS DE DATOS: Se dividen en completos e incompletos de la siguiente manera, los completos poseen una especificación de longitud fija especifica del tipo, en cambio los datos incompletos no tienen una longitud fija y por tanto la longitud se debe especificar junto con la declaración de la variable. Tipo de datos completos: D-fecha, T-hora, I-entero, F-punto flotante, STRING cadena dinamica y XSTRING cadena dinámica hexadecimal. Tipos de datos incompletos: C-carácter, N-numérico, X-cadena hexadecimal y P-numero empaquetado. TIPOS DE DATOS ESTRUCTURA: Permiten crear variables (arreglos) que posean la estructura de una tabla, para poder almacenar información temporal durante la ejecución del programa....

Acceder a esta publicación

Creado y Compartido por: Marvin Ernesto Gómez Ayala

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

SAP Senior

C- String * Se debe espeficirar la longitud del string. Si no el sistema lo toma como 1 caracter. F - Float I - Integer N - Number P - Numero enpaquetado X - HEX D - Date T - Time VALUE: Inicializa el valor determinado a una variable. LIKE: Declarar variables de igual tipo que otras ya creadas en el sistema. CONSTANTS: Declaración de constantes. INCLUDE: include de datos,e INCLUDE de subrutinas. Sirven para modularizar para mejor legibilidad y mantenimiento. *SE CONSIDERA BUENA PRACTICA EL PROGRAMADOR ABAP. ************************* Tabla SYST: Contiene y almacena las variables del sistema SY-SUBRC: Retorno posterior a la ejecución de una sentencia ABAP. Si el resultado de ejecucion es exitoso es 0, sino es distinto. ...

Acceder a esta publicación

Creado y Compartido por: Jair Sneider Reyes Zabala / Disponibilidad Laboral: FullTime + Carta Presentación

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

SAP SemiSenior

Tipos de datos: C: Texto. F: Punto flotante I: Entero N: Texto numérico P: Número empaquetado X: Hexadecimal D: Fecha AAAAMMDD T: Hora HHMMSS String: cadena de texto de longitud variable XString: String hexadecimal para cadena de caracteres muy grandes Declaración de variables: Se deben usar las palabras claves DATA y TYPE Con el agregado de VALUE se específica un valor inicial para la palabra recién declarada. Nota: Para los datos tipos C se debe especificar a la derecha del nombre entre paréntesis la cantidad de decimales, sino por defecto el sistema asumirá que la longitud del mismo es de 1 caracter. Con el uso de la función LIKE podemos declarar...

Acceder a esta publicación

Creado y Compartido por: German Ariel Fritsch / Disponibilidad Laboral: FullTime

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

SAP Master

UNIDAD 2: DECLARACION Y PROCESAMIENTO DE DATOS LECCIÓN 3: DECLARACIÓN DE DATOS 1) Tipos de datos ABAP Los principales tipos de datos que se utilizan en ABAP son: C: Texto. F: Punto flotante. I: Entero. N: Texto númerico. P: Número empaquetado. X: Hexadecimal. D: Fecha YYYYMMDD T: Hora HHMMSS AUDIO: Cuando mencionamos que un tipo de dato, por ejemplo las variables enteras que se declaran utilizando la palabra reservada I, tienen una longitud de 4 nos estamos refiriendo a la cantidad de bytes que ocupa una variable de ese tipo y no a la cantidad de dígitos máximos que puede almacenar. En el caso de los enteros, una variable de tipo I puede almacenar números -32332322 a los más 32332322....

Acceder a esta publicación

Creado y Compartido por: Jesus Robinson Cruz Monroy

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

SAP Master

Tipos de datos en ABAP C Texto. F Punto flotante. I Entero. N Texto Numerico. P Numero empaquetado. X Hexadecimal. D Fecha. T Hora. Estructura de datos. - Conjunto de campos relacionados, cuyos componentes pueden ser simples campos, otras estructuras o inclusive tablas. Constantes. - Variable que se declaro dentro de un programa cuyo valor permanecerá tal como lo indica su nombre, para la declaración se utiliza la palabra reservada CONSTANTS. Include de datos. - Es un objeto ABAP que se utiliza para modularizar los programas de manera que resulten mas legibles y mantenibles, existen dos tipos de include: Include de datos y Include de Subrutinas. Variables del sistema. - A parte de las variables...

Acceder a esta publicación

Creado y Compartido por: Jorge Luis Leal Marquez / Disponibilidad Laboral: PartTime + Carta Presentación

 


 

👌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!