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.

Friday, June 28, 2013

Ejemplo SQLRPG y %LIKE para Búsqueda de Textos o Cadenas de Caracteres















Algunas veces puede resultar confuso manejar el %Like dentro del SQL embebido.
En esta oportunidad les entrego un código descargable como un ejemplo de como
manejar el like en un SQLRPGLE



Si colocas en BUSCAR un texto, desplegara en pantalla todos los municipios que tengan
ese string de caracteres en este caso: ANTONIO      

En este enlace puedes descargar el código fuente del programa y los archivos correspondientes
residentes en el archivo SQLLIKE.ZIP.

http://sdrv.ms/17WfsjI

Pd: Gracias a Frank Ronald por la sugerencia de publicar este tema.

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


Autor: Ing. Liliana Suárez
 

Sunday, May 12, 2013

Aplicación para Listar Usuarios Activos del Iseries/AS400



 






En esta oportunidad les adjunto un programa que permite consultar los usuarios activos del Iseries, seleccionar uno de ellos y devolver su información en los parámetros de entrada. Cualquier programa que lo requiera puede invocar a esta aplicación en RPGLE y recoger en sus parámetros: usuario seleccionado y texto descriptivo de dicho usuario.

 Este programa es el resultado de la combinación  y ajuste de varios códigos publicados en páginas web para otros fines distintos al anteriormente descrito. Adapté estos códigos para producir un programa “nuevo”  que permitiera ver por pantalla los usuarios activos del Iseries. (Al final del artículo se listan los enlaces consultados)

Utilidad de este Programa:

Algunas veces para la instalación de software tales como menú dinámicos de seguridad o para establecer accesos a sistemas desarrollados y controlados por la Gerencia de Sistemas no se dispone de una ventana de consulta que permita seleccionar el usuario del Iseries sobre el cual se va a realizar la habilitación o restricción de acceso a determinadas opciones del aplicativo.
La aplicación que estoy adjuntando permite seleccionar un usuario activo del Iseries haciendo “doble Click” en la línea del subfile y en ese momento  el usuario seleccionado y su descripción se almacenan en los parámetros de entrada del programa y automáticamente se retorna al "programa llamador" los valores correspondientes. Al hacer Click con el Mouse en el botón SALIR, se termina la aplicación sin haber seleccionado ninguna usuario del Iseries.

Algunos analistas que se han visto en la necesidad de listar los usuarios activos del Iseries para programar ciertas restricciones de autoridad de acceso en sus aplicaciones, han tenido que recurrir al comando DSPUSRPRF con el parámetro  *ALL o *ENABLED (activos) o inactivos (*DISABLED) según sea el caso. Esto resulta engorroso al tener que dejar la salida de ese comando en un archivo temporal o de trabajo para luego procesar la información, cada vez que el usuario entre o salga de la aplicación.

Recursos internos de esta Utilidad:

El programa que estoy adjuntando utiliza User Spaces. Estos son espacios de memoria creados a tiempo de ejecución que son manejados con apuntadores y recorridos con el Offset calculado entre un elemento y la ubicación del otro. Digamos que son parecidos a los arreglos “arrays” con la diferencia de que los arreglos se acceden mediante índices; el User Space se maneja con apuntadores a las ubicaciones de memoria donde se almacena la data.
Los Users Spaces se utilizan, entre otras cosas,  para almacenar información delicada que no pueda ser manipulada por analistas autorizados aunque si puede ser consultada por estos para el desarrollo de aplicaciones. Una vez que el user space es utilizado en el programa y cargado en las variables de pantalla  se procede a eliminarlo. Aun cuando este User Space está siendo creado en la biblioteca Qtemp, si el usuario no ha abandonado la estación de trabajo puede crear problemas al entrar y salir de la aplicación constantemente por lo que puedes requerirse de la API DLTUSRSPC (DELETE USER SPACE). Los User Spaces son manejados por APIS. Estas son aplicaciones que residen en el sistema operativo del Iseries y son programadas para realizar funciones especiales que permitan al analista acceder a información o almacenarla sin que la integridad del sistema corra riesgos.

El programador puede adaptar esta utilidad para listar usuarios activos, inactivos o bajo cualquier otra condición. En esta versión se coloca específicamente “*ENABLED” en el código del programa para seleccionar usuarios Activos o Habilitados.

 Así queda a pantalla de esta aplicación:




En este enlace pueden descargar el código.




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


Autor: Ing. Liliana Suárez
 


Webs Consultadas:

Wednesday, April 10, 2013

Ubicando el Cursor donde va.
















Un tip muy simple pero poderoso.  

En procesos interactivos, se realizan sucesivas validaciones de los valores ingresados por los usuarios en los campos de pantalla. Generalmente ocurre que el cursor no se posiciona en el campo que tiene el valor errado si no en el primer campo de entrada de datos. Aún cuando se colocan indicadores en el SDA con la palabra clave PC  condicionada para cada campo, el posicionamiento del cursor es errático en la práctica.Esta falta de control en la posición del cursor  resta agilidad al usuario en la carga de datos.

La palabra clave CSRLOC empleada en el archivo tipo SDA permite incluir variables que pueden ser manipuladas en el programa para forzar la posición del cursor en la fila y columna de la pantalla donde lo queremos colocar.
En el siguiente ejemplo vemos un archivo SDA a través de la utilidad SEU.

Colocamos la palabras clave CSRLOC indicándole los dos nombres de variables que van a ser empleadas en el programa para fijar la posición del cursor. En este caso colocamos la variable FILA para asociarla con la fila de posicionamiento del cursor y la variable COLU correspondiente a la columna. Por supuesto, el programador puede colocar los nombres que quiera…

Estas variables deben ser declaradas como campos ocultos en el SDA tal como se ve en el ejemplo.



En el Archivo SDA:

         A          R WIN00                                             
         A*
         A                                 WINDOW(3 3 14 18)       
         A                                  CSRLOC(FILA       COLU) 
         A                                  OVERLAY                 
         A            FILA               3S 0H
         A            COLU             3S 0H


En el programa RPG:

Podemos colocar:   

fila = 12
Colu = 56

Estas operaciones colocan el cursor en la fila 12 y columna 50 donde puede estar el campo validado con error.

En los subfiles de carga masiva de datos también es aplicable esta opción en cuanto a las validaciones de carga para ubicarse en la línea y el campo del subfile donde interesa resaltar o corregir el error.

La aplicación de esta palabra clave también puede ampliarse cuando en la pantalla hay uso de botones y el cursor tercamente se coloca en el botón desplegado en pantalla. Podemos ubicar el cursor en una posición neutral que no genere accidentalmente procesos de actualización de datos o navegación innecesaria de pantallas.



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


Autor: Ing. Liliana Suárez