Einträge einer Tabelle zählen ...

Getting started ... Alles für einen gelungenen Start.
7 Beiträge • Seite 1 von 1
7 Beiträge Seite 1 von 1

Einträge einer Tabelle zählen ...

Beitrag von anonymizer2002 (ForumUser / 12 / 0 / 0 ) »
Hallo zusammen,

ich habe zwei, für euch sicherlich einfache, Fragen:

1. Gibt es einen Behfel der mir die Anzahl von Zeilen/Einträgen einer Tabelle zurückgibt? Also eine Alternatvie für das Loopen über die Tabelle und Zählervariable setzten....

2. Gibt es einen Befehl der mir den Wert zurückgibt, der am häufigsten in einer Tabelle vorkommt?
ich habe z.b. eine Tabelle mit nur einem feld. in der mehrmals verschiedene Zahlen stehen. Ich möchte nun automatisch den Wert geliefert bekommen, der am häufigsten in der Tabelle auftaucht.

Wäre super,wenn ihr mir hier kurz ein paar tipps geben könntet!

Danke!

gesponsert
Stellenangebote auf ABAPforum.com schalten
kostenfrei für Ausbildungsberufe und Werksstudenten


Beitrag von brinam (Specialist / 111 / 0 / 0 ) »
Hallo,

1. describe table itab. -> sy-tfill oder
describe table itab lines counter -> counter

2. Das musst Du manuell machen, indem Du die Werte beim loopen zählst. Am besten itab sortieren, und dann immer Zähler zurücksetzen, wenn sich der Wert ändert.
Viele Grüße
Britta

Beitrag von anonymizer2002 (ForumUser / 12 / 0 / 0 ) »
1. ok - danke


2. kannst du mir hierfür vielleicht ein kl. beispiel posten? wie zähl ich das? mittels sy-tabix. wär toll wenn du mir nen kurzen beispiel code schicken könntest. *anfänger* ;-)

Beitrag von brinam (Specialist / 111 / 0 / 0 ) »
Hallo,

anbei ein kleines Beispiel mit Gruppenwechsel.

Code: Alles auswählen.

DATA: BEGIN OF g_itab OCCURS 0,
       number TYPE i,
      END OF g_itab.
DATA: counter TYPE i.

* Hier wird irgendwie die Tabelle gefüllt
g_itab-number = 10. APPEND g_itab.
g_itab-number = 12. APPEND g_itab.
g_itab-number = 11. APPEND g_itab.
g_itab-number = 12. APPEND g_itab.
g_itab-number = 13. APPEND g_itab.
g_itab-number = 13. APPEND g_itab.
g_itab-number = 13. APPEND g_itab.

* Sortieren der Tabelle notwendig (wg. Befehl AT)
SORT g_itab BY number.

LOOP AT g_itab.
* Beginn Gruppenwechsel Nummer
  AT NEW number.
    CLEAR counter. "Zähler zurücksetzen
    WRITE:/ g_itab-number.
  ENDAT.
* Für jeden Datensatz zählen
  ADD 1 TO counter.
* Ende Gruppenwechsel Nummer
  AT END OF number.
    WRITE counter.
  ENDAT.
ENDLOOP.
Viele Grüße
Britta

Beitrag von anonymizer2002 (ForumUser / 12 / 0 / 0 ) »
Hallo,

vielen Dank für das Beispiel. Aber wie kann ich jetzt automatisch den Wert, der am häufigsten vorkommt ausgeben?
In diesem Beispiel bekomme ich nur die Anzahl eines jeden wertes geliefert, oder?

Beitrag von brinam (Specialist / 111 / 0 / 0 ) »
Hallo,

nicht automatisch, sondern wieder "manuell" bekommst Du diesen Wert, indem Du vor jedem Gruppenwechsel prüfst, ob die Anzahl des aktuellen Werts größer ist als die bisher größte Anzahl. Dazu brauchst Du noch 2 Platzhalter (Variablen), in denen Du Dir das merkst.

Code: Alles auswählen.

DATA: counter_max TYPE i,
      number_max  TYPE i.
...
* Ende Gruppenwechsel Nummer
  AT END OF number.
    IF counter > counter_max.
      number_max = g_itab-number.
      counter_max = counter.
    ENDIF.
    WRITE counter.
  ENDAT.
ENDLOOP.
WRITE: / number_max, counter_max.
Viele Grüße
Britta

Beitrag von anonymizer2002 (ForumUser / 12 / 0 / 0 ) »
super - vielen Dank :)

Seite 1 von 1

Vergleichbare Themen

13
Antw.
5630
Views
Einträge zählen interne Tabelle
von L0w-RiDer » 08.11.2018 18:58 • Verfasst in ABAP® für Anfänger
11
Antw.
7215
Views
Datensätze einer Tabelle zählen
von ICER » 07.12.2006 12:51 • Verfasst in ABAP® für Anfänger
7
Antw.
4312
Views
In interner Tabelle Datensätze zählen?
von b0rsti » 06.06.2008 14:57 • Verfasst in ABAP® für Anfänger
1
Antw.
3534
Views
Smartforms: Zahlen in der Tabelle nicht linksbündig
von mari » 19.09.2007 16:21 • Verfasst in ABAP® für Anfänger
5
Antw.
46484
Views
Datensätze einer internen Tabelle zählen
von GAST » 16.11.2004 14:48 • Verfasst in ABAP® Core

Über diesen Beitrag


Unterstütze die Community und teile den Beitrag für mehr Leser und Austausch

Newsletter Anmeldung

Keine Beiträge verpassen! Wöchentlich versenden wir lesenwerte Beiträge aus unserer Community.
Die letzte Ausgabe findest du hier.
Details zum Versandverfahren und zu Ihren Widerrufsmöglichkeiten findest du in unserer Datenschutzerklärung.