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

Hosted by www.Geocities.ws

1