/* @(#)ter_check.aml 1.06 02/13/06 /* /* (C) Province of British Columbia /*----------------------------------------------------------------------------- /* Program: ter_check.aml /* /* Purpose: Checks Terrain Stability coverages are up to the RIC guidelines /* set out in "Standard for Digital Terrain Data Capture in /* British Columbia" (June 1998). An ARC/INFO coverage's polygon /* & line attribute tables are checked for correct items and /* attributes. /* /*----------------------------------------------------------------------------- /* Arguments: ter_check /* /*----------------------------------------------------------------------------- /* Called By: none /* /* Calls Made: none /*----------------------------------------------------------------------------- /* Inputs: one coverage /* /* Outputs: text file & screen dump of possible errors /*----------------------------------------------------------------------------- /* /* Notes: There is a template coverage with standard .pat & .aat info /* files that should accompany this script. /* /* This script has been created & tested in ARC/INFO 7.2.1 /* /*----------------------------------------------------------------------------- /* /* History: March 2001 Created by Nick Zukanovic /* April 24, 2001 Beta version 1.01 released /* May 7-9, 2001 Minor corrections - Nick Zukanovic /* /* Modified: January 25, 2006 Updated to adhere to the RIC guidelines set /* out in "Standard for Digital Terrain Data /* Capture in British Columbia" (Addenda 2005-1 /* March 2005) with some modifications. /* /* The items are looped four times because of ARC/INFO software /* limitations to the variable length. /* /* This script has been updated & tested in ARC/INFO 8.0.2 /* /* Updated by Neale Quan /* (Atticus Spatial Information Management Ltd.) /* /*============================================================================= &args cov_name &wat %cov_name%_er.wat /* Set Variables &sv prjerr 0 /* Error will make value = 1 &sv bail 0 &sv count1 1 &sv count2 1 &sv count3 1 &sv count4 1 &sv item_order1 17 27 33 54 69 74 83 91 93 94 97 98 99 100 102 103 104 107 108 109 110 112 115 116 117 118 120 121 122 125 126 127 128 131 132 133 134 136 137 138 141 142 143 144 146 148 149 152 153 154 &sv item_order2 155 157 158 159 162 163 164 165 167 170 171 172 173 175 176 177 180 181 182 183 186 187 188 189 191 192 193 196 197 198 199 201 203 204 207 208 209 210 212 213 214 217 218 219 220 222 225 226 227 &sv item_order3 228 230 231 232 235 236 237 238 241 242 243 244 246 247 248 251 252 253 254 255 256 257 258 261 262 263 264 265 266 267 268 269 270 271 274 275 276 277 278 279 280 281 282 283 284 287 288 289 290 291 292 293 294 296 297 300 303 306 309 312 &sv item_order4 314 316 319 321 322 325 326 327 328 348 602 603 605 606 607 609 610 611 613 614 617 620 623 626 629 632 633 634 635 636 637 638 641 644 647 649 652 656 659 662 665 668 671 674 677 680 683 686 689 692 &fullscreen &nopaging /* Splash &ty &ty -------------------------------------------------------------------------------------- &ty --- Terrain Stability Mapping Coverage Check (RIC March 2005) - Version 1.06 BETA --- &ty -------------------------------------------------------------------------------------- &ty &ty Report Processed: [date -CAL] [date -AMPM] &ty &if NOT [exists %cov_name% -cover] &then &return Usage: ter_check &describe %cov_name% /* *** CHECK GENERAL COVERAGE FEATURES MEETS RIC 2005 STANDARDS *** &ty *** Checking For Errors In General Coverage Features...;&ty /* Check Precision is SINGLE &if %DSC$PRECISION% ne SINGLE &then &ty ERROR: Coverage must be SINGLE PRECISION /* Check Projection is BC Albers &if NOT [quote %PRJ$NAME%] = '' &then &do &if %PRJ$NAME% ne ALBERS &then &sv prjerr = 1 &if [quote %PRJ$DATUM%] ne 'NAD83' &then &sv prjerr = 1 &if %PRJ$UNITS% ne METERS &then &sv prjerr = 1 &if %PRJ$XSHIFT% ne 0 &then &sv prjerr = 1 &if %PRJ$YSHIFT% ne 0 &then &sv prjerr = 1 &if [quote %PRJ$SP1%] ne '50 00 00.0000' &then &sv prjerr = 1 &if [quote %PRJ$SP2%] ne '58 30 00.0000' &then &sv prjerr = 1 &if [quote %PRJ$CM%] ne '-126 00 00.0000' &then &sv prjerr = 1 &if [quote %PRJ$LATORIG%] ne '45 00 00.0000' &then &sv prjerr = 1 &if [quote %PRJ$FE%] ne '1000000' &then &sv prjerr = 1 &end &else &sv prjerr = 1 /* Give notice that there is a projection error &if %prjerr% = 1 &then &ty ERROR: Projection incorrect /* Ensure coverage has .pat & .aat &if NOT [exists %cov_name% -ARC] &then &ty ERROR: Coverage lacks ARC attributes &if NOT [exists %cov_name% -POLYGON] &then &ty ERROR: Coverage lacks POLY attributes /* Check that coverage is clean &if NOT [exists %cov_name% -clean] &then &return FATAL ERROR: Coverage not CLEAN /* Check .meta file &if NOT [exists %cov_name%.meta -info] &then &ty ERROR: %cov_name%.meta does not exist! &else &do &if [iteminfo %cov_name%.meta -info key -exists] &then &do &if NOT [iteminfo %cov_name%.meta -info key -FULLDEF] = '1,16,16,C,0' &then &ty Item %item_name% has incorrect attributes- should be %item_defn% &end &if [iteminfo %cov_name%.meta -info value -exists] &then &do &if NOT [iteminfo %cov_name%.meta -info value -FULLDEF] = '17,254,254,C,0' &then &ty Item %item_name% has incorrect attributes- should be %item_defn% &end &end /* CHECK TERRAIN POLYGONS (.pat) &if [exists %cov_name% -POLYGON] &then &call TERRAIN_POLYS &else &ty **** NO POLYGONS IN COVERAGE **** /* CHECK TERRAIN ARCS (.aat) &if [exists %cov_name% -ARC] &then &call TERRAIN_ARCS &else &ty **** NO ARCS IN COVERAGE **** &messages &on &watch &off &fullscreen &off &ty &ty Error report %cov_name%_er.wat created &ty &return /* ------------------------------------------- &routine TERRAIN_POLYS /* ------------------------------------------- &ty &ty *** Checking For Field Errors In Terrain Polygon .pat... &ty /* Check RIC 2005 Table 2.3.2.1 Items #17 - 689 exist & have the right item / field values &sv items1 fcode proj_type ter_tag ecp_tag proj_id mapsh_nbr poly_nbr tdec_1 prtflg_1 ttex_1 ttex_1c ttex_1b ttex_1a surfm_1 surfm_q1 surfm_st1 surf_e1 surf_e1a surf_e1b surf_e1c bedrock_1 sttex_1 sttex_1c sttex_1b sttex_1a ssurfm_1 ssurfm_q1 ssurfm_st1 ssurf_e1 ssurf_e1a ssurf_e1b ssurf_e1c tttex_1 tttex_1c tttex_1b tttex_1a tsurfm_1 tsurfm_q1 tsurfm_st1 tsurf_e1 tsurf_e1a tsurf_e1b tsurf_e1c comrel1_2 tdec_2 prtflg_2 ttex_2 ttex_2c ttex_2b ttex_2a &sv defn1 10/10/C/0 6/6/C/0 21/21/C/0 15/15/C/0 5/5/C/0 9/9/C/0 8/8/I/0 2/2/I/0 1/1/C/0 3/3/C/0 1/1/C/0 1/1/C/0 1/1/C/0 2/2/C/0 1/1/C/0 1/1/I/0 3/3/C/0 1/1/C/0 1/1/C/0 1/1/C/0 2/2/C/0 3/3/C/0 1/1/C/0 1/1/C/0 1/1/C/0 2/2/C/0 1/1/C/0 1/1/I/0 3/3/C/0 1/1/C/0 1/1/C/0 1/1/C/0 3/3/C/0 1/1/C/0 1/1/C/0 1/1/C/0 2/2/C/0 1/1/C/0 1/1/I/0 3/3/C/0 1/1/C/0 1/1/C/0 1/1/C/0 2/2/C/0 2/2/I/0 1/1/C/0 3/3/C/0 1/1/C/0 1/1/C/0 1/1/C/0 &sv items2 surfm_2 surfm_q2 surfm_st2 surf_e2 surf_e2a surf_e2b surf_e2c bedrock_2 sttex_2 sttex_2c sttex_2b sttex_2a ssurfm_2 ssurfm_q2 ssurfm_st2 ssurf_e2 ssurf_e2a ssurf_e2b ssurf_e2c tttex_2 tttex_2c tttex_2b tttex_2a tsurfm_2 tsurfm_q2 tsurfm_st2 tsurf_e2 tsurf_e2a tsurf_e2b tsurf_e2c comrel2_3 tdec_3 prtflg_3 ttex_3 ttex_3c ttex_3b ttex_3a surfm_3 surfm_q3 surfm_st3 surf_e3 surf_e3a surf_e3b surf_e3c bedrock_3 sttex_3 sttex_3c sttex_3b sttex_3a &sv defn2 2/2/C/0 1/1/C/0 1/1/I/0 3/3/C/0 1/1/C/0 1/1/C/0 1/1/C/0 2/2/C/0 3/3/C/0 1/1/C/0 1/1/C/0 1/1/C/0 2/2/C/0 1/1/C/0 1/1/I/0 3/3/C/0 1/1/C/0 1/1/C/0 1/1/C/0 3/3/C/0 1/1/C/0 1/1/C/0 1/1/C/0 2/2/C/0 1/1/C/0 1/1/I/0 3/3/C/0 1/1/C/0 1/1/C/0 1/1/C/0 2/2/C/0 2/2/I/0 1/1/C/0 3/3/C/0 1/1/C/0 1/1/C/0 1/1/C/0 2/2/C/0 1/1/C/0 1/1/I/0 3/3/C/0 1/1/C/0 1/1/C/0 1/1/C/0 2/2/C/0 3/3/C/0 1/1/C/0 1/1/C/0 1/1/C/0 &sv items3 ssurfm_3 ssurfm_q3 ssurfm_st3 ssurf_e3 ssurf_e3a ssurf_e3b ssurf_e3c tttex_3 tttex_3c tttex_3b tttex_3a tsurfm_3 tsurfm_q3 tsurfm_st3 tsurf_e3 tsurf_e3a tsurf_e3b tsurf_e3c geop_1 geop_q1 geop_st1 geop_inz1 geop_scm1 geop_inz1a geop_scm1a geop_inz1b geop_scm1b geop_inz1c geop_scm1c geop_2 geop_q2 geop_st2 geop_inz2 geop_scm2 geop_inz2a geop_scm2a geop_inz2b geop_scm2b geop_inz2c geop_scm2c geop_3 geop_q3 geop_st3 geop_inz3 geop_scm3 geop_inz3a geop_scm3a geop_inz3b geop_scm3b geop_inz3c geop_scm3c drain_1 drain_sep drain_2 slpll_1 slpul_1 slpll_2 slpul_2 slpstb_cls rdstb_flg &sv defn3 2/2/C/0 1/1/C/0 1/1/I/0 3/3/C/0 1/1/C/0 1/1/C/0 1/1/C/0 3/3/C/0 1/1/C/0 1/1/C/0 1/1/C/0 2/2/C/0 1/1/C/0 1/1/I/0 3/3/C/0 1/1/C/0 1/1/C/0 1/1/C/0 1/1/C/0 1/1/C/0 1/1/I/0 1/1/C/0 3/3/C/0 1/1/C/0 1/1/C/0 1/1/C/0 1/1/C/0 1/1/C/0 1/1/C/0 1/1/C/0 1/1/C/0 1/1/I/0 1/1/C/0 3/3/C/0 1/1/C/0 1/1/C/0 1/1/C/0 1/1/C/0 1/1/C/0 1/1/C/0 1/1/C/0 1/1/C/0 1/1/I/0 1/1/C/0 3/3/C/0 1/1/C/0 1/1/C/0 1/1/C/0 1/1/C/0 1/1/C/0 1/1/C/0 1/1/C/0 2/2/C/0 1/1/C/0 3/3/I/0 3/3/I/0 3/3/I/0 3/3/I/0 3/3/C/0 2/2/C/0 &sv items4 sfcero_pot lssed_cls sesed_cls bbsub_flg mean_asp avlhaz_flg lowrel_flg smpl_type fldnum poly_com drain_1a drain_sep1 drain_1b drain_2a drain_sep2 drain_2b drain_3a drain_sep3 drain_3b slpstb_cl1 slpstb_cl2 slpstb_cl3 sfcero_pt1 sfcero_pt2 sfcero_pt3 ttex_gen1 ttex_gen2 ttex_gen3 thkcls_1 thkcls_2 thkcls_3 lssed_cls1 lssed_cls2 lssed_cls3 sesed_cls1 sesed_cls2 sesed_cls3 slpll_1a slpul_1a slpll_1b slpul_1b slpll_2a slpul_2a slpll_2b slpul_2b slpll_3a slpul_3a slpll_3b slpul_3b bapid &sv defn4 2/2/C/0 3/3/I/0 2/2/C/0 1/1/C/0 3/3/I/0 1/1/C/0 1/1/C/0 1/1/C/0 20/20/C/0 254/254/C/0 1/1/C/0 2/2/C/0 1/1/C/0 1/1/C/0 2/2/C/0 1/1/C/0 1/1/C/0 2/2/C/0 1/1/C/0 3/3/C/0 3/3/C/0 3/3/C/0 3/3/C/0 3/3/C/0 3/3/C/0 1/1/C/0 1/1/C/0 1/1/C/0 1/1/C/0 1/1/C/0 1/1/C/0 3/3/I/0 3/3/I/0 3/3/I/0 2/2/C/0 3/3/C/0 4/4/C/0 3/3/I/0 3/3/I/0 3/3/I/0 3/3/I/0 3/3/I/0 3/3/I/0 3/3/I/0 3/3/I/0 3/3/I/0 3/3/I/0 3/3/I/0 3/3/I/0 5/5/I/0 /* COUNT LOOP FOR FIRST 50 ATTRIBUTES &do &until %count1% = 50 &if [iteminfo %cov_name%.pat -info [extract %count1% %items1%] -exists] &then &do &sv item_name [extract %count1% %items1%] /* item name &sv item_defn [extract %count1% %defn1%] /* attributes for item above &sv cov_defn_raw [iteminfo %cov_name%.pat -info %item_name%] /* the definition of the item &sv cov_defn [subst %cov_defn_raw% , /] /* changes the output of iteminfo from commas to slashes &if %cov_defn% ne %item_defn% &then &do &ty Item %item_name% has incorrect attributes- should be %item_defn% &sv bail 1 &end &end &else &do &ty Item [extract %count1% %items1%] does not exist in PAT &sv bail = 1 /* Will not run the item check since not all items are there &end /* Check item order &if %bail% ne 1 &then &do &sv cov_defn [iteminfo %cov_name%.pat -info [extract %count1% %items1%] -fulldef] &if [extract 1 %cov_defn%] ne [extract %count1% %item_order1%] &then &ty Item [extract %count1% %items1%] has incorrect column # (wrong order in PAT?) &end &sv count1 = %count1% + 1 &end /* COUNT LOOP FOR NEXT SET OF 49 ATTRIBUTES &do &until %count2% = 49 &if [iteminfo %cov_name%.pat -info [extract %count2% %items2%] -exists] &then &do &sv item_name [extract %count2% %items2%] /* item name &sv item_defn [extract %count2% %defn2%] /* attributes for item above &sv cov_defn_raw [iteminfo %cov_name%.pat -info %item_name%] /* the definition of the item &sv cov_defn [subst %cov_defn_raw% , /] /* changes the output of iteminfo from commas to slashes &if %cov_defn% ne %item_defn% &then &do &ty Item %item_name% has incorrect attributes- should be %item_defn% &sv bail 1 &end &end &else &do &ty Item [extract %count2% %items2%] does not exist in PAT &sv bail = 1 /* Will not run the item check since not all items are there &end /* Check item order &if %bail% ne 1 &then &do &sv cov_defn [iteminfo %cov_name%.pat -info [extract %count2% %items2%] -fulldef] &if [extract 1 %cov_defn%] ne [extract %count2% %item_order2%] &then &ty Item [extract %count2% %items2%] has incorrect column # (wrong order in PAT?) &end &sv count2 = %count2% + 1 &end /* COUNT LOOP FOR NEXT SET OF 60 ATTRIBUTES &do &until %count3% = 60 &if [iteminfo %cov_name%.pat -info [extract %count3% %items3%] -exists] &then &do &sv item_name [extract %count3% %items3%] /* item name &sv item_defn [extract %count3% %defn3%] /* attributes for item above &sv cov_defn_raw [iteminfo %cov_name%.pat -info %item_name%] /* the definition of the item &sv cov_defn [subst %cov_defn_raw% , /] /* changes the output of iteminfo from commas to slashes &if %cov_defn% ne %item_defn% &then &do &ty Item %item_name% has incorrect attributes- should be %item_defn% &sv bail 1 &end &end &else &do &ty Item [extract %count3% %items3%] does not exist in PAT &sv bail = 1 /* Will not run the item check since not all items are there &end /* Check item order &if %bail% ne 1 &then &do &sv cov_defn [iteminfo %cov_name%.pat -info [extract %count3% %items3%] -fulldef] &if [extract 1 %cov_defn%] ne [extract %count3% %item_order3%] &then &ty Item [extract %count3% %items3%] has incorrect column # (wrong order in PAT?) &end &sv count3 = %count3% + 1 &end /* COUNT LOOP FOR NEXT SET OF 50 ATTRIBUTES &do &until %count4% = 50 &if [iteminfo %cov_name%.pat -info [extract %count4% %items4%] -exists] &then &do &sv item_name [extract %count4% %items4%] /* item name &sv item_defn [extract %count4% %defn4%] /* attributes for item above &sv cov_defn_raw [iteminfo %cov_name%.pat -info %item_name%] /* the definition of the item &sv cov_defn [subst %cov_defn_raw% , /] /* changes the output of iteminfo from commas to slashes &if %cov_defn% ne %item_defn% &then &do &ty Item %item_name% has incorrect attributes- should be %item_defn% &sv bail 1 &end &end &else &do &ty Item [extract %count4% %items4%] does not exist in PAT &sv bail = 1 /* Will not run the item check since not all items are there &end /* Check item order &if %bail% ne 1 &then &do &sv cov_defn [iteminfo %cov_name%.pat -info [extract %count4% %items4%] -fulldef] &if [extract 1 %cov_defn%] ne [extract %count4% %item_order4%] &then &ty Item [extract %count4% %items4%] has incorrect column # (wrong order in PAT?) &end &sv count4 = %count4% + 1 &end /* ------------------------------------- /* Check that each item has valid values /* ------------------------------------- /* NOTE: Not all fields are checked for correct values since many items are /* numeric fields and can have any number to be valid. The check of /* the item type is sufficent in this case. Any character item that /* is not checked is because it can have any value. &ty &ty *** Checking Polygon Attribute Values In Each Field Are Valid... &ty &if %bail% = 1 &then &return *** Some items missing or incorrect in .pat - Skipping .pat attribute check display 0 /* remove arcedit display for increased speed &messages &off &all ae edit %cov_name% poly /**** FCODE Check for valid FCODES &sv item fcode &sv item_list FF84555210 W125200300 &call checkitems_eq /**** PROJ_TYPE Check for valid chartacters &sv item proj_type &sv item_list TEM PEM TER SEI TSM TBT TBS NEM NEMPRE NEMNSS TEMNSS TEMPRE LIM THM &call checkitems_eq /**** TDEC_1 &sv item tdec_1 &sv item_list 4 5 6 7 8 9 10 sel %item% ne 0 &do text &list %item_list% unsel %item% = %text% &end &if [show number select] > 4 &then &do &messages &on &ty Item %item% has invalid characters: list %item% &messages &off &all &end /**** PRTFLG_1 &sv item prtflg_1 &sv item_list / &call checkitems_eq /**** TTEX_1 Check for valid chartacters &sv item ttex_1 &sv item_list a b c d e g h k m p r s u x y z &call checkitems_cn /**** TTEX_1C Check for valid chartacters &sv item ttex_1c &sv item_list a b c d e g h k m p r s u x y z &call checkitems_cn /**** TTEX_1B Check for valid chartacters &sv item ttex_1b &sv item_list a b c d e g h k m p r s u x y z &call checkitems_cn /**** TTEX_1A Check for valid chartacters &sv item ttex_1a &sv item_list a b c d e g h k m p r s u x y z &call checkitems_cn /**** SURFM_1 &sv item surfm_1 &sv item_list A C CG D E EG F FG I L LG M N O R U V W WG &call checkitems_eq /**** SURFM_Q1 &sv item surfm_q1 &sv item_list A I &call checkitems_eq /**** SURFM_ST1 &sv item surfm_st1 &sv item_list 1 2 3 4 5 6 7 8 9 sel %item% ne 0 &do text &list %item_list% unsel %item% = %text% &end &if [show number select] > 0 &then &do &messages &on &ty Item %item% has invalid characters: list %item% &messages &off &all &end /**** SURF_E1 &sv item surf_e1 &sv item_list a b c d f h j k m p r s t u v w x &call checkitems_cn /**** SURF_E1A &sv item surf_e1a &sv item_list a b c d f h j k m p r s t u v w x &call checkitems_cn /**** SURF_E1B &sv item surf_e1b &sv item_list a b c d f h j k m p r s t u v w x &call checkitems_cn /**** SURF_E1C &sv item surf_e1c &sv item_list a b c d f h j k m p r s t u v w x &call checkitems_cn /**** BEDROCK_1 &sv item bedrock_1 &sv item_list kf km kc kz kd kh ks kg ka kn kb uf um uc zl md sh ss gk ak cg bk pk pu tv ls do gy li ba ok oc ma lg co ia ii ib sy gr qm gd qd di qg gb py pd du ea ei eb ep tr rh da an qb bs la tu vb ag ff fm fc sl ph sc gn gg dg mi nf nm nc nk ar sp gl qt hf am hb mb dm sm &call checkitems_eq /**** STTEX_1 &sv item sttex_1 &sv item_list a b c d e g h k m p r s u x y z &call checkitems_cn /**** STTEX_1C &sv item sttex_1c &sv item_list a b c d e g h k m p r s u x y z &call checkitems_cn /**** STTEX_1B &sv item sttex_1b &sv item_list a b c d e g h k m p r s u x y z &call checkitems_cn /**** STTEX_1A &sv item sttex_1a &sv item_list a b c d e g h k m p r s u x y z &call checkitems_cn /**** SSURFM_1 &sv item ssurfm_1 &sv item_list A C CG D E EG F FG I L LG M N O R U V W WG &call checkitems_eq /**** SSURFM_Q1 &sv item ssurfm_q1 &sv item_list A I &call checkitems_eq /**** SSURFM_ST1 &sv item ssurfm_st1 &sv item_list 1 2 3 4 5 6 7 8 9 sel %item% ne 0 &do text &list %item_list% unsel %item% = %text% &end &if [show number select] > 0 &then &do &messages &on &ty Item %item% has invalid characters: list %item% &messages &off &all &end /**** SSURF_E1 &sv item ssurf_e1 &sv item_list a b c d f h j k m p r s t u v w x &call checkitems_cn /**** SSURF_E1A &sv item ssurf_e1a &sv item_list a b c d f h j k m p r s t u v w x &call checkitems_cn /**** SSURF_E1B &sv item ssurf_e1b &sv item_list a b c d f h j k m p r s t u v w x &call checkitems_cn /**** SSURF_E1C &sv item ssurf_e1c &sv item_list a b c d f h j k m p r s t u v w x &call checkitems_cn /**** TTTEX_1 &sv item tttex_1 &sv item_list a b c d e g h k m p r s u x y z &call checkitems_cn /**** TTTEX_1C &sv item tttex_1c &sv item_list a b c d e g h k m p r s u x y z &call checkitems_cn /**** TTTEX_1B &sv item tttex_1b &sv item_list a b c d e g h k m p r s u x y z &call checkitems_cn /**** TTTEX_1A &sv item tttex_1a &sv item_list a b c d e g h k m p r s u x y z &call checkitems_cn /**** TSURFM_1 &sv item tsurfm_1 &sv item_list A C CG D E EG F FG I L LG M N O R U V W WG &call checkitems_eq /**** TSURFM_Q1 &sv item tsurfm_q1 &sv item_list A I &call checkitems_eq /**** TSURFM_ST1 &sv item tsurfm_st1 &sv item_list 1 2 3 4 5 6 7 8 9 sel %item% ne 0 &do text &list %item_list% unsel %item% = %text% &end &if [show number select] > 0 &then &do &messages &on &ty Item %item% has invalid characters: list %item% &messages &off &all &end /**** TSURF_E1 &sv item tsurf_e1 &sv item_list a b c d f h j k m p r s t u v w x &call checkitems_cn /**** TSURF_E1A &sv item tsurf_e1a &sv item_list a b c d f h j k m p r s t u v w x &call checkitems_cn /**** TSURF_E1B &sv item tsurf_e1b &sv item_list a b c d f h j k m p r s t u v w x &call checkitems_cn /**** TSURF_E1C &sv item tsurf_e1c &sv item_list a b c d f h j k m p r s t u v w x &call checkitems_cn /**** COMREL1_2 &sv item comrel1_2 &sv item_list / // . &call checkitems_eq /**** TDEC_2 &sv item tdec_2 &sv item_list 1 2 3 4 5 sel %item% ne 0 &do text &list %item_list% unsel %item% = %text% &end &if [show number select] > 0 &then &do &messages &on &ty Item %item% has invalid characters: list %item% &messages &off &all &end /**** PRTFLG_2 &sv item prtflg_2 &sv item_list / &call checkitems_eq /**** TTEX_2 Check for valid chartacters &sv item ttex_2 &sv item_list a b c d e g h k m p r s u x y z &call checkitems_cn /**** TTEX_2C Check for valid chartacters &sv item ttex_2c &sv item_list a b c d e g h k m p r s u x y z &call checkitems_cn /**** TTEX_2B Check for valid chartacters &sv item ttex_2b &sv item_list a b c d e g h k m p r s u x y z &call checkitems_cn /**** TTEX_2A Check for valid chartacters &sv item ttex_2a &sv item_list a b c d e g h k m p r s u x y z &call checkitems_cn /**** SURFM_2 &sv item surfm_2 &sv item_list A C CG D E EG F FG I L LG M N O R U V W WG &call checkitems_eq /**** SURFM_Q2 &sv item surfm_q2 &sv item_list A I &call checkitems_eq /**** SURFM_ST2 &sv item surfm_st2 &sv item_list 1 2 3 4 5 6 7 8 9 sel %item% ne 0 &do text &list %item_list% unsel %item% = %text% &end &if [show number select] > 0 &then &do &messages &on &ty Item %item% has invalid characters: list %item% &messages &off &all &end /**** SURF_E2 &sv item surf_e2 &sv item_list a b c d f h j k m p r s t u v w x &call checkitems_cn /**** SURF_E2A &sv item surf_e2a &sv item_list a b c d f h j k m p r s t u v w x &call checkitems_cn /**** SURF_E2B &sv item surf_e2b &sv item_list a b c d f h j k m p r s t u v w x &call checkitems_cn /**** SURF_E2C &sv item surf_e2c &sv item_list a b c d f h j k m p r s t u v w x &call checkitems_cn /**** BEDROCK_2 &sv item bedrock_2 &sv item_list kf km kc kz kd kh ks kg ka kn kb uf um uc zl md sh ss gk ak cg bk pk pu tv ls do gy li ba ok oc ma lg co ia ii ib sy gr qm gd qd di qg gb py pd du ea ei eb ep tr rh da an qb bs la tu vb ag ff fm fc sl ph sc gn gg dg mi nf nm nc nk ar sp gl qt hf am hb mb dm sm &call checkitems_eq /**** STTEX_2 &sv item sttex_2 &sv item_list a b c d e g h k m p r s u x y z &call checkitems_cn /**** STTEX_2C &sv item sttex_2c &sv item_list a b c d e g h k m p r s u x y z &call checkitems_cn /**** STTEX_2B &sv item sttex_2b &sv item_list a b c d e g h k m p r s u x y z &call checkitems_cn /**** STTEX_2A &sv item sttex_2a &sv item_list a b c d e g h k m p r s u x y z &call checkitems_cn /**** SSURFM_2 &sv item ssurfm_2 &sv item_list A C CG D E EG F FG I L LG M N O R U V W WG &call checkitems_eq /**** SSURFM_Q2 &sv item ssurfm_q2 &sv item_list A I &call checkitems_eq /**** SSURFM_ST2 &sv item ssurfm_st2 &sv item_list 1 2 3 4 5 6 7 8 9 sel %item% ne 0 &do text &list %item_list% unsel %item% = %text% &end &if [show number select] > 0 &then &do &messages &on &ty Item %item% has invalid characters: list %item% &messages &off &all &end /**** SSURF_E2 &sv item ssurf_e2 &sv item_list a b c d f h j k m p r s t u v w x &call checkitems_cn /**** SSURF_E2A &sv item ssurf_e2a &sv item_list a b c d f h j k m p r s t u v w x &call checkitems_cn /**** SSURF_E2B &sv item ssurf_e2b &sv item_list a b c d f h j k m p r s t u v w x &call checkitems_cn /**** SSURF_E2C &sv item ssurf_e2c &sv item_list a b c d f h j k m p r s t u v w x &call checkitems_cn /**** TTTEX_2 &sv item tttex_2 &sv item_list a b c d e g h k m p r s u x y z &call checkitems_cn /**** TTTEX_2C &sv item tttex_2c &sv item_list a b c d e g h k m p r s u x y z &call checkitems_cn /**** TTTEX_2B &sv item tttex_2b &sv item_list a b c d e g h k m p r s u x y z &call checkitems_cn /**** TTTEX_2A &sv item tttex_2a &sv item_list a b c d e g h k m p r s u x y z &call checkitems_cn /**** TSURFM_2 &sv item tsurfm_2 &sv item_list A C CG D E EG F FG I L LG M N O R U V W WG &call checkitems_eq /**** TSURFM_Q2 &sv item tsurfm_q2 &sv item_list A I &call checkitems_eq /**** TSURFM_ST2 &sv item tsurfm_st2 &sv item_list 1 2 3 4 5 6 7 8 9 sel %item% ne 0 &do text &list %item_list% unsel %item% = %text% &end &if [show number select] > 0 &then &do &messages &on &ty Item %item% has invalid characters: list %item% &messages &off &all &end /**** TSURF_E2 &sv item tsurf_e2 &sv item_list a b c d f h j k m p r s t u v w x &call checkitems_cn /**** TSURF_E2A &sv item tsurf_e2a &sv item_list a b c d f h j k m p r s t u v w x &call checkitems_cn /**** TSURF_E2B &sv item tsurf_e2b &sv item_list a b c d f h j k m p r s t u v w x &call checkitems_cn /**** TSURF_E2C &sv item tsurf_e2c &sv item_list a b c d f h j k m p r s t u v w x &call checkitems_cn /**** COMREL2_3 &sv item comrel2_3 &sv item_list / // . &call checkitems_eq /**** TDEC_3 &sv item tdec_3 &sv item_list 1 2 3 sel %item% ne 0 &do text &list %item_list% unsel %item% = %text% &end &if [show number select] > 0 &then &do &messages &on &ty Item %item% has invalid characters: list %item% &messages &off &all &end /**** PRTFLG_3 &sv item prtflg_3 &sv item_list / &call checkitems_eq /**** TTEX_3 Check for valid chartacters &sv item ttex_3 &sv item_list a b c d e g h k m p r s u x y z &call checkitems_cn /**** TTEX_3C Check for valid chartacters &sv item ttex_3c &sv item_list a b c d e g h k m p r s u x y z &call checkitems_cn /**** TTEX_3B Check for valid chartacters &sv item ttex_3b &sv item_list a b c d e g h k m p r s u x y z &call checkitems_cn /**** TTEX_3A Check for valid chartacters &sv item ttex_3a &sv item_list a b c d e g h k m p r s u x y z &call checkitems_cn /**** SURFM_3 &sv item surfm_3 &sv item_list A C CG D E EG F FG I L LG M N O R U V W WG &call checkitems_eq /**** SURFM_Q3 &sv item surfm_q3 &sv item_list A I &call checkitems_eq /**** SURFM_ST3 &sv item surfm_st3 &sv item_list 1 2 3 4 5 6 7 8 9 sel %item% ne 0 &do text &list %item_list% unsel %item% = %text% &end &if [show number select] > 0 &then &do &messages &on &ty Item %item% has invalid characters: list %item% &messages &off &all &end /**** SURF_E3 &sv item surf_e3 &sv item_list a b c d f h j k m p r s t u v w x &call checkitems_cn /**** SURF_E3A &sv item surf_e3a &sv item_list a b c d f h j k m p r s t u v w x &call checkitems_cn /**** SURF_E3B &sv item surf_e3b &sv item_list a b c d f h j k m p r s t u v w x &call checkitems_cn /**** SURF_E3C &sv item surf_e3c &sv item_list a b c d f h j k m p r s t u v w x &call checkitems_cn /**** BEDROCK_3 &sv item bedrock_3 &sv item_list kf km kc kz kd kh ks kg ka kn kb uf um uc zl md sh ss gk ak cg bk pk pu tv ls do gy li ba ok oc ma lg co ia ii ib sy gr qm gd qd di qg gb py pd du ea ei eb ep tr rh da an qb bs la tu vb ag ff fm fc sl ph sc gn gg dg mi nf nm nc nk ar sp gl qt hf am hb mb dm sm &call checkitems_eq /**** STTEX_3 &sv item sttex_3 &sv item_list a b c d e g h k m p r s u x y z &call checkitems_cn /**** STTEX_3C &sv item sttex_3c &sv item_list a b c d e g h k m p r s u x y z &call checkitems_cn /**** STTEX_3B &sv item sttex_3b &sv item_list a b c d e g h k m p r s u x y z &call checkitems_cn /**** STTEX_3A &sv item sttex_3a &sv item_list a b c d e g h k m p r s u x y z &call checkitems_cn /**** SSURFM_3 &sv item ssurfm_3 &sv item_list A C CG D E EG F FG I L LG M N O R U V W WG &call checkitems_eq /**** SSURFM_Q3 &sv item ssurfm_q3 &sv item_list A I &call checkitems_eq /**** SSURFM_ST3 &sv item ssurfm_st3 &sv item_list 1 2 3 4 5 6 7 8 9 sel %item% ne 0 &do text &list %item_list% unsel %item% = %text% &end &if [show number select] > 0 &then &do &messages &on &ty Item %item% has invalid characters: list %item% &messages &off &all &end /**** SSURF_E3 &sv item ssurf_e3 &sv item_list a b c d f h j k m p r s t u v w x &call checkitems_cn /**** SSURF_E3A &sv item ssurf_e3a &sv item_list a b c d f h j k m p r s t u v w x &call checkitems_cn /**** SSURF_E3B &sv item ssurf_e3b &sv item_list a b c d f h j k m p r s t u v w x &call checkitems_cn /**** SSURF_E3C &sv item ssurf_e3c &sv item_list a b c d f h j k m p r s t u v w x &call checkitems_cn /**** TTTEX_3 &sv item tttex_3 &sv item_list a b c d e g h k m p r s u x y z &call checkitems_cn /**** TTTEX_3C &sv item tttex_3c &sv item_list a b c d e g h k m p r s u x y z &call checkitems_cn /**** TTTEX_3B &sv item tttex_3b &sv item_list a b c d e g h k m p r s u x y z &call checkitems_cn /**** TTTEX_3A &sv item tttex_3a &sv item_list a b c d e g h k m p r s u x y z &call checkitems_cn /**** TSURFM_3 &sv item tsurfm_3 &sv item_list A C CG D E EG F FG I L LG M N O R U V W WG &call checkitems_eq /**** TSURFM_Q3 &sv item tsurfm_q3 &sv item_list A I &call checkitems_eq /**** TSURFM_ST3 &sv item tsurfm_st3 &sv item_list 1 2 3 4 5 6 7 8 9 sel %item% ne 0 &do text &list %item_list% unsel %item% = %text% &end &if [show number select] > 0 &then &do &messages &on &ty Item %item% has invalid characters: list %item% &messages &off &all &end /**** TSURF_E3 &sv item tsurf_e3 &sv item_list a b c d f h j k m p r s t u v w x &call checkitems_cn /**** TSURF_E3A &sv item tsurf_e3a &sv item_list a b c d f h j k m p r s t u v w x &call checkitems_cn /**** TSURF_E3B &sv item tsurf_e3b &sv item_list a b c d f h j k m p r s t u v w x &call checkitems_cn /**** TSURF_E3C &sv item tsurf_e3c &sv item_list a b c d f h j k m p r s t u v w x &call checkitems_cn /**** GEOP_1 &sv item geop_1 &sv item_list A B C D E F H I J K L M N P R S U V W X Z &call checkitems_eq /**** GEOP_Q1 &sv item geop_q1 &sv item_list A I &call checkitems_eq /**** GEOP_ST1 &sv item geop_st1 &sv item_list 1 2 3 4 5 6 7 8 9 sel %item% ne 0 &do text &list %item_list% unsel %item% = %text% &end &if [show number select] > 0 &then &do &messages &on &ty Item %item% has invalid characters: list %item% &messages &off &all &end /**** GEOP_INZ1 &sv item geop_inz1 &sv item_list " &call checkitems_eq /**** GEOP_SCM1 &sv item geop_scm1 &sv item_list a b c d e f g j k l m o p q r s t u w x &call checkitems_cn /**** GEOP_INZ1A &sv item geop_inz1a &sv item_list ^ &call checkitems_eq /**** GEOP_SCM1A &sv item geop_scm1a &sv item_list a b c d e f g j k l m o p q r s t u w x &call checkitems_cn /**** GEOP_INZ1B &sv item geop_inz1b &sv item_list ^ &call checkitems_eq /**** GEOP_SCM1B &sv item geop_scm1b &sv item_list a b c d e f g j k l m o p q r s t u w x &call checkitems_cn /**** GEOP_INZ1C &sv item geop_inz1c &sv item_list ^ &call checkitems_eq /**** GEOP_SCM1C &sv item geop_scm1c &sv item_list a b c d e f g j k l m o p q r s t u w x &call checkitems_cn /**** GEOP_2 &sv item geop_2 &sv item_list A B C D E F H I J K L M N P R S U V W X Z &call checkitems_eq /**** GEOP_Q2 &sv item geop_q2 &sv item_list A I &call checkitems_eq /**** GEOP_ST2 &sv item geop_st2 &sv item_list 1 2 3 4 5 6 7 8 9 sel %item% ne 0 &do text &list %item_list% unsel %item% = %text% &end &if [show number select] > 0 &then &do &messages &on &ty Item %item% has invalid characters: list %item% &messages &off &all &end /**** GEOP_INZ2 &sv item geop_inz2 &sv item_list " &call checkitems_eq /**** GEOP_SCM2 &sv item geop_scm2 &sv item_list a b c d e f g j k l m o p q r s t u w x &call checkitems_cn /**** GEOP_INZ2A &sv item geop_inz2a &sv item_list ^ &call checkitems_eq /**** GEOP_SCM2A &sv item geop_scm2a &sv item_list a b c d e f g j k l m o p q r s t u w x &call checkitems_cn /**** GEOP_INZ2B &sv item geop_inz2b &sv item_list ^ &call checkitems_eq /**** GEOP_SCM2B &sv item geop_scm2b &sv item_list a b c d e f g j k l m o p q r s t u w x &call checkitems_cn /**** GEOP_INZ2C &sv item geop_inz2c &sv item_list ^ &call checkitems_eq /**** GEOP_SCM2C &sv item geop_scm2c &sv item_list a b c d e f g j k l m o p q r s t u w x &call checkitems_cn /**** GEOP_3 &sv item geop_3 &sv item_list A B C D E F H I J K L M N P R S U V W X Z &call checkitems_eq /**** GEOP_Q3 &sv item geop_q3 &sv item_list A I &call checkitems_eq /**** GEOP_ST3 &sv item geop_st3 &sv item_list 1 2 3 4 5 6 7 8 9 sel %item% ne 0 &do text &list %item_list% unsel %item% = %text% &end &if [show number select] > 0 &then &do &messages &on &ty Item %item% has invalid characters: list %item% &messages &off &all &end /**** GEOP_INZ3 &sv item geop_inz3 &sv item_list " &call checkitems_eq /**** GEOP_SCM3 &sv item geop_scm3 &sv item_list a b c d e f g j k l m o p q r s t u w x &call checkitems_cn /**** GEOP_INZ3A &sv item geop_inz3a &sv item_list ^ &call checkitems_eq /**** GEOP_SCM3A &sv item geop_scm3a &sv item_list a b c d e f g j k l m o p q r s t u w x &call checkitems_cn /**** GEOP_INZ3B &sv item geop_inz3b &sv item_list ^ &call checkitems_eq /**** GEOP_SCM3B &sv item geop_scm3b &sv item_list a b c d e f g j k l m o p q r s t u w x &call checkitems_cn /**** GEOP_INZ3C &sv item geop_inz3c &sv item_list ^ &call checkitems_eq /**** GEOP_SCM3C &sv item geop_scm3c &sv item_list a b c d e f g j k l m o p q r s t u w x &call checkitems_cn /**** DRAIN_1 &sv item drain_1 &sv item_list v p i m w r x &call checkitems_eq /**** DRAIN_SEP &sv item drain_sep &sv item_list ',' '-' '/' '//' sel %item% ne '' &do text &list %item_list% unsel %item% = %text% &end &if [show number select] > 0 &then &do &messages &on &ty Item %item% has invalid characters: list %item% &messages &off &all &end /**** DRAIN_2 &sv item drain_2 &sv item_list v p i m w r x &call checkitems_eq /**** SLPLL_1 &sv item slpll_1 sel %item% > 999 &if [show number select] > 0 &then &do &messages &on &ty Item %item% has invalid characters: list %item% &messages &off &all &end /**** SLPUL_1 &sv item slpul_1 sel %item% > 999 &if [show number select] > 0 &then &do &messages &on &ty Item %item% has invalid characters: list %item% &messages &off &all &end /**** SLPLL_2 &sv item slpll_2 sel %item% > 999 &if [show number select] > 0 &then &do &messages &on &ty Item %item% has invalid characters: list %item% &messages &off &all &end /**** SLPUL_2 &sv item slpul_2 sel %item% > 999 &if [show number select] > 0 &then &do &messages &on &ty Item %item% has invalid characters: list %item% &messages &off &all &end /**** SLPSTB_CLS &sv item slpstb_cls &sv item_list I II III IV V U P S &call checkitems_eq /**** RDSTB_FLG &sv item rdstb_flg &sv item_list R &call checkitems_eq /**** SFCERO_POT &sv item sfcero_pot &sv item_list VL L M H VH &call checkitems_eq /**** LSSED_CLS &sv item lssed_cls &sv item_list 1 2 3 sel %item% ne 0 &do text &list %item_list% unsel %item% = %text% &end &if [show number select] > 0 &then &do &messages &on &ty Item %item% has invalid characters: list %item% &messages &off &all &end /**** SESED_CLS &sv item sesed_cls &sv item_list vl l m h vh &call checkitems_eq /**** BBSUB_FLG &sv item bbsub_flg &sv item_list b &call checkitems_eq /**** MEAN_ASP &sv item mean_asp sel %item% > 360 &if [show number select] > 0 &then &do &messages &on &ty Item %item% has invalid characters: list %item% &messages &off &all &end /**** AVLHAZ_FLG &sv item avlhaz_flg &sv item_list a &call checkitems_eq /**** LOWREL_FLG &sv item lowrel_flg &sv item_list L &call checkitems_eq /**** SMPL_TYPE &sv item smpl_type &sv item_list d r v &call checkitems_eq /**** DRAIN_1A &sv item drain_1a &sv item_list x r w m i p v &call checkitems_eq /**** DRAIN_SEP1 &sv item drain_sep1 &sv item_list ',' '-' '/' '//' sel %item% ne '' &do text &list %item_list% unsel %item% = %text% &end &if [show number select] > 0 &then &do &messages &on &ty Item %item% has invalid characters: list %item% &messages &off &all &end /**** DRAIN_1B &sv item drain_1b &sv item_list x r w m i p v &call checkitems_eq /**** DRAIN_2A &sv item drain_2a &sv item_list x r w m i p v &call checkitems_eq /**** DRAIN_SEP2 &sv item drain_sep2 &sv item_list ',' '-' '/' '//' sel %item% ne '' &do text &list %item_list% unsel %item% = %text% &end &if [show number select] > 0 &then &do &messages &on &ty Item %item% has invalid characters: list %item% &messages &off &all &end /**** DRAIN_2B &sv item drain_2b &sv item_list x r w m i p v &call checkitems_eq /**** DRAIN_3A &sv item drain_3a &sv item_list x r w m i p v &call checkitems_eq /**** DRAIN_SEP3 &sv item drain_sep3 &sv item_list ',' '-' '/' '//' sel %item% ne '' &do text &list %item_list% unsel %item% = %text% &end &if [show number select] > 0 &then &do &messages &on &ty Item %item% has invalid characters: list %item% &messages &off &all &end /**** DRAIN_3B &sv item drain_3b &sv item_list x r w m i p v &call checkitems_eq /**** SLPSTB_CL1 &sv item slpstb_cl1 &sv item_list I II III IV V U P S &call checkitems_eq /**** SLPSTB_CL2 &sv item slpstb_cl2 &sv item_list I II III IV V U P S &call checkitems_eq /**** SLPSTB_CL3 &sv item slpstb_cl3 &sv item_list I II III IV V U P S &call checkitems_eq /**** SFCERO_PT1 &sv item sfcero_pt1 &sv item_list VL L M H VH &call checkitems_eq /**** SFCERO_PT2 &sv item sfcero_pt2 &sv item_list VL L M H VH &call checkitems_eq /**** SFCERO_PT3 &sv item sfcero_pt3 &sv item_list VL L M H VH &call checkitems_eq /**** TTEX_GEN1 &sv item ttex_gen1 &sv item_list f m c v &call checkitems_cn /**** TTEX_GEN2 &sv item ttex_gen2 &sv item_list f m c v &call checkitems_cn /**** TTEX_GEN3 &sv item ttex_gen3 &sv item_list f m c v &call checkitems_cn /**** THKCLS_1 &sv item thkcls_1 &sv item_list A B C D N &call checkitems_cn /**** THKCLS_2 &sv item thkcls_2 &sv item_list A B C D N &call checkitems_cn /**** THKCLS_3 &sv item thkcls_3 &sv item_list A B C D N &call checkitems_cn /**** LSSED_CLS1 &sv item lssed_cls1 &sv item_list 1 2 3 sel %item% ne 0 &do text &list %item_list% unsel %item% = %text% &end &if [show number select] > 0 &then &do &messages &on &ty Item %item% has invalid characters: list %item% &messages &off &all &end /**** LSSED_CLS2 &sv item lssed_cls2 &sv item_list 1 2 3 sel %item% ne 0 &do text &list %item_list% unsel %item% = %text% &end &if [show number select] > 0 &then &do &messages &on &ty Item %item% has invalid characters: list %item% &messages &off &all &end /**** LSSED_CLS3 &sv item lssed_cls3 &sv item_list 1 2 3 sel %item% ne 0 &do text &list %item_list% unsel %item% = %text% &end &if [show number select] > 0 &then &do &messages &on &ty Item %item% has invalid characters: list %item% &messages &off &all &end /**** SESED_CLS1 &sv item sesed_cls1 &sv item_list vl l m h vh &call checkitems_eq /**** SESED_CLS2 &sv item sesed_cls2 &sv item_list vl l m h vh &call checkitems_eq /**** SESED_CLS3 &sv item sesed_cls3 &sv item_list vl l m h vh &call checkitems_eq /**** SLPLL_1A &sv item slpll_1a sel %item% > 999 &if [show number select] > 0 &then &do &messages &on &ty Item %item% has invalid characters: list %item% &messages &off &all &end /**** SLPUL_1A &sv item slpul_1a sel %item% > 999 &if [show number select] > 0 &then &do &messages &on &ty Item %item% has invalid characters: list %item% &messages &off &all &end /**** SLPLL_1B &sv item slpll_1b sel %item% > 999 &if [show number select] > 0 &then &do &messages &on &ty Item %item% has invalid characters: list %item% &messages &off &all &end /**** SLPUL_1B &sv item slpul_1b sel %item% > 999 &if [show number select] > 0 &then &do &messages &on &ty Item %item% has invalid characters: list %item% &messages &off &all &end /**** SLPLL_2A &sv item slpll_2a sel %item% > 999 &if [show number select] > 0 &then &do &messages &on &ty Item %item% has invalid characters: list %item% &messages &off &all &end /**** SLPUL_2A &sv item slpul_2a sel %item% > 999 &if [show number select] > 0 &then &do &messages &on &ty Item %item% has invalid characters: list %item% &messages &off &all &end /**** SLPLL_2B &sv item slpll_2b sel %item% > 999 &if [show number select] > 0 &then &do &messages &on &ty Item %item% has invalid characters: list %item% &messages &off &all &end /**** SLPUL_2B &sv item slpul_2b sel %item% > 999 &if [show number select] > 0 &then &do &messages &on &ty Item %item% has invalid characters: list %item% &messages &off &all &end /**** SLPLL_3A &sv item slpll_3a sel %item% > 999 &if [show number select] > 0 &then &do &messages &on &ty Item %item% has invalid characters: list %item% &messages &off &all &end /**** SLPUL_3A &sv item slpul_3a sel %item% > 999 &if [show number select] > 0 &then &do &messages &on &ty Item %item% has invalid characters: list %item% &messages &off &all &end /**** SLPLL_3B &sv item slpll_3b sel %item% > 999 &if [show number select] > 0 &then &do &messages &on &ty Item %item% has invalid characters: list %item% &messages &off &all &end /**** SLPUL_3B &sv item slpul_3b sel %item% > 999 &if [show number select] > 0 &then &do &messages &on &ty Item %item% has invalid characters: list %item% &messages &off &all &end q &messages &on &ty /* ------------------------------------------- &return /* END TERRAIN_POLYS ROUTINE /* ------------------------------------------- /* ------------------------------------------- &routine checkitems_cn /* ------------------------------------------- /* Checks whether the item contains one of the values for the specified /* field sel %item% ne '' &do text &list %item_list% unsel %item% cn [quote %text%] &end &if [show number select] > 0 &then &do &messages &on &ty Item %item% has invalid characters: list %item% &messages &off &all &end /* ------------------------------------------- &return /* END CHECKITEMS_CN ROUTINE /* ------------------------------------------- /* ------------------------------------------- &routine checkitems_eq /* ------------------------------------------- /* Checks whether the item is equal to one of the values for the /* specified field sel %item% ne '' &do text &list %item_list% unsel %item% = [quote %text%] &end &if [show number select] > 0 &then &do &messages &on &ty Item %item% has invalid characters: list %item% &messages &off &all &end /* ------------------------------------------- &return /* END CHECKITEMS_EQ ROUTINE /* ------------------------------------------- /* ------------------------------------------- &routine terrain_arcs /* ------------------------------------------- &ty &ty *** Checking For Field Errors In Terrain Line .aat... &ty /* FCODE &if NOT [iteminfo %cov_name% -ARC fcode -exists] &then &ty Item FCODE does not exist in AAT &else &do &if NOT [iteminfo %cov_name% -ARC fcode -DEFINITION] = 10,10,C,0 &then &ty Item FCODE has incorrect attributes- should be 10/10/C/0 &if NOT [iteminfo %cov_name% -ARC fcode -INDEXED] &then &ty Item FCODE is NOT indexed &fullscreen &nopaging &messages &off &all ae edit %cov_name% arc &sv item fcode &sv item_list FF84555000 FF84555110 FF84555120 FF84555130 /* the above FCODES are updated from the RIC98 book. check the MELP web site &call checkitems_eq q &messages &on &end /* SRC_FCODE &if NOT [iteminfo %cov_name% -ARC SRC_FCODE -exists] &then &ty Item SRC_FCODE does not exist in AAT &else &do &if NOT [iteminfo %cov_name% -ARC SRC_FCODE -DEFINITION] = 10,10,C,0 &then &ty Item SRC_FCODE has incorrect attributes- should be 10/10/C/0 &end /* ------------------------------------------- &return /* END TERRAIN_ARCS ROUTINE /* -------------------------------------------