Typical DCL Command Procedure to set up the program :
$ SET NOVERIFY $ SAY :== "WRITE SYS$OUTPUT" $! $ SAY "This FOCEXEC will produce the lists for generating the" $ SAY "acceptance letters." $ SAY " " $! $ENTER_PARM: $ READ SYS$COMMAND/TIME=60/END=EXIT/ERROR=EXIT/PROMPT= - "Enter the term to run this list for >>> " TERMIN $ LEN_TERMIN = F$LENGTH(TERMIN) $ IF LEN_TERMIN .NE. 3 THEN GOTO ENTER_PARM $ TYP_TERMIN = F$TYPE(TERMIN) $ IF TYP_TERMIN .NES. "INTEGER" THEN GOTO ENTER_PARM $! $! Build parameter for (FOCEXEC name) $! $ EXEC1_REC = "EXEC (FOCEXEC name) INTERM=" + TERMIN $ 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 :
$ DEFINE FOC$DIR1 SI$DATA $ DELETE SI$FOCUS_USER:*.FTM;*/LOG $ DELETE SI$FOCUS_USER:*.MAS;*/LOG $ SET DEFAULT SI$FOCUS_USER $ FOCUS EXEC (FOCEXEC name) INTERM=(Application Term) FIN $ SEARCH SI$FOCUS_USER:PLAY2.FTM "*****" $ COPY SI$FOCUS_USER:PLAY2.FTM; SYS$LOGIN:*.*;/LOG $ CONVERT/APPEND/PAD=%D32 SI$FOCUS_USER:PLAY.FTM SI$DATA:AIBBFL.DAT $ SET DEFAULT SYS$LOGIN $ EXIT
FOCUS program :
-* THIS FOCEXEC WILL RETRIEVE THOSE STUDENTS WHO NEED TO BE SENT AN
-* ACCEPTANCE LETTER. THIS IS BASED ON THE VALUE OF THE LETTER CODE
-* FIELD ON SCREEN 111. TWO FILES ARE GENERATED. ONE IS A MAIL
-* MERGE FILE. THE OTHER IS A FILE OF BATCH TRANSACTIONS
-* TO RESET THE LETTER CODE FIELD.
-* VARIABLES USED:
-* INTERM : THE BASE TERM TO PULL STUDENTS FROM
-*
-SET &HDRKEY = '$$$ADM140 RESET AC FIELD YAM';
-INCLUDE (SIS Batch Header).SEG
JOIN CLEAR *
SET LINES=999999
SET PAGE=NOPAGE
FILEDEF D_MAJOR DISK SI$FOCUS:D_MAJOR.DOC
FILEDEF D_TERM DISK SI$FOCUS:D_TERM.DOC
FILEDEF PLAY DISK PLAY.FTM APPEND
FILEDEF INSTFL DISK SI$DATA:INSTFL.DAT
JOIN MTCH_KEY IN RTFILE TO KEY IN RPFILE AS J1
DEFINE FILE RTFILE
CHK_FST/A1=EDIT (DORM_PHON_RT, '9$$$$$$');
END
TABLE FILE RTFILE
PRINT SID_RT PRIM_MJR1_RT TERM_RT RPT3_FLG_RT DORM_PHON_RT CLASS_RT
BY ADVSR1_ID_RP
ON TABLE HOLD AS RTTEMP1
IF DORM_PHON_RT NE '0000000' AND '0000001'
IF CHK_FST NE 'D'
IF TERM_RT GE '&INTERM'
END
JOIN CLEAR *
JOIN ADVSR1_ID_RP IN RTTEMP1 TO ADVISOR_CODE IN INSTFL AS J1
TABLE FILE RTTEMP1
PRINT ADVISOR_NAME PRIM_MJR1_RT TERM_RT RPT3_FLG_RT DORM_PHON_RT CLASS_RT
BY SID_RT
ON TABLE HOLD AS RTTEMP2
END
JOIN CLEAR *
JOIN TEMP_KEY WITH SID_RT IN RTTEMP2 TO KEY IN AAFILE AS J1
DEFINE FILE RTTEMP2
TEMP_KEY/A11=('XX'|SID_RT);
END
TABLE FILE RTTEMP2
PRINT SID_RT STU_NAME_AA STREET1_AA STREET2_AA CITY_AA STATE_AA
ZIP_AA PRIM_MJR1_RT TERM_RT RPT3_FLG_RT DORM_PHON_RT CLASS_RT
ADVISOR_NAME
BY NAME_SORT_AA NOPRINT
ON TABLE HOLD AS RTTEMP3
WHERE AA_020_ORDER EQ 1;
END
DEFINE FILE RTTEMP3
TMP_NAME/A32 = GETTOK(STU_NAME_AA,32,2,',',32,TMP_NAME);
SFX_NAME/A5 = GETTOK(STU_NAME_AA,32,3,',',5,SFX_NAME);
FMN_NAME/A32 = LJUST(32,TMP_NAME,FMN_NAME);
FST_NAME/A32 = GETTOK(FMN_NAME,32,1,' ',32,FST_NAME);
MDL_NAME/A32 = GETTOK(STU_NAME_AA,32,2,',',32,MDL_NAME);
LST_NAME/A32 = GETTOK(STU_NAME_AA,32,1,',',32,LST_NAME);
EXPNDNME/A72 = FMN_NAME || (' '|LST_NAME|' ') || SFX_NAME || '*';
CMPRSNME/A32 = GETTOK (EXPNDNME,66,1,'*',32,CMPRSNME);
R_NAME/A32 = LJUST(32,CMPRSNME,R_NAME);
PRINT_MAJOR/A35=DECODE PRIM_MJR1_RT (D_MAJOR ELSE '*****');
PRINT_TERM/A35=DECODE TERM_RT (D_TERM ELSE '*****');
SID_LINE1/A11=EDIT(SID_RT,'999-99-9999');
END
TABLE FILE RTTEMP3
.
.
(Creation of mail merge file)
.
.
ON TABLE SAVE AS PLAY2
END
DEFINE FILE RTTEMP3
THS_DATE1/A8='&DATE';
THS_DATE2/A6=EDIT (THS_DATE1, '99$99$99');
BTH_TRANS1/A29 = ('40C'|SID_RT|' '|TERM_RT|' ');
BTH_TRANS2/A13 = (' D'|THS_DATE2);
END
TABLE FILE RTTEMP3
PRINT BTH_TRANS1 IN 1 AS '' BTH_TRANS2 AS ''
ON TABLE SAVE AS PLAY
END
JOIN CLEAR *
This page hosted by
Get your own Free Homepage