Read Table bei dynamischer interner Tabelle

Die Objektorientierung mit ABAP®: Vererbung, Dynamische Programmierung, GUI Controls (u.a. ALV im OO).

Read Table bei dynamischer interner Tabelle

Postby Dennis4889 » Mon Feb 06, 2012 10:09 am

Hallo zusamen,

wie kann man denn einen Read Table auf eine interne Tabelle machen, wenn die Struktur erst zur Laufzeit bekannt wird.

Loop und Read Table funktionieren ja grundsätzlich, aber halt ohne Angaben von WHERE oder WITH KEY.

Hat jemand einen Rat?
Dennis4889
..
..
 
Posts: 42
Joined: Mon Jun 07, 2010 11:44 am

Re: Read Table bei dynamischer interner Tabelle

Postby Timon1423 » Mon Feb 06, 2012 11:33 am

Ahoi,

meines Wissens nach sollte zumindest der READ TABLE mit WITH KEY funktionieren:

READ TABLE <lt_table> ASSIGNING <lw_table>
WITH KEY ('ERNAM') = 'BALLER'.

Das sollte eigentlich klappen, beim Loop mit Where bin ich mir jedoch nicht direkt sicher.

Gruß
Felix
Timon1423
.
.
 
Posts: 3
Joined: Wed Feb 01, 2012 3:36 pm

Re: Read Table bei dynamischer interner Tabelle

Postby Dennis4889 » Mon Feb 06, 2012 4:09 pm

Ahoi :-)

Danke das klappt, allerdings kann ich ja dann auch nicht auf die Elemente zugreifen,

d.h. lv_dummy = <lw_table>-ERMAN geht ja dann auch nicht...
Dennis4889
..
..
 
Posts: 42
Joined: Mon Jun 07, 2010 11:44 am

Re: Read Table bei dynamischer interner Tabelle

Postby Ilja583 » Mon Feb 06, 2012 6:13 pm

Hallo Tobse,

wenn du eine völlig dynamische Tabelle hast, weißt du nicht wie die Feldnamen heißen. Somit ist ein Zugriff <lw_table>-ERNAM sowies sinnlos.

Wenn du hingegen weißt, dass deine Tabelle bestimmte Felder enthält (In deinem Fall das Feld ERNAM) kannst du mit folgendem Konstrukt relativ einfach weiterarbeiten.
Code: [Select all] [Expand/Collapse] [Download] (Untitled.txt)
  1. *1.  Struktur erstellen mit den dir bekannten Feldern
  2. data: begin of bekannte_felder,
  3.         ernam type ernam,
  4.         "... weitere felder hier
  5.       end of bekannte_felder.
  6.  
  7. * Felder aus dyn. Tab übertragen
  8. move-corresponding <lw_table> to bekannte_felder.
  9.  
  10. * Hier kannst du jetzt mit den Feldnamen zugreifen wie bekannt
  11. lv_dummy = bekannte_felder-ernam.
  12.  
  13. * nachher wieder zurückschreiben falls nötig
  14. move-corresponding bekannte_felder to <lw_table>.
  15.  
GeSHi ©
Ilja583
.....
.....
 
Posts: 1372
Joined: Wed Jan 08, 2003 3:00 pm

Re: Read Table bei dynamischer interner Tabelle

Postby Timon1423 » Mon Feb 06, 2012 7:47 pm

Ahoi,

oder ein entsprechendes:

ASSIGN COMPOMENT 'ERNAM' OF STRUCTURE <lw_table> TO <lf_feld>.

(Da ich grade nicht am SAP angemeldet bin, habe ich die Klammersetzung beim Feldnamen grad nicht ganz sicher im Kopf, aber ungefähr so müsste es aussehen)

Gruß
Felix
Timon1423
.
.
 
Posts: 3
Joined: Wed Feb 01, 2012 3:36 pm


Return to ABAP Objects®

Who is online

Users browsing this forum: No registered users and 2 guests