Typical DCL Command Procedure to set up the program (1) :

$!
$!  BO-ADJUST-MNT-DATE.COM
$!
$!      Description:    Creates batch transactions to adjust maintenance date
$!			on screen SP1 for students whose classes were canceled
$!			or who "no-showed".
$!
$!  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-ADJUST-MNT-DATE"
$ WF "FIN"
$ WF "$ EXIT"
$ CLOSE FILE
$ @'COM_FILE'
$!
$!  MOVE RESULTING BATCH TRANSACTIONS TO MAINTENANCE CYCLE FEED FILE.
$!
$ CONVERT/APPEND SI$FOCUS:MNTFIX.FTM SI$DATA:AIB2FL.DAT
$!
$!  RENAME HOLD FILE TO BE USED FOR LATER REPORT.
$!
$ RENAME SI$FOCUS:MNTFIX.FTM SI$FOCUS:MNTFIX.SAV;
$!
$!  CLEAN UP SI$FOCUS: DIRECTORY.
$!
$ DELETE/LOG SI$FOCUS:*.FTM;*
$ DELETE/LOG SI$FOCUS:*.MAS;*
$ DELETE/LOG SI$FOCUS:*.WP;*
$ DELETE/LOG SYS$LOGIN:FOCTEMP.COM;*
$EXIT


FOCUS program (1) :

-*begin doc
-*
-*FEX:  BO-ADJUST-MNT-DATE
-*
-*Input
-*      Term
-*      Maintenance Date To Adjust To
-*
-*
-*      This procedure creates transactions to adjust the maintenance date 
-*      for students whose classes were cancelled or who "no-shows" a class.
-*      This is done so refunds can be generated.
-*
-*end doc
-*
SET LINES=999999
SET PAGE=OFF
JOIN CLEAR *
-SET &TERMIN='(Input Enrollment Term)';
-SET &ADJDT='(Date (MMDDYYYY) One Day Before Beginning Of Input Term)';
FILEDEF MNTFIX DISK MNTFIX.FTM APPEND LREC 80 RECFM F
-*
-*  Create The Batch Header
-*
DEFINE FILE AAFILE
BATCH_HEADER1/A35 = '$$$MSC508        MNT DATE FIX   YSA';
BATCH_HEADER2/A45 = ' ';
END
TABLE FILE AAFILE
PRINT BATCH_HEADER1 AS ''
      BATCH_HEADER2 AS ''
BY STU_ID NOPRINT   
ON TABLE SAVE AS MNTFIX   
IF RECORDLIMIT EQ 1  
END
-*
-*  Get session start and end date for term.
-*
FILEDEF ACFL055 DISK SI$DATA:ACFILE.DAT
TABLE FILE ACFL055
PRINT CLASS_END_DATE CLASS_BEGIN_DATE SESSION_CODE 
ON TABLE SAVE AS TRMSEC
WHERE TERM_CODE_SES EQ '&TERMIN';
END 
FILEDEF EXTFILE DISK TRMSEC.FTM
-RUN
-READ EXTFILE &ENDDEF.I8. &BEGDEF.I8. &SESDEF.A1.
-READ EXTFILE &ENDFST.I8. &BEGFST.I8. &SESFST.A1.
-READ EXTFILE &ENDSEC.I8. &BEGSEC.I8. &SESSEC.A1.
-*
-*  Select students who dropped classes for the input term and
-*  whose course maintenance date has not been adjusted on
-*  screen SP1.
-*
-*  Create batch transactions to adjust date.
-*
DEFINE FILE RTFILE
BTH_TRANS/A80=('45B'|STU_ID|'MNT'|'&TERMIN'|SECTION_ID|
'                              '|'&ADJDT');
END
TABLE FILE RTFILE
PRINT BTH_TRANS AS '' IN 1
ON TABLE SAVE AS MNTFIX
WHERE (STATUS_QUALIFIER EQ 'DB' OR 'DE');
WHERE TERM EQ '&TERMIN';
WHERE RT020_ORDER LE STU_PGM_ENTRY_CNTR;
WHERE SP_MNTDT GE &BEGDEF;
END
JOIN CLEAR *


Typical DCL Command Procedure to set up the program (2) :

$!
$!  BO-LIST-REFUND.COM
$!
$!      Description:    Creates listing any refunds generated because
$!			the maintenance date on screen SP1 was changed.
$!
$!  CREATE TEMPORARY COMMAND PROCEDURE THE RUN FOCUS JOB.
$!
$ COPY SI$FOCUS:PUR.MFD SI$FOCUS:PUR.MAS;
$ 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-LIST-REFUND"
$ WF "FIN"
$ WF "$ EXIT"
$ CLOSE FILE
$ @'COM_FILE'
$!
$!  MAIL RESULTING REPORT FILE.
$!
$ ON SEVERE_ERROR THEN GOTO ERR_TRAP
$ RENAME SI$FOCUS:REPORT.WP SI$FOCUS:REPORT.DOC
$ MAIL/SUBJECT="Student Balance List" SI$FOCUS:REPORT.DOC (OpenVMS User)
$!
$!  CLEAN UP SI$FOCUS: DIRECTORY.
$!
$ERR_TRAP:
$ DELETE/LOG SI$FOCUS:*.FTM;*
$ DELETE/LOG SI$FOCUS:*.MAS;*
$ DELETE/LOG SI$FOCUS:*.WP;*
$ DELETE/LOG SI$FOCUS:REPORT.DOC;*
$ DELETE/LOG SYS$LOGIN:FOCTEMP.COM;*
$EXIT


FOCUS program (2) :

-*begin doc
-*
-*FEX:  BO-LIST-REFUND
-*
-*      This procedure creates a report of those students whose maintenance 
-*      date(s) have been adjusted.
-*      This is done so refunds can be generated.
-*
-*end doc
-*
JOIN CLEAR *
-SET &TERM_IN='(Input Enrollment Term)';
FILEDEF PUR DISK SI$FOCUS:MNTFIX.SAV
TABLE FILE PUR
PRINT FUNC_PUR BY SSN_PUR
ON TABLE HOLD AS PRTEMP1
END
-*
-*  "Tag" students that have a transaction of subcode 99999 (received
-*  financial aid) on their billing records. 
-*
JOIN BDKEY WITH SSN_PUR IN PRTEMP1 TO ALL MTCH_KEY1 IN BDFILE AS J1
DEFINE FILE PRTEMP1
BDKEY/A10=' '|SSN_PUR;
NPURGTRAN/I1=IF SUBCODE EQ '99999' THEN 1 ELSE 0;
END
TABLE FILE PRTEMP1
SUM NPURGTRAN BY SSN_PUR
ON TABLE HOLD AS PRTEMP2
WHERE TERM EQ '&TERM_IN';
END
-*
-*  Retrieve student name for all individuals who are due a refund
-*  (have a non-zero account balance and are not receiving financial aid).
-*
JOIN SSN_PUR IN PRTEMP2 TO STU_ID IN AAFILE AS J2
DEFINE FILE PRTEMP2
THS_REC/A1=IF SSN_PUR NE LAST SSN_PUR THEN 'Y' ELSE 'N';
END
TABLE FILE PRTEMP2
PRINT CURRENT_BAL BY STU_NAME BY SSN_PUR AS 'Student ID'
ON TABLE HOLD AS PRTEMP3
WHERE CURRENT_BAL NE 0;
WHERE THS_REC EQ 'Y';
WHERE NPURGTRAN EQ 0;
END
-*
-IF &RECORDS EQ 0 THEN GOTO STOPRUN;
-*
-*  Produce report. 
-*
TABLE FILE PRTEMP3
HEADING CENTER
"Report Name : BO-LIST-REFUND"
" "
"Student Balance List"
" "
PRINT CURRENT_BAL AS 'Current,Balance' 
BY STU_NAME AS 'Student Name' BY SSN_PUR AS 'Student ID'
ON TABLE SAVE AS REPORT FORMAT WP
END
JOIN CLEAR *
-* 
-GOTO EXIT; 
-*
-*  If no records selected, stop the program.
-*
-STOPRUN
-TYPE 
-TYPE 
-TYPE 
-TYPE 
-TYPE         ********NO RECORDS FOUND********
-TYPE         ************STOP RUN************ 
-TYPE 
-TYPE 
-TYPE 
-TYPE 
-EXIT

 

 

This page hosted by Get your own Free Homepage

Hosted by www.Geocities.ws

1