Wertezuweisung in einer Klasse

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

Wertezuweisung in einer Klasse

Beitrag von Eddi (ForumUser / 8 / 0 / 0 ) »
Hi,

ich entwickel gerade eine Methode, an die ich Daten in einer Struktur übergebe.

Hierbei übergebe ich die Struktur selber als "type any" und den Namen der Struktur. Dieser ist beim Aufruf immer bekannt. Die Methode soll Operationen für unterschiedliche Strukturen dynamisch ausführen können.

Ich will nun in er Methode mit den Daten arbeiten und erzeuge dafür eine Referenz und Feldsymbol:

Code: Alles auswählen.

  data: DREF type ref to DATA.
  field-symbols:  <FS> type any.
  create data DREF type (IMP_STRUCTURE_NAME).
  assign DREF->* to <FS>.

  move CHG_STRUCTURE_DATA to <FS>.
IMP_STRUCTURE_NAME: Ist der Strukturname als Inportparameter
CHG_STRUCTURE_DATA: Beinhaltet die Daten der Struktur und wird als Typ any an die Methode weitergegeben


Ich habe in einem ausführbaren Programm mit erweiterer UNICODE Prüfung keine Probleme und die Wertzuweisung "move CHG_STRUCTURE_DATA to <FS>." erfolgt problemlos.

Bei einer SE24 erstellen Methode funktioniert das nicht. Dort klappt es nur, wenn ich die UNICODE Prüfung ausstelle, was ich aber nicht will.

Die Dump-Meldung besagt, das beide Typen nicht konvertierbar sind.

Könnte mir jemand sagen, wie ich in einer SE24 Methode eine Wertezuweisung durchführen kann, die UNICODE kompatible ist und den Fall abdeckt, dass die Quell und Zielstruktur nicht vom typ her identisch sind? Ich schein da ABAP-technisch nicht mehr ganz up-to-date zu sein.

Muchas gracias, Eddi

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


Beitrag von ewx (Top Expert / 4916 / 332 / 653 ) »
Hallo Eddi,

Probier mal die Zuweisung feld für feld zu machen mithilfe von Do. Assign component sy-index etc.

Gruß, Enno

Beitrag von edwin (Specialist / 306 / 12 / 68 ) »
Hallo Eddi,

Du kannst auch folgendes tun:

Code: Alles auswählen.

data: DREF type ref to DATA.
  field-symbols:  <FS>     type any.
  field-symbols:  <FS_imp> type any.    "Für die Input Daten


  create data DREF type (IMP_STRUCTURE_NAME).
  assign DREF->* to <FS>.

* damit werden die Inputdaten auf die richtige Struktur gecastet
  assign CHG_STRUCTURE_DATA to 
              <FS_imp> casting type (IMP_STRUCTURE_NAME).
* Statt direkte Zuweisung ein Umweg über das gekastete Feld-symbol !
  move <FS_imp> to <FS>.
Aber Vorsicht : die Changing Daten müssen auch in der
richtigen Struktur vorliegen, sonst bekommst Du nur Schrott.

Gruss Edwin

*edit:
Ich habe gerade "unterschiedliche Quell/Zielstruktur" gesehen,
vergiss mein Beitrag, mache es wie Enno vorgeschlagen hat !

Gruss Edwin

Seite 1 von 1

Vergleichbare Themen

5
Antw.
7227
Views
Klasse soll Typdefinition von anderer Klasse nutzen
von debianfan » 24.05.2017 11:30 • Verfasst in ABAP Objects®
1
Antw.
6015
Views
Lokale Klasse autom. in globale Klasse ändern
von JohnLocklay » 09.01.2019 09:10 • Verfasst in ABAP Objects®
8
Antw.
15215
Views
web service und klasse
von youno » 23.01.2012 13:03 • Verfasst in ABAP® für Anfänger
0
Antw.
3214
Views
Persistente Klasse
von Sertl » 28.08.2007 23:14 • Verfasst in ABAP Objects®
0
Antw.
15144
Views
Klasse CL_O2_DUMMY_CLASS
von JohnLocklay » 06.04.2020 11:12 • Verfasst in ABAP® Core

Über diesen Beitrag


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

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.