Typical DCL Command Procedure to set up the program :
$!
$! BO-CHK-FIN-HRS.COM
$!
$! Description: List students who are in non-CE classes that have been
$! defined with zero financial hours.
$!
$! CREATE TEMPORARY COMMAND PROCEDURE THE RUN FOCUS JOB.
$!
$ WF := WRITE FILE
$ COM_FILE = "SYS$LOGIN:FOCTEMP.COM"
$!
$ OPEN/WRITE FILE 'COM_FILE'
$ WF "$ SET DEFAULT SI$FOCUS"
$ WF "$ DEFINE FOC$DIR1 SI$DATA"
$ WF "$ DEFINE FOC$DIR2 SI$MFD"
$ WF "$ FOCUS"
$ WF "EXEC BO-CHK-FIN-HRS"
$ WF "FIN"
$ WF "$ EXIT"
$ CLOSE FILE
$ @'COM_FILE'
$!
$! CLEAN UP SI$FOCUS: DIRECTORY.
$!
$ DELETE/LOG SI$FOCUS:*.FTM;*
$ DELETE/LOG SI$FOCUS:*.MAS;*
$ DELETE/LOG SI$FOCUS:*.WP;*
$ DELETE/LOG SI$FOCUS:FINHRS.DOC;*
$ DELETE/LOG SYS$LOGIN:FOCTEMP.COM;*
$EXIT
FOCUS program :
-*begin doc
-*
-*FEX: BO-CHK-FIN-HRS
-*
-* This produces a list of students who are in non-CE classes
-* that have been defined with zero finanical hours.
-*
-*end doc
-**********************************************************************
JOIN CLEAR *
TABLE FILE RTFILE
PRINT SECTION_ID FIN_ATTEMPTED_HRS TERM BY STU_ID
ON TABLE SAVE AS FINHRS FORMAT WP
WHERE TERM GE '(Enrollment Term To Check From)';
WHERE FIN_ATTEMPTED_HRS EQ 0;
WHERE COLLEGE_SPE NE 'CE';
END
-RUN
-*
-IF &RECORDS EQ 0 THEN GOTO STOPRUN;
-*
-VMS REN FINHRS.WP *.DOC;
-VMS MAIL/SUBJ="Classes with no financial hours" FINHRS.DOC (Open VMS Mail Account)
-STOPRUN
-EXIT
JOIN CLEAR *
These FOCUS programs are used to fix the financial hours for students
enrolled in course sections that were incorrectly defined with zero
financial hours or with an incorrect number.
FOCUS program (1) :
-*
-* This FOCEXEC will verify the financial hours for students
-* enrolled in a selected course.
-*
JOIN CLEAR *
TABLE FILE RTFILE
PRINT SECTION_ID FIN_ATTEMPTED_HRS CRS_ATTEMPTED_HRS TERM BY STU_ID
WHERE TERM EQ '(Enrollment Term To Check)';
WHERE SECTION_ID EQ '(Course Section To Check)';
END
JOIN CLEAR *
FOCUS program (2) :
-*
-* This FOCEXEC will create batch transactions to correct the financial
-* hours on a student's record.
-*
JOIN CLEAR *
FILEDEF FINFIX DISK FINFIX.FTM APPEND LREC 90 RECFM F
-*
-* Create The Batch Header
-*
DEFINE FILE AAFILE
BATCH_HEADER1/A35 = '$$$MSC502 FIN HRS UPD YBU';
BATCH_HEADER2/A55 =
' ';
END
TABLE FILE AAFILE
PRINT BATCH_HEADER1 AS ''
BATCH_HEADER2 AS ''
BY STU_ID NOPRINT
ON TABLE SAVE AS FINFIX
IF RECORDLIMIT EQ 1
END
-*
-* Get selected course section.
-*
DEFINE FILE RTFILE
JN_KEY/A16=TERM|SECTION_ID;
END
TABLE FILE RTFILE
PRINT STU_ID TERM SECTION_ID BY JN_KEY
ON TABLE HOLD AS RTTEMP1
WHERE TERM EQ '(Enrollment Term To Check)';
WHERE SECTION_ID EQ '(Course Section To Check)';
END
-*
-* Get financial hours data from section definition (screen 129).
-*
JOIN JN_KEY IN RTTEMP1 TO KEY IN RCFILE AS J1
TABLE FILE RTTEMP1
PRINT STU_ID TERM SECTION_ID CTF_FIN_CREDIT BY JN_KEY
ON TABLE HOLD AS RTTEMP2
END
-*
-* Create batch transaction to update SIS.
-*
DEFINE FILE RTTEMP2
FIN_CRE_INC/P05.2=CTF_FIN_CREDIT*100;
FIN_CRE_ALPHA/A5=EDIT(FIN_CRE_INC);
BTH_TRANS/A90 = ('45B'|STU_ID|'MNT'|TERM|SECTION_ID|
' '|EDIT(FIN_CRE_ALPHA,'$9999'));
END
TABLE FILE RTTEMP2
PRINT BTH_TRANS BY STU_ID NOPRINT
ON TABLE SAVE AS FINFIX
END
JOIN CLEAR *
This page hosted by
Get your own Free Homepage