//BRXXXLOD JOB (BRXXX,,,1),'CREATE CP LOAD',TIME=(1),REGION=0M JOB48486 //*************************************************************/ //**** PROGRAM TO CONVERT LEGACY COLLEGE PREP FILE LAYOUT ***/ //**** TO NEW DATABASE LAYOUTS. ***/ //*************************************************************/ //**** *** MAINTENANCE *** ***/ //**** CHANGE THE JOB CARD TO REFLECT YOUR ENVIRONMENT ***/ //**** ***/ //**** CHANGE THE INPUT FILE NAME TO YOUR INPUT FILE NAME ***/ //**** ***/ //**** CHANGE THE FOUR OUTPUT FILE NAMES AND THE FILE NAMES ***/ //**** IN THE HOUSEKEEPING STEP TO YOUR FILE NAMES ***/ //*************************************************************/ //************ HOUSEKEEPING ********************************/ //DELETE EXEC PGM=IDCAMS,REGION=512K //SYSPRINT DD SYSOUT=A //SYSIN DD * DELETE (BOR.OUTPUT.FILE) SET MAXCC = 0 //SELECT EXEC SAS WORK='50000,50000' //CPIN DD DSN=BOR.UNIVERSITY.INPUT,DISP=SHR //CPOUT DD DSN=BOR.OUTPUT.FILE, // DISP=(NEW,CATLG,DELETE),UNIT=SYSDA, // DCB=(LRECL=300,RECFM=FB,BLKSIZE=), // SPACE=(CYL,(15,9),RLSE) //* OPTIONS ERRORS=1 NODATE NOSOURCE SYMBOLGEN MSTORED MISSING=' ' SASMSTORE=AUTOLIB; %GLOBAL PGSZ LNSZ CSET ORIENT; DATA CP; INFILE CPIN LRECL=125 TRUNCOVER; INPUT @01 ACDYR $CHAR04. @05 UNIV $CHAR04. @09 SYSID $CHAR09. @23 ADMRDT $CHAR06. @29 HSCODE $CHAR06. @40 U_RESV_1 $CHAR05. @45 REMAREA1 $CHAR01. @46 REMTEST1 $CHAR01. @47 REMCOMP1 $CHAR01. @48 CCFICE1 $CHAR05. @53 CRSPRE1 $CHAR03. @56 CRSNO1 $CHAR04. @60 CCOIND1 $CHAR01. @61 REMINCM1 $CHAR01. @62 U_RESV_2 $CHAR05. @72 REMAREA2 $CHAR01. @73 REMTEST2 $CHAR01. @74 REMCOMP2 $CHAR01. @75 CCFICE2 $CHAR05. @80 CRSPRE2 $CHAR03. @83 CRSNO2 $CHAR04. @87 CCOIND2 $CHAR01. @88 REMINCM2 $CHAR01. @89 U_RESV_3 $CHAR05. @99 REMAREA3 $CHAR01. @100 REMTEST3 $CHAR01. @101 REMCOMP3 $CHAR01. @102 CCFICE3 $CHAR05. @107 CRSPRE3 $CHAR03. @110 CRSNO3 $CHAR04. @114 CCOIND3 $CHAR01. @115 REMINCM3 $CHAR01. @116 U_RESV_4 $CHAR05. ; RETAIN TERM U_RESV DEMOSRC; FORMAT DEMOSRC $CHAR08.; FORMAT TERM $CHAR06.; FORMAT U_RESV $CHAR05.; DEMOSRC = 'CP'; IF ACDYR = '0607' THEN TERM = '200701'; IF ACDYR = '0708' THEN TERM = '200801'; IF ACDYR > '0708' THEN TERM = ADMRDT; RUN; PROC SORT DATA = CP; BY SYSID UNIV; DATA CP1 (KEEP=TERM UNIV SYSID ADMRDT HSCODE DEMOSRC REMAREA REMTEST REMCOMP CCFICE CRSPRE CRSNO CCOIND REMINCM U_RESV); SET CP; BY SYSID UNIV; REMAREA = REMAREA1; REMTEST = REMTEST1; REMCOMP = REMCOMP1; CCFICE = '0'||CCFICE1||'00'; CRSPRE = CRSPRE1; CRSNO = CRSNO1; CCOIND = CCOIND1; REMINCM = REMINCM1; U_RESV = U_RESV_2; OUTPUT; DATA CP2 (KEEP=TERM UNIV SYSID ADMRDT HSCODE DEMOSRC REMAREA REMTEST REMCOMP CCFICE CRSPRE CRSNO CCOIND REMINCM U_RESV); SET CP; BY SYSID UNIV; REMAREA = REMAREA2; REMTEST = REMTEST2; REMCOMP = REMCOMP2; CCFICE = '0'||CCFICE2||'00'; CRSPRE = CRSPRE2; CRSNO = CRSNO2; CCOIND = CCOIND2; REMINCM = REMINCM2; U_RESV = U_RESV_3; OUTPUT; DATA CP3 (KEEP=TERM UNIV SYSID ADMRDT HSCODE DEMOSRC REMAREA REMTEST REMCOMP CCFICE CRSPRE CRSNO CCOIND REMINCM U_RESV); SET CP; BY SYSID UNIV; REMAREA = REMAREA3; REMTEST = REMTEST3; REMCOMP = REMCOMP3; CCFICE = '0'||CCFICE3||'00'; CRSPRE = CRSPRE3; CRSNO = CRSNO3; CCOIND = CCOIND3; REMINCM = REMINCM3; U_RESV = U_RESV_4; OUTPUT; DATA CPALL; SET CP1 CP2 CP3; BY SYSID UNIV; FORMAT CPSOURCE $CHAR04.; CPSOURCE = 'CP'; UNIV=UPCASE(UNIV); TERM=UPCASE(TERM); SYSID=UPCASE(SYSID); REMAREA=UPCASE(REMAREA); ADMRDT=UPCASE(ADMRDT); IF ADMRDT = ' ' THEN ADMRDT = '.'; HSCODE=UPCASE(HSCODE); IF HSCODE = ' ' THEN HSCODE = '.'; REMTEST=UPCASE(REMTEST); IF REMTEST = ' ' THEN REMTEST = '.'; REMCOMP=UPCASE(REMCOMP); IF REMCOMP = ' ' THEN REMCOMP = '.'; CCFICE=UPCASE(CCFICE); IF CCFICE = ' ' THEN CCFICE = '.'; CRSPRE=UPCASE(CRSPRE); IF CRSPRE = ' ' THEN CRSPRE = '.'; CRSNO=UPCASE(CRSNO); IF CRSNO = ' ' THEN CRSNO = '.'; CCOIND=UPCASE(CCOIND); IF CCOIND = ' ' THEN CCOIND = '.'; REMINCM=UPCASE(REMINCM); IF REMINCM = ' ' THEN REMINCM = '.'; U_RESV=UPCASE(U_RESV); IF REMAREA IN ('M','R','W'); OUTPUT; PROC SORT DATA = CPALL; BY SYSID UNIV; DATA _NULL_; SET CPALL; FILE CPOUT DLM='|' LRECL=300; PUT _N_ ADMRDT CPSOURCE UNIV SYSID REMAREA ADMRDT DEMOSRC REMTEST TERM REMCOMP CCFICE CRSPRE CRSNO CCOIND REMINCM U_RESV; RUN;