-
Ich möchte ein *ISO in *EUR Datum konvertieren
Wie kann ich auf einer einfachen Weise ein *ISO Datum in einem *EUR Datum im freeRPG konvertieren:
fDatumISO ist als Datumsfeld *ISO definiert und beinhaltet '2013-04-26'
fDatumEUR ist als Datumsfeld *EUR definiert und soll den Inhalt von fDatumISO bekommen.
Danke für die Ratschläge
Bruno
-
Einfach:
fDatumEUR = fDatumISO ;
Die Runtime übernimmt die Konvertierung.
-
Ein Datum ist ein Binär-Wert, der durch das Datums-Format lesbar gemacht wird. In RPG wird das Datum immer in eine alphanumerische Variable konvertiert und erst unmittelbar vor dem Zurückschreiben wieder konvertiert.
Eine Konvertierung von Datum zu Datum ist damit sinnlos.
Wenn Du allerdings für Deine Ausgabe das Datum in einer alphanumerischen Form in einem bestimmten Format brauchst, kannst Du die Built-in-Function %Char verwenden, die ein Datum in (fast) jede beliebige alphanumerische Darstellung konvertiert.
Code:
/Free
MyCharDatum = %Char(MyDatum: *EUR);
/End-Free
Birgitta
-
Ah mon Dieu :-)
Danke!!!
ein schönes Wochenende wünsche ich noch
Bruno
-
@Birgitta
Das ist definitiv falsch.
Im RPGLE ist eine Datumvariable IMMER vom Typ CHAR!
Du kannst es dir gerne im Debugger ansehen.
Ich kann diese auch mit OVERLAY redefinieren.
Ein EVAL von einem Datumsfeld in ein anderes ruft intern die Runtime für Datumsroutinen auf.
Packst du ein Datum *EUR in eine DS und überträgst diese in eine 2. DS mit Datum *ISO erfolgt KEINE Konvertierung, so dass der Zugriff auf die Variable später einen Laufzeitfehler mit ungültigem Datum auslöst.
Ein Ändern von Datum1 in Datum2 wird durch den einfachen EVAL bereits durchgeführt.
-
Zitat von Fuerchau
@Birgitta
Das ist definitiv falsch.
Im RPGLE ist eine Datumvariable IMMER vom Typ CHAR!
Wo ist bitte der Unterschied zwischen:
"In RPG wird das Datum immer in eine alphanumerische Variable konvertiert und erst unmittelbar vor dem Zurückschreiben wieder zurückkonvertiert" und "eine Datumsvariable IMMER vom Typ CHAR!"
Eine Konvertierung von Datum zu Datum ist insofern sinnlos, weil das Datum nie in dem entsprechenden Format sondern immer als Binär-Wert zurückgeschrieben wird.
Um allen Problemen aus dem Weg zugehen, sollte man für Datums-Felder ein einheitliches Format (am Besten *ISO) verwenden.
Vielleicht solltest Du mal die Antworten genauer lesen, bevor Du zurückschiesst!
Dass das Datum für die Aufgabe entsprechend aufbereitet wird, werden kann und muss, steht auf einem anderen Blatt. Das hatte ich aber zuvor schon geschrieben.
-
Da es hier um RPG und nicht um die DB geht, spielt eine interne DB-Darstellung doch keine Rolle.
Hier geht es darum, von einer RPG-Variable in eine andere das Format zu ändern. Dies passiert automatisch durch den EVAL.
Die %char()-Funktion benötige ich nur, wenn ich ein Datumfeld in ein Zeichenfeld mit gleichzeitiger Formatumwandlung machen möchte, ansonsten reicht auch hier ein einfacher Eval.
"Eine Konvertierung von Datum zu Datum ist damit sinnlos."
Es ist durchaus sinnvoll ein Format zu konvertieren wenn ich es z.B. am Bildschirm anzeigen oder drucken oder in eine Nicht-DB-Ausgabe schieben muss.
-
Zitat von B.Hauser
Vielleicht solltest Du mal die Antworten genauer lesen, bevor Du zurückschiesst!
... der 30.4. naht
D*B
-
@Baldur: Ist witzig euch zu verfolgen. Ihr beide habt recht! Und das schon von Anfang an.
Zitat von Fuerchau
"Eine Konvertierung von Datum zu Datum ist damit sinnlos."
Es ist durchaus sinnvoll ein Format zu konvertieren wenn ich es z.B. am Bildschirm anzeigen oder drucken oder in eine Nicht-DB-Ausgabe schieben muss.
Birgitta hat genau das gleiche beschrieben. Für mich sieht es so aus, als ob du sie ein paar mal falsch verstanden hättest.
Denn das GANZE Zitat von Birgitta war:
Zitat von Birgitta
Eine Konvertierung von Datum zu Datum ist damit sinnlos.
Wenn Du allerdings für Deine Ausgabe das Datum in einer alphanumerischen Form in einem bestimmten Format brauchst, kannst Du die Built-in-Function %Char verwenden, die ein Datum in (fast) jede beliebige alphanumerische Darstellung konvertiert.
Ansonsten wünsch ich euch noch ein erholsames Wochenende
lg Andreas
-
@Andreas
Ich betrachte nur die Aufgabenstellung und antworte entsprechend.
Zusatzinformationen verwirren die meisten doch nur ins besonders wenn sie mit der gestellten Aufgabe nichts zu tun haben.
Die DB2/400 war hier gar nicht gefragt.
Similar Threads
-
By harkne in forum NEWSboard Programmierung
Antworten: 6
Letzter Beitrag: 17-11-10, 15:44
-
By dino in forum IBM i Hauptforum
Antworten: 1
Letzter Beitrag: 02-11-10, 10:59
-
By I0N in forum NEWSboard Programmierung
Antworten: 2
Letzter Beitrag: 21-11-06, 12:44
-
By heini in forum IBM i Hauptforum
Antworten: 3
Letzter Beitrag: 30-09-06, 10:10
-
By jjagi in forum IBM i Hauptforum
Antworten: 6
Letzter Beitrag: 07-07-06, 08:29
Tags for this Thread
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