... wenn das dazu dienen soll ein record image eines Triggers aufzulösen, das würde ich mir ersparen (da kann man das gesamte Image auf eine passende DS schieben und das wars). Ansonsten brauchst Du doch nur den Pointer mit der Adresse des passenden Felds mappen und den Wert auslesen.
Eleganter und besser lesbar geht das mit einer subprocedure, die den passender Typ per reference erwartet.

D*B