Typical DCL Command Procedure to set up the program :
$ SET NOVERIFY $ SAY :== "WRITE SYS$OUTPUT" $! $ SAY "This FOCEXEC displays the financial aid students" $ SAY "based on the award year specified." $ SAY " " $! $ENTER_PARM: $ READ SYS$COMMAND/TIME=60/END=EXIT/ERROR=EXIT/PROMPT= - "Enter the award year to run this list for >>> " YEARIN $ LEN_YEARIN = F$LENGTH(YEARIN) $ IF LEN_YEARIN .NE. 2 THEN GOTO ENTER_PARM $ TYP_YEARIN = F$TYPE(YEARIN) $ IF TYP_YEARIN .NES. "INTEGER" THEN GOTO ENTER_PARM $ SAY " " $! $ READ SYS$COMMAND/TIME=60/END=EXIT/ERROR=EXIT/PROMPT= - "Enter the subcode to run this list for >>> " CODEIN $ LEN_CODEIN = F$LENGTH(CODEIN) $ IF LEN_CODEIN .NE. 5 THEN GOTO ENTER_PARM $ TYP_CODEIN = F$TYPE(CODEIN) $ IF TYP_CODEIN .NES. "INTEGER" THEN GOTO ENTER_PARM $! $! Build parameter for (FOCEXEC name) $! $ EXEC1_REC = "EXEC (FOCEXEC name) IAWDYR=" + YEARIN + ", INFUND=" + CODEIN $ OPEN/READ INPUT_FILE SI$FOCUS_USER:(FOCEXEC name).COM $ OPEN/WRITE OUTPUT_FILE SI$FOCUS_USER:(FOCEXEC name).TMP $READ_MORE_001: $ READ/END_OF_FILE=BEGIN_001 INPUT_FILE IN_RECORD $ IF F$EXTRACT(0,4,IN_RECORD) .EQS. "EXEC" $ THEN $ WRITE OUTPUT_FILE EXEC1_REC $ ELSE $ OUTFILE_REC = IN_RECORD $ WRITE OUTPUT_FILE OUTFILE_REC $ ENDIF $ GOTO READ_MORE_001 $BEGIN_001: $ CLOSE OUTPUT_FILE $ CLOSE INPUT_FILE $ RENAME SI$FOCUS_USER:(FOCEXEC name).TMP SI$FOCUS_USER:(FOCEXEC name).COM;/LOG $ SUBMIT/QUE=SYS$FOCUS SI$FOCUS_USER:(FOCEXEC name).COM $! $EXIT: $ EXIT
Typical DCL Command Procedure to actually run the program :
$ DELETE/LOG SI$FOCUS_USER:*.FTM;* $ DELETE/LOG SI$FOCUS_USER:*.MAS;* $ DEFINE FOC$DIR1 SI$DATA $ SET DEFAULT SI$FOCUS_USER $ FOCUS EXEC (FOCEXEC name) IAWDYR=(Financial Aid Award Year), INFUND=(Financial Aid Related Subcode To Check For) FIN $ SET DEFAULT Z$PRT $ RENAME TEMPFILE.DOC (FOCEXEC name).PRT /LOG $ EXIT
FOCUS program :
-* THIS FOCEXEC LISTS THE FINANCIAL AID STUDENTS FOR A
-* SPECIFIED AWARD YEAR.
-* VARIABLES USED :
-* IAWDYR : AWARD YEAR TO SELECT STUDENTS FROM
-* ITERM : TERM TO SELECT STUDENTS FROM
-* INFUND : FUND NUMBER TO SELECT STUDENTS FROM
-*
OFFLINE CLOSE
FILEDEF OFFLINE DISK Z$PRT:TEMPFILE.DOC
JOIN CLEAR *
TABLE FILE SWFILE
PRINT FUND_NUM_SW AWD_YR_SW BY SID_SW
ON TABLE HOLD AS SWTEMP1
IF AWD_YR_SW EQ '&IAWDYR'
IF FUND_NUM_SW EQ '&INFUND'
IF AWPD_OFF GT 00.00
END
DEFINE FILE SWTEMP1
THS_REC/A1=IF SID_SW NE LAST SID_SW THEN 'Y' ELSE 'N';
END
TABLE FILE SWTEMP1
PRINT FUND_NUM_SW AWD_YR_SW BY SID_SW
ON TABLE HOLD AS SWTEMP2
IF THS_REC EQ 'Y'
END
JOIN TEMP_KEY WITH SID_SW IN SWTEMP2 TO KEY IN AAFILE AS J1
JOIN TEMP_KEY WITH SID_SW IN SWTEMP2 TO KEY IN BRFILE AS J2
DEFINE FILE SWTEMP2
TEMP_KEY/A11=('XX'|SID_SW);
SID_HD_MASK/A11 = EDIT(SID_SW, '999-99-9999');
END
TABLE FILE SWTEMP2
HEADING
"<50 FINANCIAL AID STUDENTS REPORT </1"
PRINT SID_HD_MASK IN 62 AS 'Student ID'
ACCT_BAL_STU AS 'Account Bal.' IN 92
BY STU_NAME_AA AS 'Student Name' IN 20
END
This page hosted by
Get your own Free Homepage