xsd:dateTime Zeitstempel in TIMESTAMPL umwandeln

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

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

xsd:dateTime Zeitstempel in TIMESTAMPL umwandeln

Beitrag von ewx (Top Expert / 4786 / 294 / 629 ) »
Hallo!

Kennt jemand einen Baustein, mit dem man eine xsd:dateTime Zeitangabe in einen SAP-Zeitstempel umwandeln kann?
Also beispielsweise sowas: 2001-10-26T19:32:52+02:00

Ich habe zwar folgende Klassen gefunden, aber die erwarten das xsd:date in einem rein numerischen Format:
CL_SMT_TRANS_XSD_DATE_TIME_IN
CL_SMT_TRANS_XSD_DATE_TIME_OUT

Danke

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


Re: xsd:dateTime Zeitstempel in TIMESTAMPL umwandeln

Beitrag von ewx (Top Expert / 4786 / 294 / 629 ) »
Habe den folgenden Code gefunden, der das Problem löst:

Code: Alles auswählen.

REPORT.



*----------------------------------------------------------------------*
*       CLASS l DEFINITION
*----------------------------------------------------------------------*
CLASS l DEFINITION.
  PUBLIC SECTION.
    CLASS-METHODS conv_xsd_date_time IMPORTING i_value       TYPE any
                                               i_value_conv  TYPE any OPTIONAL
                                     EXPORTING e_value       TYPE any.
ENDCLASS.                    "l DEFINITION

*----------------------------------------------------------------------*
*       CLASS l IMPLEMENTATION
*----------------------------------------------------------------------*
CLASS l IMPLEMENTATION.
  METHOD conv_xsd_date_time.
    DATA l_xstring            TYPE xstring.
    DATA lr_xml               TYPE REF TO if_proxy_sxml_stream.
    DATA lr_data              TYPE REF TO data.
    FIELD-SYMBOLS <l_data>    TYPE data.
    lr_xml = cl_proxy_sxml_factory=>create_sxml_stream( ).
    IF i_value_conv IS SUPPLIED.
      CREATE DATA lr_data LIKE i_value_conv.
      ASSIGN lr_data->* TO <l_data>.
      <l_data> = i_value.
      lr_xml->abap_to_xml( abap_data = <l_data> ).
    ELSE.
      lr_xml->abap_to_xml( abap_data = i_value ).
    ENDIF.
    l_xstring = lr_xml->get_output( ).
    lr_xml = cl_proxy_sxml_factory=>create_sxml_stream( l_xstring ).
    lr_xml->xml_to_abap( IMPORTING abap_data = e_value ).
  ENDMETHOD.                    "conv_xsd_date_time
ENDCLASS.                    "l IMPLEMENTATION


PARAMETERS p_xsddt TYPE xsddatetime_iso DEFAULT '2005-01-01T13:00:00.0000000+01:00'.

START-OF-SELECTION.

  DATA datetime TYPE xsddatetime_z.

  l=>conv_xsd_date_time( EXPORTING i_value = p_xsddt
                         IMPORTING e_value = datetime ).

  BREAK-POINT.
Geklaut aus: Klasse CL_SRT_BIZTALK_TESTS=>ATT3_BDT_RET_DATE_TIME_OFFSET
Bzw. Lokale Klasse lcl_srt_helper_datatype.

Seite 1 von 1

Vergleichbare Themen

1
Antw.
4250
Views
Zeitstempel TIMESTAMP und TIMESTAMPL
von KleinerEisbaer » 15.09.2008 12:53 • Verfasst in ABAP® für Anfänger
1
Antw.
190
Views
BP Role mit Zeitstempel
von ABAPlerv » 12.04.2023 07:57 • Verfasst in ABAP® für Anfänger
6
Antw.
6688
Views
Datumsfeld zum Zeitstempel konvertieren
von kaim77 » 04.12.2012 12:07 • Verfasst in ABAP® Core
15
Antw.
5323
Views
Konvertierten Zeitstempel in ALV Grid
von Romy » 27.03.2014 09:13 • Verfasst in ABAP® für Anfänger
2
Antw.
2598
Views
Zeitstempel in der TSP01 (Zeitzone?)
von miru77 » 17.07.2012 10:40 • Verfasst in ABAP® für Anfänger

Über diesen Beitrag

ewx
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.