Bienvenidos a Iseries Venezuela

Las mejores prácticas, recursos, tips, enlaces, videos y artículos para informáticos relacionados con el Iseries y el As/400 lenguajes de programación RPG, ILE RPG y SQL.

The best practices, resources, tips, links, videoes and articles for computer related to the Iseries and the As/400 languages of programming RPG, ILE RPG and SQL.

Monday, September 20, 2010

Mejores Practicas en RPG: Estructura de Datos


   









1.- Uso Del Extname en la declaración de estructuras de datos:

En el ejemplo se utiliza para acumular totales en los campos de un archivo
Sin tener que renombrar campo a campo.

 Antes: (RPG 3)

     E                    SER        35 11 2             
     I***
     IFP002R
     I              FP2C01                          SER,1
     I              FP2C02                          SER,2
     I              FP2C03                          SER,3
     I              FP2C04                          SER,4
     I              FP2C05                          SER,5
     I              FP2C06                          SER,6
     I              FP2C07                          SER,7
     I              FP2C08                          SER,8
     I              FP2C09                          SER,9
------------------------------------------------
Después: (Rpg4, Free)

     dDsFp002F       e ds                  Extname(Fp002F) Prefix(DS_)
     d Servicios                     11p 2 Dim(35)
     d                                     Overlay(DsFp002F:130)  

 //* 130 es la posición de comienzo delcampo FP2C01 que indica el archivo. Se puede ver con dspffd.

2.- No utilices tablas a tiempo de compilación al final del programa.

Antes:

Tablas al final del programa luego de la Hoja C
**
1Lunes
2Martes
3Miercoles


Después.


     dSemana     Ds
     dLunes                                  10   Inz(‘Lunes’)
     dMartes                                 10  Inz(‘Martes’)
     dMiercoles                             10  Inz(‘Miercoles’)
     d Dias_Semana                     10   Dim(3)
     d                                                  Overlay(Semana)  

3.-La Estructura de Datos para Validar una fecha, es un recurso muy útil.
Esa antigua manera de validar si el día del mes es mayor a 31, si el año es bisiesto,
o si el mes está entre 1 y 12 quedó atrás.

     d                 ds
     dFecVal                    1     10
     dAnoVal                   1      4  0 Inz(0)
     dSep1                        5      5    Inz('-')
     dMesVal                   6      7  0 Inz(0)
     dSep2                        8      8    Inz('-')
     dDiaVal                     9     10  0 Inz(0)
     d*

       Diaval   = Dia;  (dia= dia de La fecha a validar)
       Mesval  = Mes;  (Mes de La fecha a validar)
       Anoval = Ano;  (Ano de La fecha a validar)

Test(DE) *ISO Fecval;
  If %error;
     Dsp_error = 'Fecha Invalida';   
   Endif;


Autor: Ing. Liliana Suárez.


Si te pareció interesante el artículo reenvíalo a un amigo, haciendo click en el sobrecito que está al final del artículo. El conocimiento es valioso, compártelo.

Saturday, September 4, 2010

Integración de Consultas













    Tradicionalmente, en especial en aquellos software que ofrecían soluciones integradas a las organizaciones, se disponía de un menú principal para “navegar” en la consultas del sistema. El primer menú tenía un número significativo de opciones que a su vez nos remitían a submenú o consultas que extraían la información según una clave de acceso en particular. Se tenían innumerables programas que desplegaban la información en pantalla bien sea por nombre, apellido, cédula, código de clientes, producto, etc.

   Cuando revisamos el código fuente del RPG observamos en muchos casos que se trata del acceso al mismo archivo pero realizando una búsqueda (chain) con una clave distinta en cada ocasión, mostrando al final la misma pantalla en todos los casos.

    El inconveniente que trae este sistema de programación es que al requerirse un cambio en las pantallas de consultas hay que cambiar la misma pantalla (por lo menos en su formato básico) en todos los programas donde se requiere desplegar el campo que antes no se desplegaba.

    Actualmente se realizan estos desarrollos con una única pantalla de entrada que tiene todos los parámetros posibles por los que el usuario puede realizar la consulta. El campo que contenga un valor “válido” será utilizado en ese único programa como elemento de búsqueda, para luego desplegar la pantalla con los valores que correspondan. Con la inclusión del SQL dinámico embebido en la programación RPG puede construirse la consulta “a tiempo de ejecución” para extraer los registros que cumplan con la condición de selección especificada por el usuario. El uso de SQL dinámico nos evita la creación de lógicos y por ende, agiliza el tiempo de respuesta en el procesamiento de los archivos.





Autor: Ing. Liliana Suárez.


Si te pareció interesante el artículo reenvíalo a un amigo, haciendo click en el sobrecito que está al final del artículo. El conocimiento es valioso, compártelo.