Dynamische Konvertierung von "String" auf "urspr. Datentyp"

Die Frage ist als "gelöst" markiert. Den entsprechend Beitrag findest du hier.

Die Objektorientierung mit ABAP®: Vererbung, Dynamische Programmierung, GUI Controls (u.a. ALV im OO).
8 Beiträge • Seite 1 von 1
8 Beiträge Seite 1 von 1

Dynamische Konvertierung von "String" auf "urspr. Datentyp"

Beitrag von Steffen (ForumUser / 28 / 1 / 0 ) »
Hallo zusammen,

für das Thema "Dynamische Konvertierung von "String" auf "ursprünglichen Datentyp" benötige ich Eure Hilfe.


Ausgangssituation:

Aufbau meiner Struktur ist z.B.:

Code: Alles auswählen.

]
Types:  Begin of ty_test,
	     no	type 	i,
	     descr	type 	string,
	    dat	type 	dats,
	    float	type 	f,
          End of ty_test.
Diese Struktur mit entsprechenden Werten, wird an einen Funktionsbaustein übergeben, welcher Feldname und -Wert in einer internen Tabelle zurückliefert - allerdings sind die zurückgelieferten Werte alle im Format "String". - z.B.:

no = '1234'
descr = 'Test'
dat = '23.08.2018'
float = '2.00'

Möchte ich nun diese Werte zurück in meine Struktur übernehmen, gibt es teilweise Probleme wegen der Konvertierung - z.B. beim Datum.


Meine Frage:

Existiert eine Möglichkeit vor der Übergabe an meine Struktur die Werte zunächst von "String" in das entsprechende Ausgangsformat dynamisch zu konvertieren?

Beste Grüße
Steffen

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


Re: Dynamische Konvertierung von "String" auf "urspr. Datent

Beitrag von ralf.wenzel (Top Expert / 3924 / 200 / 280 ) »
Jepp. Mit RTTI das Format des Zielfeldes ermitteln und dann formatspezifisch Konvertierungsroutinen verwenden.


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

Re: Dynamische Konvertierung von "String" auf "urspr. Datent

Beitrag von ewx (Top Expert / 4844 / 311 / 640 ) »
okay. zu lange getippt...

hier dann noch mal die Detailfassung von Ralfs Vorschlag:

Du kannst dir mit RTTI (Run Time Type Description) die Infos zur Struktur holen (Entweder direkt zur Struktur oder zum Laufzeitobjekt).
https://www.tricktresor.de/blog/laufzei ... e-tabelle/
https://help.sap.com/doc/abapdocu_751_i ... _abexa.htm

Da müsste auch irgendwo der notwendige Konvertierungsexit stehen.
Den entsprechenden Funktionsbaustein CONVERSION_EXIT_xyz_INPUT kannst du dynamisch aufbauen und aufrufen und so die Werte umwandeln.

Alternative: Verwende als Rückgabestruktur für deinen Fuba
FELDNAME
WERT_EXT (24.08.2018 / 1.000,01 )
WERT_INT (20180824 / 1000.01 )

sofern möglich. Dann ist eine direkt "Rückzuweisung" über WERT_INT möglich.

Re: Dynamische Konvertierung von "String" auf "urspr. Datent

Beitrag von Steffen (ForumUser / 28 / 1 / 0 ) »
Vielen Dank für Eure Rückmeldung.

In Richtung "CONVERSION_EXIT" habe ich schon ein paar Tests zuvor gemacht, doch leider bin ich da nicht wirklich weiter gekommen.

Bleiben wir bitte einmal kurz bei dem Beispiel mit dem "Datum".

In meiner Struktur habe ich ein Datumsfeld mit der Domäne "Dats".
z.B.: Wert: 20180824

Der FuBa liefert mir nun das Datum als String zurück.
z.B.: Wert: 24.08.2018

Mein Problem was ich nun hatte ist, dass die Domäne "Dats" keine Konvertierungsroutine hat.

Verstehe ich das richtig, dass die dynamische Konvertierung nur mit Domänen funktioniert, die eine Konvertierungsroutine besitzt?

Beste Grüße
Steffen

Re: Dynamische Konvertierung von "String" auf "urspr. Datent

Beitrag von ewx (Top Expert / 4844 / 311 / 640 ) »
Die Logik wirst du tatsächlich zusätzlich programmieren müssen, also je Datentyp die entsprechende.
z.B. für Datum: https://www.se80.co.uk/sapfms/c/conv/co ... ternal.htm

Ich wüsste tatsächlich grad nicht, wie man die impliziten Konvertierungsroutinen der ABAP-Typen aufrufen könnte.

Es gibt noch einen Funktionsbaustein, dem man das Datenelement und den Wert mitgibt und dann die entsprechende Umwandlung macht. Müsste ich noch mal suchen...

Re: Dynamische Konvertierung von "String" auf "urspr. Datent

Beitrag von ewx (Top Expert / 4844 / 311 / 640 ) »
ewx hat geschrieben: Es gibt noch einen Funktionsbaustein, dem man das Datenelement und den Wert mitgibt und dann die entsprechende Umwandlung macht. Müsste ich noch mal suchen...
Hier isser: RS_CONV_EX_2_IN_DTEL

Re: Dynamische Konvertierung von "String" auf "urspr. Datent

Beitrag von Steffen (ForumUser / 28 / 1 / 0 ) »
ewx hat geschrieben:
ewx hat geschrieben: Es gibt noch einen Funktionsbaustein, dem man das Datenelement und den Wert mitgibt und dann die entsprechende Umwandlung macht. Müsste ich noch mal suchen...
Hier isser: RS_CONV_EX_2_IN_DTEL
Vielen Dank nochmals der Hinweis hat mir weitergeholfen.

Re: Dynamische Konvertierung von "String" auf "urspr. Datent

Beitrag von deejey (Specialist / 422 / 129 / 45 ) »
Dass ermittelte Werte aufbereitet zurückgeliefert werden ist unüblich. Und Werte die 1:1 einfach aufbereitet werden muss man ja nicht zurückwandeln, man hat sie ja bereits im Original verfügbar, wozu das?

Seite 1 von 1

Vergleichbare Themen

0
Antw.
1356
Views
Dynamische Konvertierung von "String" auf "ursprünglichen Da
von Steffen » 24.08.2018 08:59 • Verfasst in ABAP Objects®
7
Antw.
455
Views
Konvertierung von Datentyp mit CONV
von Julia.hrtm » 20.11.2024 10:49 • Verfasst in ABAP® für Anfänger
2
Antw.
554
Views
Dynamische Select Abfrage mit String Variabel
von frankoline » 27.04.2023 10:56 • Verfasst in ABAP® für Anfänger
2
Antw.
3547
Views
Datentyp TIMS
von Mrs. Hilflos » 02.10.2007 13:17 • Verfasst in ABAP® Core
15
Antw.
5749
Views
Datentyp-Problem?
von Tharya » 15.08.2006 08:16 • Verfasst in ABAP® für Anfänger

Über diesen Beitrag


Die Frage ist als "gelöst" markiert. Den entsprechend Beitrag findest du hier.

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.

Unbeantwortete Forenbeiträge

Daten an Tabelle binden
Gestern von Bright4.5 1 / 515
aRFC im OO-Kontext
vor 4 Wochen von ralf.wenzel 1 / 2149
Hilfe bei SWEC/SWE2
letzen Monat von retsch 1 / 8744