Sy-uzeit und Tage dazu

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

Sy-uzeit und Tage dazu

Beitrag von JohnLocklay (Specialist / 183 / 30 / 2 ) »
Guten Morgen.

Hier mal ne Frage die uns heute den morgen beschäftigt.
Eine Variable die auf sy-uzeit definiert ist sieht initial so aus 00:00:00.

Nach 86401 Sekunden (also 24 Stunden und einer sekunde)
würde das feld wieder so aussehen. 00:00:01.

Uns fehlt aus der Tag. Gibt es bei SAP ein Datenelement oder ein Systemfeld
oder ein Datentypen der DD/HH/mm/ss ausgibt?

Oder hat jemand eine Lösung zu der Fragestellung?
Dankbar für jede Hilfe

Euer JohnLocklay
Code once - Think twice

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


Re: Sy-uzeit und Tage dazu

Beitrag von Unit605 (Expert / 975 / 37 / 93 ) »
JohnLocklay hat geschrieben:
... ne Frage die uns heute den morgen beschäftigt.
Stichwort: "TIMESTAMP" <---- ABAP Editor und dann mit <F1> Hilfe zu Timestamp aufrufen.

Re: Sy-uzeit und Tage dazu

Beitrag von Haubi (Expert / 625 / 20 / 30 ) »
Timestamp ist natürlich am Besten. Wenn Du auf Felder des Typs D und T festgelegt bist gibt es die Möglchkeit, eine Umrechnung zu schreiben. Ich hatte mir dazu mal eine Klasse geschrieben, da ich vor dem gleichen Problem stand. Ich poste daraus mal die Methode "DATE_ADD_SECONDS".
Schnittstelle Importing:
ID_DATE (d) -> Datum
ID_TIME (t) -> Uhrzeit
ID_SECS (i) -> Anzahl Sekunden

Schnittstelle Exporting:
ED_DATE (d) -> Datum
ED_TIME (t) -> Uhrzeit

Code: Alles auswählen.

METHOD date_add_seconds.

  DATA
    : ld_days   TYPE i
    , ld_time   TYPE i
    , ld_secs   TYPE i
    .
  " Get target date...
  ld_days     = FLOOR( id_secs / sec_24h ).
  ed_date     = id_date + ld_days.
  ld_secs     = id_secs - ( ld_days * sec_24h ).

  " Get target time
  ld_time     = id_time + ld_secs.
  IF ld_time >= sec_24h.
    ld_time = ld_time - sec_24h.
    ed_date = ed_date + 1.
  ELSEIF ld_secs < 0.
    IF abs( ld_secs ) > id_time.
      ed_date = ed_date - 1.
    ENDIF.
  ENDIF.
  ed_time = ld_time.

ENDMETHOD.
Das ABAP Kochbuch ab sofort bei Amazon...

I'd rather write code that writes code than write code...

Re: Sy-uzeit und Tage dazu

Beitrag von JohnLocklay (Specialist / 183 / 30 / 2 ) »
hab dazu auch noch was gefunden

Code: Alles auswählen.

" Value 86400 = 1 Tag in Sekunden
  DATA: dayseconds  TYPE i VALUE 86400,
        timestamp   TYPE tzntstmpl,
        resultstamp TYPE tzntstmpl.

  GET TIME STAMP FIELD timestamp.

  "Berechnung
  TRY.
      resultstamp = cl_abap_tstmp=>subtractsecs(
          tstmp   = timestamp
          secs    = dayseconds
             ).
    CATCH cx_parameter_invalid_range .
    CATCH cx_parameter_invalid_type .
  ENDTRY.

die angegebene klasse zieht in Sekunden
einen Tag ab und gibt das ergebnis in eine neue Variable.
Hat mir sehr geholfen. ich gebs mal weiter.
Code once - Think twice

Seite 1 von 1

Vergleichbare Themen

4
Antw.
12718
Views
GET TIME STAMP / SY-UZEIT Unterschied?
von ST22 » 29.04.2015 09:42 • Verfasst in ABAP® für Anfänger
2
Antw.
2310
Views
Tagesarbeitszeitplanvariante für spezielle Tage
von supermario73 » 02.01.2008 11:50 • Verfasst in Human Resources
0
Antw.
1141
Views
S4/HANA in der Cloud / 14 Tage Trial
von Tron » 04.10.2019 21:27 • Verfasst in SAP - Allgemeines
7
Antw.
11764
Views
Sekunden, Minuten, Stunden, Tage zu Datum und Zeit addieren
von kullliiii » 01.08.2013 20:44 • Verfasst in ABAP® für Anfänger
3
Antw.
1494
Views
FUBA der Stunden oder Minuten oder Sekunden in Tage umrechnen
von autohandel7 » 31.05.2021 08:56 • Verfasst in ABAP® für Anfänger

Über diesen Beitrag


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

Aktuelle Forenbeiträge

Regex in where
vor 3 Stunden von edwin 7 / 163
Daten an Tabelle binden
vor 17 Stunden von Bright4.5 3 / 1486

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

Regex in where
vor 3 Stunden von edwin 7 / 163
Daten an Tabelle binden
vor 17 Stunden von Bright4.5 3 / 1486

Unbeantwortete Forenbeiträge

aRFC im OO-Kontext
vor 5 Wochen von ralf.wenzel 1 / 3261
Hilfe bei SWEC/SWE2
September 2024 von retsch 1 / 9821