Mostrando entradas con la etiqueta tools. Mostrar todas las entradas
Mostrando entradas con la etiqueta tools. Mostrar todas las entradas

lunes, 4 de mayo de 2020

JobD que usan una Cola de Trabajo (FNDJOBDQ)

Esta utilidad esta basada en la FNDJOBDL, publicada ya hace unos años, en la FNDJOBDO. Realizando unas modificaciones nos ayudara a descubrir que Colas de Trabajo se utilizan en las descripciones de trabajo, que tenemos en nuestro sistema.
Introduciendo el nombre de la cola de trabajos y su biblioteca, nos mostrara por pantalla o en un archivo de spool, los nombres de la descripciones de trabajo que contienen dicha cola de trabajo.

El código lo podéis bajar de este enlace.

lunes, 20 de abril de 2020

JobD que usan una Cola de Salida (FNDJOBDO)

Esta utilidad esta basada en la FNDJOBDL, publicada ya hace unos años.
He realizado unas modificaciones para que nos ayude a descubrir que colas de salida se utilizan en las descripciones de trabajo que tenemos en nuestro sistema.

Introduciendo el nombre de la cola de salida y su biblioteca, nos mostrara por pantalla o en un archivo de spool, los nombres de la descripciones de trabajo que contienen dicha cola de salida.


El código lo podéis bajar de este enlace.

martes, 7 de febrero de 2017

Utilidad ViewSAVF


Hace un tiempo encontré la utilidad ViewSAVF, que una vez instalada en nuestro pc, permite mostrarnos el contenido de un archivo SAVF, que hayamos bajado a nuestro pc, o tengamos acceso por NetServer.


También nos visualiza el contenido de los archivos, solo las 20 primeras lineas en la versión de prueba.

La pagina web del creador www.juliansoft.com ya no esta "online", pero aun podemos bajarnos el programa desde el siguiente enlace: http://download.cnet.com/ViewSavF/3000-2242_4-75762716.html

Espero os sea de utilidad :o)

lunes, 24 de octubre de 2016

Modificada utilidad CHGSTSJRN (2)

Se han realizado los siguientes cambios en la utilidad CHGSTSJRN para:
- Añadir la opción de eliminar los receptores de diario automáticamente, al crear el diario.
- Añadir la opción de registrar por diario, automáticamente, los archivos creados en la biblioteca con STRJRNLIB (a partir de V6R1)

Pulsando F1 podemos acceder a la ayuda del mandato.

Podemos bajar la nueva versión desde IBMdevelopersWorks en este enlace.


Entradas anteriores:
- Modificada utilidad CHGSTSJRN
-
Arrancar registro por diario automaticamente

martes, 4 de noviembre de 2014

Nueva versión utilidad FNDJOBDL

Hace tiempo publique la utilidad FNDJOBDL, basada en la utilidad JCRLJOBD), para buscar fácilmente en que Descripciones de Trabajo estaba, en la lista de bibliotecas, una biblioteca en concreto.
A partir de la versión V5R1 se modificaron las JobD para permitir listas de bibliotecas de más de 25, hasta un limite de 250 bibliotecas. La versión publicada fallaba cuando habían más de 100 bibliotecas en la INLIBL, por esta razón publico una nueva versión, aunque supongo que son pocos los afectados por este "bug".
Aprovechando el cambio he añadido una columna que informa del ultimo uso de la JobD, que contiene la biblioteca buscada, esto debería ayudarnos a saber si realmente se esta usando la descripción de trabajo y por consecuencia la biblioteca. El funcionamiento es el mismo y obtendremos un informe similar al siguiente:
FNDJOBDL LIBLE(QGPL)   
(la fecha esta en formato saammdd)
Podéis bajar esta nueva versión del código de este enlace FNDJOBDL.

jueves, 27 de febrero de 2014

Mover una biblioteca a otra ASP

Hace unos días, en este blog, publique un comentario sobre una actualización de la utilidad CPYSRCTOPC, realizada por Javier Mora, en la que se mejoraba la posibilidad de usarla con diferentes ASP.
Rebuscando en mi baúl de utilidades, rescate la utilidad MOVTOASP, creada en 2001, y que nos permite mover una biblioteca de ASP, aunque hace años que no la uso porque actualmente trabajo con sistemas que solo tienen la ASP de sistema.
Esta utilidad esta basada en la API QHSMMOVL y es muy fácil de utilizar.
El parámetro CHK tiene el valor *VALIDATE por omisión, y junto con el valor *YES, lo que hace es verificar que realmente se pueda mover la biblioteca de ASP ya que existen dependencias de algunos objetos para poderlo realizar (relaciones de base de datos externas a la biblioteca, diarios, etc..)
Podéis bajaros el código en el enlace, de Recursos/400, en la web de IBM developersWork: Mover una biblioteca a otra ASP.

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.

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:

lunes, 13 de mayo de 2013

Visualizar los trabajos de un usuario

Cuando tenemos que controlar trabajos de varios usuarios y diferentes nombres, podemos usar los mandatos WRKJOB, WRKUSRJOB y WRKSBMJOB, además del WRKACTJOB, pero muchas veces tenemos que ir cambiando de mandato para poder usar el que más fácilmente nos muestra los trabajos que que queremos comprobar. Esto implica una perdida de tiempo navegando por varios mandatos, es por ello que creé el mandato DSPUSRJOB, basado en la tool RTVJOBCNT de Martin Rowe.
El uso del mandato es sencillo y podemos usar la tecla de función F4, para ver los parámetros disponibles, así como también F1 para visualizar la ayuda del mandato y sus parámetros.
Las opciones 2=Change job y 4=End job solo las veremos si nuestro usuario tiene el permiso especial *JOBCTL. El resto de las opciones 5=Display job,  6=Change joblog y 8=Display spools están disponibles para cualquier usuario que utilice el mandato si hemos tenido la precaución de compilar el programa con USER(*OWNER) y el propietario del programa DSPUSRJOBC sea, por ejemplo QPGMR, u otro usuario con *JOBCTL.

Con este mandato tenemos la posibilidad de dar acceso a trabajos de otros usuarios a usuarios que no tienen la autorización especial *JOBCTL en su perfil de usuario. Esto nos evita, lo que se hace a veces, de dar autorización *JOBCTL a un perfil de usuario que no debería tenerla, solo para facilitarle el acceso a un trabajo, por ejemplo para ver los spools del mismo.
Para limitar el acceso a esta potente herramienta, la habremos compilado con AUT(*EXCLUDE) para limitar el uso publico del mandato (y programa). Posteriormente podremos añadir la autorización *USE a los usuarios que nos interese que puedan utilizarla.

Podéis bajar el código de esta utilidad desde este enlace.

Tenéis más información sobre la discusión de otorgar las autorizaciones especiales *JOBCTL y/o *ALLOBJ, para solo controlar trabajos en este enlace.

lunes, 1 de abril de 2013

Historico de trabajos del sistema (HSTJOBLOG)

La utilidad HSTJOBLOG, creada y publicada en 2003 en mi antigua pagina web, genera y mantiene una base de datos de todos los trabajos ejecutados en el sistema. Debemos tener una tarea planificada que se ejecute periódicamente.
Esta utilidad lee los mensajes de finalización de los trabajos (CPF1164), en los archivos QHST, y los guarda en un archivo. Por omisión guarda todos los trabajos ejecutados en el sistema, pero realizando unas sencillas modificaciones, en el código del programa, podemos filtrar trabajos para no ocupar tanto espacio, o evitar guardar información no significativa para nuestra instalación.
Para consultar la información generada tenemos una sencilla interfaz de pantalla que invocamos con el mandato HSTJOBLOG, podemos pasar, como parámetro  el nombre del trabajo o un perfil de usuario.

jueves, 14 de febrero de 2013

JobD que usan una Cola de Trabajos o de Salida

Como continuación a la entrada anterior de este blog "JobD que usan una Biblioteca (FNDJOBDL)", nos podemos encontrar con el caso de querer hacer limpieza de Colas de Entrada y/o Colas de Salida y no sabemos en que Descripciones de Trabajo están definidas. Para ello realice una modificación de la utilidad FNDJOBDL, y poder realizar dichas funciones con dos nuevas utilidades:
  • Find Job Queue on Jobd (FNDJOBDQ)
  • Find Out Queue on Jobd (FNDJOBDO)
Con un funcionamiento idéntico a FNDJOBDL, obtendremos de forma fácil y rápida una lista de las descripciones de trabajo (JOBD) en las que participa una Cola de Trabajos (JOBQ)  o una Cola de Salida (OUTQ).

Podéis bajaros el código de los siguientes enlaces: FNDJOBDQ o FNDJOBDO.

jueves, 7 de febrero de 2013

JobD que usan una Biblioteca (FNDJOBDL)

Cuantas veces revisando las bibliotecas del sistema hemos eliminado alguna, que no se usaba, y después han empezado a fallar SBMJOB por que no encuentran esa biblioteca en la descripción de trabajo que utilizan.
Pues bien, la utilidad JCRLJOBD, publicada hace tiempo por Craig Rutledge, viene en nuestra ayuda. Esta utilidad busca, en todas las descripciones de trabajo (JOBD) del sistema, si contienen una biblioteca en su lista inicial de bibliotecas (INLLIBL).
Como dicha utilidad tenia salida por pantalla, realice una modificación para que, opcionalmente, también pudiera hacerlo a un archivo de spool, de esta forma puedo someter el nuevo mandato FNDJOBDL y documentar las Descripciones de Trabajo que utilizan una biblioteca.
En la pantalla podemos ver el funcionamiento de dicha utilidad, y un ejemplo de su salida por pantalla o spool, buscando en que JobD participa la biblioteca QGPL:
Podéis bajar el código de este enlace FNDJOBDL.

miércoles, 23 de enero de 2013

Copiar miembros fuente al PC (CPYSRCTOPC)

La utilidad CPYSRCTOPC, publicada hace ya años en mi antigua web, copia miembros fuente de un archivo de fuentes a archivos planos de PC, en formato ANSI, en un directorio del AS400.

En el siguiente pantalla podéis ver un ejemplo de uso:
Si el directorio destino no existe se crea automáticamente.
Podéis bajaros el código del siguiente enlace Copiar miembros fuente a archivo ANSI.

viernes, 16 de noviembre de 2012

Visualiza una ptf (DSPAPTF)

Me ha pasado a veces que estoy buscando si tengo instalada una ptf pero, no se el código de producto, y tengo que ir buscando con DSPPTF producto a producto y perdiendo mucho tiempo para ello.
Una búsqueda en Internet me llevo a la utilidad XDSPPTF que sirve precisamente para eso, veo que no soy al único que le pasa, y que me ahorra tiempo.
Como el código no esta online, me llevo a crearme dicha utilidad que he llamado DSPAPTF.
Podéis bajaros el código del siguiente enlace Display Any PTF.

jueves, 13 de septiembre de 2012

Visualizar día y hora del ultimo IPL

La utilidad LASTIPL visualiza el día y la hora del ultimo IPL (Initial Program Loader) realizado en el sistema. Tecleamos LASTIPL en la línea de mandatos y, al pulsar Intro, nos devuelve el día y la hora del ultimo arranque del subsistema QCTL:
The system was last IPL'D on 22/07/12 at 06:33:53.

viernes, 6 de julio de 2012

Utilidad LIBSIZE

La utilidad LIBSIZE nos devuelve el número de objetos de una biblioteca y su tamaño.
Al ejecutar el mandato nos devuelve un mensaje en la linea de estado con la información de la biblioteca.
Library size MYLIBRARY:000000017235968 Bytes. Objects 0000000000006

Tiene la opción de imprimir el mensaje de salida, parámetro OUTPUT(*PRINT), para poder someterlo o planificar su ejecución; nos puede servir para comprobar el tamaño de una biblioteca en un momento concreto.

No se recomienda utilizar esta utilidad para substituir el inventario de objetos en disco incluido en el sistema operativo, ver entrada "Estadísticas espacio en disco".
Esta utilidad esta basada en el documento de IBM "CL Program to Retrieve Library Size and Number of Objects" que utiliza la API RTVLAPI.

Podéis bajar el código desde este enlace.

martes, 12 de junio de 2012

Recuperar atributos area de datos (RTVDTAARAA)

Hace poco me preguntaron si tenia, o conocía, alguna utilidad para recuperar los atributos de una área de datos. Una búsqueda en el iSeries Information Center, de IBM, me llevo a la API QWCRDTAA, esta normalmente se utiliza para recuperar el valor de una área de datos, pero también se puede utilizar para recuperar sus atributos.
Para ver su funcionamiento he creado la utilidad RTVDTAARAA (muchas A ¿no?)
Pasando el nombre del *DTAARA nos devolverá el tipo (*CHAR, *DEC, *LGL, *DDM), la longitud y el numero de posiciones decimales. Por ejemplo, si recuperamos los atributos del área de datos QUSRSYS/QRCLSTG, nos devolverá en las variables que le hemos pasado sus atributos, ademas graba el mensaje  CPF9897, en el log del trabajo, con el siguiente contenido: 
Data area QUSRSYS/QRCLSTG attributes. Type: *CHAR, Length: 1000, decimal pos.: 0000 

viernes, 1 de junio de 2012

WHO (Quien) esta abusando del sistema

El mandato WHO ¿Quién esta abusando del sistema? es una antigua utilidad de la TAATools, que ya existía, si mal no recuerdo, en el System/38.
Su utilidad es la de detectar rápidamente los trabajos con mas consumo de CPU. Al ejecutar este mandato nos muestra la salida del WRKACTJOB pero ordenando  los trabajos con un % de uso de CPU mayor a un 2% y ordenado por la columna "Elapsed CPU%"
Esta pantalla es la misma que si ejecutáramos el mandato WRKACTJOB con los siguientes parámetros:
WRKACTJOB CPUPCTLMT(2) SEQ(*CPUPCT)
Al ejecutar el mandato las estadísticas del "Work with Active Jobs" se reinician a cero, antes de mostrar el resultado (imprimiendo su salida a spool), para obtener el consumo real de los trabajos en ese instante; además, y por la misma razón, cambia la prioridad de ejecución de nuestra sesión para que el sistema responda más rápido a nuestra petición, al salir del mandato se revierte este ultimo cambio.

martes, 8 de mayo de 2012

Recuperar atributos spool (RTVSPLFA)

He recuperado esta utilidad, basada en la API QUSRSPLA, de las antiguas TAAToolsCon ella podemos recuperar la mayoría de atributos de un archivo de spool que tengamos en una cola de salida.
Podéis descargar el código de esta utilidad en este enlace.