En este tema, aprenderemos sobre la sintaxis y la estructura básica de un programa RPG. Este conocimiento es fundamental para escribir y entender programas en RPG.
Contenido
Estructura de un Programa RPG
Un programa RPG típico tiene la siguiente estructura:
- H-Specs (Specifications Header): Define las opciones de compilación y las características del programa.
- F-Specs (File Specifications): Define los archivos que el programa utilizará.
- D-Specs (Definition Specifications): Define las variables, constantes y estructuras de datos.
- C-Specs (Calculation Specifications): Contiene las instrucciones de cálculo y lógica del programa.
- P-Specs (Procedure Specifications): Define los procedimientos y subrutinas.
Ejemplo de Estructura
H DFTACTGRP(*NO) BNDDIR('QC2LE') FMYFILE IF E K DISK D MyVar S 10A C EVAL MyVar = 'Hello' C DSPLY MyVar C SETON LR
Declaración de Variables
Las variables en RPG se declaran en la sección D-Specs. Aquí se especifica el nombre, tipo y longitud de la variable.
Ejemplo de Declaración de Variables
MyVar
es una variable alfanumérica de 10 caracteres.MyNum
es una variable numérica de 5 dígitos sin decimales.
Instrucciones Básicas
Las instrucciones básicas en RPG se colocan en la sección C-Specs. Aquí es donde se realiza la lógica del programa.
Ejemplo de Instrucciones Básicas
EVAL
se utiliza para asignar valores a las variables.DSPLY
se utiliza para mostrar el valor de una variable en la pantalla.SETON LR
se utiliza para indicar el final del programa.
Comentarios
Los comentarios en RPG se pueden agregar utilizando el carácter *
en la columna 7.
Ejemplo de Comentarios
Ejemplo Práctico
Vamos a crear un programa simple que declare una variable, le asigne un valor y lo muestre en la pantalla.
Código
Explicación
- H-Specs: Define que no se utilizará el grupo de activación por defecto y se enlaza con la biblioteca
QC2LE
. - D-Specs: Declara una variable alfanumérica
MyVar
de 10 caracteres. - C-Specs:
EVAL MyVar = 'Hello RPG'
: Asigna el valor 'Hello RPG' a la variableMyVar
.DSPLY MyVar
: Muestra el valor deMyVar
en la pantalla.SETON LR
: Indica el final del programa.
Ejercicio Práctico
Ejercicio
Escribe un programa RPG que declare dos variables numéricas, les asigne valores, sume estos valores y muestre el resultado en la pantalla.
Solución
H DFTACTGRP(*NO) BNDDIR('QC2LE') D Num1 S 5P 0 D Num2 S 5P 0 D Sum S 5P 0 C EVAL Num1 = 10 C EVAL Num2 = 20 C EVAL Sum = Num1 + Num2 C DSPLY Sum C SETON LR
Explicación
- H-Specs: Define que no se utilizará el grupo de activación por defecto y se enlaza con la biblioteca
QC2LE
. - D-Specs: Declara tres variables numéricas
Num1
,Num2
ySum
de 5 dígitos sin decimales. - C-Specs:
EVAL Num1 = 10
: Asigna el valor 10 a la variableNum1
.EVAL Num2 = 20
: Asigna el valor 20 a la variableNum2
.EVAL Sum = Num1 + Num2
: Suma los valores deNum1
yNum2
y asigna el resultado aSum
.DSPLY Sum
: Muestra el valor deSum
en la pantalla.SETON LR
: Indica el final del programa.
Conclusión
En esta sección, hemos aprendido sobre la sintaxis y la estructura básica de un programa RPG. Hemos cubierto la estructura general, la declaración de variables, las instrucciones básicas y cómo agregar comentarios. Además, hemos visto un ejemplo práctico y un ejercicio para reforzar los conceptos aprendidos.
En el próximo tema, profundizaremos en los tipos de datos y variables en RPG.
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