[NEWSboard IBMi Forum]

Thema: Dezimaldaten

Hybrid View

  1. #1
    Registriert seit
    Nov 2004
    Beiträge
    331
    Hallo zusammen,

    Ich habe mir beholfen:

    isodat = %Date ( Numdat : *EUR ) ;
    isodat1 = isidat ;

    Funktioniert, nicht schön, aber selten.
    mfg DKSPROFI

  2. #2
    Registriert seit
    Aug 2001
    Beiträge
    2.936
    Wieso musst Du das nochmal umlanden?

    Beim Konvertieren eines numerischen bzw. alphanumerischen Datums wird im 2. Parameter das Format des numerischen oder alphanumerischen Datums übergeben. Fehlt der 2. Parameter wird davon ausgegangen, dass das (alpha)numerische Datum im *ISO-Format übergeben wurde.
    Das Datum selber ist (under the cover) ein fortlaufender Zähler (Scaliger No), der (lt.Documentation) am 01.01.4713 BC (Beginn Julianischer Kalender) aufsetzt. Datums-Formate sind lediglich dazu da, um diese Zahl lesbar zu machen. In RPG wird die Scaliger No in einen alphanumerischen String konvertiert und abh. vom Datums-Format der Variablen (D-Bestimmung/H-Bestimmung) aufbereitet. Unmittelbar vor dem Fortschreiben wird die alphanumerische Aufbereitung des Datums wieder in die Scaliger No konvertiert.
    Deshalb muss auch das Ziel-Format beim Konvertieren mit %Date() nicht angegeben werden.

    Birgitta
    Birgitta Hauser

    Anwendungsmodernisierung, Beratung, Schulungen, Programmierung im Bereich RPG, SQL und Datenbank
    IBM Champion seit 2020 - 5. Jahr in Folge
    Birgitta Hauser - Modernization - Education - Consulting on IBM i

  3. #3
    Registriert seit
    Nov 2004
    Beiträge
    331
    Hallo Brigitte,

    ich habe das deshalb so gemacht, da sonst nicht funktioniert.
    mfg DKSPROFI

  4. #4
    Registriert seit
    Aug 2001
    Beiträge
    2.936
    Ich weiß nach wie vor nicht warum es nicht funktionieren sollte!
    Das folgende Programm wird beim mir ordnungsgemäß kompiliert und auch ausgeführt:

    Code:
     DCL-S  DateEur       Date(*Eur);             
     DCL-S  DateIso       Date(*Iso);             
                                                  
     DCL-S  DateNum       Packed(8) inz(*Zeros);  
    //--------------------------------------------
      DateNum = 14022024;                         
      Dsply DateNum;                              
                                                  
      DateIso = %Date(DateNum: *EUR);             
      Dsply  DateIso;                             
                                                  
      DateEur = %Date(DateNum: *EUR);             
      Dsply  DateEur;                             
                                                  
      DateNum = 20240215;                         
      Dsply DateNum;                              
                                                  
      DateIso = %Date(DateNum);                   
      Dsply  DateIso;                             
                                                  
      DateEUR = %Date(DateNum);                   
      Dsply  DateEur;                             
                                                  
     *INLR       = *On;
    Das Ergebnis sieht wie folgt aus:
    Name:  Screenshot 2024-02-09 182503 - Date.png
Views: 420
Size:  3,2 KB

    Noch eine kleine Anmerkung: ich heiße BIRGITTA und nicht Brigitte oder Britta oder sonst irgendwas. Wenn Du Dir nicht sicher bist, lass ihn weg.
    Birgitta Hauser

    Anwendungsmodernisierung, Beratung, Schulungen, Programmierung im Bereich RPG, SQL und Datenbank
    IBM Champion seit 2020 - 5. Jahr in Folge
    Birgitta Hauser - Modernization - Education - Consulting on IBM i

  5. #5
    Registriert seit
    Feb 2001
    Beiträge
    20.761
    Wie oben bereits gesagt:
    "Das Zielfeld kann ein anderes Format aufweisen, es wird dann umgerechnet."
    Dienstleistungen? Die gibt es hier: http://www.fuerchau.de
    Das Excel-AddIn: https://www.ftsolutions.de/index.php/downloads
    BI? Da war doch noch was: http://www.ftsolutions.de

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • You may not post attachments
  • You may not edit your posts
  •