-
So schlecht find ich jetzt Ronalds Vorschlag nicht...
Damit Du die Woche auf den Monat reduzieren kannst, errechne doch die Woche des Tagesdatum, dann die Woche des 1. des jeweiligen Monats; Differenz + 1 et voilà, c'est fait.
Haste kein SQL hilft dir vielleicht das weiter:
Code:
H NoMain
* ------------------------------------------------------- Prototypes
D DayOfWeek PR 5I 0
D D Value
D WeekOfYear PR 5I 0
D D Value
* -----------------------------------------------------------------
*
* Procedure: DayOfWeek
* Description: Retrieve day of week using ISO 8601 standard
* (0=Monday - 6=Sunday)
*
P DayOfWeek B Export
D DayOfWeek PI 5I 0
D DateIn D Value
D NbrDays S 10I 0
D Monday C D('2001-01-04')
/Free
NbrDays = %DIFF(DateIn:Monday:*DAYS);
Return = %REM( %REM(NbrDays:7) + 7 : 7);
/End-Free
P DayOfWeek E
* -----------------------------------------------------------------
*
* Procedure: WeekOfYear
* Description: Retrieve week of year using ISO 8601 standard
* (Year starts on Monday of week containing January 4)
*
P WeekOfYear B Export
D WeekOfYear PI 5I 0
D DateIn D Value
D DS
D Jan04Date D INZ(D'0001-01-04')
D Jan04Year 4 0 Overlay(Jan04)
D FirstMonday S D
D Jan04DOW S 5I 0
/Free
// Change Jan04Date to target year,
// then calculate first Monday of target year
Jan04Year = %SUBDT(DateIn:*Y);
Jan04DOW = DayOfWeek(Jan04Date);
FirstMonday = Jan04Date - %DAYS(Jan04DOW);
// If target date is before first Monday, switch to prior year
If DateIn < FirstMonday;
Jan04Year = Jan04Year D 1;
Jan04DOW = DayOfWeek(Jan04Date);
FirstMonday = Jan04Date - %DAYS(Jan04DOW);
Endif;
// Return week number (number of full weeks since first Monday + 1)
Return %DIV(%DIFF(DateIn:FirstMonday:*DAYS):7) + 1;
/End-Free
P WeekOfYear E
Quelle: iprodeveloper.com (geht ab V5R1)
kf
-
@KoK: das war mir schon klar, wie ich das mit dem jobscd in System stelle. Ich dachte, dass ich aus dem jobscd Werte (z.B.) Monatsletzten zurückbekomme und mit diesem Parameter ein Verzeichnis erstellen kann.
-
Für jede benötigte Variante einen eigenen JOBSCD einstellen.
Per CALL einen Parameter an das Programm für die "Typ" des Job's übergeben:
Z.B.
"ME" = Monatserster
"ML" = Monatsletzter
"M1" - "M5" = Monats-Woche
usw. usw.
Per Weekday kannst du den Wochentag ermitteln, per %month(%date()) kennst du den Monat, usw. usw.
Similar Threads
-
By Burgy Zapp in forum Archiv NEWSblibs
Antworten: 0
Letzter Beitrag: 09-02-02, 21:58
-
By Timmo in forum IBM i Hauptforum
Antworten: 6
Letzter Beitrag: 29-03-01, 22:12
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