Typical DCL Command Procedure to run the program :
$ DEFINE FOC$DIR1 SI$DATA
$ SET DEFAULT SI$FOCUS
$ FOCUS
EXEC (FOCEXEC name) AWDYR=(Financial Aid Award Year), ENRTRM=(Enrollment Term)
FIN
$ SET DEFAULT Z$PRT
$ RENAME TEMPFILE.DOC (FOCEXEC name).PRT /LOG
$ EXIT
FOCUS program :
-*  THIS FOCEXEC WILL RETRIEVE THOSE STUDENTS WHO HAVE CHANGED ENROLLMENT
-*  STATUS.  FOR EXAMPLE, FROM FULL TIME TO 3/4 TIME, ETC.
-*    VARIABLES USED:
-*      AWDYR        : THE AWARD YEAR TO SELECT FROM
-*      ENRTRM       : THE ENROLLMENT TERM TO SELECT FROM
-*
JOIN CLEAR *
OFFLINE CLOSE
FILEDEF OFFLINE DISK Z$PRT:TEMPFILE.DOC
TABLE FILE SWFILE
PRINT FUND_NUM_SW BY SID_SW
ON TABLE HOLD AS SWTEMP1
IF FUND_NUM_SW EQ '(Financial Aid Related Subcodes To Check For)' 
IF AWD_YR_SW EQ '&AWDYR'
END
DEFINE FILE SWTEMP1
THS_REC/A1=IF SID_SW NE LAST SID_SW THEN 'Y' ELSE 'N';
END
TABLE FILE SWTEMP1
PRINT FUND_NUM_SW BY SID_SW
ON TABLE HOLD AS SWTEMP2
IF THS_REC EQ 'Y'
END
MATCH FILE SWTEMP2
PRINT FUND_NUM_SW BY SID_SW AS SID_CODE
RUN
FILE AAFILE
PRINT VET_CD_AA BY SID_AA AS SID_CODE
IF VET_CD_AA NE '  '
AFTER MATCH HOLD OLD-OR-NEW
END
-RUN
JOIN CLEAR *
JOIN TEMP_KEY WITH SID_CODE IN HOLD TO KEY IN RTFILE AS J1
DEFINE FILE HOLD
TEMP_KEY/A14=('&ENRTRM'|'XX'|SID_CODE);
END
TABLE FILE HOLD
PRINT CURR_AHRS_RT FAM_ATT_HRS BY SID_CODE
ON TABLE HOLD AS SWTEMP3
IF CURR_AHRS_RT GT 00.00 
WHERE (CURR_AHRS_RT NE FAM_ATT_HRS);
IF TERM_RT EQ '&ENRTRM'
END
JOIN CLEAR *
JOIN TEMP_KEY WITH SID_CODE IN SWTEMP3 TO KEY IN AAFILE AS J1
DEFINE FILE SWTEMP3
TEMP_KEY/A11=('XX'|SID_CODE);
FULL_IND/A1=IF ((CURR_AHRS_RT GE 12.00) AND (FAM_ATT_HRS LT 12.00)) 
            THEN 'Y' ELSE 'N';
THREE_IND/A1=IF ((CURR_AHRS_RT LT 12.00) AND (FAM_ATT_HRS LT 9.00)
                  AND (CURR_AHRS_RT GE 9.00)) 
             THEN 'Y' ELSE 'N';
HALF_IND/A1=IF ((CURR_AHRS_RT LT 9.00) AND (FAM_ATT_HRS LT 6.00)
                 AND (CURR_AHRS_RT GE 6.00)) 
            THEN 'Y' ELSE 'N';
SID_OUT/A11=EDIT(SID_CODE, '999-99-9999');
END
TABLE FILE SWTEMP3
HEADING
"<45 FINANCIAL AID WEEKLY STUDENT STATUS REPORT </1"
PRINT SID_OUT AS 'Student ID' IN 65 CURR_AHRS_RT AS 'Att. Hrs' IN 90
      FAM_ATT_HRS AS 'FAM Hrs' IN 110 BY STU_NAME_AA IN 20 
WHERE (FULL_IND EQ 'Y') OR (THREE_IND EQ 'Y') OR (HALF_IND EQ 'Y');
END
JOIN CLEAR *

 

This page hosted by Get your own Free Homepage

Hosted by www.Geocities.ws

1