CORRESPONDING mit Festwert

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

CORRESPONDING mit Festwert

Beitrag von ralf.wenzel (Top Expert / 3935 / 200 / 281 ) »
Moin,

ich dachte, ich hätte das hier schonmal gefragt, aber ich finde die Frage nicht.

Ich möchte aus einer internen Tabelle einen Satz in eine interne Tabelle gleicher Struktur schreiben, aber dabei ein Feld löschen.

Also sowas wie:

Code: Alles auswählen.

loop at matnr_list "type table of matnr
assigning field-symbol(<matnr>). 

insert corresponding #( i_mara[ matnr = <matnr> ] mapping stfak = '0' ) 
into table mara_records_ohne_stfak.

endloop.
Irnkwie jeht datt nich, weil '0' keine bekannte Komponente ist (ach?!). Wie löse ich das möglichst elegant? Ja, ich könnte einen READ in eine Struktur machen und da das Feld löschen und dann den INSERT machen, aber das sind dann wieder x Anweisungen, die einen Gedankengang widerspiegeln.... Ich hätte es gern in einer Anweisung, weil das auch ein gedanklicher Schritt ist (füge den Satz mit Null-STFAK in die andere Tabelle ein).


Ralf

PS: Achso - ABAP Release 7.40, moderner krieg ich es gerade nicht....
Bild
Ralf Wenzel Heuristika SAP-Development
25 Jahre SAP-Entwickler • 20 Jahre Freiberufler
PublikationenUngarische NotationXing

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


Re: CORRESPONDING mit Festwert

Beitrag von black_adept (Top Expert / 4099 / 128 / 941 ) »
Moin Ralf,

siehe abapdoku zum Operator "Corresponding" mit dem Zusatz "EXCEPT"
Beispiel:

Code: Alles auswählen.

  lt_data2 = CORRESPONDING #( lt_data EXCEPT spras  ).
Überträgt alle gleichnamigen Felder außer "SPRAS".
Das geht aber nur, wenn das Feld nachher gelöscht werden soll.

Alternativ eine 2-Befehl Alternative wenn das Feld anderweitig initialisiert werden soll.

Code: Alles auswählen.

lt_data2 = CORRESPONDING #( lt_data1 ).
MODIFY lt_data2 FROM VALUE linestructure_from_lt_data2( spras = 'E' ) TRANSPORTING spras WHERE spras <> 'E'.
oder wenn du zufällig ein Feld mit der Zeilenstruktur von lt_data2 hast einfacher/übersichtlicher via 3 Zeilen

Code: Alles auswählen.

lt_data2 = CORRESPONDING #( lt_data1 ).
ls_data2-spras = 'E'.
MODIFY lt_data2 FROM ls_data2 TRANSPORTING spras WHERE spras <> 'E'.

Folgende Benutzer bedankten sich beim Autor black_adept für den Beitrag (Insgesamt 2):
ralf.wenzelIcke0801

live long and prosper
Stefan Schmöcker

email: stefan@schmoecker.de

Re: CORRESPONDING mit Festwert

Beitrag von black_adept (Top Expert / 4099 / 128 / 941 ) »
Nachtrag: Auch wenn Ralf es nicht verwenden kann - in modernen Releaseständen geht auch folgendes mit einem Befehl:

Code: Alles auswählen.

SELECT itab~*,
       'E' AS spras
  FROM @lt_data AS itab
  INTO CORRESPONDING FIELDS OF TABLE @lt_data2.

Folgende Benutzer bedankten sich beim Autor black_adept für den Beitrag (Insgesamt 2):
Thomas R.Icke0801

live long and prosper
Stefan Schmöcker

email: stefan@schmoecker.de

Re: CORRESPONDING mit Festwert

Beitrag von ralf.wenzel (Top Expert / 3935 / 200 / 281 ) »
Mit einer LOKALEN Tabelle???

Ralf
Bild
Ralf Wenzel Heuristika SAP-Development
25 Jahre SAP-Entwickler • 20 Jahre Freiberufler
PublikationenUngarische NotationXing

Re: CORRESPONDING mit Festwert

Beitrag von black_adept (Top Expert / 4099 / 128 / 941 ) »
Ich sag ja - "modernes Release". --> Doku zu SQL unter Release 7.52, dort der 1. Punkt
live long and prosper
Stefan Schmöcker

email: stefan@schmoecker.de

Seite 1 von 1

Vergleichbare Themen

0
Antw.
1569
Views
Festwert im ALV-Grid auflösen
von Hansi4u » 10.01.2006 20:54 • Verfasst in Dialogprogrammierung
6
Antw.
1824
Views
neues Attribute einer int. Tabelle hinzufügen und mit Festwert vorbelegen
von MarkusW » 04.01.2024 15:56 • Verfasst in ABAP Objects®

Über diesen Beitrag



Unterstütze die Community und teile den Beitrag für mehr Leser und Austausch

Aktuelle Forenbeiträge

Regex in where
vor 2 Stunden von tar 8 / 179
Daten an Tabelle binden
Gestern von Bright4.5 3 / 1489

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

Regex in where
vor 2 Stunden von tar 8 / 179
Daten an Tabelle binden
Gestern von Bright4.5 3 / 1489

Unbeantwortete Forenbeiträge

aRFC im OO-Kontext
vor 5 Wochen von ralf.wenzel 1 / 3261
Hilfe bei SWEC/SWE2
September 2024 von retsch 1 / 9822