Académique Documents
Professionnel Documents
Culture Documents
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
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.
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.
K = Campo Clave, es usado solo cuando definas tablas, te permite ordenar un tabla fsica o lgica
por su campo clave.
o
o
o
Adicin
DSP01
Formato
Archivo
E
Archivo
C
Tipo Direc.
Regist.
Archivo
F
Dispos
Archivo
Palab. Claves
WORKSTN SFILE(DATA:NRR)
Adicin
Archivo
Palab. Claves
OFLIND(*IN10)
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.
Tipo de
Dato
Pos.
Dec.
Funciones
CONST(CODIGO DE EXISTE)
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
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
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
SETLL
Resultado
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.
EQ
30
Operador
SETGT
Factor2
Resultado
Nom.Registro
Operador SETGT.-
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.-
Operador
CHAIN
DOW
DSPLY
READE
ENDDO
Factor2
Nom.Registro
*IN30=0
Nom.Registro
Resultado
HI
30
EQ
30
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.-
HI
30
HI
30
Operador
WRITE
Factor2
Nom.Registro
Resultado
Operador
DELETE
Factor2
Nom.Registro
Resultado
Operador
UPDATE
Factor2
Nom.Registro
Resultado
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
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
Factor2
Reg.Pantalla
Resultado
Operador
EXSR
Factor2
Nom.Subrutin
a
Resultado
Operador
BEGSR
Factor2
Resultado
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