%GLOBAL ACTUAL_MONTH NUM VAR COLUNA; DATA EXTRACT; LENGTH ACTIVITY $60 F0 3 F1 3 F2 3 F3 3 F4 3 F5 3 F6 3 F7 3 F8 3 F9 3 F10 3 F11 3 F12 3 F13 3 F14 3 F15 3 F16 3 F17 3 F18 3 F19 3 F20 3 F21 3 F22 3 F23 3 F24 3 F25 3 F26 3 F27 3 F28 3 F29 3 F30 3 F31 3; INFILE "/home/re43526/quickview/SCHEDULER.txt" DLM=";" TRUNCOVER DSD ; INPUT ACTIVITY F0 F1 F2 F3 F4 F5 F6 F7 F8 F9 F10 F11 F12 F13 F14 F15 F16 F17 F18 F19 F20 F21 F22 F23 F24 F25 F26 F27 F28 F29 F30 F31; %MACRO SCHEDULE(NUM); %LET ACTUAL_MONTH = %SYSFUNC(DATE(),MONNAME.); %PUT &ACTUAL_MONTH.; DATA SCHEDULE; %DO I = 0 %TO &NUM.; %LET VAR = %QTRIM(%TRIM(%SYSFUNC(PUTN(%SYSFUNC(INTNX(DAY,%SYSFUNC(DATE()),+&&i)),DATE9.)))); %PUT &VAR.; %LET MNAME = %SUBSTR(&VAR.,3,3); %LET DNAME = %SUBSTR(&VAR.,1,2); LENGTH ACTIVITY $ 60; SET EXTRACT(RENAME=F&&I=%CMPRES(&&MNAME._&&DNAME.)); %END; DROP F:; RUN; PROC SQL; CREATE TABLE VARS AS SELECT VARNUM, NAME FROM DICTIONARY.COLUMNS WHERE MEMNAME = "SCHEDULE"; QUIT; PROC SQL NOPRINT; SELECT NAME INTO: COLS SEPARATED BY " " FROM VARS QUIT; %PUT &COLS.; PROC REPORT DATA=SCHEDULE STYLE(REPORT) = [BORDERWIDTH=20 BORDERCOLOR=WHITE] STYLE(COLUMN) = [BACKGROUNDCOLOR=WHITE BORDERWIDTH=2 BORDERCOLOR=WHITE CELLWIDTH=40%] STYLE(LINES ) = [BACKGROUNDCOLOR=WHITE BORDERCOLOR=WHITE]; COLUMN &COLS.; %DO I = 0 %TO &NUM.; %LET VAR = %QTRIM(%TRIM(%SYSFUNC(PUTN(%SYSFUNC(INTNX(DAY,%SYSFUNC(DATE()),+&&i)),DATE9.)))); %PUT &VAR.; %LET MNAME = %SUBSTR(&VAR.,3,3); %LET DNAME = %SUBSTR(&VAR.,1,2); DEFINE ACTIVITY / DISPLAY STYLE(COLUMN)=[BACKGROUNDCOLOR=#F8F8F8 WIDTH=10in]; DEFINE &&MNAME._&&DNAME. / DISPLAY STYLE(COLUMN)=[WIDTH=10%]; DEFINE ACTIVITY / ORDER; COMPUTE &&MNAME._&&DNAME.; IF &&MNAME._&&DNAME. = 1 THEN CALL DEFINE(_col_,"style","style={background=lightGREEN COLOR=lightGREEN }"); IF &&MNAME._&&DNAME. = 2 THEN CALL DEFINE(_col_,"style","style={background=YELLOW COLOR=YELLOW}"); IF &&MNAME._&&DNAME. IN (0,.) THEN CALL DEFINE(_col_,"style","style={background=WHITE COLOR=WHITE}"); ENDCOMP; TITLE BLANK=YES; %END; RUN; %MEND; %SCHEDULE(15);