Kommando zurück. Hier die Statements, mit denen das ganze wirklich funktioniert.

h bnddir('QC2LE')
D geterrno PR * extproc('__errno')
D errno S 10I 0 based(errnoptr)
d errnoptr S *

Nach dem 'open' folgendes Statement.

c Eval errnoptr = geterrno

Anschließend enthällt die variable errno den entsprechenden Wert. Habs gerade eben selbst noch mal getestet und hat funktioniert.