[NEWSboard IBMi Forum]
  1. #1
    Registriert seit
    Apr 2012
    Beiträge
    360

    Kalenderwoche ermitteln

    Hallo,

    Ich weiss das ich mit
    C/EXEC SQL Set :MyWeek = Week_ISO(:MyDate)

    die Kalenderwoche zurückbekomme.

    Ich will eine Datei erstellen, wo Beträge für Kalenderwochen abgebildet werden(Kw1-3, Kw4-6, Kw7-9, etc.) sollen.

    Ist es möglich auch durch die Kalenderwoche per Sql auf Wochenbeginn und Wochenende zu ermitteln?

    Oder muss ich den 1. Tag der KW ermitteln und anschließend die 21 Tage hochzählen?

    Bin für jeden Input dankbar

    Danke

    Tarki




  2. #2
    Registriert seit
    Feb 2001
    Beiträge
    20.241
    Aus der Woche gibt es keinen Rückschluss auf ein Datum, da ja nur ein Wert zwischen 1 und 53 zurückgegeben wird und somit das Jahr fehlt.

    Du musst schon selber rechnen, allerdings gibt dir DAYOFWEEK_ISO(Datum) den Wochentag zwischen 1 (Montag) und 7 (Sonntag) zurück.
    Also ist "Datum - (DAYOFWEEK_ISO(Datum) - 1) days" immer den Montag zurück, von dem lässt sich ja das nächste Datum errechnen.
    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

  3. #3
    Registriert seit
    Oct 2013
    Beiträge
    171
    Ich erstelle in nahezu jeder größeren Applikation eine Kalenderdatei.
    Für jeden Tag sind alle Infos abgelegt, die interessant sein könnten (Wochentag, Wochennummer, laufende Nummer des Tages im Jahr, etc.) plus individuelle Anforderungen, z.B. Feiertage oder Tage, an denen Teile des Unternehmens nicht für normale Anforderungen verfügbar sind, z.B. Inventuren.
    Meist ist es viel einfacher, diese Datei dazuzujoinen als komplizierte Funktionen aufzurufen. Und womöglich performanter.
    Für Deinen Fall bräuchtest Du nur noch einen Index auf Jahr, Woche und Wochentag und kannst mit den Keys "2014 - 18 - Montag" bzw. "2014 - 18 - Sonntag" schnell herausfinden, dass der Montag der Woche 18 im Jahr 2014 das Datum 2014-04-28 hat und mit Sonntag 2014-05-04 endet.
    (Statt "Montag" verwende ich in Wirklichkeit natürlich "1" usw.)

  4. #4
    Registriert seit
    Apr 2012
    Beiträge
    360
    Danke an alle.
    Ich werde es mit der Kalenderdatei probieren.

    lg

    Tarki

  5. #5
    Registriert seit
    Apr 2012
    Beiträge
    360
    Hallo,
    eine Frage bzg. Week_iso hätte ich da noch bitte:

    Code:
    SELECT DTBU, WEEK_ISO(Date(DTBU)) FROM FILE01
    Als Ergebnis bekomme ich:
    Code:
    ....+....1....+....2....+.
          DTBU       WEEK_ISO 
    2014.06.18  ++++++++++++++
    2014.06.18  ++++++++++++++
    Wenn DTBU 8, 0 ist wie muss mein Sqlstatement aussehen um den Datenzuordnungsfehler in Teildatei FILE01 zu beheben?

  6. #6
    Registriert seit
    Feb 2001
    Beiträge
    20.241
    Die Funktion erwarten eine Zeichenfolge oder ein Datumsfeld
    Date(CHAR(xx))

    Wenn dein DTBU numerisch JJJJMMTT hat, reicht ein char(dtbu * 1000000).
    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. Zeitdauer ermitteln in RPG
    By sepp in forum IBM i Hauptforum
    Antworten: 2
    Letzter Beitrag: 09-07-02, 16:09
  2. Größe des IFS, wie ermitteln?
    By Spirou in forum IBM i Hauptforum
    Antworten: 6
    Letzter Beitrag: 17-04-02, 09:54
  3. Subsystembeschreibung ermitteln
    By Sven Schneider in forum IBM i Hauptforum
    Antworten: 1
    Letzter Beitrag: 03-12-01, 21:17
  4. Satzlänge in CL ermitteln
    By kschmidt in forum IBM i Hauptforum
    Antworten: 5
    Letzter Beitrag: 19-06-01, 17:35
  5. Kalenderwoche
    By Burgy Zapp in forum NEWSboard Server Software
    Antworten: 0
    Letzter Beitrag: 09-04-01, 19:01

Berechtigungen

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