Default ist letzter Tag (sy-datum)

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

Default ist letzter Tag (sy-datum)

Beitrag von BabsiCSC (ForumUser / 86 / 0 / 0 ) »
Hallo,

Ich möchte in meinem Eingabefeld:
SELECT-OPTIONS:
so_datum FOR wa_zkat1010-datum_von DEFAULT sy-datum.
SELECTION-SCREEN END OF BLOCK selektion.

einen Defaultwert eingeben, der sich auf den Tag davor - d.h. auf den letzten Tag - bezieht!!

Wie mache ich das?
(mit default sy-datum bekomme ich logischerweise nur das akt. Datum)
Wie kann ich es daher so einstellen, dass als Datum immer ein Tag davor eingegeben ist?
Bzw. wie geht das mit dem letzten Arbeitstag?
D.h. wenn ich am Mo. den report aufrufe, dann soll als default der vorige Freitag eingegeben sein?

Bitte um Hilfe!!
:cry:
thx,
lg

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


Re: Default ist letzter Tag (sy-datum)

Beitrag von JHM (Top Expert / 1197 / 1 / 197 ) »
BabsiCSC hat geschrieben: Wie mache ich das?
Beim Ereignis INITIALITION das Datum berechnen und der Sel-Opt zuweisen.
Gruß Hendrik

Beitrag von BabsiCSC (ForumUser / 86 / 0 / 0 ) »
Hello,
Danke für dir rasche Antwort...
Aber: Wie mache ich das nun? :?
Bzw. wie sieht das Ganze aus? - Gibt's da ein Beispielcode dafür?
:(

thx,
lg

Beitrag von JHM (Top Expert / 1197 / 1 / 197 ) »
BabsiCSC hat geschrieben: Aber: Wie mache ich das nun? :?
Bzw. wie sieht das Ganze aus? - Gibt's da ein Beispielcode dafür?
hier die einfacheste Lösung:

Code: Alles auswählen.

SELECTION-SCREEN BEGIN OF BLOCK selektion.
SELECT-OPTIONS: so_datum FOR sy-datum.
SELECTION-SCREEN END OF BLOCK selektion.

INITIALIZATION.
* Tagesdatum vorbelegen
  CLEAR so_datum.
  so_datum-sign   = 'I'.
  so_datum-option = 'EQ'.
  so_datum-low    = sy-datum - 1.
  APPEND so_datum.
Für die Berechnung des letzten Arbeitstags gibt es FuBas die kenn ich gerade nicht auswendig. Such einmal im Forum, wurde schon öfters gepostet.
Gruß Hendrik

Beitrag von BabsiCSC (ForumUser / 86 / 0 / 0 ) »
Danke!!
... ich mach' das mal ...

lg

formatierte Datumsausgabe

Beitrag von BabsiCSC (ForumUser / 86 / 0 / 0 ) »
Hallo,
Danke für deine Hilfe!

Eine andere Frage bez. Datums- und Datumsausgaben hätte ich noch.
Wie kann ich das ordnungsgemäss ausgeben lassen?
So dass das ausgewählte Datum (so_datum) in der Ausgabe d. Reports leserlich angezeigt wird? Und nicht so wie es bis jetzt aufscheint (siehe screenshot)

Mit meinem bisherigen Code (`versuchen´ :oops: ) hat das noch nicht geklappt!??! (den timestamp möchte ich natürlich nicht ausgeben, sondern das so_datum..)
:(
-->

Code: Alles auswählen.

DATA:
  time_stamp TYPE timestamp,
*  datum      TYPE d,
  datum      LIKE sy-datum,
  zeit       LIKE sy-uzeit.

Code: Alles auswählen.

  CONVERT DATE so_datum TIME zeit DAYLIGHT SAVING TIME 'X'
          INTO TIME STAMP time_stamp TIME ZONE sy-zonlo.
  WRITE: / so_datum.

**CONVERT DATE so_datum [TIME zeit [DAYLIGHT SAVING TIME dst]]
**        INTO TIME STAMP time_stamp TIME ZONE tz.

  IF so_datum IS NOT INITIAL.
    WRITE: /.
*   Ausgewähltes Datum
    WRITE:/1 'Ausgewähltes Datum:'(014), so_datum.
    WRITE: /.
  ENDIF.
Danke!
lg

Re: formatierte Datumsausgabe

Beitrag von JHM (Top Expert / 1197 / 1 / 197 ) »
BabsiCSC hat geschrieben: Wie kann ich das ordnungsgemäss ausgeben lassen?
Schau dir bitte einmal den internen Aufbau einer Select-Options an. Alternative geht auch der Aufbau einer Range.

Es ist eine interne Tabelle mit Kopfzeile mit folgender Strucktur:
SIGN
OPTION
LOW
HIGH

Dann überleg noch einmal wie du die Ausgabe realisieren musst.


Für nur ein Intervall, geht die Ausgabe so:

Code: Alles auswählen.

WRITE: / 'von:', so_datum-low, 'bis: ', so_datum-high.
Was aber wenn ich zwei, oder mehr Intervalle eingebe. Select-options können auch Werte excludieren. Da wirds schnell komplex und schwierig alles per WRITE auszugeben.
Gruß Hendrik

Beitrag von BabsiCSC (ForumUser / 86 / 0 / 0 ) »
thx

ja, muss mir das noch genauer ansehen und lernen ..

lg

Beitrag von uh (Specialist / 158 / 0 / 1 ) »
Hallo Babsi,

hast du schon mal über eine Lösung via Variante nachgedacht? Wenn du beim speichern der Variante unter Selektionsvariable "D: Dynamische Datumsberechnung" wählst und dann F4 bei "Namer der Variablen.." machst, wirst du mit den tollsten Möglichkeiten belohnt. Darunter auch eine Variante, die mit Arbeitstagen rechnet. Ich glaube, dass war auch deine Anfangsfrage.
Außerdem kann man der Variante noch einen treffenden Namen geben und gerade bei Reports, die als Jobs laufen, ist das manchmal Gold wert.

Seite 1 von 1

Vergleichbare Themen

2
Antw.
2730
Views
Letzter Geburtstag
von PeterPaletti » 03.07.2024 08:50 • Verfasst in ABAP® für Anfänger
7
Antw.
11159
Views
SQL letzter Datensatz
von kostonstyle » 05.09.2008 14:17 • Verfasst in ABAP® für Anfänger
7
Antw.
6331
Views
Convert Gregorianisches Datum -> Julianisches Datum
von michael baum » 06.06.2005 09:25 • Verfasst in ABAP® Core
2
Antw.
2842
Views
Anzeige letzter Anmeldedaten
von blausieben » 13.09.2007 14:24 • Verfasst in Basis
2
Antw.
3492
Views
Berechnung letzter Tag im Monat
von gmsdd » 15.05.2007 09:20 • 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 8 Stunden von edwin 7 / 166
Daten an Tabelle binden
vor 22 Stunden von Bright4.5 3 / 1487

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 8 Stunden von edwin 7 / 166
Daten an Tabelle binden
vor 22 Stunden von Bright4.5 3 / 1487

Unbeantwortete Forenbeiträge

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