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:

  1. H-Specs (Specifications Header): Define las opciones de compilación y las características del programa.
  2. F-Specs (File Specifications): Define los archivos que el programa utilizará.
  3. D-Specs (Definition Specifications): Define las variables, constantes y estructuras de datos.
  4. C-Specs (Calculation Specifications): Contiene las instrucciones de cálculo y lógica del programa.
  5. 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

D MyVar       S             10A
D MyNum       S              5P 0
  • 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

C                   EVAL      MyVar = 'Hello'
C                   DSPLY     MyVar
C                   SETON                                        LR
  • 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

C* This is a comment
C                   EVAL      MyVar = 'Hello'  // Another comment

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

H DFTACTGRP(*NO) BNDDIR('QC2LE')

D MyVar       S             10A

C                   EVAL      MyVar = 'Hello RPG'
C                   DSPLY     MyVar
C                   SETON                                        LR

Explicación

  1. H-Specs: Define que no se utilizará el grupo de activación por defecto y se enlaza con la biblioteca QC2LE.
  2. D-Specs: Declara una variable alfanumérica MyVar de 10 caracteres.
  3. C-Specs:
    • EVAL MyVar = 'Hello RPG': Asigna el valor 'Hello RPG' a la variable MyVar.
    • DSPLY MyVar: Muestra el valor de MyVar 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

  1. H-Specs: Define que no se utilizará el grupo de activación por defecto y se enlaza con la biblioteca QC2LE.
  2. D-Specs: Declara tres variables numéricas Num1, Num2 y Sum de 5 dígitos sin decimales.
  3. C-Specs:
    • EVAL Num1 = 10: Asigna el valor 10 a la variable Num1.
    • EVAL Num2 = 20: Asigna el valor 20 a la variable Num2.
    • EVAL Sum = Num1 + Num2: Suma los valores de Num1 y Num2 y asigna el resultado a Sum.
    • DSPLY Sum: Muestra el valor de Sum 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.

© Copyright 2024. Todos los derechos reservados