Typical DCL Command Procedure to run the program : $! $! THIS COMMAND PROCEDURE RUNS THE PROCESS THAT CREATES $! THE SPECIAL EVENTS LIST. $! $ DELETE/LOG SI$FEX:*.FTM;* $ DELETE/LOG SI$FEX:*.MAS;* $ DELETE/LOG SI$FEX:PLAY.WP;* $! $ DEFINE FOC$DIR1 SI$DATA $ DEFINE FOC$DIR2 SI$FEX,SI$MFD $! $! CHANGE FOCUS PROGRAM ACCORDING TO THE ABOVE PARAMETERS $! $ PGM_DATE = F$EXTRACT(0,4,F$CVTIME("TODAY",,"YEAR")) + - F$CVTIME("TODAY",,"MONTH") + F$CVTIME("TODAY",,"DAY") $! $ OPEN/READ input_file SI$FEX:(file name).FEX $ OPEN/WRITE output_file SI$FEX:(file name).TMP $! $BEGIN_READ: $! $ READ/END=END_READ input_file out_record $! $ IF (F$EXTRACT(0,18,out_record) .EQS. "WHERE (BEGIN_DT EQ") $ THEN $ WRITE output_file "WHERE (BEGIN_DT EQ " + PGM_DATE + ") OR (END_DT EQ " + - PGM_DATE + ") OR" $ READ/END=END_READ input_file out_record $ WRITE output_file " ((BEGIN_DT LE " + PGM_DATE + ") AND (END_DT GE " + - PGM_DATE + "));" $ ELSE $ WRITE output_file out_record $ ENDIF $! $ GOTO BEGIN_READ $! $END_READ: $! $ CLOSE input_file $ CLOSE output_file $ RENAME SI$FEX:(file name).TMP SI$FEX:(file name).FEX; $! $ SET DEFAULT SI$FEX $ ASSIGN SI$DATA:XFOC01.DAT XFOC01 $ FOCUS EXEC (file name) FIN $! $ MAIL/SUBJECT="(file name) - Special Events List" SI$FEX:PLAY.WP (VMS mail id) $! $ EXIT FOCUS program : SET PAGE = NOPAGE SET LINES = 999999 JOIN CLEAR * DEFINE FILE APFILE BLD_DESC/A45=XSFOCT(45,'AP005',BUILDING,'',BLD_DESC); BLD_COMBO/A55=BUILDING|' - '|BLD_DESC; -* CHK_DESC1/A3=EDIT(EVENT_DESCRIPTION,'999'); CHK_DESC2/A1=EDIT(EVENT_DESCRIPTION,'$$$$$9'); CHK_DESC3/A3=EDIT(EVENT_DESCRIPTION,'$$$$$$$$$$$$$$$$$$$999'); -* ALP_BGNDT/A8=EDIT(BEGIN_DT); FMT_BGNDT/A10=EDIT(ALP_BGNDT,'$$$$99$$')|'/'| EDIT(ALP_BGNDT,'$$$$$$99')|'/'|EDIT(ALP_BGNDT,'9999$$$$'); -* ALP_ENDDT/A8=EDIT(END_DT); FMT_ENDDT/A10=EDIT(ALP_ENDDT,'$$$$99$$')|'/'| EDIT(ALP_ENDDT,'$$$$$$99')|'/'|EDIT(ALP_ENDDT,'9999$$$$'); -* REV_BLD/A5=REVERSE(5,BUILDING,REV_BLD); CAMPUS_CD/A1=EDIT(REV_BLD,'9'); -* MX_USER_CONTACT/A15=MXCASE(15,USER_CONTACT,MX_USER_CONTACT); OUT_USER_CONTACT/A25='Contact: '|MX_USER_CONTACT; -* NUM_START_TIME/P4=IF AP_START_TIME GE 1300 THEN AP_START_TIME-1200 ELSE AP_START_TIME; NUM_STOP_TIME/P4=IF AP_STOP_TIME GE 1300 THEN AP_STOP_TIME-1200 ELSE AP_STOP_TIME; -* ALP_START_TIME/A6=IF AP_START_TIME GE 1200 THEN EDIT(NUM_START_TIME)|'PM' ELSE EDIT(NUM_START_TIME)|'AM'; ALP_STOP_TIME/A6=IF AP_STOP_TIME GE 1200 THEN EDIT(NUM_STOP_TIME)|'PM' ELSE EDIT(NUM_STOP_TIME)|'AM'; END TABLE FILE APFILE HEADING " Start Stop" "Room Begin Date End Date Time Time Description" "---- ---------- -------- ----- ---- -----------" PRINT FMT_BGNDT AS '' IN 5 FMT_ENDDT AS '' IN 17 ALP_START_TIME AS '' IN 29 ALP_STOP_TIME AS '' IN 37 EVENT_DESCRIPTION AS '' IN 45 OVER OUT_USER_CONTACT AS '' BY CAMPUS_CD NOPRINT BY BLD_COMBO AS '' BY ROOM AS '' IN 1 BY FMT_BGNDT NOPRINT WHERE (BEGIN_DT EQ 20010430) OR (END_DT EQ 20010430) OR ((BEGIN_DT LE 20010430) AND (END_DT GE 20010430)); WHERE EVENT_DESCRIPTION NE ''; -* -* Eliminate regular term courses. -* WHERE ((CHK_DESC1 NE '{career-1}20') AND (CHK_DESC1 NE '{career-2}20')) OR ((CHK_DESC2 NE '1') AND (CHK_DESC2 NE '2') AND (CHK_DESC2 NE '3')) OR ((CHK_DESC3 NE 'LEC') AND (CHK_DESC3 NE 'LAB')); ON TABLE SAVE AS PLAY FORMAT WP ON BLD_COMBO FOLD-LINE ON BLD_COMBO SKIP-LINE END JOIN CLEAR *

 

 

This page hosted by Get your own Free Homepage

1
Hosted by www.Geocities.ws