************************************************************************************* * CREATED BY: Paul G. Earls * * Institutional Research * * Central Piedmont Community College * * Phone: (704) 330-6399 * * Email: paul.earls@cpcc.edu * * * * DATE CREATED: 02-25-2008 * * MODIFIED1: * * REQUESTOR: CCPRO * * PURPOSE: Curriculum ICR Dataset Creation * * For Any Term * *************************************************************************************; OPTIONS PS=5000 LS=256 NONUMBER NOCENTER; LIBNAME pge1 'C:\ICRWORK\'; %LET yt00=200703; * CHANGE VARIABLE TO YEAR/TERM (EXAMPLE: 200703 FOR FALL 2007); %LET lb01=pge1; %LET pt01=C:\ICRWORK\; %LET ds01=ICR_; %LET rp01=CUR_; %LET lb02=pge1; %LET ds02=C_; %LET rp02=ICR_; %LET lb03=pge1; %LET pt03=C:\ICRWORK\; %LET ds03=C_; %LET rp03=ICR_; %LET pf01=SSS; %LET pf02=ZZZ; * THIS SECTIONS IMPORTS THE ICR FILE FLAT FILE AND PROCESSES IT INTO A SAS DATASET; DATA classrec (KEEP= ADCInst ADCRptTerm ADCPrefix ADCNumber ADCSection ADCSpFundCode ADCImmureCodes ADCOn_Off ADCCounty ADCProg ADCSchedHrsAZ ADCStuCt ADCTotHrs ADCHrType ADCAgency ADCCensus ADCSSup ADCType ADCFaculty ADCMethod ADCCampus ADCSchedHrsNum) zzz__rec (KEEP= ADCInst ADCRptTerm ADCPrefix ADCNumber ADCSection ADCCounty ADCProg ADCSchedHrsAZ ADCStuCt ADCTotHrs ADCHrType ADCAgency ADCCensus ADCSSup ADCType ADCFaculty ADCMethod ADCCampus ADCSchedHrsNum) sss__rec (KEEP= ADCRptTerm ADCPrefix ADCNumber ADCSection ADCCounty ADCProg ADCSchedHrsAZ ADCStuCt ADCTotHrs ADCHrType ADCAgency ADCCensus ADCSSup ADCType ADCFaculty ADCSchedHrsNum); FORMAT ADCTotHrs_TEMP2 $6. ADCTotHrs 8.; INFILE "&pt01&ds01&rp01&yt00" TRUNCOVER; INPUT @10 ADCPrefix $3. @4 ADCRptTerm $6. @; SELECT; WHEN (ADCRptTerm EQ "&yt00" AND (ADCPrefix NE 'SSS' AND ADCPrefix NE 'ZZZ')) DO; INPUT @1 ADCInst $3. @4 ADCRptTerm $6. @10 ADCPrefix $3. @13 ADCNumber $5. @18 ADCSection $6. @24 ADCSpFundCode $1. @25 ADCImmureCodes $1. @26 ADCOn_Off $1. @27 ADCCounty $3. @30 ADCProg $6. @36 ADCSchedHrsAZ $4. @40 ADCStuCt 3. @43 ADCTotHrs 5. @48 ADCHrType $2. @50 ADCAgency $1. @51 ADCCensus $3. @54 ADCSSup $1. @55 ADCType $3. @58 ADCFaculty $9. @67 ADCMethod $2. @69 ADCCampus $4. ; IF (SUBSTR(ADCSchedHrsAZ,1,1)) EQ 'M' THEN ADCSchedHrsNum=0; ELSE ADCSchedHrsNum=INPUT(ADCSchedHrsAZ,4.); OUTPUT classrec; END; WHEN (ADCRptTerm EQ "&yt00" AND (ADCPrefix EQ 'ZZZ')) DO; INPUT @1 ADCInst $3. @4 ADCRptTerm $6. @10 ADCPrefix $3. @13 ADCNumber $5. @18 ADCSection $6. @24 ADCCounty $3. @27 ADCProg $6. @33 ADCSchedHrsAZ $4. @37 ADCStuCt 3. @40 ADCTotHrs_TEMP1 $5. @45 ADCHrType $2. @47 ADCAgency $1. @48 ADCCensus $3. @51 ADCSSup $1. @52 ADCType $3. @55 ADCFaculty $9. @64 ADCMethod $2. @66 ADCCampus $4. ; IF (SUBSTR(ADCSchedHrsAZ,1,1)) EQ 'M' OR (SUBSTR(ADCSchedHrsAZ,1,1)) EQ ' ' THEN ADCSchedHrsNum=0; ELSE ADCSchedHrsNum=INPUT(ADCSchedHrsAZ,4.); IF (SUBSTR(ADCTotHrs_TEMP1,5,1)) EQ 'J' THEN ADCTotHrs_TEMP2='-'||(SUBSTR(ADCTotHrs_TEMP1,1,4))||'1'; ELSE IF (SUBSTR(ADCTotHrs_TEMP1,5,1)) EQ 'K' THEN ADCTotHrs_TEMP2='-'||(SUBSTR(ADCTotHrs_TEMP1,1,4))||'2'; ELSE IF (SUBSTR(ADCTotHrs_TEMP1,5,1)) EQ 'L' THEN ADCTotHrs_TEMP2='-'||(SUBSTR(ADCTotHrs_TEMP1,1,4))||'3'; ELSE IF (SUBSTR(ADCTotHrs_TEMP1,5,1)) EQ 'M' THEN ADCTotHrs_TEMP2='-'||(SUBSTR(ADCTotHrs_TEMP1,1,4))||'4'; ELSE IF (SUBSTR(ADCTotHrs_TEMP1,5,1)) EQ 'N' THEN ADCTotHrs_TEMP2='-'||(SUBSTR(ADCTotHrs_TEMP1,1,4))||'5'; ELSE IF (SUBSTR(ADCTotHrs_TEMP1,5,1)) EQ 'O' THEN ADCTotHrs_TEMP2='-'||(SUBSTR(ADCTotHrs_TEMP1,1,4))||'6'; ELSE IF (SUBSTR(ADCTotHrs_TEMP1,5,1)) EQ 'P' THEN ADCTotHrs_TEMP2='-'||(SUBSTR(ADCTotHrs_TEMP1,1,4))||'7'; ELSE IF (SUBSTR(ADCTotHrs_TEMP1,5,1)) EQ 'Q' THEN ADCTotHrs_TEMP2='-'||(SUBSTR(ADCTotHrs_TEMP1,1,4))||'8'; ELSE IF (SUBSTR(ADCTotHrs_TEMP1,5,1)) EQ 'R' THEN ADCTotHrs_TEMP2='-'||(SUBSTR(ADCTotHrs_TEMP1,1,4))||'9'; ELSE IF (SUBSTR(ADCTotHrs_TEMP1,5,1)) EQ '}' THEN ADCTotHrs_TEMP2='-'||(SUBSTR(ADCTotHrs_TEMP1,1,4))||'0'; ELSE ADCTotHrs_TEMP2='0'||(SUBSTR(ADCTotHrs_TEMP1,1,5)); ADCTotHrs=INPUT(ADCTotHrs_TEMP2,6.); DROP ADCTotHrs_TEMP1 ADCTotHrs_TEMP2; OUTPUT zzz__rec; END; WHEN (ADCRptTerm EQ "&yt00" AND (ADCPrefix EQ 'SSS')) DO; INPUT @1 ADCInst $3. @4 ADCRptTerm $6. @10 ADCPrefix $3. @13 ADCNumber $5. @18 ADCSection $6. @24 ADCCounty $3. @27 ADCProg $6. @33 ADCSchedHrsAZ $4. @37 ADCStuCt 3. @40 ADCTotHrs 5. @45 ADCHrType $2. @47 ADCAgency $1. @48 ADCCensus $3. @51 ADCSSup $1. @52 ADCType $3. @55 ADCFaculty $9. ; IF (SUBSTR(ADCSchedHrsAZ,1,1)) EQ 'M' OR (SUBSTR(ADCSchedHrsAZ,1,1)) EQ ' ' THEN ADCSchedHrsNum=0; ELSE ADCSchedHrsNum=INPUT(ADCSchedHrsAZ,4.); OUTPUT sss__rec; END; OTHERWISE DO; PUT 'Error in record ' _n_ 'as follows:' _INFILE_; DELETE; END; END; RUN; DATA finalcuricr; MERGE classrec sss__rec zzz__rec; BY ADCPrefix; TITLE1 "Curriculum ICR Dataset"; TITLE2 "For &yt00"; PROC PRINT DATA=finalcuricr; RUN; * THIS OUTOUTS THE SAS DATASET FILE; DATA &lb02 .&ds02&rp02&yt00; SET finalcuricr; RUN; * THIS OUTOUTS THE EXCEL SPREADSHEET; PROC EXPORT DATA= WORK.FINALCURICR OUTFILE= "&pt03&ds03&rp03&yt00 .xls" DBMS=EXCEL2000 REPLACE; RUN;