Identificación de procedimientos, funciones y parámetros ejecutados

Microsoft Dynamics GP
Cuando se crean procedimientos y funciones, típicamente creamos parámetros para pasar valores. En Visual Studio es muy fácil conocer los parámetros, debido a que el Intellisense de IDE nos guía con los parámetros, inclusive si estamos trabajando sobre un ensamblado que no es nuestro. Del lado de Dexterity no es tan sencillo. Si trabajamos con el diccionario Dynamics.dic cómo podemos conseguir la información de los parámetros de los procedimientos y funciones? Siempre mi primer punto de parada se encuentra en el disco mismo de instalación: el gran SDK (Software Development Kit). El SDK es la mejor fuente de información. Puede ser instalado del disco o puede ser descargado con las últimas actualizaciones de la página de Microsoft. Cada una de las llamadas a la Interface de Programación de Dynamics GP está documentada. Busquen en el CoreParams_xxxx.txt del SDK y encontrarán los procedimientos con cada uno de los parámetros, en donde xxxx corresponde a la versión del producto.

Ahora, ¿qué pasa cuando el procedimiento ejecutado no es de Microsoft, es de un producto 3ro y no viene con un SDK? La solución se encuentra habilitando el Script Logging para capturar la porción de código que llama al procedimiento o función. El script logging muestra los valores de los parámetros pasados excepto el contenido de los campos compuestos o los buffers de tablas, sin embargo, es una muy buena ayuda para conocer el funcionamiento. Inclusive si no se conoce el nombre del procedimiento o función, esta técnica es muy útil. Ahora la pregunta es, ¿cómo se hace para habilitar la funcionalidad? Desde Dexterity se tiene el menú Debug, pero en Dynamics GP no se tiene habilitado por defecto. La forma de habilitarlo es modificando el Dex.ini y en la sección [General] agregar lo siguiente:


ScriptDebugger=TRUE
ScriptDebuggerProduct=0

El valor 0 del ScriptDebuggerProduct es el del número del producto. En el caso Dynamics es 0.

Luego se debe ejecutar justo antes de la operación a analizar, desde el menú habilitado “Debug”, en la última opción “Script Logging” el registro que deja la información en un archivo texto para revisar.

Existe otra herramienta llamada Support Debugging Tool, que realiza la misma función. En otro posteo estaré explicando su uso.

Espero que la información les sea de ayuda.

Leave a Reply