Typical DCL Command Procedure to run the program :
$!
$! RE-UPD-SESS-STU.COM
$!
$! Description: Creates batch transactions to update students who are
$! in course sections with an incorrect session code as
$! defined on screen 129.
$!
$! 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 SYS$LOGIN"
$ WF "$ DEFINE FOC$DIR1 SI$DATA"
$ WF "$ DEFINE FOC$DIR2 SI$MFD"
$ WF "$ FOCUS"
$ WF "EXEC SI$FOCUS:RE-UPD-SESS-STU"
$ WF "FIN"
$ WF "$ EXIT"
$ CLOSE FILE
$ @'COM_FILE'
$!
$! MOVE RESULTING BATCH TRANSACTIONS TO MAINTENANCE CYCLE FEED FILE.
$!
$ CONVERT/APPEND SYS$LOGIN:FIXSES.FTM SI$DATA:AIB2FL.DAT
$!
$! CLEAN UP.
$!
$ DELETE/LOG SYS$LOGIN:*.FTM;*
$ DELETE/LOG SYS$LOGIN:*.MAS;*
$ DELETE/LOG SYS$LOGIN:*.WP;*
$ DELETE/LOG SYS$LOGIN:FOCTEMP.COM;*
$EXIT
FOCUS program :
-*begin doc
-*
-*FEX: RE-UPD-SESS-STU
-*
-*input
-* Term
-*
-* This FOCUS program will update the session code for students
-* based upon the session entered for the course on screen 129.
-* This is done via batch transactions.
-*
-*end doc
-*
SET LINES=999999
SET PAGE=OFF
JOIN CLEAR *
-SET &TERMIN='(input enrollment term)';
FILEDEF FIXSES DISK FIXSES.FTM APPEND LREC 80 RECFM F
-*
-* Create The Batch Header
-*
DEFINE FILE AAFILE
BATCH_HEADER1/A35 = '$$$MSC518 STU SESS FIX YSA';
BATCH_HEADER2/A45 = ' ';
END
TABLE FILE AAFILE
PRINT BATCH_HEADER1 AS ''
BATCH_HEADER2 AS ''
BY STU_ID NOPRINT
ON TABLE SAVE AS FIXSES
IF RECORDLIMIT EQ 1
END
-*
-* Select students enrolled in courses for the input term
-* that do not have a session code.
-*
TABLE FILE RTFILE
PRINT SECTION_ID SESSION_CODE BY STU_ID
ON TABLE HOLD AS RTTEMP1
WHERE SPE_STATUS NE 'D';
WHERE TERM EQ '&TERMIN';
WHERE RT020_ORDER LE STU_PGM_ENTRY_CNTR;
WHERE SESSION_CODE EQ '';
END
-*
-* Check these courses against the section definition on
-* screen 129 and pull out any where the session codes
-* mismatch.
-*
DEFINE FILE RTTEMP1
JN_KEY/A16=('&TERMIN'|SECTION_ID);
END
TABLE FILE RTTEMP1
PRINT SECTION_ID SESSION_CODE STU_ID BY JN_KEY
ON TABLE HOLD AS RTTEMP2
END
-*
JOIN JN_KEY IN RTTEMP2 TO KEY IN RCFILE AS J1
TABLE FILE RTTEMP2
PRINT SECTION_ID SESSION_CODE SECT_SESSION STU_ID BY JN_KEY
ON TABLE HOLD AS RTTEMP3
WHERE SESSION_CODE NE SECT_SESSION;
WHERE TERM EQ '&TERMIN';
END
-*
-* Create batch transactions to update student's record
-* for those courses that need to have the session
-* code corrected.
-*
DEFINE FILE RTTEMP3
BTH_TRANS/A80=('45B'|STU_ID|'MNT'|'&TERMIN'|SECTION_ID|
' '|SECT_SESSION);
END
TABLE FILE RTTEMP3
PRINT BTH_TRANS AS '' IN 1
ON TABLE SAVE AS FIXSES
END
JOIN CLEAR *
This page hosted by
Get your own Free Homepage