Vous êtes sur la page 1sur 10

Introduccin al RPG IV

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.

Tipos de Hojas.
El RPG IV, maneja una diversidad de hojas, de las cuales vamos a mencionar
las hojas mas usadas.

Declaracin de Archivos
Hoja FX o F = Permite declarar archivos tales como Pantallas, Tablas Fsicas,
Tablas Lgicas, Reportes.
Sintaxis.
Archivo
Tipo de
Desig.
Adicin
Archivo
Archivo Archivo
Formato
Archivo

Tipo Direc. Dispos


Regist.

Palab. Claves

Donde.
Archivo = Es el nombre del Archivo de Pantalla, Tabla Fsica, Tabla Lgica, o Reporte.
Tipo de Archivo = Entre los cuales tenemos:
o C = Combinado (Entrada / Salida) de datos (solo pantallas).
o I = Entrada (solo tablas para consultas).
o U = Actualizacin (solo tablas para actualizaciones, eliminaciones, consultas).
o O = Salida (solo reportes).
Designacin de Archivo = Aqu usamos:
o F = Procedimiento completo.
Nota = Vas a utilizar la designacin de archivos en todos los archivos menos en
reportes.

Adicin de Archivos = Aqu usamos:

Nota = Vas a usar adicin de archivos solo cuando quieras ingresar datos a una
tabla.
Formato de Archivo = Aqu tenemos:

A = Adicionar registros

E = Externo, quiere decir que vamos a llamar al archivo externamente del programa, pantalla,
tabla.

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.

Dispositivo = Aqu tenemos:

o
o
o

WORKSTN = Estacin de trabajo (solo en pantallas).


DISK = Disco (solo en tablas).
PRINTER = Reportes (solo en reportes).

Palabras Claves = son palabras reservadas para la funcionalidad de un programa.

Ejemplo: Para definir PANTALLAS


Archivo
Tipo de
Desig.

Adicin

DSP01
Formato
Archivo
E

Archivo
C
Tipo Direc.
Regist.

Archivo
F
Dispos

Archivo
Palab. Claves

WORKSTN SFILE(DATA:NRR)

SFILE = SE DECLARA CUANDO LA PANTALLA ES UN SUBFILE

Ejemplo: Para definir REPORTES


Archivo
Tipo de
Desig.
Archivo
Archivo
PRT01
O
Formato
Tipo Direc. Dispos
Archivo
Regist.
E
PRINTER

Adicin
Archivo
Palab. Claves
OFLIND(*IN10)

OFLIND = PERMITE CONTROLAR EL SALTO DE PAGINA EN UN REPORTE

Ejemplo: Para definir TABLAS (Consultas)


Archivo
Tipo de
Desig.
Adicin
Archivo
Archivo Archivo
TAB01
I
F
Formato
Tipo Direc. Dispos Palab. Claves
Archivo
Regist.
E
K
DISK
Ejemplo: Para definir TABLAS (Solo Ingreso de Datos)
Archivo
Tipo de
Desig.
Adicin
Archivo
Archivo Archivo
TAB01
I
F
A
Formato
Tipo Direc. Dispos Palab. Claves
Archivo
Regist.
E
K
DISK
Ejemplo: Para definir TABLAS (Ingreso, Consulta, Modifica, Elimina)
Archivo
Tipo de
Desig.
Adicin
Archivo
Archivo Archivo
TAB01
U
F
A
Formato
Tipo Direc. Dispos Palab. Claves
Archivo
Regist.
E
K
DISK
Ejemplo: Para definir TABLAS (Consulta, Modifica, Elimina)
Archivo
Tipo de
Desig.
Adicin
Archivo
Archivo Archivo
TAB01
U
F
Formato
Tipo Direc. Dispos Palab. Claves
Archivo
Regist.
E
K
DISK

Declaracin de variables, constantes, estructura


de datos
Hoja D = Permite declarar variables, constantes, estructura de datos.
Sintaxis.
Nombre
Tipo de Declaracin Longitud
Tipo de Dato

Pos. Decimales

Funciones

Donde:
Nombre = Es el nombre de la variable, constante o estructura de datos.
Tipo de declaracin = Aqu tenemos:
o S = Permite declarar variables.
o C = Permite declarar constantes,
o DS = Permite declarar estructura de datos.
Longitud = Es la longitud de la variable.
Tipo de dato = Aqu tenemos:
o S = Permite definir una variable numrica.
o 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.

Ejemplo: Para definir variable NUMERICA


Nombre Tipo de
Longitud
Declaracin
NUM01 S
5
Tipo de Pos.
Funciones
Dato
Dec.
S
00
Ejemplo: Para definir variable CARACTER
Nombre Tipo de
Longitud
Declaracin
VAR
S
30
Tipo de Pos.
Funciones
Dato
Dec.
A
Ejemplo: Para definir CONTANTES
Nombre Tipo de
Longitud
Declaracin
CONS0 C
1

Tipo de
Dato

Pos.
Dec.

Funciones
CONST(CODIGO DE EXISTE)

Ejemplo: Para definir variables ESTRUCTURA DE DATOS


Nombre
Tipo de
Desde To/
Tipo
Pos
Declaracin
Longitud
Dato Dec
XFECHA
DS
MM
1
2
S
00
DD
3
4
A
AA
5
8
A

Lgica del programa


Hoja C = Permite realizar la lgica del programa, este tipo de hoja es de RPG
III.
Sintaxis.
Factor1
Operador
Factor2
Resultado
HI
LO
EQ
CX = Permite realizar la lgica del programa, este tipo de hoja es de RPG IV.
Sintaxis.
Factor1
Operador
Factor2 Ampliado

Tipos de Operadores.
Operadores Aritmticos.
Operador
SUMA
RESTA
MULTIPLICACION
DIVISION
RESTO

RPG III
ADD
SUB
MULT
DIV
MVR

RPG IV
+
*
/
FORMULA

Operadores de Relacin
Operador
MAYOR
MENOR
MAYOR IGUAL
MENOR IGUAL
IGUAL
DIFERENTE

RPG III
GT
LT
GE
LE
EQ
NE

RPG IV
>
<
>=
<=
=
<>

Operadores Lgicos
Operador
Y
O
NEGACION

RPG III o RPG IV


AND
OR
NOT

Operador DSPLY.
Es un operador de RPG III, que permite ingresar como visualizar datos de una
variable, y es usado en la hoja C de RPG III.
Sintaxis.
Factor1
Operador
Factor2
Resultado
Texto
DSPLY
Variable
Ejemplo.
Se pide ingresar un nmero a la variable NUM1
Factor1
Operador
Factor2
Ing. Numero:
DSPLY

Resultado
NUM1

Operador EVAL.
Es un operador de RPG IV, que permite evaluar expresiones, y es usado en la
hoja CX o C.
Sintaxis.
Factor1
Operador
Factor 2 Ampliado
EVAL
Variable= Expresin
Ejemplo.
Se pide sumar las variables numricas A + B y el resultado guardarlo en C
Factor1
Operador
Factor 2 Ampliado
EVAL
C=A+B

Operador MOVE
Es un operador que me permite mover un valor de una variable a otra, de
Derecha a Izquierda, tambin es usado para convertir un valor numrico a
cadena o viceversa, o para extraer caracteres desde el lado derecho hacia el
izquierdo, y es usado en la hoja C de RPG III.
Sintaxis.
Factor1
Operador
Factor2
Resultado
MOVE
Variable Origen
Variable Destino
Ejemplo.
Se pide extraer 4 caracteres de un cdigo desde el lado derecho hacia el
izquierdo.
Donde.
CODCLI = C0001
XNRO = 0

NOTA.- La variable XNRO es de longitud 4 con 0 decimales y es de tipo


numrico.
Factor1

Operador
MOVE

Factor2
CODCLI

Resultado
XNRO

Resultado.
XNRO = 0001

Operador MOVEL
Es un operador que me permite mover un valor de una variable a otra, de
Izquierda a Derecha, tambin es usado para convertir un valor numrico a
cadena o viceversa, o para extraer caracteres desde el lado izquierdo hacia el
derecho, y es usado en la hoja C de RPG III.
Sintaxis.
Factor1
Operador
Factor2
Resultado
MOVEL
Variable Origen
Variable Destino
Ejemplo.
Se pide extraer 4 caracteres de un cdigo desde el lado izquierdo hacia el
derecho.
Donde.
CODCLI = C0001
XCAD =
NOTA.- La variable XCAD es de longitud 4 y es de tipo carcter.
Factor1

Operador
MOVEL

Factor2
CODCLI

Resultado
XCAD

Resultado.
XCAD = C000

Operador *LOVAL.un archivo


Factor1
*LOVAL

Operador
SETLL

Permite ubicar el puntero en el primer registro de


Factor2
Nom.Registro

Resultado

Operador SETLL.- Permite ubicar el puntero un registro antes de donde


esta ubicado actualmente el puntero o del registro mas parecido
Factor1
Operador
Factor2
Resultado
XCOD
SETLL
Nom.Registro

Operador READ.- Permite leer el siguiente registro de un archivo


Factor1

Operador
Factor2
Resultado
EQ
READ
Nom.Registro
Ind
Nota.- El Indicador que colocas en el igual (EQ), te retornara 0, si lee el
registro y 1, si no lee el registro o si la tabla esta vaca.

Sintaxis para leer el primer registro de un archivo


Factor1
Operador
Factor2
Resultado
*LOVAL
SETLL
RTABCLI
READ
RTABCLI

EQ
30

Operador *HIVAL.- Permite ubicar el puntero en el ultimo registro de un


archivo
Factor1
*HIVAL

Operador
SETGT

Factor2
Resultado
Nom.Registro

Operador SETGT.-

Permite ubicar el puntero un registro despus de


donde esta ubicado actualmente el puntero o del registro mas parecido
Factor1
Operador
Factor2
Resultado
XCOD
SETGT
Nom.Registro

Operador READP.- Permite leer el anterior registro de un archivo


Factor1

Operador
Factor2
Resultado EQ
READP
Nom.Registro
Ind
Nota.- El Indicador que colocas en el igual (EQ), te retornara 0, si lee el
registro y 1, si no lee el registro o si la tabla esta vaca.
Sintaxis para leer el ultimo registro de un archivo
Factor1
Operador
Factor2
Resultado
*HIVAL
SETGT
RTABCLI
READP
RTABCLI

EQ
30

Operador READE.-

Permite leer el siguiente registro igual al valor


buscado en un archivo
Factor1
Operador
Factor2
Resultado EQ
XCOD
READE
Nom.Registro
Ind
Nota.- El Indicador que colocas en el igual (EQ), te retornara 0, si lee el
registro y 1, si no lee el registro o si la tabla esta vaca.
Sintaxis
Factor1
XCOD
XCOD
XCOD

Operador
CHAIN
DOW
DSPLY
READE
ENDDO

Factor2
Nom.Registro
*IN30=0
Nom.Registro

Resultado

HI
30

EQ

30

Operador READC.- Permite leer el registro cambiado en un subarchivo


Factor1

Operador
READC

Factor2
Resultado EQ
Registro de Datos
Ind
del Subfile
Nota.- El Indicador que colocas en el igual (EQ), te retornara 0, si cambias el
registro en el Subfile, y 1, si no haces ningn cambio.

Sintaxis
Factor1
OP

Operador
READC
DOW
CASEQ
ENDSC
READC
ENDDO

Factor2
DATA
*IN60=0
1

Resultado

EQ
60

CONS

DATA

60

Operador CHAIN.-

Permite buscar y leer un registro en un archivo,


mediante una variable o campo
Factor1
Operador
Factor2
Resultado
HI
XCOD
CHAIN
Nom.Registro
Ind
Nota.- El Indicador que colocas en el mayor (HI), te retornara 0, si encontr el
registro y 1, si no encontr.
Si le colocas CHAIN, aparte de buscar y leer te bloquea el registro si es que lo
encuentra, ahora si colocas CHAIN(N), busca y lee el registro pero no lo
bloquea
Sintaxis: Busca el cdigo de cliente y lo bloquea
Factor1
Operador
Factor2
Resultado
XCOD
CHAIN
RTABCLI
IF
*IN30=0
ENCONTRO DSPLY
ENDIF
Sintaxis: Busca el cdigo de cliente y no lo bloquea
Factor1
Operador
Factor2
Resultado
XCOD
CHAIN(N)
RTABCLI
IF
*IN30=0
ENCONTRO DSPLY
ENDIF

HI
30

HI
30

Operador WRITE.- Permite imprimir o grabar un registro en un archivo


Factor1

Operador
WRITE

Factor2
Nom.Registro

Resultado

Operador DELETE.- Permite eliminar un registro en un archivo


Factor1

Operador
DELETE

Factor2
Nom.Registro

Resultado

Operador UPDATE.- Permite actualizar un registro en un archivo


Factor1

Operador
UPDATE

Factor2
Nom.Registro

Resultado

Operador KLIST.- Permite formar claves compuestas en un solo campo.


Factor1

Operador

Factor2

Resultado

KEY01

KLIST
KFLD
KFLD

Clave01
Clave02

Donde:
KFLD = Campo clave a unir

Sintaxis
Factor1
KEY01
KEY01
ENCONTRO

Operador
KLIST
KFLD
KFLD
CHAIN
IF
DSPLY
ENDIF

Factor2

Resultado

HI

NUMPED
CODPRO
RTABDEP
*IN30=0

30

Operador CALL.- Permite llamar a un programa.


Factor1

Operador
CALL
PARM
PARM

Factor2
Nom.Programa

Resultado
Parmetro
Parmetro

Donde:
PARM = Parmetro a enviar (opcional)
Sintaxis
Factor1

Operador
CALL
PARM
PARM

Factor2
PRG09

Resultado
XNUMT
XDESC

Operador EXFMT.- Permite mostrar un registro de pantalla


Factor1

Operador
EXFMT

Factor2
Reg.Pantalla

Resultado

Operador EXSR.- Permite ejecutar Subrutina


Factor1

Operador
EXSR

Factor2
Nom.Subrutin
a

Resultado

Operador BEGSR.- Permite el inicio de la subrutina


Factor1
Nom.Subrutin
a

Operador
BEGSR

Factor2

Resultado

Operador ENDSR.- Permite el inicio de la subrutina


Factor1

Operador
Factor2
Resultado
ENDSR
Nota: El inicio de toda subrutina va despus del EVAL *INLR=1

Sintaxis
Factor1

GENERA
*HIVAL

Operador
EXSR

Factor2
GENERA

EVAL
BEGSR
SETGT
READP
EVAL
ENDSR

*INLR=1
RTABCLI
NUM = NUM + 1

Resultado

EQ

30

Vous aimerez peut-être aussi