In FOCUS since 1986 | WebFOCUS Server 8.2.01M, thru 8.2.07 on Windows Svr 2008 R2 | ||
WebFOCUS App Studio 8.2.06 standalone on Windows 10 |
In FOCUS since 1986 | WebFOCUS Server 8.2.01M, thru 8.2.07 on Windows Svr 2008 R2 | ||
WebFOCUS App Studio 8.2.06 standalone on Windows 10 |
-* Identify the holiday file FILEDEF HDAY DISK \\[yourserver]\c$\ibi\srv76\wfs\bin\HDAYxxxx.ERR -* Build a temporary master file for the complete date data FILEDEF DATEMAS DISK DATERNG.MAS -RUN -WRITE DATEMAS FILE=DATERNG,SUFFIX=XFOC -WRITE DATEMAS SEGNAME=SEG1 -WRITE DATEMAS FIELD=DATE_KEY, ,DMYY ,DMYY , $ -RUN -* Now create it CREATE FILE DATERNG -* and add all possible dates within a month MODIFY FILE DATERNG FREEFORM DATE_KEY.A8. LOG FORMAT MSG OFF LOG TRANS MSG OFF LOG INVALID MSG OFF DATA -* This repeat loop will ensure at least a whole year is input, -* Any invalid dates will be rejected. -DEFAULT &Year = 2006 -SET &Year = EDIT(&YYMD,'9999$'); -SET &Mnth = EDIT(&YYMD,'$$$$99$'); -*-SET &Month = &Month * 1; -*-SET &Month = 3; -SET &Day = 1; -SET &Yearx = &Year; -REPEAT :Loop1 31 TIMES; -SET &Date = IF &Day LT 10 THEN '0' || &Day ELSE &Day; -*-SET &Mnth = IF &Month LT 10 THEN '0' || &Month ELSE &Month; &Date&Mnth&Yearx -SET &Day = &Day + 1; -:Loop1 END -RUN -*-SET &Month = EDIT(&DATEDMTYY,'$$$999$'); -* DEFINE FILE DATERNG YEAR/YY = DATE_KEY; MNTH_TTL/MTYY = DATE_KEY; DOM/D = DATE_KEY; KEY_YYMD/I8YYMD = DATE_KEY; -* The day of week (DOW) gives us the column number but this is Sunday thru Saturday -* and we require Monday thru Sunday DOW/W = DATE_KEY; -* and the week no (WNO) gives us the row number - NOTE this is not the ISO week number!!!! WNO/I2 = IF DOW EQ 1 THEN LAST WNO + 1 ELSE LAST WNO; -* The first day of month (FDOM) gives us the offset column to begin the calendar display FDOM/W = DATEMOV(DATE_KEY, 'BOM'); -* DAY_ADJ gives us the ability to line up weeks when used in the single row per month version DAY_ADJ/I2 MISSING ON = IF DATE_KEY IS-NOT MISSING THEN (DOM + FDOM - 1) ELSE MISSING; END -* TABLE FILE DATERNG SUM DOM AS '' COMPUTE WEEKEND/A1 = IF DOW IN (6,7) THEN 'x' ELSE '-'; AS '' NOPRINT COMPUTE TODAY/A1 = IF DATE_KEY EQ '&DMYY' THEN 'Y' ELSE ''; NOPRINT COMPUTE MNTH_YEAR/MTYY = DATE_KEY; NOPRINT COMPUTE HDAY/A1 = IF DECODE KEY_YYMD(HDAY ELSE 'N') NE 'N' THEN 'Y' ELSE ''; NOPRINT ACROSS DOW AS '' NOPRINT BY WNO AS '' NOPRINT -*WHERE YEAR = 2008 -*WHERE MONTH = '&Month' HEADING "<MNTH_TTL" "M<+0>T<+0>W<+0>T<+0>F<+0>S<+0>S" -*ON TABLE PCHOLD FORMAT HTMTABLE AS CALOBJ ON TABLE SET HTMLCSS ON ON TABLE SET PAGE NOLEAD ON TABLE SET NODATA '' ON TABLE SET STYLE * UNITS=IN, PAGESIZE='A3', LEFTMARGIN=0.2, RIGHTMARGIN=0.2, TOPMARGIN=0.2, BOTTOMMARGIN=0.2, SQUEEZE=ON, ORIENTATION=LANDSCAPE, HEADALIGN=BODY, SIZE=9, GRID=ON, $ TYPE=HEADING, SIZE=10, BORDER=MEDIUM, BORDER-COLOR=RGB(66 66 66), BACKCOLOR=RGB(189 190 194), HEADALIGN=BODY, $ TYPE=HEADING, LINE=1, STYLE=BOLD, JUSTIFY=CENTER, COLSPAN=7, $ TYPE=HEADING, LINE=2, OBJECT=TEXT, WIDTH=0.15, WRAP=0.15, JUSTIFY=CENTER, $ TYPE=REPORT, ACROSSCOLUMN=N1, WIDTH=0.15, WRAP=0.15, $ TYPE=ACROSSVALUE, COLOR=WHITE, $ TYPE=TITLE, BORDER=LIGHT, BORDER-COLOR=WHITE, $ TYPE=DATA, ACROSSCOLUMN=N1, JUSTIFY=CENTER, GRID=ON, $ -* Colour code the weekends TYPE=DATA, ACROSSCOLUMN=N1, WHEN=HDAY EQ 'Y', BACKCOLOR=RGB(235 255 230), $ TYPE=DATA, ACROSSCOLUMN=N1, WHEN=TODAY EQ 'Y', BACKCOLOR=RGB(255 000 000), BORDER=MEDIUM, COLOR=WHITE, STYLE=BOLD, $ TYPE=DATA, ACROSSCOLUMN=N1, WHEN=WEEKEND EQ 'x', BACKCOLOR=RGB(215 220 255), $ TYPE=DATA, ACROSSCOLUMN=N1, WHEN=WEEKEND EQ '-', BACKCOLOR=RGB(230 235 255), $ ENDSTYLE END
In FOCUS since 1986 | WebFOCUS Server 8.2.01M, thru 8.2.07 on Windows Svr 2008 R2 | ||
WebFOCUS App Studio 8.2.06 standalone on Windows 10 |