Está en la página 1de 29

REPORT PROGRAM GENERATOR (RPG) Es un lenguaje de programacin de alto nivel desarrollado y diseado por IBM para generar informes

s comerciales o de negocios.
Ha sido actualizado en diversas ocasiones, dando origen a las diferentes

versiones del lenguaje. Una de las ltimas actualizaciones que se ha realizado hasta la fecha es el RPG/IV tambin conocido como RPG ILE, y con la aparicin de la versin 5 del OS/400, surgi una nueva modificacin sobre el lenguaje, soportndose a partir de ese momento la programacin en formato libre.

El RPG IV es un lenguaje estructurado, cuya programacin es mediante

hojas y la lgica es mediante columnas, la ventaja de programar en RPG IV, es que se pueden utilizar sentencias del RPG III.

RPG -- Columna 09: 7 Hojas de codificacin.


H Head Cabecera de programacin F Formato Para definir Archivo: Fsico ,Lgicos , Pantallas ,

E Elementos Se utiliza para declarar matrices (Arreglos), renombrar Registros. L Logical Se usa para declarar secuencia de quiebres I Imput - Integridad Se utiliza para declarar estructuras C Calculo Se utiliza para la Secuencia principal de programa RPG O Salida Se utiliza para Generar Reportes en el mismo programa

RPGILE : Intervienen las hojas: H F D C Columna 09 Tipo de Hoja.


Hoja H

HPalabras Clave+++++++++++++++++++++++Comentarios+++++++ ...+... Palabras clave de especificacin de control Palabras Claves 0000.01 HDATFMT(*YMD) TIMFMT(*HMS) 100517 Hoja F Declaracin de archivos ( Fsicos , Lgicos, Pantallas, Impresoras) Formato de Especificacin

HOJA F:

Donde: 1. Nombre arch: Es el nombre del Archivo de Pantalla, Tabla Fsica, Tabla Lgica, o Reporte. 2. Tipo de Archivo: Entre los cuales tenemos
C =Indica que el archivo combina Entrada y Salida de datos (solo pantallas). I =Indica que es un archivo de entrada de datos (solo tablas para consultas). U =Indica que es un archivo de actualizacin de datos (solo tablas para actualizaciones, eliminaciones,

consultas). O =Indica que es un archivo de salida de datos (solo reportes).

3.

Nota = Cuando se utilice el tipo de archivo U, se deber definir en Adicin de Archivo la letra A. Designacin de Archivo: Aqu usamos:
P Digite P para indicar un archivo primario. S Digite S para indicar un archivo secundario.

R Digite R para indicar un archivo de Direcciones de registros.


T Digite T para indicar un archivo de matrices o de tablas. F Digite F para indicar un archivo de procedimiento completo.

4.

Nota = Vas a utilizar la designacin de archivos en todos los archivos menos en reportes. Adicin de Archivos: Aqu usamos A (Adicionar registros). Nota = Vas a usar adicin de archivos solo cuando quieras ingresar datos a una tabla.

Donde: 5. Formato de Archivo = Aqu tenemos E (Externo), quiere decir que vamos a llamar al archivo externamente del programa. 6. Tipo de Direccin de Registro = Aqu tenemos K (Campo Clave), es usado solo cuando definas tablas, te permite ordenar un tabla fsica o lgica por su campo clave. Tambin podemos utilizar lo siguiente:

Deje en blanco el campo si se utilizan nmeros de registro relativos para procesar el archivo, si los registros se leen consecutivamente o si las claves de un archivo de proceso entre lmites estn en el mismo formato que las claves del archivo que se procesa. A Digite A para una clave de carcter. D Digite D para una clave de fecha. F Digite F para una clave de nmero flotante. G Digite G para un campo clave de Grficos. P Digite P para una clave empaquetada. T Digite T para una clave de hora. Z Digite Z para una clave de indicacin de hora.

7.

Dispositivo: Aqu tenemos:


WORKSTN = Estacin de trabajo (solo en pantallas). DISK = Disco (solo en tablas). PRINTER = Reportes (solo en reportes).

Donde: 8. Palabras Claves: Son palabras reservadas para la funcionalidad de un programa. Elija entre las siguientes palabras claves:

BLOCK(*NO | *YES): Digite esta palabra clave para controlar el bloqueo de registros para el archivo. COMMIT{(nombre rpg): Digite COMMIT si este archivo est bajo control de compromiso. Especifique nombre_rpg si desea determinar, en el momento de la ejecucin, si el archivo est bajo control de compromiso. DEVID(nombre campo): Digite DEVID para especificar el nombre del campo que va a contener el nombre del dispositivo. EXTIND(*INU1-*INU8): Especifique esta palabra clave para indicar que slo se puede realizar OPEN en el archivo si el indicador externo se ha establecido en el trabajo. IGNORE(nombre formato registro: nombre formato registro:...): Digite el nombre del formato de registro a ignorar de un archivo descrito externamente. Puede especificar mltiples formatos de registro. No puede especificar IGNORE si quiere especificar INCLUDE. INCLUDE(nombre formato registro: nombre formato registro:...): Digite los nombres de los formatos de registro que deben incluirse. No especifique formatos de registro que se especifican para los archivos WORKSTN con la palabra clave SFILE. Puede especificar mltiples formatos de registro. No puede especificar INCLUDE si quiere especificar IGNORE. INDDS(nombre de estructura de datos): Digite el nombre de la estructura de datos de indicador asociada a una estacin de trabajo o a un archivo de impresora. INFDS(nombre estructura datos): Digite el nombre de la estructura de datos que contendr la informacin de excepcin/error. INFSR(nombre subrutina): Digite el nombre de la subrutina que tomar el control cuando se produzca una condicin de excepcin/error. MAXDEV(*ONLY|*FILE): Especifique el tipo de archivo de dispositivo WORKSTN. El valor por omisin, *ONLY, indica un archivo de un solo dispositivo. Digite *FILE para recuperar el mximo nmero de dispositivos al abrir el archivo. OFLIND(indicador): Digite un valor de *IN01 a *IN99 para activar un indicador cuando se imprime una lnea en la lnea de desbordamiento, o cuando se alcanza o se salta la lnea de desbordamiento durante una operacin de espacio o salto.

HOJA D:

5 6

Donde:
1 2

Nombre: Es el nombre de la variable, constante o estructura de datos. Tipo de declaracin: Aqu tenemos: S = Permite declarar variables. C = Permite declarar constantes, DS = Permite declarar estructura de datos.

3
4

Longitud: Es la longitud de la variable y debe estar alineada a la derecha.


Tipo de dato: Aqu tenemos: S = Permite definir una variable numrica. A = Permite definir una variable carcter. Posiciones Decimales: Son los decimales del campo numrico. Funciones: Son las funciones que se pueden usar definiendo variables, constantes o estructuras de datos.

5 6

HOJA C:

Permite realizar la lgica del programa, este tipo de hoja es de RPG III.

HOJA CX:

Permite realizar la lgica del programa, este tipo de hoja es de RPG IV.

Operadores Aritmticos.

Operadores de Relacin.

Operadores Lgicos.

OTRO OPERADORES: Operador DSPLY: Visualizar funcin, permite ingresar como visualizar datos de una variable, y es usado en la hoja C. Sintaxis.

Ejemplo. Se pide ingresar un nmero a la variable NUM

Operador EVAL. Permite evaluar expresiones, y es usado en la hoja C o CX. Sintaxis.

Ejemplo. Se pide sumar las variables numricas N1 +N2 y el resultado guardarlo en RESUL

Condicionales

Estructuras

Repetitivas

16

Instruccin IF ELSE ENDIF Es una instruccin condicional, que permite comparar datos, y es usado en la hoja C o CX. Sintaxis.
FACTOR1 OPERADOR IF ELSE ENDIF FACTOR2 <CONDICION>

Instruccin IF ELSEIF ENDIF Es una instruccin condicional, que permite comparar datos con posibles resultados diferentes, realizando para cada caso una serie de instrucciones especficas, y es usado en la hoja C de RPG III o CX de RPG IV. Sintaxis. FACTOR1 OPERADOR FACTOR2 IF <CONDICION>

ELSEIF ENDIF

<CONDICION>

Instruccin SELECT - WHEN ENDSL Es una instruccin condicional, que permite comparar datos, y es usado en la hoja CX de RPG IV. Sintaxis.
FACTOR1 OPERADOR SELECT WHEN
WHEN OTHER ENDSL

FACTOR2
<CONDICION> <CONDICION>

PROCESOS REPETITIVOS Entre los procesos repetitivos ms usados tenemos los siguientes:
Proceso FOR ENDFOR

Sintaxis.
FACTOR1 OPERADOR
FOR

FACTOR2
X=Var.InicialToVar.Final

ENDFOR

Proceso DOW ENDDO

Sintaxis.
FACTOR1 OPERADOR DOW FACTOR2 <CONDICION>

ENDDO

Operador LEAVE. Es un operador que me permite salir de un proceso repetitivo. Sintaxis.


FACTOR1 OPERADOR DOW
DOW

FACTOR2 <CONDICION>
<CONDICION>

LEAVE
ENDDO ENDDO

Operador ITER Es un operador que me permite regresar al inicio de un proceso repetitivo. Sintaxis.
FACTOR1 OPERADOR DOW DOW ITER ENDDO ENDDO FACTOR2 <CONDICION> <CONDICION>

Ingrese por teclado dos notas, calcular el promedio y visualizar su

condicin APROBADO o DESAPROBADO.

FACTOR 1

OPERACIN

FACTOR 2

RESULTADO

ING. Nota 1: ING. Nota 2:

EVAL DSPLY DSPLY EVAL IF DSPLY ELSE DSPLY ENDIF EVAL

*INLR='0'

N1 N2
PROM=(N1+N2)/2 PROM>=10.5

APROBADO
DESAPROBADO

*INLR='1'

Ingresar un nmero entre 1 y 5, y luego visualizar su equivalente en letras.

Ingrese por teclado un nmero de dos cifras y visualice si es capica o no

es capica.

Visualizar los nmeros enteros del 1 al 5.

Crear un programa que permita ingresar un nmero entero de dos cifras, calcular y visualizar si dicho nmero es primo o no es primo.

Crear un programa que permita invertir un nmero.

También podría gustarte