Danke erstmal für die schnelle Antwort.

Mit der Datenstruktur hatte ich schon mal rumgespielt. Leider ist die Zeilen-Nr. hier die 'oberste' sub procedure des Aufrufstacks, aber halt nicht diejenige 'sub procedure' die den Fehler eigentlich verursachte.

In meinem Fall umschließt der MONITOR-Block meine gesamte Programmlogik, damit Fehler auf keinen Fall zu einem Absturz des Programms führen können. Sieht so aus:

MONITOR
main()
ON-ERROR
-> Fehlerhandling
ENDMON


In Java kann man sich im Fehlerfall den Stracktrace ausgeben lassen. Also die Aufrufhierachie von der obersten bis zur tiefsten Stufe. Das erleichtert die Fehlersuche ungemein.