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 FILEDEF AMFL010 DISK SI$DATA:AMFILE.DAT -* -* CREATE THE BATCH HEADER -* -SET &HDRKEY = '$$$MSC906 UPD 011 BOH FLDYBO'; -INCLUDE (SIS Batch Header).SEG -* -* Get all students who have a Business Office hold. -* DEFINE FILE AMFL010 REASON_CD/A1=EDIT(REASON,'9'); END TABLE FILE AMFL010 PRINT REASON BY STU_ID WHERE REASON_CD EQ '4'; ON TABLE HOLD AS AMTEMP1 END -* -* Remove duplicates -* DEFINE FILE AMTEMP1 THS_REC/A1=IF STU_ID NE LAST STU_ID THEN 'Y' ELSE 'N'; END TABLE FILE AMTEMP1 PRINT REASON BY STU_ID ON TABLE HOLD AS AMTEMP2 WHERE THS_REC EQ 'Y'; END -* -* Get all students who have a Business Office hold, but do not -* have a corresponding flag set on screen 11. -* MATCH FILE AAFILE PRINT INFO_FLAG_22 BY STU_ID WHERE INFO_FLAG_22 EQ ''; RUN FILE AMTEMP2 PRINT REASON 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