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 / 3776 / 176 / 262 ) »
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 / 4784 / 294 / 628 ) »
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 / 4784 / 294 / 628 ) »
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 / 4784 / 294 / 628 ) »
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 / 418 / 128 / 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.
1335
Views
Dynamische Konvertierung von "String" auf "ursprünglichen Da
von Steffen » 24.08.2018 08:59 • Verfasst in ABAP Objects®
2
Antw.
181
Views
Dynamische Select Abfrage mit String Variabel
von frankoline » 27.04.2023 10:56 • Verfasst in ABAP® für Anfänger
7
Antw.
494
Views
Speicherkapazität für Datentyp
von L0w-RiDer » 21.01.2020 09:16 • Verfasst in ABAP® für Anfänger
2
Antw.
3871
Views
Problem mit Datentyp P
von an4kh4 » 06.06.2007 10:58 • Verfasst in ABAP® für Anfänger
2
Antw.
3421
Views
Datentyp TIMS
von Mrs. Hilflos » 02.10.2007 13:17 • Verfasst in ABAP® Core

Ü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

Aktuelle Forenbeiträge

Zugriff auf Daten via Webdav
vor 15 Stunden von msfox 1 / 31
Interne Tabelle
vor 16 Stunden von sap_enthusiast 3 / 162
Zwischensumme Adobe Forms
vor 3 Tagen von Lucyalison 1 / 71

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

Zugriff auf Daten via Webdav
vor 15 Stunden von msfox 1 / 31
Interne Tabelle
vor 16 Stunden von sap_enthusiast 3 / 162
Zwischensumme Adobe Forms
vor 3 Tagen von Lucyalison 1 / 71

Unbeantwortete Forenbeiträge

Zugriff auf Daten via Webdav
vor 15 Stunden von msfox 1 / 31
Zwischensumme Adobe Forms
vor 3 Tagen von Lucyalison 1 / 71
Group Items auf einer Filterbar
vor einer Woche von Bright4.5 1 / 111