-
Wie willst Du es denn andrucken, mit oder ohne Trennzeichen?
Ist das Feld alpha oder numerisch?
Code:
/Free
MyCharDate = %Char(%Date(NumDate: *ISO): *EUR); //TT.MM.JJJJ
MyNumDate = %Dec(%Date(NumDate: *ISO): *EUR); //TTMMJJJJ
/End-Free
MyCharDate ist 10A
MyNumDate ist 8,0
Birgitta
-
Danke Birgitta.
Das Feld ist numerisch, und trennen wollte ich es per EDTCDE in der printerfile.
Probiere es jetzt mal aus
-
Ich habe es jetzt mal so reingeschrieben:
ZZDATE = %dec(%Date(SKBDAT: *ISO): *EUR);
ZZDATE ist intern mit 8S 0 deklariert
SKBDAT ist das Feld in der physical file, welches die Zahlen enthält.
Fehler beim programmabruf:
Darums-, Zeit- oder Zeitmarkenwert ist ungültig.
Kann es sein, das dies nicht funktionieren kann, weil SKBDAT ein beliebiges 8S 0 num Feld ist, wo einfach Daten wie "20121011" per upddta reingeschrieben worden ?
-
Also man kann das auch anders machen
D DAT1 S D DATFMT(*ISO)
D DAT2 S D DATFMT(*EUR)
MOVEL SKBDAT DAT1
MOVEL DAT1 DAT2
MOVE DAT2 ZZDATE
Wichitg ist dafür nur das in SKBDAT gültige Werte enthält also 0 oder 20120231 wird nicht funktionieren?
Desweiteren würde ich dir empfehlen, das ZZDATE nicht num. zu definieren sondern 10A und dann DAT2 über die Funktion %CHAR.
Ganz billige Alternative über Datenstrukturen. Geht immer
-
Das sieht schonmal gut aus, danke.
Aber du sagst das Werte wie "0" oder "20121011" nicht funktionieren würden ?
Das Problem ist ja, das SKBDAT genau diese Werte enthält 
Also in SKBDAT stehen halt die Daten im Format 20121011, welche ich gerne in 11102012 hätte....
-
 Zitat von Jokersams
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
Code:
/Free
Monitor;
MyNumDate = %Dec(%Date(NumDatum: *ISO): *EUR);
On-Error;
//Ungültiges Datum
EndMon;
/End-Free
-
Versuchs mal so ...
Nimm Brigitta's Beispiel
Code:
/Free
MyCharDate = %Char(%Date(NumDate: *YYMD): *EUR); //TT.MM.JJJJ
MyNumDate = %Dec(%Date(NumDate: *YYMD): *EUR); //TTMMJJJJ
/End-Free
Anstelle der *ISO Definition schreibst Du *YYMD rein.
kf
-
Was soll das YYMD denn genau bewirken ?
Bekomm jedenfalls hier die Meldung, dass das Token ungültig ist und ein Operand erwartet, aber nicht gefunden wurde...
RPG ist schon anstrengend :>
Danke für die Antworten
-
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.
kf
-
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
-
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!
-
Ah, ok... tut mir leid.
Anscheinend nur flüchtig drübergeschaut 
Habs jetzt mit den Datenstrukturen gemacht, funktioniert auch soweit.
Danke an alle
Similar Threads
-
By I0N in forum NEWSboard Programmierung
Antworten: 2
Letzter Beitrag: 21-11-06, 13:44
-
By steven_r in forum NEWSboard Programmierung
Antworten: 1
Letzter Beitrag: 20-11-06, 19:37
-
By heini in forum IBM i Hauptforum
Antworten: 3
Letzter Beitrag: 30-09-06, 11:10
-
By jjagi in forum IBM i Hauptforum
Antworten: 6
Letzter Beitrag: 07-07-06, 09:29
-
By JonnyRico in forum IBM i Hauptforum
Antworten: 5
Letzter Beitrag: 27-04-06, 13:45
Berechtigungen
- Neue Themen erstellen: Nein
- Themen beantworten: Nein
- You may not post attachments
- You may not edit your posts
-
Foren-Regeln
|
Erweiterte Foren Suche
Google Foren Suche
Forum & Artikel Update eMail
AS/400 / IBM i
Server Expert Gruppen
Unternehmens IT
|
Kategorien online Artikel
- Big Data, Analytics, BI, MIS
- Cloud, Social Media, Devices
- DMS, Archivierung, Druck
- ERP + Add-ons, Business Software
- Hochverfügbarkeit
- Human Resources, Personal
- IBM Announcements
- IT-Karikaturen
- Leitartikel
- Load`n`go
- Messen, Veranstaltungen
- NEWSolutions Dossiers
- Programmierung
- Security
- Software Development + Change Mgmt.
- Solutions & Provider
- Speicher – Storage
- Strategische Berichte
- Systemmanagement
- Tools, Hot-Tips
Auf dem Laufenden bleiben
|
Bookmarks