La necesidad de documentación la reconoces cuando vas a cumplir un objetivo, como cita una de las fuentes de este blog una solicitud directa de los superiores de conocer los términos generales del estado de una aplicación:
- con cuantos programas CL o RPG aun contamos
- cuanto programas se ha pasado a ILE en las aplicaciones
es suficiente para necesitar contar con una herramienta o bien saber usar lo que tenemos disponible en el sistema operativo.
Dos comandos nos proporcionan información muy completa: DSPOBJD y DSPPGMREF
DSPOBJD - proporciona información sobre cada objeto y puede ser usado en objetos fabricados en casa como también en software comprado, pudiendo así averiguar fácilmente la gestión del desarrollo interno o del proveedor sin importar la lógica elevada o no tanto.
con el comando adjunto podrá obtener la salida a un archivo de la descripción de todos los objetos de biblioteca ADMIN400 para luego consultar TEMPORAL2/DSPOBJD por medio de SQL.
Para extraer datos generales sobre el objeto y sus fuentes:
SELECT ODLBNM "Biblioteca",
ODOBNM "Objeto",
ODOBTP "Tipo Objeto",
ODOBAT "Atributo",
TRIM(ODSRCL) "Fuente-Bib",
TRIM(ODSRCF) "Fuente-Archivo",
TRIM(ODSRCM) "Fuente-Miembro",
CASE
WHEN ODSRCC = '' THEN ' '
ELSE TRIM(CHAR(ODSRCC + 19)) CONCAT SUBSTR(ODSRCD, 1, 2)
END AS AÑO
FROM temporal2.dspobjd;
Usando ACS nos dará una pantalla similar a la siguiente :
Para extraer un resumen de la información por año y tipo de objeto:
WITH resumen AS (
SELECT ODOBTP "Tipo Objeto",
odobat "Atributo",
TRIM(CHAR(ODSRCC + 19)) CONCAT SUBSTR(ODSRCD, 1, 2) "Año"
FROM temporal2.dspobjd
WHERE odsrcc <> ''
)
SELECT "Año",
"Tipo Objeto",
"Atributo",
COUNT(*) "Cantidad"
FROM resumen
GROUP BY "Tipo Objeto",
"Atributo",
"Año"
ORDER BY "Año",
"Tipo Objeto",
"Atributo";