Als PERSON_RECORD_TYPE wordt gebruikt als argument of resultaattype van een procedure of functie, kunt u een query uitvoeren op ALL_ARGUMENTS. De informatie is daar een beetje versleuteld (de hiërarchie van inkapseling op meerdere niveaus van records en collecties is gecodeerd in de kolommen POSITION, SEQUENCE en DATA_LEVEL), maar het is aanwezig.
Ik denk niet dat zo'n vraag wijst op een verkeerde architectuur. Voor het automatisch genereren van PLSQL-code is dit een volledig legitiem verzoek, helaas met zeer zwakke PLSQL-taalondersteuning.