Adefesios en RPG
APIS
Aplicaciones multi-idioma
Apuntadores
Archivos
as400
AS400 Para Principiantes
Base de Datos
Best practices
Better Performance
Botones en RPG
Calidad Profesional
CLP
Colas de Datos
Comandos PC
Cursos
DEBUG en RPG
Desarrollo de Software
Divertidos
EDI
EDI X12
Edward de Bono
el arte de la guerra
FAQS
Fechas en RPG
FRAUDE
FTP
Gerencia de Sistemas
Grupos de activacion
Herramientas Gerenciales
ILE
ilerpg
indicadores
Iseries
JSON
Lista de Códigos de Error
Master Mind
Mejorando el performance
Mejores Prácticas en RPG
micros
Migración
modulos
Monitoreo de Errores
Mouse
OCCUR
pantalla verde
Pantallas
Peores Practicas
Performance
podcast
pointers
Procesos
Programación CL
Ratón
rpg
RPG-FREE
RPGLE
Seguridad
Servidores
Sesion 1 fundamentos de internet
SEU
Sockets
SQL
SQLRPG
Subfiles
subprocedures
Sun Tzu
Tarjetas de Crédito
Tiempos de Respuesta
Tips en RPG
Transfer Control
Triggers
Utilidades
Ventanas moviles
Versiones
videos
Bienvenidos a Iseries Venezuela
Las mejores prácticas, recursos, tips, enlaces, videos y artículos para informáticos relacionados con el Iseries y el As/400 lenguajes de programación RPG, ILE RPG y SQL.
The best practices, resources, tips, links, videoes and articles for computer related to the Iseries and the As/400 languages of programming RPG, ILE RPG and SQL.
The best practices, resources, tips, links, videoes and articles for computer related to the Iseries and the As/400 languages of programming RPG, ILE RPG and SQL.
Monday, January 25, 2010
Funcionalidades poco conocidas del "Debugger"
Escrito por Generico de WMInformática
martes, 30 de octubre de 2007
En este artículo, les mostramos algunas funcionalidades del "debugger" interactivo de ILE (STRDBG) que son muy útiles cuando estamos en nuestras faenas de encontrar un error.
%SUBSTR Built-In Function
Esta función es muy interesante, sobretodo si usted está trabajando con cadenas de caracteres muy largas.
- Se puede visualizar un segmento de una cadena como se muestra a continuación (suponiendo que StringFldA = 'abcdefghijklmnopqrstuvwxyz'):
Comando : EVAL %SUBSTR(StringFldA 12 5)
Resultado: %SUBSTR(StringFldA 12 5) = 'lmnop'
- Se puede usar la función %SUBSTR para fijar el valor de una parte específica de una cadena. Para mí, esta es la más útil de estas dos funciones.
Comando : EVAL %SUBSTR(StringFldA 12 5) = 'xxxxx'
Resultado: %SUBSTR(StringFldA 12 5) = 'xxxxx'
Comando : EVAL StringFldA
Resultado: StringFldA = 'abcdefghijkxxxxxqrstuvwxyz'
- También puede usar %SUBSTR para establecer un punto de parada condicional o una condición de inspección ("watch").
Por ejemplo, el siguiente código detendrá la ejecución sólo cuando las posiciones 12 a 16 de StringFldA sean "xxxxx":
Comando: BREAK 100 when %SUBSTR(StringFldA 12 5) = 'xxxxx'
- O usted puede buscar por cambio en las mismas posiciones mediante el uso de esta condición de inspección:
<!--[if !supportLineBreakNewLine]-->
<!--[endif]-->
Comando: WATCH %SUBSTR(StringFldA 12 5)
De este modo, en cualquier momento que el contenido de las posiciones 12 a 16 cambie, la ejecución del programa se detiene y se le informa.
%INDEX Built-In Function
La función %INDEX es muy práctica cuando se está utilizando estructuras de datos de múltiples ocurrencias.
También es útil en combinación con _QRNU_DSI_xxxx (donde xxxx = el nombre de una estructura de datos de múltiples ocurrencias).
- El comando EVAL _QRNU_DSI_xxxx devuelve el número de la actual ocurrencia de estructura de datos de múltiples ocurrencias.
- El uso de la función %INDEX cambiará la ocurrencia actual.
Tomemos el siguiente ejemplo:
d WorkDS1 ds occurs(3)
d StringA 10a
d StringB 25a
Comando: EVAL _QRNU_DSI_WorkDS1
Resultado: 1 (o cual sea la actual ocurrencia de WorkDS1)
Comando : WorkDS1 = %INDEX(3)
Resultado: WorkDS1 = %INDEX(3) = 3
(Los subcampos de WorkDS1 visualizados serán los de la tercera ocurrencia.)
Modificado el ( martes, 13 de noviembre de 2007 )
Publicado por: Ing. Liliana Suárez
Si te pareció interesante el artículo reenvíalo a un amigo, haciendo
click en el sobrecito que está al final del artículo. El conocimiento es valioso, compártelo.
Labels:
Tips en RPG
Subscribe to:
Post Comments (Atom)
2 comments:
Caramba, es de agradecerse la iniciativa tomada por usted continúe no desmaye, desde que comencé a programar en RPG II en S/34 IBM se soñaba con este tipo de acceso al conocimiento, ahora esta generación debería aprovechar lo que usted hace.
Gracias,
Luis Cardenas
Gracias Luis por tus palabras de ánimo, y por leer el blog, un abrazo desde Venezuela.
Liliana
Post a Comment