Interne Tabellen


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

Moderatoren: Jan, Steff

Interne Tabellen

Beitragvon Fools » 19.01.2005, 16:04

Hallo -

Ich habe folgendes Beispiel-Coding:

Code: Alles auswählen
DATA: BEGIN OF it_mbew OCCURS 0,
        it_mbew LIKE mbew,
      END OF it_mbew.

SELECT * FROM mbew
  INTO TABLE it_mbew
  WHERE feld1 = 'XYZ'
    AND feld2 = '001'.
 


Nun besitzt die interne Tabelle it_mbew logischerweise auch alle Spalten, wie die Datenbantabelle mbew.

Ich möchte nun aus der gefüllten internen Tabelle it_mbew nur ganz bestimmte Spalten (Felder) auslesen und diese in einer weiteren internen Tabelle (z.B. it_liste) übergeben.

Mal angenommen die interne Tabelle it_mbew besitzt folgende Felder: feld1, feld2, feld3, feld4 und feld5. Und ich möchte jetzt lediglich feld1, feld3 und feld5 in meine neue interne Tabelle it_liste überbringen... Wie kann man das programmiertechnisch realisieren?? Kann mir hier jmd. nen coding-bsp. geben???

Vielen Dank für die Hilfe.[/b]


PS: Mir ist schon bewusst das ich von vornerein den Select-Befehl auf die benötigten Felder beschränken kann, statt nen Select * auf die Datenbanktabelle auszulösen. Aber aufgrund von diversen Gründen möchte ich die it_mbew komplett füllen.
Fools
ForumUser
 
Beiträge: 20
Registriert: 01.12.2004, 10:58
Dank erhalten: 0 mal

Sponsor

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

Easy

Beitragvon Norbert » 19.01.2005, 16:26

Data: begin of gs_liste,
feld1 type mbew-xxx,
feld5 type mbew-yyy,
end of gs_liste,

gt_liste like table of gs_liste.

data: gs_mbew type mbew.

* DEIN CODING

loop at it_mbew into gs_mbew.

move-corresponding gs_mbew to gs_liste.
append gs_liste to gt_liste.

endloop.


* PS: Tabellen mit OCCURS 0 sind inzwischen bäh !
* Besser: data: it_mbew type table of mbew.

Gruss

Norbert
...........
Just do it !
Norbert
ForumUser
 
Beiträge: 52
Registriert: 15.11.2004, 13:36
Dank erhalten: 0 mal

Beitragvon Fools » 19.01.2005, 16:57

Habs gerade eingebaut und es hat alles zu meiner Besten Zufriedenheit geklappt. Danke vielmals für deine rasche Hilfe Norbert!!

Kleine Frage noch (einfach nur zum Verständnis):
Deine Bezeichnung "gs" und "gt"... für welche Abkürzung stehen diese? Denn wenns leicht zu merken ist, werde ich vielleicht in Zukunft dann auch mit diesen Abkürzungen arbeiten... bin ja noch ganz am anfang... :)
Fools
ForumUser
 
Beiträge: 20
Registriert: 01.12.2004, 10:58
Dank erhalten: 0 mal

Bezeichnungen

Beitragvon Norbert Guest » 19.01.2005, 17:03

Man findet historisch bestimmte Bezeichner im SAP-eigenen Coding:

wa_xxx = Working area, d.h. eine Zeile
it_xxx = interne Tabelle

Seit einiger Zeit unterscheidet die SAP lokale und globale Variablen, was für das Codingverständnis manchmal entscheidend sein kann:

ls_xxx = local structure <=> wa_...
gs_xxx = global structure

lt_xxx = local table interne Tabelle z.B. in einer Form Routine

gt_xxx = global table z.B. in Top-Include der Funktionsgruppe

Gruss

Norbert
Norbert Guest
 

Beitragvon Gino » 19.01.2005, 17:05

Hallo,

damit ist sicher

globale Struktur (gs) und
globale Tabelle (gt) gemeint,

womit du erkennen kannst, dass das der Lesbarkeit dient (weil ich es auch lesen kann).

Gruss
Gab
Unter einem leeren Sack keucht's sich oft schwerer als unter einem vollen...
Gino
ForumUser
 
Beiträge: 30
Registriert: 12.06.2003, 20:12
Dank erhalten: 0 mal


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

  Aktuelle Beiträge   
A012-Verknüpfung löschen
vor 2 Stunden von khr 0 Antw.
Jobnamen ermitteln
vor 4 Stunden von Thanatos82 1 Antw.
EWM Auslieferung
vor 6 Stunden von erubadhron 0 Antw.
Intrastat Meldungen
vor 7 Stunden von Anne-Katrin 0 Antw.
gelöst ALV Grid bei 2. Aufruf leer
vor 19 Stunden von a-dead-trousers 2 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
02.06.2005, 12:29 von rolle 3 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!