Typical DCL Command Procedure to run the program :

$! 
$!	GE-EXTRACT-FOR-DRA.COM
$! 
$!      Description:    Creates the student extract file for the DRA system.
$! 
$ SET NOVERIFY 
$ SAY :== "WRITE SYS$OUTPUT" 
$ CL
$! 
$ SAY "This will create the student extract file for the " 
$ SAY "DRA system."  
$ SAY " "
$ SAY "(GE-EXTRACT-FOR-DRA)" 
$ SAY " "
$! 
$!  Prompt for term 
$!
$ENTER_PARM_TERM: 
$ READ SYS$COMMAND/TIME=60/END=EXIT/ERROR=EXIT/PROMPT= -   
  "Enter the five digit term to run the extract for (CCYYX) >>> " TERMIN   
$ LEN_TERMIN = F$LENGTH(TERMIN) 
$ IF LEN_TERMIN .NE. 5 THEN GOTO ENTER_PARM_TERM 
$ TYP_TERMIN = F$TYPE(TERMIN) 
$ IF TYP_TERMIN .NES. "INTEGER" THEN GOTO ENTER_PARM_TERM
$!
$!  Create and execute the FOCUS command procedure to fetch the related
$!  term information.
$!
$ COM_FILE = "SYS$LOGIN:FOCTEMP.COM"
$!
$ OPEN/WRITE output_file 'COM_FILE' 
$! 
$ WRITE output_file "$ DEFINE FOC$DIR1 SI$DATA" 
$ WRITE output_file "$ DEFINE FOC$DIR2 SI$FEX,SI$MFD" 
$ WRITE output_file "$ SET DEFAULT SYS$LOGIN" 
$ WRITE output_file "$ FOCUS" 
$ WRITE output_file "EXEC SI$FOCUS:GE-TRM-DATA-FOR-DRA TERMIN=" + TERMIN 
$ WRITE output_file "FIN" 
$ WRITE output_file "$ EXIT" 
$! 
$ CLOSE output_file 
$ SUBMIT/NOPRINT/NOTIFY 'COM_FILE'
$ SYNCHRONIZE FOCTEMP
$!
$ OPEN/READ input_file SYS$LOGIN:TRMDRA.FTM
$ READ input_file input_rec
$ VALID_DT = F$EXTRACT(4,2,input_rec) + F$EXTRACT(6,2,input_rec) + -
             F$EXTRACT(0,4,input_rec) + F$EXTRACT(12,2,input_rec) + -
             F$EXTRACT(14,2,input_rec) + -
             F$EXTRACT(8,4,input_rec) + "12311999" + -
             F$EXTRACT(4,2,input_rec) + F$EXTRACT(6,2,input_rec) + -
             F$EXTRACT(0,4,input_rec)
$ CLOSE input_file
$!
$!  Create and execute the FOCUS command procedure to create the student
$!  extract file.
$!
$ OPEN/WRITE output_file 'COM_FILE' 
$! 
$ WRITE output_file "$ DEFINE FOC$DIR1 SI$DATA" 
$ WRITE output_file "$ DEFINE FOC$DIR2 SI$FEX,SI$MFD" 
$ WRITE output_file "$ SET DEFAULT SYS$LOGIN" 
$ WRITE output_file "$ FOCUS" 
$ output_record = "EXEC SI$FOCUS:GE-EXTRACT-FOR-DRA TERMIN=" + TERMIN + -
                  ",VLDDT=" + VALID_DT
$ WRITE output_file output_record 
$ WRITE output_file "FIN" 
$ WRITE output_file "$ EXIT" 
$! 
$ CLOSE output_file 
$ SUBMIT/NOPRINT/NOTIFY 'COM_FILE'
$ SYNCHRONIZE FOCTEMP
$!
$EXIT:
$!
$ SAY " " 
$ SAY "All done..." 
$ SAY " " 
$!
$!  Clean up files and copy extract file.
$!
$ COPY/LOG SYS$LOGIN:DRA.FTM DRA.DAT;
$ DELETE/LOG SYS$LOGIN:*.FTM;*
$ DELETE/LOG SYS$LOGIN:*.MAS;*
$ DELETE/LOG SYS$LOGIN:FOCTEMP.COM;*
$!
$ SET DEFAULT SYS$LOGIN
$ EXIT


FOCUS program (1) :

-*begin doc
-*
-*FEX:  GE-TRM-DATA-FOR-DRA
-*
-*Input:
-*      TERMIN
-*
-*Purpose:
-*
-*      This program will create the file containing the term data for use in 
-*      the DRA system student upload program.
-*
-*end doc
-*
JOIN CLEAR *
FILEDEF ACFL055 DISK SI$DATA:ACFILE.DAT
TABLE FILE ACFL055
PRINT CLASS_END_DATE CLASS_BEGIN_DATE 
ON TABLE SAVE AS TRMDRA
WHERE TERM_CODE_SES EQ '&TERMIN';
WHERE SESSION_CODE EQ ' ';
END 
JOIN CLEAR *


FOCUS program (2) :

-*begin doc
-*
-*FEX:  GE-EXTRACT-FOR-DRA
-*
-*Input:
-*      TERMIN : the enrollment term to select on.
-*      VLDDT  : the start/end dates for the enrollment term.
-*
-*Purpose:
-*
-*      This program will create the extract file to perform the student load 
-*      into the DRA system.
-*
-*end doc
-*
JOIN CLEAR *
SET PAGE=NOPAGE 
SET LINES=999999 
FILEDEF DECMJR DISK SI$FOCUS:DECODE_MJR_DRA.DOC
-*
-*  Select students enrolled for a given term.
-*
TABLE FILE RTFILE
PRINT MAJOR_1 CLASS_LEVEL BY STU_ID
ON TABLE HOLD AS RTTEMP1
WHERE TERM EQ '&TERMIN';
WHERE CURR_ATTEMPTED_HRS GT 0;
END
-*
-*  Retrieve student name/biographic/demographic data.
-*
JOIN STU_ID IN RTTEMP1 TO KEY IN AAFILE AS J1
DEFINE FILE RTTEMP1
-INCLUDE SI$FOCUS:NAMEPARS.SEG
-*
REAL_MJR/A2=EDIT(MAJOR_1,'$$99');
MJR_TRANS/A2=IF MAJOR_1 EQ 'TRGE' THEN '1 ' 
             ELSE DECODE REAL_MJR(DECMJR ELSE '?*');
FIX_BD/A8=EDIT(BIRTH_DT,'$$$$99$$')|EDIT(BIRTH_DT,'$$$$$$99')|
EDIT(BIRTH_DT,'9999$$$$');
-*
END
TABLE FILE RTTEMP1
PRINT MJR_TRANS CLASS_LEVEL FIX_BD SEX FST_NAME MDL_NAME LST_NAME 
BY STU_ID
ON TABLE HOLD AS RTTEMP2
END
-*
-*  Retrieve student address and create extract.
-*
JOIN STU_ID IN RTTEMP2 TO KEY IN ADFILE AS J1
DEFINE FILE RTTEMP2
FST_NAME_IN/A12=EDIT(FST_NAME,'999999999999');
MDL_NAME_IN/A12=EDIT(MDL_NAME,'999999999999');
LST_NAME_IN/A17=EDIT(LST_NAME,'99999999999999999');
-*
FST_NAME_OUT/A12=UPCASE(12,FST_NAME_IN,FST_NAME_OUT);
MDL_NAME_OUT/A12=UPCASE(12,MDL_NAME_IN,MDL_NAME_OUT);
LST_NAME_OUT/A17=UPCASE(17,LST_NAME_IN,LST_NAME_OUT);
-*
STREET_1_IN/A30=EDIT(STREET_1,'999999999999999999999999999999');
STREET_2_IN/A30=EDIT(STREET_2,'999999999999999999999999999999');
-*
STREET_1_OUT/A30=UPCASE(30,STREET_1_IN,STREET_1_OUT);
STREET_2_OUT/A30=UPCASE(30,STREET_2_IN,STREET_2_OUT);
-*
CITY_OUT/A20=UPCASE(20,CITY,CITY_OUT);
STATE_OUT/A2=UPCASE(2,STATE,STATE_OUT);
ZIP_IN/A9=EDIT(ZIP_CODE_DPBC,'999999999');
ZIP_OUT/A9=UPCASE(9,ZIP_IN,ZIP_OUT);
-*
ACAD_ST_OUT/A2=DECODE CLASS_LEVEL(FR '01' SO '02' ELSE '02');
-*
PERM_STREET_IN/A25=EDIT(STREET_1,'9999999999999999999999999');
PERM_STREET_OUT/A25=UPCASE(25,PERM_STREET_IN,PERM_STREET_OUT);
-*
OUT_REC1/A238=('                                      '|STU_ID|FIX_BD|'  '|
SEX|' '|MJR_TRANS|'      '|FST_NAME_OUT|MDL_NAME_OUT|LST_NAME_OUT|
'                        '|STREET_1_OUT|STREET_2_OUT|CITY_OUT|'    '|
STATE_OUT|ZIP_OUT|PHONE);
-*                                                                       
OUT_REC2/A245=('                                                            '|
'                                        '|
'                                               SU'|
'                                                                          '|
'                    '|ACAD_ST_OUT);
-*
OUT_REC3/A140=(STU_ID|'                               '|
'                     '|PERM_STREET_OUT|CITY_OUT|'     '|STATE_OUT|ZIP_OUT|
PHONE);
-*
OUT_REC4/A200=('                                                            '|
'                                                                           '|
'                   &VLDDT');
END
TABLE FILE RTTEMP2
PRINT OUT_REC1 OUT_REC2 OUT_REC3 OUT_REC4 
BY STU_ID NOPRINT
ON TABLE SAVE AS DRA
WHERE AD020_ORDER EQ 1;
END
JOIN CLEAR *


SI$FOCUS:DECODE_MJR_DRA.DOC :

(Major Code) '(Translation for DRA)'

 

 

This page hosted by Get your own Free Homepage

Hosted by www.Geocities.ws

1