Typical DCL Command Procedure to run the program :  

$!
$!  THIS COMMAND PROCEDURE RUNS THE FOCEXEC FOR THE
$!  FINANCIAL AID COMMONLINE LOAN DISBURSEMENT
$!  APPLICATION.
$!
$ DELETE SI$FEX:*.FTM;*/LOG
$ DELETE SI$FEX:*.MAS;*/LOG
$ DELETE SI$FEX:*.WP;*/LOG
$!
$ SAY :== "WRITE SYS$OUTPUT"
$!
$!  Skip if no file to be processed.
$!
$ IF F$SEARCH("(Location & Name Of CommonLine Disbursement File)") .EQS. ""
$ THEN
$     SAY " "
$     SAY "NO COMMONLINE DISBURSEMENT FILE TO PROCESS..."
$     SAY " "
$     GOTO PGM_EXIT
$ ENDIF
$!
$!  Rename file so it won't be processed again.
$!
$ RENAME (Location & Name Of CommonLine Disbursement File) -
         S00492500.DAT;
$!
$ COPY SI$FEX:S004925.MFD SI$FEX:S004925.MAS;
$ DEFINE FOC$DIR2 SI$DATA, SI$MFD
$ SET DEFAULT SI$FEX
$ FOCUS
EXEC (FOCEXEC name) ENR_TRM=(Enrollment Term)
FIN
$!
$!  E-mail resulting reports to Business Office.
$!
$ MAIL/SUBJECT="(FOCEXEC name) - Alternative Loan List"  SI$FEX:PLAY1.WP -
  (VMS mail id)
$!
$ WAIT 00:00:05
$ MAIL/SUBJECT="(FOCEXEC name) - Hours Exception List"   SI$FEX:PLAY2.WP -
  (VMS mail id)
$!
$ WAIT 00:00:05
$ MAIL/SUBJECT="(FOCEXEC name) - Loan Disbursement List" SI$FEX:PLAY3.WP -
  (VMS mail id)
$!
$ CONVERT/APPEND SI$FEX:PLAY.FTM SI$DATA:AIB2FL.DAT
$!
$PGM_EXIT:
$!
$ EXIT


FOCUS program :

JOIN CLEAR *
SET PAGE = NOPAGE
SET LINES = 999999
-*
-*  Create The Batch Header
-*
-SET &HDRKEY = '$$$FIN604        APPL LOAN AMT  YFA';
-INCLUDE (SIS Batch Header).SEG
-*
-*  Retrieve all student loan disbursements
-*
FILEDEF S004925 DISK S00492500.DAT
TABLE FILE S004925
PRINT DISB_FLD3 DISB_FLD4
BY DISB_FLD2
WHERE DISB_FLD1 EQ '@1N';
ON TABLE HOLD AS DISBTMP1
END
-*
-*  Retrieve all non alternative loan disbursements
-*
JOIN DISB_FLD2 IN DISBTMP1 TO KEY IN AAFILE AS J1
TABLE FILE DISBTMP1
PRINT DISB_FLD4 STU_NAME
BY DISB_FLD2
WHERE DISB_FLD3 NE 'AL';
ON TABLE HOLD AS DISBTMP2
END
-*
-*  Retrieve all alternative loan disbursements and send list of
-*  those to Business Office
-*
DEFINE FILE DISBTMP1
NUM_AMT1/P9.2=EDIT(DISB_FLD4);
NUM_AMT2/P9.2=NUM_AMT1/100;
END
TABLE FILE DISBTMP1
"Alternative Loan List"
" "
PRINT NUM_AMT2 AS 'Loan Amount'
BY STU_NAME AS 'Student Name'
BY DISB_FLD2 AS 'Student Id'
WHERE DISB_FLD3 EQ 'AL';
ON TABLE SAVE AS PLAY1 FORMAT WP
ON TABLE COLUMN-TOTAL
END
-*
-*  Check for number of enrolled hours for those students
-*  receiving loan disbursements
-*
JOIN TEMP_KEY WITH DISB_FLD2 IN DISBTMP2 TO KEY IN RTFILE AS J2
DEFINE FILE DISBTMP2
TEMP_KEY/A14='&ENR_TRM'|DISB_FLD2;
END
TABLE FILE DISBTMP2
PRINT DISB_FLD4 STU_NAME CURR_ATTEMPTED_HRS
BY DISB_FLD2
WHERE CURR_ATTEMPTED_HRS GE 6;
WHERE TERM EQ '&ENR_TRM';
ON TABLE HOLD AS DISBTMP3
END
-*
-*  Retrieve students who did not meet the enrolled hours criteria
-*  for receiving loan disbursements and send list of those to Business 
-*  Office
-*
MATCH FILE DISBTMP2
PRINT DISB_FLD4 STU_NAME
BY DISB_FLD2
RUN
FILE DISBTMP3
PRINT DISB_FLD4 STU_NAME
BY DISB_FLD2
AFTER MATCH HOLD OLD-NOT-NEW
END
-RUN
-*
TABLE FILE HOLD
HEADING
"Students who are not enrolled for at least 6 hours or"
"who are not activated for the current term"
" "
PRINT DISB_FLD4 AS 'Loan Amount'
BY STU_NAME AS 'Student Name'
BY DISB_FLD2 AS 'Student Id'
ON TABLE SAVE AS PLAY2 FORMAT WP
END
-*
-*  Create batch transactions to apply loan disbursements to student's
-*  account and send list of those to Business Office
-*
DEFINE FILE DISBTMP3
BTH_TRANS/A80 = ('64A'|DISB_FLD2|'94000'|'&ENR_TRM'|'           00'|DISB_FLD4);
NUM_AMT1/P9.2=EDIT(DISB_FLD4);
NUM_AMT2/P9.2=NUM_AMT1/100;
END
TABLE FILE DISBTMP3
PRINT BTH_TRANS BY DISB_FLD2 NOPRINT
ON TABLE SAVE AS PLAY
END
-*
TABLE FILE DISBTMP3
"Students whose loan(s) were applied to their account"
" "
PRINT NUM_AMT2 AS 'Loan Amount'
BY STU_NAME AS 'Student Name'
BY DISB_FLD2 AS 'Student Id'
ON TABLE SAVE AS PLAY3 FORMAT WP
ON TABLE COLUMN-TOTAL
END
-*
JOIN CLEAR *


Master File Description (MFD) for S004925 : 

FILE=S004925,SUFFIX=FIX
SEGNAME=ROOT
FIELDNAME=DISB_FLD1, ,A03,A03,$
FIELDNAME=COMPU_FILL01, ,A67,A67,$
FIELDNAME=DISB_FLD2, ,A09,A09,$
FIELDNAME=COMPU_FILL02, ,A99,A99,$
FIELDNAME=COMPU_FILL03, ,A99,A99,$
FIELDNAME=COMPU_FILL04, ,A18,A18,$
FIELDNAME=DISB_FLD3, ,A02,A02,$
FIELDNAME=COMPU_FILL05, ,A72,A72,$
FIELDNAME=DISB_LOAN_PD, ,A08,A08,$
FIELDNAME=COMPU_FILL06, ,A26,A26,$
FIELDNAME=DISB_FLD4, ,A07,A07,$
FIELDNAME=COMPU_FILL7, ,A70,A70,$

 

 

This page hosted by Get your own Free Homepage

Hosted by www.Geocities.ws

1