Typical DCL Command Procedure to run the program :
$!
$! RE-CHG-GRADE-TRANS.COM
$!
$! Description: Produces batch transactions to change I grades to F.
$!
$ SET NOVERIFY
$ SAY :== "WRITE SYS$OUTPUT"
$!
$! Delete any hold files that may have been left over from previous runs.
$!
$ DELETE/LOG SYS$LOGIN:*.FTM;*
$!
$ SET TERMINAL/WIDTH=80
$!
$ SAY "This process will produce transactions to change I grades to F."
$ SAY "These transactions will be processed overnight."
$ SAY " "
$ SAY "(RE-CHG-GRADE-TRANS)"
$ SAY " "
$!
$! Prompt for term
$!
$ENTER_PARM_TERM:
$ READ SYS$COMMAND/TIME=60/END=EXIT/ERROR=EXIT/PROMPT= -
"Enter the term to run this process for >>> " TERMIN
$ LEN_TERMIN = F$LENGTH(TERMIN)
$ IF LEN_TERMIN .NE. 5 THEN GOTO ENTER_PARM_TERM
$ TYP_TERMIN = F$TYPE(TERMIN)
$ IF TYP_TERMIN .NES. "INTEGER" THEN GOTO ENTER_PARM_TERM
$!
$! Create and execute the FOCUS command procedure.
$!
$ NAME = F$GETJPI("","USERNAME")
$ COM_FILE = "SYS$LOGIN:FOCTEMP.COM"
$!
$ OPEN/WRITE output_file 'COM_FILE'
$!
$ WRITE output_file "$ DEFINE FOC$DIR1 SI$DATA"
$ WRITE output_file "$ DEFINE FOC$DIR2 SI$FEX,SI$MFD"
$ WRITE output_file "$ SET DEFAULT SYS$LOGIN"
$ WRITE output_file "$ FOCUS"
$ WRITE output_file "EXEC SI$FOCUS:RE-CHG-GRADE-TRANS TERM_REQ=" + TERMIN
$ WRITE output_file "FIN"
$ WRITE output_file "$ EXIT"
$!
$ CLOSE output_file
$ SUBMIT/NOPRINT/NOTIFY 'COM_FILE'
$ SYNCHRONIZE FOCTEMP
$!
$! MOVE RESULTING BATCH TRANSACTIONS TO MAINTENANCE CYCLE FEED FILE.
$!
$ CONVERT/APPEND SYS$LOGIN:ITOFTR.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:
$!
$ SAY " "
$ SAY "All done..."
$ SAY " "
$!
$ SET DEFAULT SYS$LOGIN
$ EXIT
FOCUS program :
-*begin doc
-*
-*FEX: RE-CHG-GRADE-TRANS
-*
-* This produces batch transactions to change all I grades
-* to F.
-*
-*INPUT
-* TERM : ENROLLMENT TERM TO SELECT FROM
-*
-*end doc
-**********************************************************************
SET COMPUTE = OLD
SET PAGE = NOPAGE
SET LINES = 999999
JOIN CLEAR *
FILEDEF ITOFTR DISK ITOFTR.FTM APPEND LREC 80 RECFM F
-*
-* Create The Batch Header
-*
DEFINE FILE AAFILE
BATCH_HEADER1/A40 = '$$$MSC519 I TO F BTH TRANYRE ';
BATCH_HEADER2/A40 = ' ';
END
TABLE FILE AAFILE
PRINT BATCH_HEADER1 AS ''
BATCH_HEADER2 AS ''
BY STU_ID NOPRINT
ON TABLE SAVE AS ITOFTR
IF RECORDLIMIT EQ 1
END
-*
DEFINE FILE RTFILE
NEW_REC/A80 = ('45B'|STU_ID|'RLL'|'&TERM_REQ'|SECTION_ID|
' F I');
END
TABLE FILE RTFILE
PRINT NEW_REC AS '' BY STU_ID NOPRINT
WHERE (TERM EQ '&TERM_REQ') AND (OFFICIAL_GRADE EQ 'I');
ON TABLE SAVE AS ITOFTR
END
JOIN CLEAR *
This page hosted by
Get your own Free Homepage