En este tema, aprenderemos sobre los tipos de datos y las variables en RPG. Estos son conceptos fundamentales que te permitirán almacenar y manipular datos en tus programas.
- ¿Qué es una Variable?
Una variable es un espacio en la memoria que se utiliza para almacenar datos que pueden cambiar durante la ejecución de un programa. Cada variable tiene un nombre, un tipo de dato y un valor.
Ejemplo de Declaración de Variables
- Tipos de Datos en RPG
RPG soporta varios tipos de datos que se pueden utilizar para declarar variables. A continuación, se presentan los tipos de datos más comunes:
2.1 Tipos de Datos Numéricos
-
Enteros (Integer): Se utilizan para almacenar números enteros.
Zoned Decimal (ZONED)
: Números decimales con signo.Packed Decimal (PACKED)
: Números decimales empaquetados.Binary (BINARY)
: Números binarios.
-
Ejemplo:
2.2 Tipos de Datos de Punto Flotante
-
Float: Se utilizan para almacenar números con decimales.
Float (FLOAT)
: Números de punto flotante.
-
Ejemplo:
2.3 Tipos de Datos de Caracteres
-
Caracteres (Character): Se utilizan para almacenar cadenas de texto.
Character (CHAR)
: Cadenas de caracteres de longitud fija.Variable Length Character (VARCHAR)
: Cadenas de caracteres de longitud variable.
-
Ejemplo:
2.4 Tipos de Datos de Fecha y Hora
-
Fecha y Hora (Date/Time): Se utilizan para almacenar fechas y horas.
Date (DATE)
: Fechas.Time (TIME)
: Horas.Timestamp (TIMESTAMP)
: Marca de tiempo (fecha y hora).
-
Ejemplo:
- Declaración y Asignación de Variables
3.1 Declaración de Variables
Para declarar una variable en RPG, se utiliza la instrucción Dcl-S
seguida del nombre de la variable y su tipo de dato.
- Ejemplo:
3.2 Asignación de Valores a Variables
Para asignar un valor a una variable, se utiliza el operador de asignación =
.
- Ejemplo:
- Ejemplo Práctico
Vamos a crear un programa simple que declare varias variables, les asigne valores y luego imprima esos valores.
Código del Programa
**free Dcl-S edad Zoned(3); Dcl-S salario Packed(7:2); Dcl-S nombre Char(20); Dcl-S fechaNacimiento Date; Dcl-S horaActual Time; edad = 30; salario = 4500.75; nombre = 'Ana Gomez'; fechaNacimiento = %date('1990-05-15'); horaActual = %time('14:30:00'); Dsply ('Nombre: ' + nombre); Dsply ('Edad: ' + %char(edad)); Dsply ('Salario: ' + %char(salario)); Dsply ('Fecha de Nacimiento: ' + %char(fechaNacimiento)); Dsply ('Hora Actual: ' + %char(horaActual)); *inlr = *on;
Explicación del Código
-
Declaración de Variables:
- Se declaran variables de diferentes tipos de datos:
edad
,salario
,nombre
,fechaNacimiento
yhoraActual
.
- Se declaran variables de diferentes tipos de datos:
-
Asignación de Valores:
- Se asignan valores a las variables utilizando el operador
=
.
- Se asignan valores a las variables utilizando el operador
-
Impresión de Valores:
- Se utilizan las funciones
Dsply
y%char
para convertir los valores a cadenas de texto y mostrarlos en pantalla.
- Se utilizan las funciones
-
Finalización del Programa:
- Se establece
*inlr = *on
para indicar el final del programa.
- Se establece
- Ejercicios Prácticos
Ejercicio 1
Declara una variable de tipo Zoned
para almacenar la edad de una persona y asígnale el valor 28
. Luego, imprime el valor de la variable.
Ejercicio 2
Declara una variable de tipo Char
para almacenar el nombre de una persona y asígnale el valor Carlos
. Luego, imprime el valor de la variable.
Ejercicio 3
Declara una variable de tipo Date
para almacenar la fecha de nacimiento de una persona y asígnale el valor 2000-01-01
. Luego, imprime el valor de la variable.
Soluciones
Solución Ejercicio 1
Solución Ejercicio 2
Solución Ejercicio 3
**free Dcl-S fechaNacimiento Date; fechaNacimiento = %date('2000-01-01'); Dsply ('Fecha de Nacimiento: ' + %char(fechaNacimiento)); *inlr = *on;
Conclusión
En esta sección, hemos aprendido sobre los tipos de datos y las variables en RPG. Hemos visto cómo declarar variables, asignarles valores y cómo imprimir esos valores. Estos conceptos son fundamentales para cualquier programa en RPG y te preparan para los temas más avanzados que veremos en los siguientes módulos.
Curso de Programación RPG
Módulo 1: Introducción a la Programación RPG
- ¿Qué es RPG?
- Configuración de tu Entorno de Desarrollo
- Sintaxis y Estructura Básica
- Programa Hola Mundo
Módulo 2: Conceptos Básicos
- Tipos de Datos y Variables
- Operadores y Expresiones
- Estructuras de Control
- Funciones y Procedimientos
Módulo 3: Trabajando con Datos
Módulo 4: Técnicas Avanzadas de Programación
Módulo 5: RPG IV y Más Allá
Módulo 6: Integrando RPG con Tecnologías Modernas
Módulo 7: Aplicaciones del Mundo Real
- Construyendo una Aplicación Simple
- Estudio de Caso: Sistema de Gestión de Inventarios
- Estudio de Caso: Sistema de Nómina
- Mejores Prácticas y Revisión de Código