Eingabewert in einer internen Tabelle?

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

Eingabewert in einer internen Tabelle?

Beitrag von zickzack0312 (ForumUser / 30 / 0 / 0 ) »
Hallo,

ich habe ein kleines Programm geschrieben:

Code: Alles auswählen.

parameters eingabe type string.
data: begin of it1 occurs 10,
      f1 type string,
      f2 type n,
      f3 type n,
      end of it1.

Und jetzt möchte ich überprüfen, ob das Feld 'f1' der internen Tablle 'it1' den eingegebenen Wert von 'eingabe'hat, kann jemand mir einen Tipp geben. Dank im voraus.

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


Beitrag von ereglam (Top Expert / 1829 / 2 / 7 ) »
Hallo zickzack0312,

wahrscheinlich wird der READ TABLE genau das liefern, was Du suchst. Die Hilfe dazu ist recht ausführlich.

PS:
das Coding hier hinzuschreiben, wäre zwar für Dich einfacher, aber es Dir wahrscheinlich mehr, zu wissen, was alles mit READ (TABLE) gemacht werden kann.
Gruß
Ereglam


May the Force be with your code
|| .| |.|| | .... . ..|. ||| .|. |.|. . |... . .|| .. | .... |.|| ||| ..| .|. |.|. ||| |.. .

Beitrag von zickzack0312 (ForumUser / 30 / 0 / 0 ) »
Hallo Ereglam,

ich habe nachgelesen und denke, dass ich die Anweisung

READ TABLE <itab>
INTO <wa> [COMPARING <f1> <f2>... |ALL FIELDS].

benutzen kann, aber danach muss der Inputwert wieder mit <wa> verglichen werden, oder? wie? Danke

Beitrag von ereglam (Top Expert / 1829 / 2 / 7 ) »
Hallo zickzack0312,

schau Dir dazu mal den Zusatz WITH KEY an. Damit wirst Du direkt beim Lesen der Tabelle sagen können, welche Zeile Du haben möchtest.
Gruß
Ereglam


May the Force be with your code
|| .| |.|| | .... . ..|. ||| .|. |.|. . |... . .|| .. | .... |.|| ||| ..| .|. |.|. ||| |.. .

Beitrag von zickzack0312 (ForumUser / 30 / 0 / 0 ) »
Hallo Ereglam,

der Schlüssel in der Anweisung
READ TABLE <itab> WITH KEY <k1> = <f1>..<kn> = <fn>
muss nicht unbedingt ein wirklicher Schlüssel der Tabelle sein, oder? In meinem Beispiel kann ich dann so schreiben:

Code: Alles auswählen.

read table it1 with key f1 = eingabe.
if sy-subrc <> 0.  'der Eingabewert ist nicht in Itab
exit.
endif.
ist das richtig? danke sehr.

Beitrag von ereglam (Top Expert / 1829 / 2 / 7 ) »
Hallo zickzack0312,

ja, das ist richtig. Mit KEY ist in diesem Zusammenhang nur ein Feld als Selektionsbezug an sich gemeint.

PS:
Du solltest Dir gleich angewöhnen, auf die Verwendung der impliziten Kopfzeile von Deiner Tabelle 'it1' zu verzichten und statt dessen explizit definierte Arbeitsbereiche verwenden:

Code: Alles auswählen.

TYPES: 
  BEGIN OF typ_it1, 
      f1 type string, 
      f2 type n, 
      f3 type n, 
  END OF typ_it1,
  typ_t_it1 TYPE TABLE OF typ_it1. "kann auch als Formalparameter in FORM benutzt werden

DATA: 
  it1    TYPE TABLE OF typ_it1,
*  it1    TYPE typt_it1,  "weitere Möglichkeit
  wa_it1 LIKE LINE OF it1.

read table it1 INTO wa_it1 with key f1 = eingabe. 
if sy-subrc <> 0.  'der Eingabewert ist nicht in Itab 
exit. 
endif.
Da implizite Kopfzeilen spätestens im OO-Umfeld in Methoden verboten sind, sparst Du Dir den Umstellungsaufwand.
Gruß
Ereglam


May the Force be with your code
|| .| |.|| | .... . ..|. ||| .|. |.|. . |... . .|| .. | .... |.|| ||| ..| .|. |.|. ||| |.. .

Beitrag von zickzack0312 (ForumUser / 30 / 0 / 0 ) »
vielen Dank für deine nette Hilfe :-)

Beitrag von ereglam (Top Expert / 1829 / 2 / 7 ) »
dann wart' mal die Rechnung ab... :twisted:
Gruß
Ereglam


May the Force be with your code
|| .| |.|| | .... . ..|. ||| .|. |.|. . |... . .|| .. | .... |.|| ||| ..| .|. |.|. ||| |.. .

Seite 1 von 1

Vergleichbare Themen

6
Antw.
1693
Views
Eingabewert mit 0 expandieren?
von Gast » 19.02.2006 20:45 • Verfasst in ABAP® für Anfänger
2
Antw.
4460
Views
Daten aus internen Tabelle in Tabelle speichern
von Stahle71 » 03.06.2015 11:03 • Verfasst in ABAP® für Anfänger
3
Antw.
1541
Views
Tablecontrol: Eingabewert wird nicht übernommen
von khb » 10.02.2015 17:26 • Verfasst in ABAP® für Anfänger
4
Antw.
5052
Views
DELETE aus internen Tabelle
von meistercoach » 15.04.2015 09:09 • Verfasst in ABAP® für Anfänger

Über diesen Beitrag


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

Aktuelle Forenbeiträge

Banf anlegen
vor 21 Stunden von wreichelt 2 / 809
Banf anlegen
vor 22 Stunden von Manfred K. 1 / 769
IBAN und BUT0BK
vor 4 Tagen von waltersen gelöst 10 / 13959
SAPGui 8.00 32 Bit vs 64 Bit
vor 6 Tagen von DeathAndPain 3 / 6874

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.

Aktuelle Forenbeiträge

Banf anlegen
vor 21 Stunden von wreichelt 2 / 809
Banf anlegen
vor 22 Stunden von Manfred K. 1 / 769
IBAN und BUT0BK
vor 4 Tagen von waltersen gelöst 10 / 13959
SAPGui 8.00 32 Bit vs 64 Bit
vor 6 Tagen von DeathAndPain 3 / 6874