Hallo,

um mit Datenfreigabe weiterzukommen würde ich mit der Cursorposition arbeiten, sieht in etwa so aus:

A RTNCSRLOC(&RCD &FLD)
A CSRLOC(LINNBR POSNBR)
A OVERLAY
A SFLCSRRRN(&C1CREC)
A ERASE(VTC200S1)
A 52 SFLDSP
A 51 SFLDSPCTL
A 50 SFLCLR
A 53 SFLEND(*MORE)
A N53 PAGEDOWN(54)
A*** ROLLDOWN(56)
A C1REC 4S 0H SFLRCDNBR(CURSOR)
A LINNBR 3S 0H
A POSNBR 3S 0H
A FLD 10A H
A RCD 10A H
A C1CREC 5S 0H

im Programm:
fVTC200D cf e workstn infds(fileds)
f sfile(VTC200s1:rr1)

d fileds ds
d ftaste 369 369
d csrloc 370 371B 0
d sflanz 376 377b 0
d sflnrtop 378 379b 0


die Subroutine dazu:

************************************************** **************
C csrpos begsr
************************************************** **************
C csrloc div 256 linnbr
C mvr posnbr
C EndSr


* sonst ENTER ---------------------
c Other
c exsr csrpos
c EndSl


und um dann den aktuellen SFL-Satz zu lesen und die Daten zu ermitteln:

/FREE
BegSr S30;

chain C1CREC VTC200S1;
If %found;
/END-FREE