Tabellenindex lesen welcher mit bestimmten Zeichen beginnt

Getting started ... Alles für einen gelungenen Start.
16 Beiträge • Seite 1 von 2 (current) Nächste
16 Beiträge Seite 1 von 2 (current) Nächste

Tabellenindex lesen welcher mit bestimmten Zeichen beginnt

Beitrag von phil-10 (ForumUser / 6 / 1 / 0 ) »
Hallo zusammen,

ich lese derzeit mit folgendem Code die dritte Zeile einer Tabelle aus:
if sy-subrc = 0.
indexWA = '3'.
read table z_lines2 into ZTEXTPP2 index indexWA.
endif.

Nun würde ich gerne die Zeile auslesen (index also unbekannt) welche mit WA* beginnt.

Ist das möglich? Ich komme leider nicht weiter und würde mich freuen, wenn mir jemand helfen kann.

Viele Grüße
Philipp

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


Re: Tabellenindex lesen welcher mit bestimmten Zeichen begin

Beitrag von wreichelt (Top Expert / 1031 / 29 / 188 ) »
Hallo,

READ TABLE itab INTO wa WITH KEY feld = 'WA*'.

Gruß Wolfgang

Re: Tabellenindex lesen welcher mit bestimmten Zeichen begin

Beitrag von DeathAndPain (Top Expert / 1795 / 213 / 396 ) »

Code: Alles auswählen.

REPORT ZTEST5.

DATA: Z_LINES2 TYPE STANDARD TABLE OF MATNR,
      WA_ERGEBNIS TYPE MATNR.

FIELD-SYMBOLS <WA> TYPE MATNR.

LOOP AT Z_LINES2 ASSIGNING <WA> WHERE TABLE_LINE(2) = 'WA'.
  WA_ERGEBNIS = <WA>.
  EXIT. " Dich interessiert ja offenbar nur die erste passende Fundstelle; ansonsten machst Du hier was anderes
ENDLOOP.

Re: Tabellenindex lesen welcher mit bestimmten Zeichen begin

Beitrag von DeathAndPain (Top Expert / 1795 / 213 / 396 ) »
wreichelt hat geschrieben:Hallo,

READ TABLE itab INTO wa WITH KEY feld = 'WA*'.

Gruß Wolfgang
Das wird nicht hinhauen, da READ TABLE auf exakte Gleichheit prüft, nicht darauf, womit ein Feld beginnt. Letzteres geht nur mit einem LOOP WHERE.

Re: Tabellenindex lesen welcher mit bestimmten Zeichen begin

Beitrag von zzcpak (Expert / 673 / 5 / 67 ) »
naja

Code: Alles auswählen.

READ TABLE itab INTO wa WITH KEY feld(2) = 'WA'.
ging auch noch

Re: Tabellenindex lesen welcher mit bestimmten Zeichen begin

Beitrag von DeathAndPain (Top Expert / 1795 / 213 / 396 ) »
Tatsächlich, das funktioniert. Hätte ich nicht gedacht, dass der READ TABLE sich auch mit halben Schlüsselfeldern zufriedengibt.

Re: Tabellenindex lesen welcher mit bestimmten Zeichen begin

Beitrag von phil-10 (ForumUser / 6 / 1 / 0 ) »
Hallo zusammen,

ich bekomme es nicht zusammen, vielleicht sollte ich mein Problem noch mehr konkretisieren. Mit diesem Code lese ich die erste Zeile ein. Das klappt soweit. Nun steht in einer unbekannten Zeile das Datum eines Warenausgangs "WA 01.01.2018". Mein Feld ZTEXTPP soll das Datum "01.01.2018" ausgeben:

Code: Alles auswählen.

DATA: begin of z_stxh occurs 0.
 include type stxh.
DATA: end of z_stxh.
DATA: Z_TEXT like stxh-tdname.
DATA: z_lines type TABLE OF TLINE WITH HEADER LINE.

clear: z_text, z_stxh, z_lines, ztextpp.

concatenate '100' afko-aufnr into z_text.
select single * FROM STXH into z_stxh
 where TDOBJECT = 'AUFK' and
 TDID = 'KOPF' and
* TDSPRAS = 'DE' and
 TDNAME = z_text.
 if sy-subrc = 0.
 " Text gefunden, dann erste Zeile einlesen
 CALL FUNCTION 'READ_TEXT'
 EXPORTING
 ID = z_stxh-tdid
 LANGUAGE = z_stxh-tdspras
 NAME = z_stxh-tdname
 OBJECT = z_stxh-tdobject
 TABLES
 LINES = z_lines
 EXCEPTIONS
 id = 1
 language = 1
 name = 3
 not_found = 4
 object = 5
 reference_check = 6
 wrong_access_to_archive = 7.
 if sy-subrc = 0.
 read table z_lines into ZTEXTPP index 1.
 " erste Zeile -> z_lines-tdline.
 endif.
 endif.
Kann mir bitte nochmal jemand behilflich sein?

Viele Grüße
Philipp

Re: Tabellenindex lesen welcher mit bestimmten Zeichen begin

Beitrag von ralf.wenzel (Top Expert / 3776 / 176 / 262 ) »
Was genau funktioniert denn nicht?

Ralf
Bild
Ralf Wenzel Heuristika SAP-Development
25 Jahre SAP-Entwickler • 20 Jahre Freiberufler
PublikationenUngarische NotationXing

Re: Tabellenindex lesen welcher mit bestimmten Zeichen begin

Beitrag von phil-10 (ForumUser / 6 / 1 / 0 ) »
Ganz unten habe ich den Code eingebaut aber mein Feld ZTEXTPP bleibt leider leer.

Code: Alles auswählen.

if sy-subrc = 0.
 read table z_lines into wa WITH KEY = 'WA'.
   ZTEXTPP = wa.
endif.

Re: Tabellenindex lesen welcher mit bestimmten Zeichen begin

Beitrag von ralf.wenzel (Top Expert / 3776 / 176 / 262 ) »
phil-10 hat geschrieben:Ganz unten habe ich den Code eingebaut aber mein Feld ZTEXTPP bleibt leider leer.

Code: Alles auswählen.

if sy-subrc = 0.
 read table z_lines into wa WITH KEY = 'WA'.
   ZTEXTPP = wa.
endif.
Natürlich, weil du das (2) vergessen hast. Der READ findet nur Zeilen, die ausschließlich "WA" enthalten.


Ralf
Bild
Ralf Wenzel Heuristika SAP-Development
25 Jahre SAP-Entwickler • 20 Jahre Freiberufler
PublikationenUngarische NotationXing

Re: Tabellenindex lesen welcher mit bestimmten Zeichen begin

Beitrag von phil-10 (ForumUser / 6 / 1 / 0 ) »
Was muss ich für feld(2) denn einsetzen? Es kommt immer die Meldung "Es existiert keine Komponente mit dem Namen...".

Re: Tabellenindex lesen welcher mit bestimmten Zeichen begin

Beitrag von ralf.wenzel (Top Expert / 3776 / 176 / 262 ) »
zzcpak hat geschrieben:

Code: Alles auswählen.

READ TABLE itab INTO wa WITH KEY feld(2) = 'WA'.


Ralf
Bild
Ralf Wenzel Heuristika SAP-Development
25 Jahre SAP-Entwickler • 20 Jahre Freiberufler
PublikationenUngarische NotationXing

Re: Tabellenindex lesen welcher mit bestimmten Zeichen begin

Beitrag von phil-10 (ForumUser / 6 / 1 / 0 ) »
Wie würde das denn oben in meinem Code aussehen? Stehe gerade auf dem Schlauch.

Code: Alles auswählen.

if sy-subrc = 0.
 read table z_lines2 into WA WITH KEY table_line(2) = 'WA'.
   ZTEXTPP2 = WA.
 endif.
Zuletzt geändert von phil-10 am 18.01.2018 08:52, insgesamt 1-mal geändert.

Re: Tabellenindex lesen welcher mit bestimmten Zeichen begin

Beitrag von abuma (Specialist / 102 / 36 / 14 ) »
huhu,
phil-10 hat geschrieben:Was muss ich für feld(2) denn einsetzen? Es kommt immer die Meldung "Es existiert keine Komponente mit dem Namen...".
In "feld" schreibst du die Spalte mit der der Vergleich stattfinden soll.

Du hast eine Tabelle vom Typ TLINE, bei der du vermutlich die Textzeile (Spalte TDLINE) die mit "WA" beginnt finden möchtest.

Dann wäre das Coding wie folgt:

Code: Alles auswählen.

IF sy-subrc = 0.
 READ TABLE z_lines INTO wa WITH KEY tdline(2) = 'WA'.
   ZTEXTPP = wa.
ENDIF.
Liebe Grüße
abuma

Folgende Benutzer bedankten sich beim Autor abuma für den Beitrag:
phil-10



Vergleichbare Themen

7
Antw.
3407
Views
letztes Zeichen lesen bei einer internen Tabelle
von Bright4.5 » 27.08.2018 21:22 • Verfasst in ABAP® für Anfänger
1
Antw.
8288
Views
Tabellenindex anlegen
von Apabtalker » 23.12.2010 12:35 • Verfasst in ABAP® Core
1
Antw.
7195
Views
Unterschied: Sequentielles lesen, direktes lesen
von MarkusW » 07.08.2008 16:46 • Verfasst in ABAP® für Anfänger
3
Antw.
1911
Views
Klassen mit bestimmten Interface
von Cola » 05.10.2006 11:00 • Verfasst in ABAP Objects®
3
Antw.
23068
Views
Bestimmten User abmelden
von weeze » 15.02.2007 15:58 • Verfasst in ABAP® Core

Aktuelle Forenbeiträge

Zwischensumme Adobe Forms
vor 2 Tagen von Lucyalison 1 / 64
Interne Tabelle
vor 5 Tagen von black_adept 2 / 133
MaLo-Checker in ABAP
vor einer Woche von A6272 6 / 254

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

Zwischensumme Adobe Forms
vor 2 Tagen von Lucyalison 1 / 64
Interne Tabelle
vor 5 Tagen von black_adept 2 / 133
MaLo-Checker in ABAP
vor einer Woche von A6272 6 / 254

Unbeantwortete Forenbeiträge

Zwischensumme Adobe Forms
vor 2 Tagen von Lucyalison 1 / 64
Group Items auf einer Filterbar
vor einer Woche von Bright4.5 1 / 107
tRFC Transaktionen SM58
vor 4 Wochen von A6272 1 / 140