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.

Thursday, December 2, 2010

Haciendo Fácil lo Difícil











Una estrategia de programación muy vieja pero muy buena.

Cuando realizamos programas de actualización que permiten ingresar, modificar y eliminar información, podemos vernos atrapados en lazos dentro de lazos dentro de lazos. Siguiendo el Estándar de IBM en el manejo de las teclas de función, usamos el  F3 para salir y F12 para regresar a la pantalla anterior, (en todas las pantallas) y para navegar de una pantalla a otra dentro del programa hacemos While que a su vez tienen internamente otros While que tienen otros While, etc. Todos estos while finalizan por la misma condición *in03 o también *in12.

Si utilizamos un CASE como el MAIN del programa, se nos facilita el proceso. Este CASE  según el nivel de ejecución (mas interno o mas externo) direcciona a la rutina ha ser ejecutada sin necesidad de tener lazos anidados.

Algoritmo de Ejemplo.

                     NIVEL = 1
                     DOW NIVEL <> 0
                       CASE
                        NIVEL = 1      EXSR pantalla1
                        NIVEL = 2      EXSR pantalla 2
                       ENDCAS
                     ENDDO
                    *INLR = *ON

BEGSR PANTALLA1
Muestra pantalla1
Valida pantalla1
Si F12 or F3 entonces Nivel = 0
Sino
   Si no hay error nivel = 2
   Fin-SI
  Fin_SI
ENDSR

BEGSR PANTALLA2
Muestra pantalla2
Valida pantalla2
Si F12 entonces Nivel = 1
Sino
Si F3 entonces Nivel = 0
 Sino
   Si no hay error Procesar
      Fin-SI
      Fin-SI
Fin-SI



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.

No comments: