Typical DCL Command Procedure to run the program :
$ SET NOON $ DELETE SI$FOCUS:*.FTM;*/LOG $ DELETE SI$FOCUS:*.MAS;*/LOG $ DEFINE FOC$DIR1 SI$DATA $ SET DEFAULT SI$FOCUS $ FOCUS EXEC (FOCEXEC name) INTERM=(Enrollment term), &HDRKEY = '$$$MSC201 DETER CAMPUS YFA' FIN $ EXIT
FOCUS program :
-* THIS FOCEXEC WILL CORRECT THE CAMPUS CODE ON SCREEN 111.
-* VARIABLES USED:
-* INTERM : THE TERM TO PULL STUDENTS FROM
-*
SET LINES=999999
SET PAGE=NOPAGE
JOIN CLEAR *
TABLE FILE RTFILE
PRINT RPT3_FLG_RT ATT_HRS_RT SID_RT BY SPE_SECT_RT
ON TABLE HOLD AS RTTEMP1
IF CAREER_RT NE 'CE'
IF CURR_AHRS_RT GT 00.00
IF TERM_RT EQ '&INTERM'
IF SPE_STAT_RT EQ 'E'
IF CALC_CRER1RT NE 'CE'
IF CALC_CRER2RT NE 'CE'
IF CALC_CRER3RT NE 'CE'
WHERE RT_020_ORDER LE SPE_CTR_RT;
END
JOIN TEMP_KEY WITH SPE_SECT_RT IN RTTEMP1 TO KEY IN RCFILE AS J1
DEFINE FILE RTTEMP1
TEMP_KEY/A16=('XX'|'&INTERM'|SPE_SECT_RT);
END
TABLE FILE RTTEMP1
PRINT RPT3_FLG_RT ATT_HRS_RT SPE_SECT_RT
BY SID_RT
BY SITE_CODE_RC
ON TABLE HOLD AS RTTEMP2
END
DEFINE FILE RTTEMP2
CNT_COUR_HRS/P07.2C=IF (SID_RT EQ LAST SID_RT) THEN
CNT_COUR_HRS + ATT_HRS_RT ELSE ATT_HRS_RT;
HOURS_CAMPUS_A/P07.2C=IF (SID_RT NE LAST SID_RT) THEN 00.00;
HOURS_CAMPUS_B/P07.2C=IF (SID_RT NE LAST SID_RT) THEN 00.00;
HOURS_CAMPUS_C/P07.2C=IF (SID_RT NE LAST SID_RT) THEN 00.00;
HOURS_CAMPUS_A/P07.2C=IF (SID_RT EQ LAST SID_RT)
AND (SITE_CODE_RC EQ 'C') THEN
HOURS_CAMPUS_A + ATT_HRS_RT ELSE
IF (SITE_CODE_RC EQ 'C') THEN ATT_HRS_RT;
HOURS_CAMPUS_B/P07.2C=IF (SID_RT EQ LAST SID_RT)
AND (SITE_CODE_RC EQ 'G') THEN
HOURS_CAMPUS_B + ATT_HRS_RT ELSE
IF (SITE_CODE_RC EQ 'G') THEN ATT_HRS_RT;
HOURS_CAMPUS_C/P07.2C=IF (SID_RT EQ LAST SID_RT)
AND (SITE_CODE_RC EQ 'GS') THEN
HOURS_CAMPUS_C + ATT_HRS_RT ELSE
IF (SITE_CODE_RC EQ 'GS') THEN ATT_HRS_RT;
END
TABLE FILE RTTEMP2
PRINT RPT3_FLG_RT CNT_COUR_HRS HOURS_CAMPUS_A HOURS_CAMPUS_B HOURS_CAMPUS_C
BY SID_RT
ON TABLE HOLD AS RTTEMP3
END
TABLE FILE RTTEMP3
PRINT RPT3_FLG_RT HOURS_CAMPUS_A HOURS_CAMPUS_B HOURS_CAMPUS_C
BY SID_RT
BY HIGHEST CNT_COUR_HRS
ON TABLE HOLD AS RTTEMP4
END
DEFINE FILE RTTEMP4
THS_REC/A1=IF (SID_RT NE LAST SID_RT) THEN 'Y' ELSE 'N';
END
TABLE FILE RTTEMP4
PRINT RPT3_FLG_RT HOURS_CAMPUS_A HOURS_CAMPUS_B HOURS_CAMPUS_C
BY SID_RT
ON TABLE HOLD AS RTTEMP5
IF THS_REC EQ 'Y'
END
DEFINE FILE RTTEMP5
HOME_CAMPUS/A1=IF ((HOURS_CAMPUS_B GT HOURS_CAMPUS_A) AND
(HOURS_CAMPUS_B GT HOURS_CAMPUS_C)) THEN 'G' ELSE
IF ((HOURS_CAMPUS_C GT HOURS_CAMPUS_A) AND
(HOURS_CAMPUS_C GT HOURS_CAMPUS_B)) THEN 'S' ELSE 'C';
END
TABLE FILE RTTEMP5
PRINT RPT3_FLG_RT HOME_CAMPUS BY SID_RT
ON TABLE HOLD AS RTTEMP6
WHERE (RPT3_FLG_RT NE HOME_CAMPUS);
END
-INCLUDE (SIS Batch Header).SEG
JOIN CLEAR *
FILEDEF PLAY DISK PLAY.FTM APPEND
DEFINE FILE RTTEMP6
BTH_TRANS1/A24 = ('40E'|SID_RT|' '|'&INTERM'|' '|HOME_CAMPUS);
END
TABLE FILE RTTEMP6
PRINT BTH_TRANS1 IN 1 AS ''
ON TABLE SAVE AS PLAY
END
JOIN CLEAR *
This page hosted by
Get your own Free Homepage