[NEWSboard IBMi Forum]
Seite 1 von 2 1 2 Letzte

Hybrid View

  1. #1
    Registriert seit
    Dec 2000
    Beiträge
    286

    Timestamp im CL generieren

    Hallo zusammen
    ich benötige eine möglicht "Einfache" Lösung einen Timestamp in eine CL Variable zu bringen.
    Ich soll beim cpytoimpf einen Timestamp in den Dateinamen einbauen.
    also etw so 'timestamp_Dtei.csv"

    Ein externes PGM was mir den Timestamp zurückliefert wollte ich möglichst nicht verwenden.

    Klaus


    Lösung gefunden rtvsysval qdatetime in 20 Stellen char
    Programmierung

  2. #2
    Registriert seit
    Aug 2001
    Beiträge
    2.934
    Ich nehme an, es geht um die aktuelle Zeitmarke?

    Wenn ja: Die Zeitmarke aus dem System-Wert QDATTIM (mit RTVSYSVAL) ermitteln und dann entsprechend mit %SUBSTRING und *CAT auseinander dröseln und wie gewünscht wieder zusammensetzen.
    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
    Feb 2001
    Beiträge
    20.743
    Die einfachste Lösung ist ein Mini-RPGLE, vielseitg einsetzbar:

    *entry plist
    ptimestamp 26
    ptimestamp = %char( %timstamp(*iso));
    return;

    Das Format ist automatisch mit yyyy-MM-dd HH:mm:ss.fffff
    Mittles %scanrepl kannst du die ':' noch in '_' ersetzen oder entfernen und ggf per %subst die Millisekunden dann abschneiden.

    Aber es gibt immer mehrere Lösungen.

    PS:
    Mit *ISO0 gibts keine Trennzeichen, also yyyyMMddHHmmssfff
    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

  4. #4
    Registriert seit
    Nov 2003
    Beiträge
    2.419
    Der Trend geht wohl zum Rucksackprogramm.
    Vielleicht geht ja auch noch was mit SQL in RPG...

    Die Frage ist aber auch wie genau die Zeitmarke sein soll.
    Darf sie immer 000 in den letzten Stellen stehen haben?

    Zitat Zitat von Fuerchau Beitrag anzeigen
    Die einfachste Lösung ist ein Mini-RPGLE, vielseitg einsetzbar:

    *entry plist
    ptimestamp 26
    ptimestamp = %char( %timstamp(*iso));
    return;

    Das Format ist automatisch mit yyyy-MM-dd HH:mm:ss.fffff
    Mittles %scanrepl kannst du die ':' noch in '_' ersetzen oder entfernen und ggf per %subst die Millisekunden dann abschneiden.

    Aber es gibt immer mehrere Lösungen.

    PS:
    Mit *ISO0 gibts keine Trennzeichen, also yyyyMMddHHmmssfff

  5. #5
    Registriert seit
    Feb 2001
    Beiträge
    20.743
    SQL kann da nicht mehr, als native RPGLE.
    Modern heißt das i.Ü. nicht mehr Rucksackprogramm sondern Funktionsbaustein.
    Es heißt ja auch nicht mehr objektorientierte sondern funktionsorientierte Programmierung.
    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

  6. #6
    Registriert seit
    Nov 2003
    Beiträge
    2.419
    Vielleicht kann SQL genauere Zeitmarken?

  7. #7
    Registriert seit
    Feb 2001
    Beiträge
    20.743
    Ja früher konnte SQL bereits mit 6 Microsekunden, die kann RPGLE jetzt aber auch (Seit 7.3):
    https://www.ibm.com/docs/en/i/7.3.0?...vert-timestamp
    Irgendwann davor waren es nur Millisekunden, also 3 Stellen, der Rest war 0.
    Aber warum SQL-Overhead, wenn native auch klappt?
    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

  8. #8
    Registriert seit
    Nov 2003
    Beiträge
    2.419
    Seit wann gibt’s Systemwert QDATETIME ?

  9. #9
    Registriert seit
    Feb 2001
    Beiträge
    20.743
    Ich glaube auch erst seit V7.
    Vorher war es halt immer sehr mühsam, da die Systemwerte auch noch vom Datumformat abhängig sind.
    Oder man konnte RPG, RPGLE, COBOL und ggf. auch SQL.
    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

  10. #10
    Registriert seit
    Nov 2003
    Beiträge
    2.419
    Also hier geht’s unter V5R4 aber vielleicht ging’s schon vorher!?

  11. #11
    Registriert seit
    Nov 2003
    Beiträge
    2.419

  12. #12
    Registriert seit
    Feb 2001
    Beiträge
    20.743
    Ich habe jetzt keine IBM im Zugriff und die Doku zeigt da nichts näheres zum Format:

    "QDATETIME system value returns the combined values of the QDATE and QTIME system values in a single field."

    Laut meiner Erinnerung ist das Datum in QDATE allerdings nicht timestampfähig, also nicht zwangsweise in ISO.
    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

Similar Threads

  1. Aus Spools *PDF generieren und per e-mail versenden!
    By Kilianski in forum NEWSboard Server Software
    Antworten: 0
    Letzter Beitrag: 15-06-04, 09:28
  2. EXCEL, PDF, CSV... aud Spools & Dateien generieren
    By Kilianski in forum NEWSboard Server Software
    Antworten: 0
    Letzter Beitrag: 27-05-04, 15:13
  3. EXCEL, PDF, CSV... aus Spools & Dateien generieren
    By Kilianski in forum Archiv NEWSblibs
    Antworten: 0
    Letzter Beitrag: 27-05-04, 15:10
  4. Sql anweisungen generieren
    By Joe in forum NEWSboard Programmierung
    Antworten: 4
    Letzter Beitrag: 17-07-03, 17:57
  5. RPG Prgramme auf V4R5M0 für V4R3M0 generieren
    By Reinhold Müller in forum IBM i Hauptforum
    Antworten: 2
    Letzter Beitrag: 28-04-01, 09:00

Berechtigungen

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