rpg tutorial

Download Rpg Tutorial

Post on 30-Oct-2015

199 views

Category:

Documents

0 download

Embed Size (px)

TRANSCRIPT

  • Lenguaje RPG400

    2002 Daniel Hugo Enrquez Leivas Buenos Aires - Argentina Reproducido con el permiso de su autor para Recursos As/400 -Barcelona - Espaa.

    http://www.recursos-as400.com

    1

  • Lenguaje RPG400

    2002 Daniel Hugo Enrquez Leivas Buenos Aires - Argentina Reproducido con el permiso de su autor para Recursos As/400 -Barcelona - Espaa.

    http://www.recursos-as400.com

    2

    Naci la idea de desarrollar este Tutorial una noche embarcado en la Fragata A.R.A LIBERTAD Atlntico Sur, lo comenc a escribir a bordo del velero 'Goleta Sarandi' en Buenos Aires Argentina y lo finalice a bordo del velero 'Sudaca forever ' Michigan EEUU. Dedicado a mis hijos Diego Andres y Juan Alberto, a mi Madre, a Galicia en memoria de mi Padre, a toda mi familia y amigos en Argentina, Espaa y United State of America.

    Daniel Hugo Enriquez Leivas

    25 de Septiembre de 2002 Buenos Aires Argentina

  • Lenguaje RPG400

    2002 Daniel Hugo Enrquez Leivas Buenos Aires - Argentina Reproducido con el permiso de su autor para Recursos As/400 -Barcelona - Espaa.

    http://www.recursos-as400.com

    3

    INDICE

    1. INTRODUCCION 2. OPERACIONES ARITMETICAS.

    Operacin ADD. Operacin DIV. Operacin MULT. Operacin MVR. Operacin SQRT. Operacin SUB. Operacin XFOOT. Operacin Z-ADD. Operacin Z-SUB.

    3. OPERACIONES DE MOVIMIENTO

    Operacin MOVE. Operacin MOVEA. Operacin MOVEL

    4. OPERACIONES DE MOVIMIENTO DE ZONA Operacin MHHZO. Operacin MHLZO. Operacin MLHZO. Operacin MLLZO.

    5. OPERACIONES DE ESTABLECIMIENTO DE INDICADOR. Operacin SETON. Operacin SETOF 6. OPERACIONES CON SERIES

    Operacin CAT. Operacin check. Operacin CHECR. Operacin SCAN. Operacin SUBST. Operacin XLATE.

    7. OPERACIONES DE MATRIZ

    Operacin LOKUP. Operacin MOVEA. Operacin SORTA. Operacin XFOOT.

  • Lenguaje RPG400

    2002 Daniel Hugo Enrquez Leivas Buenos Aires - Argentina Reproducido con el permiso de su autor para Recursos As/400 -Barcelona - Espaa.

    http://www.recursos-as400.com

    4

    8. OPERACIONES DE COMPARACION

    Operacin COMP. Operacin Fis. Operacin AND. Operacin Hors. Operacin CABxx. Operacin CASxx. Operacin DOUxx. Operacin DOWxx. Operacin Ex.

    9. OPERACIONES DE SUBRUTINA

    Operacin BEGSR. Operacin ENDSR. Operacin EXSR. Operacin CASxx.

    10. PROCESO DE BASE DE DATOS

    Definiciones externas e internas. Archivos de solo lectura. Archivos de Salida. Archivos de actualizacin.

    11. OPERACIONES CON BASES DE DATOS

    Operacin SETLL. Operacin READ. Operacin SETGT. Operacin READP. Operacin READE. Operacin READC. Operacin CHAIN. Operacin WRITE. Operacin UPDAT. Operacin DELET. Operacin OPEN. Operacin CLOSE. Operacin FEOD. Operacin UNLCK. Operacin EXCPT.

    12. OPERACIONES DE LLAMADA Y DECLARATIVAS

    Operacion CALL. Operacion FREE. Operacin PARM. Operacin PLIST. Operacin RETRN. Operacin KFLD. Operacin KLIST.

    13. OPERACIONES DE AREA DE DATOS

    Operacion IN. Operacion OUT. Operacin UNLCK. 14. OPERACIONES DE INICIALIZACION

    Operacin CLEAR. Operacin RESET.

  • Lenguaje RPG400

    2002 Daniel Hugo Enrquez Leivas Buenos Aires - Argentina Reproducido con el permiso de su autor para Recursos As/400 -Barcelona - Espaa.

    http://www.recursos-as400.com

    5

    15. OPERACIONES DE INFORMACION

    Operacin DEBUG. Operacin DUMP. Operacin SHTDN. Operacin TIME.

    16. OPERACIONES DE BITS Operacin BITOF. Operacin BITON. Operacin TESTB.

    17. OPERACIONES DECLARATIVAS Y DE LLAMADA

    Operacin CALL. Operacin PARM. Operacin PLIST. Operacin RETRN. Operacin FREE. Operacin DEFN. Operacin KLIST. Operacin KFLD.

    18. SUBFILE

    Formato de registro SFL. Formato de registro SFLCTL. SLFSIZ . SFLPAG. SFLEND. SFLCLR. Inicializacin de subfile. Grabar un subfile. Actualizar un subfile. Desplegar un subfile.

  • Lenguaje RPG400

    2002 Daniel Hugo Enrquez Leivas Buenos Aires - Argentina Reproducido con el permiso de su autor para Recursos As/400 -Barcelona - Espaa.

    http://www.recursos-as400.com

    6

    1. INTRODUCCION Ha transcurrido mas de treinta aos desde que naciera tmidamente el lenguaje RPG. En sus albores fue concebido simplemente para realizar reportes de datos debido a su fcil y rpida programacin en comparacin a los extensos y tediosos programas en COBOL. En la dcada del setenta se contaba con maquinas como las IBM 360 o el sistema 3 de la misma compaa. Al ver el xito de este lenguaje la empresa IBM lo potencio y comenz a difundirse por sobre todo en sus sistemas IBM/34, IBM/36, IBM/38 hasta llegar a nuestros das, donde se le utiliza en las diversas aplicaciones en IBM AS/400. Fueron los aos y la tecnologa lo que permiti su evolucin, primero al RPG II luego el RPG III en el S/38, hasta nuestros das con el RPG/400, RPG IV y RPG ILE. Desde su nacimiento este lenguaje cuenta con un ciclo propio de procesamiento y una sintaxis en su codificacin estructurada y facilitada por medio de formularios (Hojas) que cumplen determinadas funciones. Es as como tenemos una hoja para definir los archivos o bases de datos a utilizar en los programas identificada con 'F' -FILE-, una hoja I -INPUT- donde realizamos las definiciones internas, la hoja 'C' - CALC - donde realizamos las operaciones de calculo y procesamiento de archivos y una hoja 'O' OUTPUT - donde establecemos las salidas de datos. Adems por medio del AS/400 que nos permite trabajar con bases de datos relacionales cuenta con definiciones externas de las mismas, definiciones externas de pantallas y de reportes de impresin. Tambin no olvidaremos las hojas E - Extensin - para definir tablas y matrices como la Hoja - L - que nos permite establecer longitudes de formularios no standart. Estos formularios cuentan con una serie de columnas que deberemos codificar respetando estrictamente la sintaxis. Algunas de estas columnas sern opcionales, por lo tanto no necesaria su codificacin y otras obligatorias, siempre considerando lo que estamos programando y el objetivo deseado.

  • Lenguaje RPG400

    2002 Daniel Hugo Enrquez Leivas Buenos Aires - Argentina Reproducido con el permiso de su autor para Recursos As/400 -Barcelona - Espaa.

    http://www.recursos-as400.com

    7

    El RPG identifica cada una de estas hojas ya que las mismas llevan en la columna numero 6 su identificacin segn corresponda, una F para la hoja File, una C para la hoja Calc,etc. El xito de una buena codificacin y programacin no solo se deber al cumplimiento del uso de una correcta sintaxis sino tambin al buen dominio de las diferentes sentencias y comandos de este lenguaje. Desarrollaremos cada una de las formas de codificacin y veremos en el transcurso de este manual todos los comandos y su manera de emplearlos. En el ultimo capitulo analizaremos una serie de programas que nos permitirn obtener una acabada forma de la codificacin y utilizacin del RPG/400.

  • Lenguaje RPG400

    2002 Daniel Hugo Enrquez Leivas Buenos Aires - Argentina Reproducido con el permiso de su autor para Recursos As/400 -Barcelona - Espaa.

    http://www.recursos-as400.com

    8

    2. OPERACIONES ARITMETICAS Las operaciones aritmticas son: ADD sumar DIV dividir MULT multiplicar MVR mover resto SQRT raiz cuadrada SUB restar XFOOT sumar los elementos de una matriz Z-ADD establecer a cero y sumar Z-SUB borar a cero y restar En el RPG/400 cuando usted quiere trabajar con operaciones aritmticas, las mismas se podrn realizar con campos numricos. Estas operaciones se realizan en formato decimal empaquetado y los datos contenidos en otros factores tambin se convierten en formato decimal empaquetado. Al realizar cualquier operacin de suma, resta, divisin, multiplicacin todo campo que se ubique en el campo de resultado sustituye los datos que hubiera en dicho campo. Deber considerar que este campo de resultado debe ser lo suficientemente grande como para almacenar el resultado de la operacin. Cuando realizamos una operacin aritmtica tenemos la posibilidad de establecer un redondeo de los valores decimales excepto en la operacin MVR ( mover resto. Todas las operaciones aritmticas tienen signo ( un signo mas es una F hexadecimal y un signo menos es una D hexadecimal. El signo ocupa la parte de byte de orden inferior. Veremos a continuacin cada una de las operaciones aritmeticas que podemos realizar con este lenguaje.

  • Lenguaje RPG400

    2002 Daniel Hugo Enrquez Leivas Buenos Aires - Argentina Reproducido con el permiso de su autor para Recursos As/400 -Barcelona - Espaa.

    http://www.recursos-as400.com

    9

    ADD ( sumar ) Para realizar la operacin de suma en RPG/400 deberemos utilizar la operacin ADD. Esta operacin suma el contenido del factor 1 al del factor 2 y almacena el resultado de la misma en el campo de resultado. Por ejemplo si quisiramos sumar al campo STOCK la cantidad que nos han remitido por la ultima compra efectuada de un determinado articulo, campa COMPRA, en la columna factor 1 pondramos STOCK, en la columna cdigo de operacin la instruccin ADD, en la columna factor 2 COMPRA y en el campo de resultado STOCK. Supongamos que en la base de datos de los artculos de nuestra empresa el campo STOCK es igual a 1025