Code: Alles auswählen.
SELECT city1, COUNT( * ) AS cnt
FROM adrc
INTO TABLE @DATA(t)
GROUP BY city1
ORDER BY cnt DESCENDING.
cl_demo_output=>display_data( t ).
Code: Alles auswählen.
LOOP at itab.
Lies Tabelle ORTE mit itab-ort.
Eintrag vorhanden?
-> nein: neuer Eintrag
orte-ort = itab-ort
orte-anzahl = 1.
-> ja: orte-anzahl + 1
ENDLOOP.
Code: Alles auswählen.
SELECT * FROM adrc INTO TABLE @DATA(adr).
TYPES: BEGIN OF ts_city,
city TYPE ad_city1,
cnt TYPE i,
END OF ts_city,
tt_cities TYPE sorted TABLE OF ts_city
WITH UNIQUE KEY city
WITH NON-UNIQUE SORTED KEY count components cnt.
DATA(t) = VALUE tt_cities( FOR GROUPS <city> OF address
IN adr GROUP BY ( city = address-city1 )
( city = <city> cnt = REDUCE i(
INIT count = 0 FOR adrline IN adr
WHERE ( city1 = <city>-city )
NEXT count = count + 1 ) ) ) .
cl_demo_output=>display_data( t ).
Folgende Benutzer bedankten sich beim Autor ewx für den Beitrag:
DeathAndPain
Code: Alles auswählen.
...FOR GROUPS <city> IN adr GROUP BY ( city = adr-city )...?
Code: Alles auswählen.
...FOR GROUPS <city> IN adr GROUP BY ( city )...
Folgende Benutzer bedankten sich beim Autor DeathAndPain für den Beitrag:
ewx