-
extract timestamp in num. Feld
hallo *all
ich benötige aus einem TimeStamp Feld (=Dantenbank mit SQL erstellt) nur das Datum und dieses in einer 8 stelligen RPG Variablen
PHP-Code:
Datum: 2007-04-24-10.48.20.000000
in der RPG-Variablen sollte dann folgendes stehen:
kann ich das irgendwie mit EVAL .... auslesen/übertragen?
-
JJJJMMTT =
%dec(%char(%date(MyTimeStamp):*iso0):8:0)
TTMMJJJJ =
%dec(%char(%date(MyTimeStamp):*eur0):8:0)
-
PHP-Code:
D DatumX s 8 0 inz(0)
DatumX = %dec(%char(%date(DATUM):*ISO0):8:0);
da bekomm ich dann aber immer folgenden Fehler:
PHP-Code:
Datums-, Zeit- oder Zeitmarkenwert ist ungültig (C G D F).
-
Code:
JJJJMMTT = %Dec(%Date(MyTimestamp): *ISO);
Sollte eigentlich reichen. Eine zusätzliche Konvertierung in eine alphanumerische Darstellung (%CHAR) ist nur erforderlich, wenn Du noch nicht auf Release V5R3 bist.
Vor Release V5R3 kann auch %DEC() durch %INT ersetzt werden (dann müssen weder Länge noch Nachkommastellen angegeben werden:
Code:
JJJJMMTT = %Int(%Char(%Date(MyTimeStamp): *ISO0));
... bist Du sicher, dass DATUM eine gültige Zeitmarke enthält?
Birgitta
-
@Birgitta
es kommt die selbe Fehlermeldung
sicher bin ich mir nicht, aber ich geh mal davon aus!
Feld sieht wie folgt aus und ist wie folgt beschrieben:
PHP-Code:
DATUM: 2010-04-19-13.57.08.000000
Name von bis Länge Dat.Art E/A Bezeichnung DATUM 47 72 26 Z B
-
Wenn ich nicht mit %char(Datum:*iso0) arbeite, kommt bei mir auch immer der Fehler.
Alternativ geht aber auch:
%subdt(Datum:*years) * 10000 + %subdt(Datum:*months) * 100 + %subdt(Datum:*days)
Es gibt wie immer mehrere Möglichkeiten.
In SQL arbeite ich genauso:
year(Datum) * 10000 + month(Datum) * 100 + day(Datum)
-
Achja, noch zu wissen:
Eine Zeitmarke ist immer im ISO-Format.
Ein Datum ist immer im angegeben Datumformat der H-Zeile (DATFMT, default ist glaube ich *dmy oder *eur) .
Ggf. kann daher %dec(%date(Datum)) nicht umwandeln.
Durch die genaue Angabe
%char(%date(Datum):*iso0)
ist man dann auf der sicheren Seite, unabhängig von der H-Definition.
-
PHP-Code:
EVAL JJJJMMTT = %DEC( %SUBST(%CHAR(ZEITMARKE):1:4) + %SUBST(%CHAR(ZEITMARKE):6:2) + %SUBST(%CHAR(ZEITMARKE):9:2):8:0)
-
hab jetzt mal folgendes probiert,
aber leider hat keine dieser Varianten funktioniert!
PHP-Code:
H Option(*SrcStmt : *NoDebugIO) Datedit(*DMY) DatFmt(*ISO) H DftActGrp(*No)
D DatumX s 8 0 inz(0)
DatumX = %uns(%char(%date(DATUMA:*DMY):*ISO0)); DatumX = %uns(%char(%date(DATUM:*ISO):*ISO0)); DatumX = %dec(%char(%date(DATUM):*ISO0):8:0); DatumX = %dec(%char(%date(DATUM):*eur0):8:0);
DatumX = %int(%char(%date(DATUM): *ISO0));
DatumX = %DEC( %SUBST(%CHAR(Datum):1:4) + %SUBST(%CHAR(Datum):6:2) + %SUBST(%CHAR(Datum):9:2):8:0);
-
Eine Zeitmarke in einer externen Datei wird wie es aussieht als alphanumerisches Feld A(26) ins RPG-Programm hereingeholt, sieh mal in der Umwandlungsliste nach.
Probier dann mal so:
PHP-Code:
EVAL DATUMX = %DEC(%SUBST(DATUM:1:4)
+ %SUBST(DATUM:6:2)
+ %SUBST(DATUM:9:2):8:0)
-
das Feld wird im ILE über SQL gelesen!
PHP-Code:
select XYZ, DATUM from TEST_X00001 where XYZ = '2406915' and date(DATUM) between '01.07.10' and '30.12.10'
-
Welches Attribut hat das Feld DATUM im Abschnitt "Querverweisliste" in der Umwandlungsliste?
Similar Threads
-
By andreas.lundschien in forum IBM i Hauptforum
Antworten: 3
Letzter Beitrag: 05-09-06, 14:55
-
By edig in forum NEWSboard Programmierung
Antworten: 1
Letzter Beitrag: 27-07-06, 08:20
-
By rr2001 in forum IBM i Hauptforum
Antworten: 9
Letzter Beitrag: 11-07-06, 14:10
-
By jogisarge in forum NEWSboard Programmierung
Antworten: 5
Letzter Beitrag: 10-05-06, 16:26
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