SAP Jobsuche bei DV-Treff
SteUm
  • SteUm
  • SAP Forum - Experte Thema Starter
vor 5 Jahre
Hallo

ich habe in meiner Query ein Datumsfeld.

Ich möchte jetzt anhand dem Datum berechnen, wie viele Tage das im Vergleich zum aktuellen Datum ist...

z.B. steht in dem Feld 11.04.2019

Heute haben wir den 30.04.2019

Ergebnis soll dann 19 Tage sein.

Das Feld ist hat folgende Bezeichnung EQUI-DATLWB

Danke euch allen

wreichelt
vor 5 Jahre
Hallo,

über ein Zusatzfeld :

data: dauer(3) type p.

Dauer = sy-datum - EQUI-DATLWB.

Gruß Wolfgang

SteUm
  • SteUm
  • SAP Forum - Experte Thema Starter
vor 5 Jahre
Hi Wolfgang,

sollte das im InfoSet gemacht werden oder in der Query?

Wenn in der Query was muss ich da nochmal wie machen?

Wenn im Infoset was muss ich da nochmal wie machen?

Sorry - ich mach das das erste mal.

wreichelt
vor 5 Jahre
Hallo,

also in dem Infoset : über Zusätze -> Zustazfeld definieren (dauer) -> Zusatzfeld Coding anlegen

( dauer = sy-datum - EQUI-DATLWB.

Das Zusatzfeld dann in die Feldgruppe aufnehmen und dann steht es auch in der Query zur Verfügung.

Gruß Wolfgang

SteUm
  • SteUm
  • SAP Forum - Experte Thema Starter
vor 5 Jahre
HI,

also Zusatzfeld definieren hat geklappt

Jetzt hat auch das Coding funktioniert und ich konnte es der feldgruppe zuordnen aber ich kanns jetzt im Query nicht als Listausgabe setzen.

wreichelt
vor 5 Jahre
Hallo,

dann bitte mal die SQ01 verlassen und neu aufrufen.

Das Infoset würde auch aktiviert ?

Gruß Wolfgang

SteUm
  • SteUm
  • SAP Forum - Experte Thema Starter
vor 5 Jahre
Hi hab ich gemacht - das Feld wird unter Selektionsfelder angezeigt sonst aber nicht
wreichelt
vor 5 Jahre
Hallo,

jetzt wird es für mich problematisch

https://www.abapforum.com/forum/viewtopic.php?t=21548 

Bitte prüfen ob das Zustzfeld an der richtigen Stelle definiert wurde.

Gruß Wolfgang

SteUm
  • SteUm
  • SAP Forum - Experte Thema Starter
vor 5 Jahre
Hi Wolfgang,

jetzt konnte ich es für die Ausgabe in der Query einstellen und es wird auch berechnet aber wäre es auch möglich das ich wenn im Feld EQUI-DATLW 00.00.0000 steht im Feld Dauer was anders als 737182 drinnen stehen habe?

z.B. wenn 00.00.0000 dann nichts berechnen?

Danke dir für die Super Hilfe

wreichelt
vor 5 Jahre
Hallo,

das Coding müßte dann geändert werden:

if equi-datlwb is initial.

dauer = 0.

else.

Dauer = sy-datum - EQUI-DATLWB.

endif.

freut mich wenn es soweit funktioniert.

Gruß Wolfgang

SteUm
  • SteUm
  • SAP Forum - Experte Thema Starter
vor 5 Jahre
Super - danke für die Hilfe - klappt jetzt auf mit der 0 Berechnung

herzliches Dankeschön

Horst_1959
vor 5 Jahre
Moin,

man kann auch einfach den Funktionsbaustein 'SD_DATETIME_DIFFERENCE' einsetzen.

Gruß HK

SanduhrAnzeigeProgramm
vor 5 Jahre
In dem Kontext bitte auf die unterschiedlichen Auswirkungen der Verwendung von Sy-datum und sy-datlo achten.

Ich nutze sy-datum nur noch in speziellen Anwendungsfällen, und mittlerweile ist sy-datlo der "Standard" bei mir.


*... who can do field replacements in the debugger can do anything in the system

*so this check can not stop (him) anyway.

wreichelt
vor 5 Jahre
Hallo SanduhrAnzeigeProgramm,

Danke für den Hinweis, war mir nicht bekannt.

aber ich mache SAP erst seit 1987.

Gruß Wolfgang

SanduhrAnzeigeProgramm
vor 5 Jahre
Zitat von: wreichelt 

...

Danke für den Hinweis, war mir nicht bekannt.

aber ich mache SAP erst seit 1987...

Mein Kommentar war an den TE gerichtet, da er ja mit dem Thema ganz offensichtlich nicht so bewandert ist.

Warum dich mein Kommentar in deiner langjährigen Berufsehre kränkt, kann ich leider nicht nachvollziehen.

Wenn ich dir also wirklich auf den "Schlips" getreten bin, möchte ich mich hiermit entschuldigen. Das war wirklich nicht beabsichtigt.

Gerne kannst du mir per PN schreiben, falls es irgendwelche Animostäten aus älteren Threads gibt, da ich deine Reaktion im aktuellen Kontext nicht einordnen kann!?


*... who can do field replacements in the debugger can do anything in the system

*so this check can not stop (him) anyway.

wreichelt
vor 5 Jahre
Hallo,

nein alles gut, ich kannte sy-datlo wirklich nicht bzw. hab’s bestimmt vergessen.

Gruß Wolfgang

Horst_1959
vor 5 Jahre
Hallo SandUhrAnzeigeprogramm

Du meinst mich mit TE?

Als Ahnungsloser habe ich mir angewöhnt alle Zeiten in UTC zu rechnen. Ich fühle mich auch nicht auf den Schlips getreten, da ich ja SAP R3 erst seit 1998 mache. Vorher habe ich mich ein klein wenig mit R2 beschäftigt und 1976 meine ersten Lochkarten durch eine 360iger IBM laufen lassen - damals noch mit PLI.

Ich denke mal das ich Dir für den Hinweis mit sy-datum und sy-datlo jetzt fürchterlich zum Dank verpflichtet bin. Aber trotzdem denke ich immer noch UTC tut es auch und das sogar auf der ganzen Weltkugel.

Was mir aber fehlt ist das Wissen was Du mit TE meinst. Ich kenne mich in der Jugendsprache nicht so aus. Da habe ich eine echte Bildungslücke. Kannst es mir ja bei Gelegenheit erklären. ...

Gruß HK

SanduhrAnzeigeProgramm
vor 5 Jahre
Zitat von: Horst_1959 

Hallo SandUhrAnzeigeprogramm

Du meinst mich mit TE?

Als Ahnungsloser habe ich mir angewöhnt alle Zeiten in UTC zu rechnen. Ich fühle mich auch nicht auf den Schlips getreten, da ich ja SAP R3 erst seit 1998 mache. Vorher habe ich mich ein klein wenig mit R2 beschäftigt und 1976 meine ersten Lochkarten durch eine 360iger IBM laufen lassen - damals noch mit PLI.

Ich denke mal das ich Dir für den Hinweis mit sy-datum und sy-datlo jetzt fürchterlich zum Dank verpflichtet bin. Aber trotzdem denke ich immer noch UTC tut es auch und das sogar auf der ganzen Weltkugel.

Was mir aber fehlt ist das Wissen was Du mit TE meinst. Ich kenne mich in der Jugendsprache nicht so aus. Da habe ich eine echte Bildungslücke. Kannst es mir ja bei Gelegenheit erklären. ...

Gruß HK

Echt jetzt?

a)

TE = Thread-Ersteller = "Der der den Thread eröffnet hat" und somit die ursprüngliche Frage gestellt hat, auch "Anfangspost" genannt.

https://de.wikipedia.org/wiki/Thread_ (Internet)

Du warst also gar nicht gemeint!

b)

Ich weise auf Sy-Datlo hin und das ist so ein unglaubliche Kränkung der Ehre, dass man die gesamte jahrzehntelange Erfahrung im IT Umfeld darlegen muss um zu beweisen wie unangebracht das ist?

Dein Leben muss ja ganz schön unentspannt sein, wenn dich das schon in einen "Rechtfertigungsmodus" versetzt!?

Aber nochmals, du warst gar nicht gemeint!

c)

"Getroffene Hunde bellen"

Der Umfang deiner Ausführungen spricht Bände.

Und das, obwohl du gar nicht gemeint warst!


*... who can do field replacements in the debugger can do anything in the system

*so this check can not stop (him) anyway.