Werte in Tabelle einfügen

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

Werte in Tabelle einfügen

Beitrag von thomasxy (ForumUser / 36 / 0 / 0 ) »
Hallo zusammen,

ich habe eine kleine ABAB-Anfäger Frage.
Habe eine Tabellestruktur angelegt und dort bereits einige Daten eingelesen.
z.B. Materialnummer, Lagerort, Werk
Nun möchte ich weitere Daten in die Tabelle einlesen und in die entsprechende Zeile einfügen.

Ich benötige z.B. die Daten aus MAKT-MAKTX (Kurztext)
Nun möchte ich für jede Artikelnummer die bereits in meiner Tabelle lt_ZITMM1 steht den Kurztext in die Spalte lt_ZITMM1-materialtext schreiben.
Natürlich immer in die richtige Zeile, so dass es auch zur Artikelnummer passt.

Das gleiche muss ich noch mit anderen Daten machen, wobei die Vorgehensweise ja dann immer die gleiche ist.

Kann mir jemand helfen und mitteilen wie ich Daten zeilengenau in eine bestehende Tabelle einfügen kann.

Vielen Dank

Gruß
Thomas

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


Beitrag von muggel (ForumUser / 68 / 0 / 0 ) »
HI
Interne Tabelle ITAB

LOOP AT ITAB.
select single * from MAKT where matnr = itab-matnr.
Itab-maktx = makt-maktx.
Modify itab
ENDLOOP.

Gruß aus OWL

Werte in Tabelle einfügen

Beitrag von gabrielgn (ForumUser / 23 / 0 / 0 ) »
tach,
es wäre noch etwas leichter, wenn man mit field-symbols arbeitet, dann kann man Werte direkt innerhalb der Loop ändern.
Damit erspart man sich den intern aufwendigen MODIFY.

Beispiel:
DATA: it_irgendwas type table of irgendwasi,
wa_makt type makt.
field-symbols <fs> type irgendwas.

*---vorher sind schon einige Daten in der ITAb drin ...

loop at it_irgendwas assigning <fs>.

select single * from MAKT into wa_makt where matnr = <fs>-matnr.
move corresponding wa_makt to <fs>.

endloop.

!!! dennoch sollte man immer versuchen das ohne SELECT innerhalb einer Schleife zu lösen (Performance!)

Weiterhin viel Spaß bei der Arbeit !!

Beitrag von thomasxy (ForumUser / 36 / 0 / 0 ) »
vielen dank für die Tipps.
so ganz bin ich damit noch nicht weitergekommen.


Am Beispiel mein Code

Loop at lt_ZITMM1 into wa_lt_ZITMM1.

READ TABLE itab_makt WITH KEY
matnr = wa_lt_ZITMM1-matnr
INTO wa_makt.
IF sy-subrc = 0.
* maktx in Tabelle lt_ZITMM1 schreiben.
ELSE.
ENDIF.

...

endloop

Ich habe die Tabelle lt_ZITMM1 die teilweise gefüllt ist.
Über diese Tabelle mache ich ein Loop.
Anschließend mache ich ein read auf meine interne Tabelle und schaue ob es passende Einträge gibt.
Wenn ja soll maktx in die Tabelle lt_ZITMM1 geschrieben werden.
Diese Stelle ist oben auskommentiert, da ich nicht weiß wie ich in diesem Fall einbauen kann.
Würde mich echt freuen, wenn jemand fr obengenannten Fall eine Lösung hat.

Danke
Gruß
Thomas

Beitrag von ralf.wenzel (Top Expert / 3924 / 200 / 280 ) »
Poste mal die Deklaration deiner internen Tabelle und die Datenselektion, dann fass ich dir das zusammen.


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

Beitrag von thomasxy (ForumUser / 36 / 0 / 0 ) »
Vielen Dank.
Anbei als Attachement mein Code.

gruß
thomas

Beitrag von ralf.wenzel (Top Expert / 3924 / 200 / 280 ) »
Na, das sieht doch schon sehr gut strukturiert aus.

Was dir noch fehlt, ist im Block

Code: Alles auswählen.

if sy-subrc = 0. "nach dem READ TABLE
eine Zuweisung wie

Code: Alles auswählen.

wa_lt_ZITMM1 = wa_makt-maktx.
(das ist die erste, alle anderen analog)

und vor dem ENDLOOP ein

Code: Alles auswählen.

MODIFY lt_ZITMM1 from wa_lt_ZITMM1.
Noch ein Tipp: Ein Strukturenname wie wa_lt_ZITMM1 ist mehr als verwirrend. Es ist keine itab, also gehört das nicht "lt" genannt und "wa" mag ich eh nicht. Ich würd das Ding "l_ZITMM1" oder "lv_ZITMM1" nennen.

Was sa unter dem ENDLOOP steht, gehört wohl in den darüber stehenden Code integriert - sprich: Die SELECTs zu den anderen SELECTs und eine entsprechende READ/IF/ENDIF-Zuweisung analog zu den schon vorhandenen.


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

Beitrag von thomasxy (ForumUser / 36 / 0 / 0 ) »
Hallo Ralf,
vielen Dank hat super geklappt

musste nur noch den Spaltennamen ergänzen
wa_lt_ZITMM1-<Spaltenname> = wa_makt-maktx.

gruß
thomas

Beitrag von ralf.wenzel (Top Expert / 3924 / 200 / 280 ) »
thomasxy hat geschrieben: musste nur noch den Spaltennamen ergänzen
Mist. Vergesse. Verfickter Stress. Sorry.


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

Seite 1 von 1

Vergleichbare Themen

1
Antw.
536
Views
2
Antw.
1574
Views
Nachkommastellen bei einfügen in Tabelle
von Andrzej » 07.05.2017 18:31 • Verfasst in ABAP® für Anfänger
1
Antw.
450
Views
Neue Zeile in Tabelle einfügen
von user112610 » 09.02.2023 09:19 • Verfasst in ABAP® für Anfänger
9
Antw.
822
Views
Interne Tabelle - Mehrere Treffer einfügen
von Riga00 » 05.03.2022 18:19 • Verfasst in ABAP® für Anfänger
8
Antw.
3741
Views
ALV markierte Zeilen in neue Tabelle einfügen
von Christina2604 » 30.09.2013 13:51 • Verfasst in ABAP® für Anfänger

Ü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.

Unbeantwortete Forenbeiträge

Daten an Tabelle binden
vor 2 Tagen von Bright4.5 1 / 767
aRFC im OO-Kontext
vor 4 Wochen von ralf.wenzel 1 / 2389
Hilfe bei SWEC/SWE2
letzen Monat von retsch 1 / 8974