value # und corresponding # in einer Zeile beim füllen von internen Tabellen

Alles rund um die Sprache ABAP®: Funktionsbausteine, Listen, ALV
5 Beiträge • Seite 1 von 1
5 Beiträge Seite 1 von 1

value # und corresponding # in einer Zeile beim füllen von internen Tabellen

Beitrag von Romaniac (Specialist / 221 / 65 / 27 ) »
Hallo zusammen,

ich will eine Itab type TVARV mit den Select Options aus meinem Programm füllen und diese einer Methode übergeben ( die Datentypen der jeweiligen Selopts sind jetzt mal egal).

Es werden aber immer 2 neue Zeilen erstellt weil jede Klammerebene bei Value #( (1) (2) (n) ) einen neuen Eintrag erstellt. Sobald ich Klammern weglasse bekomme ich Syntaxfehler. Mit einem strukturierten Datenfeld funktioniert es zwar, das muss doch mit Tabellen auch gehen?

S_BUKRS ist Selopt von BUKRS.

Code: Alles auswählen.

  LOOP AT s_bukrs ASSIGNING FIELD-SYMBOL(<lws_bukrs>).
    lt_tvarv = VALUE #( BASE lt_tvarv ( name = 'TR_BUKRS' ) ( CORRESPONDING #( <lws_bukrs> MAPPING opti = option ) ) ).
  ENDLOOP.
TVARV.jpg
Danke und Gruß,

Wolfgang
Geht nicht gibts nicht

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


Re: value # und corresponding # in einer Zeile beim füllen von internen Tabellen

Beitrag von a-dead-trousers (Top Expert / 4395 / 223 / 1182 ) »
Ich würds so machen:

Code: Alles auswählen.

  LOOP AT s_bukrs ASSIGNING FIELD-SYMBOL(<lws_bukrs>).
    APPEND CORRESPONDING #( <lws_bukrs> MAPPING opti = option ) TO lt_tvarv ASSIGNING FIELD-SYMBOL(<lws_tvarv>).
    <lws_tvarv>-name = 'TR_BUKRS'.
  ENDLOOP.

Ist nur eine Zeile mehr und IMHO etwas besser lesbar.

Folgende Benutzer bedankten sich beim Autor a-dead-trousers für den Beitrag:
Romaniac

Theory is when you know something, but it doesn't work.
Practice is when something works, but you don't know why.
Programmers combine theory and practice: Nothing works and they don't know why.

ECC: 6.18
Basis: 7.50

Re: value # und corresponding # in einer Zeile beim füllen von internen Tabellen

Beitrag von ewx (Top Expert / 4844 / 311 / 640 ) »
Noch besser lesbar finde ich:

Code: Alles auswählen.

APPEND LINES OF
  VALUE tvarv_t(
    FOR bukrs IN s_bukrs[]
      ( name  = 'BUKRS'
        opti  = bukrs-option
        sign  = bukrs-sign
        low   = bukrs-low
        high  = bukrs-high ) )
  TO lt_tvarv.

Re: value # und corresponding # in einer Zeile beim füllen von internen Tabellen

Beitrag von ewx (Top Expert / 4844 / 311 / 640 ) »
und mit CORRESPONDING:

Code: Alles auswählen.

APPEND LINES OF VALUE tvarv_t(
    FOR bukrs IN s_bukrs[]
    ( VALUE #( BASE CORRESPONDING #( bukrs MAPPING opti = option ) name = 'BUKRS' ) ) )
TO lt_tvarv.

Folgende Benutzer bedankten sich beim Autor ewx für den Beitrag:
a-dead-trousers


Re: value # und corresponding # in einer Zeile beim füllen von internen Tabellen

Beitrag von DeathAndPain (Top Expert / 1941 / 257 / 412 ) »
Vor allem dürfte ein APPEND auch wesentlich performanter sein, als wenn bei jeder einzelnen Einfügung der gesamte Tabellenrumpf neu aufgebaut wird wie in Romaniacs ursprünglichem Ansatz.

Folgende Benutzer bedankten sich beim Autor DeathAndPain für den Beitrag:
Romaniac


Seite 1 von 1

Vergleichbare Themen

9
Antw.
3134
Views
Füllen einer Datenbanktabelle mit den Daten aus der internen Tabelle
von Armin93 » 28.11.2019 10:15 • Verfasst in ABAP® für Anfänger
5
Antw.
3891
Views
Vergleich von internen Tabellen
von Artie200 » 01.02.2011 16:42 • Verfasst in ABAP® für Anfänger
4
Antw.
6662
Views
gruppieren von internen Tabellen
von debianfan » 18.01.2018 03:17 • Verfasst in ABAP® für Anfänger
3
Antw.
271
Views
Selektieren von Internen Tabellen
von Micha_ela » 29.09.2022 10:27 • Verfasst in ABAP® für Anfänger
3
Antw.
3985
Views
feldkatalog von internen tabellen?
von ismailer » 17.01.2005 11:47 • Verfasst in ABAP Objects®

Aktuelle Forenbeiträge

Dialog-Container mit Toolbar/Status
vor 2 Stunden von DeathAndPain gelöst 20 / 2423
Zeilenumbrüche ersetzen
vor 22 Stunden von ralf.wenzel 6 / 207
SAP Trial Version für SAP Fiori
vor 2 Tagen von tar 2 / 1582

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.

Aktuelle Forenbeiträge

Dialog-Container mit Toolbar/Status
vor 2 Stunden von DeathAndPain gelöst 20 / 2423
Zeilenumbrüche ersetzen
vor 22 Stunden von ralf.wenzel 6 / 207
SAP Trial Version für SAP Fiori
vor 2 Tagen von tar 2 / 1582

Unbeantwortete Forenbeiträge

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