-
Datum-Konvertierung free rpg
Ich habe ein 10-stelliges alphanumerisch Feld, welches ein Datum beinhaltet, z.B.: '2005-11-18' .
ich würde dieses Feld gerne in ein Datum-Feld konvertieren
*ISO.
Vorher sollte ich es wohl auf Plausibilität prüfen.
und das alles im free rpg.
wie gehe ich da vor ?
mfg. Ludger
-
Moin!
Erst mal prüfst Du den Inhalt mit
test(de) *iso meincharfeld;
if %error;
xxx
endif;
Dabei ist vorausgesetzt, dass Du das Datumsformat kennst. Falls nicht wirds halt ein bissle schwieriger.
Dann konvertierst Du den Inhalt mit
meindatumsfeld = %date(meincharfeld:*ISO);
Hoffe, ich hab das jetzt nach 6 grossen Feierabendbier noch ordentlich und richtig beschrieben ;-)
Grüsse
Martin
-
Hallo Martin,
auch die 6 Bier können Dir anscheinend nichts anhaben.
Die Lösung funktioniert.
Vielen Dank. Ludger
-
Monitor
Hallo,
man könnte auch auf die ganze Testerei mit TEST(DE) verzichten, und einen Fehler über eine Monitor Group abfangen.
PHP-Code:
/Free
Monitor;
MyDateField = %Date(MyCharField: *ISO);
On-Error;
// Konvertierungs-Fehler
EndMon;
Man sogar die einzelnen Error-Codes gezielt abfangen:
112: Datums-, Zeit- oder Zeitmarkenwert ist ungültig.
113: Eine Berechnung mit Datums-, Zeit- oder Zeitmarkendaten hatte einen Über- oder Unterlauf zur Folge
114: Die Jahresangabe eines Datums- oder Zeitmarkenwerts liegt nicht innerhalb des korrekten Bereichs.
Birgitta
-
Habe auch hier ein Problem:
$prodateur = %date($prodat:*EUR);
wenn ich jetzt den 30.02.2008 eingebe ist das ja ein Fehler den ich mit *PSSR abfange.
BegSr *pssr;
// ¯¯¯¯¯¯¯
if %status = 112;
$prodateur = *loval;
ERR_Datum = *on;
write bild01;
leavesr;
endif;
EndSr;
Er geht auch in diese Subroutine hinein...
Will dann eine Fehlernachricht schreiben und mit LeaveSR zum Exfmt zurück...
Sobald er aber die Subroutine verlässt kommt wieder die Fehlermeldung.
Was mache ich falsch?
Vielen Dank für Eure Hilfe...
-
Hallo,
das ist jetzt nicht die Antwort auf Deine Frage, aber ...
Warum machst Du es nicht so:
PHP-Code:
/Free
Monitor;
$prodateur = %date($prodat:*EUR);
On-Error;
$prodateur = *loval;
ERR_Datum = *on;
write bild01;
//Und was Du sonst noch im Fehlerfall machen willst
EndMon;
/End-Free
Birgitta
-
Zitat von B.Hauser
Hallo,
das ist jetzt nicht die Antwort auf Deine Frage, aber ...
Warum machst Du es nicht so:
PHP-Code:
/Free Monitor; $prodateur = %date($prodat:*EUR); On-Error; $prodateur = *loval; ERR_Datum = *on; write bild01; //Und was Du sonst noch im Fehlerfall machen willst EndMon; /End-Free
Birgitta
Vielen Dank, hat geklappt!
Similar Threads
-
By Fucasdreh in forum NEWSboard Server Job
Antworten: 0
Letzter Beitrag: 10-01-07, 13:12
-
By loeweadolf in forum NEWSboard Programmierung
Antworten: 7
Letzter Beitrag: 25-01-05, 07:43
-
By GEA in forum NEWSboard Programmierung
Antworten: 7
Letzter Beitrag: 25-11-04, 16:32
-
By loeweadolf in forum NEWSboard Programmierung
Antworten: 3
Letzter Beitrag: 12-07-04, 09:27
-
By HoScHiE in forum IBM i Hauptforum
Antworten: 11
Letzter Beitrag: 06-08-01, 14:47
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