Lea en AS/400 System i . . .

Aprovechando las posibilidades del WRKACTJOB a través de sus parámetros

Obtenga una salida diferente de la habitual al ejecutar el comando WRKACTJOB, aprovechando lo ofrecido por algunos parámetros interesantes que posibilitan entre otras acciones la de renovar automáticamente la pantalla resultante.

FaceBookTwitterGoogle+

Cómo agregar pantallas de confirmación/ validación para COMANDOS DELICADOS

Mejore las condiciones de seguridad de algunos comandos delicados en AS400 utilizando programas de validación.

Existen comandos OS/400, que, a pesar de su sensibilidad, no atraviesan por una pantalla de confirmación cuando se los invoca desde la línea de comandos, esto es, no ofrecen una instancia para cancelar en caso de error o presionar Intro para continuar. Por ejemplo, esto ocurre con ENDJOB, DLTSPLF, PWRDWNSYS o ENDSBS.

Sin embargo, algunos de ellos (ENDJOB, DLTSPLF), piden confirmación cuando se los invoca desde una interfaz tipo WRK. (Por ejemplo, ejecutando la opción 4 desde un WRKSPLF, o un WRKACTJOB).

Este “cambio de conducta” del comando pone en evidencia una facilidad interesante del OS/400 que consiste en los programas de validación de comandos. Existe un atributo perteneciente a los objetos de tipo *CMD que, de estar especificado, referencia un programa de validación que se ejecutará antes del programa procesador del comando (CPP).

Los programas de validación pueden constituir un importante valor agregado para aquellos comandos que previo a su ejecución, es necesario que efectúen ciertas tareas adicionales no incluidas en el CPP; validaciones extras o solicitud de confirmación son algunos de los casos más comunes, pero existen muchísimos más. Desde ya, ésto complementa a las restricciones que el comando pueda tener a través de la seguridad del objeto, la clase de usuario, o el entorno de ejecución permitido en los atributos del comando.

Programa de validación: creación y requisitos

Los programas de validación deben cumplir con ciertos requisitos para que su ejecución resulte exitosa. El sistema verifica que el *PGM asociado reciba la misma cantidad de parámetros que el mandato posee. Si ésta condición no se verifica, entonces no es posible ejecutar el comando. No debe olvidarse, al contar la cantidad de parámetros del mandato, de presionar F10 para considerar los adicionales.

Cuando se diseña un programa de validación es sumamente importante la forma en la que el programa termina, ya que esto define cómo sigue el curso de la ejecución del comando.

Si el programa finaliza con el envío de un mensaje de tipo *ESCAPE, OS/400 asume que existe una condición de error y finaliza la ejecución del programa emisor. El control regresa al “prompt” del comando (si se presionó F4) o a la línea de mandatos.

En cambio, si la finalización es normal, el sistema deriva el control al programa procesador del mandato. De esta manera, continúa con la ejecución del comando.

El siguiente programa permite agregar al comando ENDSBS un mensaje de confirmación para que el usuario que lo invoca tenga la posibilidad de arrepentirse de su ejecución:

AS400-confirmacion-supresion-1

Detalles del programa:

  1. La sentencia PGM debe incluir la misma cantidad de parámetros que el mandato posee. Para ENDSBS son 4 en total, considerando los que aparecen al presionar F10.
  2. Los parámetros deben estar declarados. En el ejemplo son variables de caracteres de longitud 1 que actúan como “placeholders”. De esta forma, existe compatibilidad entre los parámetros del comando y los del programa de validación.
  3. RTVJOBA recupera, a través de la variable &TIPO, de que forma el comando se está ejecutando. Si devuelve ‘1’, indica interactivo; si es ‘0’, batch.
  4. Si  &TIPO es ‘0’, finaliza la ejecución del programa y continúa con el programa procesador del comando.
  5. El flujo del programa, si la ejecución es interactiva, continúa en esta sentencia. SNDUSRMSG envía el mensaje de confirmación a la cola de mensajes externa y valida la respuesta.
  6. Si la respuesta es N, el usuario se arrepiente de la ejecución del mandato. El programa maneja esta situación enviando el mensaje CPF0002 con tipo *ESCAPE. El texto del mensaje es  “Mandato no ejecutado. Error detectado por el comprobador de validez.”
  7. Si la respuesta es S, el usuario confirma el ENDSBS. Recibe en la cola de mensajes externa el texto “El mandato se ejecutará”. El tipo de mensaje es informativo. De esta forma, la finalización del programa es normal y continúa con la ejecución del programa procesador del comando.

Los programas de validación no deberían usarse para alterar los valores ingresados en el “prompt”, ya que los parámetros modificados no son siempre pasados al programa procesador del mandato.

Cómo asociar un programa de validación

El mandato DSPCMD permite conocer si un comando dado posee un programa de validación. La siguiente pantalla muestra el resultado de su ejecución aplicada a ENDSBS:

AS400-confirmacion-supresion-2

El valor *NONE indica la ausencia de programa de validación.

Para asociar un programa de validación, se aconseja no modificar el mandato original, sino copiarlo en otra biblioteca y hacer el cambio sobre la copia. La biblioteca que recibe el objeto duplicado debería estar en la lista de bibliotecas antes de QSYS.

Para efectuar estas tareas sobre el comando ENDSBS realizar los siguientes pasos:

  1. Inicie sesión con un perfil con autorización especial *ALLOBJ.
  2. Promptear CRTDUPOBJ y duplicar ENDSBS.
  3. Desde línea de comandos ingrese CHGCMD y presione F4.
  4. En el parámetro Mandato ingrese ENDSBS.
  5. En el parámetro Biblioteca ingrese el nombre de la que recibió el duplicado de ENDSBS.
  6. Presione Intro dos veces.
  7. Busque el parámetro Programa comprobación validez.
  8. Ingrese el nombre del programa y su biblioteca.
  9. Presione Intro.

El cambio ya está vigente.

La siguiente pantalla muestra el prompt del comando CHGCMD:

AS400-confirmacion-supresion-3

Para tener en cuenta...

  • El uso de los programas de validación está orientado al uso en aquellos comandos que se utilizan frecuentemente de manera interactiva. Ej: ENDJOB, ENDSBS, PWRDWNSYS. Cuando el mandato se ejecuta en entornos batch, presenta un comportamiento especial.
  • Si se asocia un programa de validación al comando ENDJOB, cuando se lo ejecuta desde WRKACTJOB, el sistema omite la pantalla de confirmación que aparece normalmente, dando lugar a la ejecución del nuevo programa asociado.
  • El cambio debe repetirse luego de la instalación de una nueva versión de OS/400.

Copyright Teknoda S.A.

IMPORTANTE:
“Notas técnicas de AS/400" se envía con frecuencia variable y sin cargo como servicio a nuestros clientes AS/400. Contiene notas/tutoriales/artículos técnicos desarrollados en forma totalmente objetiva e independiente. Teknoda es una organización de servicios de tecnología informática y NO comercializa hardware, software ni otros productos.
Si desea suscribir otra dirección de e-mail para que comience a recibir las Notas Técnicas AS400, envíe un mensaje desde esa direcciónletter400@teknoda.com, aclarando nombre, empresa, cargo y país del suscriptor.

AS400 , iSeries y System i son marcas registradas de IBM. IBM no es el editor de esta publicación y no es responsable de la misma en ningún aspecto. La información contenida en esta publicación ha sido generada por nuestros especialistas a partir de fuentes consideradas confiables y del ejercicio profesional cotidiano. No obstante, por la posibilidad de error humano, mecánico, cambio de versión u otro, Teknoda no garantiza la exactitud o completud de la misma.
COPYRIGHT TEKNODA S.A. PROHIBIDA SU REPRODUCCION TOTAL O PARCIAL SIN CONSENTIMIENTO DE TEKNODA


 

Comentarios  

0 #4 Leonardo Villalobos 26-10-2016 15:06
Excelente Publicaciòn!!!!!
Citar
0 #3 reynaldo 13-05-2016 00:49
hola, les reitero mis felicitaciones por la informacion que comparten, me gustaria saber sobre la seguridad en el iseries, como configurar y poner la mejor seguridad en el iseries, me pueden ayudar en esto?, gracias
Citar
0 #2 Nora 27-08-2012 17:29
Cito a Ricardo Castillo:
Tengo una pregunta, espero me puedan ayudar. Estoy tratando de agregar una pantalla de confirmación al comando RSTOBJ en V6R1M1 pero cuando ejecuto el comando me envía mensaje que el numero de parámetros no coincide. Ya he buscado en las paginas de IBM para saber la cantidad exacta de parámetros que este comando tiene pero no dice exactamente cuantos son; empece a contar la descripción de los parámetros para así darme una idea de cuantos parámetros son pero tampoco coincide porque siempre me envía el mismo mensaje. Ya hice la prueba con otro comando y funciona perfecto porque la cantidad de parámetros esta clara. Si saben alguna forma de encontrar esta información o alguna alternativa para que el programa de validación funcione por favor hacérmela saber, gracias de antemano.

Saludos.


Sugerencia: ingresar al IBM Information Center para la versión 6.1. Buscar el comando RSTOBJ con buscador de comandos CL y fijarse en "Parameters". Se verán todos los que usa el comando: contarlos.
Saludos
Citar
0 #1 Ricardo Castillo 27-08-2012 14:54
Tengo una pregunta, espero me puedan ayudar. Estoy tratando de agregar una pantalla de confirmación al comando RSTOBJ en V6R1M1 pero cuando ejecuto el comando me envía mensaje que el numero de parámetros no coincide. Ya he buscado en las paginas de IBM para saber la cantidad exacta de parámetros que este comando tiene pero no dice exactamente cuantos son; empece a contar la descripción de los parámetros para así darme una idea de cuantos parámetros son pero tampoco coincide porque siempre me envía el mismo mensaje. Ya hice la prueba con otro comando y funciona perfecto porque la cantidad de parámetros esta clara. Si saben alguna forma de encontrar esta información o alguna alternativa para que el programa de validación funcione por favor hacérmela saber, gracias de antemano.

Saludos.
Citar

Escribir un comentario


Código de seguridad
Refescar

Lea en AS/400 Tips . . .

Infografía comparativa Comandos de SAVE RESTORE del AS400

save_restore_thumbnail

Conozca y diferencie visualmente qué partes del almacenamiento resguarda y restaura cada comando y cada opción del Menú Salvar y Restaurar. PUEDE DESCARGAR UN FORMATO POSTER PARA IMPRESION.

Para lograr un entendimiento conceptual es de suma utilidad contar con una ayuda gráfica, que  permita diferenciarlos a primera vista. Nuestro equipo de especialistas ha desarrollado el "Infographics" que presentamos con este tip. Por supuesto, el mismo debe complementarse con la información detallada de los innumerables parámetros de cada comando, pero es un útil marco de referencia  para recordar el área de injerencia de cada comando.

LEER ESTE ARTICULO >>>>>

 

 

 

Copyright © 2017 Teknoda tips - Tecnologia SAP Netweaver - IBM AS400 - System i - iSeries. Todos los derechos reservados.