Warum definierst Du ein 2-Stelliges Feld Binär und dividierst dann durch 256 und ermittelst den Rest?INFDS Stelle 370-371 B 0 #CURSOR
Eine DS
#C_LINE 1 3 0
#C_POS 4 6 0
Direkt nach EXFMT
folgender Code
#CURSOR DIV 256 #C_LINE
MVR #C_POS
Wenn Du statt dessen Stelle 370 (Zeile) als Integer definierst und Stelle 371 (Spalte) ebenfalls als Integer kannst Du Dir die ganze Recherei sparen!
Den Cursor wieder auf die gleiche Position zu setzen ist einfach. Schwierig wird es, wenn man, z.B. im Fehler-Fall den Cursor auf ein bestimmtes Feld positionieren will. Dann hilft die Datei-Status-Datenstruktur nicht weiter. Dann hilft nur noch das API QDFRTVFD (wie Baldur bereits vorgeschlagen hat).PHP-Code:D SAVINF DS
D DDSFKY 369 369
D DDSRow 370 370I 0
D DDSCol 371 371I 0
*------------------------------------------------
/Free
Select;
When DDSFky = F04 and BSFeld = 'FELD1';
//Aufruf Matchcode
CsrRow = DDSRow;
CsrCol = DDSCol;
EndSL;
/End-Free
Unter dem folgenden Link ist übrigens eine Prozedur zu finden, in dem die Zeile und Spalte für ein beliebiges Feld über das API QDFRTVFD ermittelt wird:
ILE Procedure for using Display File API's
Birgitta
![[NEWSboard IBMi Forum]](images/duke/nblogo.gif)



Mit Zitat antworten
Bookmarks