Anmelden

View Full Version : Datum "umdrehen"



Seiten : 1 [2]

camouflage
11-10-12, 10:03
Sorry, vergiss das obige posting - *yymd betrifft CL.

Definiere ein Feld z.b. D
D datum s d datfmt(*iso)

Move dein Datum in dieses Feld und verwende Birgittas Beispiel. Das sollte so funktionieren. Bei mir tut es jedenfalls.

malzusrex
11-10-12, 10:13
Nimm die Variante von ExAzubi und packe ein IF darum

If SKBDAT > *Zeros
MOVEL SKBDAT DAT1
MOVEL DAT1 DAT2
MOVE DAT2 ZZDATE
Else
Eval ZZDATE =*Zeros
EndIf

ExAzubi
11-10-12, 10:33
Ich habe nciht geschrieben 20121011 sondern 20120231 !!

Denn der 31.02.2012 ist kein gültiges Datum.

Am besten noch vorher eine Monitor-Group drumherum, dann kann ja nichts passieren!

Jokersams
11-10-12, 10:53
Ah, ok... tut mir leid.
Anscheinend nur flüchtig drübergeschaut :)
Habs jetzt mit den Datenstrukturen gemacht, funktioniert auch soweit.

Danke an alle

B.Hauser
11-10-12, 11:37
Fehler beim programmabruf:
Darums-, Zeit- oder Zeitmarkenwert ist ungültig.


Du kannst ein numerisches Feld auf ungültige Datumswerte prüfen (OpCode TEST(DE) ).

Einfacher ist es jedoch ungültige Datumswerte über eine Monitor-Group zu handeln. Das klappt sowohl bei den Built-In-Funktionen als auch bei den MOVE-Befehlen


/Free
Monitor;
MyNumDate = %Dec(%Date(NumDatum: *ISO): *EUR);
On-Error;
//Ungültiges Datum
EndMon;
/End-Free