Non vedo altro che semplici procedure nidificate, di cui però limiterei al massimo l'uso.

Ma non hai scritto come sono dichiarate le variabili, l'unica cosa che ti restituisce un errore ed è l'unica cosa che non hai riportato.