sábado, 30 de abril de 2011

Recupera código RPG ILE Herramientas Visuales para IBM iSeries AS/400

El resultado de mis investigaciones, me han permitido desarrollar, una herramienta grafica, que por el momento, permite recuperar código fuente de: Programas OPM, y ILE, de los tipos RPT, RPG, COBOL, C, CLP, CLLE. A partir del programa objeto, o sea la herramienta utiliza el objeto y por decirlo de alguna forma; descompilarlo.

Esto permite recuperar el código de un programa borrado, o bien comparar un programa puesto en un ambiente de producción, con respecto al fuente en un ambiente de desarrollo, por ejemplo.

Además de poder recuperar código fuente de programas, también es posible la recuperación de código de programas tipo módulos (*module), que son utilizados por programas de servicio.

Sin embargo esta recuperación, es funcional en programas compilados con opción de *LSTDBG, en el caso de programas OPM, ya que en los programas y módulo de tipo ILE, normalmente son compilados con esa opción. Si los programas no fueron compilado con dicha opción, ni siquiera el comando STRDBG, puede mostrar una vista de ellos.


Una vez recuperado el código fuente, el mismo puede ser subido al iSeries. 
Otra de las funciones que tiene esta herramienta, es el análisis de referencias de programas, el cual muestra de forma jerárquica, las dependencias del programa en estudio, mostrando los programas de servicios, los módulo, los métodos, y finalmente el código fuente de los métodos, pero tomado del programa objeto. (a esto le faltan todavía funcionalidades, que muestren información detallada de los archivos utilizados, y algunas otras que se consideren de utilidad).

Por último la herramienta es capaz de generar “Beans”, a partir de un archivo físico, de los tipos “PF”, o “SQL”. Esta función genera el código para el módulo, y el prototipo, para un archivo de los antes mencionados.  




Finalmente la herramienta, la desarrolle, en lenguaje de programacion Microsoft Visual FoxPro 9.0. Y estoy seguro de que existen aportes importante por parte de los lectores desarrolladores, que pueden ir complementando este aplicativo.