ABAPCONVERT_DATE_TIME-STAMP - CONVERT DATE TIME-STAMP
CL_GUI_FRONTEND_SERVICES - Frontend Services RFUMSV00 - Advance Return for Tax on Sales/PurchasesDiese Dokumentation steht unter dem Copyright der SAP AG.
CONVERT DATE
Syntax
CONVERT DATE dat [TIME tim [DAYLIGHT SAVING TIME dst]]
INTO TIME STAMP time_stamp TIME ZONE tz.
Zusatz:
Wirkung
Diese Anweisung interpretiert ein in dat angegebenes Datum, eine in tim angegebene Zeitund eine in dst angegebene Sommerzeitmarkierung als lokale Datums- und Zeitangabe für die in tz angegebene Zeitzone, konvertiert diese in dieUTC-Referenzzeit und weist das Ergebnis alsZeitstempel der Variablen time_stamp zu. Bei dat und tim handelt es sich umfunktionale Operandenpositionen.
Für dat und tim werden Operanden vom Datentyp d bzw. t erwartet.Operanden anderer Typen werden nach d bzw. t konvertiert. Falls der Zusatz TIME nicht angegeben ist, wird für tim implizit die initiale Zeit "000000" verwendet. Falls dat oder timungültigeWerte enthalten, wird time_stamp nicht geändert und sy-subrc auf 12 gesetzt.In tim sind nur die Werte 00 bis 23 für die Stunden und 00 bis 59 für die Minuten und Sekunden gültig.
Für tz muss ein Operand vom Typ TIMEZONE aus dem ABAP Dictionary angegeben werden, das eine Zeitzone aus der Spalte TZONE der DatenbanktabelleTTZZ in Großbuchstaben enthält. Bei tz handelt es sich ebenfalls um einefunktionaleOperandenposition. Ist tz initial, wird die in dat und tim angegebene Zeitals UTC-Referenzzeit aufgefasst und sy-subrc auf 4 gesetzt. Wird die angegebene Zeitzone nicht in der Datenbanktabelle TTZZ gefunden, wird time_stamp nicht geändert und sy-subrc auf 8 gesetzt. Ist dasRegelwerk für die angegebene Zeitzone nicht vollständig, kommt es zu einer unbehandelbaren Ausnahme.
Das Datenobjekt time_stamp muss entweder den DatentypTIMESTAMP oderTIMESTAMPL aus dem ABAP Dictionary entsprechend ABAP-Typ p der Länge 8 bzw. p der Länge 11 mit siebenNachkommastellenhaben. Wenn time_stamp vom Datentyp TIMESTAMPL für die Langform ist, werden die Sekundenbruchteile in den Nachkommastellen bei der Zuweisung initialisiert.
Hinweis
Eine Konvertierung von Datumsangaben für die wegen der Umstellung vom Julianischen auf den GregorianischenKalender eigentlich nicht vorhandenen Tage vom 5.10.1582 bis zum 14.10.1582 ergibt die gleichen Ergebnisse wie die Konvertierung der vorhandenen Tage vom 15.10.1582 bis zum 24.10.1582.
Systemfelder
| sy-subrc | Bedeutung |
| 0 | Lokale Zeit der angegebenen Zeitzone wurde in Zeitstempel konvertiert und dem Zielfeld zugewiesen. |
| 4 | Zeitangabe wurde ohne Zeitverschiebung in Zeitstempel konvertiert und dem Zielfeld zugewiesen. |
| 8 | Zeitangabe konnte nicht konvertiert werden, da die angegebene Zeitzone nicht in der Datenbanktabelle TTZZ vorhanden ist. |
| 12 | Zeitangabe konnte nicht konvertiert werden, da dat, tim oder dst ungültige oder inkonsistente Werte enthalten. |
Zusatz
... DAYLIGHT SAVING TIME dst
Wirkung
Hinter TIME kann der Zusatz DAYLIGHT SAVING TIME angegeben werden, um das Verhalten derAnweisung bezüglich der Sommerzeit zu steuern. Für dst muss ein Datenobjekt vom Typ c der Länge 1 angegeben werden, das entweder den Wert "X" oder " " haben muss.
- Falls dst den Wert "X" hat, wird der Wert von tim als Zeitangabe in der Sommerzeit aufgefasst.
- Falls dst den Wert " " hat, wird der Wert von tim als Zeitangabe in der Winterzeit aufgefasst.
Wenn dst einen anderen Wert enthält oder der Wert von dst nicht zur Angabe in tim,dat und tz passt, wird time_stamp nicht geändert und sy-subrc auf12 gesetzt. Die Angabe in dst passt beispielsweise nicht zu den anderen Angaben, wenn der Wert"X" angegeben ist, die Angaben in tim, dat und tz aber einen Zeitstempel im Winterhalbjahr der nördlichen Hemisphäre beschreiben.
Falls tz eine Zeitzone ohne Sommerzeitregel enthält (z.B. bei Angabe derUTC-Referenzzeitüber "UTC"), wird der Zusatz ignoriert. Falls der Zusatz DAYLIGHT SAVING TIME nicht angegebenist, wird der Wert von dst für Angaben in tim und dat in der Sommerzeitimplizit auf "X" und für Angaben in der Winterzeit auf " " gesetzt. In der doppelten Stunde beider Umstellung von Sommerzeit auf Winterzeit wird er auf "X" gesetzt und die Angabe in tim und dat als Zeitangabe in der Sommerzeit aufgefasst.
Hinweise
- Aktuelle benutzerbezogene lokale Zeitangaben und die zugehörige lokale Zeitzone könnenden Systemfeldern sy-datlo,sy-timlound sy-zonlo entnommen werden.
- Mit der Angabe von Sommer- und Winterzeit hinter DAYLIGHT SAVING TIME können aus gleichenlokalen Zeitangaben innerhalb der doppelten Stunde bei der Umstellung von Sommer- auf Winterzeit unterschiedliche UTC-Zeitstempel erstellt werden.
- Bei der Umstellung von Winter- auf Sommerzeit wird in der Regel eine Stunde ausgelassen. So wird z.B.in der Zeitzone "CET" im Jahr 2009 am 29.3. die Stunde von 2:00 auf 3:00 Uhr ausgelassen. Wird versucht,eine Zeit während dieser fehlenden Stunde zu konvertieren, wird die Anweisung immer mit dem Wert 12 für sy-subrc abgebrochen, da es diese Zeit bzw. diesen lokalen Zeitstempel nicht gibt.
Beispiel
Für die Zeitzone "BRAZIL" gelten die im Beispiel zu CONVERTTIME STAMP beschriebenen Einstellungen im Regelwerk für Zeitstempel. Aus einer lokalenZeitangabe werden über die Angabe von Sommer- und Winterzeit zwei unterschiedliche UTC-Zeitstempel- "20030309033000" und "20030309043000" - erzeugt. Ohne den Zusatz DAYLIGHT SAVING TIME wird der UTC-Zeitstempel "20030309033000" erzeugt.
DATA: time_stamp TYPE timestamp,
dat TYPE d,
tim TYPE t,
tz TYPE ttzz-tzone.
tz = 'BRAZIL'.
dat = '20030309'.
tim = '013000'.
CONVERT DATE dat TIME tim DAYLIGHT SAVING TIME 'X'
INTO TIME STAMP time_stamp TIME ZONE tz.
WRITE: / time_stamp.
CONVERT DATE dat TIME tim DAYLIGHT SAVING TIME ' '
INTO TIME STAMP time_stamp TIME ZONE tz.
WRITE: / time_stamp.
Ausnahmen
Unbehandelbare Ausnahmen
- Ursache: Inkonsistente Steuertabellen für die Konvertierung.
Laufzeitfehler: CONVERT_TSTMP_INCONSISTENT_TAB
SUBST_MERGE_LIST - merge external lists to one complete list with #if... logic for R3up ROGBILLS - Synchronize billing plans
Diese Dokumentation steht unter dem Copyright der SAP AG.
Length: 9863 Date: 20120526 Time: 193306 triton ( 204 ms )






