1 The SAS System 14:54 Tuesday, March 3, 2009 NOTE: Unable to open SASUSER.REGSTRY. WORK.REGSTRY will be opened instead. NOTE: All registry changes will be lost at the end of the session. WARNING: Unable to copy SASUSER registry to WORK registry. Because of this, you will not see registry customizations during this session. NOTE: Copyright (c) 2002-2003 by SAS Institute Inc., Cary, NC, USA. NOTE: SAS (r) 9.1 (TS1M3) Licensed to THE CURATORS OF THE UNIV OF MISSOURI - T&R, Site 0001242018. NOTE: This session is executing on the AIX 5.2 platform. NOTE: SAS 9.1.3 Service Pack 4 NOTE: SAS initialization used: real time 0.30 seconds cpu time 0.11 seconds NOTE: AUTOEXEC processing beginning; file is /home/john/autoexec.sas. v8= 0 v9= 1 ***** ****** Standard OSEDA/MCDC autoexec (autoexec9.sas in sascode) rev. 12/28/2004 3:06PM - Begin execution ******* _v9= v9 Standard filerefs and librefs assigned ***** NOTE: Libref SF32000X was successfully assigned as follows: Levels: 1 Engine(1): V9 Physical Name(1): /pub/data/sf32000x NOTE: Libref SF3X was successfully assigned as follows: Levels: 1 Engine(1): V9 Physical Name(1): /pub/data/sf32000x NOTE: Libref INDCTRS was successfully assigned as follows: Levels: 1 Engine(1): V9 Physical Name(1): /pub/data/indctrs NOTE: Libname LIBRARY refers to the same physical library as SASCTLGS. NOTE: Libref LIBRARY was successfully assigned as follows: Engine: V9 Physical Name: /pub/sasctlgs/v9 ****Finished with generic autoexec **** *** ****Executing my private autoexec.sas file, rev. 02/28/2006 7:40AM WARNING: Library MAPS is not assigned in this scope. WARNING: Library GISMAPS is not assigned in this scope. ***** dmsflag= NODMS dmchk execution begins *** **Begin execution on Tuesday 03MAR09 at 14:54 PID=446684 NOTE: AUTOEXEC processing completed. 1 x cd /pub/data/sf32000/Tools 1 ! ; %let pgm=cnvtsf3; filename pgm "&pgm..sas"; *<====mo only===; 2 The SAS System 14:54 Tuesday, March 3, 2009 2 3 /*--This program will read a set of ascii csv files containing the Census 2000 SF3 data for a 4 state (or US in the case of the national file). 5 John Blodgett, OSEDA, U. of Missouri 6 Under contract with the Missouri Census Data Center. 7 Part of the joint project of the national State Data Center. 8 Spring, 2002. 9 ************See module cnvtsf3.txt in this same directory for a detailed description of this 10 conversion setup*********** 11 ---*/ 12 13 /*-------Revision history: 14 4-02-02: Begin coding. Using the cnvtsf1_alt.sas as model. 15 5-11-02: Ran an edit of parm codes off-line. Error report sent to EJC for revisions.(jgb) 16 Partially edited fvar/lvar/nvar parm assignment code substituted. 17 6-06-02: Using revised version in which Roy W. upcased all the table var names except for the i to 18 separate item numbers. Fixes to geocode defn for sumlevs 382 and 383. Fix to lvar74 parm. 19 6-27-02: Rerun with revised Vt test file. Will read .zip input files with pipes this time. 20 7-09-02: Changed code to id a "sub-tract" sumlev to exclude 085 (urban or rural portion of a tract) as 21 being sub tract. With latest downloaded data we DO have CT tables for level 085. 22 8-13-02: Error found in reading HCT30H and HCT30G tables, file 70. They were reversed in the 23 length statement at (appx) lines 616/617. 24 8-21-02: Input statement changed to read a new var, UASC, and to correct value of UAType which was being 25 read from wrong column. 26 8-26-02: Adding step to create the &stab.stcnty dataset with only 040 and 050 summaries, geocomo='00'. 27 28 8-28-02: Adding concit to defn of geocode for sumlevs 463 and 465. 29 Reading submcd from col. 168 instead of 160. 30 Adding format county $county. statement. 31 32 9-24-02: Running to convert National file. geoheaders only temporarily. 33 34 9-28-02 Edited assignment of geocodes for UA-based geographies. (We treat the comparable SumLevs on the 35 state and National files as equivalent in terms of geocode assignment, i.e. level 410 and 420 both 36 have geocode assinged as UA-State.) 37 3-3-09: Code sent back from L. Meyers, PSU and will now be used to start over with conversions after disk crash 37 ! disaster. 38 39 40 41 --------*/ 42 43 *<==============code parameter !!!!!!!! ========= specs identifying the file (state or us) to be converted--; 44 %let stab=vt; %let state=50; *---Vermont (done on desktop and uploaded actually) ---; 45 %let stab=de; %let state=10; *--Delaware-- (reconverting after fixes 9-29-02)--; 46 %let stab=de; %let state=10; *---Delaware--; 47 %let stab=ks; %let state=20; *--Kansas-----; 48 %let stab=il; %let state=17; *---Illinois--; 49 %let stab=mi; %let state=26; *--Michigan--; 50 51 %let stab=mo; %let state=29; *--Missouri! : 3/03/09 --; 52 53 *============================HERE ARE THE *CURRENT* SPECS!!!==============================================*; 54 *let temp=%str(temp/); *--for embargoed files make temp=temp/ ; 55 %let temp=rawdata; 56 %let stab=us; %let state=00; *--National File: 3/03/09 --; 3 The SAS System 14:54 Tuesday, March 3, 2009 57 58 *---save this report in new .lst file for each state converted---; 59 proc printto print = "&pgm&stab..lst" new; run; NOTE: PROCEDURE PRINTTO used (Total process time): real time 0.01 seconds cpu time 0.00 seconds 60 61 %let curpath=%str(/pub/data/sf32000/Tools/); 62 filename curpath "&curpath"; *<===points to current directory. We shall do some %include s below that 63 reference sas label-statement modules in the same directory as the current program.--; 64 65 %let ucstab=%upcase(&stab); 66 %let inpath=%str(/pub/data/sf32000/&temp); *<===path (directory) where the input raw data is stored---*; 67 68 *libname sf32000 "&inpath"; *<===========output sas data sets stored here. By default, this is 69 the same directory (folder) as input files======; 70 *libname sf3 "&inpath"; *--You can use this alternate libname if you want. Mix and match--; 71 libname sf32000 "/pub/data/sf32000"; NOTE: Libref SF32000 was successfully assigned as follows: Engine: V9 Physical Name: /pub/data/sf32000 71 ! *--we read from the rawdata directory but write to sf32000 so we cannot use 71 ! &inpath to 72 define this libref now.----; 73 libname sf3 (sf32000); NOTE: Libref SF3 was successfully assigned as follows: Levels: 1 Engine(1): V9 Physical Name(1): /pub/data/sf32000 73 ! *---alias name--; 74 title "Conversion of 2000 Summary File 3 Data for &ucstab"; 75 76 %let maxobs=999999;*<=======while testing, limits processing to this many input recs==; 77 78 %let filesfx=uf3; %*<---does not vary as it did with sf2--; 79 80 *filename geos "&inpath/&stab.geo.&filesfx"; *<====assumes you have unzipped the .zip file with this inside; 81 filename geos pipe "unzip -a -p &inpath/&stab.geo_&filesfx"; 82 83 x cd &inpath; *<---make it the current directory--; 84 85 %macro select; 86 %*--This macro will be invoked when reading the headers data. It should assign a value 87 of 1 to _keep to indicate that the record/observation is to be processed. 1 means 88 read the data, 0 means do not.--; 89 _keep=1; 90 /* if sumlev in ('040','050') then _keep=1; else _keep=0; */ *<====For example==; 91 **<===add/substitute your custom code here. You can access any variable on the geography headers file--; 92 %mend select; 93 94 *---Define custom SAS format codes. You may want to edit the formats.sas file to make it smaller or 95 to specify a library parm so that the formats are permanently saved--; 96 *<=====Uncomment the following statement to have format codes defined. You will want to store the formats in a 4 The SAS System 14:54 Tuesday, March 3, 2009 97 permanent sas formats library===; 98 *%include "&curpath/formats.sas"/nosource2; 99 100 data 101 sf32000.&stab.geos (compress=yes sortedby=LogRecNo label="2000 Summary File 3 (SF3) Geo Headers data for &ucstab" 102 keep=geocode--AreaSQMI PCT) 103 sf32000.&stab.ph(compress=yes sortedby=LogRecNo label="2000 sf3 P & H Tables for &ucstab" keep=geocode--AreaSQMI 104 PCT P1i1--P160Ii41 H1i1--H121i7) 105 sf32000.&stab.phct(compress=yes sortedby=LogRecNo label="2000 sf3 PCT & HCT tables exc PCTr for &ucstab" 105 ! keep=geocode--AreaSQMI 106 PCT1i1--PCT61i81 HCT1i1--HCT28i13) 107 sf32000.&stab.phctR(compress=yes sortedby=LogRecNo label="2000 sf3 PCT & HCT Tables by Race for &ucstab" 107 ! keep=geocode--AreaSQMI 108 PCT62Ai1--PCT76Ii29 HCT29Ai1--HCT48Ii3) 109 ; 110 111 112 infile geos missover lrecl=1024 obs=&maxobs; 113 retain _first 1; drop _first; 114 length GeoCode $44 SumLev $3 GeoComp $2 AreaName $90; *--establish variable order -- these go first--; 115 retain State "&state" Stab "&stab"; length County $5 Tract $7; *--and then these... -; 116 format county $county.; *<====new and option, 8-28-02====; 117 if _first then do; 118 input FileId $char6. stusab $2. @; retain FileId stusab; drop fileid stusab; 119 if substr(FileId,2,3) ne 'SF3' then do; 120 file log; put '******Problem with input geographic headers file. Did not find "SF3" in cols. 2-4 ' FileId= / 121 '***Conversion will not run***'; 122 stop; 123 end; 124 end; 125 126 input 127 @9 SumLev $3. geocomp $2. 128 @19 LogRecNo 7. 129 @26 Region $1. Division $1. StateCe $2. State $2. Cnty $3. CntySC $2. 130 @37 CouSubFP $5. CouSubCC $2. CouSubSC $2. PlaceFP $5. PlaceCC $2. PlaceDC $1. PlaceSC $2. 131 @56 TractIn $6. BG $1. Block $4. @69 ConCit $5. 132 @78 aianhh $char4. aianhhfp $char5. aianhhcc $char2. aihhtli $1. aitsce $char3. aits $char5. aitscc $char2. 133 anrc $char5. anrccc $char2. 134 @107 MSACMSA $4. MASC $2. CMSA2 $2. MACCI $1. PMSA $4. NECMA $4. 135 @128 UA $5. UASC $2. UAType $1. 136 @136 UrbanRur $1. cd106 $2. cd108 $2. +4 (sldu sldl)($char3.) vtd $char6. vtdi $1. 137 @158 ZCTA3 $3. ZCTA5 $5. 138 @168 SubMCD $5. 139 @173 (AreaLand AreaWatr)(14.) AreaName $90. FuncStat $1. gcuni $1. 140 @293 Pop100 9. HU100 9. IntPtLat 9.6 IntPtLon 10.6 LSADC $2. 141 @332 PartFlag $1. (SDElm SDSec SDUni)($5.) TAZ $6. UGA $5. PUMA5 $5. PUMA1 $5. 142 @384 MACC $char5. UACP $char5. ; 143 144 %select ; *<-----Invoke the macro that will filter based on value of sumlev-------------------*; 145 if cnty ne ' ' then County=state||cnty; 146 *--edit the tract so that it is in xxxx.xx format with leading and trailing zeroes--; 147 if TractIn ne ' ' then Tract=translate( substr(TractIn,1,4)||'.'||substr(TractIn,5,2) ,'0',' '); 148 drop tractin; 149 150 %macro concatd(g1,g2,g3,g4,g5,g6,g7,g8); %*--utility macro used to create geocode values-; 5 The SAS System 14:54 Tuesday, March 3, 2009 151 %*--utility macro to return a SAS expression that will be the concatenation of specified char variables 152 separated by dashes-; 153 %local dash gc; %let dash=%str(||'-'||); 154 %*--we build the value of local variable gc which is then "returned" as the result of invoking the macro-; 155 %let gc=&g1; %if &g2= %then %goto rtrn; 156 %let gc=&gc&dash&g2; %if &g3= %then %goto rtrn; 157 %let gc=&gc&dash&g3; %if &g4= %then %goto rtrn; 158 %let gc=&gc&dash&g4; %if &g5= %then %goto rtrn; 159 %let gc=&gc&dash&g5; %if &g6= %then %goto rtrn; 160 %let gc=&gc&dash&g6; %if &g7= %then %goto rtrn; 161 %let gc=&gc&dash&g7; %if &g8= %then %goto rtrn; 162 %let gc=&gc&dash&g8; 163 %rtrn: 164 &gc 165 %mend concatd; 166 167 select(SumLev); *---Assign the standardized Geographic Code to uniquely ID the geographic area--; 168 when('010') geocode=' '; 169 when('020') geocode=region; 170 when('030') geocode=division; 171 when('040') geocode=state; 172 when('050') geocode=county; 173 when('060') geocode=%concatd(county,cousubfp); 174 when('070') geocode=%concatd(county,cousubfp,placefp); 175 when('080') geocode=%concatd(county,cousubfp,placefp,tract); 176 when('085') do; 177 geocode=%concatd(county,cousubfp,placefp,tract,UrbanRur); 178 Areaname = "Census Tract "||tract||" ("||TRIM(areaname)||" part)" ; 179 end; 180 when('090') geocode=%concatd(county,cousubfp,placefp,tract,UrbanRur,bg); 181 when('067') geocode=%concatd(county,cousubfp,SubMCD); 182 183 when('140') geocode=%concatd(county,tract); 184 when('144') geocode=%concatd(county,tract,aianhhfp); 185 when('150') geocode=%concatd(county,tract,bg); 186 when('154') geocode=%concatd(county,tract,bg,aianhhfp); 187 when('155') do; 188 geocode=%concatd(county,placefp); 189 190 *<===Override areaname to make it the name of the place rather than the county.To leave as-is delete this + next 4 190 ! lines; 191 length _arg $7; _arg=state||placefp; 192 drop _arg; 193 areaname=put(_arg,$fplace.); 194 if areaname=_arg then areaname='Place '||placefp; 195 196 end; 197 when('158') geocode=%concatd(state,placefp,cnty,tract); 198 when('160') geocode=%concatd(state,placefp); 199 when('170') geocode=%concatd(state,concit); 200 when('172') geocode=%concatd(state,concit,placefp); 201 when('250') geocode=aianhh; 202 when('260') geocode=%concatd(aianhhfp,state); 203 when('270') geocode=%concatd(aianhhfp,cnty); 204 when('271') geocode=%concatd(aianhhfp,cnty,cousubfp); 205 when('273') geocode=%concatd(aianhhfp,cnty,cousubfp,placefp); 6 The SAS System 14:54 Tuesday, March 3, 2009 206 207 when('252') geocode=aianhh; 208 when('262') geocode=%concatd(aianhhfp,state); 209 when('272') geocode=%concatd(aianhhfp,cnty); 210 when('275') geocode=%concatd(aianhhfp,cnty,cousubfp); 211 when('276') geocode=%concatd(aianhhfp,cnty,cousubfp,placefp); 212 213 when('254') geocode=aianhh; 214 when('264') geocode=%concatd(aianhhfp,state); 215 when('274') geocode=%concatd(aianhhfp,cnty); 216 when('277') geocode=%concatd(aianhhfp,cnty,cousubfp); 217 when('278') geocode=%concatd(aianhhfp,cnty,cousubfp,placefp); 218 219 when('256','291','292') geocode=%concatd(aianhhfp,tract); 220 when('258','293','294') geocode=%concatd(aianhhfp,tract,bg); 221 222 when('251','253','255') geocode=%concatd(aianhhfp,aits); 223 when('257') geocode=%concatd(aianhhfp,aits,tract); 224 when('259') geocode=%concatd(aianhhfp,aits,tract,bg); 225 when('290') geocode=%concatd(aianhhfp,aits,state); 226 227 228 when('280','283','286') geocode=%concatd(state,aianhhfp); 229 when('282','285','288') geocode=%concatd(state,aianhhfp,cnty); 230 when('261','265','267') geocode=%concatd(state,aianhhfp,cnty,cousubfp); 231 when('263','266','268') geocode=%concatd(state,aianhhfp,cnty,cousubfp,placefp); 232 when('281','284','287') geocode=%concatd(state,aianhhfp,aits); 233 when('230') geocode=%concatd(state,anrc); 234 when('380') geocode=msacmsa; 235 when('381') geocode=%concatd(msacmsa,state); 236 when('382') geocode=%concatd(msacmsa,state,placefp); 237 when('383') geocode=%concatd(msacmsa,state,cnty); 238 when('384') geocode=%concatd(msacmsa,state,cousubfp); 239 when('385') geocode=pmsa; 240 when('386') geocode=%concatd(pmsa,state); 241 when('387') geocode=%concatd(pmsa,state,cnty); 242 when('388') geocode=%concatd(pmsa,state,cousubfp); 243 244 when('370') geocode=necma; 245 when('371') geocode=%concatd(necma,state); 246 when('372') geocode=%concatd(necma,state,placefp); 247 when('373') geocode=%concatd(necma,state,cnty); 248 249 250 when('390') geocode=%concatd(state,msacmsa); 251 when('391') geocode=%concatd(state,msacmsa,placefp); 252 when('392') geocode=%concatd(state,msacmsa,cnty); 253 when('393') geocode=%concatd(state,msacmsa,cnty,cousubfp); 254 when('395') geocode=%concatd(state,msacmsa,pmsa); 255 when('396') geocode=%concatd(state,msacmsa,pmsa,cnty); 256 when('397') geocode=%concatd(state,msacmsa,pmsa,cnty,cousubfp); 257 when('374') geocode=%concatd(state,necma); 258 when('375') geocode=%concatd(state,necma,placefp); 259 when('376') geocode=%concatd(state,necma,cnty); 260 when('400') geocode=UA; 261 *---the following 7 When clauses treat the SumLev pairs as equivalents. The only "difference" is the order of the 7 The SAS System 14:54 Tuesday, March 3, 2009 261 ! variables. 262 On a state level file 420 is State-UA, while on the national file it is UA-State. For assigning geocode, we treat 263 them as the same and always put UA ahead of state.--; 264 when('410','420') geocode=%concatd(UA,state); 265 when('430','431') geocode=%concatd(UA,state,cnty); 266 when('440','441') geocode=%concatd(UA,state,cnty,cousubfp); 267 when('450','451') geocode=%concatd(UA,state,cnty,cousubfp,placefp); 268 when('460','461') geocode=%concatd(UA,state,placefp); 269 when('462','463') geocode=%concatd(UA,state,concit); 270 when('464','465') geocode=%concatd(UA,state,concit,placefp); 271 272 when('500') geocode=%concatd(state,cd106); 273 when('510') geocode=%concatd(state,cd106,cnty); 274 when('511') geocode=%concatd(state,cd106,cnty,tract); 275 when('521') geocode=%concatd(state,cd106,cnty,cousubfp); 276 when('531') geocode=%concatd(state,cd106,placefp); 277 when('541') geocode=%concatd(state,cd106,concit,placefp); 278 when('550','551','552') geocode=%concatd(state,cd106,aianhhfp); 279 when('553','554','555') geocode=%concatd(state,cd106,aianhhfp,aits); 280 when('850') geocode=zcta3; 281 when('860') geocode=zcta5; 282 283 284 when('851') geocode=%concatd(state,zcta3); 285 when('852') geocode=%concatd(state,zcta3,cnty); 286 when('871') geocode=%concatd(state,zcta5); 287 when('881') geocode=%concatd(state,zcta5,cnty); 288 289 otherwise do; 290 if sumlev ne lag(sumlev) then do; 291 _badsl+1; drop _badsl; 292 if _badsl le 50 then put '**Unrecognized SUMLEV: ' sumlev; 293 end; 294 end; 295 end; *--select group--; 296 geocode=compress(geocode,' '); *---remove any blanks from geocode---; 297 298 %macro astab; 299 %*---Defines the stab (State Abbreviation) variable when converting a national file---*; 300 %if %quote(&Ucstab) eq US %then %do; 301 if state=' ' then stab=' '; 302 else stab=put(state,$fipstab.); *<====requires the $fipstab format code be defined. 303 See http://mcdc2.missouri.edu/sastools/sas_formats/Sfipstab.sas --; 304 %end; 305 %*--otherwise we have a retain statement above that causes variable stab to have a value of "&stab"-; 306 %mend astab; 307 options mprint; 308 %astab MPRINT(ASTAB): if state=' ' then stab=' '; MPRINT(ASTAB): else stab=put(state,$fipstab.); MPRINT(ASTAB): *<====requires the $fipstab format code be defined. See http://mcdc2.missouri.edu/sastools/sas_formats/Sfipstab.sas --; 309 310 *--Set flag to indicate whether this geographic summary level will have data for the CT tables--; 311 _readCT= ( sumlev not in ('Z85','090','150','154') ); *<--note that 085, tract/UR is NOT!(now) considered sub-tract-; 312 attrib PCT length=3 format=1. label='PCT /HCT data flag'; 8 The SAS System 14:54 Tuesday, March 3, 2009 313 314 PCT=_readCT; *<--------save the flag on the geos data set-------------------------; 315 316 *--Create land and total area values in square miles. --; 317 LandSQMI=AreaLand/2589988; AreaSQMI=LandSQMI + (AreaWatr/2589988); 318 format LandSQMI AreaSQMI 9.2; 319 format IntPtLon 11.6 IntPtLat 10.6; *<--added 7-13-01-; 320 321 label SumLev='Geographic Summary Level' GeoComp='Geographic Component'; 322 label cnty='County code'; 323 label LandSQMI='Land Area Sq Mls' AreaSQMI='Total Area Sq Mls' 324 AreaLand='Land Area Sq Meters' AreaWatr='Water Area Sq Meters'; 325 label cd106='Cong District - 106th (1998)' sldu='State Leg District Upper Chbr' 326 sldl='State Leg District Lower Chbr'; 327 label ZCTA5='ZIP Census Tabulation Area'; 328 329 *---For processing zip codes on the national files we assign the "primary" state code associated with the zip or 330 zip center (zcta5 or zcta3) using the builtin SAS functions zipfips and zipstate--; 331 if sumlev in ('850','860') then do; 332 length _ziparg $5 ; 333 if sumlev='850' then _ziparg=zcta3||'01'; else _ziparg=zcta5; 334 if sumlev='860' and substr(zcta5,4,2) in ("XX","HH") then _ziparg=substr(zcta5,1,3)||'01'; 335 state= put ( zipfips(_ziparg), z2. ); 336 stab = lowcase ( zipstate(_ziparg) ); 337 if stab=' ' then do; 338 _error_=0; 339 file log; _nziperr+1; 340 if _nziperr=1 then put '****ZIP codes not assigned to states****'; 341 put +2 _ziparg $5. @@; 342 end; 343 drop _ziparg _nziperr; 344 end; 345 _first=0; ****************************************************; 346 drop _keep _readCT; 347 *---Use length statements to set up the variables in order in the PDV (program data vector). Then we can 348 used "double-dash" variable intervals in the input statements and SAS will know 349 which variables are in those intervals----*; 350 351 %*--assign the macro vars containing the first and last variables in each input file--; 352 *<=============================Parm assignment code starts here============================; 353 length P1i1 P2i1 P3i1 P4i1 P5i1-P5i7 P6i1-P6i8 P7i1-P7i17 P8i1-P8i79 P9i1-P9i27 P10i1-P10i19 P11i1-P11i21 354 P12i1-P12i31 P13i1-P13i19 P14i1-P14i16 5; 355 %let fvar1=P1i1; %let lvar1=P14i16; %let nvar1=248; 356 357 length P15i1-P15i20 P16i1-P16i26 P17i1-P17i20 P18i1-P18i19 P19i1-P19i67 P20i1-P20i14 P21i1-P21i15 358 P22i1-P22i9 P23i1-P23i10 P24i1-P24i18 5; 359 %let fvar2=P15i1; %let lvar2=P24i18; %let nvar2=218; 360 361 length P25i1-P25i35 P26i1-P26i5 P27i1-P27i5 P28i1-P28i25 P29i1-P29i5 P30i1-P30i16 362 P31i1-P31i15 P32i1-P32i13 P33i1-P33i13 P34i1-P34i17 P35i1-P35i10 P36i1-P36i47 P37i1-P37i35 5; 363 %let fvar3=P25i1; %let lvar3=P37i35; %let nvar3=241; 364 365 length P38i1-P38i22 P39i1-P39i23 P40i1-P40i21 P41i1-P41i19 P42i1-P42i49 P43i1-P43i15 366 P44i1-P44i29 P45i1-P45i22 P46i1-P46i27 5; 367 %let fvar4=P38i1; %let lvar4=P46i27; %let nvar4=227; 368 9 The SAS System 14:54 Tuesday, March 3, 2009 369 length P47i1-P47i49 P48i1-P48i21 P49i1-P49i55 P50i1-P50i95 5; 370 %let fvar5=P47i1 ; %let lvar5=P50i95; %let nvar5=220; 371 372 length P51i1-P51i65 P52i1-P52i17 P53i1 P54i1-P54i3 P55i1-P55i120 373 P56i1-P56i8 P57i1-P57i8 P58i1-P58i3 P59i1-P59i3 P60i1-P60i3 374 P61i1-P61i3 P62i1-P62i3 P63i1-P63i3 P64i1-P64i3 P65i1-P65i3 375 P66i1-P66i3 P67i1 5; 376 %let fvar6=P51i1; %let lvar6=P67i1; %let nvar6=250; 377 378 length P68i1 P69i1 P70i1 P71i1 P72i1 P73i1 P74i1 P75i1 P76i1-P76i17 379 P77i1 P78i1-P78i3 P79i1-P79i17 P80i1 P81i1-P81i3 P82i1 P83i1 P84i1-P84i43 380 P85i1-P85i3 P86i1-P86i3 P87i1-P87i17 P88i1-P88i10 P89i1-P89i39 381 P90i1-P90i41 P91i1-P91i5 5; 382 %let fvar7=P68i1; %let lvar7=P91i5; %let nvar7=213; 383 384 length P92i1-P92i59 P93i1-P93i19 P94i1-P94i3 385 P95i1-P95i3 P96i1-P96i3 P97i1-P97i3 P98i1-P98i3 P99i1-P99i3 386 P100i1-P100i3 P101i1-P101i3 P102i1-P102i5 P103i1-P103i7 387 P104i1-P104i3 P105i1-P105i3 P106i1-P106i3 P107i1-P107i3 P108i1-P108i3 388 P109i1-P109i7 P110i1-P110i5 P111i1-P111i3 P112i1-P112i3 P113i1-P113i3 389 P114i1-P114i3 P115i1-P115i7 P116i1-P116i3 P117i1-P117i3 390 P118i1-P118i3 P119i1-P119i3 P120i1-P120i3 P121i1-P121i3 P122i1-P122i3 391 P123i1-P123i3 P124i1-P124i3 P125i1-P125i3 P126i1-P126i5 P127i1-P127i3 392 P128i1-P128i5 P129i1-P129i5 P130i1-P130i5 P131i1-P131i3 P132i1-P132i3 393 P133i1-P133i5 P134i1-P134i5 P135i1-P135i3 P136i1-P136i3 P137i1-P137i3 394 P138i1-P138i7 5; 395 %let fvar8=P92i1; %let lvar8=P138i7; %let nvar8=245; 396 397 length P139i1-P139i7 P140i1-P140i7 P141i1-P141i7 P142i1-P142i7 P143i1-P143i14 398 P144i1-P144i14 P145Ai1-P145Ai49 P145Bi1-P145Bi49 P145Ci1-P145Ci49 5; 399 %let fvar9=P139i1; %let lvar9=P145Ci49; %let nvar9=203; 400 401 length P145Di1-P145Di49 P145Ei1-P145Ei49 P145Fi1-P145Fi49 P145Gi1-P145Gi49 402 P145Hi1-P145Hi49 5; 403 %let fvar10=P145Di1; %let lvar10=P145Hi49; %let nvar10=245; 404 405 length P145Ii1-P145Ii49 P146Ai1-P146Ai31 P146Bi1-P146Bi31 P146Ci1-P146Ci31 406 P146Di1-P146Di31 P146Ei1-P146Ei31 P146Fi1-P146Fi31 5; 407 %let fvar11=P145Ii1; %let lvar11=P146Fi31; %let nvar11=235; 408 409 length P146Gi1-P146Gi31 P146Hi1-P146Hi31 P146Ii1-P146Ii31 P147Ai1-P147Ai17 410 P147Bi1-P147Bi17 P147Ci1-P147Ci17 P147Di1-P147Di17 P147Ei1-P147Ei17 411 P147Fi1-P147Fi17 P147Gi1-P147Gi17 P147Hi1-P147Hi17 P147Ii1-P147Ii17 5; 412 %let fvar12=P146Gi1; %let lvar12=P147Ii17; %let nvar12=246; 413 414 415 length P148Ai1-P148Ai17 P148Bi1-P148Bi17 P148Ci1-P148Ci17 P148Di1-P148Di17 416 P148Ei1-P148Ei17 P148Fi1-P148Fi17 P148Gi1-P148Gi17 P148Hi1-P148Hi17 417 P148Ii1-P148Ii17 P149Ai1-P149Ai22 P149Bi1-P149Bi22 P149Ci1-P149Ci22 418 P149Di1-P149Di22 5; 419 %let fvar13=P148Ai1; %let lvar13=P149Di22; %let nvar13=241; 420 421 length P149Ei1-P149Ei22 P149Fi1-P149Fi22 P149Gi1-P149Gi22 P149Hi1-P149Hi22 422 P149Ii1-P149Ii22 P150Ai1-P150Ai15 P150Bi1-P150Bi15 P150Ci1-P150Ci15 423 P150Di1-P150Di15 P150Ei1-P150Ei15 P150Fi1-P150Fi15 P150Gi1-P150Gi15 424 P150Hi1-P150Hi15 P150Ii1-P150Ii15 5; 10 The SAS System 14:54 Tuesday, March 3, 2009 425 %let fvar14=P149Ei1; %let lvar14=P150Ii15; %let nvar14=245; 426 427 length P151Ai1-P151Ai17 P151Bi1-P151Bi17 P151Ci1-P151Ci17 428 P151Di1-P151Di17 P151Ei1-P151Ei17 P151Fi1-P151Fi17 429 P151Gi1-P151Gi17 P151Hi1-P151Hi17 P151Ii1-P151Ii17 430 P152Ai1 P152Bi1 P152Ci1 P152Di1 P152Ei1 P152Fi1 P152Gi1 P152Hi1 P152Ii1 431 P153Ai1 P153Bi1 P153Ci1 P153Di1 P153Ei1 P153Fi1 P153Gi1 P153Hi1 P153Ii1 432 P154Ai1-P154Ai17 P154Bi1-P154Bi17 P154Ci1-P154Ci17 P154Di1-P154Di17 5; 433 %let fvar15=P151Ai1; %let lvar15=P154Di17; %let nvar15=239; 434 435 length P154Ei1-P154Ei17 P154Fi1-P154Fi17 P154Gi1-P154Gi17 P154Hi1-P154Hi17 P154Ii1-P154Ii17 436 P155Ai1 P155Bi1 P155Ci1 P155Di1 P155Ei1 P155Fi1 P155Gi1 P155Hi1 P155Ii1 437 P156Ai1 P156Bi1 P156Ci1 P156Di1 P156Ei1 P156Fi1 P156Gi1 P156Hi1 P156Ii1 438 P157Ai1 P157Bi1 P157Ci1 P157Di1 P157Ei1 P157Fi1 P157Gi1 P157Hi1 P157Ii1 439 P158Ai1 P158Bi1 P158Ci1 P158Di1 P158Ei1 P158Fi1 P158Gi1 P158Hi1 P158Ii1 440 P159Ai1-P159Ai17 P159Bi1-P159Bi17 P159Ci1-P159Ci17 P159Di1-P159Di17 441 P159Ei1-P159Ei17 P159Fi1-P159Fi17 P159Gi1-P159Gi17 5; 442 %let fvar16=P154Ei1; %let lvar16=P159Gi17; %let nvar16=240; 443 444 length P159Hi1-P159Hi17 P159Ii1-P159Ii17 P160Ai1-P160Ai41 P160Bi1-P160Bi41 445 P160Ci1-P160Ci41 P160Di1-P160Di41 P160Ei1-P160Ei41 5; 446 %let fvar17=P159Hi1; %let lvar17=P160Ei41; %let nvar17=239; 447 448 length P160Fi1-P160Fi41 P160Gi1-P160Gi41 P160Hi1-P160Hi41 P160Ii1-P160Ii41 5; 449 %let fvar18=P160Fi1; %let lvar18=P160Ii41; %let nvar18=164; 450 451 length PCT1i1-PCT1i7 PCT2i1-PCT2i15 PCT3i1-PCT3i29 PCT4i1-PCT4i6 PCT5i1-PCT5i11 452 PCT6i1-PCT6i6 PCT7i1-PCT7i163 PCT8i1-PCT8i10 5; 453 %let fvar19=PCT1i1; %let lvar19=PCT8i10; %let nvar19=247; 454 455 length PCT9i1-PCT9i16 PCT10i1-PCT10i83 PCT11i1-PCT11i8 PCT12i1-PCT12i45 456 PCT13i1-PCT13i17 PCT14i1-PCT14i28 PCT15i1-PCT15i7 5; 457 %let fvar20=PCT9i1; %let lvar20=PCT15i7; %let nvar20=204; 458 459 length PCT16i1-PCT16i111 PCT17i1-PCT17i111 5; 460 %let fvar21=PCT16i1; %let lvar21=PCT17i111; %let nvar21=222; 461 462 length PCT18i1-PCT18i109 PCT19i1-PCT19i126 5; 463 %let fvar22=PCT18i1; %let lvar22=PCT19i126; %let nvar22=235; 464 465 length PCT20i1-PCT20i104 PCT21i1-PCT21i24 PCT22i1-PCT22i43 466 PCT23i1-PCT23i39 PCT24i1-PCT24i23 5; 467 %let fvar23=PCT20i1; %let lvar23=PCT24i23; %let nvar23=233; 468 469 length PCT25i1-PCT25i83 PCT26i1-PCT26i101 PCT27i1-PCT27i49 5; 470 %let fvar24=PCT25i1; %let lvar24=PCT27i49; %let nvar24=233; 471 472 length PCT28i1-PCT28i49 PCT29i1-PCT29i49 PCT30i1-PCT30i49 PCT31i1-PCT31i43 PCT32i1-PCT32i31 5; 473 %let fvar25=PCT28i1; %let lvar25=PCT32i31; %let nvar25=235; %let nvar25=221; *<---override documentation; 474 475 length PCT33i1-PCT33i47 PCT34i1-PCT34i59 5; 476 %let fvar26=PCT33i1; %let lvar26=PCT34i59; %let nvar26 =106; 477 478 length PCT35i1-PCT35i185 PCT36i1-PCT36i7 PCT37i1-PCT37i29 5; 479 %let fvar27=PCT35i1; %let lvar27=PCT37i29; %let nvar27 =221; 480 11 The SAS System 14:54 Tuesday, March 3, 2009 481 length PCT38i1-PCT38i107 PCT39i1-PCT39i3 PCT40i1-PCT40i11 PCT41i1-PCT41i11 PCT42i1-PCT42i15 482 PCT43i1-PCT43i15 5; 483 %let fvar28=PCT38i1; %let lvar28=PCT43i15; %let nvar28 =162; 484 485 length PCT44i1-PCT44i95 PCT45i1-PCT45i6 PCT46i1-PCT46i95 PCT47i1-PCT47i6 PCT48i1-PCT48i3 5; 486 %let fvar29=PCT44i1; %let lvar29=PCT48i3; %let nvar29 =205; 487 488 length PCT49i1-PCT49i59 PCT50i1-PCT50i144 PCT51i1-PCT51i21 5; 489 %let fvar30=PCT49i1; %let lvar30=PCT51i21; %let nvar30 =224; 490 491 length PCT52i1-PCT52i29 PCT53i1-PCT53i43 PCT54i1-PCT54i3 PCT55i1-PCT55i107 PCT56i1-PCT56i23 5; 492 %let fvar31=PCT52i1; %let lvar31=PCT56i23; %let nvar31 =205; 493 494 length PCT57i1-PCT57i47 PCT58i1-PCT58i21 PCT59i1-PCT59i47 PCT60i1-PCT60i47 PCT61i1-PCT61i81 5; 495 %let fvar32=PCT57i1; %let lvar32=PCT61i81; %let nvar32 =243; 496 497 length PCT62Ai1-PCT62Ai22 PCT62Bi1-PCT62Bi22 PCT62Ci1-PCT62Ci22 PCT62Di1-PCT62Di22 498 PCT62Ei1-PCT62Ei22 PCT62Fi1-PCT62Fi22 PCT62Gi1-PCT62Gi22 PCT62Hi1-PCT62Hi22 499 PCT62Ii1-PCT62Ii22 PCT63Ai1-PCT63Ai15 PCT63Bi1-PCT63Bi15 PCT63Ci1-PCT63Ci15 5; 500 %let fvar33=PCT62Ai1; %let lvar33=PCT63Ci15; %let nvar33 =243; 501 502 length PCT63Di1-PCT63Di15 PCT63Ei1-PCT63Ei15 PCT63Fi1-PCT63Fi15 PCT63Gi1-PCT63Gi15 503 PCT63Hi1-PCT63Hi15 PCT63Ii1-PCT63Ii15 PCT64Ai1-PCT64Ai18 PCT64Bi1-PCT64Bi18 504 PCT64Ci1-PCT64Ci18 PCT64Di1-PCT64Di18 PCT64Ei1-PCT64Ei18 PCT64Fi1-PCT64Fi18 505 PCT64Gi1-PCT64Gi18 PCT64Hi1-PCT64Hi18 5; 506 %let fvar34=PCT63Di1; %let lvar34=PCT64Hi18; %let nvar34 =234; 507 508 length PCT64Ii1-PCT64Ii18 PCT65Ai1-PCT65Ai16 PCT65Bi1-PCT65Bi16 PCT65Ci1-PCT65Ci16 PCT65Di1-PCT65Di16 509 PCT65Ei1-PCT65Ei16 PCT65Fi1-PCT65Fi16 PCT65Gi1-PCT65Gi16 PCT65Hi1-PCT65Hi16 510 PCT65Ii1-PCT65Ii16 PCT66Ai1-PCT66Ai23 PCT66Bi1-PCT66Bi23 PCT66Ci1-PCT66Ci23 5; 511 %let fvar35=PCT64Ii1; %let lvar35=PCT66Ci23; %let nvar35 =231; 512 513 length PCT66Di1-PCT66Di23 PCT66Ei1-PCT66Ei23 PCT66Fi1-PCT66Fi23 PCT66Gi1-PCT66Gi23 PCT66Hi1-PCT66Hi23 514 PCT66Ii1-PCT66Ii23 PCT67Ai1-PCT67Ai19 PCT67Bi1-PCT67Bi19 PCT67Ci1-PCT67Ci19 PCT67Di1-PCT67Di19 515 PCT67Ei1-PCT67Ei19 5; 516 %let fvar36=PCT66Di1; %let lvar36=PCT67Ei19; %let nvar36 =233; 517 518 length PCT67Fi1-PCT67Fi19 PCT67Gi1-PCT67Gi19 PCT67Hi1-PCT67Hi19 519 PCT67Ii1-PCT67Ii19 PCT68Ai1-PCT68Ai49 PCT68Bi1-PCT68Bi49 PCT68Ci1-PCT68Ci49 5; 520 %let fvar37=PCT67Fi1; %let lvar37=PCT68Ci49; %let nvar37 =223; 521 522 523 length PCT68Di1-PCT68Di49 PCT68Ei1-PCT68Ei49 PCT68Fi1-PCT68Fi49 PCT68Gi1-PCT68Gi49 PCT68Hi1-PCT68Hi49 5; 524 %let fvar38=PCT68Di1; %let lvar38=PCT68Hi49; %let nvar38 =245; 525 526 length PCT68Ii1-PCT68Ii49 PCT69Ai1-PCT69Ai22 PCT69Bi1-PCT69Bi22 PCT69Ci1-PCT69Ci22 PCT69Di1-PCT69Di22 527 PCT69Ei1-PCT69Ei22 PCT69Fi1-PCT69Fi22 PCT69Gi1-PCT69Gi22 PCT69Hi1-PCT69Hi22 528 PCT69Ii1-PCT69Ii22 5; 529 %let fvar39=PCT68Ii1; %let lvar39=PCT69Ii22; %let nvar39 =247; 530 531 length PCT70Ai1-PCT70Ai27 PCT70Bi1-PCT70Bi27 PCT70Ci1-PCT70Ci27 PCT70Di1-PCT70Di27 532 PCT70Ei1-PCT70Ei27 PCT70Fi1-PCT70Fi27 PCT70Gi1-PCT70Gi27 PCT70Hi1-PCT70Hi27 533 PCT70Ii1-PCT70Ii27 5; 534 %let fvar40=PCT70Ai1; %let lvar40=PCT70Ii27; %let nvar40 =243; 535 536 length PCT71Ai1-PCT71Ai49 PCT71Bi1-PCT71Bi49 PCT71Ci1-PCT71Ci49 PCT71Di1-PCT71Di49 12 The SAS System 14:54 Tuesday, March 3, 2009 537 PCT71Ei1-PCT71Ei49 5; 538 %let fvar41=PCT71Ai1; %let lvar41=PCT71Ei49; %let nvar41 =245; 539 540 length PCT71Fi1-PCT71Fi49 PCT71Gi1-PCT71Gi49 PCT71Hi1-PCT71Hi49 541 PCT71Ii1-PCT71Ii49 5; 542 %let fvar42=PCT71Fi1; %let lvar42=PCT71Ii49; %let nvar42 =196; 543 544 length PCT72Ai1-PCT72Ai120 PCT72Bi1-PCT72Bi120 5; 545 %let fvar43=PCT72Ai1; %let lvar43=PCT72Bi120; %let nvar43 =240; 546 547 length PCT72Ci1-PCT72Ci120 PCT72Di1-PCT72Di120 5; 548 %let fvar44=PCT72Ci1; %let lvar44=PCT72Di120; %let nvar44 =240; 549 550 length PCT72Ei1-PCT72Ei120 PCT72Fi1-PCT72Fi120 5; 551 %let fvar45=PCT72Ei1; %let lvar45=PCT72Fi120; %let nvar45 =240; 552 553 length PCT72Gi1-PCT72Gi120 PCT72Hi1-PCT72Hi120 5; 554 %let fvar46=PCT72Gi1; %let lvar46=PCT72Hi120; %let nvar46 =240; 555 556 length PCT72Ii1-PCT72Ii120 PCT73Ai1-PCT73Ai95 5; 557 %let fvar47=PCT72Ii1; %let lvar47=PCT73Ai95; %let nvar47 =215; 558 559 length PCT73Bi1-PCT73Bi95 PCT73Ci1-PCT73Ci95 5; 560 %let fvar48=PCT73Bi1; %let lvar48=PCT73Ci95; %let nvar48 =190; 561 562 length PCT73Di1-PCT73Di95 PCT73Ei1-PCT73Ei95 5; 563 %let fvar49=PCT73Di1; %let lvar49=PCT73Ei95; %let nvar49 =190; 564 565 length PCT73Fi1-PCT73Fi95 PCT73Gi1-PCT73Gi95 5; 566 %let fvar50=PCT73Fi1; %let lvar50=PCT73Gi95; %let nvar50 =190; 567 568 length PCT73Hi1-PCT73Hi95 PCT73Ii1-PCT73Ii95 5; 569 %let fvar51=PCT73Hi1; %let lvar51=PCT73Ii95; %let nvar51 =190; 570 571 length PCT74Ai1-PCT74Ai6 PCT74Bi1-PCT74Bi6 PCT74Ci1-PCT74Ci6 PCT74Di1-PCT74Di6 572 PCT74Ei1-PCT74Ei6 PCT74Fi1-PCT74Fi6 PCT74Gi1-PCT74Gi6 PCT74Hi1-PCT74Hi6 573 PCT74Ii1-PCT74Ii6 PCT75Ai1-PCT75Ai59 PCT75Bi1-PCT75Bi59 PCT75Ci1-PCT75Ci59 5; 574 %let fvar52=PCT74Ai1; %let lvar52=PCT75Ci59; %let nvar52 =231; 575 576 length PCT75Di1-PCT75Di59 PCT75Ei1-PCT75Ei59 PCT75Fi1-PCT75Fi59 PCT75Gi1-PCT75Gi59 5; 577 %let fvar53=PCT75Di1; %let lvar53=PCT75Gi59; %let nvar53 =236; 578 579 length PCT75Hi1-PCT75Hi59 PCT75Ii1-PCT75Ii59 PCT76Ai1-PCT76Ai29 PCT76Bi1-PCT76Bi29 580 PCT76Ci1-PCT76Ci29 PCT76Di1-PCT76Di29 5; 581 %let fvar54=PCT75Hi1; %let lvar54=PCT76Di29; %let nvar54 =234; 582 583 length PCT76Ei1-PCT76Ei29 PCT76Fi1-PCT76Fi29 PCT76Gi1-PCT76Gi29 PCT76Hi1-PCT76Hi29 PCT76Ii1-PCT76Ii29 5; 584 %let fvar55=PCT76Ei1; %let lvar55=PCT76Ii29; %let nvar55 =145; 585 586 length H1i1 H2i1-H2i3 H3i1 H4i1-H4i2 H5i1-H5i7 H6i1-H6i3 H7i1-H7i3 H8i1-H8i7 587 H9i1-H9i8 H10i1-H10i17 H11i1-H11i17 H12i1-H12i3 H13i1-H13i3 H14i1-H14i21 588 H15i1-H15i3 H16i1-H16i8 H17i1-H17i17 H18i1-H18i3 5; 589 %let fvar56=H1i1; %let lvar56=H18i3; %let nvar56 =127; 590 591 length H19i1-H19i125 H20i1-H20i13 H21i1-H21i59 H22i1-H22i19 592 H23i1-H23i10 H24i1 H25i1 H26i1-H26i21 5; 13 The SAS System 14:54 Tuesday, March 3, 2009 593 %let fvar57=H19i1; %let lvar57=H26i21; %let nvar57 =249; 594 595 length H27i1-H27i3 H28i1-H28i3 H29i1-H29i7 H30i1-H30i11 H31i1-H31i11 H32i1-H32i23 596 H33i1-H33i23 H34i1-H34i10 H35i1 H36i1-H36i21 H37i1-H37i3 H38i1-H38i15 597 H39i1-H39i3 H40i1-H40i10 H41i1-H41i7 H42i1-H42i15 H43i1-H43i35 H44i1-H44i15 5; 598 %let fvar58=H27i1; %let lvar58=H44i15; %let nvar58 =216; 599 600 length H45i1-H45i35 H46i1-H46i3 H47i1-H47i3 H48i1-H48i7 H49i1-H49i43 H50i1-H50i3 601 H51i1-H51i7 H52i1-H52i7 H53i1-H53i13 H54i1-H54i24 602 H55i1 H56i1 H57i1 H58i1 H59i1-H59i22 H60i1 H61i1 H62i1-H62i24 H63i1 603 H64i1 H65i1-H65i3 H66i1-H66i8 H67i1-H67i37 H68i1-H68i3 5; 604 %let fvar59=H45i1; %let lvar59=H68i3; %let nvar59 =250; 605 606 length H69i1-H69i11 H70i1 H71i1-H71i50 H72i1-H72i50 H73i1-H73i50 H74i1-H74i25 607 H75i1 H76i1 H77i1 H78i1-H78i8 H79i1-H79i8 H80i1-H80i8 H81i1-H81i3 608 H82i1 H83i1-H83i3 H84i1-H84i25 H85i1 H86i1 5; 609 %let fvar60=H69i1; %let lvar60=H86i1; %let nvar60 =248; 610 611 length H87i1-H87i25 H88i1 H89i1 H90i1-H90i32 H91i1-H91i2 H92i1-H92i3 H93i1-H93i3 612 H94i1-H94i23 H95i1-H95i3 H96i1-H96i50 H97i1-H97i57 H98i1-H98i32 H99i1-H99i3 613 H100i1-H100i3 H101i1-H101i3 H102i1-H102i3 H103i1-H103i3 H104i1-H104i3 5; 614 %let fvar61=H87i1; %let lvar61=H104i3; %let nvar61 =250; 615 616 length H105i1-H105i3 H106i1-H106i3 H107i1-H107i3 H108i1-H108i3 H109i1-H109i3 H110i1-H110i3 617 H111i1-H111i3 H112i1-H112i3 H113i1-H113i3 H114i1-H114i3 H115i1-H115i3 H116i1-H116i3 618 H117i1-H117i3 H118i1-H118i3 H119i1-H119i3 H120i1-H120i7 H121i1-H121i7 5; 619 %let fvar62=H105i1; %let lvar62=H121i7; %let nvar62 =59; 620 621 length HCT1i1-HCT1i53 HCT2i1-HCT2i35 HCT3i1-HCT3i83 5; 622 %let fvar63=HCT1i1; %let lvar63=HCT3i83; %let nvar63 =171; 623 624 length HCT4i1-HCT4i115 5; 625 %let fvar64=HCT4i1; %let lvar64=HCT4i115; %let nvar64 =115; 626 627 length HCT5i1-HCT5i143 5; 628 %let fvar65=HCT5i1; %let lvar65=HCT5i143; %let nvar65 =143; 629 630 length HCT6i1-HCT6i147 HCT7i1-HCT7i101 5; 631 %let fvar66=HCT6i1; %let lvar66=HCT7i101; %let nvar66 =248; 632 633 length HCT8i1-HCT8i99 HCT9i1-HCT9i15 HCT10i1-HCT10i21 HCT11i1-HCT11i25 HCT12i1-HCT12i3 634 HCT13i1-HCT13i5 HCT14i1-HCT14i51 5; 635 %let fvar67=HCT8i1; %let lvar67=HCT14i51; %let nvar67 =219; 636 637 length HCT15i1-HCT15i63 HCT16i1-HCT16i45 HCT17i1-HCT17i106 5; 638 %let fvar68=HCT15i1; %let lvar68=HCT17i106; %let nvar68 =214; 639 640 length HCT18i1-HCT18i120 HCT19i1-HCT19i16 HCT20i1 HCT21i1 HCT22i1-HCT22i39 HCT23i1-HCT23i43 5; 641 %let fvar69=HCT18i1; %let lvar69=HCT23i43; %let nvar69 =220; 642 643 length HCT24i1-HCT24i43 HCT25i1-HCT25i15 HCT26i1-HCT26i15 HCT27i1-HCT27i15 HCT28i1-HCT28i13 644 HCT29Ai1-HCT29Ai3 HCT29Bi1-HCT29Bi3 HCT29Ci1-HCT29Ci3 HCT29Di1-HCT29Di3 645 HCT29Ei1-HCT29Ei3 HCT29Fi1-HCT29Fi3 HCT29Gi1-HCT29Gi3 HCT29Hi1-HCT29Hi3 646 HCT29Ii1-HCT29Ii3 HCT30Ai1-HCT30Ai11 647 HCT30Bi1-HCT30Bi11 HCT30Ci1-HCT30Ci11 HCT30Di1-HCT30Di11 648 HCT30Ei1-HCT30Ei11 HCT30Fi1-HCT30Fi11 HCT30Gi1-HCT30Gi11 14 The SAS System 14:54 Tuesday, March 3, 2009 649 HCT30Hi1-HCT30Hi11 HCT30Ii1-HCT30Ii11 650 HCT31Ai1-HCT31Ai7 HCT31Bi1-HCT31Bi7 HCT31Ci1-HCT31Ci7 5; 651 %let fvar70=HCT24i1; %let lvar70=HCT31Ci7; %let nvar70=248; 652 653 length HCT31Di1-HCT31Di7 HCT31Ei1-HCT31Ei7 HCT31Fi1-HCT31Fi7 HCT31Gi1-HCT31Gi7 HCT31Hi1-HCT31Hi7 HCT31Ii1-HCT31Ii7 654 HCT32Ai1-HCT32Ai3 HCT32Bi1-HCT32Bi3 HCT32Ci1-HCT32Ci3 HCT32Di1-HCT32Di3 655 HCT32Ei1-HCT32Ei3 HCT32Fi1-HCT32Fi3 HCT32Gi1-HCT32Gi3 HCT32Hi1-HCT32Hi3 HCT32Ii1-HCT32Ii3 656 HCT33Ai1-HCT33Ai3 HCT33Bi1-HCT33Bi3 HCT33Ci1-HCT33Ci3 HCT33Di1-HCT33Di3 657 HCT33Ei1-HCT33Ei3 HCT33Fi1-HCT33Fi3 HCT33Gi1-HCT33Gi3 HCT33Hi1-HCT33Hi3 HCT33Ii1-HCT33Ii3 658 HCT34Ai1-HCT34Ai3 HCT34Bi1-HCT34Bi3 HCT34Ci1-HCT34Ci3 HCT34Di1-HCT34Di3 659 HCT34Ei1-HCT34Ei3 HCT34Fi1-HCT34Fi3 HCT34Gi1-HCT34Gi3 HCT34Hi1-HCT34Hi3 HCT34Ii1-HCT34Ii3 660 HCT35Ai1-HCT35Ai3 HCT35Bi1-HCT35Bi3 HCT35Ci1-HCT35Ci3 HCT35Di1-HCT35Di3 661 HCT35Ei1-HCT35Ei3 HCT35Fi1-HCT35Fi3 HCT35Gi1-HCT35Gi3 HCT35Hi1-HCT35Hi3 HCT35Ii1-HCT35Ii3 662 HCT36Ai1-HCT36Ai24 HCT36Bi1-HCT36Bi24 HCT36Ci1-HCT36Ci24 HCT36Di1-HCT36Di24 5; 663 %let fvar71=HCT31Di1; %let lvar71=HCT36Di24; %let nvar71=246; 664 665 length HCT36Ei1-HCT36Ei24 HCT36Fi1-HCT36Fi24 HCT36Gi1-HCT36Gi24 HCT36Hi1-HCT36Hi24 HCT36Ii1-HCT36Ii24 666 HCT37Ai1 HCT37Bi1 HCT37Ci1 HCT37Di1 HCT37Ei1 HCT37Fi1 HCT37Gi1 HCT37Hi1 HCT37Ii1 667 HCT38Ai1 HCT38Bi1 HCT38Ci1 HCT38Di1 HCT38Ei1 HCT38Fi1 HCT38Gi1 HCT38Hi1 HCT38Ii1 668 HCT39Ai1-HCT39Ai11 HCT39Bi1-HCT39Bi11 HCT39Ci1-HCT39Ci11 HCT39Di1-HCT39Di11 669 HCT39Ei1-HCT39Ei11 HCT39Fi1-HCT39Fi11 HCT39Gi1-HCT39Gi11 HCT39Hi1-HCT39Hi11 670 HCT39Ii1-HCT39Ii11 HCT40Ai1 HCT40Bi1 HCT40Ci1 HCT40Di1 HCT40Ei1 HCT40Fi1 HCT40Gi1 HCT40Hi1 HCT40Ii1 5; 671 %let fvar72=HCT36Ei1; %let lvar72=HCT40Ii1; %let nvar72=246; 672 673 length HCT41Ai1-HCT41Ai25 HCT41Bi1-HCT41Bi25 HCT41Ci1-HCT41Ci25 HCT41Di1-HCT41Di25 674 HCT41Ei1-HCT41Ei25 HCT41Fi1-HCT41Fi25 HCT41Gi1-HCT41Gi25 HCT41Hi1-HCT41Hi25 HCT41Ii1-HCT41Ii25 675 HCT42Ai1 HCT42Bi1 HCT42Ci1 HCT42Di1 HCT42Ei1 HCT42Fi1 HCT42Gi1 HCT42Hi1 HCT42Ii1 676 HCT43Ai1 HCT43Bi1 HCT43Ci1 HCT43Di1 HCT43Ei1 HCT43Fi1 HCT43Gi1 HCT43Hi1 HCT43Ii1 5; 677 %let fvar73=HCT41Ai1; %let lvar73=HCT43Ii1; %let nvar73=243; 678 679 length HCT44Ai1-HCT44Ai32 HCT44Bi1-HCT44Bi32 HCT44Ci1-HCT44Ci32 HCT44Di1-HCT44Di32 680 HCT44Ei1-HCT44Ei32 HCT44Fi1-HCT44Fi32 HCT44Gi1-HCT44Gi32 HCT44Hi1-HCT44Hi32 HCT44Ii1-HCT44Ii32 5; 681 %let fvar74=HCT44Ai1; %let lvar74=HCT44Ii32; %let nvar74 =224; 682 683 length HCT44Hi1-HCT44Hi32 HCT44Ii1-HCT44Ii32 HCT45Ai1-HCT45Ai2 HCT45Bi1-HCT45Bi2 684 HCT45Ci1-HCT45Ci2 HCT45Di1-HCT45Di2 HCT45Ei1-HCT45Ei2 HCT45Fi1-HCT45Fi2 685 HCT45Gi1-HCT45Gi2 HCT45Hi1-HCT45Hi2 HCT45Ii1-HCT45Ii2 HCT46Ai1-HCT46Ai3 HCT46Bi1-HCT46Bi3 686 HCT46Ci1-HCT46Ci3 HCT46Di1-HCT46Di3 HCT46Ei1-HCT46Ei3 HCT46Fi1-HCT46Fi3 687 HCT46Gi1-HCT46Gi3 HCT46Hi1-HCT46Hi3 HCT46Ii1-HCT46Ii3 HCT47Ai1-HCT47Ai23 HCT47Bi1-HCT47Bi23 688 HCT47Ci1-HCT47Ci23 HCT47Di1-HCT47Di23 HCT47Ei1-HCT47Ei23 HCT47Fi1-HCT47Fi23 5; 689 %let fvar75=HCT44Hi1; %let lvar75=HCT47Fi23; %let nvar75=247; 690 691 length HCT47Gi1-HCT47Gi23 HCT47Hi1-HCT47Hi23 HCT47Ii1-HCT47Ii23 HCT48Ai1-HCT48Ai3 HCT48Bi1-HCT48Bi3 692 HCT48Ci1-HCT48Ci3 HCT48Di1-HCT48Di3 HCT48Ei1-HCT48Ei3 HCT48Fi1-HCT48Fi3 693 HCT48Gi1-HCT48Gi3 HCT48Hi1-HCT48Hi3 HCT48Ii1-HCT48Ii3 5; 694 %let fvar76=HCT47Gi1; %let lvar76=HCT48Ii3; %let nvar76 =96; 695 696 697 698 *<==================================End parm assignment code=================================== *; 699 700 *<====You can comment out or delete these 4 %include statements if you do not want or need the variable labels. 701 These modules created by Roy Williams, MISER, Mass. SDC from the sf3 data dictionary file. -----*; 702 %include "&curpath/PLabels.sas"/nosource2; *--label statements for the P tables--; 6456 %include "&curpath/PCTLabels.sas"/nosource2; *--label statements for PCT tables--; 15804 %include "&curpath/HLabels.sas"/nosource2; *--label statements for the H tables--; 15 The SAS System 14:54 Tuesday, March 3, 2009 17748 %include "&curpath/HCTLabels.sas"/nosource2; *--label statements for HCT tables--; 21893 21894 %macro readloop(verify=0); 21895 21896 %local ifile i2; 21897 21898 %*----loop to read from all 76 input csv files -- at least those that are relevant----*; 21899 %do ifile=1 %to 76; 21900 %if &ifile < 10 %then %let i2=0&ifile; %else %let i2=&ifile; 21901 *filename in&ifile "&stab.000&i2..&filesfx"; *--e.g. vt00012.uf3 after substitution when ifile=12--; 21902 filename in&ifile pipe "unzip -a -p &stab.000&i2._&filesfx"; %*<==========NOTE====================; 21903 _iseg="&i2"; 21904 _isegck=' '; %*--in case we do not read the segment because it is a PCT segment for a below-tract sumlev--; 21905 infile in&ifile obs=&maxobs dsd missover lrecl=2048; %*<===lrecl may need to be increased for larger areas==; 21906 %if %upcase( %substr(&&fvar&ifile , 2,2)) =CT %then %let ctfile=1; %else %let ctfile=0; 21907 21908 %*--We read the variables associated with the ith input file. Except that for certain 21909 summary levels and certain input files there will not be any data. We check for 21910 this with the _readCT flag and generate that extra conditions when we detect that 21911 we have a file with pct variables-; 21912 if _keep 21913 %if &ctfile %then %str( and _readCT ); 21914 then input _fileid $ _stateid $ _000 $ _isegck $2. +1 logrecnock 7. +1 21915 &&fvar&ifile -- &&lvar&ifile ; *<--------here is where we reap reward for declaring all vars in order-; 21916 %if &ctfile %then %str( else if _readCT then input; ); 21917 %else %str( else input;); 21918 %*then input _first12 $char12. _isegck $2. +1 logrecnock 7. +1 ; %*<=====old code, replace 11-01===; 21919 %*--to flush the record when _keep=0---; 21920 if _isegck ne ' ' then link cklogrecno; 21921 retain _varerr 0; drop _varerr; 21922 %if &verify=1 %then %do; 21923 *---verify that we have read the correct number of variables from the input file---*; 21924 array _file&ifile (*) &&fvar&ifile -- &&lvar&ifile; 21925 if _first then _ndim=dim(_file&ifile); 21926 if _first then if _ndim ne &&nvar&ifile then do; 21927 _varerr+1; 21928 file log; put "***Problem with variables specified for file &ifile . Expecting &&nvar&ifile variables," 21929 " found " _ndim 3.; 21930 end; 21931 %end; %*--verify processing--; 21932 21933 %end; %*--do ifile loop--------*; 21934 %mend readloop; 21935 21936 options mprint; 21937 *-------------------Here is the big loop where we read up to 39 files (segments)-------------------*; 21938 %readloop (verify=0) *<--verify=1 was run on vt file and it passed--; MPRINT(READLOOP): *filename in&ifile "&stab.000&i2..&filesfx"; MPRINT(READLOOP): *--e.g. vt00012.uf3 after substitution when ifile=12--; MPRINT(READLOOP): filename in1 pipe "unzip -a -p us00001_uf3"; MPRINT(READLOOP): _iseg="01"; MPRINT(READLOOP): _isegck=' '; MPRINT(READLOOP): infile in1 obs=999999 dsd missover lrecl=2048; MPRINT(READLOOP): if _keep then input _fileid $ _stateid $ _000 $ _isegck $2. +1 logrecnock 7. +1 P1i1 -- P14i16 ; MPRINT(READLOOP): *<--------here is where we reap reward for declaring all vars in order-; MPRINT(READLOOP): else input; 16 The SAS System 14:54 Tuesday, March 3, 2009 MPRINT(READLOOP): if _isegck ne ' ' then link cklogrecno; MPRINT(READLOOP): retain _varerr 0; MPRINT(READLOOP): drop _varerr; MPRINT(READLOOP): *filename in&ifile "&stab.000&i2..&filesfx"; MPRINT(READLOOP): *--e.g. vt00012.uf3 after substitution when ifile=12--; MPRINT(READLOOP): filename in2 pipe "unzip -a -p us00002_uf3"; MPRINT(READLOOP): _iseg="02"; MPRINT(READLOOP): _isegck=' '; MPRINT(READLOOP): infile in2 obs=999999 dsd missover lrecl=2048; MPRINT(READLOOP): if _keep then input _fileid $ _stateid $ _000 $ _isegck $2. +1 logrecnock 7. +1 P15i1 -- P24i18 ; MPRINT(READLOOP): *<--------here is where we reap reward for declaring all vars in order-; MPRINT(READLOOP): else input; MPRINT(READLOOP): if _isegck ne ' ' then link cklogrecno; MPRINT(READLOOP): retain _varerr 0; MPRINT(READLOOP): drop _varerr; MPRINT(READLOOP): *filename in&ifile "&stab.000&i2..&filesfx"; MPRINT(READLOOP): *--e.g. vt00012.uf3 after substitution when ifile=12--; MPRINT(READLOOP): filename in3 pipe "unzip -a -p us00003_uf3"; MPRINT(READLOOP): _iseg="03"; MPRINT(READLOOP): _isegck=' '; MPRINT(READLOOP): infile in3 obs=999999 dsd missover lrecl=2048; MPRINT(READLOOP): if _keep then input _fileid $ _stateid $ _000 $ _isegck $2. +1 logrecnock 7. +1 P25i1 -- P37i35 ; MPRINT(READLOOP): *<--------here is where we reap reward for declaring all vars in order-; MPRINT(READLOOP): else input; MPRINT(READLOOP): if _isegck ne ' ' then link cklogrecno; MPRINT(READLOOP): retain _varerr 0; MPRINT(READLOOP): drop _varerr; MPRINT(READLOOP): *filename in&ifile "&stab.000&i2..&filesfx"; MPRINT(READLOOP): *--e.g. vt00012.uf3 after substitution when ifile=12--; MPRINT(READLOOP): filename in4 pipe "unzip -a -p us00004_uf3"; MPRINT(READLOOP): _iseg="04"; MPRINT(READLOOP): _isegck=' '; MPRINT(READLOOP): infile in4 obs=999999 dsd missover lrecl=2048; MPRINT(READLOOP): if _keep then input _fileid $ _stateid $ _000 $ _isegck $2. +1 logrecnock 7. +1 P38i1 -- P46i27 ; MPRINT(READLOOP): *<--------here is where we reap reward for declaring all vars in order-; MPRINT(READLOOP): else input; MPRINT(READLOOP): if _isegck ne ' ' then link cklogrecno; MPRINT(READLOOP): retain _varerr 0; MPRINT(READLOOP): drop _varerr; MPRINT(READLOOP): *filename in&ifile "&stab.000&i2..&filesfx"; MPRINT(READLOOP): *--e.g. vt00012.uf3 after substitution when ifile=12--; MPRINT(READLOOP): filename in5 pipe "unzip -a -p us00005_uf3"; MPRINT(READLOOP): _iseg="05"; MPRINT(READLOOP): _isegck=' '; MPRINT(READLOOP): infile in5 obs=999999 dsd missover lrecl=2048; MPRINT(READLOOP): if _keep then input _fileid $ _stateid $ _000 $ _isegck $2. +1 logrecnock 7. +1 P47i1 -- P50i95 ; MPRINT(READLOOP): *<--------here is where we reap reward for declaring all vars in order-; MPRINT(READLOOP): else input; MPRINT(READLOOP): if _isegck ne ' ' then link cklogrecno; MPRINT(READLOOP): retain _varerr 0; MPRINT(READLOOP): drop _varerr; MPRINT(READLOOP): *filename in&ifile "&stab.000&i2..&filesfx"; MPRINT(READLOOP): *--e.g. vt00012.uf3 after substitution when ifile=12--; MPRINT(READLOOP): filename in6 pipe "unzip -a -p us00006_uf3"; MPRINT(READLOOP): _iseg="06"; MPRINT(READLOOP): _isegck=' '; 17 The SAS System 14:54 Tuesday, March 3, 2009 MPRINT(READLOOP): infile in6 obs=999999 dsd missover lrecl=2048; MPRINT(READLOOP): if _keep then input _fileid $ _stateid $ _000 $ _isegck $2. +1 logrecnock 7. +1 P51i1 -- P67i1 ; MPRINT(READLOOP): *<--------here is where we reap reward for declaring all vars in order-; MPRINT(READLOOP): else input; MPRINT(READLOOP): if _isegck ne ' ' then link cklogrecno; MPRINT(READLOOP): retain _varerr 0; MPRINT(READLOOP): drop _varerr; MPRINT(READLOOP): *filename in&ifile "&stab.000&i2..&filesfx"; MPRINT(READLOOP): *--e.g. vt00012.uf3 after substitution when ifile=12--; MPRINT(READLOOP): filename in7 pipe "unzip -a -p us00007_uf3"; MPRINT(READLOOP): _iseg="07"; MPRINT(READLOOP): _isegck=' '; MPRINT(READLOOP): infile in7 obs=999999 dsd missover lrecl=2048; MPRINT(READLOOP): if _keep then input _fileid $ _stateid $ _000 $ _isegck $2. +1 logrecnock 7. +1 P68i1 -- P91i5 ; MPRINT(READLOOP): *<--------here is where we reap reward for declaring all vars in order-; MPRINT(READLOOP): else input; MPRINT(READLOOP): if _isegck ne ' ' then link cklogrecno; MPRINT(READLOOP): retain _varerr 0; MPRINT(READLOOP): drop _varerr; MPRINT(READLOOP): *filename in&ifile "&stab.000&i2..&filesfx"; MPRINT(READLOOP): *--e.g. vt00012.uf3 after substitution when ifile=12--; MPRINT(READLOOP): filename in8 pipe "unzip -a -p us00008_uf3"; MPRINT(READLOOP): _iseg="08"; MPRINT(READLOOP): _isegck=' '; MPRINT(READLOOP): infile in8 obs=999999 dsd missover lrecl=2048; MPRINT(READLOOP): if _keep then input _fileid $ _stateid $ _000 $ _isegck $2. +1 logrecnock 7. +1 P92i1 -- P138i7 ; MPRINT(READLOOP): *<--------here is where we reap reward for declaring all vars in order-; MPRINT(READLOOP): else input; MPRINT(READLOOP): if _isegck ne ' ' then link cklogrecno; MPRINT(READLOOP): retain _varerr 0; MPRINT(READLOOP): drop _varerr; MPRINT(READLOOP): *filename in&ifile "&stab.000&i2..&filesfx"; MPRINT(READLOOP): *--e.g. vt00012.uf3 after substitution when ifile=12--; MPRINT(READLOOP): filename in9 pipe "unzip -a -p us00009_uf3"; MPRINT(READLOOP): _iseg="09"; MPRINT(READLOOP): _isegck=' '; MPRINT(READLOOP): infile in9 obs=999999 dsd missover lrecl=2048; MPRINT(READLOOP): if _keep then input _fileid $ _stateid $ _000 $ _isegck $2. +1 logrecnock 7. +1 P139i1 -- P145Ci49 ; MPRINT(READLOOP): *<--------here is where we reap reward for declaring all vars in order-; MPRINT(READLOOP): else input; MPRINT(READLOOP): if _isegck ne ' ' then link cklogrecno; MPRINT(READLOOP): retain _varerr 0; MPRINT(READLOOP): drop _varerr; MPRINT(READLOOP): *filename in&ifile "&stab.000&i2..&filesfx"; MPRINT(READLOOP): *--e.g. vt00012.uf3 after substitution when ifile=12--; MPRINT(READLOOP): filename in10 pipe "unzip -a -p us00010_uf3"; MPRINT(READLOOP): _iseg="10"; MPRINT(READLOOP): _isegck=' '; MPRINT(READLOOP): infile in10 obs=999999 dsd missover lrecl=2048; MPRINT(READLOOP): if _keep then input _fileid $ _stateid $ _000 $ _isegck $2. +1 logrecnock 7. +1 P145Di1 -- P145Hi49 ; MPRINT(READLOOP): *<--------here is where we reap reward for declaring all vars in order-; MPRINT(READLOOP): else input; MPRINT(READLOOP): if _isegck ne ' ' then link cklogrecno; MPRINT(READLOOP): retain _varerr 0; MPRINT(READLOOP): drop _varerr; MPRINT(READLOOP): *filename in&ifile "&stab.000&i2..&filesfx"; 18 The SAS System 14:54 Tuesday, March 3, 2009 MPRINT(READLOOP): *--e.g. vt00012.uf3 after substitution when ifile=12--; MPRINT(READLOOP): filename in11 pipe "unzip -a -p us00011_uf3"; MPRINT(READLOOP): _iseg="11"; MPRINT(READLOOP): _isegck=' '; MPRINT(READLOOP): infile in11 obs=999999 dsd missover lrecl=2048; MPRINT(READLOOP): if _keep then input _fileid $ _stateid $ _000 $ _isegck $2. +1 logrecnock 7. +1 P145Ii1 -- P146Fi31 ; MPRINT(READLOOP): *<--------here is where we reap reward for declaring all vars in order-; MPRINT(READLOOP): else input; MPRINT(READLOOP): if _isegck ne ' ' then link cklogrecno; MPRINT(READLOOP): retain _varerr 0; MPRINT(READLOOP): drop _varerr; MPRINT(READLOOP): *filename in&ifile "&stab.000&i2..&filesfx"; MPRINT(READLOOP): *--e.g. vt00012.uf3 after substitution when ifile=12--; MPRINT(READLOOP): filename in12 pipe "unzip -a -p us00012_uf3"; MPRINT(READLOOP): _iseg="12"; MPRINT(READLOOP): _isegck=' '; MPRINT(READLOOP): infile in12 obs=999999 dsd missover lrecl=2048; MPRINT(READLOOP): if _keep then input _fileid $ _stateid $ _000 $ _isegck $2. +1 logrecnock 7. +1 P146Gi1 -- P147Ii17 ; MPRINT(READLOOP): *<--------here is where we reap reward for declaring all vars in order-; MPRINT(READLOOP): else input; MPRINT(READLOOP): if _isegck ne ' ' then link cklogrecno; MPRINT(READLOOP): retain _varerr 0; MPRINT(READLOOP): drop _varerr; MPRINT(READLOOP): *filename in&ifile "&stab.000&i2..&filesfx"; MPRINT(READLOOP): *--e.g. vt00012.uf3 after substitution when ifile=12--; MPRINT(READLOOP): filename in13 pipe "unzip -a -p us00013_uf3"; MPRINT(READLOOP): _iseg="13"; MPRINT(READLOOP): _isegck=' '; MPRINT(READLOOP): infile in13 obs=999999 dsd missover lrecl=2048; MPRINT(READLOOP): if _keep then input _fileid $ _stateid $ _000 $ _isegck $2. +1 logrecnock 7. +1 P148Ai1 -- P149Di22 ; MPRINT(READLOOP): *<--------here is where we reap reward for declaring all vars in order-; MPRINT(READLOOP): else input; MPRINT(READLOOP): if _isegck ne ' ' then link cklogrecno; MPRINT(READLOOP): retain _varerr 0; MPRINT(READLOOP): drop _varerr; MPRINT(READLOOP): *filename in&ifile "&stab.000&i2..&filesfx"; MPRINT(READLOOP): *--e.g. vt00012.uf3 after substitution when ifile=12--; MPRINT(READLOOP): filename in14 pipe "unzip -a -p us00014_uf3"; MPRINT(READLOOP): _iseg="14"; MPRINT(READLOOP): _isegck=' '; MPRINT(READLOOP): infile in14 obs=999999 dsd missover lrecl=2048; MPRINT(READLOOP): if _keep then input _fileid $ _stateid $ _000 $ _isegck $2. +1 logrecnock 7. +1 P149Ei1 -- P150Ii15 ; MPRINT(READLOOP): *<--------here is where we reap reward for declaring all vars in order-; MPRINT(READLOOP): else input; MPRINT(READLOOP): if _isegck ne ' ' then link cklogrecno; MPRINT(READLOOP): retain _varerr 0; MPRINT(READLOOP): drop _varerr; MPRINT(READLOOP): *filename in&ifile "&stab.000&i2..&filesfx"; MPRINT(READLOOP): *--e.g. vt00012.uf3 after substitution when ifile=12--; MPRINT(READLOOP): filename in15 pipe "unzip -a -p us00015_uf3"; MPRINT(READLOOP): _iseg="15"; MPRINT(READLOOP): _isegck=' '; MPRINT(READLOOP): infile in15 obs=999999 dsd missover lrecl=2048; MPRINT(READLOOP): if _keep then input _fileid $ _stateid $ _000 $ _isegck $2. +1 logrecnock 7. +1 P151Ai1 -- P154Di17 ; MPRINT(READLOOP): *<--------here is where we reap reward for declaring all vars in order-; MPRINT(READLOOP): else input; 19 The SAS System 14:54 Tuesday, March 3, 2009 MPRINT(READLOOP): if _isegck ne ' ' then link cklogrecno; MPRINT(READLOOP): retain _varerr 0; MPRINT(READLOOP): drop _varerr; MPRINT(READLOOP): *filename in&ifile "&stab.000&i2..&filesfx"; MPRINT(READLOOP): *--e.g. vt00012.uf3 after substitution when ifile=12--; MPRINT(READLOOP): filename in16 pipe "unzip -a -p us00016_uf3"; MPRINT(READLOOP): _iseg="16"; MPRINT(READLOOP): _isegck=' '; MPRINT(READLOOP): infile in16 obs=999999 dsd missover lrecl=2048; MPRINT(READLOOP): if _keep then input _fileid $ _stateid $ _000 $ _isegck $2. +1 logrecnock 7. +1 P154Ei1 -- P159Gi17 ; MPRINT(READLOOP): *<--------here is where we reap reward for declaring all vars in order-; MPRINT(READLOOP): else input; MPRINT(READLOOP): if _isegck ne ' ' then link cklogrecno; MPRINT(READLOOP): retain _varerr 0; MPRINT(READLOOP): drop _varerr; MPRINT(READLOOP): *filename in&ifile "&stab.000&i2..&filesfx"; MPRINT(READLOOP): *--e.g. vt00012.uf3 after substitution when ifile=12--; MPRINT(READLOOP): filename in17 pipe "unzip -a -p us00017_uf3"; MPRINT(READLOOP): _iseg="17"; MPRINT(READLOOP): _isegck=' '; MPRINT(READLOOP): infile in17 obs=999999 dsd missover lrecl=2048; MPRINT(READLOOP): if _keep then input _fileid $ _stateid $ _000 $ _isegck $2. +1 logrecnock 7. +1 P159Hi1 -- P160Ei41 ; MPRINT(READLOOP): *<--------here is where we reap reward for declaring all vars in order-; MPRINT(READLOOP): else input; MPRINT(READLOOP): if _isegck ne ' ' then link cklogrecno; MPRINT(READLOOP): retain _varerr 0; MPRINT(READLOOP): drop _varerr; MPRINT(READLOOP): *filename in&ifile "&stab.000&i2..&filesfx"; MPRINT(READLOOP): *--e.g. vt00012.uf3 after substitution when ifile=12--; MPRINT(READLOOP): filename in18 pipe "unzip -a -p us00018_uf3"; MPRINT(READLOOP): _iseg="18"; MPRINT(READLOOP): _isegck=' '; MPRINT(READLOOP): infile in18 obs=999999 dsd missover lrecl=2048; MPRINT(READLOOP): if _keep then input _fileid $ _stateid $ _000 $ _isegck $2. +1 logrecnock 7. +1 P160Fi1 -- P160Ii41 ; MPRINT(READLOOP): *<--------here is where we reap reward for declaring all vars in order-; MPRINT(READLOOP): else input; MPRINT(READLOOP): if _isegck ne ' ' then link cklogrecno; MPRINT(READLOOP): retain _varerr 0; MPRINT(READLOOP): drop _varerr; MPRINT(READLOOP): *filename in&ifile "&stab.000&i2..&filesfx"; MPRINT(READLOOP): *--e.g. vt00012.uf3 after substitution when ifile=12--; MPRINT(READLOOP): filename in19 pipe "unzip -a -p us00019_uf3"; MPRINT(READLOOP): _iseg="19"; MPRINT(READLOOP): _isegck=' '; MPRINT(READLOOP): infile in19 obs=999999 dsd missover lrecl=2048; MPRINT(READLOOP): if _keep and _readCT then input _fileid $ _stateid $ _000 $ _isegck $2. +1 logrecnock 7. +1 PCT1i1 -- PCT8i10 ; MPRINT(READLOOP): *<--------here is where we reap reward for declaring all vars in order-; MPRINT(READLOOP): else if _readCT then input; MPRINT(READLOOP): if _isegck ne ' ' then link cklogrecno; MPRINT(READLOOP): retain _varerr 0; MPRINT(READLOOP): drop _varerr; MPRINT(READLOOP): *filename in&ifile "&stab.000&i2..&filesfx"; MPRINT(READLOOP): *--e.g. vt00012.uf3 after substitution when ifile=12--; MPRINT(READLOOP): filename in20 pipe "unzip -a -p us00020_uf3"; MPRINT(READLOOP): _iseg="20"; MPRINT(READLOOP): _isegck=' '; 20 The SAS System 14:54 Tuesday, March 3, 2009 MPRINT(READLOOP): infile in20 obs=999999 dsd missover lrecl=2048; MPRINT(READLOOP): if _keep and _readCT then input _fileid $ _stateid $ _000 $ _isegck $2. +1 logrecnock 7. +1 PCT9i1 -- PCT15i7 ; MPRINT(READLOOP): *<--------here is where we reap reward for declaring all vars in order-; MPRINT(READLOOP): else if _readCT then input; MPRINT(READLOOP): if _isegck ne ' ' then link cklogrecno; MPRINT(READLOOP): retain _varerr 0; MPRINT(READLOOP): drop _varerr; MPRINT(READLOOP): *filename in&ifile "&stab.000&i2..&filesfx"; MPRINT(READLOOP): *--e.g. vt00012.uf3 after substitution when ifile=12--; MPRINT(READLOOP): filename in21 pipe "unzip -a -p us00021_uf3"; MPRINT(READLOOP): _iseg="21"; MPRINT(READLOOP): _isegck=' '; MPRINT(READLOOP): infile in21 obs=999999 dsd missover lrecl=2048; MPRINT(READLOOP): if _keep and _readCT then input _fileid $ _stateid $ _000 $ _isegck $2. +1 logrecnock 7. +1 PCT16i1 -- PCT17i111 ; MPRINT(READLOOP): *<--------here is where we reap reward for declaring all vars in order-; MPRINT(READLOOP): else if _readCT then input; MPRINT(READLOOP): if _isegck ne ' ' then link cklogrecno; MPRINT(READLOOP): retain _varerr 0; MPRINT(READLOOP): drop _varerr; MPRINT(READLOOP): *filename in&ifile "&stab.000&i2..&filesfx"; MPRINT(READLOOP): *--e.g. vt00012.uf3 after substitution when ifile=12--; MPRINT(READLOOP): filename in22 pipe "unzip -a -p us00022_uf3"; MPRINT(READLOOP): _iseg="22"; MPRINT(READLOOP): _isegck=' '; MPRINT(READLOOP): infile in22 obs=999999 dsd missover lrecl=2048; MPRINT(READLOOP): if _keep and _readCT then input _fileid $ _stateid $ _000 $ _isegck $2. +1 logrecnock 7. +1 PCT18i1 -- PCT19i126 ; MPRINT(READLOOP): *<--------here is where we reap reward for declaring all vars in order-; MPRINT(READLOOP): else if _readCT then input; MPRINT(READLOOP): if _isegck ne ' ' then link cklogrecno; MPRINT(READLOOP): retain _varerr 0; MPRINT(READLOOP): drop _varerr; MPRINT(READLOOP): *filename in&ifile "&stab.000&i2..&filesfx"; MPRINT(READLOOP): *--e.g. vt00012.uf3 after substitution when ifile=12--; MPRINT(READLOOP): filename in23 pipe "unzip -a -p us00023_uf3"; MPRINT(READLOOP): _iseg="23"; MPRINT(READLOOP): _isegck=' '; MPRINT(READLOOP): infile in23 obs=999999 dsd missover lrecl=2048; MPRINT(READLOOP): if _keep and _readCT then input _fileid $ _stateid $ _000 $ _isegck $2. +1 logrecnock 7. +1 PCT20i1 -- PCT24i23 ; MPRINT(READLOOP): *<--------here is where we reap reward for declaring all vars in order-; MPRINT(READLOOP): else if _readCT then input; MPRINT(READLOOP): if _isegck ne ' ' then link cklogrecno; MPRINT(READLOOP): retain _varerr 0; MPRINT(READLOOP): drop _varerr; MPRINT(READLOOP): *filename in&ifile "&stab.000&i2..&filesfx"; MPRINT(READLOOP): *--e.g. vt00012.uf3 after substitution when ifile=12--; MPRINT(READLOOP): filename in24 pipe "unzip -a -p us00024_uf3"; MPRINT(READLOOP): _iseg="24"; MPRINT(READLOOP): _isegck=' '; MPRINT(READLOOP): infile in24 obs=999999 dsd missover lrecl=2048; MPRINT(READLOOP): if _keep and _readCT then input _fileid $ _stateid $ _000 $ _isegck $2. +1 logrecnock 7. +1 PCT25i1 -- PCT27i49 ; MPRINT(READLOOP): *<--------here is where we reap reward for declaring all vars in order-; MPRINT(READLOOP): else if _readCT then input; 21 The SAS System 14:54 Tuesday, March 3, 2009 MPRINT(READLOOP): if _isegck ne ' ' then link cklogrecno; MPRINT(READLOOP): retain _varerr 0; MPRINT(READLOOP): drop _varerr; MPRINT(READLOOP): *filename in&ifile "&stab.000&i2..&filesfx"; MPRINT(READLOOP): *--e.g. vt00012.uf3 after substitution when ifile=12--; MPRINT(READLOOP): filename in25 pipe "unzip -a -p us00025_uf3"; MPRINT(READLOOP): _iseg="25"; MPRINT(READLOOP): _isegck=' '; MPRINT(READLOOP): infile in25 obs=999999 dsd missover lrecl=2048; MPRINT(READLOOP): if _keep and _readCT then input _fileid $ _stateid $ _000 $ _isegck $2. +1 logrecnock 7. +1 PCT28i1 -- PCT32i31 ; MPRINT(READLOOP): *<--------here is where we reap reward for declaring all vars in order-; MPRINT(READLOOP): else if _readCT then input; MPRINT(READLOOP): if _isegck ne ' ' then link cklogrecno; MPRINT(READLOOP): retain _varerr 0; MPRINT(READLOOP): drop _varerr; MPRINT(READLOOP): *filename in&ifile "&stab.000&i2..&filesfx"; MPRINT(READLOOP): *--e.g. vt00012.uf3 after substitution when ifile=12--; MPRINT(READLOOP): filename in26 pipe "unzip -a -p us00026_uf3"; MPRINT(READLOOP): _iseg="26"; MPRINT(READLOOP): _isegck=' '; MPRINT(READLOOP): infile in26 obs=999999 dsd missover lrecl=2048; MPRINT(READLOOP): if _keep and _readCT then input _fileid $ _stateid $ _000 $ _isegck $2. +1 logrecnock 7. +1 PCT33i1 -- PCT34i59 ; MPRINT(READLOOP): *<--------here is where we reap reward for declaring all vars in order-; MPRINT(READLOOP): else if _readCT then input; MPRINT(READLOOP): if _isegck ne ' ' then link cklogrecno; MPRINT(READLOOP): retain _varerr 0; MPRINT(READLOOP): drop _varerr; MPRINT(READLOOP): *filename in&ifile "&stab.000&i2..&filesfx"; MPRINT(READLOOP): *--e.g. vt00012.uf3 after substitution when ifile=12--; MPRINT(READLOOP): filename in27 pipe "unzip -a -p us00027_uf3"; MPRINT(READLOOP): _iseg="27"; MPRINT(READLOOP): _isegck=' '; MPRINT(READLOOP): infile in27 obs=999999 dsd missover lrecl=2048; MPRINT(READLOOP): if _keep and _readCT then input _fileid $ _stateid $ _000 $ _isegck $2. +1 logrecnock 7. +1 PCT35i1 -- PCT37i29 ; MPRINT(READLOOP): *<--------here is where we reap reward for declaring all vars in order-; MPRINT(READLOOP): else if _readCT then input; MPRINT(READLOOP): if _isegck ne ' ' then link cklogrecno; MPRINT(READLOOP): retain _varerr 0; MPRINT(READLOOP): drop _varerr; MPRINT(READLOOP): *filename in&ifile "&stab.000&i2..&filesfx"; MPRINT(READLOOP): *--e.g. vt00012.uf3 after substitution when ifile=12--; MPRINT(READLOOP): filename in28 pipe "unzip -a -p us00028_uf3"; MPRINT(READLOOP): _iseg="28"; MPRINT(READLOOP): _isegck=' '; MPRINT(READLOOP): infile in28 obs=999999 dsd missover lrecl=2048; MPRINT(READLOOP): if _keep and _readCT then input _fileid $ _stateid $ _000 $ _isegck $2. +1 logrecnock 7. +1 PCT38i1 -- PCT43i15 ; MPRINT(READLOOP): *<--------here is where we reap reward for declaring all vars in order-; MPRINT(READLOOP): else if _readCT then input; MPRINT(READLOOP): if _isegck ne ' ' then link cklogrecno; MPRINT(READLOOP): retain _varerr 0; MPRINT(READLOOP): drop _varerr; MPRINT(READLOOP): *filename in&ifile "&stab.000&i2..&filesfx"; 22 The SAS System 14:54 Tuesday, March 3, 2009 MPRINT(READLOOP): *--e.g. vt00012.uf3 after substitution when ifile=12--; MPRINT(READLOOP): filename in29 pipe "unzip -a -p us00029_uf3"; MPRINT(READLOOP): _iseg="29"; MPRINT(READLOOP): _isegck=' '; MPRINT(READLOOP): infile in29 obs=999999 dsd missover lrecl=2048; MPRINT(READLOOP): if _keep and _readCT then input _fileid $ _stateid $ _000 $ _isegck $2. +1 logrecnock 7. +1 PCT44i1 -- PCT48i3 ; MPRINT(READLOOP): *<--------here is where we reap reward for declaring all vars in order-; MPRINT(READLOOP): else if _readCT then input; MPRINT(READLOOP): if _isegck ne ' ' then link cklogrecno; MPRINT(READLOOP): retain _varerr 0; MPRINT(READLOOP): drop _varerr; MPRINT(READLOOP): *filename in&ifile "&stab.000&i2..&filesfx"; MPRINT(READLOOP): *--e.g. vt00012.uf3 after substitution when ifile=12--; MPRINT(READLOOP): filename in30 pipe "unzip -a -p us00030_uf3"; MPRINT(READLOOP): _iseg="30"; MPRINT(READLOOP): _isegck=' '; MPRINT(READLOOP): infile in30 obs=999999 dsd missover lrecl=2048; MPRINT(READLOOP): if _keep and _readCT then input _fileid $ _stateid $ _000 $ _isegck $2. +1 logrecnock 7. +1 PCT49i1 -- PCT51i21 ; MPRINT(READLOOP): *<--------here is where we reap reward for declaring all vars in order-; MPRINT(READLOOP): else if _readCT then input; MPRINT(READLOOP): if _isegck ne ' ' then link cklogrecno; MPRINT(READLOOP): retain _varerr 0; MPRINT(READLOOP): drop _varerr; MPRINT(READLOOP): *filename in&ifile "&stab.000&i2..&filesfx"; MPRINT(READLOOP): *--e.g. vt00012.uf3 after substitution when ifile=12--; MPRINT(READLOOP): filename in31 pipe "unzip -a -p us00031_uf3"; MPRINT(READLOOP): _iseg="31"; MPRINT(READLOOP): _isegck=' '; MPRINT(READLOOP): infile in31 obs=999999 dsd missover lrecl=2048; MPRINT(READLOOP): if _keep and _readCT then input _fileid $ _stateid $ _000 $ _isegck $2. +1 logrecnock 7. +1 PCT52i1 -- PCT56i23 ; MPRINT(READLOOP): *<--------here is where we reap reward for declaring all vars in order-; MPRINT(READLOOP): else if _readCT then input; MPRINT(READLOOP): if _isegck ne ' ' then link cklogrecno; MPRINT(READLOOP): retain _varerr 0; MPRINT(READLOOP): drop _varerr; MPRINT(READLOOP): *filename in&ifile "&stab.000&i2..&filesfx"; MPRINT(READLOOP): *--e.g. vt00012.uf3 after substitution when ifile=12--; MPRINT(READLOOP): filename in32 pipe "unzip -a -p us00032_uf3"; MPRINT(READLOOP): _iseg="32"; MPRINT(READLOOP): _isegck=' '; MPRINT(READLOOP): infile in32 obs=999999 dsd missover lrecl=2048; MPRINT(READLOOP): if _keep and _readCT then input _fileid $ _stateid $ _000 $ _isegck $2. +1 logrecnock 7. +1 PCT57i1 -- PCT61i81 ; MPRINT(READLOOP): *<--------here is where we reap reward for declaring all vars in order-; MPRINT(READLOOP): else if _readCT then input; MPRINT(READLOOP): if _isegck ne ' ' then link cklogrecno; MPRINT(READLOOP): retain _varerr 0; MPRINT(READLOOP): drop _varerr; MPRINT(READLOOP): *filename in&ifile "&stab.000&i2..&filesfx"; MPRINT(READLOOP): *--e.g. vt00012.uf3 after substitution when ifile=12--; MPRINT(READLOOP): filename in33 pipe "unzip -a -p us00033_uf3"; MPRINT(READLOOP): _iseg="33"; MPRINT(READLOOP): _isegck=' '; MPRINT(READLOOP): infile in33 obs=999999 dsd missover lrecl=2048; 23 The SAS System 14:54 Tuesday, March 3, 2009 MPRINT(READLOOP): if _keep and _readCT then input _fileid $ _stateid $ _000 $ _isegck $2. +1 logrecnock 7. +1 PCT62Ai1 -- PCT63Ci15 ; MPRINT(READLOOP): *<--------here is where we reap reward for declaring all vars in order-; MPRINT(READLOOP): else if _readCT then input; MPRINT(READLOOP): if _isegck ne ' ' then link cklogrecno; MPRINT(READLOOP): retain _varerr 0; MPRINT(READLOOP): drop _varerr; MPRINT(READLOOP): *filename in&ifile "&stab.000&i2..&filesfx"; MPRINT(READLOOP): *--e.g. vt00012.uf3 after substitution when ifile=12--; MPRINT(READLOOP): filename in34 pipe "unzip -a -p us00034_uf3"; MPRINT(READLOOP): _iseg="34"; MPRINT(READLOOP): _isegck=' '; MPRINT(READLOOP): infile in34 obs=999999 dsd missover lrecl=2048; MPRINT(READLOOP): if _keep and _readCT then input _fileid $ _stateid $ _000 $ _isegck $2. +1 logrecnock 7. +1 PCT63Di1 -- PCT64Hi18 ; MPRINT(READLOOP): *<--------here is where we reap reward for declaring all vars in order-; MPRINT(READLOOP): else if _readCT then input; MPRINT(READLOOP): if _isegck ne ' ' then link cklogrecno; MPRINT(READLOOP): retain _varerr 0; MPRINT(READLOOP): drop _varerr; MPRINT(READLOOP): *filename in&ifile "&stab.000&i2..&filesfx"; MPRINT(READLOOP): *--e.g. vt00012.uf3 after substitution when ifile=12--; MPRINT(READLOOP): filename in35 pipe "unzip -a -p us00035_uf3"; MPRINT(READLOOP): _iseg="35"; MPRINT(READLOOP): _isegck=' '; MPRINT(READLOOP): infile in35 obs=999999 dsd missover lrecl=2048; MPRINT(READLOOP): if _keep and _readCT then input _fileid $ _stateid $ _000 $ _isegck $2. +1 logrecnock 7. +1 PCT64Ii1 -- PCT66Ci23 ; MPRINT(READLOOP): *<--------here is where we reap reward for declaring all vars in order-; MPRINT(READLOOP): else if _readCT then input; MPRINT(READLOOP): if _isegck ne ' ' then link cklogrecno; MPRINT(READLOOP): retain _varerr 0; MPRINT(READLOOP): drop _varerr; MPRINT(READLOOP): *filename in&ifile "&stab.000&i2..&filesfx"; MPRINT(READLOOP): *--e.g. vt00012.uf3 after substitution when ifile=12--; MPRINT(READLOOP): filename in36 pipe "unzip -a -p us00036_uf3"; MPRINT(READLOOP): _iseg="36"; MPRINT(READLOOP): _isegck=' '; MPRINT(READLOOP): infile in36 obs=999999 dsd missover lrecl=2048; MPRINT(READLOOP): if _keep and _readCT then input _fileid $ _stateid $ _000 $ _isegck $2. +1 logrecnock 7. +1 PCT66Di1 -- PCT67Ei19 ; MPRINT(READLOOP): *<--------here is where we reap reward for declaring all vars in order-; MPRINT(READLOOP): else if _readCT then input; MPRINT(READLOOP): if _isegck ne ' ' then link cklogrecno; MPRINT(READLOOP): retain _varerr 0; MPRINT(READLOOP): drop _varerr; MPRINT(READLOOP): *filename in&ifile "&stab.000&i2..&filesfx"; MPRINT(READLOOP): *--e.g. vt00012.uf3 after substitution when ifile=12--; MPRINT(READLOOP): filename in37 pipe "unzip -a -p us00037_uf3"; MPRINT(READLOOP): _iseg="37"; MPRINT(READLOOP): _isegck=' '; MPRINT(READLOOP): infile in37 obs=999999 dsd missover lrecl=2048; MPRINT(READLOOP): if _keep and _readCT then input _fileid $ _stateid $ _000 $ _isegck $2. +1 logrecnock 7. +1 PCT67Fi1 -- PCT68Ci49 ; MPRINT(READLOOP): *<--------here is where we reap reward for declaring all vars in order-; MPRINT(READLOOP): else if _readCT then input; 24 The SAS System 14:54 Tuesday, March 3, 2009 MPRINT(READLOOP): if _isegck ne ' ' then link cklogrecno; MPRINT(READLOOP): retain _varerr 0; MPRINT(READLOOP): drop _varerr; MPRINT(READLOOP): *filename in&ifile "&stab.000&i2..&filesfx"; MPRINT(READLOOP): *--e.g. vt00012.uf3 after substitution when ifile=12--; MPRINT(READLOOP): filename in38 pipe "unzip -a -p us00038_uf3"; MPRINT(READLOOP): _iseg="38"; MPRINT(READLOOP): _isegck=' '; MPRINT(READLOOP): infile in38 obs=999999 dsd missover lrecl=2048; MPRINT(READLOOP): if _keep and _readCT then input _fileid $ _stateid $ _000 $ _isegck $2. +1 logrecnock 7. +1 PCT68Di1 -- PCT68Hi49 ; MPRINT(READLOOP): *<--------here is where we reap reward for declaring all vars in order-; MPRINT(READLOOP): else if _readCT then input; MPRINT(READLOOP): if _isegck ne ' ' then link cklogrecno; MPRINT(READLOOP): retain _varerr 0; MPRINT(READLOOP): drop _varerr; MPRINT(READLOOP): *filename in&ifile "&stab.000&i2..&filesfx"; MPRINT(READLOOP): *--e.g. vt00012.uf3 after substitution when ifile=12--; MPRINT(READLOOP): filename in39 pipe "unzip -a -p us00039_uf3"; MPRINT(READLOOP): _iseg="39"; MPRINT(READLOOP): _isegck=' '; MPRINT(READLOOP): infile in39 obs=999999 dsd missover lrecl=2048; MPRINT(READLOOP): if _keep and _readCT then input _fileid $ _stateid $ _000 $ _isegck $2. +1 logrecnock 7. +1 PCT68Ii1 -- PCT69Ii22 ; MPRINT(READLOOP): *<--------here is where we reap reward for declaring all vars in order-; MPRINT(READLOOP): else if _readCT then input; MPRINT(READLOOP): if _isegck ne ' ' then link cklogrecno; MPRINT(READLOOP): retain _varerr 0; MPRINT(READLOOP): drop _varerr; MPRINT(READLOOP): *filename in&ifile "&stab.000&i2..&filesfx"; MPRINT(READLOOP): *--e.g. vt00012.uf3 after substitution when ifile=12--; MPRINT(READLOOP): filename in40 pipe "unzip -a -p us00040_uf3"; MPRINT(READLOOP): _iseg="40"; MPRINT(READLOOP): _isegck=' '; MPRINT(READLOOP): infile in40 obs=999999 dsd missover lrecl=2048; MPRINT(READLOOP): if _keep and _readCT then input _fileid $ _stateid $ _000 $ _isegck $2. +1 logrecnock 7. +1 PCT70Ai1 -- PCT70Ii27 ; MPRINT(READLOOP): *<--------here is where we reap reward for declaring all vars in order-; MPRINT(READLOOP): else if _readCT then input; MPRINT(READLOOP): if _isegck ne ' ' then link cklogrecno; MPRINT(READLOOP): retain _varerr 0; MPRINT(READLOOP): drop _varerr; MPRINT(READLOOP): *filename in&ifile "&stab.000&i2..&filesfx"; MPRINT(READLOOP): *--e.g. vt00012.uf3 after substitution when ifile=12--; MPRINT(READLOOP): filename in41 pipe "unzip -a -p us00041_uf3"; MPRINT(READLOOP): _iseg="41"; MPRINT(READLOOP): _isegck=' '; MPRINT(READLOOP): infile in41 obs=999999 dsd missover lrecl=2048; MPRINT(READLOOP): if _keep and _readCT then input _fileid $ _stateid $ _000 $ _isegck $2. +1 logrecnock 7. +1 PCT71Ai1 -- PCT71Ei49 ; MPRINT(READLOOP): *<--------here is where we reap reward for declaring all vars in order-; MPRINT(READLOOP): else if _readCT then input; MPRINT(READLOOP): if _isegck ne ' ' then link cklogrecno; MPRINT(READLOOP): retain _varerr 0; MPRINT(READLOOP): drop _varerr; MPRINT(READLOOP): *filename in&ifile "&stab.000&i2..&filesfx"; 25 The SAS System 14:54 Tuesday, March 3, 2009 MPRINT(READLOOP): *--e.g. vt00012.uf3 after substitution when ifile=12--; MPRINT(READLOOP): filename in42 pipe "unzip -a -p us00042_uf3"; MPRINT(READLOOP): _iseg="42"; MPRINT(READLOOP): _isegck=' '; MPRINT(READLOOP): infile in42 obs=999999 dsd missover lrecl=2048; MPRINT(READLOOP): if _keep and _readCT then input _fileid $ _stateid $ _000 $ _isegck $2. +1 logrecnock 7. +1 PCT71Fi1 -- PCT71Ii49 ; MPRINT(READLOOP): *<--------here is where we reap reward for declaring all vars in order-; MPRINT(READLOOP): else if _readCT then input; MPRINT(READLOOP): if _isegck ne ' ' then link cklogrecno; MPRINT(READLOOP): retain _varerr 0; MPRINT(READLOOP): drop _varerr; MPRINT(READLOOP): *filename in&ifile "&stab.000&i2..&filesfx"; MPRINT(READLOOP): *--e.g. vt00012.uf3 after substitution when ifile=12--; MPRINT(READLOOP): filename in43 pipe "unzip -a -p us00043_uf3"; MPRINT(READLOOP): _iseg="43"; MPRINT(READLOOP): _isegck=' '; MPRINT(READLOOP): infile in43 obs=999999 dsd missover lrecl=2048; MPRINT(READLOOP): if _keep and _readCT then input _fileid $ _stateid $ _000 $ _isegck $2. +1 logrecnock 7. +1 PCT72Ai1 -- PCT72Bi120 ; MPRINT(READLOOP): *<--------here is where we reap reward for declaring all vars in order-; MPRINT(READLOOP): else if _readCT then input; MPRINT(READLOOP): if _isegck ne ' ' then link cklogrecno; MPRINT(READLOOP): retain _varerr 0; MPRINT(READLOOP): drop _varerr; MPRINT(READLOOP): *filename in&ifile "&stab.000&i2..&filesfx"; MPRINT(READLOOP): *--e.g. vt00012.uf3 after substitution when ifile=12--; MPRINT(READLOOP): filename in44 pipe "unzip -a -p us00044_uf3"; MPRINT(READLOOP): _iseg="44"; MPRINT(READLOOP): _isegck=' '; MPRINT(READLOOP): infile in44 obs=999999 dsd missover lrecl=2048; MPRINT(READLOOP): if _keep and _readCT then input _fileid $ _stateid $ _000 $ _isegck $2. +1 logrecnock 7. +1 PCT72Ci1 -- PCT72Di120 ; MPRINT(READLOOP): *<--------here is where we reap reward for declaring all vars in order-; MPRINT(READLOOP): else if _readCT then input; MPRINT(READLOOP): if _isegck ne ' ' then link cklogrecno; MPRINT(READLOOP): retain _varerr 0; MPRINT(READLOOP): drop _varerr; MPRINT(READLOOP): *filename in&ifile "&stab.000&i2..&filesfx"; MPRINT(READLOOP): *--e.g. vt00012.uf3 after substitution when ifile=12--; MPRINT(READLOOP): filename in45 pipe "unzip -a -p us00045_uf3"; MPRINT(READLOOP): _iseg="45"; MPRINT(READLOOP): _isegck=' '; MPRINT(READLOOP): infile in45 obs=999999 dsd missover lrecl=2048; MPRINT(READLOOP): if _keep and _readCT then input _fileid $ _stateid $ _000 $ _isegck $2. +1 logrecnock 7. +1 PCT72Ei1 -- PCT72Fi120 ; MPRINT(READLOOP): *<--------here is where we reap reward for declaring all vars in order-; MPRINT(READLOOP): else if _readCT then input; MPRINT(READLOOP): if _isegck ne ' ' then link cklogrecno; MPRINT(READLOOP): retain _varerr 0; MPRINT(READLOOP): drop _varerr; MPRINT(READLOOP): *filename in&ifile "&stab.000&i2..&filesfx"; MPRINT(READLOOP): *--e.g. vt00012.uf3 after substitution when ifile=12--; MPRINT(READLOOP): filename in46 pipe "unzip -a -p us00046_uf3"; MPRINT(READLOOP): _iseg="46"; MPRINT(READLOOP): _isegck=' '; 26 The SAS System 14:54 Tuesday, March 3, 2009 MPRINT(READLOOP): infile in46 obs=999999 dsd missover lrecl=2048; MPRINT(READLOOP): if _keep and _readCT then input _fileid $ _stateid $ _000 $ _isegck $2. +1 logrecnock 7. +1 PCT72Gi1 -- PCT72Hi120 ; MPRINT(READLOOP): *<--------here is where we reap reward for declaring all vars in order-; MPRINT(READLOOP): else if _readCT then input; MPRINT(READLOOP): if _isegck ne ' ' then link cklogrecno; MPRINT(READLOOP): retain _varerr 0; MPRINT(READLOOP): drop _varerr; MPRINT(READLOOP): *filename in&ifile "&stab.000&i2..&filesfx"; MPRINT(READLOOP): *--e.g. vt00012.uf3 after substitution when ifile=12--; MPRINT(READLOOP): filename in47 pipe "unzip -a -p us00047_uf3"; MPRINT(READLOOP): _iseg="47"; MPRINT(READLOOP): _isegck=' '; MPRINT(READLOOP): infile in47 obs=999999 dsd missover lrecl=2048; MPRINT(READLOOP): if _keep and _readCT then input _fileid $ _stateid $ _000 $ _isegck $2. +1 logrecnock 7. +1 PCT72Ii1 -- PCT73Ai95 ; MPRINT(READLOOP): *<--------here is where we reap reward for declaring all vars in order-; MPRINT(READLOOP): else if _readCT then input; MPRINT(READLOOP): if _isegck ne ' ' then link cklogrecno; MPRINT(READLOOP): retain _varerr 0; MPRINT(READLOOP): drop _varerr; MPRINT(READLOOP): *filename in&ifile "&stab.000&i2..&filesfx"; MPRINT(READLOOP): *--e.g. vt00012.uf3 after substitution when ifile=12--; MPRINT(READLOOP): filename in48 pipe "unzip -a -p us00048_uf3"; MPRINT(READLOOP): _iseg="48"; MPRINT(READLOOP): _isegck=' '; MPRINT(READLOOP): infile in48 obs=999999 dsd missover lrecl=2048; MPRINT(READLOOP): if _keep and _readCT then input _fileid $ _stateid $ _000 $ _isegck $2. +1 logrecnock 7. +1 PCT73Bi1 -- PCT73Ci95 ; MPRINT(READLOOP): *<--------here is where we reap reward for declaring all vars in order-; MPRINT(READLOOP): else if _readCT then input; MPRINT(READLOOP): if _isegck ne ' ' then link cklogrecno; MPRINT(READLOOP): retain _varerr 0; MPRINT(READLOOP): drop _varerr; MPRINT(READLOOP): *filename in&ifile "&stab.000&i2..&filesfx"; MPRINT(READLOOP): *--e.g. vt00012.uf3 after substitution when ifile=12--; MPRINT(READLOOP): filename in49 pipe "unzip -a -p us00049_uf3"; MPRINT(READLOOP): _iseg="49"; MPRINT(READLOOP): _isegck=' '; MPRINT(READLOOP): infile in49 obs=999999 dsd missover lrecl=2048; MPRINT(READLOOP): if _keep and _readCT then input _fileid $ _stateid $ _000 $ _isegck $2. +1 logrecnock 7. +1 PCT73Di1 -- PCT73Ei95 ; MPRINT(READLOOP): *<--------here is where we reap reward for declaring all vars in order-; MPRINT(READLOOP): else if _readCT then input; MPRINT(READLOOP): if _isegck ne ' ' then link cklogrecno; MPRINT(READLOOP): retain _varerr 0; MPRINT(READLOOP): drop _varerr; MPRINT(READLOOP): *filename in&ifile "&stab.000&i2..&filesfx"; MPRINT(READLOOP): *--e.g. vt00012.uf3 after substitution when ifile=12--; MPRINT(READLOOP): filename in50 pipe "unzip -a -p us00050_uf3"; MPRINT(READLOOP): _iseg="50"; MPRINT(READLOOP): _isegck=' '; MPRINT(READLOOP): infile in50 obs=999999 dsd missover lrecl=2048; MPRINT(READLOOP): if _keep and _readCT then input _fileid $ _stateid $ _000 $ _isegck $2. +1 logrecnock 7. +1 PCT73Fi1 -- PCT73Gi95 ; MPRINT(READLOOP): *<--------here is where we reap reward for declaring all vars in order-; 27 The SAS System 14:54 Tuesday, March 3, 2009 MPRINT(READLOOP): else if _readCT then input; MPRINT(READLOOP): if _isegck ne ' ' then link cklogrecno; MPRINT(READLOOP): retain _varerr 0; MPRINT(READLOOP): drop _varerr; MPRINT(READLOOP): *filename in&ifile "&stab.000&i2..&filesfx"; MPRINT(READLOOP): *--e.g. vt00012.uf3 after substitution when ifile=12--; MPRINT(READLOOP): filename in51 pipe "unzip -a -p us00051_uf3"; MPRINT(READLOOP): _iseg="51"; MPRINT(READLOOP): _isegck=' '; MPRINT(READLOOP): infile in51 obs=999999 dsd missover lrecl=2048; MPRINT(READLOOP): if _keep and _readCT then input _fileid $ _stateid $ _000 $ _isegck $2. +1 logrecnock 7. +1 PCT73Hi1 -- PCT73Ii95 ; MPRINT(READLOOP): *<--------here is where we reap reward for declaring all vars in order-; MPRINT(READLOOP): else if _readCT then input; MPRINT(READLOOP): if _isegck ne ' ' then link cklogrecno; MPRINT(READLOOP): retain _varerr 0; MPRINT(READLOOP): drop _varerr; MPRINT(READLOOP): *filename in&ifile "&stab.000&i2..&filesfx"; MPRINT(READLOOP): *--e.g. vt00012.uf3 after substitution when ifile=12--; MPRINT(READLOOP): filename in52 pipe "unzip -a -p us00052_uf3"; MPRINT(READLOOP): _iseg="52"; MPRINT(READLOOP): _isegck=' '; MPRINT(READLOOP): infile in52 obs=999999 dsd missover lrecl=2048; MPRINT(READLOOP): if _keep and _readCT then input _fileid $ _stateid $ _000 $ _isegck $2. +1 logrecnock 7. +1 PCT74Ai1 -- PCT75Ci59 ; MPRINT(READLOOP): *<--------here is where we reap reward for declaring all vars in order-; MPRINT(READLOOP): else if _readCT then input; MPRINT(READLOOP): if _isegck ne ' ' then link cklogrecno; MPRINT(READLOOP): retain _varerr 0; MPRINT(READLOOP): drop _varerr; MPRINT(READLOOP): *filename in&ifile "&stab.000&i2..&filesfx"; MPRINT(READLOOP): *--e.g. vt00012.uf3 after substitution when ifile=12--; MPRINT(READLOOP): filename in53 pipe "unzip -a -p us00053_uf3"; MPRINT(READLOOP): _iseg="53"; MPRINT(READLOOP): _isegck=' '; MPRINT(READLOOP): infile in53 obs=999999 dsd missover lrecl=2048; MPRINT(READLOOP): if _keep and _readCT then input _fileid $ _stateid $ _000 $ _isegck $2. +1 logrecnock 7. +1 PCT75Di1 -- PCT75Gi59 ; MPRINT(READLOOP): *<--------here is where we reap reward for declaring all vars in order-; MPRINT(READLOOP): else if _readCT then input; MPRINT(READLOOP): if _isegck ne ' ' then link cklogrecno; MPRINT(READLOOP): retain _varerr 0; MPRINT(READLOOP): drop _varerr; MPRINT(READLOOP): *filename in&ifile "&stab.000&i2..&filesfx"; MPRINT(READLOOP): *--e.g. vt00012.uf3 after substitution when ifile=12--; MPRINT(READLOOP): filename in54 pipe "unzip -a -p us00054_uf3"; MPRINT(READLOOP): _iseg="54"; MPRINT(READLOOP): _isegck=' '; MPRINT(READLOOP): infile in54 obs=999999 dsd missover lrecl=2048; MPRINT(READLOOP): if _keep and _readCT then input _fileid $ _stateid $ _000 $ _isegck $2. +1 logrecnock 7. +1 PCT75Hi1 -- PCT76Di29 ; MPRINT(READLOOP): *<--------here is where we reap reward for declaring all vars in order-; MPRINT(READLOOP): else if _readCT then input; MPRINT(READLOOP): if _isegck ne ' ' then link cklogrecno; MPRINT(READLOOP): retain _varerr 0; MPRINT(READLOOP): drop _varerr; 28 The SAS System 14:54 Tuesday, March 3, 2009 MPRINT(READLOOP): *filename in&ifile "&stab.000&i2..&filesfx"; MPRINT(READLOOP): *--e.g. vt00012.uf3 after substitution when ifile=12--; MPRINT(READLOOP): filename in55 pipe "unzip -a -p us00055_uf3"; MPRINT(READLOOP): _iseg="55"; MPRINT(READLOOP): _isegck=' '; MPRINT(READLOOP): infile in55 obs=999999 dsd missover lrecl=2048; MPRINT(READLOOP): if _keep and _readCT then input _fileid $ _stateid $ _000 $ _isegck $2. +1 logrecnock 7. +1 PCT76Ei1 -- PCT76Ii29 ; MPRINT(READLOOP): *<--------here is where we reap reward for declaring all vars in order-; MPRINT(READLOOP): else if _readCT then input; MPRINT(READLOOP): if _isegck ne ' ' then link cklogrecno; MPRINT(READLOOP): retain _varerr 0; MPRINT(READLOOP): drop _varerr; MPRINT(READLOOP): *filename in&ifile "&stab.000&i2..&filesfx"; MPRINT(READLOOP): *--e.g. vt00012.uf3 after substitution when ifile=12--; MPRINT(READLOOP): filename in56 pipe "unzip -a -p us00056_uf3"; MPRINT(READLOOP): _iseg="56"; MPRINT(READLOOP): _isegck=' '; MPRINT(READLOOP): infile in56 obs=999999 dsd missover lrecl=2048; MPRINT(READLOOP): if _keep then input _fileid $ _stateid $ _000 $ _isegck $2. +1 logrecnock 7. +1 H1i1 -- H18i3 ; MPRINT(READLOOP): *<--------here is where we reap reward for declaring all vars in order-; MPRINT(READLOOP): else input; MPRINT(READLOOP): if _isegck ne ' ' then link cklogrecno; MPRINT(READLOOP): retain _varerr 0; MPRINT(READLOOP): drop _varerr; MPRINT(READLOOP): *filename in&ifile "&stab.000&i2..&filesfx"; MPRINT(READLOOP): *--e.g. vt00012.uf3 after substitution when ifile=12--; MPRINT(READLOOP): filename in57 pipe "unzip -a -p us00057_uf3"; MPRINT(READLOOP): _iseg="57"; MPRINT(READLOOP): _isegck=' '; MPRINT(READLOOP): infile in57 obs=999999 dsd missover lrecl=2048; MPRINT(READLOOP): if _keep then input _fileid $ _stateid $ _000 $ _isegck $2. +1 logrecnock 7. +1 H19i1 -- H26i21 ; MPRINT(READLOOP): *<--------here is where we reap reward for declaring all vars in order-; MPRINT(READLOOP): else input; MPRINT(READLOOP): if _isegck ne ' ' then link cklogrecno; MPRINT(READLOOP): retain _varerr 0; MPRINT(READLOOP): drop _varerr; MPRINT(READLOOP): *filename in&ifile "&stab.000&i2..&filesfx"; MPRINT(READLOOP): *--e.g. vt00012.uf3 after substitution when ifile=12--; MPRINT(READLOOP): filename in58 pipe "unzip -a -p us00058_uf3"; MPRINT(READLOOP): _iseg="58"; MPRINT(READLOOP): _isegck=' '; MPRINT(READLOOP): infile in58 obs=999999 dsd missover lrecl=2048; MPRINT(READLOOP): if _keep then input _fileid $ _stateid $ _000 $ _isegck $2. +1 logrecnock 7. +1 H27i1 -- H44i15 ; MPRINT(READLOOP): *<--------here is where we reap reward for declaring all vars in order-; MPRINT(READLOOP): else input; MPRINT(READLOOP): if _isegck ne ' ' then link cklogrecno; MPRINT(READLOOP): retain _varerr 0; MPRINT(READLOOP): drop _varerr; MPRINT(READLOOP): *filename in&ifile "&stab.000&i2..&filesfx"; MPRINT(READLOOP): *--e.g. vt00012.uf3 after substitution when ifile=12--; MPRINT(READLOOP): filename in59 pipe "unzip -a -p us00059_uf3"; MPRINT(READLOOP): _iseg="59"; MPRINT(READLOOP): _isegck=' '; MPRINT(READLOOP): infile in59 obs=999999 dsd missover lrecl=2048; MPRINT(READLOOP): if _keep then input _fileid $ _stateid $ _000 $ _isegck $2. +1 logrecnock 7. +1 H45i1 -- H68i3 ; 29 The SAS System 14:54 Tuesday, March 3, 2009 MPRINT(READLOOP): *<--------here is where we reap reward for declaring all vars in order-; MPRINT(READLOOP): else input; MPRINT(READLOOP): if _isegck ne ' ' then link cklogrecno; MPRINT(READLOOP): retain _varerr 0; MPRINT(READLOOP): drop _varerr; MPRINT(READLOOP): *filename in&ifile "&stab.000&i2..&filesfx"; MPRINT(READLOOP): *--e.g. vt00012.uf3 after substitution when ifile=12--; MPRINT(READLOOP): filename in60 pipe "unzip -a -p us00060_uf3"; MPRINT(READLOOP): _iseg="60"; MPRINT(READLOOP): _isegck=' '; MPRINT(READLOOP): infile in60 obs=999999 dsd missover lrecl=2048; MPRINT(READLOOP): if _keep then input _fileid $ _stateid $ _000 $ _isegck $2. +1 logrecnock 7. +1 H69i1 -- H86i1 ; MPRINT(READLOOP): *<--------here is where we reap reward for declaring all vars in order-; MPRINT(READLOOP): else input; MPRINT(READLOOP): if _isegck ne ' ' then link cklogrecno; MPRINT(READLOOP): retain _varerr 0; MPRINT(READLOOP): drop _varerr; MPRINT(READLOOP): *filename in&ifile "&stab.000&i2..&filesfx"; MPRINT(READLOOP): *--e.g. vt00012.uf3 after substitution when ifile=12--; MPRINT(READLOOP): filename in61 pipe "unzip -a -p us00061_uf3"; MPRINT(READLOOP): _iseg="61"; MPRINT(READLOOP): _isegck=' '; MPRINT(READLOOP): infile in61 obs=999999 dsd missover lrecl=2048; MPRINT(READLOOP): if _keep then input _fileid $ _stateid $ _000 $ _isegck $2. +1 logrecnock 7. +1 H87i1 -- H104i3 ; MPRINT(READLOOP): *<--------here is where we reap reward for declaring all vars in order-; MPRINT(READLOOP): else input; MPRINT(READLOOP): if _isegck ne ' ' then link cklogrecno; MPRINT(READLOOP): retain _varerr 0; MPRINT(READLOOP): drop _varerr; MPRINT(READLOOP): *filename in&ifile "&stab.000&i2..&filesfx"; MPRINT(READLOOP): *--e.g. vt00012.uf3 after substitution when ifile=12--; MPRINT(READLOOP): filename in62 pipe "unzip -a -p us00062_uf3"; MPRINT(READLOOP): _iseg="62"; MPRINT(READLOOP): _isegck=' '; MPRINT(READLOOP): infile in62 obs=999999 dsd missover lrecl=2048; MPRINT(READLOOP): if _keep then input _fileid $ _stateid $ _000 $ _isegck $2. +1 logrecnock 7. +1 H105i1 -- H121i7 ; MPRINT(READLOOP): *<--------here is where we reap reward for declaring all vars in order-; MPRINT(READLOOP): else input; MPRINT(READLOOP): if _isegck ne ' ' then link cklogrecno; MPRINT(READLOOP): retain _varerr 0; MPRINT(READLOOP): drop _varerr; MPRINT(READLOOP): *filename in&ifile "&stab.000&i2..&filesfx"; MPRINT(READLOOP): *--e.g. vt00012.uf3 after substitution when ifile=12--; MPRINT(READLOOP): filename in63 pipe "unzip -a -p us00063_uf3"; MPRINT(READLOOP): _iseg="63"; MPRINT(READLOOP): _isegck=' '; MPRINT(READLOOP): infile in63 obs=999999 dsd missover lrecl=2048; MPRINT(READLOOP): if _keep and _readCT then input _fileid $ _stateid $ _000 $ _isegck $2. +1 logrecnock 7. +1 HCT1i1 -- HCT3i83 ; MPRINT(READLOOP): *<--------here is where we reap reward for declaring all vars in order-; MPRINT(READLOOP): else if _readCT then input; MPRINT(READLOOP): if _isegck ne ' ' then link cklogrecno; MPRINT(READLOOP): retain _varerr 0; MPRINT(READLOOP): drop _varerr; MPRINT(READLOOP): *filename in&ifile "&stab.000&i2..&filesfx"; MPRINT(READLOOP): *--e.g. vt00012.uf3 after substitution when ifile=12--; MPRINT(READLOOP): filename in64 pipe "unzip -a -p us00064_uf3"; 30 The SAS System 14:54 Tuesday, March 3, 2009 MPRINT(READLOOP): _iseg="64"; MPRINT(READLOOP): _isegck=' '; MPRINT(READLOOP): infile in64 obs=999999 dsd missover lrecl=2048; MPRINT(READLOOP): if _keep and _readCT then input _fileid $ _stateid $ _000 $ _isegck $2. +1 logrecnock 7. +1 HCT4i1 -- HCT4i115 ; MPRINT(READLOOP): *<--------here is where we reap reward for declaring all vars in order-; MPRINT(READLOOP): else if _readCT then input; MPRINT(READLOOP): if _isegck ne ' ' then link cklogrecno; MPRINT(READLOOP): retain _varerr 0; MPRINT(READLOOP): drop _varerr; MPRINT(READLOOP): *filename in&ifile "&stab.000&i2..&filesfx"; MPRINT(READLOOP): *--e.g. vt00012.uf3 after substitution when ifile=12--; MPRINT(READLOOP): filename in65 pipe "unzip -a -p us00065_uf3"; MPRINT(READLOOP): _iseg="65"; MPRINT(READLOOP): _isegck=' '; MPRINT(READLOOP): infile in65 obs=999999 dsd missover lrecl=2048; MPRINT(READLOOP): if _keep and _readCT then input _fileid $ _stateid $ _000 $ _isegck $2. +1 logrecnock 7. +1 HCT5i1 -- HCT5i143 ; MPRINT(READLOOP): *<--------here is where we reap reward for declaring all vars in order-; MPRINT(READLOOP): else if _readCT then input; MPRINT(READLOOP): if _isegck ne ' ' then link cklogrecno; MPRINT(READLOOP): retain _varerr 0; MPRINT(READLOOP): drop _varerr; MPRINT(READLOOP): *filename in&ifile "&stab.000&i2..&filesfx"; MPRINT(READLOOP): *--e.g. vt00012.uf3 after substitution when ifile=12--; MPRINT(READLOOP): filename in66 pipe "unzip -a -p us00066_uf3"; MPRINT(READLOOP): _iseg="66"; MPRINT(READLOOP): _isegck=' '; MPRINT(READLOOP): infile in66 obs=999999 dsd missover lrecl=2048; MPRINT(READLOOP): if _keep and _readCT then input _fileid $ _stateid $ _000 $ _isegck $2. +1 logrecnock 7. +1 HCT6i1 -- HCT7i101 ; MPRINT(READLOOP): *<--------here is where we reap reward for declaring all vars in order-; MPRINT(READLOOP): else if _readCT then input; MPRINT(READLOOP): if _isegck ne ' ' then link cklogrecno; MPRINT(READLOOP): retain _varerr 0; MPRINT(READLOOP): drop _varerr; MPRINT(READLOOP): *filename in&ifile "&stab.000&i2..&filesfx"; MPRINT(READLOOP): *--e.g. vt00012.uf3 after substitution when ifile=12--; MPRINT(READLOOP): filename in67 pipe "unzip -a -p us00067_uf3"; MPRINT(READLOOP): _iseg="67"; MPRINT(READLOOP): _isegck=' '; MPRINT(READLOOP): infile in67 obs=999999 dsd missover lrecl=2048; MPRINT(READLOOP): if _keep and _readCT then input _fileid $ _stateid $ _000 $ _isegck $2. +1 logrecnock 7. +1 HCT8i1 -- HCT14i51 ; MPRINT(READLOOP): *<--------here is where we reap reward for declaring all vars in order-; MPRINT(READLOOP): else if _readCT then input; MPRINT(READLOOP): if _isegck ne ' ' then link cklogrecno; MPRINT(READLOOP): retain _varerr 0; MPRINT(READLOOP): drop _varerr; MPRINT(READLOOP): *filename in&ifile "&stab.000&i2..&filesfx"; MPRINT(READLOOP): *--e.g. vt00012.uf3 after substitution when ifile=12--; MPRINT(READLOOP): filename in68 pipe "unzip -a -p us00068_uf3"; MPRINT(READLOOP): _iseg="68"; MPRINT(READLOOP): _isegck=' '; MPRINT(READLOOP): infile in68 obs=999999 dsd missover lrecl=2048; MPRINT(READLOOP): if _keep and _readCT then input _fileid $ _stateid $ _000 $ _isegck $2. +1 logrecnock 7. +1 HCT15i1 -- HCT17i106 ; MPRINT(READLOOP): *<--------here is where we reap reward for declaring all vars in order-; MPRINT(READLOOP): else if _readCT then input; MPRINT(READLOOP): if _isegck ne ' ' then link cklogrecno; 31 The SAS System 14:54 Tuesday, March 3, 2009 MPRINT(READLOOP): retain _varerr 0; MPRINT(READLOOP): drop _varerr; MPRINT(READLOOP): *filename in&ifile "&stab.000&i2..&filesfx"; MPRINT(READLOOP): *--e.g. vt00012.uf3 after substitution when ifile=12--; MPRINT(READLOOP): filename in69 pipe "unzip -a -p us00069_uf3"; MPRINT(READLOOP): _iseg="69"; MPRINT(READLOOP): _isegck=' '; MPRINT(READLOOP): infile in69 obs=999999 dsd missover lrecl=2048; MPRINT(READLOOP): if _keep and _readCT then input _fileid $ _stateid $ _000 $ _isegck $2. +1 logrecnock 7. +1 HCT18i1 -- HCT23i43 ; MPRINT(READLOOP): *<--------here is where we reap reward for declaring all vars in order-; MPRINT(READLOOP): else if _readCT then input; MPRINT(READLOOP): if _isegck ne ' ' then link cklogrecno; MPRINT(READLOOP): retain _varerr 0; MPRINT(READLOOP): drop _varerr; MPRINT(READLOOP): *filename in&ifile "&stab.000&i2..&filesfx"; MPRINT(READLOOP): *--e.g. vt00012.uf3 after substitution when ifile=12--; MPRINT(READLOOP): filename in70 pipe "unzip -a -p us00070_uf3"; MPRINT(READLOOP): _iseg="70"; MPRINT(READLOOP): _isegck=' '; MPRINT(READLOOP): infile in70 obs=999999 dsd missover lrecl=2048; MPRINT(READLOOP): if _keep and _readCT then input _fileid $ _stateid $ _000 $ _isegck $2. +1 logrecnock 7. +1 HCT24i1 -- HCT31Ci7 ; MPRINT(READLOOP): *<--------here is where we reap reward for declaring all vars in order-; MPRINT(READLOOP): else if _readCT then input; MPRINT(READLOOP): if _isegck ne ' ' then link cklogrecno; MPRINT(READLOOP): retain _varerr 0; MPRINT(READLOOP): drop _varerr; MPRINT(READLOOP): *filename in&ifile "&stab.000&i2..&filesfx"; MPRINT(READLOOP): *--e.g. vt00012.uf3 after substitution when ifile=12--; MPRINT(READLOOP): filename in71 pipe "unzip -a -p us00071_uf3"; MPRINT(READLOOP): _iseg="71"; MPRINT(READLOOP): _isegck=' '; MPRINT(READLOOP): infile in71 obs=999999 dsd missover lrecl=2048; MPRINT(READLOOP): if _keep and _readCT then input _fileid $ _stateid $ _000 $ _isegck $2. +1 logrecnock 7. +1 HCT31Di1 -- HCT36Di24 ; MPRINT(READLOOP): *<--------here is where we reap reward for declaring all vars in order-; MPRINT(READLOOP): else if _readCT then input; MPRINT(READLOOP): if _isegck ne ' ' then link cklogrecno; MPRINT(READLOOP): retain _varerr 0; MPRINT(READLOOP): drop _varerr; MPRINT(READLOOP): *filename in&ifile "&stab.000&i2..&filesfx"; MPRINT(READLOOP): *--e.g. vt00012.uf3 after substitution when ifile=12--; MPRINT(READLOOP): filename in72 pipe "unzip -a -p us00072_uf3"; MPRINT(READLOOP): _iseg="72"; MPRINT(READLOOP): _isegck=' '; MPRINT(READLOOP): infile in72 obs=999999 dsd missover lrecl=2048; MPRINT(READLOOP): if _keep and _readCT then input _fileid $ _stateid $ _000 $ _isegck $2. +1 logrecnock 7. +1 HCT36Ei1 -- HCT40Ii1 ; MPRINT(READLOOP): *<--------here is where we reap reward for declaring all vars in order-; MPRINT(READLOOP): else if _readCT then input; MPRINT(READLOOP): if _isegck ne ' ' then link cklogrecno; MPRINT(READLOOP): retain _varerr 0; MPRINT(READLOOP): drop _varerr; MPRINT(READLOOP): *filename in&ifile "&stab.000&i2..&filesfx"; MPRINT(READLOOP): *--e.g. vt00012.uf3 after substitution when ifile=12--; 32 The SAS System 14:54 Tuesday, March 3, 2009 MPRINT(READLOOP): filename in73 pipe "unzip -a -p us00073_uf3"; MPRINT(READLOOP): _iseg="73"; MPRINT(READLOOP): _isegck=' '; MPRINT(READLOOP): infile in73 obs=999999 dsd missover lrecl=2048; MPRINT(READLOOP): if _keep and _readCT then input _fileid $ _stateid $ _000 $ _isegck $2. +1 logrecnock 7. +1 HCT41Ai1 -- HCT43Ii1 ; MPRINT(READLOOP): *<--------here is where we reap reward for declaring all vars in order-; MPRINT(READLOOP): else if _readCT then input; MPRINT(READLOOP): if _isegck ne ' ' then link cklogrecno; MPRINT(READLOOP): retain _varerr 0; MPRINT(READLOOP): drop _varerr; MPRINT(READLOOP): *filename in&ifile "&stab.000&i2..&filesfx"; MPRINT(READLOOP): *--e.g. vt00012.uf3 after substitution when ifile=12--; MPRINT(READLOOP): filename in74 pipe "unzip -a -p us00074_uf3"; MPRINT(READLOOP): _iseg="74"; MPRINT(READLOOP): _isegck=' '; MPRINT(READLOOP): infile in74 obs=999999 dsd missover lrecl=2048; MPRINT(READLOOP): if _keep and _readCT then input _fileid $ _stateid $ _000 $ _isegck $2. +1 logrecnock 7. +1 HCT44Ai1 -- HCT44Ii32 ; MPRINT(READLOOP): *<--------here is where we reap reward for declaring all vars in order-; MPRINT(READLOOP): else if _readCT then input; MPRINT(READLOOP): if _isegck ne ' ' then link cklogrecno; MPRINT(READLOOP): retain _varerr 0; MPRINT(READLOOP): drop _varerr; MPRINT(READLOOP): *filename in&ifile "&stab.000&i2..&filesfx"; MPRINT(READLOOP): *--e.g. vt00012.uf3 after substitution when ifile=12--; MPRINT(READLOOP): filename in75 pipe "unzip -a -p us00075_uf3"; MPRINT(READLOOP): _iseg="75"; MPRINT(READLOOP): _isegck=' '; MPRINT(READLOOP): infile in75 obs=999999 dsd missover lrecl=2048; MPRINT(READLOOP): if _keep and _readCT then input _fileid $ _stateid $ _000 $ _isegck $2. +1 logrecnock 7. +1 HCT44Hi1 -- HCT47Fi23 ; MPRINT(READLOOP): *<--------here is where we reap reward for declaring all vars in order-; MPRINT(READLOOP): else if _readCT then input; MPRINT(READLOOP): if _isegck ne ' ' then link cklogrecno; MPRINT(READLOOP): retain _varerr 0; MPRINT(READLOOP): drop _varerr; MPRINT(READLOOP): *filename in&ifile "&stab.000&i2..&filesfx"; MPRINT(READLOOP): *--e.g. vt00012.uf3 after substitution when ifile=12--; MPRINT(READLOOP): filename in76 pipe "unzip -a -p us00076_uf3"; MPRINT(READLOOP): _iseg="76"; MPRINT(READLOOP): _isegck=' '; MPRINT(READLOOP): infile in76 obs=999999 dsd missover lrecl=2048; MPRINT(READLOOP): if _keep and _readCT then input _fileid $ _stateid $ _000 $ _isegck $2. +1 logrecnock 7. +1 HCT47Gi1 -- HCT48Ii3 ; MPRINT(READLOOP): *<--------here is where we reap reward for declaring all vars in order-; MPRINT(READLOOP): else if _readCT then input; MPRINT(READLOOP): if _isegck ne ' ' then link cklogrecno; MPRINT(READLOOP): retain _varerr 0; MPRINT(READLOOP): drop _varerr; 21939 ; 21940 if _varerr then do; 21941 file log; 21942 put '*****Conversion run aborting due to above note variable list errors****'; 21943 stop; *<=======================Batch runs should replace this with an abort statement--; 21944 end; 33 The SAS System 14:54 Tuesday, March 3, 2009 21945 _first=0; 21946 if _keep; *---subsetting if. No observation output if _keep=0---; 21947 21948 *-----output the data sets.---------------*; 21949 21950 output sf32000.&stab.geos; 21951 output sf32000.&stab.ph; 21952 if _readCT then do; 21953 output sf32000.&stab.phct; 21954 output sf32000.&stab.phctR; 21955 end; 21956 21957 **drop logrecnock _isegck _iseg _readCT _keep _fileid _stateid _000 ; **_first12; 21958 return; 21959 cklogrecno: 21960 if logrecno ne logrecnock or _isegck ne _iseg then do; 21961 file log; 21962 put ///"********Problem with file synching: LogRecNo on segment " _iseg " does not match the geo headers value " 21963 "or segment code not expected. ******" 21964 / 21965 "Reading seg file " _iseg +1 'found segment code ' _isegck / 21966 LogRecNo= logrecnock= _n_= / 21967 _all_ / '******Job is aborting*********************************' ; 21968 stop; 21969 end; 21970 return; 21971 21972 21973 run; NOTE: The infile GEOS is: Pipe command="unzip -a -p /pub/data/sf32000/rawdata/usgeo_uf3" NOTE: The infile IN1 is: Pipe command="unzip -a -p us00001_uf3" NOTE: The infile IN2 is: Pipe command="unzip -a -p us00002_uf3" NOTE: The infile IN3 is: Pipe command="unzip -a -p us00003_uf3" NOTE: The infile IN4 is: Pipe command="unzip -a -p us00004_uf3" NOTE: The infile IN5 is: Pipe command="unzip -a -p us00005_uf3" NOTE: The infile IN6 is: Pipe command="unzip -a -p us00006_uf3" NOTE: The infile IN7 is: Pipe command="unzip -a -p us00007_uf3" NOTE: The infile IN8 is: Pipe command="unzip -a -p us00008_uf3" 34 The SAS System 14:54 Tuesday, March 3, 2009 NOTE: The infile IN9 is: Pipe command="unzip -a -p us00009_uf3" NOTE: The infile IN10 is: Pipe command="unzip -a -p us00010_uf3" NOTE: The infile IN11 is: Pipe command="unzip -a -p us00011_uf3" NOTE: The infile IN12 is: Pipe command="unzip -a -p us00012_uf3" NOTE: The infile IN13 is: Pipe command="unzip -a -p us00013_uf3" NOTE: The infile IN14 is: Pipe command="unzip -a -p us00014_uf3" NOTE: The infile IN15 is: Pipe command="unzip -a -p us00015_uf3" NOTE: The infile IN16 is: Pipe command="unzip -a -p us00016_uf3" NOTE: The infile IN17 is: Pipe command="unzip -a -p us00017_uf3" NOTE: The infile IN18 is: Pipe command="unzip -a -p us00018_uf3" NOTE: The infile IN19 is: Pipe command="unzip -a -p us00019_uf3" NOTE: The infile IN20 is: Pipe command="unzip -a -p us00020_uf3" NOTE: The infile IN21 is: Pipe command="unzip -a -p us00021_uf3" NOTE: The infile IN22 is: Pipe command="unzip -a -p us00022_uf3" NOTE: The infile IN23 is: Pipe command="unzip -a -p us00023_uf3" NOTE: The infile IN24 is: Pipe command="unzip -a -p us00024_uf3" NOTE: The infile IN25 is: Pipe command="unzip -a -p us00025_uf3" NOTE: The infile IN26 is: Pipe command="unzip -a -p us00026_uf3" NOTE: The infile IN27 is: 35 The SAS System 14:54 Tuesday, March 3, 2009 Pipe command="unzip -a -p us00027_uf3" NOTE: The infile IN28 is: Pipe command="unzip -a -p us00028_uf3" NOTE: The infile IN29 is: Pipe command="unzip -a -p us00029_uf3" NOTE: The infile IN30 is: Pipe command="unzip -a -p us00030_uf3" NOTE: The infile IN31 is: Pipe command="unzip -a -p us00031_uf3" NOTE: The infile IN32 is: Pipe command="unzip -a -p us00032_uf3" NOTE: The infile IN33 is: Pipe command="unzip -a -p us00033_uf3" NOTE: The infile IN34 is: Pipe command="unzip -a -p us00034_uf3" NOTE: The infile IN35 is: Pipe command="unzip -a -p us00035_uf3" NOTE: The infile IN36 is: Pipe command="unzip -a -p us00036_uf3" NOTE: The infile IN37 is: Pipe command="unzip -a -p us00037_uf3" NOTE: The infile IN38 is: Pipe command="unzip -a -p us00038_uf3" NOTE: The infile IN39 is: Pipe command="unzip -a -p us00039_uf3" NOTE: The infile IN40 is: Pipe command="unzip -a -p us00040_uf3" NOTE: The infile IN41 is: Pipe command="unzip -a -p us00041_uf3" NOTE: The infile IN42 is: Pipe command="unzip -a -p us00042_uf3" NOTE: The infile IN43 is: Pipe command="unzip -a -p us00043_uf3" NOTE: The infile IN44 is: Pipe command="unzip -a -p us00044_uf3" NOTE: The infile IN45 is: Pipe command="unzip -a -p us00045_uf3" 36 The SAS System 14:54 Tuesday, March 3, 2009 NOTE: The infile IN46 is: Pipe command="unzip -a -p us00046_uf3" NOTE: The infile IN47 is: Pipe command="unzip -a -p us00047_uf3" NOTE: The infile IN48 is: Pipe command="unzip -a -p us00048_uf3" NOTE: The infile IN49 is: Pipe command="unzip -a -p us00049_uf3" NOTE: The infile IN50 is: Pipe command="unzip -a -p us00050_uf3" NOTE: The infile IN51 is: Pipe command="unzip -a -p us00051_uf3" NOTE: The infile IN52 is: Pipe command="unzip -a -p us00052_uf3" NOTE: The infile IN53 is: Pipe command="unzip -a -p us00053_uf3" NOTE: The infile IN54 is: Pipe command="unzip -a -p us00054_uf3" NOTE: The infile IN55 is: Pipe command="unzip -a -p us00055_uf3" NOTE: The infile IN56 is: Pipe command="unzip -a -p us00056_uf3" NOTE: The infile IN57 is: Pipe command="unzip -a -p us00057_uf3" NOTE: The infile IN58 is: Pipe command="unzip -a -p us00058_uf3" NOTE: The infile IN59 is: Pipe command="unzip -a -p us00059_uf3" NOTE: The infile IN60 is: Pipe command="unzip -a -p us00060_uf3" NOTE: The infile IN61 is: Pipe command="unzip -a -p us00061_uf3" NOTE: The infile IN62 is: Pipe command="unzip -a -p us00062_uf3" NOTE: The infile IN63 is: Pipe command="unzip -a -p us00063_uf3" NOTE: The infile IN64 is: Pipe command="unzip -a -p us00064_uf3" 37 The SAS System 14:54 Tuesday, March 3, 2009 NOTE: The infile IN65 is: Pipe command="unzip -a -p us00065_uf3" NOTE: The infile IN66 is: Pipe command="unzip -a -p us00066_uf3" NOTE: The infile IN67 is: Pipe command="unzip -a -p us00067_uf3" NOTE: The infile IN68 is: Pipe command="unzip -a -p us00068_uf3" NOTE: The infile IN69 is: Pipe command="unzip -a -p us00069_uf3" NOTE: The infile IN70 is: Pipe command="unzip -a -p us00070_uf3" NOTE: The infile IN71 is: Pipe command="unzip -a -p us00071_uf3" NOTE: The infile IN72 is: Pipe command="unzip -a -p us00072_uf3" NOTE: The infile IN73 is: Pipe command="unzip -a -p us00073_uf3" NOTE: The infile IN74 is: Pipe command="unzip -a -p us00074_uf3" NOTE: The infile IN75 is: Pipe command="unzip -a -p us00075_uf3" NOTE: The infile IN76 is: Pipe command="unzip -a -p us00076_uf3" ERROR: Write to SF32000.USPHCT.DATA failed. File is full and may be damaged. NOTE: 381965 records were read from the infile GEOS. The minimum record length was 400. The maximum record length was 400. NOTE: 381965 records were read from the infile IN1. The minimum record length was 520. The maximum record length was 2048. One or more lines were truncated. NOTE: 381965 records were read from the infile IN2. The minimum record length was 458. The maximum record length was 1759. NOTE: 381965 records were read from the infile IN3. The minimum record length was 504. The maximum record length was 1984. NOTE: 381965 records were read from the infile IN4. The minimum record length was 476. The maximum record length was 1860. NOTE: 381965 records were read from the infile IN5. The minimum record length was 462. 38 The SAS System 14:54 Tuesday, March 3, 2009 The maximum record length was 1754. NOTE: 381965 records were read from the infile IN6. The minimum record length was 522. The maximum record length was 1962. NOTE: 381965 records were read from the infile IN7. The minimum record length was 448. The maximum record length was 1848. NOTE: 381965 records were read from the infile IN8. The minimum record length was 512. The maximum record length was 2048. One or more lines were truncated. NOTE: 381965 records were read from the infile IN9. The minimum record length was 428. The maximum record length was 1515. NOTE: 381965 records were read from the infile IN10. The minimum record length was 512. The maximum record length was 1634. NOTE: 381965 records were read from the infile IN11. The minimum record length was 492. The maximum record length was 1645. NOTE: 381965 records were read from the infile IN12. The minimum record length was 514. The maximum record length was 1793. NOTE: 381965 records were read from the infile IN13. The minimum record length was 504. The maximum record length was 1679. NOTE: 381965 records were read from the infile IN14. The minimum record length was 512. The maximum record length was 1691. NOTE: 381965 records were read from the infile IN15. The minimum record length was 500. The maximum record length was 1722. NOTE: 381965 records were read from the infile IN16. The minimum record length was 502. The maximum record length was 1719. NOTE: 381965 records were read from the infile IN17. The minimum record length was 500. The maximum record length was 1613. NOTE: 381965 records were read from the infile IN18. The minimum record length was 350. The maximum record length was 1155. NOTE: 381965 records were read from the infile IN19. The minimum record length was 516. The maximum record length was 1857. NOTE: 381965 records were read from the infile IN20. The minimum record length was 430. The maximum record length was 1553. NOTE: 381965 records were read from the infile IN21. The minimum record length was 466. The maximum record length was 1437. NOTE: 381965 records were read from the infile IN22. The minimum record length was 492. The maximum record length was 1612. NOTE: 381965 records were read from the infile IN23. The minimum record length was 488. The maximum record length was 1697. 39 The SAS System 14:54 Tuesday, March 3, 2009 NOTE: 381965 records were read from the infile IN24. The minimum record length was 488. The maximum record length was 1837. NOTE: 381965 records were read from the infile IN25. The minimum record length was 464. The maximum record length was 1820. NOTE: 381965 records were read from the infile IN26. The minimum record length was 234. The maximum record length was 877. NOTE: 381965 records were read from the infile IN27. The minimum record length was 464. The maximum record length was 1849. NOTE: 381965 records were read from the infile IN28. The minimum record length was 346. The maximum record length was 1310. NOTE: 381965 records were read from the infile IN29. The minimum record length was 432. The maximum record length was 1626. NOTE: 381965 records were read from the infile IN30. The minimum record length was 470. The maximum record length was 1758. NOTE: 381965 records were read from the infile IN31. The minimum record length was 432. The maximum record length was 1580. NOTE: 381965 records were read from the infile IN32. The minimum record length was 508. The maximum record length was 1861. NOTE: 381965 records were read from the infile IN33. The minimum record length was 508. The maximum record length was 1792. NOTE: 381965 records were read from the infile IN34. The minimum record length was 490. The maximum record length was 1647. NOTE: 381965 records were read from the infile IN35. The minimum record length was 484. The maximum record length was 1600. NOTE: 381965 records were read from the infile IN36. The minimum record length was 488. The maximum record length was 1589. NOTE: 381965 records were read from the infile IN37. The minimum record length was 468. The maximum record length was 1654. NOTE: 381965 records were read from the infile IN38. The minimum record length was 512. The maximum record length was 1678. NOTE: 381965 records were read from the infile IN39. The minimum record length was 516. The maximum record length was 1834. NOTE: 381965 records were read from the infile IN40. The minimum record length was 508. The maximum record length was 1716. NOTE: 381965 records were read from the infile IN41. The minimum record length was 512. The maximum record length was 1623. NOTE: 381965 records were read from the infile IN42. The minimum record length was 414. 40 The SAS System 14:54 Tuesday, March 3, 2009 The maximum record length was 1400. NOTE: 381965 records were read from the infile IN43. The minimum record length was 502. The maximum record length was 1664. NOTE: 381965 records were read from the infile IN44. The minimum record length was 502. The maximum record length was 1348. NOTE: 381965 records were read from the infile IN45. The minimum record length was 502. The maximum record length was 1237. NOTE: 381965 records were read from the infile IN46. The minimum record length was 502. The maximum record length was 1453. NOTE: 381965 records were read from the infile IN47. The minimum record length was 452. The maximum record length was 1619. NOTE: 381965 records were read from the infile IN48. The minimum record length was 402. The maximum record length was 1209. NOTE: 381965 records were read from the infile IN49. The minimum record length was 402. The maximum record length was 1096. NOTE: 381965 records were read from the infile IN50. The minimum record length was 402. The maximum record length was 1212. NOTE: 381965 records were read from the infile IN51. The minimum record length was 402. The maximum record length was 1398. NOTE: 381965 records were read from the infile IN52. The minimum record length was 484. The maximum record length was 1596. NOTE: 381965 records were read from the infile IN53. The minimum record length was 494. The maximum record length was 1514. NOTE: 381965 records were read from the infile IN54. The minimum record length was 490. The maximum record length was 1710. NOTE: 381965 records were read from the infile IN55. The minimum record length was 312. The maximum record length was 998. NOTE: 381965 records were read from the infile IN56. The minimum record length was 289. The maximum record length was 1060. NOTE: 381965 records were read from the infile IN57. The minimum record length was 522. The maximum record length was 1912. NOTE: 381965 records were read from the infile IN58. The minimum record length was 460. The maximum record length was 1745. NOTE: 381965 records were read from the infile IN59. The minimum record length was 522. The maximum record length was 1967. NOTE: 381965 records were read from the infile IN60. The minimum record length was 520. The maximum record length was 1999. NOTE: 381965 records were read from the infile IN61. 41 The SAS System 14:54 Tuesday, March 3, 2009 The minimum record length was 528. The maximum record length was 1898. NOTE: 381965 records were read from the infile IN62. The minimum record length was 140. The maximum record length was 543. NOTE: 381965 records were read from the infile IN63. The minimum record length was 364. The maximum record length was 1336. NOTE: 381965 records were read from the infile IN64. The minimum record length was 252. The maximum record length was 835. NOTE: 381965 records were read from the infile IN65. The minimum record length was 308. The maximum record length was 1076. NOTE: 381965 records were read from the infile IN66. The minimum record length was 518. The maximum record length was 1775. NOTE: 381965 records were read from the infile IN67. The minimum record length was 460. The maximum record length was 1934. NOTE: 381965 records were read from the infile IN68. The minimum record length was 450. The maximum record length was 2048. One or more lines were truncated. NOTE: 381965 records were read from the infile IN69. The minimum record length was 462. The maximum record length was 1615. NOTE: 381965 records were read from the infile IN70. The minimum record length was 518. The maximum record length was 1900. NOTE: 381965 records were read from the infile IN71. The minimum record length was 514. The maximum record length was 1785. NOTE: 381965 records were read from the infile IN72. The minimum record length was 532. The maximum record length was 1654. NOTE: 381965 records were read from the infile IN73. The minimum record length was 508. The maximum record length was 1601. NOTE: 381965 records were read from the infile IN74. The minimum record length was 470. The maximum record length was 1354. NOTE: 381965 records were read from the infile IN75. The minimum record length was 516. The maximum record length was 1691. NOTE: 381965 records were read from the infile IN76. The minimum record length was 268. The maximum record length was 621. NOTE: The SAS System stopped processing this step because of errors. NOTE: SAS set option OBS=0 and will continue to check statements. This may cause NOTE: No observations in data set. WARNING: The data set SF32000.USGEOS may be incomplete. When this step was stopped there were 381965 observations and 74 variables. NOTE: Compressing data set SF32000.USGEOS decreased size by 59.13 percent. Compressed is 2602 pages; un-compressed would require 6367 pages. WARNING: The data set SF32000.USPH may be incomplete. When this step was stopped there were 381965 observations and 5632 variables. NOTE: Compressing data set SF32000.USPH decreased size by 67.59 percent. Compressed is 61909 pages; un-compressed would require 190997 pages. 42 The SAS System 14:54 Tuesday, March 3, 2009 WARNING: The data set SF32000.USPHCT may be incomplete. When this step was stopped there were 381964 observations and 4466 variables. ERROR: Insufficient space in file SF32000.USPHCT.DATA. NOTE: Compressing data set SF32000.USPHCT decreased size by 75.12 percent. Compressed is 47514 pages; un-compressed would require 190992 pages. ERROR: Write to SF32000.USPHCT.DATA failed. File is full and may be damaged. WARNING: The data set SF32000.USPHCTR may be incomplete. When this step was stopped there were 381964 observations and 6644 variables. ERROR: Insufficient space in file SF32000.USPHCTR.DATA. NOTE: Compressing data set SF32000.USPHCTR decreased size by 90.55 percent. Compressed is 36078 pages; un-compressed would require 381979 pages. ERROR: Write to SF32000.USPHCTR.DATA failed. File is full and may be damaged. NOTE: DATA statement used (Total process time): real time 3:05:54.66 cpu time 3:03:43.91 21974 21975 *-----------Create datasets indices to allow for quicker queries--------------------*; 21976 proc datasets library=sf32000 nolist; 21977 modify &stab.ph; 21978 index create SumLev; 21979 index create county; 21980 index create sumcnty=(SumLev county); 21981 21982 modify &stab.geos; 21983 index create SumLev; 21984 index create county; 21985 21986 modify &stab.phct; 21987 index create SumLev; 21988 index create county; 21989 21990 %macro usmods; 21991 %*--This is code that is conditionally executed or not based on whether we are doing a us file convert-; 21992 %global state; 21993 %if &state=00 %then %do; 21994 modify usgeos; index create state; 21995 modify usph; index create state; 21996 modify usphct; index create state; 21997 modify usphctR; index create state; 21998 %end; 21999 %mend usmods; 22000 22001 %usmods MPRINT(USMODS): modify usgeos; MPRINT(USMODS): index create state; MPRINT(USMODS): modify usph; MPRINT(USMODS): index create state; MPRINT(USMODS): modify usphct; MPRINT(USMODS): index create state; MPRINT(USMODS): modify usphctR; MPRINT(USMODS): index create state; 22002 22003 quit; 43 The SAS System 14:54 Tuesday, March 3, 2009 NOTE: PROCEDURE DATASETS used (Total process time): real time 1.05 seconds cpu time 0.03 seconds 22004 22005 22006 data sf3.&stab.stcnty(index=(logrecno)); 22007 merge sf3.&stab.ph 22008 sf3.&stab.phct 22009 sf3.&stab.phctr; ERROR: The open failed because library member SF3.USPHCT.DATA is damaged. ERROR: The open failed because library member SF3.USPHCTR.DATA is damaged. 22010 by logrecno; 22011 where SumLev in ('040','050') and geocomp='00'; 22012 run; NOTE: The SAS System stopped processing this step because of errors. WARNING: The data set SF3.USSTCNTY may be incomplete. When this step was stopped there were 0 observations and 5632 variables. NOTE: DATA statement used (Total process time): real time 0.52 seconds cpu time 0.18 seconds 22013 22014 proc contents data=sf32000._all_ details nods; 22015 run cancel; WARNING: The procedure was not executed at the user's request. NOTE: PROCEDURE CONTENTS used (Total process time): real time 0.00 seconds cpu time 0.01 seconds 22015 ! *<=========note cancel. May want to run this ONCE since it generates a TON of output!!-; 22016 22017 22018 data sumlevs/view=sumlevs; set sf3.&stab.geos(keep=SumLev State geocomp pop100); 22019 sumlev_code=sumlev; 22020 if geocomp='00'; 22021 run; NOTE: DATA STEP view saved on file WORK.SUMLEVS. NOTE: A stored DATA STEP view cannot run under a different operating system. NOTE: DATA statement used (Total process time): real time 0.04 seconds cpu time 0.00 seconds 22022 22023 proc tabulate data=sumlevs; 22024 class sumlev_code sumlev; 22025 var pop100; 22026 format sumlev $sumlev.; 22027 table sumlev_code*SumLev=' '*pop100*(n*f=comma7. sum*f=comma12.) ; 22028 title2 'Proc Tabulate Report: Geography Summary Levels: # Occurrences & Total Pops'; 44 The SAS System 14:54 Tuesday, March 3, 2009 22029 title3 '(excludes cases where geocomp is not 00)'; 22030 run; NOTE: View WORK.SUMLEVS.VIEW used (Total process time): real time 0.81 seconds cpu time 0.04 seconds NOTE: The SAS System stopped processing this step because of errors. NOTE: PROCEDURE TABULATE used (Total process time): real time 1.15 seconds cpu time 0.06 seconds 22031 22032 22033 %include sascode(notify); *<==========Missouri only, delete everywhere else!!!=====; 1012 **** cnvtsf3 (446684) has completed 03MAR09 18:00:45 syserr=0 sysrc= 0 ***** ERROR: Undetermined I/O failure. FATAL: Unrecoverable I/O error detected in the execution of the data step program. Aborted during the EXECUTION phase. ERROR: Errors printed on pages 37,42,43,44. NOTE: SAS Institute Inc., SAS Campus Drive, Cary, NC USA 27513-2414 NOTE: The SAS System used: real time 3:06:00.03 cpu time 3:03:44.52