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

Hosted by www.Geocities.ws

1