Typical DCL Command Procedure to run the program : $ DELETE SI$FEX:*.FTM;*/LOG $ DELETE SI$FEX:*.MAS;*/LOG $ DEFINE FOC$DIR2 SI$DATA, SI$MFD $ SET DEFAULT SI$FEX $ FOCUS EXEC (FOCEXEC name) FIN $ CONVERT/APPEND SI$FEX:PLAY.FTM SI$DATA:AIB2FL.DAT $ EXIT FOCUS program : JOIN CLEAR * -* SET PAGE=NOPAGE SET LINES=999999 FILEDEF PLAY DISK PLAY.FTM APPEND -* -* CREATE THE BATCH HEADER -* -SET &HDRKEY = '$$$MSC903 UPD 011 BC FLD YBO'; -INCLUDE (SIS Batch Header).SEG -* -* Retrieve bad check counter information. -* TABLE FILE AAFILE PRINT CURRENT_BAL BY STU_ID BY HIGHEST BAD_CHECK_CNTR WHERE BAD_CHECK_CNTR GE 3; ON TABLE HOLD AS AATEMP1 END -* -* Remove duplicates -* DEFINE FILE AATEMP1 THS_REC/A1=IF STU_ID NE LAST STU_ID THEN 'Y' ELSE 'N'; END TABLE FILE AATEMP1 PRINT BAD_CHECK_CNTR BY STU_ID WHERE THS_REC EQ 'Y'; ON TABLE HOLD AS AATEMP2 END -* -* Get all students who are on cash-only basis, but do not -* have a corresponding flag set on screen 11. -* MATCH FILE AAFILE PRINT INFO_FLAG_21 BY STU_ID WHERE INFO_FLAG_21 EQ ''; RUN FILE AATEMP2 PRINT BAD_CHECK_CNTR BY STU_ID AFTER MATCH HOLD OLD-AND-NEW END -RUN -* -* Create batch transactions to update screen 11 accordingly. -* DEFINE FILE HOLD OUT_RECORD/A80=('10B'|STU_ID|' Y'); END TABLE FILE HOLD PRINT OUT_RECORD ON TABLE SAVE AS PLAY END JOIN CLEAR *

 

 

This page hosted by Get your own Free Homepage

1
Hosted by www.Geocities.ws