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, July 31, 2009

¿Cómo saber cual versión tengo?












¿Cómo puedo saber cual release (versión) tengo instalada en mi As/400?

1.-Coloca go licpgm.
2.-Selecciona la opción 10
2.-Pulsa F11 y verás la lista de programas del sistema operativo que tienes instalados en tu As/400 y las versiones de cada uno de ellos.



Si te pareció interesante, reenvialo 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

Uso de arreglos para actualizar campos de un archivo.










Es común encontrar archivos que contienen montos acumulados por mes y año cuando desea conservarse la historia de consumos de clientes, inventarios de productos o deudas y cuentas por pagar.

Generalmente los programas deben sumar las cantidades según el mes en cada campo del archivo esto produce una cantidad de instrucciones engorrosas para modificar los saldos según el mes o el periodo de tiempo que debe actualizarse.

Supongamos por ejemplo que tenemos el siguiente archivo:

A R RSALDOS
A SALDO1 15S 2
A SALDO2 15S 2
A SALDO3 15S 2
A SALDO4 15S 2
A SALDO5 15S 2
A SALDO6 15S 2
A SALDO7 15S 2
A SALDO8 15S 2
A SALDO9 15S 2
A SALDO10 15S 2
A SALDO11 15S 2
A SALDO12 15S 2


Los doce campos almacenan el saldo de cada mes del año.

Sunday, July 19, 2009

Mejorando los tiempos de procesamiento.










1.-Algunas sugerencias para mejorar el tiempo de respuesta en el uso del comando CPYF:

a.-No coloque claves al archivo físico. Utilice archivos lógicos para ese fin, las claves en los archivos físicos retrasan la copia y la recuperación de data.

b.-.Realice la copia del archivo desde el registro 1. Por omisión el comando CPYF coloca desde el registro *START, cuando coloca el registro 1, el sistema operativo es mucho mas rápido porque reproduce la misma secuencia de registros en el archivo destino.

c.- Si debe utilizar las opciones *map *drop, es mas rápido hacer la copia del archivo vía programa.

d.-El uso de SQL es mas efectivo para copiar de un archivo a otro.


2.-Usar el Reorganize para sus archivos.

Si los archivos no fueron creados con el atributo reuse delete = *yes, los registros eliminados quedaran como parte del archivo aunque no contengan data. Este almacenamiento extra innecesario ocasiona un mayor tiempo de respuesta en procesos de lectura y salvado. Periódicamente haga un RGZPFM para comprimir el espacio asignado al archivo.


3.-Crear sus archivos físicos con reuse delete = *yes hace innecesario un reorganize periódico para recuperar espacio.


4.-Aproveche el poder del SQL.

Por ejemplo si requiere eliminar masivamente información de un archivo según ciertos criterios, realice un programa SQLRPG o un programa QMQRY basado en commandos SQL. Esto es mucho más rápido que un programa RPG.


Si te pareció interesante, reenvialo 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

¿Qué es un Trigger?






Un trigger es un atributo de un archivo físico que permite al manejador de Base de datos del AS400 ejecutar un programa en el mismo instante que se haga algún cambio sobre ese archivo. El comando para agregar un trigger es: ADDPFTRG.

Podemos especificar que queremos que se ejecute un programa antes o después de añadir, eliminar o modificar un registro en el archivo físico sobre el cual estamos ejecutando el trigger. Este programa es desarrollado por nosotros como programadores del sistema.

El programa que se “dispara” al ejecutar una actualización del archivo debe ser especificado en el comando ADDPFTRG. Este programa debe recibir dos parámetros el primero de los cuales comprende el encabezado o “header” de la información que el manejador de base de datos devuelve sobre el cambio que se ha realizado sobre el archivo. El segundo parámetro contiene especificaciones mas detalladas sobre el cambio que se realizó en los campos del registro que fue alterado.

Cabe destacar que el Trigger no es un Journal. No devuelve trazas de auditoria que indique quien hizo el cambio ni que programa realizó el cambio, simplemente ejecuta el programa que le indicamos debe ejecutar.

A manera de prueba he declarado dos parametros de 5000 posiciones carácter cada uno y me han funcionado las pruebas de trigger.

Sin embargo, para detalles bien precisos sobre el contenido y las longitudes que nuestro programa debe tener para capturar la información del cambio de la base de datos pueden acceder a este link:

http://www.help400.es/asp/scripts/nwart.asp?Num=78&Pag=34&Tip=U


¿Para qué sirve un trigger?

Un trigger puede utilizarse por ejemplo para capturar data entre dos sistemas o módulos completamente distintos. Supongamos que tenemos un Sistema Autorizador de Tarjeta de Crédito que verifica el pin del cliente, su limite de crédito y que no esté bloqueada la tarjeta. El sistema autorizador puede aprobar el crédito y dejar un registro que sea parte de un archivo histórico de la solicitud de consumo recibida, sin embargo el sistema autorizador no tiene la capacidad de detectar un consumo “atípico” relacionado con el comportamiento del cliente que pueda detectar un fraude por usurpación de identidad o robo de tarjeta. Este proceso de detección de fraude le corresponde al Sistema de Monitoreo de Fraude. Si añadimos un trigger en el archivo histórico del autorizador y hacemos que este trigger disparé un programa que ingrese esta información de consumo en forma automática al Sistema de Monitoreo entonces la detección del fraude puede ser prácticamente inmediata y puede procederse preventivamente a un bloqueo de tarjeta para proteger al cliente y al banco de un proceso fraudulento.

El trigger puede ahorrarnos el hacer muchos programas que actualicen archivos de auditoria, y archivos para consulta en línea. Además para procesos nocturnos de largo tiempo de procesamiento el trigger es mas rápido que invocar varios programas que graben información sobre la actualización de la data u otra traza de auditoría que desee almacenarse.


Si te pareció interesante, reenvialo 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