miércoles, 31 de julio de 2013

Copiar archivo a CSV y ejecutar Excel

Actualización de la utilidad CPYTOXLS, que uso para copiar un archivo a formato CSV y, si estoy ejecutando desde una sesión pantalla, ejecutar el programa de hoja de calculo que este instalado en el ordenador, habitualmente MS-Excel.
Precisamente esta es la actualización, ya que podemos configurar la hoja de calculo que vamos a ejecutar actualizando una área de datos, sin tener que recompilar, en cada nueva versión de la hoja de calculo, el programa que lo procesa. También incorpora la nueva opción de eliminar el archivo del IFS generado, parámetro DLT, su valor por omisión es *NO.
Si el mandato se lanza en un trabajo batch, no se ejecutara el programa de hoja de calculo ni eliminara el archivo IFS generado, aunque lo hayamos indicado que ejecute y lo elimine (parámetros EXC y DLT). 
En el mandato CPYTOXLS podemos pulsar F1, para acceder al panel de ayuda, y donde se explica, con más detalle, la conversión a CSV.
Debemos tener instalado el iSeries Access (STRPCO) y habilitado el servicio Netserver para que la hoja de calculo pueda ejecutarse con el mandato STRPCCMD y acceder al fichero .CSV generado, en el directorio IFS del sistema que indiquemos.
Podemos bajarnos el código de esta utilidad desde este enlace.

PowerCL: CL for Files (CLF)

Si tenéis la necesidad, o ganas, de poder insertar, actualizar o borrar registros de una tabla desde programas CL, existe una tool (shareware con periodo de prueba de 30 días) para hacerlo posible:
www.powercl.com de Bruce Vining.

viernes, 14 de junio de 2013

IBM AS400 en 25 diapositivas

La revista electrónica "IBM Systems magazine", esta publicado interesantes artículos  aprovechando la efemérides de los 25 años del  sistema AS400 (i)., para dar a conocer mejor este sistema, a los profanos; y también para gozo de los veteranos. Entre ellos destaco los siguientes:

  1. Integration: The invisibility cloak of complexity
  2. User Groups: We’ve really got a lot in common!
  3. AS/400: The 36 was from Venus, the 38 from Mars
  4. TIMI: Shoes that fit every occasion
  5. Single-level storage: Where did I leave my keys?
  6. Subsystems: Hostel or hotel?
  7. Object orientation: May I see your badge, please?
  8. Integrated database: Will you need a bed in your hotel room tonight?
  9. Virtualization: A great idea is new again.
  10. System Integrity: Trust but verify
  11. ISVs: An application system for business
  12. International: Anyone for double-byte Ping-Pong?
  13. Business Partners: A freight train needs a track
  14. Lab Services: Want a superstar on your team?
  15. Out-of-box: No assembly required
  16. RPG: No, it’s not rebounds per game
  17. Integrated Middleware: Tricked out or built in?
  18. PASE: Welcome to the family!
  19. PHP: Red wine with fish, Mr. Bond?
  20. POWER: What do IBM i and Watson have in common?
  21. User interfaces: Green is good; BYOD might be even better.
  22. Reliability: Over a long distance, you learn a lot about the strength of your horse
  23. Automated service: The robocall everyone wants to get
  24. LUG: Want something to change? Do it together.
  25. Client success: The Rochester way

                                                  jueves, 13 de junio de 2013

                                                  Recuperar atributos de otro trabajo

                                                  Muchos conocemos, y usamos, el mandato RTVJOBA que recupera los atributos de nuestro trabajo, y según los valores recuperados ejecutar unas u otras sentencias; unos ejemplos:

                                                  • RTVJOBA USER(&USRPRF) : Si el valor &USRPRF devuelto pertenece al grupo de los usuarios operadores, le muestro, por ejemplo, un menú de backup, en caso contrario salgo sin dejarle hacer nada.
                                                  • RTVJOBA TYPE(&TYPE):  Si el valor recuperado &TYPE devuelve '1' es un trabajo interactivo y puedo mostrar por ejemplo una pantalla, y si tiene el valor '0' generar un listado de spool.

                                                  ¿Pero que pasa cuando necesitamos recuperar los atributos de otro trabajo? 
                                                  Para ello cree la utilidad RTVJOBATR "Retrieve another Job Attributes" que devuelve varios atributos de un trabajo, que aun exista en el sistema, indiferentemente del estado de dicho trabajo.

                                                  viernes, 24 de mayo de 2013

                                                  Utilidad estadisticas espacio en disco (DSKINF)

                                                  En un articulo anterior se explicaba como activar las estadísticas de espacio en disco incluidas con el sistema operativo de nuestro AS400.

                                                  Analizando el funcionamiento de dicha función del AS400 desarrolle, hace años, la utilidad CPYDSKINF, para consolidar, periódicamente, esta información en otro archivo y así poder realizar análisis de la evolución del crecimiento de la ocupación en disco, de las bibliotecas y/o de los objetos.

                                                  La periodicidad podría ser semanal, o como mínimo mensual, aunque deberemos analizar cual es la mejor periodicidad para nuestro sistema y nuestras necesidades. Deberemos tener en cuenta que este proceso genera, acumula mucha información, y necesita mucho tiempo de ejecución,  aunque, evidentemente, dependerá del rendimiento de nuestro sistema.
                                                  Si usamos esta utilidad es recomendable no utilizar la opción de planificación de recogida de estadísticas de espacio en disco del sistema (GO DISKTASKS), ya que estaremos duplicando el proceso y podemos tener problemas si los lanzamos al mismo tiempo.

                                                  Para planificar la ejecución semanal, de esta utilidad, utilizar el siguiente mandato:
                                                  ADDJOBSCDE JOB(CPYDSKINF) CMD(CALL PGM(DSKINF/CPYDSKINF)) FRQ(*WEEKLY) SCDDATE(*NONE) SCDDAY(*SUN) SCDTIME('23:59:59') RCYACN(*SBMRLS) JOBQ(QSYS/QUSRNOMAX) 
                                                  TEXT('Statistical disk space usage')

                                                  A partir de los datos recogidos, semana a semana, podemos utilizar Query's, Consultas QM o SQL, para extraer información sobre la evolución de la ocupación del disco, bibliotecas y de los objetos  en el sistema. También nos puede servir para averiguar en que periodo se elimino un objeto, que objetos se han creado entre periodos, etc...

                                                  El programa actualiza los tres archivos DSKINF, EVODSK y EVOLIB:
                                                  • DSKINF: Contiene la misma información que QAEZDISK, pero con 2 campos más que contienen el nombre del sistema, donde se ha recogido la información, y la fecha de recogida (en formato saammdd).
                                                  • EVODSK: Se genera en cada ejecución y contiene un registro por cada fecha de recogida con la ocupación en disco y el total de disco cuando se recogió la información.
                                                  • EVOLIB: Se genera en cada ejecución y contiene un registro por cada fecha de recogida y biblioteca, con el tamaño de la misma cuando se recogió la información.
                                                  En el código del programa CPYDSKINF, la variable &DLTDAT nos indica cuanto tiempo debe conservar los datos de información de espacio en disco en el sistema, de esta forma el tamaño de la biblioteca DSKINF sera, más o menos, constante. Por omisión se conservan 365 días.

                                                  Seguid las instrucciones de instalación de la utilidad en el fuente README_DSK.TXT incluido. Se recomienda instalarla en la biblioteca DSKINF, de esta forma tendremos más controlado el espacio que ocupa esta información. Podéis bajaros el código desde este enlace.

                                                  Esta utilidad consta de varios fuentes y objetos:
                                                  ADDDSKINF   RPG   Añade registros informe espacio disco
                                                  CPYDSKINF   CLP   Genera, consolida e imprime informes disco
                                                  DSKINF      PF    Informe espacio en disco
                                                  EVODSK      SQL   Evolución espacio en disco

                                                  EVODSK_CRT  SQL   Creación archivo evolución espacio en disco 
                                                  EVOLIB      SQL   Evolución ocupación bibliotecas

                                                  EVOLIB_CRT  SQL   Creación archivo evolución ocupación bibliotecas 
                                                  RMVDSKINF   RPG   Elimina registros informe espacio disco

                                                  README_DSK  TXT   Instrucciones de instalación de DSKINF 

                                                  Notas: