ABAPFIND_TABLE_RANGE - FIND TABLE RANGE

CL_GUI_FRONTEND_SERVICES - Frontend Services   Addresses (Business Address Services)  
Diese Dokumentation steht unter dem Copyright der SAP AG.

FIND IN TABLE - table_range

Kurzreferenz



Syntax

... [FROM lin1 [OFFSET off1]]
    [TO   lin2 [OFFSET off2]] ... .


Wirkung

Dieser Zusatz begrenzt die Suche der Anweisung FINDIN TABLE auf den in lin1, off1, lin2 und off2 angegebenen Tabellenausschnitt. Ohne den Zusatz wird die gesamte Tabelle zeilenweise durchsucht. lin1, off1, lin2 und off2 sindnumerische Ausdruckspositionen vom Operandentyp i.

Der Tabellenbereich beginnt in Zeile lin1 hinter demOffsetoff1 und endet in Zeile lin2 vor dem Offset off2. Wird FROM ohne OFFSETangegeben, beginnt der Bereich implizit am Zeilenanfang von lin1. Wird TO ohne OFFSET angegeben, endet der Bereich implizit am Zeilenende der Zeile lin2.

Der Werte von lin1 muss größer oder gleich 1 und der Wert von lin2 mussgrößer oder gleich dem Wert von lin1 sein und beide müssen gültigeTabellenzeilen bezeichnen. Die Werte von off1 und off2 müssen größeroder gleich 0 sein und innerhalb der jeweiligen Zeilenlänge liegen. Wenn lin1 und lin2die gleiche Zeile bezeichnen, muss der Wert von off2 größer oder gleich dem Wert von off1 sein. Beide Offsets dürfen auf das Zeilenende verweisen.

Hinweis

Dieser Zusatz wird auch in der Anweisung REPLACE IN TABLE verwendet.

Beispiel

Abzählen wie oft ein Neffe von Donald in einer internen Tabelle vorkommt. Im Beispiel von FIND IN itab erhält man das gleiche Ergebnis einfacher über die Anzahl der Zeilen in results.

DATA: itab TYPE TABLE OF string,
      cnt  TYPE i,
      mlin TYPE i,
      moff TYPE i,
      mlen TYPE i.

FIELD-SYMBOLS <line> TYPE string.

...

cnt = -1.
mlin = 1.
moff = 0.
WHILE sy-subrc = 0.
  cnt = cnt + 1.
  READ TABLE itab INDEX mlin ASSIGNING <line>.
  IF moff >= STRLEN( <line> ).
    mlin = mlin + 1.
    IF mlin > LINES( itab ).
      EXIT.
    ENDIF.
    moff = 0.
  ENDIF.
  FIND REGEX '\b(Huey|Dewey|Louie)\b'
       IN TABLE itab FROM mlin OFFSET moff
       RESPECTING CASE
       MATCH LINE mlin
       MATCH OFFSET moff
       MATCH LENGTH mlen.
  moff = moff + mlen.
ENDWHILE.


CL_GUI_FRONTEND_SERVICES - Frontend Services   CPI1466 during Backup  
Diese Dokumentation steht unter dem Copyright der SAP AG.


Length: 3864 Date: 20120526 Time: 200935     triton ( 129 ms )