Debugging Agent - HelpSystems · 2017-09-20 · permiso por escrito previo de Tango/04. Marcas...
Transcript of Debugging Agent - HelpSystems · 2017-09-20 · permiso por escrito previo de Tango/04. Marcas...
VISUAL Message Center Debugging Agent Guía de Usuario
El software descrito en este documento se distribuye bajo un contracto de licencia y puede utilizarse
únicamente de acuerdo a los términos de uso de dicho acuerdo.
Aviso de Copyright
Copyright © 2013 Tango/04. Todos los derechos reservados.
Fecha de documento: Febrero 2011
Versión de documento: 1.01
Versión de producto: 5.0
Ninguna parte de esta publicación puede reproducirse, transmitirse, transcribirse, almacenarse en un
sistema de recuperación o traducirse a ningún idioma o lenguaje de programación, de ninguna forma ni
medio, electrónico, mecánico, magnético, óptico, químico, manual, o de cualquier otro tipo, sin el
permiso por escrito previo de Tango/04.
Marcas Registradas
Cualquier referencia a nombres de productos registrados son propiedad de las respectivas empresas.
Soporte Técnico
Para soporte técnico visite nuestra página web en www.tango04.com.
Tango/04 Computing Group S.L. Avda. Meridiana 358, 5 A-B Barcelona 08027 España
Teléfono: +34 93 274 0051
Tabla de Contenidos
Tabla de Contenidos
Tabla de Contenidos.......................................................................... III
Cómo Usar esta Guía......................................................................... VI
Capítulo 1
Características Técnicas....................................................................... 1
Capítulo 2
Autorizaciones ................................................................................... 92.1. Autorización para ejecutar mandatos ...........................................................10
2.2. Tipo de Autorización .....................................................................................10
2.3. Teclas de Función.........................................................................................10
2.4. Usuario De ....................................................................................................11
2.5. Usuario A ......................................................................................................11
Capítulo 3
VISUAL Message Center Debugging Agent .......................................... 123.1. Distribución General .....................................................................................12
3.2. Proyectos de Depuración .............................................................................13
3.3. Vistas de Módulo .........................................................................................14
3.4. Restricciones ................................................................................................14
3.5. Ventana Principal..........................................................................................15
3.6. Administrador de Proyectos..........................................................................15
© 2013 Tango/04 Computing Group Página III
Tabla de Contenidos
3.7. Ventana de Trabajos.....................................................................................15
3.8. Ventana de Depuración ................................................................................17
3.9. Navegador de Programa...............................................................................19
3.9.1. Lista de Variables....................................................................................19
3.9.2. Explorador de Aplicaciones ....................................................................20
3.10. Ventana de Objetos ....................................................................................20
3.11. Ventana de Miembros Fuente ....................................................................21
3.12. Ventana de Chat ........................................................................................21
3.13. Diálogos ......................................................................................................22
3.13.1. Diálogo Propiedades del Proyecto........................................................22
3.13.2. Explorador de Trabajos ........................................................................22
3.13.3. Diálogo Opciones de Entorno ...............................................................23
3.13.4. Diálogo Información del Sistema .........................................................26
3.13.5. Diálogo Recuperación de Sesión de Depuración ................................27
3.13.6. Diálogo Iniciar Programa.......................................................................27
3.13.7. Diálogo Finalizar Trabajo ......................................................................28
3.13.8. Diálogo Detenido en Programa No-Depurable .....................................28
3.13.9. Diálogo Archivo de Listado COBOL en Spool.......................................28
3.13.10. Diálogo Condición de Ruptura ...........................................................29
3.13.11. Diálogo Iniciar Sesión SEU ................................................................29
3.13.12. Diálogo Buscar....................................................................................30
3.13.13. Diálogo Propiedades de la Variable....................................................30
3.13.14. Diálogo Trabajar con Variables...........................................................31
3.13.15. Utilidad de Entrada de Mandatos .......................................................31
3.14. Asistente para Mapeo de Fuentes .............................................................32
3.14.1. ¿Qué son las Reglas de Mapeo?..........................................................33
3.14.2. Asistente para Búsqueda de Fuentes ...................................................33
3.14.3. Crear/Modificar Reglas de Búsqueda ..................................................34
3.14.4. Generalizar Reglas ...............................................................................35
3.15. Test Tracker................................................................................................36
Capítulo 4
Que hacer para…........................................................................... 374.1. Iniciar un Nuevo Proyecto de Depuración ....................................................37
4.2. Guardar un Proyecto de Depuración ............................................................37
4.3. Abrir un Proyecto de Depuración..................................................................37
4.4. Depurar un Programa en Ejecución..............................................................37
4.5. Añadir/Eliminar Puntos de Ruptura...............................................................38
4.6. Añadir/Eliminar Variables de la Lista de Variables .......................................38
4.7. Depurar un Programa ...................................................................................38
4.8. Modificar una Variable ..................................................................................39
4.9. Generar Informes de Cobertura....................................................................39
© 2013 Tango/04 Computing Group Página IV
Tabla de Contenidos
Capítulo 5
Referencia....................................................................................... 415.1. Personalizar Barras de Herramientas...........................................................41
5.2. Iniciando una sesión de depuración con VISUAL Message Center Debugging Agent desde una sesión AS/400 ....................................................................41
5.2.1. VDW Starter ............................................................................................42
5.2.2. Utilizando Client Access Organizer (*PCO) ............................................44
5.2.3. Utilizando el Mandato Remoto de AS/400 (*RMTCMD) ........................45
5.3. Lenguaje de Mandatos de Depuración .........................................................50
5.3.1. Convenciones de Sintaxis.......................................................................50
5.3.2. Procesos .................................................................................................51
5.3.3. Localidad y Entidades .............................................................................52
5.3.4. Sentencias del Editor ..............................................................................52
5.3.5. Sentencias de Depuración ......................................................................57
5.3.6. Sentencia Sistema ..................................................................................64
5.3.7. Tabla de Referencia Rápida ...................................................................64
5.4. Iconos ...........................................................................................................65
5.4.1. Iconos de Tipo de Trabajo ......................................................................65
5.4.2. Iconos de Tipo de Mensaje en Anotaciones ...........................................66
5.4.3. Iconos de Tipo de Objeto ........................................................................66
5.5. Accesos Directos ..........................................................................................68
5.5.1. Asignaciones por defecto de Teclas de Acceso Directo .........................68
5.5.2. Personalizar Teclas de Acceso Directo ..................................................69
5.6. Controlando VISUAL Message Center Debugging Agent ............................69
5.6.1. Parámetros de Línea de Mandatos.........................................................69
5.6.2. Controlando VISUAL Debugger con DDE ..............................................69
5.6.3. Sintaxis de Mandatos..............................................................................70
5.7. Errores ..........................................................................................................71
5.7.1. Errores en el Servidor .............................................................................71
5.7.2. Errores Internos de VISUAL Debugger...................................................77
Apéndices
Apéndice A: Contactar con Tango/04 ................................................. 78
Acerca de Tango/04 Computing Group ............................................... 80
Aviso Legal...................................................................................... 81
© 2013 Tango/04 Computing Group Página V
Cómo Usar esta Guía
© 2013 Tango/04 Computing Group Página VI
Cómo Usar esta Guía
Este capítulo explica cómo usar las Guías de Usuario de Tango/04 y comprender las convenciones
tipográficas usadas en toda la documentación de Tango/04.
Convenciones Tipográficas
Los siguientes términos, formatos de texto y símbolos convencionales se utilizan en toda la
documentación impresa de Tango/04:
Convention Description
Negrita Mandatos, botones en pantalla y opciones de menú.
Cursiva azul Referencias y enlaces a otras secciones en el manual o a otra documentación que contiene información relevante.
Cursiva Texto mostrado en pantalla, o variables donde el usuario debe sustituir sus propios detalles.
Monospacia Mandatos de entrada como mandatos o código System i, o texto que los usuarios deben teclear.
MAYUSCULA Claves de teclado, como CTRL para la tecla Control y F5 para la tecla de función que está etiquetada como F5.
Notas e información adicional de utilidad.
Consejos y pistas que mejoran la experiencia de usuario al trabajar con este producto.
Importante: información adicional que es altamente recomendable que el usuario tenga en cuenta.
Aviso: El no seguir esta información podría derivar potencialmente en serios problemas.
Características Técnicas
Capítulo 11 Características Técnicas
Interfaz
• Interfaz totalmente integrada con Windows de 32 bits
• Ejecutable desde Windows, PDM o cualquier línea de mandatos 5250
• Inicio de edición de SEU desde la sesión de depuración con un sólo clic
• Cantidad de información mostrada ilimitada (no limitada a pantallas 24x80 o 27x132) (sólo
dependiente de la resolución y del tamaño de la fuente)
• Mandatos y teclas de función tipo SEU (T/TOP/B/BOTTOM/F/FIND, etc.)
• No es necesario recordar ningún comando para utilizar el producto.
Administración de Seguridad
• Interfaz AS/400
− Tabla de autorización basada en el AS/400
− Proporciona entradas independientes para cada "Usuario De / Usuario A", o definición de
autorizaciones genéricas (*ALL)
− Entradas diferentes para cada función: capturar trabajo / ejecutar mandato / chat
− Diferentes niveles de autorización: autorizado / no autorizado / necesita autorización en
línea por mensaje
− Validación de contraseñas en sistemas remotos
• Autorizaciones por trabajo interactivo/batch.
• Autorizaciones por subsistema
• Autorizaciones por usuario
Selección de Trabajos
• Búsqueda del Trabajo a Depurar en una ventana
• Filtro de trabajos configurable y potente
• Lista de trabajos realzadas con iconos para identificar fácilmente el tipo de los trabajos
• Accesos directos a "Sólo Interactivo" y "Sólo Batch" para acceso fácil a los trabajos
© 2013 Tango/04 Computing Group Página 1
Características Técnicas
• Columnas dimensionables, reordenables y ordenación definida por el usuario
• Recuerda el último trabajo depurado
• Encapsula el trabajo en diferentes proyectos
Información del Sistema
• Muestra información general del AS/400 (nombre del AS/400, modelo, submodelo, nivel de
seguridad, tipo de conexión)
• Muestra información de la versión del OS/400 (nivel de versión del OS/400, nivel PTF)
• Posibilidad de asociar una Descripción para identificar fácilmente cada sistema
Depuración
• Integración OPM/ILE totalmente transparente.
• Tecnología Crash-Recovery de recuperación de fallos mejorada.
• Soporte de depuración OPM nativo, es decir, no es necesario recompilar programas OPM con
opciones de *SRCDBG o *LISTDBG.
• Asistente para Mapeo de Fuentes: Tecnología de Localización de Fuentes Remotos que le
permite depurar programas (ILE y OPM) aun cuando el miembro fuente se encuentra en un
AS/400 diferente.
• Asistente de Configuración para una conexión sencilla.
• Extremadamente rápido, aun cuando se utiliza una conexión lenta vía Internet.
Ver, Cambiar y Monitorizar Variables, Indicadores y Campos
• Ver los valores de las variables con un clic en el código fuente
• Ver los valores de las variables como sugerencias o en una ventana
• Modificar variables
• Evaluar expresiones complejas
• Mostrar todos los campos en formato registro
• Monitorizar cambios en variables (el total o un cierto número de bytes desde la posición de
inicio)
• Lista de variables
• Indicación visual del cambio en una variable controlada
• Fácil indicación con casillas de verificación para monitorización de variables incluida en la
ventana de la lista de variables
• Soporte de variables RPG PLIST y KLIST
• La lista de variables se guarda en los Proyecto de Depuración
Administración de Puntos de Ruptura
• Colocar/Eliminar todos los puntos de ruptura utilizando una tecla de función
© 2013 Tango/04 Computing Group Página 2
Características Técnicas
• Colocar/Eliminar los puntos de ruptura condicionales, incondicionales, o bloques temporales
de puntos de ruptura utilizando el ratón
• Colocar/Eliminar puntos de ruptura con una tecla de función o con un mandato
• Muestra visualmente las sentencias con puntos de ruptura
• Ir a la sentencia con el punto de ruptura activado
• Colocar/Eliminar puntos de ruptura con un clic en una indicación
• Mostrar la sentencia en ejecución para los programas en ejecución
• Ejecutar hasta el cursor
• Múltiples puntos de ruptura temporales (parar sólo una vez en la línea) con iconos y
indicaciones diferentes
• Animación
Detección de Código no Probado
• Indicación de las sentencias no probadas
• Búsqueda de sentencias no probadas
• Informe de partes de programa no probadas
Localización de Código no Utilizado
• Indica el código no utilizado (rutinas no llamadas) en COBOL, CL, RPG, simplificando el
mantenimiento del programa
• Código no utilizado mostrado en el Árbol de Fan-In (indicado en gris)
Administración general de la depuración
• Recuperación automática de sesiones de depuración después de un fallo de comunicación
• Almacena todos los módulos y programas en proyectos para una recuperación más fácil y
rápida
• Fácil introducción de cualquier programa en ejecución en cualquier trabajo en modo
depuración con un doble clic en la pila de llamadas
• Fácil cambio entre módulos, haciendo clic en el Navegador de Programa, en una tecla de
función o en un botón
• Botones seleccionables con nombres mostrando todos los módulos cargados
• Explore múltiples fuentes de cualquier librería o AS/400 en ventanas separadas mientras está
depurando
• Ejecute el programa a ser probado desde cualquier línea de mandatos, menú, o llamada
normal (no se obliga a llamarlo desde dentro del depurador)
• Opcionalmente, puede ejecutar el programa (o mandato) desde dentro del entorno de prueba
con parámetros
• Detección inteligente del fin del programa en depuración
• Rápido cambio de la vista de depuración desde *STMT, *SOURCE, *LISTING
© 2013 Tango/04 Computing Group Página 3
Características Técnicas
• Anotaciones de mandatos desplazables/ocultables con historial de todos los mandatos de
depuración
• Muestra inmediatamente los valores de las variables y los monitores cambiados de un
programa en ejecución sin poner puntos de ruptura con anterioridad
Búsqueda Avanzada
• Búsqueda de sentencias probadas / no probadas
• Búsqueda de sentencias con puntos de ruptura
• Búsqueda de caracteres normales en orden normal /inverso, desde la primera o última
sentencia, o todas ( *ALL)
• La búsqueda está en ventana, acceso directo o mandato
• Búsqueda de líneas de comentarios
• Indicación visual de los resultados cuando se buscan todas las ocurrencias ( *ALL) en una
ventana separada
• Resultados seleccionables mediante un clic para posicionarse inmediatamente en el código
fuente cuando se buscan todas las ocurrencias ( *ALL)
Documentación
• Impresión del código fuente
• Impresión con Color Coding Opcional
• Indentación RPG / RPGLE opcional en la impresión
• Indentación CLP / CLPLE opcional en la impresión
• Indicación de sentencias probadas / no probadas
• Imprime código fuente de AS/400s remotos
• Tipo y tamaño de fuente personalizable
• Color Coding personalizable con diferentes perfiles
• Cortar y Pegar formateado con atributos de texto enriquecido
Captura de Pantalla
• Captura de pantalla hasta la última tecla pulsada
• Manejo automático de pantallas 24 x 8 y 27 x 132
• Indicación en pantalla de las entradas y del estado de espera de mensajes, funciones, formato
de fichero de pantalla, y tiempo de inactividad
• Función de Copiar al Portapapeles de toda la pantalla de modo texto ( o de un área
seleccionable)
• Copia al Portapapeles en modo texto e imagen la pantalla completa o el área seleccionada.
• Fuentes y colores personalizables
• Importación de ficheros de atributos de colores NS/Elite 5.11 (*.ATT)
© 2013 Tango/04 Computing Group Página 4
Características Técnicas
• Puede mostrar múltiples pantallas al mismo tiempo
• Capacidad de Auto Refresco con intervalo personalizable
Información del Trabajo
• Soporta trabajos interactivos, por lotes y de autoarranque
• Información general del trabajo detallada: tipo, estado, prioridad, y más
• Registro histórico de trabajos
• Contenido del Área de Datos Locales ( Local Data Area, *LDA) en formato carácter y
hexadecimal
• Lista de objetos QTEMP
• Lista de Librerías incluyendo librerías actuales, de producción, de usuario y de sistema
• Acceso a los objetos contenidos en cada librería desde la Lista de Librerías con un doble clic
• Listado completo de la pila de llamadas incluyendo información OPM y ILE
• Captura de programas desde la pila de llamadas, con un menú sensible al contexto accesible
con el botón derecho del ratón
• Puede capturar múltiples trabajos a la vez
Explorador de Aplicaciones
• Visualización jerárquica del flujo de ejecución
• Interfaz navegable para profundizar de los programas llamados
• Muestra todos los objetos referidos desde los programas (incluyendo ficheros y formatos,
áreas de datos y programas)
• Muestra Módulos ILE y Programas de Servicio ILE
• Menú sensible al contexto con el botón derecho para abrir fácilmente cualquier Objeto referido
en el modo explorador del Fuente y de Objetos, incluyendo código fuente ILE
• Indicación de uso individual por formato de registro (entrada, salida, actualización, etc.)
• Integrado con el Explorador de Sistema para la fácil localización de objetos no calificados
• No requiere tener el código fuente disponible
Localizador de Código Fuente
• Identifica y recupera el Código Fuente correspondiente desde el Explorador de Objetos o el
Explorador de Aplicaciones
• Recupera automáticamente el código fuente de cualquier objeto de sistema, programa,
programa de servicio, o módulo ILE
• Puede localizar código fuente remotamente en una red, tanto manualmente como
automáticamente
• Extremadamente rápido
© 2013 Tango/04 Computing Group Página 5
Características Técnicas
Explorador de Fuentes
• Indicación de la sentencia ejecutada por programas en ejecución si está disponible
• Posibilidad de hacer clic en nombres de variables y mostrar sus valores
• Soporte para modo Ventana o Indicación para mostrar los valores de las variables
• Visualización de las variables en modo Carácter y Hexadecimal
• Muestra el Número de Sentencia y Fecha de Modificación
• Muestra información general del fuente: Fecha de creación, modificación, guardado,
recuperado, etc.
• Fuente y tamaño de fuente seleccionables por el usuario
• Potente función de búsqueda
• Soporte Copiar al Portapapeles (parcialmente o totalmente)
• Color Coding para RPG, CL, DDS, COBOL y C opcional para la fácil comprensión de la lógica
del programa
• Indentación opcional
• Opcionalmente muestra/oculta los comentarios.
• Puede abrir cualquier fuente sin un trabajo asociado
• Puede abrir un número ilimitado de fuentes a la vez
• Las Etiquetas y los nombres de Subrutinas actúan como Hipervínculos para una fácil y rápida
visualización del programa (el destino no necesita estar en modo depuración)
• Soporte Atrás/Adelante para posicionarse rápidamente cuando se utilizan Hipervínculos
• Cambie entre diferentes vistas de los fuentes (*TEXT, *LISTING, *STATEMENT y *EXPANDEDcon expansión automática de directivas /COPY)
Navegador de Programa
• Simplifica la comprensión de la lógica de los programas complejos
• Proporciona una forma muy eficiente de navegar por el programa
• Árbol de Fan-In: muestra una estructura jerárquica navegable que muestra todas las llamadas
internas y externas en un programa (incluyendo GOTOs, EXSR, CALLs, etc.)
• Árbol de Fan-Out: muestra todas las referencias para cada etiqueta, subrutinas, o llamadas
(Calls) para una comprensión más fácil de las dependencias y una exploración más rápida
• Posicionamiento en la sentencia seleccionada con un clic
• Habilitado el clic con el botón derecho para posicionarse en una definición o referencia
• Contraer / Expandir con un botón
Diccionario de Datos
• ¡ÚNICO! Herramienta de referencia excelente para rastrear datos en cualquier proyecto de
mantenimiento.
• Muestra las variables, indicadores, y campos referenciados en cada programa OPM
© 2013 Tango/04 Computing Group Página 6
Características Técnicas
• Muestra las variables, indicadores, y campos referenciados en cualquier lenguaje ILE
• Posibilidad de hacer clic en los nombres de las variables y mostrar los valores
• Soporte para modo Indicación o modo Ventana para visualizar los valores de las variables
• Visualización de las variables de carácter y hexadecimales
• Muestra el nombre, tipo y longitud
• Opcionalmente muestra/esconde los apuntadores del programa
• Ordenación por nombre o tipo con un clic
• No requiere el código fuente disponible
Explorador de Objetos
• Muestra información detallada de cada objeto accedido.
• Muestra tipo de objeto, tamaño, dominio, propietario, fecha de creación, salvado, recuperado,
nivel OS/400, localización de la fuente, fecha de última actualización, autoridad adoptada,
opción de recuperación de fuente CL, optimización, observabilidad, etc.
• Integrado con el Explorador del Sistema para localizar fácilmente el código fuente o
seleccionar otros objetos.
• No necesita que el código fuente esté disponible
• Puede abrir un número ilimitado de objetos a la vez
• Muestra información del módulo ILE y del Programa de Servicio
Explorador de Sistema
• Permite la navegación y la selección gráficas de librerías AS/400, objetos, y miembros de
archivo.
• Potentes capacidades de filtrado
• Visualización gráfica de tipos de objetos
• Cuatro vistas seleccionables: iconos pequeños, iconos grandes, lista y detalles
• Posibilidad de llamarlo desde cualquier ventana del producto y utilizado en la Lista de
Librerías, el Explorador de Aplicaciones, el Explorador de Objetos y el Explorador del Fuente.
Ejecución de Mandatos
• Permite la ejecución de cualquier mandato en el trabajo capturado
• Permite la ejecución incluso si el trabajo está en modo "entrada inhibida"
• Completa visualización de los mensajes de ejecución
Chat
• Permite chat en modo texto con cualquier otro usuario AS/400
• Soporte de "Alias" para cambiar el nombre de identificación
• Posibilidad de interrumpir el chat en cualquier momento desde cualquiera de las partes
• Permite chats con múltiples usuarios al mismo tiempo desde un sólo PC
© 2013 Tango/04 Computing Group Página 7
Características Técnicas
• Magnífica herramienta para comunicarse con sus usuarios cuando no tenga línea telefónica
disponible
Rendimiento
• Utilización mínima de recursos del AS/400
• No se necesita un PC dedicado
• Tecnología Speed-Cache de Tango/04 para listado y captura rápidos de trabajos
Tecnología Cliente/Servidor
• Producto optimizado para 32 bits (compatible con Windows 95, 98 y NT)
• Listas con iconos, accesos directos, opciones personalizables
• Tecnología de comunicaciones NiceLink©
• Ayuda en línea gráfica y totalmente sensible al contexto
• Barra de herramientas personalizables
• Todas las ventanas se pueden redimensionar, mover y maximizar
• Múltiples archivos de personalización definibles por el usuario.
• Interfaz de llamada DDE para fácil integración con otras aplicaciones Windows o desde una
sesión de emulación.
Avanzado Motor de Comunicaciones (NiceLink©)
• Basado en Nicelink© (preparado para trabajar con diferentes protocolos)
• Soporte para direccionador APPC, TCP/IP, y conexiones directas Microsoft SNA Server.
• Soporte para futuras conexiones NiceLink© sin cambios.
• Utilidad de Configuración Gráfica
• Botón de Comprobación de Conexión y facilidades avanzadas de solución de problemas.
• Asistente de Configuración para conexiones fáciles
• Extremadamente rápido incluso utilizándolo con conexiones a Internet lentas
© 2013 Tango/04 Computing Group Página 8
Autorizaciones
Capítulo 2 2 Autorizaciones
Por motivos de seguridad, la gestión de autorizaciones está localizada en el AS/400, no en el PC.
La pantalla Trabajar con Autorizaciones de VISUAL Message Center Debugging Agent (WRKDBGAUT), de
la librería VISUALW, le permite definir las funciones del producto que el usuario, que se conecta al AS/
400, está autorizado a ejecutar sobre un trabajo: capturar un trabajo, depurar un trabajo, ejecutar
mandatos en ese trabajo, e iniciar una sesión de chat con el usuario de ese trabajo.
VISUAL Message Center Debugging Agent comprueba la autorización requerida cada vez que se inicia
una petición sobre un trabajo.
Puede ver esa pantalla en la imagen inferior.
Nota Para utilizar VISUAL Message Center Debugging Agent, necesita estar incluido en la lista de
autorización de V_DEBUGGER ( si no está seguro sobre esto, utilice el mandato del AS/400
DSPAUTL), o tener autoridad *ALLOBJ.
© 2013 Tango/04 Computing Group Página 9
Autorizaciones
También puede ir a cualquiera de los siguientes temas:
• Usuario De
• Usuario A
• Tipo de Autorización
• Teclas de Función
2.1 Autorización para ejecutar mandatosEspecifique la autorización para ejecutar mandatos realizada por Usuario De en trabajos Usuario A.
Los posibles valores son:
• S: Especifique S para indicar que se utilizará la autoridad Usuario De.
• G: Especifique G para indicar que se utilizará la autoridad de grupo Usuario De.
• T: Especifique T para indicar que se utilizará la autoridad Usuario A.
• Q: Especifique Q para indicar que se utilizará la autoridad QSECOFR.
2.2 Tipo de AutorizaciónEspecifique la autorización asignada al Usuario especificado en Usuario De para iniciar una petición
sobre un trabajo remoto propiedad del usuario especificado en Usuario A.
Los valores posibles son:
• Y: Especificar Y para indicar que el usuario indicado en Usuario De puede iniciar una petición
sobre un trabajo remoto propiedad del usuario Usuario A.
• N: Especificar N para indicar que el usuario indicado en Usuario De no puede iniciar una
petición sobre un trabajo remoto propiedad del usuario Usuario A.
• M: Especificar M para indicar que se enviará un mensaje al usuario --Usuario A-- para
permitir al usuario Usuario De iniciar una petición sobre un trabajo remoto propiedad del
usuario Usuario A.
2.3 Teclas de FunciónLas teclas de función siguientes se aplican al trabajo con la pantalla de autorización de VISUAL
Message Center Debugging Agent (WRKDBGAUT).
• F1=Ayuda: Muestra información adicional sobre la utilización de la pantalla.
• F3=Salir: Finaliza la tarea actual y retorna a la pantalla des de la que se inició la tarea.
• F5=Refrescar: Actualiza la información visualizada.
• F12=Cancelar: Retorna a la pantalla o al menú anterior.
• F16=Imprimir lista: Imprime la lista completa. El fichero de Spool se envía a la cola de salida,
y se puede ver utilizando el mandato WRKSPLF.
• F17=Inicio: Muestra el primer elemento de la lista al principio de la pantalla.
• F18=Final: Muestra el último elemento de la lista al final de la pantalla.
© 2013 Tango/04 Computing Group Página 10
Autorizaciones
• F21=Mandato de sistema: Muestra una ventana en la que se pueden introducir mandatos de
sistema AS/400.
2.4 Usuario DeEspecifique el nombre del perfil de usuario que iniciará la petición desde el PC. Los valores posibles
son:
• *ALL: Especifique *ALL para indicar una autorización genérica para que todos los perfiles de
usuario puedan iniciar una petición sobre cualquier trabajo remoto propiedad del usuario
indicado en Usuario A.
• Nombre de Usuario: Especifique un nombre de perfil de usuario válido. Si introduce un
nombre de usuario y existe una autorización genérica para Usuario De, el nombre de usuario
tiene prioridad sobre la autorización genérica.
2.5 Usuario AEspecifique el nombre del usuario a cuyo trabajo quiere dar soporte. Los valores posibles son:
• *ALL: Especifique *ALL para indicar una autorización genérica para todos los perfiles de
usuario del sistema.
• Nombre de Usuario: Especifique un nombre de usuario válido. Si introduce un nombre de
usuario y existe una autorización genérica *ALL, el nombre de usuario tiene prioridad sobre la
autorización genérica.
© 2013 Tango/04 Computing Group Página 11
VISUAL Message Center Debugging Agent
Capítulo 3 3 VISUAL Message Center Debugging Agent
3.1 Distribución GeneralVISUAL Message Center Debugging Agent ofrece una interfaz de usuario Centrada en los Datos: Se
concentra en objetos AS/400 y Proyectos de Depuración. La siguiente imagen muestra la distribución
típica de la ventana de VISUAL Message Center Debugging Agent.
La Ventana Principal, en la parte superior de la pantalla, le ofrece las tareas más comunes en VISUAL
Message Center Debugging Agent. Desde la Ventana Principal puede Abrir un Trabajo, Abrir un
Miembro Fuente, Abrir un Objeto AS/400, Iniciar una sesión SEU, Iniciar una sesión de Chat, Mostrar el
Administrador de Proyectos,...
El Administrador de Proyectos le proporciona las herramientas de administración para tratar con
proyectos. Desde el Administrador de Proyectos puede: Crear un Nuevo Proyecto de Depuración,
Cargar un Proyecto de Depuración desde el disco, Guardar un Proyecto de Depuración al disco,
Cambiar entre diferentes Proyectos, Abrir los Objetos en un Proyecto,... Cuando esté seleccionando el
trabajo y el programa que desea depurar, se visualizarán dos diálogos importantes:
El Explorador de Trabajos le permitirá seleccionar los trabajos del AS/400 con los que quiere trabajar.
Desde una lista del estilo "Trabajar con Trabajos Activos", que puede ordenar y filtrar como desee,
simplemente haciendo doble clic el trabajo deseado.
El Explorador de Sistema será su herramienta para tomar objetos del AS/400, como el programa a
depurar, o cualquier otro objeto que quiera examinar. Si ya es un usuario de Windows, descubrirá que
© 2013 Tango/04 Computing Group Página 12
VISUAL Message Center Debugging Agent
explorar su AS/400 es tan fácil como explorar su PC: el mismo aspecto, navegar bibliotecas como si
fueran carpetas, seleccionar objetos con un doble clic,...
La Ventana de Depuración será normalmente su ventana de "trabajo". Como se espera de cualquier
depurador, muestra el código del programa que está siendo depurado y un amplio conjunto de
herramientas de depuración, que incluye Puntos de Ruptura (incondicionales, condicionales,
temporales), Monitores, Lenguaje de Mandatos Flexible, Herramienta de Búsqueda Avanzada, Lista de
Variables,...
Pero VISUAL Message Center Debugging Agent también le proporciona un amplio conjunto de
poderosas herramientas para navegar, explorar y comprender sus programas, como el Navegador de
Programa, las características de Codificación en Colores, Hipervínculos de Código Fuente, el
Explorador de Aplicaciones, la posibilidad de cambiar entre diferentes vistas de un módulo, ....
Además, le ofrece muchos detalles relacionados con el programa, como Información del Programa,
Información del Módulo, Información del Miembro Fuente, Diccionario de Datos,...
La Ventana de Trabajo le ofrece todas las propiedades del Trabajo disponibles (Pantalla, Anotaciones
del Trabajo, LDA, QTEMP, LIBL,...), y también le permite interactuar con el trabajo, ejecutando
mandatos en el propio trabajo.
La Ventana de Objetos le proporciona la información relacionada con cualquier tipo de objeto en el AS/
400: archivos físicos, archivos lógicos,...
El Explorador de Fuentes, muy similar al Explorador de Sistema, le permitirá seleccionar los miembros
fuente del AS/400 que quiera examinar. Además, si el código fuente está localizado en un Sistema AS/
400 remoto, la tecnología de Localización de Código Fuente le permitirá especificar dónde está, ¡y lo
tendrá en su pantalla!
La Ventana de Miembros Fuente le ofrece no sólo el texto del miembro fuente, utilizando Codificación
en Colores cuando esté disponible, sino también los detalles del miembro fuente, como las fechas en
que se creó, modificó, ....
La Ventana de Chat es la ventana que utilizará para mantener una conversación de texto con cualquier
usuario en el AS/400. Cuando necesite hablar para intercambiar ideas sobre sus programas, hablar con
usuario sobre un fallo que hayan encontrado,... si no tiene un teléfono o otra forma de comunicarse con
ellos, puede usar la utilidad de chat.
3.2 Proyectos de Depuración Un Proyecto de Depuración encapsula los objetos necesarios para depurar un programa en el AS/400:
El propio programa, y el trabajo depurado. El trabajo probablemente cambiará entre las sesiones de
depuración, porque el trabajo puede no estar activo o puede haber terminado desde la sesión de
depuración previa.
Pero un Proyecto de Depuración de VISUAL Message Center Debugging Agent es más que eso:
También le permite encapsular otros objetos de AS/400 en el proyecto. Estos objetos pueden ser
trabajos, miembros fuente, o cualquier otro tipo de objeto.
Esto le permite mantener juntos los objetos relacionados con el proceso de depuración. Obtendrá todos
sus detalles si va al Administrador de Proyectos y abre el objeto.
© 2013 Tango/04 Computing Group Página 13
VISUAL Message Center Debugging Agent
3.3 Vistas de Módulo Dependiendo de los datos de depuración incluidos en el módulo cuando fue creado por el compilador (a
través de los valores Opciones del Compilador y Vistas de Depuración), el objeto Módulo podría
tener las siguientes Vistas de Módulo disponibles:
• *LISTING: Una vista de listado generada para depurar el objeto programa. La información
mostrada en la vista depende del valor especificado del parámetro OPTION (*SHOWCPY o
*EXPDDS).
• *TEXT: Una vista de miembro fuente generada para depurar el objeto programa compilado.
Esta vista no está disponible si el miembro fuente raíz es un archivo DDM. También, si el
miembro fuente ha sido modificado después de la compilación del módulo, la vista *TEXTpuede ser diferente que el miembro fuente, pero es el fuente exacto del módulo que se está
ejecutando en ese momento.
• *EXTENDED: Una vista de miembro fuente que incluye las copias generadas para depurar el
objeto programa compilado. De hecho, esta vista es la misma que la vista *TEXT, pero incluye
también cada miembro fuente incluido con la directiva del compilador /COPY.
• *STATEMENT: Una vista de lista que le permite depurar el objeto programa utilizando los
números de línea mostrados en la columna de más a la izquierda de la sección de código del
listado generado por el compilador.
3.4 RestriccionesLa versión actual de VISUAL Message Center Debugging Agent tiene las siguientes restricciones.
Modelo de Programación
Los programas OPM sólo pueden ser depurados si fueron compilados con las opciones *SRCDBG y/o
*LSTDBG.
Lenguaje de Programación
No hay soporte para Java en esta versión.
Versión OS/400
Las versiones de OS/400 previas a V3R7 no soportan:
• Monitores.
• Las Sentencias Cualificar y Evaluar, cuando se depuran programas OPM, incluso compilados
con las opciones *SRCDBG y/o *LSTDBG, en versiones de OS/400 anteriores a V3R7.
Proyecto de Depuración
• No está permitido abrir dos o más proyectos para depurar el mismo programa al mismo
tiempo, incluso si los trabajos para depurarlos son diferentes.
• No está permitido abrir dos o más proyectos para depurar el mismo trabajo al mismo tiempo,
incluso si los programas a depurar son diferentes.
Trabajos:
• Esta versión no soporta la depuración de Trabajos en Cola de Trabajos.
© 2013 Tango/04 Computing Group Página 14
VISUAL Message Center Debugging Agent
Nuestro equipo de desarrollo está trabajando para superar estas restricciones tan pronto como sea
posible, y puede esperar que estas restricciones se solucionarán en las siguientes versiones, con
características adicionales incluidas. Contacte su distribuidor autorizado para pedir cualquier mejora o
funcionalidad no proporcionada.
3.5 Ventana PrincipalLa Ventana Principal se localiza en la parte superior de la pantalla cuando está maximizada, pero
puede cambiarla a un tamaño personalizado y Añadirla donde quiera. Haga clic en la imagen inferior
para obtener una descripción de cada elemento.
Figura 1 – Ventana Principal
3.6 Administrador de ProyectosEl Administrador de Proyectos organiza y proporciona acceso rápido a los proyectos de depuración
abiertos. La versión actual de VISUAL Message Center Debugging Agent le permite depurar diversos
programas en el mismo proyecto (necesario para depurar completamente programas que realicen
llamadas a otros programas o programas de servicio), y también tener diversos proyectos de
depuración abiertos al mismo tiempo (pero sólo cuando no compartan ni los mismos programas ni el
mismo trabajo de depuración).
Haga clic en la imagen inferior para obtener una descripción de cada elemento.
Figura 2 – Administrador de Proyectos
3.7 Ventana de TrabajosVISUAL Message Center Debugging Agent visualiza toda la información relacionada con los trabajos
capturados en la ventana de trabajos. También permite abrir diferentes trabajos, de este modo puede
acceder los trabajos de diferentes usuarios al mismo tiempo. El número de ventanas que puede
mantener abiertas depende de la memoria de su PC. Haga clic en la imagen para obtener una
descripción detallada de cada elemento.
© 2013 Tango/04 Computing Group Página 15
VISUAL Message Center Debugging Agent
Figura 3 – Ventana de Trabajos
La información relacionada con los trabajos se muestra en diferentes páginas que se pueden
seleccionar con las pestañas de la parte inferior de la ventana:
Página de Pantalla
Esta página sólo está habilitada cuando el trabajo es interactivo, y visualiza la pantalla del trabajo.
Página de Anotaciones del Trabajo
Muestra las anotaciones del trabajo capturado. Cada entrada en las anotaciones tiene un icono
asociado al tipo de mensaje. Refiérase al tema Iconos de Mensajes en Anotaciones para una
descripción detallada.
Página de Área de Datos Local (LDA)
Muestra el Área de Datos Local del trabajo. También puede escoger verla en formato CHAR o HEX.
Página de Lista de Bibliotecas (LIBL)
Muestra la Lista de Bibliotecas del trabajo. Puede redimensionar y reordenar los campos de la lista
arrastrando y soltando las cabeceras de las columnas de la lista.
Puede hacer doble clic en cualquiera de las bibliotecas para abrir el Explorador de Sistema y ver el
contenido de la biblioteca.
Página de Contenido de QTEMP
Muestra un listado del contenido de la biblioteca temporal del trabajo. Muestra el nombre del objeto,
tipo, atributo y texto descriptivo.
Puede redimensionar y reordenar los campos de la lista arrastrando y soltando las cabeceras de las
columnas de la lista.
También puede ordenar la lista de objetos simplemente haciendo clic en la cabecera de la columna
deseada, y ordenando la lista de objetos por nombre, tipo, ....
© 2013 Tango/04 Computing Group Página 16
VISUAL Message Center Debugging Agent
Página de Pila de Llamadas
Muestra la pila de llamadas del trabajo, esto es, los programas que ya se están ejecutando en el
trabajo, y el orden de invocación de esos programas.
Puede incluir o excluir los Programas de Sistema y VISUAL Debugger de ser mostrados, sólo
marcando o desmarcando la casilla de verificación de la parte inferior de la página.
Puede redimensionar y reordenar los campos de la lista arrastrando y soltando las cabeceras de las
columnas de la lista.
Y también, puede depurar programas que ya se estén ejecutando en el trabajo. Simplemente haga
doble clic sobre el programa que desee depurar, o haga clic con el botón derecho y seleccione Depurar
del menú contextual, y se creará automáticamente un Proyecto de Depuración para depurar el
programa. La Ventana de Depuración se abrirá, y se mostrará el código fuente (si está disponible),
señalando la sentencia actualmente en ejecución.
Página de Información del Trabajo
Muestra detalles sobre el trabajo: Tipo de Trabajo, Estado del Trabajo, Prioridad del Trabajo, Time
Slice, conmutadores, Fecha del Trabajo, Inicio del Trabajo, Entrada del Sistema, Última Interacción del
Usuario y Última Interacción del Sistema.
Página de Mandatos
Le ofrece la posibilidad de ejecutar mandatos en los trabajos capturados desde su PC. Usted puede
teclear mandatos directamente en la línea de mandatos (==>) y pulsar Intro para someter el mandato,
F4 para solicitar parámetros adicionales, y F9 para recuperar mandatos previos.
Si usted ejecuta un mandato con salida a pantalla, dicha salida aparecerá en la pantalla del trabajo
capturado. Puede ver la salida simplemente cambiando a la Página de Pantalla y refrescándola. Por
favor, tenga en cuenta que el mandato puede requerir una interacción del usuario (por ejemplo, pulsar
F3) para finalizar normalmente. Para evitar la necesidad de una respuesta del usuario, usted puede
redirigir la salida a un archivo o a un archivo en spool, y mirar mas tarde dicho archivo o entrada de
spool.
3.8 Ventana de DepuraciónDesde la Ventana de Depuración depurará sus programas. Como es de esperar, visualiza el código
fuente del programa, pero también mucha información relacionada, y herramientas para depurar y
explorar la aplicación.
© 2013 Tango/04 Computing Group Página 17
VISUAL Message Center Debugging Agent
Figura 4 – Ventana de depuración
A la izquierda, puede ver el Navegador de Programa, que le permite comprender y navegar por su
aplicación. La información relacionada con el programa se muestra en diferentes páginas que pueden
ser seleccionadas con las pestañas de la parte inferior de la ventana.
Página Fuente
Esta página visualiza el código fuente del módulo actualmente seleccionado. También muestra la Lista
de Variables. Haga clic en los hipervínculos para navegar por el código fuente. Seleccionar cualquier
expresión del código fuente y hacer clic en el botón Editar Lista Editar Variable permite añadir la
expresión a la Lista de Variables. Cuando la aplicación está ejecutándose o detenida, seleccionar
cualquier expresión y hacer clic con el botón derecho mostrará el valor de la expresión. Los símbolos en
la Área Estado de Sentencia, el panel gris a la izquierda del código fuente, tienen los siguientes
significados:
Indica que es una sentencia ejecutable.
• Haga clic sobre él para añadir un Punto de Ruptura.
• Presione Shift y haga clic para añadir un Punto de Ruptura Condicional.
• Presione Ctrl y haga clic para añadir un Punto de Ruptura Temporal.
Indica que el programa está detenido en esa sentencia.
Indica que la operación del programa se ha reanudado en esa sentencia.
Indica que la sentencia se ha ejecutado.
Un Punto de Ruptura Incondicional está activo en la sentencia.
• Haga clic para eliminarlo.
Un Punto de Ruptura Condicional está activo en la sentencia.
• Haga clic para eliminarlo.
Un Punto de Ruptura Temporal está activo en la sentencia.
© 2013 Tango/04 Computing Group Página 18
VISUAL Message Center Debugging Agent
• Haga clic para eliminarlo.
Página Información del Fuente
Visualiza información relacionada con el código fuente, fecha y hora de creación, fecha y hora de
modificación,...
Página de Información de Objeto
Muestra detalles de los Objetos Programa y Módulo.
Explorador de Aplicaciones
Muestra el árbol de referencias de la aplicación, que es la estructura jerárquica de los objetos referidos
por la aplicación. Además, permite al usuario navegar por esa estructura.
Diccionario de Datos
Muestra la lista de las variables utilizadas por el módulo activo. Si el programa se está ejecutando,
seleccione y haga clic en una variable para ver su valor. Haciendo clic en el botón Editar Variable le
permite añadir la variable a la Lista de Variables.
3.9 Navegador de ProgramaEl Navegador de Programa utiliza técnicas de ingeniería inversa para analizar el código fuente, y
construir dos vistas complementarias del programa:
Vista Fan-Out ( ): Imagine que su código fuente es un manual de 300 páginas. Si usted estuviese
buscando cierta información en el manual, ¿buscaría a ciegas página a página por todo el manual?
¡Desde luego que no! Primero miraría la Tabla de Contenidos para buscar el Capítulo y el Apartado y la
página en que se encuentran. El Fan-Out actúa como una Tabla de Contenidos. Proporciona la
estructura, sentencia a sentencia, del programa. Una Tabla de Contenidos es también el lugar idóneo
para obtener una idea rápida del manual, que temas trata, etc. De forma análoga, el Fan-Out
proporciona al programador una vista rápida de la lógica del programa.
Vista Fan-In ( ): Usando la misma analogía, si usted estuviese buscando todas las referencias a una
palabra o tema específico, usted pasaría de la Tabla de Contenidos directamente al final del manual, al
Índice. Esta es la vista de Fan-In.
Ambas vistas le permiten navegar por el código: haga clic en una subrutina, una llamada a una
subrutina. Cualquier elemento en los árboles Fan-Out y Fan-In, y el código fuente se posicionará
automáticamente en este punto. También puede expandir o colapsar en una profundidad concreta,
utilizando los botones de la parte inferior. También puede seleccionar, en la Página Opciones, lo que
quiere ver o no ver en los árboles: etiquetas, bifurcaciones, llamadas externas,...
El Navegador de Programa le dará una herramienta única para las tareas de análisis de impacto,
revisión, modificación y ampliación de prestaciones. Le da una visión clara de las referencias cruzadas
y las dependencias del programa. Con el Navegador de Programa es un juego de niños saber qué
partes del código fuente se verán afectadas por cualquier cambio.
3.9.1 Lista de VariablesLa Lista de Variables muestra una lista de expresiones que son evaluadas cada vez que la operación
del programa se suspende a causa de una sentencia paso a paso, un punto de ruptura alcanzado o un
cambio en una variable monitorizada. La Lista de Variables muestra la expresión que se evalúa, su tipo,
© 2013 Tango/04 Computing Group Página 19
VISUAL Message Center Debugging Agent
y su valor cuando el programa se está ejecutando. También muestra el campo Monitor que permite
activar / desactivar rápidamente monitores para las variables de la Lista de Variables, simplemente
marcando / desmarcando la casilla de verificación monitor. Referirse al tema Sentencia Monitorizar para
una descripción detallada de qué son y cómo funcionan los monitores.
Tan sólo tiene que seleccionar la variable en el fuente, arrástrela a la Lista de Variables o pulse el botón
de Editar Variable ( )para añadir la variable a la vista.
3.9.2 Explorador de Aplicaciones El Explorador de Aplicaciones es una de las características únicas de VISUAL Message Center
Debugging Agent. Muestra el árbol de referencias de una aplicación, que es la estructura jerárquica de
los objetos referidos por la aplicación. Además, permite al usuario navegar por la estructura: Haciendo
clic con el botón derecho sobre un objeto en el árbol, le permitirá abrir ese objeto en una nueva
ventana, añadir programas a una sesión de depuración,...
Figura 5 – Explorador de Aplicaciones
Algunos objetos por lo general no tienen una biblioteca especificada (esto es, están localizados en
alguna biblioteca en la Lista de Bibliotecas) y tendrá que especificarla antes de poder expandir el nodo
de ese objeto.
3.10 Ventana de ObjetosVISUAL Message Center Debugging Agent visualiza toda la información relacionada con objetos en
una ventana muy similar a la Ventana de Depuración: la Ventana de Objetos. La información se
muestra en diversas páginas que se pueden seleccionar a través de las pestañas de la parte inferior de
la ventana:
Página Miembro Fuente
Cuando está disponible, muestra el código fuente del objeto. Cuando el lenguaje de programación es
RPG III, RPG IV, DDS, COBOL, CL o C, le permite personalizar su configuración de Color Coding a
través del Diálogo de Configuración de Color Coding, y hacer clic en los hipervínculos para navegar por
el código fuente. El Navegador de Programa también está disponible para navegar y entender el
programa.
© 2013 Tango/04 Computing Group Página 20
VISUAL Message Center Debugging Agent
Página Información del Fuente
Muestra información relacionada con el código fuente, fecha y hora de creación, fecha y hora de
modificación,...
Página de Información de Programa/Módulo/Objeto
Muestra detalles sobre los Objetos.
Explorador de Aplicaciones
Muestra el árbol de referencias de la aplicación, que es la estructura jerárquica de los objetos referidos
por la aplicación. Además, permite al usuario navegar por esa estructura.
Diccionario de Datos
Muestra la lista de las variables utilizadas por el módulo activo. Si el programa se está ejecutando,
seleccione y haga clic en una variable para ver su valor. Haciendo clic en el botón Editar Variable le
permite añadir la variable a la Lista de Variables.
Página Post Mortem RPG
Muestra información detallada un programa RPG III en ejecución. Cuando un programa falla, el Post
Mortem RPG le da un informe detallado del estado del programa en ese momento.
VISUAL Message Center Debugging Agent le permite tener varias ventanas de objetos abiertas, de
manera que pueda acceder diferentes objetos al mismo tiempo. El número de ventanas que puede
mantener abiertas depende de la memoria de su PC.
3.11 Ventana de Miembros Fuente VISUAL Message Center Debugging Agent visualiza toda la información relacionada con miembros
fuente en una ventana muy similar a la Ventana de Depuración.: la Ventana de Miembros Fuente. La
información se muestra en diversas páginas que se pueden seleccionar a través de las pestañas de la
parte inferior de la ventana:
Página Miembro Fuente
Cuando está disponible, muestra el código fuente del objeto. Cuando el lenguaje de programación es
RPG III, RPG IV, DDS, COBOL, CL o C, le permite personalizar su configuración de Color Coding a
través del Diálogo Configuración Color Coding, y hacer clic en los hipervínculos para navegar por el
código fuente. El Navegador de Programa también está disponible para navegar y entender el
programa.
Página Información del Fuente
Muestra información relacionada con el código fuente, fecha y hora de creación, fecha y hora de
modificación,...
3.12 Ventana de Chat VISUAL Message Center Debugging Agent también le da la posibilidad de "conversar" (en modo texto)
con cualquier usuario AS/400.
© 2013 Tango/04 Computing Group Página 21
VISUAL Message Center Debugging Agent
Figura 6 – Ventana de chat
3.13 Diálogos
3.13.1 Diálogo Propiedades del ProyectoEl Diálogo Propiedades del Proyecto se muestra para ver o introducir información sobre un Proyecto de
Depuración. Puede verlo en la imagen inferior.
Figura 7 – Diálogo de Propiedades del Proyecto
3.13.2 Explorador de Trabajos El Explorador de Trabajos le permite seleccionar trabajos del sistema AS/400 actualmente conectado.
Puede verlo en la imagen siguiente.
Figura 8 – Explorador de Trabajos
© 2013 Tango/04 Computing Group Página 22
VISUAL Message Center Debugging Agent
3.13.3 Diálogo Opciones de EntornoEl Diálogo Opciones de Entorno le permite configurar el Entorno de VISUAL Message Center
Debugging Agent. Las opciones de Entorno se agrupan en cinco categorías:
• Generales
• Editor de Miembros Fuente
• Emulación 5250
• Mapeo de Teclado
• Servidor
• Seguridad
• Caché
Opciones Generales
Las Opciones Generales le permiten personalizar el comportamiento de VISUAL Message Center
Debugging Agent en ciertas situaciones. Puede ver la página Opciones Generales abajo.
Figura 9 – Opciones Generales en el Diálogo de Opciones de Entorno
Opciones del Editor de Miembros Fuente
Las Opciones del Editor de Miembros Fuente le permiten personalizar su Editor de Miembros Fuente.
Puede elegir entre la Utilidad Estándar SEU del AS/400, o cualquier editor basado en PC.
© 2013 Tango/04 Computing Group Página 23
VISUAL Message Center Debugging Agent
Figura 10 – Opciones del Editor de Miembros Fuente
Al marcar la opción "Activar Aplicación de Edición" automáticamente le abrirá su aplicación de edición,
siempre que seleccione editar una fuente.
Opciones de Emulación 5250
Esta página le permite especificar cual es su Software de Emulación 5250, para que su sesión 5250
sea activada automáticamente cuando usted inicie una sesión de SEU.
Figura 11 – Opciones de Emulación 5250 en el Diálogo de Opciones de Entorno
Opciones de Mapeo de Teclado
En el pasado, las aplicaciones tenían un conjunto de teclas de acceso directo predefinidas,
combinaciones de pulsaciones de teclas que efectuaban rápidamente tareas predefinidas. Cada
vendedor de programas utilizaba un conjunto diferente de teclas de acceso directo para sus
aplicaciones, forzando al usuario a aprender el conjunto de teclas de acceso directo para cada
aplicación. El Sistema operativo Windows® ha solucionado parcialmente este problema estandarizando
teclas de acceso directo para ciertas acciones (Ctrl+C para Copiar, Ctrl+V para Pegar, etc.).
Pero las aplicaciones Cliente/Servidor son un asunto distinto: incluso cuando la aplicación Cliente está
basada en Windows, el usuario normalmente tiene conocimiento previo de los accesos directos en
aplicaciones similares que se ejecutan en el Servidor, con un Sistema Operativo no Windows® , por
ejemplo OS/400.
La solución a ese problema es dejar que el usuario defina su propio conjunto de accesos directos. Con
aplicaciones habilitadas para KMF, como VISUAL Message Center Debugging Agent, esto se consigue
con el Editor KMF.
© 2013 Tango/04 Computing Group Página 24
VISUAL Message Center Debugging Agent
Las Opciones de mapeo de teclado permiten que el usuario configure sus asignaciones de accesos
directos.
Figura 12 – Opciones de Mapeo de Teclado en el Diálogo Opciones de Entorno
Opciones del Servidor
Esta página le permite modificar parámetros relacionados con la comunicación con su sistema AS/400.
Figura 13 – Opciones del Servidor en el Diálogo Opciones de Entorno.
Time Out: El tiempo máximo que VISUAL Message Center Debugging Agent estará esperando la
respuesta del AS/400. Si después de este intervalo, no se ha recibido ninguna respuesta, se devolverá
un error NiceLinkNiceLink Time Out Error (-11), y perderá la conexión. Incremente este valor para evitar
desconexiones por time-out.
Polling Time: Cuando se está llevando a cabo una acción asíncrona en el AS/400, como la ejecución
de un mandato, o se está esperando que el usuario de AS/400 envíe un mensaje de chat, VISUAL
Message Center Debugging Agent debe comprobar el sistema periódicamente, con un intervalo de
tiempo denominado Polling-Time, para comprobar si la acción se ha completado. Cada vez que el PC
chequea el AS/400, se produce una conversación. Si se está conectando a un AS/400 lento, o si tiene
una carga pesada, y tiene un Polling Time muy bajo, este tráfico de comunicaciones incrementa los
tiempos de respuesta. Puede incrementar el Polling Time para evitar esta situación.
Opciones de Seguridad
Debido a limitaciones de la arquitectura del controlador de las estaciones de trabajo 5250 de OS/400, la
captura de la pantalla de usuarios que * a la vez * están introduciendo datos con el teclado, puede
resultar en la pérdida mínima posible de teclas. La página de Opciones de Seguridad permite al usuario
© 2013 Tango/04 Computing Group Página 25
VISUAL Message Center Debugging Agent
utilizar el modo más seguro de recuperación de la pantalla, que deshabilita la capacidad Auto
Refresco pero convierte a VISUAL Message Center Debugging Agent en totalmente transparente para
el usuario cuyo trabajo se está capturando. Si el modo más seguro de recuperación no se utiliza, se
habilita el Auto Refresco.
Figura 14 – Opciones de Seguridad en el Diálogo de Opciones de Entorno
Opciones de Caché
VISUAL Message Center Debugging Agent utiliza un directorio temporal o Caché para almacenar
algunos datos del AS/400 que cambian con poca frecuencia, y mejorar el rendimiento cuando estos
datos se necesitan a menudo: Si los datos solicitados han cambiado, se vuelven a recuperar del AS/
400, pero si no es así, se recuperan de la copia almacenada en la caché, que es más rápido que
recuperarlos del AS/400.
La "Cantidad de espacio de disco a usar" define el tamaño máximo de disco que la información
almacenada en el directorio de caché puede tener. La primera vez que se ejecuta VISUAL Message
Center Debugging Agent, se toma dicho valor como el 1% del espacio libre de disco, pero usted puede
cambiar éste valor cuando lo desee.
Figura 15 – Opciones de caché en el Diálogo de Opciones de Entorno
3.13.4 Diálogo Información del Sistema El Diálogo Información del Sistema le proporciona información relacionada con el Sistema AS/400 al
que está conectado en este momento, y relacionada con el estado de VISUAL Message Center
Debugging Agent.
© 2013 Tango/04 Computing Group Página 26
VISUAL Message Center Debugging Agent
Información del Sistema AS/400: Fecha del Sistema, Hora del Sistema, Número de Serie del AS/400,
Modelo y Submodelo AS/400, Versión OS/400, Último Cumulativo Cargado(Nivel PTF) y Nivel de
Seguridad.
Estado del Producto: Versión del Producto en el AS/400, Versión del Producto en el PC, Estado del
Producto y Versión Operativa.
3.13.5 Diálogo Recuperación de Sesión de Depuración Un tema relevante cuando se está depurando utilizando un depurador basado en PC es qué ocurre en
el caso de un fallo de conexión de red, o si falla el PC. VISUAL Message Center Debugging Agent le
protege de la posibilidad de que esto ocurra. Simplemente reconecte VISUAL Message Center
Debugging Agent con el mismo trabajo, y Tome el Control del trabajo.
Figura 16 – Diálogo Recuperación de Sesión de Depuración
VISUAL Message Center Debugging Agent le alertará de que hubo un fallo en la sesión anterior. Debido
a que tan sólo un usuario puede depurar un trabajo, si existe otra sesión activa de VISUAL Message
Center Debugging Agent, será cancelada, y se eliminará cada punto de ruptura.
Si el trabajo a depurar no responde, es posible que al tomar el control, el trabajo pueda continuar con
una ejecución normal, evitando cancelar anormalmente el trabajo (por ejemplo, cuando la conexión
entre el PC y el AS/400 se ha perdido).
3.13.6 Diálogo Iniciar ProgramaCuando quiere empezar a ejecutar el programa en depuración, y quiere hacerlo desde el PC haciendo
clic en el botón Ejecutar ( )o utilizando la Sentencia Ejecutar en la línea de mandatos, se le pedirá que
introduzca el programa a llamar y sus parámetros. Si está depurando un Programa (Objeto *PGM), este
programa se mostrará por defecto, pero puede especificar otro programa que llame el que está
depurando. Si está depurando un Programa de Servicio (Objeto *SRVPGM), debe especificar el
programa a llamar.
Figura 17 – Diálogo Iniciar Programa
© 2013 Tango/04 Computing Group Página 27
VISUAL Message Center Debugging Agent
3.13.7 Diálogo Finalizar TrabajoSi está depurando un Trabajo por Lotes (Batch) y intenta detener el programa depurado, la única forma
de hacerlo es finalizando el Trabajo. El Diálogo Finalizar Trabajo le permite definir cómo quiere finalizar
el programa.
Figura 18 – Diálogo Finalizar Trabajo
3.13.8 Diálogo Detenido en Programa No-DepurableLos programas no depurables son aquellos que fueron compilados sin información de depuración, o
bien, programas OPM COBOL cuyo archivo de listado de compilación en spool no existe. Esto significa
que no es posible depurar dicho programa. Aún así, la ejecución de un programa puede detenerse en
un programa no depurable a causa de una sentencia paso a paso, un monitor o una condición de
excepción. Cuando esto sucede, se muestra el siguiente diálogo. Usted debe seleccionar la acción
apropiada:
Figura 19 – Diálogo Detenido en Programa no depurable
Las acciones disponibles son las siguientes:
Continuar: Esta acción no añade el programa detenido a la sesión de depuración pero realiza una
sentencia PASO A PASO. El punto de ejecución se mostrará en el programa previo, el que llamó al
detenido.
Pausar: Esta acción simplemente suspende la ejecución del programa. Una vez que la ejecución está
suspendida, puede Añadir un punto de ruptura en una sentencia ejecutada después del programa
detenido, y continuar la ejecución con una sentencia EJECUTAR.
Si usted necesita depurar este programa, deberá recompilarlo incluyendo información de depuración:
• Si el programa es un Programa ILE, deberá especificar un valor de "Vistas de Depuración"
diferente de *STMT o *NONE en los Parámetros Adicionales del Compilador.
• Si el programa es un Programa OPM, deberá especificar un valor para "Opciones de listado
fuente" diferente de *NOSOURCE, *NOSRC, *NOSRCDBG o *NOLSTDBG en los Parámetros
Adicionales del Compilador
3.13.9 Diálogo Archivo de Listado COBOL en SpoolPara depurar Programas OPM COBOL se necesita el Archivo de Listado COBOL en Spool generado
por el compilador, independientemente de cuales fueron las opciones de compilación utilizadas.
VISUAL Message Center Debugging Agent busca de forma automática éste archivo en spool. Pero si
© 2013 Tango/04 Computing Group Página 28
VISUAL Message Center Debugging Agent
no puede localizar el archivo, se mostrará el siguiente diálogo para que usted cambie los valores de
búsqueda por defecto:
Figura 20 – Diálogo de Archivo de Listado COBOL en Spool
Como se puede observar, usted puede seleccionar:
• Usuario de Compilación COBOL: El nombre del usuario que compiló el programa y generó el
archivo en spool. Usted puede especificar cualquier nombre de usuario válido, o elegir entre
uno de los siguientes valores predefinidos:
− *ALL: Busca entre todos los archivos en spool con el Nombre de Listado indicado, sin
tener en cuenta el usuario que compiló el programa.
− *CURRENT: Busca un archivo en spool con el Nombre de Listado indicado, generado por
el usuario con que se inició la sesión de VISUAL Message Center Debugging Agent.
− *PGM: Busca un archivo en spool con el Nombre de Listado indicado, generado por el
propietario del programa.
• Nombre de Listado: El nombre del archivo en spool. Puede especificar cualquier nombre
válido, o utilizar el valor predefinido *PGM, es decir, el nombre del programa.
3.13.10 Diálogo Condición de Ruptura Diálogo Condición de Ruptura se visualiza cuando intenta Añadir un Punto de Ruptura Condicional
manteniendo presionada la tecla Shift y haciendo clic en el Área de Estado de Sentencia en una
sentencia ejecutable. El Diálogo le permite introducir la condición que suspenderá la operación del
programa, en la sentencia seleccionada, cuando se cumpla la condición. Para ver la condición, una vez
ya se ha colocado el punto de ruptura condicional, haga clic con el botón derecho sobre el icono del
punto de ruptura condicional ( ) en el Panel de Estado de Sentencia de la sentencia.
Figura 21 – Diálogo Condición de Ruptura
3.13.11 Diálogo Iniciar Sesión SEU Puede empezar a editar un Miembro Fuente desde VISUAL Message Center Debugging Agent
simplemente haciendo clic en el botón Iniciar Sesión SEU ( ). Dependiendo de la ventana en que esté
cuando haga clic en el botón, necesitará proporcionar el Trabajo en que se iniciará la sesión SEU, y el
Miembro fuente que desea editar. También puede elegir editar, explorar o imprimir el miembro.
© 2013 Tango/04 Computing Group Página 29
VISUAL Message Center Debugging Agent
Es importante notar que la sesión SEU se iniciará en la sesión del trabajo 5250, no en VISUAL
Message Center Debugging Agent.
Si usted ha definido cual es su programa de emulación 5250, su sesión 5250 será activada
automáticamente, es decir, traída a un primer plano, con el miembro fuente especificado listo para ser
editado.
Figura 22 – Diálogo Iniciar Sesión SEU
3.13.12 Diálogo BuscarIncluso cuando el Lenguaje de Mandatos de Depuración proporciona la sentencia BUSCAR para
realizar búsquedas en sus miembros fuente, puede tener una sintaxis complicada para patrones de
búsqueda complejos. El Diálogo Buscar proporciona una herramienta muy intuitiva para buscar en sus
miembros fuente:
• Buscar cualquier cadena de texto en la página de Texto.
• Buscar distintos tipos de sentencia en la página de Sentencias.
• Buscar sentencias modificadas en una fecha específica en la página de Cambios.
Los resultados del procedimiento de búsqueda se visualizan en Anotaciones de Mandatos, pero dichos
resultados pueden Resaltarse en el fuente marcando la opción de Resaltar Resultados. Las sentencias
que coincidan con la condición de búsqueda serán resaltados usando el color indicado. Haga clic en las
anotaciones de mandatos, y se marcará en el fuente. Puede verlo en la imagen inferior. Haga clic en
cualquiera de las opciones para obtener una descripción detallada.
Figura 23 – Diálogo Buscar
3.13.13 Diálogo Propiedades de la VariableEl Diálogo Propiedades de la Variable le permite editar las expresiones de la Lista de Variables.
Puede verlo en la imagen inferior. Haga clic en cualquier elemento para obtener una explicación
detallada.
© 2013 Tango/04 Computing Group Página 30
VISUAL Message Center Debugging Agent
Figura 24 – Diálogo Propiedades de la Variable
3.13.14 Diálogo Trabajar con VariablesEl Diálogo Trabajar con Variables no sólo le permite ver el valor o resultado de una expresión en un
formato adecuado, sino que también le deja modificar el valor de una variable. Puede verlo en el
diálogo inferior.
Figura 25 – Diálogo Trabajar con Variables
Como puede ver, puede escoger entre "Formato Hexadecimal" para ver las variables en hexadecimal, y
"cadena entre Comillas", para mostrar cadenas enmarcadas por comillas o sin ellas.
También puede escoger "Mostrar Tipos de Campo" para variables de registro o estructura, y se
mostrará el tipo de cada campo.
La opción "Dereferenciar Apuntadores" es una funcionalidad única y extremadamente útil para el
desarrollo en C. Por ejemplo, en lenguaje de programación C, las variables de cadena de caracteres se
implementan como apuntadores a arrays de caracteres. La variable de cadena en si misma es un
apuntador, no una cadena de caracteres. Mostrándola como una variable mostrará los contenidos de la
variable apuntadora, o lo que es lo mismo, un lugar en la memoria, en lugar de la cadena de caracteres.
Si marca esta opción indica a VISUAL Message Center Debugging Agent que dereferencie las variables
apuntadoras, con lo que no se mostrarán los contenidos del apuntador, si no los del lugar en la memoria
indicada por el apuntador, la cadena de caracteres en el ejemplo anterior. Pero la dereferenciación no
sólo se aplica a las variables de cadena, sino también a los apuntadores de estructura, que se utilizan
ampliamente en C.
3.13.15 Utilidad de Entrada de Mandatos La Utilidad de Entrada de Mandatos AS/400 emula la pantalla de prompt nativa del AS/400: Siempre
que necesite mas AS/400 es como un formulario con campos de entrada para que usted le proporcione
la información (valores de parámetro) necesarios para ejecutar el mandato. Cuando es posible, se
© 2013 Tango/04 Computing Group Página 31
VISUAL Message Center Debugging Agent
proporciona el valor por defecto del sistema para cada campo. Usted puede usar el valor por defecto
que muestra en el campo o teclear otro diferente.
Consulte la descripción detallada para más información al respecto.
Figura 26 – Utilidad de Entrada de Mandatos para el mandato Someter Trabajo
3.14 Asistente para Mapeo de Fuentes Muchas compañías suelen tener varios sistemas AS/400. La situación común es la siguiente:
• Las aplicaciones se desarrollan en una Máquina de Desarrollo, la máquina donde se crea y
modifica el código fuente de la aplicación, y donde se crean los programas utilizando el
compilador. Las primeras pruebas funcionales se realizan en esta máquina, utilizando bases
de datos de prueba. Las bases de datos de prueba son bases de datos con la misma
estructura que tendrán cuando la aplicación pase a producción, pero con pequeñas cantidades
de datos, en muchos casos, datos sintéticos generados para realizar las pruebas.
• Cuando la aplicación ha sido probada a nivel funcional, se mueve a una Máquina de
Integración o de Prueba. Muchas veces, el código fuente también se copia en esa máquina,
pero en diferentes localizaciones. La máquina de prueba tiene bases de datos casi reales, esto
es, con mucha más información que las que había en la máquina de desarrollo, y datos reales
actualizados desde las bases de datos de producción. La máquina de test suele tener una
cantidad de trabajo mayor que la máquina de desarrollo, porque diferentes aplicaciones están
siendo probadas concurrentemente. La aplicación es también probada en esa máquina, pero
es una prueba de más alto nivel, trabajando bajo condiciones casi reales, y si la aplicación
falla, no hay riesgo de perder información valiosa.
• Cuando la aplicación ha superado con éxito todas las pruebas realizadas en la máquina de
prueba o de integración, finalmente se mueve a la Máquina de Producción, la máquina
donde se encuentran todas las aplicaciones que manipulan la información valiosa de la
compañía. El código fuente casi nunca se copia a la máquina de la producción.
Una de las características más destacadas de VISUAL Message Center Debugging Agent es la
capacidad para depurar un programa que ya está en ejecución. Así, cuando se detecta un error en la
Máquina de Prueba o en la Máquina de Producción, puede depurar el programa en el momento preciso
en que se produce el error. El beneficio principal de esta funcionalidad es que el programador no
necesita reproducir las mismas condiciones de error en la Máquina de Desarrollo. Reproducir las
condiciones de error es siempre difícil, cuando no imposible. Pero el problema común en otros
© 2013 Tango/04 Computing Group Página 32
VISUAL Message Center Debugging Agent
depuradores es que el objeto de programa referencia un miembro fuente que no existe en la misma
máquina, haciendo imposible depurar el programa.
El Asistente de Mapeo de Fuentes le permite definir cómo recuperar los miembros fuente
referenciados por los programas. Utilizando un sistema de mapeo basado en reglas, el Asistente de
Mapeo de Fuentes indicará a VISUAL Message Center Debugging Agent cómo obtener los miembros
fuente necesarios para depurar los programas.
3.14.1 ¿Qué son las Reglas de Mapeo?El Asistente de Mapeo de Fuentes es un sistema de mapeo basado en reglas. El Proceso de Mapeo
traduce una referencia a un miembro fuente en una referencia a otro miembro fuente. Para simplificar la
exposición siguiente, nos referiremos al miembro fuente siendo mapeado como al fuente, y al miembro
fuente resultado del proceso de mapeo como destino. La forma en que el proceso de mapeo traduce la
fuente para obtener el destino se referirá como el Esquema de Mapeo.
Como puede haber deducido, no cada fuente se debe mapear de la misma forma al mismo destino:
necesitaremos diferentes esquemas de mapeo para diferentes fuentes. Pero tener diferentes
esquemas de mapeo introduce una nueva pregunta: ¿Qué esquema de mapeo debe utilizarse en cada
caso? La respuesta son las Reglas de Mapeo.
Las Reglas de Mapeo definen cuando debe utilizarse una regla, y qué esquema de mapeo debe
utilizarse. Las reglas de mapeo tienen dos partes:
• El patrón de concordancia: que define cuándo utilizar una regla. Cada vez que se necesita
traducir un fuente, el fuente se compara con el patrón de concordancia. Si la comparación
tiene éxito, la regla se aplicará.
• El patrón de reemplazo: que define el esquema de mapeo. Cuando se aplica la regla de
mapeo, el patrón de reemplazo se aplica al fuente para obtener el destino.
El Asistente de Mapeo de Fuentes está formado básicamente por una lista ordenada de reglas de
mapeo, y la lógica para el proceso de mapeo. Cuando un fuente necesita ser traducido, el proceso de
mapeo busca una regla en la lista cuyo patrón de concordancia se compare con éxito con el fuente, y
entonces, el patrón de reemplazo se aplica para obtener finalmente el destino.
3.14.2 Asistente para Búsqueda de FuentesPuede ver el Asistente para Búsqueda de Fuentes en la imagen inferior.
Figura 27 – Asistente para Búsqueda de Fuentes
© 2013 Tango/04 Computing Group Página 33
VISUAL Message Center Debugging Agent
Como puede ver, muestra la lista de reglas de mapeo. Las Reglas de Mapeo pueden estar activadas
(cuando la casilla de verificación está marcada) o desactivadas (cuando la casilla no está marcada).
Cuando cualquier objeto se refiere a un miembro fuente, el Asistente de Mapeo de Fuentes busca una
Regla de Mapeo que concuerde con ese miembro. La regla que concuerde se busca en el orden
visualizado, de arriba a abajo. Si se encuentra una regla que concuerde con el miembro referido, se
aplica, es decir, se reemplaza con el miembro especificado por la regla de mapeo. Si no se encuentra
ninguna regla que concuerde, el miembro fuente original no se reemplaza. Pero si ese miembro no se
encuentra en el sistema, el Asistente de Mapeo de Fuentes automáticamente muestra un diálogo para
introducir una nueva regla de mapeo para reemplazar ese miembro.
Por defecto, las reglas se Ordenan Automáticamente por especificidad, esto es, las reglas que
correspondan a un rango más específico de miembros se comprueban primero, y las que correspondan
a un rango más general después. De todas formas, si desea que se comprueben en un orden diferente,
puede seleccionar Reglas ordenadas de forma personalizada, y mover las reglas arriba y abajo en la
lista utilizando los botones Mover Arriba y Mover Abajo.
En el Asistente de Mapeo de Fuentes podrá crear Nuevas reglas, y Modificar, Generalizar y Eliminar
reglas ya definidas.
3.14.3 Crear/Modificar Reglas de Búsqueda Puede ver el Diálogo de Crear/Modificar Reglas de Mapeo en la imagen inferior:
Figura 28 – Diálogo Crear/Modificar Regla de Mapeo: Reemplazo Local
Este diálogo le permite definir o modificar una regla de mapeo de fuentes. La regla de mapeo está
definida por:
• El Patrón de Concordancia:
− Cuando conectado a: Este campo especifica el nombre del sistema actual local ( el
sistema AS/400 al que la aplicación está conectada) en el momento en que se comprueba
la regla. Puede entrar el nombre del sistema AS/400, pero el valor especial *ANY también
es válido. Cuando se especifica *ANY, la regla concordará con cualquier sistema al que la
aplicación esté conectada.
− Si un objeto referencia el Miembro Fuente: Este campo especifica la localización
absoluta del miembro fuente que será traducido. La sintaxis para la localización absoluta
es:
<Nombre Sistema>: <Nombre Librería> / <Nombre Fichero> ( <Nombre Miembro>)
También puede especificar el valor especial *ANY para cualquiera de los nombres.
• El Patrón de Reemplazo:
© 2013 Tango/04 Computing Group Página 34
VISUAL Message Center Debugging Agent
− Reemplazarlo con... El Miembro Fuente Local: Esta opción reemplazará el fuente
referido con el miembro fuente especificado en el sistema local. El patrón de reemplazo
debería especificarse de la forma:
<Nombre Librería> / <Nombre Fichero> ( <Nombre Miembro> )
Puede especificar el valor especial *SAME para cualquiera de los nombres. Cuando se
especifica *SAME, el miembro fuente reemplazado tendrá el mismo valor en este nombre.
− Reemplazarlo con... El Miembro Fuente Remoto: Esta opción reemplazará el fuente
referenciado con el miembro fuente especificado del sistema remoto. El patrón de
reemplazo debería especificarse de la forma:
<Nombre Librería> / <Nombre Fichero> ( <Nombre Miembro> )
También puede especificar el valor especial *SAME para cualquiera de los nombres.
Cuando se especifica *SAME, el miembro fuente reemplazado tendrá el mismo valor en
este nombre.
− Cuando esta opción esta seleccionada, el diálogo se expandirá para mostrar los métodos
disponibles para conectar al sistema remoto: DDM y NiceLink.
Figura 29 – Diálogo Crear/Modificar Regla de Mapeo: Reemplazo Remoto
3.14.4 Generalizar ReglasPuede ver el Diálogo de Generalización de Reglas en la imagen siguiente:
Figura 30 – Diálogo de Generalización de Reglas
Generalizar una regla es modificar la regla para aplicarla a un rango mayor de miembros fuente. Por
ejemplo, la regla siguiente:
© 2013 Tango/04 Computing Group Página 35
VISUAL Message Center Debugging Agent
"Cuando se esté conectado a TANGOSAN, reemplazar los miembros fuente TANGO96:VISUALDEMO/QRPGSRC(CMDLN_LOOP) por *LOCAL:*SAME/*SAME(*SAME)"
reemplaza las referencias a los miembros fuente TANGO96:VISUALDEMO/QRPGSRC(CMDLN_LOOP) desde
TANGOSAN con el mismo miembro en la máquina local, es decir, TANGOSAN. Si desea aplicar la misma
regla a todos los miembros fuente del archivo VISUALDEMO/QRPGSRC, el botón Generalizar le permitirá
cambiar la regla automáticamente por
"Cuando se esté conectado a TANGOSAN, reemplazar los miembros fuente TANGO96:VISUALDEMO/QRPGSRC(*ANY) por *LOCAL:*SAME/*SAME(*SAME)"
la cual reemplaza cualquier referencia a un miembro fuente de DEBUDEMO/QRPGLESRC, por el mismo
miembro fuente en el sistema local.
3.15 Test TrackerMientras usted depura su código, Test Tracker trabaja en un segundo plano para rastrear que ha
probado y que no ha probado. Este nuevo módulo puede, mas tarde, generar un informe personalizado
en formato HTML, detallando el código que ha sido probado y el que no, e incluir información adicional
como el porcentaje de código probado e información de compilación del programa.
Usted puede definir por completo el informe HTML: cabeceras, pies de página, insertar el logo de su
empresa, seleccionar que programas o módulos desea incluir en el informe,... guarde el informe
generado en disco, y envíelo por correo al responsable de desarrollo, póngalo en su página web...
Los programadores ya no tendrán que probar su código una y otra vez sin control alguno, y los
responsables de desarrollo pueden tener la certeza que las pruebas se están realizando de forma
adecuada.
Visite el tema Informes de Cobertura para ver lo fácil que resulta verificar sus aplicaciones de forma
correcta.
Figura 31 – El Generador de Informes de Test Tracker en acción
© 2013 Tango/04 Computing Group Página 36
Que hacer para…
Capítulo 4 4 Que hacer para…
4.1 Iniciar un Nuevo Proyecto de DepuraciónPara Iniciar un Nuevo Proyecto de Depuración, siga estas instrucciones:
Paso 1. Vaya al Administrador de Proyectos
Paso 2. Haga clic en el botón Nuevo Proyecto
Paso 3. Seleccione el Programa y el Trabajo a Depurar en el Diálogo Propiedades del
Proyecto.
Paso 4. Se mostrará la Ventana de Depuración, y ahora ya está listo para depurar.
4.2 Guardar un Proyecto de DepuraciónPara Guardar un Proyecto de Depuración, siga estos pasos:
Paso 1. Vaya al Administrador de Proyectos
Paso 2. Haga clic en el botón Guardar Proyecto
Paso 3. Introduzca un nombre de fichero para el proyecto
4.3 Abrir un Proyecto de DepuraciónPara Abrir un Proyecto de Depuración, siga estos pasos:
Paso 1. Vaya al Administrador de Proyectos
Paso 2. Haga clic en el botón Abrir Proyecto
Paso 3. Seleccione el Trabajo a Depurar en el Diálogo Propiedades del Proyecto.
Paso 4. Se mostrará la Ventana de Depuración, y ahora ya está listo para depurar.
4.4 Depurar un Programa en EjecuciónPara iniciar un nuevo proyecto de depuración, siga estos pasos:
Paso 1. En la Ventana Principal, haga clic en el botón de Abrir Trabajo y seleccione el trabajo
en el que se está ejecutando el programa.
Paso 2. En la Ventana de Trabajo, seleccione la página Pila de Llamadas.
© 2013 Tango/04 Computing Group Página 37
Que hacer para…
Paso 3. Busque el trabajo que desea depurar y selecciónelo con un doble clic.
Paso 4. Se mostrará la Ventana de Depuración, indicando la sentencia actualmente en
ejecución, y ahora ya está listo para depurar el programa.
4.5 Añadir/Eliminar Puntos de RupturaPara Añadir Puntos de Ruptura en un módulo, la sentencia sobre la que quiere colocarlo debe ser
ejecutable. Puede distinguir las sentencias ejecutables por un punto azul ( ) en el Panel de Estado
de Sentencia.
• Busque la sentencia en la que quiere colocar el Punto de Ruptura.
• Para colocar un Punto de Ruptura Incondicional, haga clic en el punto azul en el Panel de
Estado de Sentencia.
• Para colocar un Punto de Ruptura Condicional, mantenga presionada la tecla Shift y haga
clic en el punto azul en el Panel de Estado de Sentencia.
• Para colocar un Punto de Ruptura Temporal, mantenga presionada la tecla Ctrl y haga clic
en el punto azul en el Panel de Estado de Sentencia.
Para Eliminar un Punto de Ruptura, haga clic en el icono del Punto de Ruptura ( , o ) en el
Panel de Estado de Sentencia..
4.6 Añadir/Eliminar Variables de la Lista de VariablesPara Añadir una Variable a la Lista de Variables, siga estos pasos.
• Seleccione la variable en el código fuente simplemente manteniendo presionado el botón
izquierdo del ratón y marcando la variable.
• Arrastre la variable seleccionada a la Lista de Variables o bien
• Haga clic en el botón editar lista de variables ( ) y presione para mostrar el Diálogo de
Propiedades de la Variable.
Para Eliminar una Variable de la Lista de Variables:
• Seleccione la Variable en la Lista de Variables.
• Pulse la tecla Suprimir, o bien haga clic en el botón derecho del ratón, y seleccione Eliminar del
menú contextual.
4.7 Depurar un ProgramaUna vez que haya introducido puntos de ruptura en los módulos que quiere depurar, ejecutará el
programa. Puede ejecutar el programa de diferentes maneras:
• Desde la sesión AS/400 (realizando un mandato CALL, desde un menú...): El programa se
iniciará, y será suspendido cuando se alcance un punto de ruptura, cuando una variable
monitorizada cambie, o cuando se lance una excepción.
• Desde VISUAL Message Center Debugging Agent: La primera vez que realice cualquiera de
las acciones siguientes, se le pedirá introducir el programa a llamar y los parámetros para ese
programa:
− Presionando el botón Ejecutar ( ).El programa se iniciará (la primera vez, cuando el
programa todavía no se esté ejecutando) o continuará (si el programa ya ha sido iniciado y
© 2013 Tango/04 Computing Group Página 38
Que hacer para…
está detenido), y será suspendido cuando se alcance un punto de ruptura, cuando una
variable monitorizada cambie, o cuando se detecte una excepción.
− Pulsando el botón de Paso por Instrucción ( ), se ejecutará una sentencia,
deteniéndose en la siguiente. Si la sentencia ejecutada es una llamada a un procedimiento
en otro módulo o a un programa externo, se detendrá en ese módulo o programa.
− Pulsando el botón de Paso por Rutina ( ), se ejecutará una sentencia, deteniéndose en
la siguiente sentencia del mismo módulo, esto es, no se detendrá dentro de otros módulos
o programas externos llamados.
• Desplazando el código fuente y situando el cursor (no el ratón) en la sentencia en la que desea
que el programa se detenga, y entonces, presionando la tecla de acceso directo a Ejecutar
Hasta el Cursor, F4 por defecto.
Una vez que el programa está detenido, puede Mostrar y Modificar cualquier Variable, simplemente
seleccionándola en el código fuente o en la Lista de Variables, y haciendo clic en el botón Trabajar con
Variables ( ).
4.8 Modificar una VariablePara Modificar una Variable
Paso 1. Si la variable está en la Lista de Variables, selecciónela.
Paso 1. Haga clic en la celda de 'valor' para pasar a modalidad de edición, e introduzca el
nuevo valor.
Paso 1. Si la variable no está en la Lista de Variables, seleccione la variable en el código fuente
manteniendo presionado el botón izquierdo del ratón y marcándola.
Paso 1. Haga clic en el botón Trabajar con Variables ( ), para mostrar el Diálogo Trabajar con
Variables, e introduzca el nuevo valor.
4.9 Generar Informes de CoberturaGenerar Informes de Cobertura es tan sencillo como entrar en el menú de Test Tracker en la Ventana
de Depuración y seguir las opciones que le ofrece paso a paso:
Iniciar un Nuevo Test: elimina las marcas de cobertura ( )de su código fuente. Usted puede elegir
entre eliminar las marcas de cobertura de:
• La Selección Actual: para volver a probar un grupo de sentencias.
• El Módulo Actual: Para volver a probar sólo este módulo.
• El Programa Actual: Para volver a probar todo el programa.
• El Proyecto Activo: Para volver a probar todos los programas del proyecto.
Añadir Puntos de Ruptura Temporales: Los puntos de ruptura temporales son la base para las
pruebas de cobertura. Cuando usted realiza un test de cobertura, usted quiere estar seguro de que
determinadas sentencias (las seleccionadas, resaltadas, el módulo actual, los módulos abiertos o los
programas de su proyecto) han sido ejecutadas al menos una vez. Esto se consigue añadiendo puntos
de ruptura. Los puntos de ruptura temporales suspenden la ejecución del programa la primera vez, y
sólo la primera vez que dicha sentencia va a ser ejecutada. Esto evita que la ejecución se detenga en
cada una de las iteraciones de un bucle, o cada vez que se llama a la misma subrutina
© 2013 Tango/04 Computing Group Página 39
Que hacer para…
Lanzar el Test de Cobertura: Arranca el programa en modo de auto-depuración o animación, es decir,
cada vez que se alcanza un punto de ruptura, la ejecución del programa se reanuda automáticamente.
Esto es suficiente para recibir la notificación de que la sentencia ha sido ejecutada, es decir, ha sido
probada.
Resaltar Puntos de Ruptura no Ejecutados: Una vez que el programa ha terminado, usted tiene una
forma muy sencilla de saber cuánto ha sido probado cada módulo: tan sólo de un vistazo a la línea de
estado, en la parte inferior de la ventana:
Le muestra dos estadísticas de prueba importantes:
• Cobertura de Ejecución: el porcentaje de sentencias ejecutables que han sido ejecutadas.
• Cobertura de Puntos de Ruptura: el porcentaje de puntos de ruptura que han sido alcanzados.
Pero dichas medidas tan sólo son indicadores globales del progreso del proceso de prueba: A no ser
que usted alcance el 100% en ambos porcentajes, no tiene garantías de que las partes problemáticas
del programa hayan sido probadas. Lo mejor que puede hacer es Resaltar los Puntos de Ruptura no
Ejecutados para ver que partes de la aplicación no han sido probadas.
Personalizar el Informe de Cobertura: Una vez que se obtengan porcentajes de cobertura lo bastante
buenos, usted está listo para generar su informe de cobertura. Seleccione esta opción y podrá
personalizar el aspecto de su informe, de acuerdo al modelo de documentación que utilice en su
empresa o a sus preferencias de estilo: Cabeceras, pies de página, logo de la empresa,... Un asistente
muy sencillo de utilizar le guiará paso a paso para que usted defina el aspecto final de su informe.
Informe de Cobertura: Las pruebas de cobertura han terminado, y ahora, el Informe de Cobertura le
mostrará todos los resultados del proceso de pruebas: estadísticas, resúmenes y gráficos para cada
módulo y programa de su aplicación.
© 2013 Tango/04 Computing Group Página 40
Referencia
Capítulo 5 5 Referencia
5.1 Personalizar Barras de HerramientasLas Barras de Herramientas pueden personalizarse a través del Diálogo de Edición de Barras de
Herramientas. Generalmente, pulsando el botón derecho del ratón sobre la barra de herramientas que
desea personalizar, se despliega un menú de contexto que le ofrece la posibilidad de personalizar la
barra de herramientas. Puede ver el Diálogo de Edición de Barras de Herramientas en la imagen
inferior.
Para eliminar un botón de mandato de la barra de herramientas, tan sólo tiene que arrastrarlo fuera de
la barra, o buscar en la categoría adecuada y hacer doble clic en él.
Para añadir un botón de mandato, busque el botón en la categoría adecuada, arrástrelo hasta la barra
de herramientas y suéltelo en la posición deseada. También puede hacer doble clic en el botón, y este
se añadirá a la derecha de todo, en la barra de herramientas.
Para cambiar el orden de los botones en la barra, tan sólo tiene que arrastrarlos a la posición deseada.
Pulse el botón Restaurar para deshacer los cambios y volver a la configuración previa.
Figura 32 – Diálogo de Edición de Barras de Herramientas
5.2 Iniciando una sesión de depuración con VISUAL Message Center Debug-ging Agent desde una sesión AS/400Para empezar directamente desde una sesión AS/400, primero debe tener instalado, configurado y
comprobado VISUAL Message Center Debugging Agent en su PC. Esto no es una guía de instalación
© 2013 Tango/04 Computing Group Página 41
Referencia
de VISUAL Message Center Debugging Agent. Para más información sobre cómo funciona la
instalación, consulte el documento Guía de Instalación de VISUAL Message Center Debugging
AgentGuía de Instalación de VISUAL Message Center Debugging Agent que corresponda a la versión
del producto que vaya a instalar.
Iniciando una sesión de depuración
Puede empezar a depurar un programa de dos formas distintas:
• Utilizando la interfaz gráfica de usuario de VISUAL Message Center Debugging Agent
• Directamente desde una sesión AS/400
Iniciando una sesión de depuración directamente desde una sesión AS/400
Para depurar un programa (y opcionalmente, para iniciar su ejecución) con VISUAL Message Center
Debugging Agent directamente desde una sesión AS/400 debe utilizar el mandato VISUALW desde la
librería VISUALW. También puede llamar VISUAL Message Center Debugging Agent desde un PDM si
crea una opción para el usuario que llama el mandato VISUALW.
Por ejemplo, podría introducir el siguiente mandato para iniciar una sesión de depuración con el
programa DEMO en la librería QGPL en el trabajo desde el que se introduce el mandato
VISUALW/VISUALW QGPL/DEMO
Ya que algunos parámetros no requeridos no se han indicado, se utilizarán los valores por defecto. Por
ejemplo, como se ve a continuación, se hará la llamada al programa indicada (VISUALDEMO/DEMO_PGM),
y se añadirá un punto de ruptura en la primera instrucción ejecutable (PEP) del módulo DEMO del
programa. Client Access Organizer también se puede utilizar como método de conexión (se
proporcionará más información sobre esto más adelante). Esto es:
VISUALW/VISUALW DBGOBJ(VISUALDEMO/DEMO_PGM) DBGJOB(*) OBJTYPE(*PGM) MODULE(*PEP) UPDPROD(*YES) SETBKP(*FIRST) EXEC(*PGM) PCCALL(*PCO) NICELINK(TANGO96) EXECPGM(*DBGPGM) PARM(*N)
Para más información sobre el mandato VISUALW, presione F4 para solicitar entrada de parámetros o
presione F1 para ayuda sobre el mandato VISUALW.
Tipos de conexión disponibles
Para poder utilizar el mandato VISUALW, debe seleccionar un método de comunicación entre el AS/400
y el PC. El parámetro PCCALL del mandato VISUALW define el tipo de conexión a utilizar. Hay dos tipos
de conexión posibles:
• a través de VDW Starter (recomendado)
• a través de Client Access Organizer (método alternativo)
• a través de la función Mandato Remoto de AS/400 (método alternativo))
5.2.1 VDW StarterVDW Starter le proporciona una forma fácil y fiable de arrancar VISUAL Message Center Debugging
Agent desde su sesión 5250.
Nota Cada vez que utilice este mandato, los valores se guardarán para ser utilizados otra vez en
el futuro. Esto le ahorrará tener que introducir valores redundantes cada vez, o tener que
utilizar el mandato CHGCMDDFT para alterar estos valores permanentemente. También puede
guardar sus valores en una opción PDM personalizada.
© 2013 Tango/04 Computing Group Página 42
Referencia
Cuando se ejecuta el mandato VISUALW en el AS/400, el AS/400 conecta con VDW Starter, y le "dice"
que arranque VISUAL Message Center Debugging Agent para depurar el programa especificado en los
parámetros de VISUALW.
Para que el AS/400 pueda comunicarse con VDW Starter, VDW Starter tiene que estar siendo
ejecutado. Pero no se preocupe, usted no tiene que arrancar VDW Starter cada vez que quiera arrancar
VISUAL Message Center Debugging Agent desde su sesión: esto no tendría sentido! VDW Starter se
arranca automática al iniciarse Windows, es decir, cuando inicia su PC. Puede ver a VDW Starter activo
en la parte derecha de la barra de tareas de Windows, como en la imagen siguiente:
Figura 33 – DW Starter en ejecución en la barra de sistema
Haga click con el botón derecho del mouse en el icono de VDW Starter de la barra de tareas para
desplegar un menú con las siguientes opciones:
• Configuration: Le permite configurar VDW Starter.
• VISUAL Message Center Debugging Agent: Para arrancar VISUAL Message Center
Debugging Agent.
• Exit: Para apagar VDW Starter. Esto impedirá que VISUAL Message Center Debugging Agent
pueda ser arrancado desde su sesión AS/400.
Configuración
VDW Starter es extremadamente sencillo de configurar. De hecho, se configura automáticamente
durante la instalación, y sólo tendrá que variar su configuración en una situación muy concreta.
Puede ver la pantalla de configuración de VDW Starter en la imagen inferior. Haga click en cualquier
elemento de la misma para obtener una descripción detallada:
Figura 34 – Pantalla de Configuración de VDW Starter
VDW Starter es un daemon TCP/IP, es decir, un programa que "escucha" o espera a que un programa
cliente le pida que realice una determinada acción. VDW Starter escucha al mandato VISUALW de su
AS/400, que le pide que arranque VISUAL Message Center Debugging Agent.
© 2013 Tango/04 Computing Group Página 43
Referencia
VDW Starter escucha a los sistemas AS/400 configurados en el NiceLink Configurator. Cuando
decimos que "escucha", queremos decir que está esperando a que se realice una conexión a un
determinado puerto TCP/IP. Si usted no está familiarizado con TCP/IP, puede pensar que un puerto es
un punto de entrada para conexión, algo así como un "enchufe software".
Cuando se solicita una conexión, VDW Starter verifica que dicho puerto esté habilitado (marcado en la
lista de sistemas AS/400) para el sistema AS/400 que solicita la conexión, y si lo está, procede a
arrancar VISUAL Message Center Debugging Agent.
La única situación en la que usted puede que necesite cambiar la configuración aparece si existe otra
aplicación PC usando el mismo puerto TCP/IP port que cualquiera de los sistemas AS/400 de la lista.
En este caso, tan sólo tiene que seleccionar el sistema AS/400 en la lista, hacer click con el botón
derecho del mouse, y seleccionar "Cambiar Número de Puerto". Puede entrar cualquier número entre
0 y 65,535, pero se recomienda utilizar números por encima de 1024, ya que los números por debajo de
éste valor están asignados a servicios TCP/IP estándar, tales como telnet, http o ftp.
Si usted está interesado en temas de seguridad, por favor, visite el tema Cuestiones de Seguridad.
Cuestiones de Seguridad
Hoy en día, en la "era de Internet", casi todos los que trabajan con ordenadores están interesados en la
seguridad cuando se conecta a Internet usando el protocolo de red TCP/IP. Muchos de los problemas
de seguridad aparecen por el hecho de usar el protocolo de red TCP/IP, por lo que una vez que sabe
como funciona VDW Starter, usted puede estar preguntándose si está abriendo algún tipo de "agujero
de seguridad" en su PC o en su AS/400.
La respuesta es que es prácticamente imposible que un usuario no autorizado lleve a cabo cualquier
acción maliciosa en su sistema.
En primer lugar, VDW Starter tan sólo puede arrancar programas en su PC, por lo que no puede, de
ningún modo, hacer nada en sus sistemas AS/400. Y el único programa que puede arrancar en su PC
es VISUAL Message Center Debugging Agent, que es una aplicación verificada que no puede dañar su
PC en modo alguno.
Segundo, sólo se puede conectar con VDW Starter desde sus sistemas AS/400, los que aparecen
listados en la Pantalla de Configuración. Si una petición de conexión llega de cualquier otra fuente, es
automáticamente rechazada, y le informa a usted acerca de éste intento de conexión no autorizado.
Si usted está realmente preocupado sobre la seguridad, debería proteger sus sistema con una
aplicación de tipo firewall.
5.2.2 Utilizando Client Access Organizer (*PCO)Este método es simple, pero es mejor utilizar el programa VDW Starter. Para usar el PCO, hay que
utilizar el valor *PCO en el mandato VISUALW.
Debería tener en cuenta que no todos los programas de emulación soportan este tipo de conexión
correctamente. Client Access Organizer está disponible para AS/400 desde la primera versión de OS/
400, cuando Windows todavía no existía y los únicos programas de emulación 5250 trabajaban con
DOS, y no han cambiado sustancialmente desde entonces.
Para utilizar la conexión con Organizer, debería tener en cuenta las siguientes consideraciones:
• No puede ejecutar Organizer desde una estación de trabajo no programable.
• El producto se iniciará desde el PC desde el que se está ejecutando el mandato.
• No necesita ninguna configuración especial del PC.
© 2013 Tango/04 Computing Group Página 44
Referencia
• No todos los programas de emulación soportan las funciones de Organizer.
Probando Client Access Organizer
Para probar si su programa de emulación 5250 soporta Client Access Organizer, haga lo siguiente:
• Abra una sesión AS/400.
• Ejecute el mandato STRPCO PCTA(*NO).
• Entonces ejecute el mandato STRPCCMD PCCMD('C:\WINDOWS\CALC.EXE') PAUSE(*NO)
Si se ha abierto la Calculadora en su PC, y puede continuar trabajando normalmente en su AS/400,
entonces su emulación soporta correctamente las funciones de Client Access Organizer. Si por otro
lado, la calculadora no se abre, o si detecta anomalías en su sesión AS/400 (la sesión se ha
desconectado o es imposible introducir mandatos en su sesión AS/400), esto significa que su
emulación no soporta las funciones de Client Access Organizer, así que debería intentar utilizar otro
producto de emulación, o utilizar el método de conexión Mandato Remoto.
Utilizando el mandato VISUALW con Client Access Organizer
VISUALW/VISUALW DBGOBJ(VISUALEDEM/DEMO_PGM) PCCALL(*PCO) NICELINK(TANGO96)
En este ejemplo, el valor *PCO del parámetro PCCALL indica que la llamada a VISUAL Message Center
Debugging Agent se realizará a través de Client Access Organizer..
5.2.3 Utilizando el Mandato Remoto de AS/400 (*RMTCMD)Este método requiere más trabajo para realizar la configuración, así que se recomienda sólo en casos
donde no se pueda utilizar Client Access Organizer. Para utilizar el Mandato Remoto, utilice el valor
*RMTCMD en el mandato VISUALW, y los valores correspondientes del parámetro RMTLOCNAME como se
describe en los temas siguientes.
La función del mandato remoto de AS/400 le permite establecer una conexión vía SNA o TCP/IP a un
sistema remoto (incluso si está conectado localmente), y ejecutar un mandato específico en este
sistema. El sistema remoto podría ser otro AS/400, un sistema UNIX o S/390, o en el caso que nos
ocupa, un PC con Windows.
Para utilizar la conexión con el mandato remoto, debe tener en cuenta las siguientes consideraciones:
• Necesita tener Client Access instalado en su AS/400 y en su PC.
• Puede ejecutar un mandato remoto desde cualquier estación de trabajo, programable o no.
• Puede ejecutar un mandato remoto desde cualquier PC de la red en que se ha configurado el
soporte de mandato remoto.
• Necesita una configuración especial en su PC, que será diferente dependiendo de si utiliza
TCP/IP o SNA
• Debe dar información específica sobre si está utilizando SNA o TCP/IP en el parámetro
RMTLOCNAME en el mandato VISUALW (por ejemplo, si utiliza TCP/IP debería poner la IP del
PC).
Nota Se asume que la calculadora de Windows está instalada en su PC en el directorio Windows.
Si no es así, utilice cualquier otro ejecutable para realizar la prueba.
© 2013 Tango/04 Computing Group Página 45
Referencia
Configurando una Conexión para Mandatos Remotos con TCP/IP
Utilice el método de mandato remoto con TCP/IP si no puede utilizar Client Access Organizer y si está
utilizando TCP/IP en el AS/400 y en el PC. Debería iniciar la conexión TCP/IP en el AS/400 de
antemano.
Para configurar la conexión del PC, abra el programa de administración de las propiedades de Client
Access: puede acceder a él a través del Panel de Control, o en la carpeta Client Access. Seleccione la
pestaña "Mandato Remoto".
Seleccione la función "Añadir":
En el parámetro Sistema especifique la dirección IP de su AS/400 o su nombre de sistema (sólo si está
utilizando un servidor de nombres). Esto significa que está autorizando un petición de mandato remoto
que viene del AS/400. Si en lugar del nombre pone un asterisco (*), podrá enviar mandatos remotos a
su PC desde cualquier AS/400.
Nota Las pantallas siguientes pueden no coincidir exactamente con la versión y el lenguaje que
tenga instalado para Client Access. Busque las opciones que se parezcan más a las
indicadas.
Consejo El número IP y el nombre de usuario mostrados en la pantalla son sólo un ejemplo. Debería
indicar el número IP que corresponda a su sistema. Si no sabe el número IP, contacte con
su Administrador de Sistema, o ponga un asterisco en el parámetro Sistema.
© 2013 Tango/04 Computing Group Página 46
Referencia
Si especifica un nombre de usuario y una contraseña, también debe especificarlos en el mandato
VISUALW
Si selecciona la opción Iniciar automáticamente mandato remoto entrante (opción recomendada, Client
Access se ocupará de ejecutar el daemon de mandato remoto de TCP/IP en su PC. De otra manera,
tendrá que iniciarlo manualmente.
Para iniciar el daemon manualmente, abra una sesión DOS en su PC y ejecute el comando
CWBRXD.EXE:
Probando la Conexión para Mandato Remoto vía TCP/IP
RUNRMTCMD CMD('C:\WINDOWS\CALC.EXE') RMTLOCNAME('192.168.0.2' *IP) RMTUSER(ROBERTO) RMTPWD(XXXXXX)
Utilice el parámetro RMTLOCNAME para especificar la dirección IP o el nombre de servidor de su PC.
Utilice los parámetros RMTUSER y RMTPWD si indica usuarios autorizados en la configuración de Client
Access.
Nota Si inicia el daemon de mandato remoto manualmente, también puede cerrarlo cuando
quiera. Para hacerlo, cuando ya no necesite el servicio de mandato remoto, abra otra sesión
DOS y ejecute el comando CWBRXDSD.EXE
© 2013 Tango/04 Computing Group Página 47
Referencia
Utilizando el Mandato VISUALW con Mandatos Remotos vía TCP/IP
VISUALW/VISUALW DBGOBJ(VISUALDEMO/DEMO_PGM) PCCALL(*RMTCMD) NICELINK(TANGO98.TANGO) RMTLOCNAME('192.168.0.2' *IP ROBERTO XXXXX)
El valor *RMTCMD indica que la activación de VISUAL Message Center Debugging Agent se hará con el
Mandato Remoto con el protocolo TCP/IP, con la dirección IP 192.168.0.2 y el usuario ROBERTO(parámetro RMTLOCNAME). El valor del parámetro NICELINK especifica el nombre por el que se
especifica el AS/400 en NiceLink en el PC.
Configurando una Conexión de MANDATO REMOTO vía SNA
Utilice el método de mandato remoto con IP SNA si no puede utilizar Client Access Organizer y si está
utilizando APPC como protocolo de conexión entre el AS/400 y el PC.
Se indica abajo cómo configurar este tipo de conexión con el NS/Router (tanto si es la versión NetSoft /
NetManage o la de Client Access de IBM). Si está utilizando otro direccionador (router), busque en la
documentación del fabricante para ver cómo configurar soporte para el mandato remoto de Client
Access Organizer (si está disponible).
Para configurar la conexión del PC, abra la ventana de Propiedades de NS/Router desde NS/
Administrator y seleccione la pestaña Común.
Nota Cada vez que utilice este mandato, los valores se guardarán para ser utilizados otra vez en
el futuro. Esto le ahorrará tener que introducir valores redundantes cada vez, o tener que
utilizar el mandato CHGCMDDFT para alterar estos valores permanentemente. También puede
guardar sus valores en una opción PDM personalizada.
Nota Las pantallas siguientes pueden no coincidir exactamente con la versión y el lenguaje que
tenga instalado para Client Access. Busque las opciones que se parezcan más a las
indicadas.
Nota Establezca el valor Página de Código Servidor/PC de acuerdo con el lenguaje específico de
su país.
© 2013 Tango/04 Computing Group Página 48
Referencia
No debería cambiar nada en esa pantalla (no se preocupe si su ventana no es la misma que la del
ejemplo). Seleccione el botón Propiedades Avanzadas. Como dice el texto de ayuda, las opciones que
se definirán no serán válidas para todos los futuros routers. En la ventana "Propiedades Avanzadas",
seleccione "TPs Locales" y haga clic en el botón "Añadir".
Complete los campos como se detalla a continuación.
En el parámetro "TP Filespec", escriba:
C:\ARCHIV~1\IBM\CLIENT~1\AREXECDN.EXE.
Si no selecciona la opción "Seguridad de Conversación", no necesitará especificar un ID de usuario y
una contraseña para poder ejecutar un mandato remoto en su PC. Si no, debe especificar los IDs de
usuario y contraseñas autorizados en la pestaña "Seguridad" presionando el botón "Añadir".
Nota Cambie la ruta al programa indicado si especificó otro elemento o carpeta cuando instaló
Client Access.
© 2013 Tango/04 Computing Group Página 49
Referencia
Si configura opciones de seguridad, utilice el parámetro RMTLOCNAME del mandato VISUALW para indicar
los ID de usuario y las contraseñas autorizados.
Probando la Conexión de MANDATO REMOTO vía SNA
RUNRMTCMD CMD('C:\WINDOWS\CALC.EXE') RMTLOCNAME(MYNET.TANGO96 *SNA) RMTUSER(ROBERTO) MODE(BLANK)
Utilizando el Mandato VISUALW con Mandato Remoto vía SNA
VISUALW DBGOBJ(VISUALDEMO/DEMO_PGM) PCCALL(*RMTCMD) NICELINK(TANGO96) RMTLOCNAME(MYNET.ROBERTO *IP ROBERTO XXXXX)
El valor *RMTCMD indica que la activación de VISUAL Message Center Debugging Agent tendrá lugar a
través del mandato remoto con el protocolo SNA, con el nombre LU ROBERTO en la red MYNET y el
usuario ROBERTO (parámetro RMTLOCNAME). El valor del parámetro NiceLink especifica el nombre por el
que se especifica el AS/400 en NiceLink en el PC.
5.3 Lenguaje de Mandatos de Depuración
5.3.1 Convenciones de SintaxisLos temas siguientes definen la sintaxis del lenguaje de mandatos aceptado por VISUAL Message
Center Debugging Agent en la Línea de Mandatos de la Ventana de Depuración.
Nota Cada vez que utilice este mandato, los valores se guardarán para ser utilizados otra vez en
el futuro. Esto le ahorrará tener que introducir valores redundantes cada vez, o tener que
utilizar el mandato CHGCMDDFT para alterar estos valores permanentemente. También puede
guardar sus valores en una opción PDM personalizada.
© 2013 Tango/04 Computing Group Página 50
Referencia
La Sintaxis de un Lenguaje es el conjunto de normas que definen las construcciones válidas para ese
lenguaje, y está definida por Terminales y Construcciones:
• Los Terminales son palabras literales: palabras reservadas, símbolos de puntuación,
operadores,... es decir, las unidades mínimas aceptadas por el lenguaje.
• Las Construcciones son categorías sintácticas (es decir, no terminales), especificadas en
términos de terminales y relaciones entre ellos.
Los métodos más utilizados para especificar la sintaxis de un lenguaje son los Diagramas Sintácticos y
BNF (Backus Normal Form, a veces también llamada Backus Naur Form).
Diagramas Sintácticos
Los Diagramas Sintácticos son la forma más fácil de entender para especificar una sintaxis. Los
nombres en las cajas son construcciones. Los que están en círculos -palabras reservadas, operadores,
y puntuación- son terminales utilizados en construcciones; y están en negrita en los diagramas. Por
ejemplo, el Diagrama Sintáctico que define como Añadir una Variable a la Lista de Variables des de la
línea de mandatos es el siguiente:
Para leer un Diagrama Sintáctico, se siguen las flechas. Normalmente, hay más de un camino posible.
Este diagrama indica que hay dos palabras reservadas para Añadir una Variable a la Lista de Variables,
A y AV. Siguiendo al mandato está el nombre de la Variable, y a continuación, de forma opcional, se
puede especificar ver la variable en formato *HEX.
BNF: No es una notación gráfica, sino orientada a texto. Es una técnica estándar para definir un
lenguaje de ordenador. La variante utilizada en esta guía es como sigue:
• Las palabras entre comillas simples ' representan palabras literales (terminales).
• Las palabras entre los símbolos < (menor que) y > (mayor que), representan construcciones.
• Las Construcciones se definen de la siguiente forma:
<categoría_sintáctica>::=definición
• Los Corchetes [] envuelven elementos opcionales.
• Las Llaves {} envuelven elementos que pueden repetirse cero o más veces.
• Una línea vertical | separa alternativas.
Por ejemplo, el diagrama presentado anteriormente se puede expresar utilizando BNF como:
<Añadir_Variable_A_Lista_Variables>::= ( "A" | "AV" ) + <Variable> + ["*HEX"]
5.3.2 ProcesosUn Proceso es un programa en ejecución. Un Proceso se define por el código del programa, el
contenido de la memoria del proceso, y el entorno, definido por el trabajo en el que se ejecuta el
programa y los valores del sistema definidos por el sistema operativo.
© 2013 Tango/04 Computing Group Página 51
Referencia
Cuando un proceso se está depurando, se mueve entre diferentes estados o fases, desde que empieza
a ejecutarse hasta que acaba. El siguiente diagrama de flujo describe estos estados.
5.3.3 Localidad y EntidadesLocalidad es el término utilizado para describir el rango en el que una entidad puede ser referenciada
en un módulo. Los términos localidad y alcance son sinónimos. Por esta definición, la localidad de una
entidad está siempre limitada a la unidad de compilación en que fue declarada.
Entidad es una manera formal de describir todo lo que se puede declarar en un módulo. Variables,
procedimientos, etiquetas, tipos y constantes son entidades.
La localidad de una entidad está definida por el bloque en que es declarada. Una entidad es visible en
el bloque en que es declarada y en todos los bloques subordinados. Las variables pueden ser
referenciadas en el bloque en que se declaran.
Una entidad se puede declarar en un bloque que incluya otros bloques. La entidad declarada en el
bloque externo, que engloba los internos, es visible en bloques internos si el nombre no coincide con el
nombre de otras entidades de bloques internos. Una variable declarada en un bloque externo puede ser
referenciada en un bloque interno si no se declara ninguna variable con el mismo nombre en el bloque
interno.
Para cualificar completamente una localidad determinada en un programa, se deben identificar tanto el
programa como el módulo.
5.3.4 Sentencias del EditorLas sentencias del editor son aquellas que afectan la Ventana de Depuración, por ejemplo desplazar o
marcar el código fuente, interactuar con la Lista de Variables, .... Estas sentencias son:
• Sentencia Añadir Lista Variables
• Sentencia Añadir Variable
© 2013 Tango/04 Computing Group Página 52
Referencia
• Sentencia Buscar
• Sentencia Eliminar Lista Variables
• Sentencia Eliminar Variable
• Sentencia Evaluar
• Sentencia Fin
• Sentencia Info
• Sentencia Inicio
• Sentencia Modificar Variable
• Sentencia Mostrar Variable
• Sentencia Trabajar Con Variables
• Sentencia Vaciar Lista
Sentencia Añadir Variable
Descripción: Añade una nueva variable o expresión a la Lista de Variables.
Sintaxis: <Sentencia Añadir Variable> ::= ("A" | "AV" | "ADDVAR" ) + <Expresión> + ["*HEX"]
Comentarios: Referirse a la Sentencia Evaluar para una descripción detallada de las expresiones
válidas.
Sentencia Añadir Lista Variables
Descripción: Muestra la Lista de Variables.
Sintaxis : <Sentencia Añadir Lista Variables> ::= "AL" | "ADDLIST"
Sentencia Fin
Descripción: Mueve el cursor al final de código fuente.
Sintaxis : <Sentencia Final> ::= "B" | "BOT" | "BOTTOM"
© 2013 Tango/04 Computing Group Página 53
Referencia
Sentencia Modificar Variable
Descripción: Modifica el valor de una variable.
Sintaxis: <Sentencia Modificar Variable> ::= ( "C" | "CV" | "CHGVAR" ) + <Variable> + "=" + <Expresión>
Comentarios: <Variable> debe ser un identificador de variable válido.
Referirse a la Sentencia Evaluar para una descripción detallada de las expresiones válidas.
Sentencia Vaciar Lista
Descripción: Vacía la lista de variables, eliminando cada variable o expresión de la lista.
Sintaxis : <Sentencia Vaciar Lista> ::= "CL" | "CLRLIST"
Sentencia Evaluar
Descripción: Evalúa una expresión. La expresión puede incluir variables. Este mandato se incluye sólo
por compatibilidad con VISUAL Debugger 5250.
Sintaxis: <Sentencia Evaluar> ::= ( "CALC" | "COMPUTE" ) + <Expresión>
Comentarios: Referirse a la Sentencia Evaluar para una descripción detallada de las expresiones
válidas.
Sentencia Mostrar Variable
Descripción: Muestra el valor de la expresión especificada en anotaciones de mandatos. La expresión
puede incluir variables. Este mandato se incluye sólo por compatibilidad con VISUAL Debugger 5250.
Sintaxis: <Sentencia Mostrar Variable> ::= ( "D" | "DV" | "DSPVAR" ) + <Expresión >
© 2013 Tango/04 Computing Group Página 54
Referencia
Comentarios: Referirse a la Sentencia Evaluar para una descripción detallada de las expresiones
válidas.
Sentencia Buscar
Descripción: Busca una cadena de texto en el código fuente. Los resultados son resaltados en el
código fuente, y en anotaciones de mandatos. Para destacar cada ocurrencia, haga clic en anotaciones
de mandatos. El comando de búsqueda es el más complejo, pero puede utilizar el Diálogo Buscar para
simplificar las búsquedas.
Sintaxis :
• <Sentencia Buscar> ::= ( "F" | "FIND" ) + [ <Qué Buscar> ] + [ <Opciones de Búsqueda> ] + [ <Opciones de mayúsculas/minúsculas>]
• <Qué Buscar> ::= <Cadena> | "*BKP" | "*EXE" | "*NOEXE" | "*CHG" | "*COM" | "*NOCOM"
• <Opciones de Búsqueda> ::= "N" | "NEXT" | "P" | "PREV" | "F" | "FIRST" | "L" | "LAST" | "A" | "ALL"
• <Opciones de mayúsculas/minúsculas> ::= "C" | "CASE"
• <Cadena> ::= ( <Cadena de texto> | Comilla + <Cadena de texto> + Comilla )
Comentarios: Valores para <Qué Buscar>:
• <Cadena>: Cualquier cadena de texto, ya sea delimitada por comillas o no. Busca esa cadena
de texto en el código fuente.
• *BKP: Busca un punto de ruptura.
• *EXE: Busca una sentencia ejecutada.
© 2013 Tango/04 Computing Group Página 55
Referencia
• *NOEXE: Busca una sentencia no ejecutada.
• *CHG: Busca una sentencia con una fecha de modificación diferente.
• *COM: Busca un comentario.
• *NOCOM: Busca una sentencia ejecutable.
Valores para <Opciones de Búsqueda>:
• N, NEXT: Busca la siguiente ocurrencia.
• P, PREV: Busca la ocurrencia anterior..
• F, FIRST: Busca la primera ocurrencia.
• L, LAST: Busca la última ocurrencia.
• A, ALL: Busca las ocurrencias en todo el código fuente.
Valores para <Opciones de mayúsculas/minúsculas>
• C, CASE: Realiza una búsqueda sensible al patrón de mayúsculas y minúsculas introducido.
Sentencia Info
Descripción: Muestra información detallada del módulo o programa en las páginas Info. Módulo o Info.
Programa.
Sintaxis: <Sentencia Info> ::= ( "I" | "INFO" )
Sentencia Eliminar Variable
Descripción: Elimina la variable o expresión especificada de la lista de variables.
Sintaxis: <Sentencia Eliminar Variable> ::= ( "R" | "RV" | "RMVVAR" ) + <Expresión>
Sentencia Eliminar Lista Variables
Descripción: Esconde la lista de variables.
Sintaxis: <Sentencia Eliminar Lista> ::= "RL" | "RMVLST"
© 2013 Tango/04 Computing Group Página 56
Referencia
Sentencia Inicio
Descripción: Mueve el cursor al principio del código fuente.
Sintaxis : <Sentencia Inicio> ::= "T" | "TOP""
Sentencia Trabajar con Variables
Descripción: Muestra la Ventana Trabajar con Variables, permitiendo la modificación de la variable.
Sintaxis: <Sentencia Trabajar con Variables> ::= "WV" | "WRKVAR"
5.3.5 Sentencias de DepuraciónLas sentencias de depuración son aquellas que afectan el estado del programa depurado, esto es
modificación de puntos de ruptura, ejecutar el programa paso a paso,... Las sentencias de depuración
se basan en las APIs de Depuración proporcionada por el AS/400, pero VISUAL Message Center
Debugging Agent extiende la sintaxis definida en estas APIs para proporcionar al usuario más
flexibilidad y facilidad de uso. Para una descripción detallada de las APIs de Depuración del OS/400,
refiérase a la Referencia de la API del Sistema de IBM (IBM's System API Reference. Volume 1).
• Sentencia ATTR
• Sentencia Cualificar
• Sentencia Detener
• Sentencia Ejecutar
• Sentencia Ejecutar Hasta
• Sentencia Eliminar
• Sentencia Evaluar
• Sentencia Monitorizar
• Sentencia Paso a Paso
• Sentencia Pausa
• Sentencia Ruptura
© 2013 Tango/04 Computing Group Página 57
Referencia
Sentencia ATTR
Descripción: Retorna una descripción de la entrada de la tabla de símbolos de la variable del programa
introducida.
Sintaxis : < Sentencia ATTR> ::= "ATTR" + <Variable >
Comentarios: <Variable> se formatea de acuerdo con su tipo almacenado en la tabla de símbolos
HLL, y de acuerdo con el lenguaje del módulo en depuración. La localidad de las variables que
aparecen en una sentencia ATTR está definida por la sentencia cualificar ejecutada más recientemente.
Sentencia Ruptura
Descripción: La sentencia ruptura permite al programador introducir puntos de ruptura. Los puntos de
ruptura se introducen en el programa en depuración. Cuando el programa encuentra un punto de
ruptura, la operación es suspendida. VISUAL Message Center Debugging Agent permite cuatro tipos de
puntos de ruptura: Incondicional, Condicional, Temporal y Temporal-Condicional.
Los Puntos de Ruptura Incondicionales se entran introduciendo la sentencia ruptura de la forma
( "BREAK" | "AT" ) + <Rango Sentencias >
y suspenden la operación del programa cada vez que el punto de ejecución alcanza las sentencias
definidas por <Rango Sentencias >.
Los Puntos de Ruptura Condicionales se entran introduciendo la sentencia ruptura de la forma
( " BREAK" | "AT" ) + <Rango Sentencias> + "WHEN" + <Expresión >
y suspenden la operación del programa cada vez que el punto de ejecución alcanza las sentencias
definidas por <Rango Sentencias> y la expresión booleana definida en <Expresión> tiene el valor
VERDADERO. Si el valor es FALSO, la operación continúa sin interrupción. La expresión se interpreta
antes de ejecutar la sentencia con el punto de ruptura.
Los Puntos de Ruptura Temporales se entran introduciendo la sentencia ruptura de la forma
( " BREAK" | "AT" ) + <Rango Sentencias> + ("TMP" | "TEMPORARY ")
Funcionan exactamente como los puntos de ruptura incondicionales, pero son eliminados la primera
vez que se alcanza el punto de ruptura.
Los Puntos de Ruptura Temporales-Condicionales se entran introduciendo la sentencia ruptura de la
forma
( " BREAK" | "AT" ) + <Rango Sentencias> + "WHEN" + <Expresión> + ("TMP" | "TEMPORARY ")
Funcionan exactamente como los puntos de ruptura condicionales, pero son eliminados la primera vez
que el punto de ruptura es alcanzado.
Sintaxis:
• < Sentencia Ruptura> ::= ( "BREAK" | "AT" ) + <Rango Sentencias> + [ "WHEN" + <Expresión> ] + [ "TMP" | "TEMPORARY "]
• < Rango Sentencias> ::= ( <Posición> + [ ( "," | "-" ) + <Rango Sentencias>] ) | "ALL" | "*ALL" | "FIRST" | "*FIRST" | "PGM" | "*PGM "
© 2013 Tango/04 Computing Group Página 58
Referencia
Comentarios:
< Rango Sentencias> define el rango de sentencias donde se introducirán puntos de ruptura.
• ALL, *ALL, PGM, *PGM: Coloca puntos de ruptura en cada sentencia ejecutable del módulo.
• FIRST, *FIRST: Coloca un punto de ruptura en la primera línea ejecutable del módulo.
< Expresión > El resultado de la expresión debe tener un valor lógico cuando se evalúe. La localidad
de las variables utilizadas en expresiones condicionales está definida por el número de línea que define
la posición.
Ejemplos:
Para añadir puntos de ruptura en las líneas 1, 3 y 5:
BREAK 1,3,5
Para añadir puntos de ruptura condicionales en la línea 2, y de la línea 10 hasta la 20 sólo cuando la
variable AUX = 127
BREAK 2,10-20 WHEN AUX = 127
Sentencia Eliminar
Descripción: La sentencia eliminar le permite eliminar un rango de puntos de ruptura, o todos los
puntos de ruptura de un programa. También se utiliza para eliminar uno o más monitores.
Sintaxis :
• <Sentencia Eliminar> ::= "CLEAR" + ( <Rango Sentencias> | "PGM" | ( "WATCH" | "MONITOR" ) + ( "ALL" | <Lista Números Monitores> ) )
• <Rango Sentencias> ::= ( <Posición> + [ ( "," | "-" ) + <Rango Sentencias>] ) | "ALL" | "*ALL" | "FIRST" | "*FIRST" | "PGM" | "*PGM"
• <Lista Números Monitores> ::= ( <Número> + [ "," + <Lista Números Monitores> ] ) | "ALL" | "*ALL" | "PGM" | "*PGM"
Comentarios:
< Rango Sentencias> define el rango de sentencias de los que se eliminarán los puntos de ruptura.
• ALL, *ALL, PGM, *PGM: Elimina todos los puntos de ruptura del módulo.
< Lista Números Monitores> define la lista de monitores a eliminar.
• ALL, *ALL, PGM, *PGM: Elimina cada monitor del módulo.
© 2013 Tango/04 Computing Group Página 59
Referencia
Sentencia Evaluar
Descripción: Evalúa una expresión. El valor de la expresión se formatea de acuerdo con el tipo de la
expresión. La sentencia evaluar le permite mostrar el valor de una expresión o de un agregado, o
alterar el valor de una variable. La definición precisa de lo que se puede mostrar o alterar depende del
lenguaje del módulo que se está depurando.
Las variables se pueden mostrar o alterar cuando el procesamiento del programa está suspendido. La
operación del programa se suspende temporalmente como resultado de encontrar un punto de ruptura
o completar una sentencia paso a paso. También es suspendida cuando se cumple una condición de
monitorización.
Sintaxis :
• < Sentencia Evaluar> = ( "EVAL" | "LIST" ) + <Expresión> + [ <Opción de Formato> ]
• <Opción de Formato> ::= ":" + <Código de Formato> + [<Longitud >]
Comentarios:
<Expresión>: La localidad de las variables que aparecen en la <Expresión> de una sentencia evaluar
está definida por la Sentencia Cualificar ejecutada más recientemente.
Las variables son formateadas de acuerdo con su tipo almacenado en la tabla de símbolos HLL, y de
acuerdo con el lenguaje del módulo en depuración. Los formatos disponibles incluyen entero,
hexadecimal, exponencial, y dirección, entre otros.
<Opción de Formato> Permite forzar un formato de salida diferente del formato por defecto. El
<Código de Formato> puede ser uno de los siguientes:
La <Longitud> es un entero positivo que indica el número de bytes a formatear. Los valores por
defecto para los códigos de formato son como sigue:
Format Code Descripción
:c Un formato de un sólo carácter EBCDIC
:x Un formato hexadecimal.
:sUn formato de cadena de caracteres EBCDIC (sólo para los lengua-jes C y C++).
:fUn formato de cadena de caracteres EBCDIC (sólo para los lengua-jes C y C++).
:aUn formato de cadena de caracteres ASCII (sólo para los lenguajes ILE). La cadena se convierte del CCSID ASCII relacionado con el CCSID del trabajo al CCSID del trabajo.
:uUn formato de cadena de caracteres Unicode (sólo para lenguajes ILE). La cadena se convierte de Unicode CCSID 13488 al CCSID del trabajo.
© 2013 Tango/04 Computing Group Página 60
Referencia
Sentencia Monitorizar
Descripción: La sentencia monitorizar le permite pedir un punto de ruptura cuando el contenido de una
zona de almacenamiento especificada cambia respecto a su valor actual. Después de introducir una
condición de monitorización con éxito, un cambio del contenido de la zona de almacenamiento
monitorizada causa la suspensión de la operación del programa.
Sintaxis : < Sentencia Monitorizar> ::= ( "MONITOR" | "WATCH" ) + <Expresión> + [ ":" + <Tamaño de Almacenamiento>]
Comentarios: Es importante entender que la sentencia monitorizar establece la dirección de la zona de
almacenamiento monitorizada cuando se entra la sentencia, y que no cambia. Por esta razón, las
sentencias de monitorización sólo se aceptan durante la ejecución del programa, y se eliminan cuando
el programa finaliza.
<Expresión> se utiliza para determinar la dirección de la zona de almacenamiento a monitorizar. La
expresión debe ser resuelta como un lvalue (es decir, una localización que puede ser asignada). El
alcance de las variables de la expresión de la sentencia de monitorización está definida por la sentencia
cualificar más reciente.
La especificación del formato de <Tamaño de almacenamiento> es un carácter dos puntos seguido
por la longitud en bytes a controlar. El tamaño debe estar en un rango de 1 a 128 bytes. El tamaño de la
operación de comparación de monitorización es el mismo que el tamaño del tipo de la expresión, o el
tamaño especificado con el parámetro opcional <Tamaño de Almacenamiento>. Por ejemplo, si un
entero binario de 4 bytes se especifica sin el parámetro <Tamaño de Almacenamiento>, el tamaño de la
comparación es de 4 bytes. Si se especifica el parámetro <Tamaño de Almacenamiento>, éste invalida
la longitud de la expresión al determinar el tamaño de comparación.
La sentencia monitorización es equivalente a sentencia definida en la Referencia de la API del
Sistema de IBM (IBM's System API Reference) como sentencia Watch. VISUAL Message Center
Debugging Agent utiliza la notación "Monitor" en lugar de la notación "Watch" para evitar ambigüedad;
puede ser muy confuso cuando se habla sobre la Watch List. La watch list se identifica normalmente
con la lista de variables que está siendo mostrada actualmente en el depurador, y normalmente no tiene
nada que ver con el concepto del monitor.
Format Code Default
:c 1
:x La longitud del valor de la expresión
:s 30
:f 1024
:a 1024
:u 1024
© 2013 Tango/04 Computing Group Página 61
Referencia
Sentencia Pausa
Descripción: La sentencia pausa le permite suspender la ejecución del programa tan pronto como sea
posible. Puede no tener un efecto inmediato: por ejemplo, cuando el programa ha efectuado una
llamada a un procedimiento no depurable de sistema, no es posible suspender la ejecución hasta que
ha finalizado la llamada.
Sintaxis : < Sentencia Pausa> ::= "PAUSE "
Comentarios: Si el programa ya está detenido, una segunda sentencia pausa finalizará la ejecución del
programa.
Sentencia Cualificar
Descripción: La sentencia cualificar le permite definir la localidad de las variables que aparecen en
sentencias evaluar posteriores. La localidad está definida por el operando número de línea de la
sentencia cualificar. La localidad asignada es la del bloque en que aparece el número de línea.
Sintaxis : < Sentencia Cualificar> ::= "QUAL" + <Número de Línea >
Comentarios: La localidad asignada cuando se emite una sentencia cualificar mantiene su efecto
hasta que se emite la siguiente sentencia cualificar, o hasta que la ejecución se continúa con una
sentencia paso a paso o con una sentencia ejecutar.
VISUAL Message Center Debugging Agent define automáticamente la localidad actual del programa
cuando el programa suspende su operación a causa de una condición de paso a paso, una condición
de monitorización o una condición de punto de ruptura. De todas formas, se puede cambiar la localidad
utilizando la sentencia cualificar.
Sentencia Ejecutar
Descripción: La sentencia ejecutar inicia o continúa la ejecución del programa cuando ha sido
suspendida a causa de un punto de ruptura alcanzado, una condición de monitorización cumplida o una
excepción inesperada.
Cuando el programa todavía no ha sido iniciado, debería especificar el programa a ejecutar. Esto
permite depurar Programas de Servicio, que no pueden ser ejecutados directamente, pero son
iniciados cuando un programa realiza una llamada a un procedimiento implementado en el Programa
de Servicio.
Sintaxis : <Sentencia ejecutar> ::= "RUN" + [<Nombre Librería> + "/" + <Nombre Programa> + [<Lista Parámetros>] ]
Comentarios: Si la ruta del programa (<Nombre Librería> / <Nombre Programa>) a ejecutar se
omite, se muestra una ventana para especificarlo.
© 2013 Tango/04 Computing Group Página 62
Referencia
Sentencia Ejecutar Hasta
Descripción: La Sentencia Ejecutar Hasta inicia o continúa la ejecución del programa cuando ha sido
suspendida a causa de un punto de ruptura alcanzado, una condición de monitorización cumplida o una
excepción inesperada, y suspende la operación del programa cuando alcanza la sentencia
especificada.
Sintaxis : < Sentencia Ejecutar Hasta> ::= "RUNTO" + <Número de Sentencia >
Comentarios: <Número de Sentencia> debe ser una sentencia ejecutable. Si no, la operación del
programa será suspendida en la sentencia ejecutable siguiente.
Sentencia Paso a Paso
Descripción: La sentencia paso a paso le permite ejecutar una o más sentencias del programa en
depuración con propósito de prueba. El programa en prueba ejecuta el número de sentencias
especificado en el operando cuenta de la sentencia. La operación del programa se suspende al
completarse la sentencia paso a paso.
Sintaxis : <Sentencia Paso a Paso> ::= "STEP" + [ <Cuenta de la Sentencia> ] + [ "OVER" | "INTO" ]
Comentarios: <Cuenta de la Sentencia> es un valor entero mayor que 0. Si se omite, se ejecuta
una sentencia.
Las palabras reservadas OVER y INTO ordenan al depurador pasar o entrar en los procedimientos,
respectivamente.
Si OVER aparece en una sentencia paso a paso, el depurador no detiene la operación en ninguno de los
procedimientos llamados (paso a paso por procedimientos). Los procedimientos y las funciones se
ejecutan sin interrupción.
La palabra reservada INTO ordena al depurador de código fuente detenerse en los procedimientos
llamados (paso a paso por instrucciones).
Si no se introduce ni INTO ni OVER en la sentencia paso a paso, se asume OVER.
Hay algunos límites en los pasos. En el siguiente código no se puede entrar utilizando la sentencia paso
a paso:
• Procedimientos en módulos que no tengan datos de depuración.
• Módulos optimizados al nivel 40.
Sentencia Detener
Descripción: La sentencia detener le permite suspender la ejecución del programa inmediatamente.
Sintaxis : <Sentencia Detener> ::= "STOP"
© 2013 Tango/04 Computing Group Página 63
Referencia
Comentarios: Si el trabajo en depuración no es interactivo, es decir, un trabajo por lotes, la única
manera de detenerlo es finalizando el trabajo. Esto significa que no podrá continuar depurando el
trabajo inmediatamente: necesitará asignar otro trabajo por lotes al proyecto de depuración e iniciar una
nueva sesión de depuración sobre ese trabajo.
5.3.6 Sentencia SistemaDescripción: Las sentencias de sistema son aquellas que se ejecutan en el trabajo, es decir,
mandatos. Cualquier mandato no reconocido como una sentencia del editor o de depuración es un
mandato de sistema. De todas formas, como es posible que un mandato de sistema tenga el mismo
nombre que una palabra reservada para sentencias del editor o de depuración, existen palabras
reservadas opcionales para evitar ambigüedades.
Sintaxis : <Sentencia Sistema> ::= [ "SYS" | "SYSTEM" ] + <Mandato OS/400>
Comentarios: <Mandato OS/400> es cualquier mandato OS/400 válido.
SYS, SYSTEM son opcionales, y se deberían utilizar cuando haya un <Mandato OS/400> cuyo nombre
sea igual que el de alguna palabra reservada de las sentencias del editor o de depuración.
5.3.7 Tabla de Referencia Rápida
Sentencia Sintaxis
Añadir Variable ("A" | "AV" | "ADDVAR" ) + <Expresión> + ["*HEX"]
Añadir Lista Variables "AL" | "ADDLIST"
ATTR "ATTR" + <Variable>
Fin "B" | "BOT" | "BOTTOM"
Ruptura( "BREAK" | "AT" ) + <Rango Sentencia> + [ "WHEN" + <Expresión> ] + [ "TMP" | "TEMPORARY"]
Modificar Variable( "C" | "CV" | "CHGVAR" ) + <Variable> + "=" + <Expresión>
EliminarCLEAR + ( <Rango Sentencia> | "PGM" | ( "WATCH" | "MONITOR" ) + ( "ALL" | <Lista Números Monitores> ) )
Vaciar Lista "CL" | "CLRLIST"
Evaluar ( "CALC" | "COMPUTE" ) + <Expresión>
Mostrar Variable ( "D" | "DV" | "DSPVAR" ) + <Expresión>
Evaluar( "EVAL" | "LIST" ) + <Expresión> + [ <Opción de Formato> ]
© 2013 Tango/04 Computing Group Página 64
Referencia
5.4 Iconos
5.4.1 Iconos de Tipo de TrabajoCada Trabajo en la Lista de Trabajos tiene un Icono asociado en el primer campo, relacionado con su
tipo:
Buscar( "F" | "FIND" ) + [ <Qué Buscar> ] + [ <Opciones de Búsqueda> ] + [ <Opciones de mayúsculas/minús-culas>]
Info "I" | "INFO"
Monitorizar( "MONITOR" | "WATCH" ) + <Expresión> + [ ":" + <Longitud de Almacenamiento> ]
Pausa "PAUSE"
Cualificar "QUAL" + <Número de Línea>
Eliminar Variable ( "R" | "RV" | "RMVVAR" ) + <Expresión>
Eliminar Lista Varia-bles
"RL" | "RMVLST"
Ejecutar"RUN" + [<Nombre Librería> + "/" + <Nombre Pro-grama> + [<Lista Parámetros>] ]
Ejecutar Hasta "RUNTO" + <Número de Sentencia>
Paso a Paso"STEP" + [ <Cuenta de la Sentencia> ] + [ "OVER" | "INTO" ]
Detener "STOP"
Sistema [ "SYS" | "SYSTEM" ] + <Mandato OS/400>
Inicio "T" | "TOP"
Trabajar con Variables "WV" | "WRKVAR"
Sentencia Sintaxis
ASJ Trabajos de tipo Auto Arranque.
BCH, BCI, M36, PJ Trabajos de los tipos Batch, Batch Immediate, Advanced 36 Server, y Pre Start.
EVK Trabajos de tipo Evoke, iniciados por una petición de inicio de un procedimiento.
INT Trabajos de tipo Interactive
MRT Trabajos de tipo Multiple Requester Terminal
RDR Trabajos de tipo Reader
SBS Trabajos de tipo Subsystem
SYS Trabajos de tipo System
WRT, PDJ Trabajos de los tipos Writer y Print Driver
© 2013 Tango/04 Computing Group Página 65
Referencia
5.4.2 Iconos de Tipo de Mensaje en AnotacionesCada Mensaje en Anotaciones de Trabajo tiene un Icono asociado en el primer campo, relacionado con
su tipo:
5.4.3 Iconos de Tipo de ObjetoCada Objeto AS/400 tiene un Icono asociado, relacionado con su tipo y atributo:
Finalización Un mensaje que transmite el estado de la finalización de un trabajo.
Diagnóstico Un mensaje que indica errores en una función del sistema, errores en la aplicación o errores en datos de entrada.
Información Un mensaje que proporciona información general no relacionada con errores.
Pregunta Un mensaje que transmite información pero que también pide una respuesta.
Petición Un mensaje que es la respuesta a una pregunta recibida o a una notificación.
Notificación Un mensaje que describe una condición por la que un programa requiere una respuesta o una acción correctiva.
Excepción Un mensaje que describe una condición por la que un programa debe terminar anormalmente.
Respuesta Un mensaje que es la respuesta a una pregunta recibida o un mensaje notificado.
Otros Tipos
*PGM (*OPM)
*PGM (*ILE)
Un objeto programa (*PGM) contiene un conjunto de instrucciones que indican al sistema dónde obtener entradas, cómo procesarlas y dónde poner los resultados. Un programa se crea cuando se compila (programas *OPM) o cuando es construido a partir de uno o más objetos de tipo Módulo utilizando el mandato Crear Programa (CRTPGM) (programas *ILE).
*SRVPGM
Un objeto programa de servicio (*SRVPGM) contiene instrucciones que le dicen al ordenador dónde obtener entradas, cómo procesarlas, y dónde poner los resultados. Un programa de servicio se crea con el mandato Crear Programa de Servicio (CRTSRVPGM). Un programa de servicio no se puede llamar de la forma en que se llama un objeto *PGM.
*MODULE
Un objeto módulo (*MODULE) contiene un conjunto de instrucciones y la información que necesita cuando utiliza el objeto para crear un programa. Un objeto módulo es el resultado de los mandatos CRTxxxMOD.
© 2013 Tango/04 Computing Group Página 66
Referencia
*FILE
Un objeto fichero (*FILE) define un fichero de bases de datos, un fichero de dispositivo o un conjunto de registros relacionados en un fichero. Si el atributo del fichero es desconocido, este icono se utiliza para representarlo. Cuando el atributo es conocido, los ico-nos utilizados son los siguientes:
PF-SRC: Un fichero fuente, un fichero que contiene diversos miembros ( ). Cada miembro es un conjunto de sentencias de texto que pueden ser simplemente texto, el código fuente de un programa.
PF, PF-DTA, PF38: Fichero físico, los datos del fichero físico son los ficheros de una base de datos cuando se guardan los datos.
LF, LF38: Los ficheros lógicos definen cómo se presentarán o recibirán los datos de un programa. Este tipo de ficheros no contiene datos, pero proporciona un orden y un formato ( ) para uno o más ficheros físicos.
DSPF, DSPF38, DFU, DFUEXC, DFUNOTEXC: Los ficheros de visualización y los ficheros de visualización creados con la Utili-dad de Ficheros de Datos de AS/400 ( Data File Utility, DFU ) son ficheros utilizados para leer o guardar datos en una estación de pantalla, que le permiten definir el formato de los datos en la pan-talla.
ICFF, BSCF38, CMNF38, MXDF38: Ficheros utilizados para leer o guardar datos en una localización de comunicaciones remota, y que le permite definir el formato de los datos.
DDMF: Ficheros utilizados para leer y guardar datos en un sistema remoto.
DKTF: Un fichero de disquete es utilizado para leer y guardar datos en un dispositivo de disquete, pero no le permite definir el formato de los datos.
TAPF: Un fichero de cinta se utiliza para leer y guardar datos en un dispositivo de cinta.
PRTF, PRTF38: Los ficheros de impresora se utilizan para almacenar datos en un dispositivo de impresión o en una cola de salida de Spool. Le permiten definir el formato de los datos.
*DTAARA Un objeto de área de datos, un objeto que contiene un valor de datos que puede ser utilizado y cambiado por diversos trabajos.
*CMD Un objeto de mandato, un objeto que pide una función de sistema.
*MSGFUn objeto de fichero de mensajes, un objeto que contiene descripciones de mensajes utilizados para describir condiciones de estado y de error.
*PNLGRPUn objeto de grupo de paneles, un objeto que mantiene información de pantallas o de ayuda en línea para ser presentada en un dispositivo de pantalla.
Other Objects
© 2013 Tango/04 Computing Group Página 67
Referencia
5.5 Accesos Directos
5.5.1 Asignaciones por defecto de Teclas de Acceso DirectoLas Teclas de Acceso Directo son combinaciones de pulsaciones de teclas que hacen que la aplicación
realice una tarea específica. Las teclas de acceso directo son la forma más rápida de realizar una
acción. VISUAL Message Center Debugging Agent proporciona una utilidad Editor KMF, que permite
redefinir las acciones asociadas a las teclas de acceso directo. Las asignaciones por defecto se
detallan a continuación.
Acciones Generales
Copiar Ctrl+C
Buscar Ctrl+F
Buscar Siguiente Shift+F4
Ir Atrás Ctrl+B
Ir Adelante Ctrl+N
Información F11
Abrir Sesión Chat Ctrl+H
Abrir Trabajo Ctrl+J
Abrir Objeto Ctrl+O
Abrir Utilidad Entrada de Fuente (SEU) Shift+F2
Abrir Miembro Fuente Ctrl+S
Pegar Ctrl+V
Imprimir Ctrl+P
Refrescar F5
Mandato Sistema Shift+F9
Opciones Usuario Shift+F1
Ampliar Ctrl+A
Reducir Ctrl+Z
Acciones de Depuración
Colocar Todos los Puntos de Ruptura Shift+F10
Añadir Programa a Depurar Shift+F3
Cursor a Mandato / Fuente F10
Ir a Siguiente Punto de Ruptura Shift+F8
Ir a Punto de Ejecución Ctrl+G
Pausar /Detener Ejecución F3
Eliminar Todos los Puntos de Ruptura Shift+F11
Iniciar / Continuar Ejecución F12
Ejecutar Hasta el Cursor F4
© 2013 Tango/04 Computing Group Página 68
Referencia
5.5.2 Personalizar Teclas de Acceso DirectoLas asignaciones de teclas de acceso directo se pueden personalizar, esto es, personalizar, a través de
la utilidad Editor KMF. El Editor KMF permite editar los ficheros de mapeo de teclado (Keyboard
Mapping Files, *.KMF). Puede iniciar el Editor KMF desde la carpeta de VISUAL Message Center
Debugging Agent, o desde la página Mapeo del Teclado del Diálogo de Opciones de Entorno.
5.6 Controlando VISUAL Message Center Debugging Agent
5.6.1 Parámetros de Línea de MandatosVISUAL Message Center Debugging Agent acepta parámetros de línea de mandatos. Con esta
característica, puede hacer que VISUAL Debugger no muestre la Ventana de Inicio y:
• Conecte directamente al sistema AS/400
• Abra un Proyecto de Depuración
• Empiece un Nuevo Proyecto de Depuración
• Capture un trabajo
• Abra una sesión de chat
• Abra un objeto o miembro fuente
Por ejemplo, si desea iniciar VISUAL Message Center Debugging Agent conectando siempre a un
sistema llamado TANGO96, utilizando el protocolo TCP/IP, entonces debería editar las propiedades para
el Acceso Directo a VDebugger.Exe y cambiar el Destino a:
C:\Program Files\Tango04\VDebugger\VDebugger.Exe SYSTEM:TANGO96(TCPIP)
Consulte el tema Sintaxis de Comandos para más detalles.
5.6.2 Controlando VISUAL Debugger con DDE VISUAL Debugger puede controlarse externamente utilizando Intercambio de Datos Dinámico (
Dynamic Data Exchange (DDE). Aplicaciones de terceros pueden ejecutar acciones pasando
comandos a VISUAL Message Center Debugging Agent. La aplicación sólo necesita saber los nombres
del Topic y el Item para comunicarse con VISUAL Message Center Debugging Agent, y estos son:
• Topic : 'Process'
• Item : 'Comando'
Colocar/Eliminar Punto de Ruptura F6
Colocar/Eliminar Punto de Ruptura Condicional Shift+F6
Colocar/Eliminar Punto de Ruptura Temporal Ctrl+F6
Paso a Paso por Instrucciones F8
Paso a Paso por Procedimientos F9
Cambiar Módulo Abierto F7
Trabajar con Variables F2
Acciones de Depuración
© 2013 Tango/04 Computing Group Página 69
Referencia
Con el producto se proporciona una aplicación Delphi de ejemplo. Para soporte adicional, contacte con
el Soporte Técnico.
5.6.3 Sintaxis de MandatosVISUAL Message Center Debugging Agent puede aceptar mandatos, como Parámetros de Línea de
Mandatos o como Mensajes DDE. En ambos casos, los mandatos utilizan la misma sintaxis, definida
como sigue:
Mandato = ( '-' + ACCIÓN + ':' + ARGUMENTO + [ ' ' + ACCIÓN + ':' + ARGUMENTO ]] ), donde
Los valores para ACCIÓN son:
• SYSTEM: Para conectar a un sistema.
• PRJ: Para abrir un Proyecto de Depuración existente.
• JOB: Para capturar un trabajo.
• CHAT: Para abrir una sesión de chat.
• OBJECT: Para abrir un Objeto.
• MEMBER: Para abrir un miembro fuente.
Los valores de ARGUMENTO dependen de ACCIÓN
• Para SYSTEM, ARGUMENTO debería ser un nombre de Sistema directo o un nombre de Sistema
remoto ( Sistema Central/Sistema Remoto) y un protocolo de red soportado por NiceLink.
• Para PRJ, ARGUMENTO debe ser una ruta válida a un Fichero de Proyecto de Depuración
(*.DPF).
• Para JOB y CHAT, ARGUMENTO debería ser un nombre válido de un trabajo activo ( Nombre
Trabajo/Nombre Usuario/Número Trabajo).
• Para OBJECT, ARGUMENTO debería ser un nombre válido de Objeto ( Librería/Objeto(Tipo)).
• Para MEMBER, ARGUMENTO debería ser un nombre válido de miembro fuente ( Librería/Fichero
Fuente(Miembro)).
La tabla siguiente resume los posibles valores para ACCIÓN, ARGUMENTO y PAGINA:
Ejemplos:
Para conectar a un sistema directo llamado TANGO96 utilizando el protocolo APPC, y capturar el
proyecto ALEX8022/QSECOFR/110533, comenzando en la página de Pantalla, el comando debe ser:
SYSTEM:TANGO96(APPC) -JOB:ALEX8022/QSECOFR/110533,0
ACCIÓN ARGUMENTO
SYSTEM Sistema Central / Sistema Remoto(Protocolo)
PRJ Ruta Fichero
JOB Trabajo / Usuario / Número
CHAT Trabajo / Usuario / Número
OBJECT Librería / Objeto ( Tipo)
MEMBER Librería / Fichero Fuente (Miembro)
© 2013 Tango/04 Computing Group Página 70
Referencia
Para conectar al sistema remoto TANGUITO a través de TANGO96, utilizando el protocolo SNA Server
para conectar al sistema central, y TCP/IP para el sistema remoto, capturar el trabajo ROB8022/QSECOFR/110234 empezando en la página de Registro del Trabajo, y abrir el objeto VISUAL/DEMO(*PGM) empezando en la página del Explorador de Aplicaciones, el comando debe ser:
SYSTEM:TANGO96/TANGUITO(SNA Server/TCPIP) -JOB:ROB8022/QSECOFR/110234,1 -OBJECT:VISUAL/DEMO(*PGM),3
Observe los espacios entre las diferentes acciones.
5.7 Errores
5.7.1 Errores en el ServidorLa parte AS/400 de VISUAL Message Center Debugging Agent consiste principalmente en dos
programas Servidores localizados en la librería VISUAL_W, llamados VIINZW1C y VIINZW2C, que
proporcionan todos los datos al programa Cliente de VISUAL Message Center Debugging Agent,
instalado en el PC.
Ambos programas se comunican, pidiendo el uno al otro transmitir y enviar la información requerida
para desarrollar las tareas de la aplicación. Los programas del Servidor son capaces de detectar
algunas situaciones erróneas:
Error Code: 0201h
Descripción: Error Interno del programa.
Causa: Se ha detectado un error en el programa servidor. Esto nunca debería ocurrir, por lo tanto
contacte por favor con el Soporte Técnico para comunicar el error.
Error Code: 0202h
Descripción: Abrir conversación no válido con sistema remoto ya activado.
Causa: Se ha detectado un error en el programa cliente. Esto nunca debería ocurrir, por lo tanto
contacte por favor con el Soporte Técnico para comunicar el error.
Error Code: 0203h
Descripción: Abrir conversación no válido en pasarela AS/400.
Causa: Se ha detectado un error en el programa cliente. Esto nunca debería ocurrir, por lo tanto
contacte por favor con el Soporte Técnico para comunicar el error.
Error Code: 0204h
Descripción: Cerrar conversación no válido sin ningún sistema remoto activado.
Causa: Se ha detectado un error en el programa cliente. Esto nunca debería ocurrir, por lo tanto
contacte por favor con el Soporte Técnico para comunicar el error.
Error Code: 0205h
Descripción: El trabajo no existe o no está activo.
Causa: El trabajo ha acabado, o no puede ser capturado, así que no es posible recuperar información
relacionada con el proyecto.
© 2013 Tango/04 Computing Group Página 71
Referencia
Error Code: 0206h
Descripción: El trabajo está activado pero no está disponible para ejecutar funciones.
Causa: El estado del trabajo no le permite capturarlo.
Error Code: 0207h
Descripción: El Usuario XXX no está autorizado al usuario YYY.
Causa: El perfil de usuario XXX asignado a VISUAL Message Center Debugging Agent no le permite
acceder a usuarios con el perfil YYY. Compruebe su Tabla de Autorizaciones.
Error Code: 0208h
Descripción: YYY ha denegado una petición de autorización.
Causa: El perfil de usuario de VISUAL Message Center Debugging Agent tiene asignada una
autorización de tipo M, y el usuario YYY no ha aceptado la petición de autorización. Compruebe su
Tabla de Autorizaciones.
Error Code: 0209h
Descripción: YYY no ha respondido la petición de autorización.
Causa: perfil de usuario de VISUAL Message Center Debugging Agent tiene asignada una autorización
de tipo M, y el usuario YYY no ha respondido la petición de autorización. Compruebe su Tabla de
Autorizaciones.
Error Code: 020Ah
Descripción: El trabajo no responde. Probablemente ha finalizado, o ahora no está disponible.
Causa: El trabajo ha finalizado, o no puede ser capturado; no es posible recuperar información
relacionada con el trabajo.
Error Code: 020Bh
Descripción: Este trabajo no tiene LDA.
Causa: El trabajo no tiene un Área de Datos Local (Local Data Area o LDA), de forma que se muestra
vacío.
Error Code: 020Ch
Descripción: El usuario YYY no existe en el sistema remoto.
Causa: Está intentando conectar a un sistema remoto con un perfil de usuario que no está definido en
este sistema. Puede haber un error en el nombre de usuario, o quizás el nombre de usuario no está
definido. Si es así, pida a su administrador de sistema que defina el perfil de usuario.
Error Code: 020Dh
Descripción: Contraseña incorrecta.
Causa: Está intentando conectar a un sistema remoto con una contraseña incorrecta. Hay un error en
la contraseña. Intente conectar de nuevo.
© 2013 Tango/04 Computing Group Página 72
Referencia
Error Code: 020Eh
Descripción: El usuario YYY no está autorizado a utilizar VISUAL Message Center Debugging Agent
en el sistema remoto.
Causa: No tiene autorización para utilizar el producto en el sistema remoto al que intenta conectar. Pida
a su administrador de sistema que le dé autorización para utilizarlo.
Error Code: 020Fh
Descripción: La librería no existe.
Causa: Se ha detectado un error en el programa cliente. Esto nunca debería ocurrir, por lo tanto
contacte por favor con el Soporte Técnico para comunicar el error.
Error Code: 0210h
Descripción: Desbordamiento calculando el tamaño de la librería.
Causa: Se ha detectado un error en el programa servidor. Esto nunca debería ocurrir, por lo tanto
contacte por favor con el Soporte Técnico para comunicar el error.
Error Code: 0211h
Descripción: Tipo de mensaje desconocido.
Causa: Se ha detectado un error en el programa cliente. Esto nunca debería ocurrir, por lo tanto
contacte por favor con el Soporte Técnico para comunicar el error.
Error Code: 0212h
Descripción: El trabajo remoto ya ha finalizado la sesión de chat.
Causa: Se ha detectado un error en el programa cliente. Esto nunca debería ocurrir, por lo tanto
contacte por favor con el Soporte Técnico para comunicar el error.
Error Code: 0213h
Descripción: La función ya ha sido ejecutada en el trabajo remoto.
Causa: Se ha detectado un error en el cliente. Esto puede ocurrir si una instancia anterior del programa
( tal vez en el mismo PC o en otro PC) ha terminado anormalmente, o está ejecutando un mandato o
manteniendo una sesión de chat con los mismos trabajos.
Error Code: 0214h
Descripción: Error ejecutando el mandato OS/400.
Causa: Se ha detectado un error ejecutando un mandato OS/400.
Error Code: 0215h
Descripción: El miembro XXX no existe.
Causa: El miembro seleccionado no pudo ser encontrado en el sistema AS/400.
Error Code: 0216h
Descripción: El programa no tiene observabilidad.
Causa: El programa que está intentando depurar no tiene observabilidad, y no es posible depurarlo.
© 2013 Tango/04 Computing Group Página 73
Referencia
Error Code: 0217h
Descripción: Instrucción MI no encontrada.
Causa: La instrucción MI que el programa está ejecutando no corresponde a una sentencia exacta del
módulo fuente, así que no es posible traducirla.
Error Code: 0218h
Descripción: Programa no encontrado en la pila de llamadas.
Causa: El programa no se está ejecutando.
Error Code: 0219h
Descripción: Error general de llamada a la API.
Causa: Se ha detectado un error realizando una llamada a una API del sistema. Refiérase a los
detalles adicionales proporcionados con el mensaje de error para la explicación.
Error Code: 021Ah
Descripción: Su perfil de usuario no tiene autorización para la librería seleccionada.
Causa: Su perfil de usuario no ha sido autorizado a acceder objetos en esa librería. Pida a su
administrador de sistema que le dé autorización para utilizarla.
Error Code: 021Bh
Descripción: El fichero XXX no existe.
Causa: El fichero seleccionado no pudo ser encontrado en el sistema AS/400.
Error Code: 021Ch
Descripción: Su perfil de usuario no tiene autorización para el fichero seleccionado.
Causa: Su perfil de usuario no ha sido autorizado a acceder al fichero seleccionado. Pida a su
administrador de sistema que le dé autorización para utilizarlo.
Error Code: 021Dh
Descripción: El fichero seleccionado no es un fichero físico.
Error Code: 021Eh
Descripción: El fichero no pudo ser recuperado del sistema remoto.
Causa: El fichero seleccionado no pudo ser encontrado en el sistema AS/400.
Error Code: 0234h
Descripción: No se ha podido establecer la conexión DDM.
Causa: La versión actual de OS/400 en el sistema local XXX es VxRyMz. DDM sobre una conexión
TCP/IP se soporta en versiones OS/400 iguales o superiores a V4R4.
Error Code: 0235h
Descripción: No se ha podido establecer la conexión DDM.
Causa: El sistema remoto especificado (SYSTEM) no es un nombre válido de sistema remoto.
© 2013 Tango/04 Computing Group Página 74
Referencia
Recuperación:....Corrija el nombre de entrada de la localización remota y reintente.
Error Code: 0239h
Descripción: No se ha podido establecer la conexión DDM.
Causa: Este error no debería producirse nunca. Contacte a su proveedor autorizado para obtener
soporte técnico.
Error Code: 023Dh
Descripción: No se ha podido establecer la conexión DDM.
Causa: Se produjo un error durante el inicio de gestión de datos distribuidos (DDM) mientras se
intentaba establecer una conexión DDM. El error depende del protocolo de red utilizado por DDM:
SNA: Este error se produce porque el nombre del sistema remoto (XXX) no es válido.
TCP: Este error se produce porque la versión de OS/400 en el sistema remoto es menor de V4R4,o
porque el daemon TCP/IP DDM no se encuentra en la localización especificada (nombre de sistema,
dirección IP o número de puerto DRDA no válido).
Recuperación: Corrija el nombre de entrada de la localización remota y reintente.
Error Code: 023Eh
Descripción: No se ha podido establecer la conexión DDM.
Causa: Intento de mapear nombre de host a una dirección IP fallido debido a una de las siguientes
razones:
• No se encontró el nombre del Host.
• No existe dirección correspondiente a ese nombre de host.
• Error irrecuperable obteniendo el nombre del host.
• No hay respuesta del nombre del servidor – inténtelo más tarde.
Error Code: 023Fh
Descripción: No se ha podido establecer la conexión DDM.
Causa: Fallo de auditoría en el intento de conexión DDM TCP/IP.
Recuperación: ...Pida al Administrador del Sistema que elimine la petición de contraseña para
servicios DDM utilizando el mandato CHGDDMTCPA PWDRQD(*NO).
Error Code: 0240h
Descripción: Su perfil de usuario (XXX) no está autorizado en la biblioteca remota YYY.
Recuperación: Pida al Administrador del Sistema que cambie la autoridad *USE de la biblioteca a
QUSER.
Error Code: 0241h
Descripción: Su perfil de usuario (XXX) no está autorizado en el archivo remoto YYY.
Recuperación: Pida al Administrador del Sistema que cambie la autoridad *USE del archivo a QUSER.
© 2013 Tango/04 Computing Group Página 75
Referencia
Error Code: 0242h
Descripción: El archive XXX no existe en el sistema remoto YYY.
Error Code: 0243h
Descripción: La biblioteca XXX no existe en el sistema remoto YYY.
Error Code: 0244h
Descripción: El miembro remoto XXX se guardo con almacenamiento liberado en el sistema YYY.
Causa: Este error no debería producirse nunca.
Recuperación: Contacte a su proveedor autorizado para obtener soporte técnico.
Error Code: 0245h
Descripción: El miembro XXX no existe en el sistema remoto YYY.
Error Code: 0248h
Descripción: El archivo XXX no contiene miembros en el sistema remoto YYY.
Error Code: 0250h
Causa: Error inesperado al crear archivo DDM.
Recuperación: Contacte a su proveedor autorizado para obtener soporte técnico.
Error Code: 025Bh
Descripción: XXX Listado COBOL no encontrado.
Recuperación: Especifique el Cobol Compile User y el Listing Name apropiados o recompile el
programa y reintente la operación.
Error Code: 025Ch
Descripción: XXX Listado COBOL vacío.
Causa: El archivo de spool no es resultado de un compilador.
Recuperación: Recompile el programa y reintente la operación.
Error Code: 025Dh
Descripción: Procedure Division no se encontró en XXX.
Causa: El archivo de spool no es resultado de un compilador.
Recuperación: Recompile el programa y reintente la operación.
Error Code: 025Eh
Descripción: Sentencia COBOL no encontrada en XXX.
Causa: El archivo spool es obsoleto y no coincide con el programa.
Recuperación: Recompile el programa y reintente la operación.
© 2013 Tango/04 Computing Group Página 76
Referencia
Error Code: 025Fh
Causa: El usuario XXX no tiene autorización sobre el archivo spool generado por el compilador
COBOL.
Recuperación: Pida al Administrador del sistema que proporcione a su perfil de usuario autorización
sobre el archivo de spool.
Error Code: 0260h
Causa: No fué possible recuperar el listado XXX COBOL en el sistema remoto.
Recuperación: Busque una descripción detallada de la causa en el log del trabajo en el sistema remoto
y reintente.
5.7.2 Errores Internos de VISUAL DebuggerSi recibe cualquiera de los siguientes mensajes de error, contacte el Soporte Técnico tan pronto como
sea posible. Estos errores nunca deberían suceder, y reflejarían un error en la aplicación:
Error Code: 0101h
Descripción: Error Interno.
Error Code: 0103h
Descripción: Recibido un mensaje desconocido del servidor, error del protocolo interno.
© 2013 Tango/04 Computing Group Página 77
Apéndice A : Contactar con Tango/04
Apéndice AApéndice A: Contactar con Tango/04
North America
Tango/04 North America
PO Box 3301
NH 03458 Peterborough USA
Phone: 1-800-304-6872 / 603-924-7391
Fax: 858-428-2864
www.tango04.com
EMEA
Tango/04 Computing Group S.L.
Avda. Meridiana 358, 5 A-B
08027 Barcelona Spain
Phone: +34 93 274 0051
Fax: +34 93 345 1329
www.tango04.com
Italy
Tango/04 Italy
Viale Garibaldi 51/53
13100 Vercelli Italy
Phone: +39 0161 56922
Fax: +39 0161 259277
www.tango04.it
Sales Office in France
Tango/04 France
La Grande Arche
Paroi Nord 15ème étage
92044 Paris La Défense France
Phone: +33 01 40 90 34 49
Fax: +33 01 40 90 31 01
www.tango04.fr
Sales Office in Switzerland
Tango/04 Switzerland
18, Avenue Louis Casaï
CH-1209 Genève
Switzerland
Phone: +41 (0)22 747 7866
Fax: +41 (0)22 747 7999
www.tango04.fr
Latin American Headquarters
Barcelona/04 Computing Group SRL (Argentina)
Avda. Federico Lacroze 2252, Piso 6
1426 Buenos Aires Capital Federal
Argentina
Phone: +54 11 4774-0112
Fax: +54 11 4773-9163
www.barcelona04.com
© 2013 Tango/04 Computing Group Página 78
Apéndice A : Contactar con Tango/04
Sales Office in Peru
Barcelona/04 PERÚ
Centro Empresarial Real
Av. Víctor A. Belaúnde 147, Vía Principal 140 Edificio Real Seis, Piso 6
L 27 Lima
Perú
Phone: +51 1 211-2690
Fax: +51 1 211-2526
www.barcelona04.com
Sales Office in Chile
Barcelona/04 Chile
Nueva de Lyon 096 Oficina 702,
Providencia
Santiago
Chile
Phone: +56 2 234-0898
Fax: +56 2 2340865
www.barcelona04.com
© 2013 Tango/04Computing Group Página 79
Acerca de Tango/04 Computing Group
Acerca de Tango/04 Computing Group
Tango/04 Computing Group es una de las principales empresas desarrolladoras de software de gestión
y automatización de sistemas informáticos. El software de Tango/04 ayuda a las empresas a mantener
la salud operativa de sus procesos de negocio, mejorar sus niveles de servicio, incrementar su
productividad y reducir costes mediante una gestión inteligente de su infraestructura informática.
Fundada en 1991 en Barcelona, Tango/04 es IBM Business Partner y miembro de la iniciativa
estratégica IBM Autonomic Computing. Además de recibir numerosos reconocimientos de la industria,
las soluciones Tango/04 han sido validadas por IBM y tienen la designación IBM ServerProven™.
Tango/04 tiene más de mil clientes y mantiene operaciones en todo el mundo a través de una red de 35
Business Partners
Alianzas
Premios
Partnerships IBM Business Partner
IBM Autonomic Computing Business Partner
IBM PartnerWorld for Developers Advanced Membership
IBM ISV Advantage Agreement
IBM Early code release
IBM Direct Technical Liaison
Microsoft Developer Network
Microsoft Early Code Release
© 2013 Tango/04 Computing Group Página 80
Aviso Legal
Aviso Legal
Este documento y su contenido son propiedad de Tango/04 Computing Group o de sus respectivos propietarios cuando así se
indique. Cualquier utilización de este documento con una finalidad distinta de aquella con la cual ha sido creado está prohibida sin la
autorización expresa de su propietario. Asimismo queda prohibida la reproducción total o parcial de este documento por cualquier
medio físico, óptico, magnético, impreso, telemático, etc., sin la autorización expresa de su propietario.
La información técnica aquí contenida fue obtenida utilizando equipamiento e instalaciones específicas, y su aplicación se limita a
esas combinaciones especiales de productos y niveles de versiones de hardware y software. Cualquier referencia en este documento
a productos, software o servicios de Tango/04 Computing Group, no implica que Tango/04 Computing Group planee introducir esos
productos, software o servicios en cada uno de los países en los que opera o está representada. Cualquier referencia a productos de
software, hardware o servicios de Tango/04 Computing Group no está hecha con el propósito de expresar que solamente pueden
utilizarse productos o servicios de Tango/04 Computing Group. Cualquier producto o servicio funcionalmente equivalente que no
infrinja la propiedad intelectual o condiciones de licenciamiento específicas se podría utilizar en reemplazo de productos, software o
servicios de Tango/04 Computing Group.
Tango/04 Computing Group puede tener patentes o estar pendiente de obtención de patentes que cubren asuntos tratados en este
documento. La entrega de este documento no otorga ninguna licencia de esas patentes. La información contenida en este
documento no ha sido sometida a ningún test formal por Tango/04 Computing Group y se distribuye tal como está. El uso de esta
información o la implementación de cualquiera de las técnicas, productos, tecnologías, ideas o servicios explicitados o sugeridos por
el presente documento es responsabilidad exclusiva del cliente a quien está dirigido este documento, y es el cliente quien debe
evaluar y determinar la aplicabilidad y consecuencias de integrar esas técnicas, productos, tecnologías, ideas o servicios en su
entorno operativo.
Si bien cada ítem puede haber sido revisado por Tango/04 Computing Group en cuanto a su exactitud en una situación específica, no
existe ni se otorga ninguna garantía de que los mismos o similares resultados puedan ser obtenidos en otras situaciones o
instalaciones. Los clientes que intenten adaptar esas técnicas en sus propias instalaciones lo hacen bajo su propia cuenta,
responsabilidad y riesgo. Tango/04 Computing Group no será en ningún caso responsable directo o indirecto de cualquier daño o
perjuicio causado por el uso de las técnicas explicitadas o sugeridas en este documento, incluso si se han efectuado notificaciones
de la posibilidad de esos daños.
Este documento puede contener errores técnicos y/o errores tipográficos. Todas las referencias en esta publicación a entidades
externas o sitios web han sido provistas para su comodidad solamente, y en ningún caso implican una validación, garantía o respaldo
a esas entidades o sitios.
Las marcas siguientes son propiedad de International Business Machines Corporation en los Estados Unidos y/o otros países: AS/
400, AS/400e, System i, iSeries, e (logo)Server, i5, Operating System/400, OS/400, i5/OS.
Microsoft, SQL Server, Windows, Windows NT, Windows XP y el logotipo de Windows son marcas registradas de Microsoft
Corporation en los Estados Unidos y/o otros países. Java y todos los logotipos y marcas basadas en Java son propiedad de Sun
Microsystems, Inc. en los Estados Unidos y otros países. UNIX es una marca registrada en los Estados Unidos y otros países y se
licencia exclusivamente a través de The Open Group. Oracle es una marca registrada de Oracle Corporation. Otras marcas,
productos o servicios pueden ser marcas registradas de otras empresas.
© 2013 Tango/04 Computing Group Página 81