Update der Daten einer ITAB

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

Update der Daten einer ITAB

Beitrag von OG-TR2506 (ForumUser / 4 / 0 / 0 ) »
Mahlzeit zusammen.

Ich stehe gerade mit dem Brett vor der Wand und bräuchte ein neuen Gedankenanstoß um Brett und Wand hinter mir zulassen.

Meine Frage: Wie ist es möglich die Werte zweier interner Tabellen abzugleichen und anschließend miteinander zu verknüpfen?

Mein Beispiel:

Code: Alles auswählen.

TYPES: BEGIN OF Test1,
             name TYPE c LENGTH 40,
        vorname TYPE c LENGTH 40,
           END OF Test1.

DATA: t_test1 TYPE TABLE OF Test1,
          wa_test1 LIKE LINE OF t_test1,

          t_db1 TYPE TABLE of db1, "Datenbank mit Verknüpfungen die nacheinander abgefragt werden müssen Beispiel zeigt sie die Verknüpfungen zu OBJID und Namen, anschließend muss man noch einmal mit den Namen auf die db um dazu alle Vornamen zu bekommen.
       wa_db1 LIKE LINE OF t_db1. 

****Normalerweise würde hier ein Select erfolgen, der Einfachheit, befülle ich die Daten direkt zum Testen und probieren. 
 wa_test1-name = 'Mueller'.
APPEND wa_test1 TO t_test1.

CLEAR: wa_test1.
 wa_test1-name = 'Schuster'.
APPEND wa_test1 TO t_test1.

CLEAR: wa_test1.
 wa_test1-name = 'Bauer'.
 APPEND wa_test1 TO t_test1.
************************************************************
CLEAR: wa_test1, t_db1, wa_db1.

Select * FROM db1 INTO TABLE t_db1 FOR ALL ENTRIES IN l_test1 WHERE
  NAME = l_test1-name.

IF sy-subrc = 0.
    LOOP AT t_db1 INTO wa_db1.
        wa_test1-name = wa_db1-name.
        wa_test1-vorname = wa_db1-vorname.
    APPEND wa_test1 TO l_test1.
ENDIF.
Dies würde doch am Ende dazu führen, dass er in der ITAB l_test1 nicht die vorhandenen Namen mit beliebigen Werten ergänzt sondern unten in der ITAB anfügt. Da aber mit der ITAB l_test1 später weiter gearbeitet werden müsste ließe sich das nicht schon im select abfrühstücken.

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


Re: Update der Daten einer ITAB

Beitrag von PeterPaletti (Specialist / 336 / 29 / 96 ) »
Moin,

also was mich angeht, scheinst du das Brett und die Wand weiterzureichen: Ich habe auch nach mehrfachen Lesen und nachgrübeln leider nicht verstanden, was die Aufgabe ist?

Meine letzte Vermutung ist die, dass du den passenden Vornamen in die richtige Zeile der vorab gefüllten Tabelle mit den Nachnamen bekommen möchtest.

Ich denke nicht dass das direkt über ein einfaches SELECT geht. In dem Fall würde ich ein LOOP über die L_TEST setzen und aus der T_DB1 den Vornamen dazu lesen.

Oder hast du eine ganz andere Aufgabenstellung?

Re: Update der Daten einer ITAB

Beitrag von OG-TR2506 (ForumUser / 4 / 0 / 0 ) »
PeterPaletti hat geschrieben:
12.02.2023 06:02
Moin,

also was mich angeht, scheinst du das Brett und die Wand weiterzureichen: Ich habe auch nach mehrfachen Lesen und nachgrübeln leider nicht verstanden, was die Aufgabe ist?

Meine letzte Vermutung ist die, dass du den passenden Vornamen in die richtige Zeile der vorab gefüllten Tabelle mit den Nachnamen bekommen möchtest.

Ich denke nicht dass das direkt über ein einfaches SELECT geht. In dem Fall würde ich ein LOOP über die L_TEST setzen und aus der T_DB1 den Vornamen dazu lesen.

Oder hast du eine ganz andere Aufgabenstellung?
Guten Morgen Peter,
Danke für den bis hierhin erbrachten Gehirnschmalz. Du gehst da schon in die richtige Richtung.

Ich versuche es mal ein bissel anders. Mittlerweile hat das Wochenende ja schon ein paar Löcher in das Brett gebohrt.
Die Aufgabe unterteilt sich in mehrere Schritte:
1. Finde zu OBJID die NACHNAMEN. In einem Eingabefeld werden via Einfach- oder Mehrfachselektion OBJID eingegeben die wiederum aus der DB 1001 (SAP Eigene für Verknüpfungen) gelesen . ( Hinweis: In meinem Code Beispiel ist dieser Schritt übersprungen, ich will nicht erst die Eingabemaske nachbauen, daher habe ich quasi die ITAB direkt mit Nachnamen befüllt )
2. Finde nun zu den Nachnamen alle Vornamen, egal ob der Nachname häufiger zugeordnet werden kann. Dies erfolgt indem man die Werte in der ITAB wieder auf den Infotyp 1001 los lässt und in eine zweite ITAB liest.
3. Bringe nun die Nachnamen in der ITAB1 zusammen mit den zugehörigen Vornamen die in die ITAB2 gelesen wurden.
4. Gebe die gefundenen Werte in eine ALV Liste aus. (Hab ich auch weggelassen weil ich im Debugger ja sehen kann welche Werte in welcher Tabelle liegen und theoretisch ausgegeben würden)

Ziel: In der Liste stehen alle Nachnamen mit Vornamen.
Problem: Da es aber keinen Infotyp gibt wo diese Beiden Werte zusammen abgelegt sind muss immer über den IT1001 gegangen werden. An ein UPDATE/MODIFY hätte ich da jetzt gedacht aber das scheint mir noch nicht "DIE" Lösung zu sein ggf. kann man da auch mit einem Field Symbol dran aber dafür müssten die Felder ja identisch sein.

Hinweis: Dabei stehen hier Nachname und Vorname nur als ein Beispiel es könnte auch Auto statt Nachname und Modell statt Vorname sein.

Beste Grüße und einen angenehmen Sonntag zusammen.

Re: Update der Daten einer ITAB

Beitrag von PeterPaletti (Specialist / 336 / 29 / 96 ) »
Vielleicht liegt es ja daran, dass Sonntagabend ist, aber mir ist das immer noch zu kryptisch, was eigentlich deine Anforderung ist. Sorry.
Hier ist es eine DB 1001, dann ein Infotyp 1001, hier ist es eine ITAB, dann eine ITAB1 und eine ITAB2. Und was bei internen Tabellen ein UPDATE zu suchen hat, entzieht sich mir auch. Ich hoffe sehr, dass jemand anders Deine Erklärungen versteht und Dir bei der Lösung helfen kann.

Re: Update der Daten einer ITAB

Beitrag von OG-TR2506 (ForumUser / 4 / 0 / 0 ) »
Der Groschen ist gefallen!

Code: Alles auswählen.

....
IF sy-subrc = 0.
    LOOP AT t_db1 INTO wa_db1.
        wa_test1-name = wa_db1-name.
        wa_test1-vorname = wa_db1-vorname.
*    APPEND wa_test1 TO l_test1.
MODIFY l_test1 From wa_test1 TRANSPORTING vorname WHERE name = wa_test1-name. 
Das wäre die Lösung gewesen, bin da gerade bei einem Kaffee drauf gekommen.

Seite 1 von 1

Vergleichbare Themen

4
Antw.
2487
Views
Brauche Hilfe zu Update nach Join in ITAB
von laola » 23.07.2008 16:42 • Verfasst in ABAP® für Anfänger
2
Antw.
453
Views
CSV-Daten in richtige Infotyp-spalte(itab)
von NLengner » 20.09.2019 13:07 • Verfasst in ABAP® für Anfänger
1
Antw.
422
Views
itab-Datensätze mit TVKO-Daten anreichern
von kolumbus70 » 14.07.2019 11:19 • Verfasst in ABAP® für Anfänger
3
Antw.
1733
Views
Daten aus einer Tabelle in eine itab schreiben
von zitroneHR » 30.03.2017 11:17 • Verfasst in ABAP® für Anfänger
4
Antw.
1807
Views
Daten in ITAB lesen für jeden Eintrag ohne Loop
von kpas » 04.08.2006 08:07 • Verfasst in ABAP® Core

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.