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. 


9 comentarios:

  1. Hola Gerardo me gustaría ver si me puedes orientar o comentar como se puede recuperar un código fuente de RPG desde un *PGM veo que tu lo estas efectuando con RPGILE..
    Se ve formidable tu herramienta te comento ya que yo llegue a tu publicación debido a que justamente quería recuperar un fuente desde un *pgm de RPGLE ya que en mi trabajo me borraron unos fuentes de RPGLE y solo tengo los objetos *PGM y ya que me avían comentado que desde un comando de dicho lenguaje, me permitiría efectuar la recuperación y me encontré que es solo para las CL y tiene que cumplir con ciertos requisitos para poder recuperar su código y es que tiene que tener la Observabilidad completa y tu además menciones que tiene que tener la opción *LSTDBG te comento esto ya que yo programo en RPG y en RPGLE y es estado experimentando para tratar de recuperar código fuente a partir de un objeto *pgm, pero sin resultados positivos…
    Te agradecería mucho si me orientaras como tú efectuaste tu Herramienta…
    Saludos Cordiales
    Leonel
    Mi correo es lescobarr@gmail.com

    ResponderEliminar
  2. Hola Gerardo al igual que Diego, yo tambien tengo problemas para recuperar algunos fuentes tipo *OPM y RPG. Podrías apoyarme con esto.

    ResponderEliminar
    Respuestas
    1. Hola.

      Te comento, que los programas de tipo ILE, por defecto son compilados com opción de DBGVIEW *ALL, no así siempre con los programas de tipo OPM.

      Un programa OPM que no fue compilado al menos con la opción de *LSTDBG, ni siquiera el comando STRDBG, puede mostrar una vista del fuente, y tampoco la herramienta puede recuperar el fuente.

      A veces se ha emplado el comando DMPOBJ, para intentar recuperar el código fuente, pero es muy complicado hacerlo, y no queda al 100%.

      Pregunto, de que forma estan compilados tus programas?



      Saludos.

      Eliminar
    2. tengo objetos OPM e ILE y si estan compilados con DBGVIEW y *LSTDBG. Mi pregunta es como puedo obtener tu software

      Eliminar
  3. Buenos días.

    Me han borrado un fuente de un programa COBOL OPM y he visto que tenías una herramienta para recuperarlo ¿como lo debo hacer?

    Muchas gracias

    ResponderEliminar
    Respuestas
    1. Hola es posible que me envies el objeto de tu programa de Cobol OPM?

      Eliminar
  4. Este comentario ha sido eliminado por el autor.

    ResponderEliminar
  5. Hola Gerardo, necesito recuperar el fuente de un RPG. ¿Podrías ayudarme por favor?
    Gracias

    ResponderEliminar
  6. Hola Gerardo...Me podrias compartir tu herramienta si no es mucho pedirte. Me es de mucha utilidad ya que ncesitamos saber lo que el anterior programador realizó, pues se llevó los fuentes. mi correo es jtamayoe@gmail.com

    Te agradezo tu valiosa colaboracion.

    ResponderEliminar