Cómo acceder a una línea de comandos desde - Teknoda tips

http://www.teknodatips.com.ar
Teknoda - Notas técnicas – Tips de AS400 – iseries –
System i
Tip en detalle Nro. 21
(Lo nuevo, lo escondido, o simplemente lo de siempre pero bien explicado)
"Tips en breve/Tips en detalle" se envía con frecuencia variable y absolutamente sin cargo como un servicio a nuestros
clientes AS/400. Contiene principalmente notas técnicas y no contiene mensajes publicitarios.
Este mensaje se envía en concordancia con la nueva legislación sobre correo electrónico: Por sección 301,párrafo (a) (2)
(c) de S.1618 bajo el decreto s.1618 titulo 3º aprobado por el 105 congreso base de las normativas internacionales sobre
SPAM, este e-mail no podrá ser considerado SPAM mientras incluya una forma de ser removido
Conteste este mail con asunto “REMOVER” si no desea recibir más esta publicación. Si desea suscribir otra dirección
de e-mail para que comience a recibir los “Tips”, envíe un mensaje desde esa dirección a [email protected],
aclarando nombre, empresa y cargo del suscriptor.
Cómo acceder a una línea de comandos desde pantallas
que no la tienen
Tema:
Administración, programación.
Utilidad:
Aumentar la productividad de programadores, operadores, etc. accediendo a
una línea de comandos desde pantallas que no la poseen.
Nivel:
Intermedio.
Versión:
Todas
Lista de Tips publicados hasta la fecha:
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
Modificación de los parámetros por default que rigen en los comandos del OS/400
Restricción de comandos pesados a modalidad batch
Cómo generar un entorno de prueba para año 2000
Cómo salvar y restaurar spool
Cómo agregar pantallas de confirmación/validación para comandos delicados
Defragmentación del espacio en disco no utilizado : STRDSKRGZ, ENDDSKRGZ
Manipulación de bases de datos desde programas CL, a través de Query/400
Generación de spool AS/400 en formato PDF (Adobe Acrobat Reader) para almacenar en CD´s
Cómo proteger columnas de un archivo físico o lógico
Cómo cambiar la pantalla de signon
Cómo automatizar transferencias de archivos con TCP/IP desde AS/400
12.
13.
14.
15.
16.
17.
18.
19.
20.
Control de accesos sobre archivos de spool
Aproveche lo que ya tiene: FILE SERVING con NETSERVER/400
EMULACION 5250 vía Internet con lo que ya tiene instalado
Editor alternativo: Comando EDTF (Edit File)
Auditoría sobre objetos en AS/400
Cómo personalizar los comandos del menú de petición del sistema
Acceso a archivos multimiembros en un entorno cliente/servidor o SQL
Cómo agregar opciones de usuario al producto PDM
Auditoría sobre usuarios en AS/400
Temas de próximos tips:
•
•
Qué es el IFS y cómo accederlo.
Cómo enviar un archivo de salvar por e-mail.
Resumen ejecutivo e Introducción
Cuando un usuario tiene autoridad para ingresar comandos (Limitar Posibilidades en *NO), utiliza para esto
la línea de comandos presente en buena parte de los menúes y pantallas del AS/400. Justamente, una cualidad
distintiva del OS/400 frente a otros entornos son los comandos WRK que preservan la línea de comandos.
Sin embargo, una vez iniciado otro tipo de tarea (prompts de comandos, pantallas de cancelaciones de
programas, comandos tipo DSP, etc.), se pierde en estos casos la línea de comandos, aún cuando la entrada
está desinhibida. Por ejemplo, si se está dentro de un DSPLOG y quiere ejecutar un WRKJOB para ver
características adicionales de un trabajo, o está prompteando un CRTJOBD y no recuerda el nombre de una
cola de salida, son todas situaciones donde acceder a la línea de comandos implicaría cancelar la tarea en
curso para reiniciarla luego, perdiendo todo lo ejecutado hasta el momento.
Una buena alternativa para poder acceder a una línea de comandos desde pantallas que no la tienen y sin
abandonar la tarea en curso, es posible utilizar la tecla de atención (no confundir con petición del sistema).
La tecla de atención tiene asociado un programa, para que se ejecute en el momento de presionarla, dejando
en suspenso la tarea en ejecución. El programa invocado puede ser aquel que el usuario necesite, la llamada a
un menú con funciones de uso frecuente o una línea de comandos en sí.
Al salir del programa de atención se retoma la tarea en curso.
No debe confundirse la tecla de atención con petición de sistema. Para presionar la tecla de atención, la
pantalla debe estar desinhibida mientras que la petición de sistema puede invocarse aunque la pantalla esté
ocupada. Sin embargo en la Petición de Sistema el menú visualizado es fijo, y para acceder a una línea de
comandos sólo queda abrir una sesión alternativa, con la inversión de tiempo y recurso que esto conlleva.
Programa asociado a la tecla de atención: posibilidades
La tecla de atención proporciona la posibilidad de ejecutar un programa cuando se verifican dos
condiciones: la pantalla está desinhibida y se presiona la tecla “Esc”. El “mapeo” de teclado de los
emuladores más comunes asocia la tecla de atención con la tecla “Esc” o “Escape” de la PC.
De esta forma, la cadena de eventos sería la siguiente:
•
Desde la pantalla que no posee línea de mandatos y con pantalla desinhibida, presionar la tecla de
atención. Esta tecla tiene asociado un programa que abre línea de mandatos.
•
Se obtiene la línea de comandos y se ejecuta el mandato deseado.
•
Se regresa a la pantalla sin línea de comandos y se continúa con la tarea en cuestión.
Existen diferentes alternativas sobre cómo asociar un programa a la tecla de atención:
•
A través del parámetro Programa de atención presente en los perfiles de usuarios.
•
Una vez que el trabajo interactivo se ha iniciado, con el comando CL SETATNPGM.
Parámetro Programa de atención en los perfiles de usuario
Los perfiles de usuarios poseen el parámetro Programa de atención (palabra clave ATNPGM) donde se
especifica el nombre del programa que se ejecutará. La siguiente pantalla muestra el prompt del mandato
CHGUSRPRF (desde este comando aplicado sobre un determinado perfil de usuario, es posible ver y
modificar el programa de atención establecido):
Cambiar perfil de usuario (CHGUSRPRF)
Teclee elecciones, pulse Intro.
Cola de salida . . . . . . . .
*WRKSTN
Biblioteca . . . . . . . . .
Programa de atención . . . . .
Nombre, *SAME, *WRKSTN, *DEV
Nombre, *LIBL, *CURLIB
*SYSVAL
Biblioteca . . . . . . . . .
Nombre, *SAME, *SYSVAL, *NONE, *ASSIST
Nombre, *LIBL, *CURLIB
Más...
F3=Salir
F4=Solicitud
F5=Renovar
F13=Cómo utilizar esta pantalla
F12=Cancelar
F24=Más teclas
Los valores posibles para este parámetro son:
Nombre: Nombre calificado de un programa. Es necesario que se haga referencia al nombre de un objeto
de tipo *PGM, sin importar el lenguaje. Si se desea invocar un menú, el mandato de llamada “GO
bibl/menu” puede colocarse dentro de un programa CL.
*ASSIST: cuando este valor está especificado, se utiliza el menú Operational Assistant. Es equivalente a
especificar el nombre de programa QEZMAIN de la biblioteca QSYS.
*SYSVAL: este valor es el default para cualquier perfil de usuario, y hace referencia al valor del sistema
QATNPGM. El valor del sistema contiene, a su vez, el valor *ASSIST. Un cambio a este valor del sistema
afecta a todos los usuarios que tienen *SYSVAL en este parámetro.
*NONE: no hay programa de atención especificado.
Si el cambio sobre este parámetro es realizado sobre un usuario activo, entrará en vigencia en el próximo
inicio de sesión.
Comando SETATNPGM
Utilizando el parámetro Programa de atención, el usuario dispone desde el momento que inició el trabajo
interactivo, de la posibilidad de invocarlo con sólo presionar la tecla “Esc”. Si durante la sesión interactiva se
desea establecer otro programa distinto como programa de atención (o asociar uno en caso de no tenerlo) es
posible “setearlo” utilizando el mandato SETATNPGM. El programa de atención establecido a través de
este comando está asociado al nivel de petición en el cual se lo activó. Por ejemplo: si establezco un
programa de atención con SETATNPGM desde la línea de comandos del PDM, al abandonar el PDM y
llegar al MAIN, el programa de atención será el que estaba vigente cuando en el job se visualizó
anteriormente el menú principal. La siguiente pantalla muestra las posibilidades del mandato:
Establecer Programa Atención (SETATNPGM)
Teclee elecciones, pulse Intro.
Programa . . . . . . . . . . . .
Nombre, *CURRENT, *PRVINVLVL
Biblioteca . . . . . . . . . .
*LIBL
Establecer tecla de atención . .
*ON
Nombre, *LIBL, *CURLIB
*ON, *OFF
Final
F3=Salir
F4=Solicitud
F5=Renovar
F13=Cómo utilizar esta pantalla
F12=Cancelar
F24=Más teclas
En la pantalla anterior, el parámetro Establecer tecla de atención (palabra clave SET) permite indicar si el
programa del parámetro anterior se activará (*ON) o desactivará (*OFF) como programa de tecla de
atención. Observar el siguiente cuadro para comprender alguno de sus usos
A
PROG1
SETATNPGM A
CALL PROG2
A
D
PROG2
SETATNPGM B
B
RETURN
A
CALL PROG3
A
PROG3
SETATNPGM D
SETATNPGM *CURRENT *OFF
D
Ninguno !
SETATNPGM *CURRENT *ON
D
SETATNPGM *PRVINVLVL
A
RETURN
(los círculos encierran el nombre del programa de atención vigente en cada caso):
El comando SETATNPGM puede interpretarse como una alteración temporal del programa de atención
establecido por el perfil de usuario. La vigencia del “seteo” realizado por el mandato depende de si el
mandato se lo ejecutó desde línea de comandos o dentro de un programa. En el primer caso, el efecto finaliza
cuando se abandona la línea de mandatos con F3 o F12. Si el mandato está dentro de un programa, cuando el
programa termina su ejecución.
D
Ejemplos de programas de atención
Los siguientes son ejemplos de programas que pueden asociarse a la tecla de atención:
•
Programa QUSCMDLN de la biblioteca QSYS. Muestra una pequeña ventana con una línea de
comandos. Es el invocado con F21 desde el SEU o con F9 desde el menú principal del Operational
Assistant.
•
Programa QCMD de la biblioteca QSYS. Si desde la pantalla Entrada de Mandatos se presiona F10,
en la parte superior aparecen los comandos anteriormente ejecutados. Ubicándose sobre cualquiera
de ellos y dando F9 puede “bajarse” el mandato a la línea de comandos.
•
Puede generarse un menú a través de la opción correspondiente del SDA, y luego escribir un
programa que lo invoque (GO a ese menú). El programa puede asociarse luego a la tecla de atención
de alguna de las maneras vistas anteriormente.
Si el programa momentáneamente interrumpido tiene un bloqueo exclusivo sobre un objeto, el programa de
atención, que corre en el mismo job, forma parte del trabajo que posee dicho bloqueo. Por lo tanto, no
referirse a objetos bloqueados en el job interrumpido.
Para tener en cuenta...
•
La tecla de atención no puede ser utilizada desde el menú de petición de sistema ni desde cualquiera
de sus opciones. Tampoco está disponible desde la pantalla del mandato DSPMSG. Sin embargo,
desde la pantalla de cancelación de un programa (Visualizar mensajes de programa), sí está
habilitada.
•
Los programas asociados a la tecla de atención no tienen la autoridad adoptada por el programa que
estaba en proceso antes de que la tecla de atención fuera presionada.
•
Si el programa de atención es el Operational Assistant, las tareas que desde allí se desarrollen corren
en un job distinto. Utiliza una estructura de organización de trabajos llamada Trabajos de Grupo o
Group Jobs, donde cada uno tiene su propio número de job, *LDA y joblog. Comparten, entre todos
el área de datos *GDA. Los trabajos de grupo pueden distinguirtse en la pantalla del WRKACTJOB
porque a la izquierda del nombre aparece el signo “+”.
•
El menú Operational Assistant puede invocarse desde cualquier línea de comandos con GO ASSIST.
•
Las opciones exhibidas por Operational Assistant son dependientes de las autorizaciones del perfil de
usuario.
http://www.teknodatips.com.ar - Copyright 2001 Teknoda S.A. - AS/400 y OS/400 son marcas registradas de
IBM.
Dudas o consultas a [email protected]