interne tabellen


Getting started ... Alles für einen gelungenen Start.

Moderatoren: Jan, Steff

interne tabellen

Beitragvon rolle » 02.06.2005, 12:13

Hi,

folgendes Problem:
ich hab eine itab, in der der mehrere datensätze stehen.
und eine zweite itab, wo die felder stehen, die von der ersten relevant sind.

jetzt will ich die erste so auslesen, dass ich nur die werte bekomme, die relevant sind (also das, was in der zweiten steht).

beispiel itab eins:
felder: name vorname alter
inhalt: meier kurt 12

beispiel für itab zwei:
felder: feldname
inhalt: vorname

das heißt, am ende will ich die werte vom vorname aus der ersten itab haben. (kurt)

ich hab mir das so gedacht:
Code: Alles auswählen
loop at itab1 into ls1.
***in ls1-fieldname steht jetzt "vorname"
loop at itab2 into ls2.
***in ls2 ist der gesamte Datensatz der itab2

end_wert = ls2-[ls1-fieldname]
*** "end_wert" soll von der ls2 das feld "vorname" *** enthalten
endloop.
endloop.


jetzt ist also die Frage, wie bekomm ich es hin, dass anstatt [ls1-fieldname], ls1-vorname steht???
kann mir jemand folgen? :-)
danke im voraus, joerg
grueße, joerg
rolle
ForumUser
 
Beiträge: 8
Registriert: 21.10.2004, 08:05
Wohnort: Gotha
Dank erhalten: 0 mal

Sponsor

Alte ABAP-Entwicklerweisheit: Weißt du weder aus noch ein, baust du einen BADI ein

Re: interne tabellen

Beitragvon Haubi » 02.06.2005, 12:25

Code: Alles auswählen
field-symbols: <fs> type any.

loop at itab1 into ls1.
***in ls1-fieldname steht jetzt "vorname"
loop at itab2 into ls2.
***in ls2 ist der gesamte Datensatz der itab2

*>>>
*end_wert = ls2-&#91;ls1-fieldname&#93;
**** "end_wert" soll von der ls2 das feld "vorname" *** enthalten
assign component ls2-fieldname of structure ls1 to <fs>.
end_wert = <fs>.
*<<<
endloop.
endloop.

Zu beachten ist, dass dabei Konvertierungsfehler auftreten können!

Gruss,
Haubi
Zuletzt geändert von Haubi am 02.06.2005, 12:29, insgesamt 1-mal geändert.
Das ABAP Kochbuch ab sofort bei Amazon...

I'd rather write code that writes code than write code...
.. ..|. |.|| ||| ..| |.|. .| |. .|. . .| |.. | .... .. ... |.|| ||| ..| |.. ||| |. | |. . . |.. ||. .|.. .| ... ... . ...
Haubi
Expert
 
Beiträge: 576
Registriert: 13.12.2002, 09:52
Wohnort: Braunschweig
Dank erhalten: 17 mal
Ich bin: Entwickler/in

Beitragvon ereglam » 02.06.2005, 12:26

Feldsymbol benutzen du musst...
Code: Alles auswählen
FIELD-SYMBOLS:
  <fs> TYPE ANY.
loop at itab1 into ls1.
***in ls1-fieldname steht jetzt "vorname"
  loop at itab2 into ls2.
***in ls2 ist der gesamte Datensatz der itab2
* Feldsymbol zuweisen
    ASSIGN COMPONENT ls1-fieldname OF STRUCTURE ls2 TO <fs>.
* Inhalt übertragen
    end_wert = <fs>.
*** "end_wert" soll von der ls2 das feld "vorname" *** enthalten
  endloop.
endloop.


und Haubi schneller war ...
Gruß
Ereglam


May the Force be with your code
|| .| |.|| | .... . ..|. ||| .|. |.|. . |... . .|| .. | .... |.|| ||| ..| .|. |.|. ||| |.. .
Mitglied im XING
ereglam
Top Expert
 
Beiträge: 1826
Registriert: 30.09.2004, 12:42
Wohnort: Schwalbach am Taunus
Dank erhalten: 4 mal
Ich bin: Entwickler/in

Beitragvon rolle » 02.06.2005, 12:29

DANKE EUCH BEIDEN!!!!!!!!!!!!!!
Joerg
grueße, joerg
rolle
ForumUser
 
Beiträge: 8
Registriert: 21.10.2004, 08:05
Wohnort: Gotha
Dank erhalten: 0 mal


Zurück zu ABAP® für Anfänger

  Aktuelle Beiträge   
Beziehungswissen anwenden
vor 12 Stunden von moo_jo 2 Antw.
gelöst ABAP - Application Log
vor 13 Stunden von swonny 1 Antw.
Tabellenabfrage
vor 17 Stunden von DeathAndPain 1 Antw.
Programm schreiben
vor 12 Stunden von ralf.wenzel 15 Antw.
Excel download
vor 13 Stunden von dkast 8 Antw.

  Ähnliche Beiträge beta
interne tabellen
30.07.2004, 09:50 von LordDeath 3 Antw.
Interne Tabellen mit Key
13.10.2004, 12:47 von Nicole 4 Antw.
interne Tabellen
13.12.2004, 12:08 von black_adept 23 Antw.
Interne Tabellen
19.01.2005, 17:05 von Gino 4 Antw.
interne Tabellen
20.07.2005, 10:46 von niermaj 8 Antw.

 

Wer ist online?

Mitglieder in diesem Forum: 0 Mitglieder

Feedback ...?

Was können wir verbessern? Hinterlasse deine Kontaktdaten, wenn du eine direkte Antwort möchtest.

... Absenden!