Ich habe eine interne Tabelle mit kundennummern, zu einer kundennummer gibt es verschiedene Jahre. Also mehrere Jahre aber nur eine Kundennummer.
Ich sortiere die Tabelle so, das das jüngste/größte Jahr als erstes angezeigt wird zu jeder Kundennummer. Also
Sort Tabelle by kunnr Jahr Descebding.
Jetzt möchte ich zu jeder Kundennummer den ersten Satz auslesen, wie mache ich das ma Besten?
Mit einem Select oder mit einem Read.
Wie würde der Select / Read aussehen?
select * from TAB up to 1 rows
where kunnr = skunnnr
order by jahr descending.
endselect.
so wird für die kunnr nur 1 Satz mit dem größten also jüngsten gjahr ausgelesen.
oder aus der internen Tabelle: Nach der Sortierung mit den Gruppenstufen AT <feld>. ENDAT. arbeiten. So wird auch immer nur der eine Satz mit dem größten/jüngsten Jahr verarbeitet.
sort i_tab by kunnr gjahr descending.
loop at i_tab.
at new kunnr.
...... hier deine Anweisungen
endat.