HDR*PowerBuilder0600ٵU7Objects for RAPIDS Source Groups and Level SelectionFRE*0NOD* 9 ENT*0600|-b?f_recalc_notify.srfENT*0600MAf_sqlcheck.funENT*0600r MAf_recalc_notify.funENT*0600-b?Qf_sqlcheck.srfENT*06004;VO5d_ss_tv_result_set.srdENT*060092Ar_ss_county_data.dwoENT*0600:2Ad_ss_tv_result_set.dwoENT*0600oiJ5r_ss_county_data.srdENT*0600<$d_ss_sources_at_county.srdENT*060002Ar_ss_device_data.dwoENT*06002Ad_ss_sources_at_county.dwoENT*0600M!9r_ss_device_data.srdENT*0600 E6/d_ss_sic_from_buffer.srdENT*0600h2Ar_ss_filter_sub_report.dwoENT*0600A2Ad_ss_sic_from_buffer.dwoENT*0600u SO5r_ss_filter_sub_report.srdENT*0600 K>5?%d_ss_sic_at_selection_sub_source.srdENT*0600r2Ar_ss_group_sub_report.dwoENT*06002A%d_ss_sic_at_selection_sub_source.dwoENT*0600&SO5r_ss_group_sub_report.srdENT*0600 \3>5&d_ss_sic_at_selection.srdENT*06008 2Ar_ss_nation_data.dwoENT*0600"2Ad_ss_sic_at_selection.dwoENT*0600FChJ5r_ss_nation_data.srdENT*0600lE6/d_ss_scc_from_buffer.srdENT*0600N&2Ar_ss_process_data.dwoENT*0600R]2Ad_ss_scc_from_buffer.dwoENT*0600v'diJ5r_ss_process_data.srdENT*06008I6&d_ss_scc_at_selection.srdENT*06003Ar_ss_selection_report.dwoENT*060093Ad_ss_scc_at_selection.dwoENT*0600 TO5r_ss_selection_report.srdENT*0600 5w9&d_ss_processes_at_device.srdENT*060013Ar_ss_source_data.dwoENT*060093Ad_ss_processes_at_device.dwoENT*0600,iJ5r_ss_source_data.srdENT*0600); 5Bd_ss_hierarchy_to_county.srdENT*0600"3Ar_ss_source_sub_report.dwoENT*06003Ad_ss_hierarchy_to_county.dwoENT*0600"UO5r_ss_source_sub_report.srdENT*0600P%~ 55d_ss_group_source_criteria.srdENT*060043Ar_ss_state_data.dwoENT*0600|B%3Ad_ss_group_source_criteria.dwoENT*0600Dk iJ5r_ss_state_data.srdENT*0600V#U+.6d_ss_group_result_set_ora.srdENT*0600PW-b?u_class_source_group.sruENT*0600.&3Ad_ss_group_result_set_ora.dwoENT*0600vMAu_class_source_group.udoENT*0600u# 50d_ss_group_result_set.srdENT*06002!-b?#u_class_ss_client.sruENT*0600%3Ad_ss_group_result_set.dwoENT*0600/F6+d_ss_group_data.srdNOD*0 8ENT*0600fISFb?w_source_selector.srwENT*0600VNAw_source_selector.winENT*0600 &-b?.w_test_client.srwENT*0600[NAw_test_client.winNOD* ENT*0600p k-w9$d_ss_devices_at_source.srdENT*0600^!3Ad_ss_devices_at_source.dwoENT*0600D >-w9d_ss_client_result.srdENT*0600(3Ad_ss_client_result.dwoENT*0600|3Ad_ss_group_data.dwoDAT**PDW0800pdwPlVW```` F$nnaaDAT*, @HTE`DAT*. < $0% ArialArial$ 2$ -9$700$ 16777215$ 9$4$DAT*0<60$V393%StateState`%  "$Z411$!V393%#$CountyCounty`- &(*$'.814$)DAT*2942%+, Source Name Source Name`5% .02$/1765$1133%34TypeType`=- 68:$7r1906$9? 288%;DAT*4< SIC Code SIC Code`E5 >@B$?2203$A>283%CD SCC Code SCC Code`=F KMOQ< G I$H-12$JDAT*6400$L" 2496$NL76$P0219%RS Source Id Source Id$U 536870912@T@HTXgYWZ ]_ac fDAT*8 state_name< [ I$\-8$^ 9$`@64$bV393&de [general] [general]nXhWZ i_kc m county_name$jZ411DAT*:$lV393ugoWZ p_rc t source_name$q.814$s942|nvWZ w_yc { source_type$x1765$zDAT*<133u}WZ ~_c sic_code$r1906$? 288|WZ _c scc_code$2203$>DAT*>283WZ c source_id$" 2496$0$856$0219@TDAT*@X3g3 n3uDAT*B| Dgeal_nationArrayal_stateArrayal_countyArrayal_sourceArrayal_sourceSub1Arrayal_sourceSub2Arrayal_sourceSub3Arrayal_sourceSub4Array state_namev_rap_ss_scc.state_nameX county_nameDAT*v_rap_ss_scc.county_nameg source_idv_rap_ss_scc.source_id source_namev_rap_ss_scc.source_namen source_typev_rap_ss_scc.source_typeu sic_codev_rap_ss_scc.sic_code| scc_codev_rap_ss_scc.scc_codeSELECT v_rap_ss_scc.state_name, v_rap_ss_scc.county_name, v_rap_ss_scc.source_id, v_rap_ss_scc.source_name, v_rap_ss_scc.souDAT*FTEST Client Window Reportrelease 6; datawindow(units=0 timer_interval=0 color=16777215 processing=1 print.documentname="" print.orientation = 0 print.margin.left = 110 print.margin.right = 110 print.margin.top = 97 print.margin.bottom = 97 print.paper.source = 0 print.paper.size = 0 print.prompt=no print.buttons=no print.preview.buttons=no grid.lines=0 ) header(height=72 color="536870912" ) summary(height=0 color="536870912" ) footer(height=0 color="536870912" ) detail(height=72 color="536870DAT*H912" ) table(column=(type=char(50) updatewhereclause=yes name=state_name dbname="v_rap_ss_scc.state_name" ) column=(type=char(50) updatewhereclause=yes name=county_name dbname="v_rap_ss_scc.county_name" ) column=(type=char(10) updatewhereclause=yes name=source_id dbname="v_rap_ss_scc.source_id" ) column=(type=char(50) updatewhereclause=yes name=source_name dbname="v_rap_ss_scc.source_name" ) column=(type=char(1) updatewhereclause=yes name=source_type dbname="v_rap_ss_scc.source_type" ) DAT*Jcolumn=(type=char(4) updatewhereclause=yes name=sic_code dbname="v_rap_ss_scc.sic_code" ) column=(type=char(10) updatewhereclause=yes name=scc_code dbname="v_rap_ss_scc.scc_code" ) retrieve="SELECT v_rap_ss_scc.state_name, v_rap_ss_scc.county_name, v_rap_ss_scc.source_id, v_rap_ss_scc.source_name, v_rap_ss_scc.source_type, v_rap_ss_scc.sic_code, v_rap_ss_scc.scc_code FROM v_rap_ss_scc WHERE 1 = 1 ORDER BY v_rap_ss_scc.state_name ASC, v_rap_ss_scc.counDAT*Lty_name ASC, v_rap_ss_scc.source_id ASC, v_rap_ss_scc.scc_code ASC " arguments=(("al_nationArray", numberlist),("al_stateArray", numberlist),("al_countyArray", numberlist),("al_sourceArray", numberlist),("al_sourceSub1Array", numberlist),("al_sourceSub2Array", numberlist),("al_sourceSub3Array", numberlist),("al_sourceSub4Array", numberlist)) ) text(band=header alignment="0" text="State"border="0" color="0" x="9" y="4" height="60" width="393" font.face="Arial" font.height="-9" font.weDAT*Night="700" font.family="2" font.pitch="2" font.charset="0" background.mode="2" background.color="16777215" ) text(band=header alignment="0" text="County"border="0" color="0" x="411" y="4" height="60" width="393" font.face="Arial" font.height="-9" font.weight="700" font.family="2" font.pitch="2" font.charset="0" background.mode="2" background.color="16777215" ) text(band=header alignment="0" text="Source Name"border="0" color="0" x="814" y="4" height="60" width="942" font.face="Arial" font.heDAT*Pight="-9" font.weight="700" font.family="2" font.pitch="2" font.charset="0" background.mode="2" background.color="16777215" ) text(band=header alignment="0" text="Type"border="0" color="0" x="1765" y="4" height="60" width="133" font.face="Arial" font.height="-9" font.weight="700" font.family="2" font.pitch="2" font.charset="0" background.mode="2" background.color="16777215" ) text(band=header alignment="0" text="SIC Code"border="0" color="0" x="1906" y="4" height="60" width="288" font.face="DAT*RArial" font.height="-9" font.weight="700" font.family="2" font.pitch="2" font.charset="0" background.mode="2" background.color="16777215" ) text(band=header alignment="0" text="SCC Code"border="0" color="0" x="2203" y="4" height="60" width="283" font.face="Arial" font.height="-9" font.weight="700" font.family="2" font.pitch="2" font.charset="0" background.mode="2" background.color="16777215" ) column(band=detail id=1 alignment="0" tabsequence=32766 border="0" color="0" x="9" y="4" height="64"DAT*T width="393" format="[general]" name=state_name edit.limit=0 edit.case=any edit.autoselect=yes font.face="Arial" font.height="-8" font.weight="400" font.family="2" font.pitch="2" font.charset="0" background.mode="2" background.color="16777215" ) column(band=detail id=2 alignment="0" tabsequence=32766 border="0" color="0" x="411" y="4" height="64" width="393" format="[general]" name=county_name edit.limit=0 edit.case=any edit.autoselect=yes font.face="Arial" font.height="-8" font.weight="400"DAT*V font.family="2" font.pitch="2" font.charset="0" background.mode="2" background.color="16777215" ) column(band=detail id=4 alignment="0" tabsequence=32766 border="0" color="0" x="814" y="4" height="64" width="942" format="[general]" name=source_name edit.limit=0 edit.case=any edit.autoselect=yes font.face="Arial" font.height="-8" font.weight="400" font.family="2" font.pitch="2" font.charset="0" background.mode="2" background.color="16777215" ) column(band=detail id=5 alignment="0" tabsequencDAT*Xe=32766 border="0" color="0" x="1765" y="4" height="64" width="133" format="[general]" name=source_type edit.limit=0 edit.case=any edit.autoselect=yes font.face="Arial" font.height="-8" font.weight="400" font.family="2" font.pitch="2" font.charset="0" background.mode="2" background.color="16777215" ) column(band=detail id=6 alignment="0" tabsequence=32766 border="0" color="0" x="1906" y="4" height="64" width="288" format="[general]" name=sic_code edit.limit=0 edit.case=any edit.autoselect=yesDAT*Z font.face="Arial" font.height="-8" font.weight="400" font.family="2" font.pitch="2" font.charset="0" background.mode="2" background.color="16777215" ) column(band=detail id=7 alignment="0" tabsequence=32766 border="0" color="0" x="2203" y="4" height="64" width="283" format="[general]" name=scc_code edit.limit=0 edit.case=any edit.autoselect=yes font.face="Arial" font.height="-8" font.weight="400" font.family="2" font.pitch="2" font.charset="0" background.mode="2" background.color="16777215"DAT*\ ) column(band=detail id=3 alignment="0" tabsequence=0 border="0" color="0" x="2501" y="0" height="56" width="219" name=source_id font.face="Arial" font.height="-8" font.weight="400" font.family="2" font.pitch="2" font.charset="0" background.mode="2" background.color="16777215" ) text(band=header alignment="0" text="Source Id"border="0" color="0" x="2496" y="4" height="76" width="224" font.face="Arial" font.height="-12" font.weight="400" font.family="2" font.pitch="2" font.charset="0" backgDAT*round.mode="2" background.color="16777215" ) htmltable(border="1" cellpadding="0" cellspacing="0" generatecss="no" nowrap="yes") DAT*`PDW0800epdwPlO/0N````$ F$ennaaDAT*b^ @X-%`DAT*d < $0% ArialArial$ 2$ -12$400$ 16777215$ 9$4$DAT*fL76$^430% device_rid device_rid`%  "$b448$!649%#$ device_id device_id` &(*$'R1106$DAT*h)~1746%+, device_name device_name$. 536870912@-@T-1G=20 3579 <rid$4 9$60$DAT*j8^430&:; [general] [general]G1>0 ?5AC Fid$@b448$B649&DE [general] [general]=H0 I5KC DAT*lMname$JR1106$L~1746@-PR]DAT*nV1TU Y=WX\GZ[3 Q:an_source_rid  0San_source_ridridrap_devices.rid1idrap_devices.id=namerap_devices.nameG$PBSELECT( VERSION(400) TABLE(NAME="rap_devices" ) COLUMN(NAMEDAT*q="rap_devices.rid") COLUMN(NAME="rap_devices.id") COLUMN(NAME="rap_devices.name")WHERE( EXP1 ="rap_devices.source_rid" OP ="=" EXP2 =" " ) ) ORDER(NAME="rap_devices.id" ASC=yes ) ARG(NAME = "an_source_rid" TYPE = number) _ac"`no"byes$d1DAT*rSelect devices at a specific source.release 6; datawindow(units=0 timer_interval=0 color=16777215 processing=1 print.documentname="" print.orientation = 0 print.margin.left = 110 print.margin.right = 110 print.margin.top = 97 print.margin.bottom = 97 print.paper.source = 0 print.paper.size = 0 print.prompt=no print.buttons=no print.preview.buttons=no grid.lines=0 ) header(height=88 color="536870912" ) summary(height=0 color="536870912" ) footer(height=0 color="536870912" ) detail(height=84 coDAT*tlor="536870912" ) table(column=(type=decimal(0) updatewhereclause=yes name=rid dbname="rap_devices.rid" ) column=(type=char(15) updatewhereclause=yes name=id dbname="rap_devices.id" ) column=(type=char(50) updatewhereclause=yes name=name dbname="rap_devices.name" ) retrieve="PBSELECT( VERSION(400) TABLE(NAME=~"rap_devices~" ) COLUMN(NAME=~"rap_devices.rid~") COLUMN(NAME=~"rap_devices.id~") COLUMN(NAME=~"rap_devices.name~")WHERE( EXP1 =~"rap_devices.source_rid~" OP =~"=~" EXP2 =~" :aDAT*vn_source_rid~" ) ) ORDER(NAME=~"rap_devices.id~" ASC=yes ) ARG(NAME = ~"an_source_rid~" TYPE = number) " arguments=(("an_source_rid", number)) ) text(band=header alignment="0" text="device_rid"border="0" color="0" x="9" y="4" height="76" width="430" font.face="Arial" font.height="-12" font.weight="400" font.family="2" font.pitch="2" font.charset="0" background.mode="2" background.color="16777215" ) text(band=header alignment="0" text="device_id"border="0" color="0" x="448" y="4" height="76" wiDAT*xdth="649" font.face="Arial" font.height="-12" font.weight="400" font.family="2" font.pitch="2" font.charset="0" background.mode="2" background.color="16777215" ) text(band=header alignment="0" text="device_name"border="0" color="0" x="1106" y="4" height="76" width="1746" font.face="Arial" font.height="-12" font.weight="400" font.family="2" font.pitch="2" font.charset="0" background.mode="2" background.color="16777215" ) column(band=detail id=1 alignment="0" tabsequence=32766 border="0" colorDAT*z="0" x="9" y="0" height="76" width="430" format="[general]" name=rid edit.limit=0 edit.case=any edit.autoselect=yes font.face="Arial" font.height="-12" font.weight="400" font.family="2" font.pitch="2" font.charset="0" background.mode="2" background.color="16777215" ) column(band=detail id=2 alignment="0" tabsequence=32766 border="0" color="0" x="448" y="0" height="76" width="649" format="[general]" name=id edit.limit=0 edit.case=any edit.autoselect=yes font.face="Arial" font.height="-12" fonDAT*4 t.weight="400" font.family="2" font.pitch="2" font.charset="0" background.mode="2" background.color="16777215" ) column(band=detail id=3 alignment="0" tabsequence=32766 border="0" color="0" x="1106" y="0" height="76" width="1746" format="[general]" name=name edit.limit=0 edit.case=any edit.autoselect=yes font.face="Arial" font.height="-12" font.weight="400" font.family="2" font.pitch="2" font.charset="0" background.mode="2" background.color="16777215" ) htmltable(border="1" cellpadding="0" cDAT*~PDW0800pdwPled````- F$nnaaDAT*} @@DAT*$ 536870912@``&  !# group_name_t< $ 0% MS Sans SerifMS Sans Serif$2$DAT*-8$700$1$ 553648127$8388608$18$$36$ @64$"530%$% Group Name: Group Name:?'(0 24 68DAT* 0; group_name< ),.%*+ArialArial$--10$/400$1 16777215$3I585$51243$75&9: [general] [general]<=>DAT* d_ss_group_dddw group_name group_name`F&@  A!C group_desc_t$B132%DEGroup Description:Group Description:K?G(0 2AH4 68 J@ group_desc$I160`RFDAT*L  M!O data_level_t$ND324%PQ Data Level: Data Level:YKS(0 2MT6V data_level$U512&WX [General] [General]``RZ DAT* [!]filter_logic_t$\420%^_Filter Logic:Filter Logic:Ya  2[b V(@ filter_logic$c439@fhkjDAT*|@lm p&no@sFqrA@vRtuwDAT* @z`xy{ @ g:as_groupName i as_groupNamerap_group_data group_ridrap_group_data.group_rid group_namerap_group_data.group_name& group_descrap_group_data.group_descF data_levelrap_group_data.data_levelR7Nation 1/State 2/County 3/Source 4/Device 5/Process 6/ filter_logicrap_grouDAT*p_data.filter_logic` OR 0/AND 1/sPBSELECT( VERSION(400) TABLE(NAME="rap_group_data" ) COLUMN(NAME="rap_group_data.group_rid") COLUMN(NAME="rap_group_data.group_name") COLUMN(NAME="rap_group_data.group_desc") COLUMN(NAME="rap_group_data.data_level") COLUMN(NAME="rap_group_data.filter_logic")WHERE( EXP1 ="rap_group_data.group_name" OP ="=" EXP2 ="" ) ) ARG(NAME = "as_groupName" TYPE = string) ~ "no"DAT*yesDAT*Group data set used by u_class_source_grouprelease 6; datawindow(units=0 timer_interval=0 color=79741120 processing=0 print.documentname="" print.orientation = 0 print.margin.left = 110 print.margin.right = 110 print.margin.top = 97 print.margin.bottom = 97 print.paper.source = 0 print.paper.size = 0 print.prompt=no print.buttons=no print.preview.buttons=no ) summary(height=0 color="536870912" ) footer(height=0 color="536870912" ) detail(height=520 color="536870912" ) table(column=(type=decimDAT*al(0) update=yes updatewhereclause=yes key=yes name=group_rid dbname="rap_group_data.group_rid" ) column=(type=char(24) update=yes updatewhereclause=yes name=group_name dbname="rap_group_data.group_name" ) column=(type=char(64) update=yes updatewhereclause=yes name=group_desc dbname="rap_group_data.group_desc" ) column=(type=decimal(0) update=yes updatewhereclause=yes name=data_level dbname="rap_group_data.data_level" values="Nation 1/State 2/County 3/Source 4/Device 5/Process 6/" ) columnDAT*=(type=decimal(0) update=yes updatewhereclause=yes name=filter_logic dbname="rap_group_data.filter_logic" values="OR 0/AND 1/" ) retrieve="PBSELECT( VERSION(400) TABLE(NAME=~"rap_group_data~" ) COLUMN(NAME=~"rap_group_data.group_rid~") COLUMN(NAME=~"rap_group_data.group_name~") COLUMN(NAME=~"rap_group_data.group_desc~") COLUMN(NAME=~"rap_group_data.data_level~") COLUMN(NAME=~"rap_group_data.filter_logic~")WHERE( EXP1 =~"rap_group_data.group_name~" OP =~"=~" EXP2 =~":as_groupName~" ) ) ARDAT*G(NAME = ~"as_groupName~" TYPE = string) " update="rap_group_data" updatewhere=2 updatekeyinplace=yes arguments=(("as_groupName", string)) ) text(band=detail alignment="1" text="Group Name:"border="0" color="8388608" x="18" y="36" height="64" width="530" name=group_name_t font.face="MS Sans Serif" font.height="-8" font.weight="700" font.family="2" font.pitch="2" font.charset="0" background.mode="1" background.color="553648127" ) column(band=detail id=2 alignment="0" tabsequence=10 border="5" DAT*color="0" x="585" y="36" height="64" width="1243" format="[general]" name=group_name dddw.name=d_ss_group_dddw dddw.displaycolumn=group_name dddw.datacolumn=group_name dddw.percentwidth=170 dddw.lines=10 dddw.limit=24 dddw.allowedit=yes dddw.useasborder=yes dddw.case=upper dddw.vscrollbar=yes font.face="Arial" font.height="-10" font.weight="400" font.family="2" font.pitch="2" font.charset="0" background.mode="2" background.color="16777215" ) text(band=detail alignment="1" text="Group DescriptiDAT*on:"border="0" color="8388608" x="18" y="132" height="64" width="530" name=group_desc_t font.face="MS Sans Serif" font.height="-8" font.weight="700" font.family="2" font.pitch="2" font.charset="0" background.mode="1" background.color="553648127" ) column(band=detail id=3 alignment="0" tabsequence=20 border="5" color="0" x="585" y="132" height="160" width="1243" format="[general]" name=group_desc edit.limit=64 edit.case=any edit.focusrectangle=no edit.autoselect=yes font.face="Arial" font.heiDAT*ght="-10" font.weight="400" font.family="2" font.pitch="2" font.charset="0" background.mode="2" background.color="16777215" ) text(band=detail alignment="1" text="Data Level:"border="0" color="8388608" x="18" y="324" height="64" width="530" name=data_level_t font.face="MS Sans Serif" font.height="-8" font.weight="700" font.family="2" font.pitch="2" font.charset="0" background.mode="1" background.color="553648127" ) column(band=detail id=4 alignment="1" tabsequence=30 border="5" color="0" x="DAT*585" y="324" height="64" width="512" format="[General]" name=data_level ddlb.limit=0 ddlb.allowedit=no ddlb.case=any ddlb.vscrollbar=yes ddlb.useasborder=yes font.face="Arial" font.height="-10" font.weight="400" font.family="2" font.pitch="2" font.charset="0" background.mode="2" background.color="16777215" ) text(band=detail alignment="1" text="Filter Logic:"border="0" color="8388608" x="18" y="420" height="64" width="530" name=filter_logic_t font.face="MS Sans Serif" font.height="-8" font.wDAT*eight="700" font.family="2" font.pitch="2" font.charset="0" background.mode="1" background.color="553648127" ) column(band=detail id=5 alignment="1" tabsequence=40 border="0" color="0" x="585" y="420" height="64" width="439" format="[General]" name=filter_logic radiobuttons.columns=2 radiobuttons.scale=no radiobuttons.threed=yes font.face="MS Sans Serif" font.height="-8" font.weight="700" font.family="2" font.pitch="2" font.charset="0" background.mode="1" background.color="553648127" ) htmltDAT*Pable(border="1" cellpadding="0" cellspacing="0" generatecss="no" nowrap="yes") DAT*PDW0800PpdwPl@)*?```` F$PnnaaDAT* @I ` DAT* group_name_t< $0%  ArialArial$ 2$-8$700$1$ 536870912$ 9DAT*$4$A65$686%GroupGroup`!"$& group_desc_t$#704$%&@1344%'( Description Description@@IDAT*+88,*-024(7@ group_desc< .$/400$1704$3&A1345&56 [general] [general]+9*DAT*:<4(> group_name$; 9$=686@ACKLDAT*G8EFJ+HIA ouB:al_rid 68Dal_rid group_namerap_group_data.group_name8 group_descrap_group_data.group_desc+"PBSELECT( VERSION(400) TABLE(NAME="rap_group_data" ) COLUMN(NAME="rap_group_data.group_naDAT*me") COLUMN(NAME="rap_group_data.group_desc")WHERE( EXP1 ="rap_group_data.group_rid" OP ="<>" EXP2 ="" ) ) ORDER(NAME="rap_group_data.group_name" ASC=yes ) ARG(NAME = "al_rid" TYPE = number) M NO (empty list) (no groups have been retrieved)DAT*A list of saved groupsrelease 5; datawindow(units=0 timer_interval=0 color=16777215 processing=1 print.documentname="" print.orientation = 0 print.margin.left = 110 print.margin.right = 110 print.margin.top = 97 print.margin.bottom = 97 print.paper.source = 0 print.paper.size = 0 print.prompt=no grid.lines=0 ) header(height=73 color="536870912" ) summary(height=1 color="536870912" ) footer(height=1 color="536870912" ) detail(height=73 color="536870912" ) table(column=(type=char(24) updatewheDAT*reclause=yes name=group_name dbname="rap_group_data.group_name" ) column=(type=char(64) updatewhereclause=yes name=group_desc dbname="rap_group_data.group_desc" ) retrieve="PBSELECT( VERSION(400) TABLE(NAME=~"rap_group_data~" ) COLUMN(NAME=~"rap_group_data.group_name~") COLUMN(NAME=~"rap_group_data.group_desc~")WHERE( EXP1 =~"rap_group_data.group_rid~" OP =~"<>~" EXP2 =~":al_rid~" ) ) ORDER(NAME=~"rap_group_data.group_name~" ASC=yes ) ARG(NAME = ~"al_rid~" TYPE = number) " arguments=((DAT*"al_rid", number)) ) data("(empty list)","(no groups have been retrieved)",) text(band=header alignment="0" text="Group"border="0" color="0" x="10" y="4" height="65" width="686" name=group_name_t font.face="Arial" font.height="-8" font.weight="700" font.family="2" font.pitch="2" font.charset="0" background.mode="1" background.color="536870912" ) text(band=header alignment="0" text="Description"border="0" color="0" x="705" y="4" height="65" width="1345" name=group_desc_t font.face="Arial" DAT*font.height="-8" font.weight="700" font.family="2" font.pitch="2" font.charset="0" background.mode="1" background.color="536870912" ) column(band=detail id=2 alignment="0" tabsequence=32766 border="0" color="0" x="705" y="4" height="65" width="1345" format="[general]" name=group_desc edit.limit=64 edit.case=any edit.focusrectangle=no edit.autoselect=yes edit.autohscroll=yes font.face="Arial" font.height="-8" font.weight="400" font.family="2" font.pitch="2" font.charset="0" background.mode="1"DAT* background.color="536870912" ) column(band=detail id=1 alignment="0" tabsequence=32766 border="0" color="0" x="10" y="4" height="65" width="686" format="[general]" name=group_name edit.limit=24 edit.case=any edit.focusrectangle=no edit.autoselect=yes edit.autohscroll=yes font.face="Arial" font.height="-8" font.weight="700" font.family="2" font.pitch="2" font.charset="0" background.mode="1" background.color="536870912" ) DAT*PDW0800dpdwPlS23R```` F$dnnaaDAT* @I)` DAT*filter_value_t< $0%  ArialArial$ 2$-8$700$1$ 536870912$66DAT*7$4$A65$F@320% Filter Value Filter Value`)!"$& group_rid_t$# 9$%F@320%'( Group Rid Group Rid` *+DAT*-/filter_name_t$,JR338$.F@320%01 Filter Name Filter Name@@I4HA5369;=(@ filter_value< DAT*7$8400$:667$<FA321&>? [general] [general]H4B36CE=(G filter_name$DJR338$FFA321AI3DAT*6JLN(Q group_rid$K 9$MFA321&OP [General] [General]@TVYXcDAT*\HZ[ _A]^!b4`a! _sUy :al_grouprid _sW al_groupridrap_group_filter_criteria group_rid$rap_group_filter_crDAT* iteria.group_ridH filter_name&rap_group_filter_criteria.filter_nameA filter_value'rap_group_filter_criteria.filter_value4WPBSELECT( VERSION(400) TABLE(NAME="rap_group_filter_criteria" ) COLUMN(NAME="rap_group_filter_criteria.group_rid") COLUMN(NAME="rap_group_filter_criteria.filter_name") COLUMN(NAME="rap_group_filter_criteria.filter_value")WHERE( EXP1 ="rap_group_filter_criteria.group_rid" OP ="=" EXP2 ="" ) ) ADAT*Filter Criteria data set used by u_class_source_grouprelease 5; datawindow(units=0 timer_interval=0 color=16777215 processing=1 print.documentname="" print.orientation = 0 print.margin.left = 110 print.margin.right = 110 print.margin.top = 97 print.margin.bottom = 97 print.paper.source = 0 print.paper.size = 0 print.prompt=no grid.lines=0 ) header(height=73 color="536870912" ) summary(height=1 color="536870912" ) footer(height=1 color="536870912" ) detail(height=73 color="536870912" ) table(DAT*column=(type=decimal(0) update=yes updatewhereclause=yes key=yes name=group_rid dbname="rap_group_filter_criteria.group_rid" ) column=(type=char(32) update=yes updatewhereclause=yes key=yes name=filter_name dbname="rap_group_filter_criteria.filter_name" ) column=(type=char(32) update=yes updatewhereclause=yes key=yes name=filter_value dbname="rap_group_filter_criteria.filter_value" ) retrieve="PBSELECT( VERSION(400) TABLE(NAME=~"rap_group_filter_criteria~" ) COLUMN(NAME=~"rap_group_filter_crDAT*iteria.group_rid~") COLUMN(NAME=~"rap_group_filter_criteria.filter_name~") COLUMN(NAME=~"rap_group_filter_criteria.filter_value~")WHERE( EXP1 =~"rap_group_filter_criteria.group_rid~" OP =~"=~" EXP2 =~":al_grouprid~" ) ) ARG(NAME = ~"al_grouprid~" TYPE = number) " update="rap_group_filter_criteria" updatewhere=2 updatekeyinplace=no arguments=(("al_grouprid", number)) ) text(band=header alignment="0" text="Filter Value"border="0" color="0" x="668" y="4" height="65" width="321" name=filter_DAT*value_t font.face="Arial" font.height="-8" font.weight="700" font.family="2" font.pitch="2" font.charset="0" background.mode="1" background.color="536870912" ) text(band=header alignment="0" text="Group Rid"border="0" color="0" x="10" y="4" height="65" width="321" name=group_rid_t font.face="Arial" font.height="-8" font.weight="700" font.family="2" font.pitch="2" font.charset="0" background.mode="1" background.color="536870912" ) text(band=header alignment="0" text="Filter Name"border="0" cDAT*olor="0" x="339" y="4" height="65" width="321" name=filter_name_t font.face="Arial" font.height="-8" font.weight="700" font.family="2" font.pitch="2" font.charset="0" background.mode="1" background.color="536870912" ) column(band=detail id=3 alignment="0" tabsequence=32766 border="0" color="0" x="668" y="4" height="65" width="321" format="[general]" name=filter_value edit.limit=32 edit.case=any edit.focusrectangle=no edit.autoselect=yes edit.autohscroll=yes font.face="Arial" font.height="-8"DAT* font.weight="400" font.family="2" font.pitch="2" font.charset="0" background.mode="1" background.color="536870912" ) column(band=detail id=2 alignment="0" tabsequence=32766 border="0" color="0" x="339" y="4" height="65" width="321" format="[general]" name=filter_name edit.limit=32 edit.case=any edit.focusrectangle=no edit.autoselect=yes edit.autohscroll=yes font.face="Arial" font.height="-8" font.weight="400" font.family="2" font.pitch="2" font.charset="0" background.mode="1" background.coloDAT*r="536870912" ) column(band=detail id=1 alignment="0" tabsequence=32766 border="0" color="0" x="10" y="4" height="65" width="321" format="[General]" name=group_rid edit.limit=0 edit.case=any edit.focusrectangle=no edit.autoselect=yes edit.autohscroll=yes font.face="Arial" font.height="-8" font.weight="400" font.family="2" font.pitch="2" font.charset="0" background.mode="1" background.color="536870912" ) DAT*PDW0800pdwPlgh```` F$ nnaaDAT* @Ie]`DAT* < $0% ArialArial$ 2$ -8$700$ 15793151$997$4$DAT*957$F@320% County Rid County Rid`%  "$".1326$!F@320%#$ Source Rid Source Rid`- &(*$'jw1655DAT*$)F@320%+, Source Type Source Type`5% .02$/1984$1F@320%34Source Sub1 RidSource Sub1 Rid`=- 68:$7 2313$9DAT*F@320%;<Source Sub2 RidSource Sub2 Rid`E5 >@B$?BR 2642$AF@320%CDSource Sub3 RidSource Sub3 Rid`M= FHJ$G 2971$IDAT*F@320%KLSource Sub4 RidSource Sub4 Rid`UE NPR$O 9$QF@320%ST Group Rid Group Rid`]M VXZ$WJR338$YF@320DAT*%[\ Nation Rid Nation Rid`U ^`b$_667$aF@320%cd State Rid State Rid$f 536870912@e@IeixjhDAT*k nprt d wsource_sub4_rid< l$m400$o 2971$qA65$sFA321&uv [general] [general]iyhk zp|DAT*t2 ~ source_rid${".1326$}FA321xhk p< source_type$jw1655$FA321& [general] [general]hDAT*k ptF source_sub1_rid$1984$FA321hk ptP source_sub2_rid$ 2313$FA321hDAT*k pt  group_rid$ 9$FA321hk pt Z source_sub3_rid$BR 2642$FA321hk DAT*pt nation_rid$JR338$FA321hk pt state_rid$667$FA321hk DAT*pt( county_rid$997$FA321@e DAT*    x DAT*   i  T geal_nationArrayal_stateArrayal_countyArrayal_sourceArrayal_sourceSub1Arrayal_sourceSub2Arrayal_sourceSub3Arrayal_sourceSub4Array as_sicArray as_sccArray DAT*group_rid group_rid nation_ridv_rap_ss_scc.nation_rid state_ridv_rap_ss_scc.state_rid county_ridv_rap_ss_scc.county_rid source_ridv_rap_ss_scc.source_ridx source_typev_rap_ss_scc.source_typesource_sub1_ridv_rap_ss_scc.source_sub1_ridsource_sub2_ridv_rap_ss_scc.source_sub2_ridDAT*source_sub3_ridsource_sub3_ridsource_sub4_ridsource_sub4_ridiPBSELECT( VERSION(400) TABLE(NAME="v_rap_ss_scc" ) COMPUTE(NAME="group_rid = cast(null as decimal(20,0))") COLUMN(NAME="v_rap_ss_scc.nation_rid") COLUMN(NAME="v_rap_ss_scc.state_rid") COLUMN(NAME="v_rap_ss_scc.county_rid") COLUMN(NAME="v_rap_ss_scc.source_rid") COLUMN(NAME="v_rap_ss_scc.source_type") COLUMN(NAME="v_rap_ss_scc.source_sub1_rid") COLUMN(NAME="v_rap_ss_scc.sDAT*ource_sub2_rid") COMPUTE(NAME="source_sub3_rid = cast(null as decimal(20,0))") COMPUTE(NAME="source_sub4_rid = cast(null as decimal(20,0))")WHERE( EXP1 ="1" OP ="=" EXP2 ="1" ) ) ARG(NAME = "al_nationArray" TYPE = numberlist) ARG(NAME = "al_stateArray" TYPE = numberlist) ARG(NAME = "al_countyArray" TYPE = numberlist) ARG(NAME = "al_sourceArray" TYPE = numberlist) ARG(NAME = "al_sourceSub1Array" TYPE = numberlist) ARG(NAME = "al_sourceSub2Array" TYPE = numberlist) ARG(NAME = "al_sourcDAT* Result Set data set used by u_class_source_grouprelease 5; datawindow(units=0 timer_interval=0 color=15793151 processing=1 print.documentname="" print.orientation = 0 print.margin.left = 110 print.margin.right = 110 print.margin.top = 97 print.margin.bottom = 97 print.paper.source = 0 print.paper.size = 0 print.prompt=no grid.lines=0 ) header(height=73 color="536870912" ) summary(height=1 color="536870912" ) footer(height=1 color="536870912" ) detail(height=73 color="536870912" ) table(columDAT* n=(type=decimal(0) updatewhereclause=yes name=group_rid dbname="group_rid" ) column=(type=decimal(0) updatewhereclause=yes name=nation_rid dbname="v_rap_ss_scc.nation_rid" ) column=(type=decimal(0) updatewhereclause=yes name=state_rid dbname="v_rap_ss_scc.state_rid" ) column=(type=decimal(0) updatewhereclause=yes name=county_rid dbname="v_rap_ss_scc.county_rid" ) column=(type=decimal(0) updatewhereclause=yes name=source_rid dbname="v_rap_ss_scc.source_rid" ) column=(type=char(1) updatewhDAT*ereclause=yes name=source_type dbname="v_rap_ss_scc.source_type" ) column=(type=decimal(0) updatewhereclause=yes name=source_sub1_rid dbname="v_rap_ss_scc.source_sub1_rid" ) column=(type=decimal(0) updatewhereclause=yes name=source_sub2_rid dbname="v_rap_ss_scc.source_sub2_rid" ) column=(type=decimal(0) updatewhereclause=yes name=source_sub3_rid dbname="source_sub3_rid" ) column=(type=decimal(0) updatewhereclause=yes name=source_sub4_rid dbname="source_sub4_rid" ) retrieve="PBSELECT( VERDAT*SION(400) TABLE(NAME=~"v_rap_ss_scc~" ) COMPUTE(NAME=~"group_rid = cast(null as decimal(20,0))~") COLUMN(NAME=~"v_rap_ss_scc.nation_rid~") COLUMN(NAME=~"v_rap_ss_scc.state_rid~") COLUMN(NAME=~"v_rap_ss_scc.county_rid~") COLUMN(NAME=~"v_rap_ss_scc.source_rid~") COLUMN(NAME=~"v_rap_ss_scc.source_type~") COLUMN(NAME=~"v_rap_ss_scc.source_sub1_rid~") COLUMN(NAME=~"v_rap_ss_scc.source_sub2_rid~") COMPUTE(NAME=~"source_sub3_rid = cast(null as decimal(20,0))~") COMPUTE(NAME=~"source_sub4_rid = cast(null DAT*as decimal(20,0))~")WHERE( EXP1 =~"1~" OP =~"=~" EXP2 =~"1~" ) ) ARG(NAME = ~"al_nationArray~" TYPE = numberlist) ARG(NAME = ~"al_stateArray~" TYPE = numberlist) ARG(NAME = ~"al_countyArray~" TYPE = numberlist) ARG(NAME = ~"al_sourceArray~" TYPE = numberlist) ARG(NAME = ~"al_sourceSub1Array~" TYPE = numberlist) ARG(NAME = ~"al_sourceSub2Array~" TYPE = numberlist) ARG(NAME = ~"al_sourceSub3Array~" TYPE = numberlist) ARG(NAME = ~"al_sourceSub4Array~" TYPE = numberlist) ARG(NAME = ~"aDAT*s_sicArray~" TYPE = stringlist) ARG(NAME = ~"as_sccArray~" TYPE = stringlist) " arguments=(("al_nationArray", numberlist),("al_stateArray", numberlist),("al_countyArray", numberlist),("al_sourceArray", numberlist),("al_sourceSub1Array", numberlist),("al_sourceSub2Array", numberlist),("al_sourceSub3Array", numberlist),("al_sourceSub4Array", numberlist),("as_sicArray", stringlist),("as_sccArray", stringlist)) ) text(band=header alignment="0" text="County Rid"border="0" color="0" x="997" y="4" heigDAT*ht="57" width="321" font.face="Arial" font.height="-8" font.weight="700" font.family="2" font.pitch="2" font.charset="0" background.mode="2" background.color="15793151" ) text(band=header alignment="0" text="Source Rid"border="0" color="0" x="1326" y="4" height="57" width="321" font.face="Arial" font.height="-8" font.weight="700" font.family="2" font.pitch="2" font.charset="0" background.mode="2" background.color="15793151" ) text(band=header alignment="0" text="Source Type"border="0" color=DAT*"0" x="1655" y="4" height="57" width="321" font.face="Arial" font.height="-8" font.weight="700" font.family="2" font.pitch="2" font.charset="0" background.mode="2" background.color="15793151" ) text(band=header alignment="0" text="Source Sub1 Rid"border="0" color="0" x="1985" y="4" height="57" width="321" font.face="Arial" font.height="-8" font.weight="700" font.family="2" font.pitch="2" font.charset="0" background.mode="2" background.color="15793151" ) text(band=header alignment="0" text="SDAT*ource Sub2 Rid"border="0" color="0" x="2314" y="4" height="57" width="321" font.face="Arial" font.height="-8" font.weight="700" font.family="2" font.pitch="2" font.charset="0" background.mode="2" background.color="15793151" ) text(band=header alignment="0" text="Source Sub3 Rid"border="0" color="0" x="2643" y="4" height="57" width="321" font.face="Arial" font.height="-8" font.weight="700" font.family="2" font.pitch="2" font.charset="0" background.mode="2" background.color="15793151" ) text(bDAT*and=header alignment="0" text="Source Sub4 Rid"border="0" color="0" x="2972" y="4" height="57" width="321" font.face="Arial" font.height="-8" font.weight="700" font.family="2" font.pitch="2" font.charset="0" background.mode="2" background.color="15793151" ) text(band=header alignment="0" text="Group Rid"border="0" color="0" x="10" y="4" height="57" width="321" font.face="Arial" font.height="-8" font.weight="700" font.family="2" font.pitch="2" font.charset="0" background.mode="2" background.coDAT*lor="15793151" ) text(band=header alignment="0" text="Nation Rid"border="0" color="0" x="339" y="4" height="57" width="321" font.face="Arial" font.height="-8" font.weight="700" font.family="2" font.pitch="2" font.charset="0" background.mode="2" background.color="15793151" ) text(band=header alignment="0" text="State Rid"border="0" color="0" x="668" y="4" height="57" width="321" font.face="Arial" font.height="-8" font.weight="700" font.family="2" font.pitch="2" font.charset="0" background.modDAT* e="2" background.color="15793151" ) column(band=detail id=10 alignment="0" tabsequence=100 border="0" color="0" x="2972" y="4" height="65" width="321" format="[general]" name=source_sub4_rid edit.limit=0 edit.case=any edit.autoselect=yes font.face="Arial" font.height="-8" font.weight="400" font.family="2" font.pitch="2" font.charset="0" background.mode="2" background.color="15793151" ) column(band=detail id=5 alignment="0" tabsequence=50 border="0" color="0" x="1326" y="4" height="65" width="DAT*"321" format="[general]" name=source_rid edit.limit=0 edit.case=any edit.autoselect=yes font.face="Arial" font.height="-8" font.weight="400" font.family="2" font.pitch="2" font.charset="0" background.mode="2" background.color="15793151" ) column(band=detail id=6 alignment="0" tabsequence=60 border="0" color="0" x="1655" y="4" height="65" width="321" format="[general]" name=source_type edit.limit=0 edit.case=any edit.autoselect=yes font.face="Arial" font.height="-8" font.weight="400" font.famDAT*$ily="2" font.pitch="2" font.charset="0" background.mode="2" background.color="15793151" ) column(band=detail id=7 alignment="0" tabsequence=70 border="0" color="0" x="1985" y="4" height="65" width="321" format="[general]" name=source_sub1_rid edit.limit=0 edit.case=any edit.autoselect=yes font.face="Arial" font.height="-8" font.weight="400" font.family="2" font.pitch="2" font.charset="0" background.mode="2" background.color="15793151" ) column(band=detail id=8 alignment="0" tabsequence=80 borDAT*&der="0" color="0" x="2314" y="4" height="65" width="321" format="[general]" name=source_sub2_rid edit.limit=0 edit.case=any edit.autoselect=yes font.face="Arial" font.height="-8" font.weight="400" font.family="2" font.pitch="2" font.charset="0" background.mode="2" background.color="15793151" ) column(band=detail id=1 alignment="0" tabsequence=10 border="0" color="0" x="10" y="4" height="65" width="321" format="[general]" name=group_rid edit.limit=0 edit.case=any edit.autoselect=yes font.faceDAT*(="Arial" font.height="-8" font.weight="400" font.family="2" font.pitch="2" font.charset="0" background.mode="2" background.color="15793151" ) column(band=detail id=9 alignment="0" tabsequence=90 border="0" color="0" x="2643" y="4" height="65" width="321" format="[general]" name=source_sub3_rid edit.limit=0 edit.case=any edit.autoselect=yes font.face="Arial" font.height="-8" font.weight="400" font.family="2" font.pitch="2" font.charset="0" background.mode="2" background.color="15793151" ) colDAT**umn(band=detail id=2 alignment="0" tabsequence=20 border="0" color="0" x="339" y="4" height="65" width="321" format="[general]" name=nation_rid edit.limit=0 edit.case=any edit.autoselect=yes font.face="Arial" font.height="-8" font.weight="400" font.family="2" font.pitch="2" font.charset="0" background.mode="2" background.color="15793151" ) column(band=detail id=3 alignment="0" tabsequence=30 border="0" color="0" x="668" y="4" height="65" width="321" format="[general]" name=state_rid edit.limiDAT*,t=0 edit.case=any edit.autoselect=yes font.face="Arial" font.height="-8" font.weight="400" font.family="2" font.pitch="2" font.charset="0" background.mode="2" background.color="15793151" ) column(band=detail id=4 alignment="0" tabsequence=40 border="0" color="0" x="997" y="4" height="65" width="321" format="[general]" name=county_rid edit.limit=0 edit.case=any edit.autoselect=yes font.face="Arial" font.height="-8" font.weight="400" font.family="2" font.pitch="2" font.charset="0" background.mDAT*)ode="2" background.color="15793151" ) DAT*0PDW0800pdwPlgh````i F$ nnaaDAT*2 @He]`DAT*4 < $0% ArialArial$ 2$ -8$700$ 15793151$ 9$4$DAT*6856$F@320% Group Rid Group Rid`%  "$JR338$!E;315%#$ Nation Rid Nation Rid`- &(*$'663$)DAT*8E;315%+, State Rid State Rid`5% .02$/987$1E;315%34 County Rid County Rid`=- 68:$7 1312$9E;DAT*:315%;< Source Rid Source Rid`E5 >@B$?fe1637$AE;315%CD Source Type Source Type`M= FHJ$G1961$I]425%KDAT*<LSource Sub1 RidSource Sub1 Rid`UE NPR$O [ 2395$Q]425%STSource Sub2 RidSource Sub2 Rid`]M VXZ$Wk 2830$Y]425%[DAT*>\Source Sub3 RidSource Sub3 Rid`U ^`b$_ 3264$a]425%cdSource Sub4 RidSource Sub4 Rid$f 536870912@e@HeixjhDAT*@k nprt  w group_rid< l$m400$o 9$q@64$sF@320&uv [general] [general]iyhk zp|~DAT*B nation_rid${JR338$}E;315& [general] [general]xhk p~ state_rid$663$E;315hkDAT*D p~( county_rid$987$E;315hk p~2 source_rid$ 1312$E;315hk DAT*Fp< source_type$fe1637$E;315& [general] [general]hk p~F source_sub1_rid$1961$]425DAT*Hhk p~P source_sub2_rid$ [ 2395$]425hk pt Z source_sub3_rid$k 2830$]425DAT*Jhk pt d source_sub4_rid$ 3264$]425@eDAT*L ix    DAT*N   T geal_nationArrayal_stateArrayal_countyArrayal_sourceArrayal_sourceSub1Arrayal_sourceSub2Arrayal_sourceSub3ArrDAT*Payal_sourceSub4Array as_sicArray as_sccArray group_rid group_ridi nation_ridv_rap_ss_scc.nation_ridx state_ridv_rap_ss_scc.state_rid county_ridv_rap_ss_scc.county_rid source_ridv_rap_ss_scc.source_rid source_typev_rap_ss_scc.source_typesource_sub1_ridv_rap_ss_scc.source_sub1_ridsourDAT*Rce_sub2_ridv_rap_ss_scc.source_sub2_ridsource_sub3_ridsource_sub3_ridsource_sub4_ridsource_sub4_rid7PBSELECT( VERSION(400) TABLE(NAME="v_rap_ss_scc" ) COMPUTE(NAME="to_number(null, '99999999999999999999') group_rid") COLUMN(NAME="v_rap_ss_scc.nation_rid") COLUMN(NAME="v_rap_ss_scc.state_rid") COLUMN(NAME="v_rap_ss_scc.county_rid") COLUMN(NAME="v_rap_ss_scc.source_rid") COLUMN(NAME="v_rap_ss_scc.source_type") CDAT*TOLUMN(NAME="v_rap_ss_scc.source_sub1_rid") COLUMN(NAME="v_rap_ss_scc.source_sub2_rid") COMPUTE(NAME="to_number(null, '99999999999999999999') source_sub3_rid") COMPUTE(NAME="to_number(null, '99999999999999999999') source_sub4_rid")WHERE( EXP1 ="1" OP ="=" EXP2 ="1" ) ) ARG(NAME = "al_nationArray" TYPE = numberlist) ARG(NAME = "al_stateArray" TYPE = numberlist) ARG(NAME = "al_countyArray" TYPE = numberlist) ARG(NAME = "al_sourceArray" TYPE = numberlist) ARG(NAME = "al_sourceSub1Array" TYDAT*PE = numberlist) ARG(NAME = "al_sourceSub2Array" TYPE = numberlist) ARG(NAME = "al_sourceSub3Array" TYPE = numberlist) ARG(NAME = "al_sourceSub4Array" TYPE = numberlist) ARG(NAME = "as_sicArray" TYPE = stringlist) ARG(NAME = "as_sccArray" TYPE = stringlist) "no"yes$1DAT*Xrelease 6; datawindow(units=0 timer_interval=0 color=15793151 processing=1 print.documentname="" print.orientation = 0 print.margin.left = 110 print.margin.right = 110 print.margin.top = 97 print.margin.bottom = 97 print.paper.source = 0 print.paper.size = 0 print.prompt=no print.buttons=no print.preview.buttons=no grid.lines=0 ) header(height=72 color="536870912" ) summary(height=0 color="536870912" ) footer(height=0 color="536870912" ) detail(height=72 color="536870912" ) table(column=(typDAT*Ze=number updatewhereclause=yes name=group_rid dbname="group_rid" ) column=(type=decimal(0) updatewhereclause=yes name=nation_rid dbname="v_rap_ss_scc.nation_rid" ) column=(type=decimal(0) updatewhereclause=yes name=state_rid dbname="v_rap_ss_scc.state_rid" ) column=(type=decimal(0) updatewhereclause=yes name=county_rid dbname="v_rap_ss_scc.county_rid" ) column=(type=decimal(0) updatewhereclause=yes name=source_rid dbname="v_rap_ss_scc.source_rid" ) column=(type=char(1) updatewhereclause=DAT*\yes name=source_type dbname="v_rap_ss_scc.source_type" ) column=(type=decimal(0) updatewhereclause=yes name=source_sub1_rid dbname="v_rap_ss_scc.source_sub1_rid" ) column=(type=decimal(0) updatewhereclause=yes name=source_sub2_rid dbname="v_rap_ss_scc.source_sub2_rid" ) column=(type=number updatewhereclause=yes name=source_sub3_rid dbname="source_sub3_rid" ) column=(type=number updatewhereclause=yes name=source_sub4_rid dbname="source_sub4_rid" ) retrieve="PBSELECT( VERSION(400) TABLE(NADAT*^ME=~"v_rap_ss_scc~" ) COMPUTE(NAME=~"to_number(null, '99999999999999999999') group_rid~") COLUMN(NAME=~"v_rap_ss_scc.nation_rid~") COLUMN(NAME=~"v_rap_ss_scc.state_rid~") COLUMN(NAME=~"v_rap_ss_scc.county_rid~") COLUMN(NAME=~"v_rap_ss_scc.source_rid~") COLUMN(NAME=~"v_rap_ss_scc.source_type~") COLUMN(NAME=~"v_rap_ss_scc.source_sub1_rid~") COLUMN(NAME=~"v_rap_ss_scc.source_sub2_rid~") COMPUTE(NAME=~"to_number(null, '99999999999999999999') source_sub3_rid~") COMPUTE(NAME=~"to_number(null, '999999999DAT*`99999999999') source_sub4_rid~")WHERE( EXP1 =~"1~" OP =~"=~" EXP2 =~"1~" ) ) ARG(NAME = ~"al_nationArray~" TYPE = numberlist) ARG(NAME = ~"al_stateArray~" TYPE = numberlist) ARG(NAME = ~"al_countyArray~" TYPE = numberlist) ARG(NAME = ~"al_sourceArray~" TYPE = numberlist) ARG(NAME = ~"al_sourceSub1Array~" TYPE = numberlist) ARG(NAME = ~"al_sourceSub2Array~" TYPE = numberlist) ARG(NAME = ~"al_sourceSub3Array~" TYPE = numberlist) ARG(NAME = ~"al_sourceSub4Array~" TYPE = numberlist) ARDAT*bG(NAME = ~"as_sicArray~" TYPE = stringlist) ARG(NAME = ~"as_sccArray~" TYPE = stringlist) " arguments=(("al_nationArray", numberlist),("al_stateArray", numberlist),("al_countyArray", numberlist),("al_sourceArray", numberlist),("al_sourceSub1Array", numberlist),("al_sourceSub2Array", numberlist),("al_sourceSub3Array", numberlist),("al_sourceSub4Array", numberlist),("as_sicArray", stringlist),("as_sccArray", stringlist)) ) text(band=header alignment="0" text="Group Rid"border="0" color="0" x="9" yDAT*d="4" height="56" width="320" font.face="Arial" font.height="-8" font.weight="700" font.family="2" font.pitch="2" font.charset="0" background.mode="2" background.color="15793151" ) text(band=header alignment="0" text="Nation Rid"border="0" color="0" x="338" y="4" height="56" width="315" font.face="Arial" font.height="-8" font.weight="700" font.family="2" font.pitch="2" font.charset="0" background.mode="2" background.color="15793151" ) text(band=header alignment="0" text="State Rid"border="0" DAT*fcolor="0" x="663" y="4" height="56" width="315" font.face="Arial" font.height="-8" font.weight="700" font.family="2" font.pitch="2" font.charset="0" background.mode="2" background.color="15793151" ) text(band=header alignment="0" text="County Rid"border="0" color="0" x="987" y="4" height="56" width="315" font.face="Arial" font.height="-8" font.weight="700" font.family="2" font.pitch="2" font.charset="0" background.mode="2" background.color="15793151" ) text(band=header alignment="0" text="SoDAT*hurce Rid"border="0" color="0" x="1312" y="4" height="56" width="315" font.face="Arial" font.height="-8" font.weight="700" font.family="2" font.pitch="2" font.charset="0" background.mode="2" background.color="15793151" ) text(band=header alignment="0" text="Source Type"border="0" color="0" x="1637" y="4" height="56" width="315" font.face="Arial" font.height="-8" font.weight="700" font.family="2" font.pitch="2" font.charset="0" background.mode="2" background.color="15793151" ) text(band=headerDAT*j alignment="0" text="Source Sub1 Rid"border="0" color="0" x="1961" y="4" height="56" width="425" font.face="Arial" font.height="-8" font.weight="700" font.family="2" font.pitch="2" font.charset="0" background.mode="2" background.color="15793151" ) text(band=header alignment="0" text="Source Sub2 Rid"border="0" color="0" x="2395" y="4" height="56" width="425" font.face="Arial" font.height="-8" font.weight="700" font.family="2" font.pitch="2" font.charset="0" background.mode="2" background.coloDAT*lr="15793151" ) text(band=header alignment="0" text="Source Sub3 Rid"border="0" color="0" x="2830" y="4" height="56" width="425" font.face="Arial" font.height="-8" font.weight="700" font.family="2" font.pitch="2" font.charset="0" background.mode="2" background.color="15793151" ) text(band=header alignment="0" text="Source Sub4 Rid"border="0" color="0" x="3264" y="4" height="56" width="425" font.face="Arial" font.height="-8" font.weight="700" font.family="2" font.pitch="2" font.charset="0" bacDAT*nkground.mode="2" background.color="15793151" ) column(band=detail id=1 alignment="0" tabsequence=10 border="0" color="0" x="9" y="4" height="64" width="320" format="[general]" name=group_rid edit.limit=0 edit.case=any edit.autoselect=yes font.face="Arial" font.height="-8" font.weight="400" font.family="2" font.pitch="2" font.charset="0" background.mode="2" background.color="15793151" ) column(band=detail id=2 alignment="0" tabsequence=20 border="0" color="0" x="338" y="4" height="64" width="3DAT*p15" format="[general]" name=nation_rid edit.limit=0 edit.case=any edit.autoselect=yes font.face="Arial" font.height="-8" font.weight="400" font.family="2" font.pitch="2" font.charset="0" background.mode="2" background.color="15793151" ) column(band=detail id=3 alignment="0" tabsequence=30 border="0" color="0" x="663" y="4" height="64" width="315" format="[general]" name=state_rid edit.limit=0 edit.case=any edit.autoselect=yes font.face="Arial" font.height="-8" font.weight="400" font.family=DAT*r"2" font.pitch="2" font.charset="0" background.mode="2" background.color="15793151" ) column(band=detail id=4 alignment="0" tabsequence=40 border="0" color="0" x="987" y="4" height="64" width="315" format="[general]" name=county_rid edit.limit=0 edit.case=any edit.autoselect=yes font.face="Arial" font.height="-8" font.weight="400" font.family="2" font.pitch="2" font.charset="0" background.mode="2" background.color="15793151" ) column(band=detail id=5 alignment="0" tabsequence=50 border="0" coDAT*tlor="0" x="1312" y="4" height="64" width="315" format="[general]" name=source_rid edit.limit=0 edit.case=any edit.autoselect=yes font.face="Arial" font.height="-8" font.weight="400" font.family="2" font.pitch="2" font.charset="0" background.mode="2" background.color="15793151" ) column(band=detail id=6 alignment="0" tabsequence=60 border="0" color="0" x="1637" y="4" height="64" width="315" format="[general]" name=source_type edit.limit=0 edit.case=any edit.autoselect=yes font.face="Arial" foDAT*vnt.height="-8" font.weight="400" font.family="2" font.pitch="2" font.charset="0" background.mode="2" background.color="15793151" ) column(band=detail id=7 alignment="0" tabsequence=70 border="0" color="0" x="1961" y="4" height="64" width="425" format="[general]" name=source_sub1_rid edit.limit=0 edit.case=any edit.autoselect=yes font.face="Arial" font.height="-8" font.weight="400" font.family="2" font.pitch="2" font.charset="0" background.mode="2" background.color="15793151" ) column(band=deDAT*xtail id=8 alignment="0" tabsequence=80 border="0" color="0" x="2395" y="4" height="64" width="425" format="[general]" name=source_sub2_rid edit.limit=0 edit.case=any edit.autoselect=yes font.face="Arial" font.height="-8" font.weight="400" font.family="2" font.pitch="2" font.charset="0" background.mode="2" background.color="15793151" ) column(band=detail id=9 alignment="0" tabsequence=90 border="0" color="0" x="2830" y="4" height="64" width="425" format="[general]" name=source_sub3_rid edit.liDAT*zmit=0 edit.case=any edit.autoselect=yes font.face="Arial" font.height="-8" font.weight="400" font.family="2" font.pitch="2" font.charset="0" background.mode="2" background.color="15793151" ) column(band=detail id=10 alignment="0" tabsequence=100 border="0" color="0" x="3264" y="4" height="64" width="425" format="[general]" name=source_sub4_rid edit.limit=0 edit.case=any edit.autoselect=yes font.face="Arial" font.height="-8" font.weight="400" font.family="2" font.pitch="2" font.charset="0" baDAT*ckground.mode="2" background.color="15793151" ) htmltable(border="1" cellpadding="0" cellspacing="0" generatecss="no" nowrap="yes") DAT*~PDW0800pdwPlqr```` F$nnaaDAT* @Ih` DAT*source_type_t< $0%  ArialArial$ 2$-8$700$1$ 536870912$jw165DAT*5$4$A65$F@320% Source Type Source Type`)!"$&source_sub1_rid_t$#1984$%F@320%'(Source Sub1 RidSource Sub1 Rid`2 *DAT*+-/source_sub2_rid_t$, 2313$.F@320%01Source Sub2 RidSource Sub2 Rid`;)3468source_sub3_rid_t$5BR 2642$7F@320%9:Source Sub3 RidSource Sub3 Rid`D2DAT*<=?A group_rid_t$> 9$@F@320%BC Group Rid Group Rid`M;EFHJ nation_rid_t$GJR338$IF@320%KL Nation Rid Nation Rid`VDDAT*NOQS state_rid_t$P667$RF@320%TU State Rid State Rid`_MWXZ\ county_rid_t$Y997$[F@320%]^ County Rid County Rid`DAT*hV`ace source_rid_t$b".1326$dF@320%fg Source Rid Source Rid`_ijlnsource_sub4_rid_t$k 2971$mF@320%opSource Sub4 RidDAT*Source Sub4 Rid@@Istruxz|2( source_rid< v$w400$y".1326${FA321&}DAT*~ [General] [General]sru<( source_type$jw1655$FA321& [general] [general]ru|F(DAT*source_sub1_rid$1984$FA321ru|P(source_sub2_rid$ 2313$FA321ru| Z(DAT*source_sub3_rid$BR 2642$FA321ru| ( group_rid$ 9$FA321ru|( nation_ridDAT*$JR338$FA321ru|( state_rid$667$FA321ru|(( county_rid$DAT*997$FA321ru| d(source_sub4_rid$ 2971$FA321@DAT*     sDAT*     at :al_grouprid en al_groupridrap_group_source_criteria  group_rid$rap_groDAT*up_source_criteria.group_rid nation_rid%rap_group_source_criteria.nation_rid state_rid$rap_group_source_criteria.state_rid county_rid%rap_group_source_criteria.county_rid source_rid%rap_group_source_criteria.source_rids source_type&rap_group_source_criteria.source_typesource_sub1_rid*rap_group_source_criteria.source_sub1_ridDAT*source_sub2_rid*rap_group_source_criteria.source_sub2_ridsource_sub3_rid*rap_group_source_criteria.source_sub3_ridsource_sub4_rid*rap_group_source_criteria.source_sub4_ridPBSELECT( VERSION(400) TABLE(NAME="rap_group_source_criteria" ) COLUMN(NAME="rap_group_source_criteria.group_rid") COLUMN(NAME="rap_group_source_criteria.nation_rid") COLUMN(NAME="rap_group_source_criteria.state_rid") COLUMN(NADAT*ME="rap_group_source_criteria.county_rid") COLUMN(NAME="rap_group_source_criteria.source_rid") COLUMN(NAME="rap_group_source_criteria.source_type") COLUMN(NAME="rap_group_source_criteria.source_sub1_rid") COLUMN(NAME="rap_group_source_criteria.source_sub2_rid") COLUMN(NAME="rap_group_source_criteria.source_sub3_rid") COLUMN(NAME="rap_group_source_criteria.source_sub4_rid")WHERE( EXP1 ="rap_group_source_criteria.group_rid" OP ="=" EXP2 ="" ) ) ARG(NAME = "al_grouprid" TYPE = number) DAT*Source Criteria data set used by u_class_source_grouprelease 5; datawindow(units=0 timer_interval=0 color=16777215 processing=1 print.documentname="" print.orientation = 0 print.margin.left = 110 print.margin.right = 110 print.margin.top = 97 print.margin.bottom = 97 print.paper.source = 0 print.paper.size = 0 print.prompt=no grid.lines=0 ) header(height=73 color="536870912" ) summary(height=1 color="536870912" ) footer(height=1 color="536870912" ) detail(height=73 color="536870912" ) table(DAT*column=(type=decimal(0) update=yes updatewhereclause=yes key=yes name=group_rid dbname="rap_group_source_criteria.group_rid" ) column=(type=decimal(0) update=yes updatewhereclause=yes key=yes name=nation_rid dbname="rap_group_source_criteria.nation_rid" ) column=(type=decimal(0) update=yes updatewhereclause=yes key=yes name=state_rid dbname="rap_group_source_criteria.state_rid" ) column=(type=decimal(0) update=yes updatewhereclause=yes key=yes name=county_rid dbname="rap_group_source_criteriDAT*a.county_rid" ) column=(type=decimal(0) update=yes updatewhereclause=yes key=yes name=source_rid dbname="rap_group_source_criteria.source_rid" ) column=(type=char(1) update=yes updatewhereclause=yes key=yes name=source_type dbname="rap_group_source_criteria.source_type" ) column=(type=decimal(0) update=yes updatewhereclause=yes key=yes name=source_sub1_rid dbname="rap_group_source_criteria.source_sub1_rid" ) column=(type=decimal(0) update=yes updatewhereclause=yes key=yes name=source_sub2_DAT*rid dbname="rap_group_source_criteria.source_sub2_rid" ) column=(type=decimal(0) update=yes updatewhereclause=yes key=yes name=source_sub3_rid dbname="rap_group_source_criteria.source_sub3_rid" ) column=(type=decimal(0) update=yes updatewhereclause=yes key=yes name=source_sub4_rid dbname="rap_group_source_criteria.source_sub4_rid" ) retrieve="PBSELECT( VERSION(400) TABLE(NAME=~"rap_group_source_criteria~" ) COLUMN(NAME=~"rap_group_source_criteria.group_rid~") COLUMN(NAME=~"rap_group_source_cDAT*riteria.nation_rid~") COLUMN(NAME=~"rap_group_source_criteria.state_rid~") COLUMN(NAME=~"rap_group_source_criteria.county_rid~") COLUMN(NAME=~"rap_group_source_criteria.source_rid~") COLUMN(NAME=~"rap_group_source_criteria.source_type~") COLUMN(NAME=~"rap_group_source_criteria.source_sub1_rid~") COLUMN(NAME=~"rap_group_source_criteria.source_sub2_rid~") COLUMN(NAME=~"rap_group_source_criteria.source_sub3_rid~") COLUMN(NAME=~"rap_group_source_criteria.source_sub4_rid~")WHERE( EXP1 =~"rap_group_sDAT*ource_criteria.group_rid~" OP =~"=~" EXP2 =~":al_grouprid~" ) ) ARG(NAME = ~"al_grouprid~" TYPE = number) " update="rap_group_source_criteria" updatewhere=2 updatekeyinplace=no arguments=(("al_grouprid", number)) ) text(band=header alignment="0" text="Source Type"border="0" color="0" x="1655" y="4" height="65" width="321" name=source_type_t font.face="Arial" font.height="-8" font.weight="700" font.family="2" font.pitch="2" font.charset="0" background.mode="1" background.color="536870912" DAT*) text(band=header alignment="0" text="Source Sub1 Rid"border="0" color="0" x="1985" y="4" height="65" width="321" name=source_sub1_rid_t font.face="Arial" font.height="-8" font.weight="700" font.family="2" font.pitch="2" font.charset="0" background.mode="1" background.color="536870912" ) text(band=header alignment="0" text="Source Sub2 Rid"border="0" color="0" x="2314" y="4" height="65" width="321" name=source_sub2_rid_t font.face="Arial" font.height="-8" font.weight="700" font.family="2"DAT* font.pitch="2" font.charset="0" background.mode="1" background.color="536870912" ) text(band=header alignment="0" text="Source Sub3 Rid"border="0" color="0" x="2643" y="4" height="65" width="321" name=source_sub3_rid_t font.face="Arial" font.height="-8" font.weight="700" font.family="2" font.pitch="2" font.charset="0" background.mode="1" background.color="536870912" ) text(band=header alignment="0" text="Group Rid"border="0" color="0" x="10" y="4" height="65" width="321" name=group_rid_t fDAT*ont.face="Arial" font.height="-8" font.weight="700" font.family="2" font.pitch="2" font.charset="0" background.mode="1" background.color="536870912" ) text(band=header alignment="0" text="Nation Rid"border="0" color="0" x="339" y="4" height="65" width="321" name=nation_rid_t font.face="Arial" font.height="-8" font.weight="700" font.family="2" font.pitch="2" font.charset="0" background.mode="1" background.color="536870912" ) text(band=header alignment="0" text="State Rid"border="0" color="0" DAT*x="668" y="4" height="65" width="321" name=state_rid_t font.face="Arial" font.height="-8" font.weight="700" font.family="2" font.pitch="2" font.charset="0" background.mode="1" background.color="536870912" ) text(band=header alignment="0" text="County Rid"border="0" color="0" x="997" y="4" height="65" width="321" name=county_rid_t font.face="Arial" font.height="-8" font.weight="700" font.family="2" font.pitch="2" font.charset="0" background.mode="1" background.color="536870912" ) text(band=DAT*header alignment="0" text="Source Rid"border="0" color="0" x="1326" y="4" height="65" width="321" name=source_rid_t font.face="Arial" font.height="-8" font.weight="700" font.family="2" font.pitch="2" font.charset="0" background.mode="1" background.color="536870912" ) text(band=header alignment="0" text="Source Sub4 Rid"border="0" color="0" x="2972" y="4" height="65" width="321" name=source_sub4_rid_t font.face="Arial" font.height="-8" font.weight="700" font.family="2" font.pitch="2" font.chDAT*arset="0" background.mode="1" background.color="536870912" ) column(band=detail id=5 alignment="0" tabsequence=50 border="0" color="0" x="1326" y="4" height="65" width="321" format="[General]" name=source_rid edit.limit=0 edit.case=any edit.focusrectangle=no edit.autoselect=yes edit.autohscroll=yes font.face="Arial" font.height="-8" font.weight="400" font.family="2" font.pitch="2" font.charset="0" background.mode="1" background.color="536870912" ) column(band=detail id=6 alignment="0" tabsequDAT*ence=60 border="0" color="0" x="1655" y="4" height="65" width="321" format="[general]" name=source_type edit.limit=1 edit.case=any edit.focusrectangle=no edit.autoselect=yes edit.autohscroll=yes font.face="Arial" font.height="-8" font.weight="400" font.family="2" font.pitch="2" font.charset="0" background.mode="1" background.color="536870912" ) column(band=detail id=7 alignment="0" tabsequence=70 border="0" color="0" x="1985" y="4" height="65" width="321" format="[General]" name=source_sub1_rDAT*id edit.limit=0 edit.case=any edit.focusrectangle=no edit.autoselect=yes edit.autohscroll=yes font.face="Arial" font.height="-8" font.weight="400" font.family="2" font.pitch="2" font.charset="0" background.mode="1" background.color="536870912" ) column(band=detail id=8 alignment="0" tabsequence=80 border="0" color="0" x="2314" y="4" height="65" width="321" format="[General]" name=source_sub2_rid edit.limit=0 edit.case=any edit.focusrectangle=no edit.autoselect=yes edit.autohscroll=yes font.faDAT*ce="Arial" font.height="-8" font.weight="400" font.family="2" font.pitch="2" font.charset="0" background.mode="1" background.color="536870912" ) column(band=detail id=9 alignment="0" tabsequence=90 border="0" color="0" x="2643" y="4" height="65" width="321" format="[General]" name=source_sub3_rid edit.limit=0 edit.case=any edit.focusrectangle=no edit.autoselect=yes edit.autohscroll=yes font.face="Arial" font.height="-8" font.weight="400" font.family="2" font.pitch="2" font.charset="0" backgroDAT*und.mode="1" background.color="536870912" ) column(band=detail id=1 alignment="0" tabsequence=10 border="0" color="0" x="10" y="4" height="65" width="321" format="[General]" name=group_rid edit.limit=0 edit.case=any edit.focusrectangle=no edit.autoselect=yes edit.autohscroll=yes font.face="Arial" font.height="-8" font.weight="400" font.family="2" font.pitch="2" font.charset="0" background.mode="1" background.color="536870912" ) column(band=detail id=2 alignment="0" tabsequence=20 border="0" cDAT*olor="0" x="339" y="4" height="65" width="321" format="[General]" name=nation_rid edit.limit=0 edit.case=any edit.focusrectangle=no edit.autoselect=yes edit.autohscroll=yes font.face="Arial" font.height="-8" font.weight="400" font.family="2" font.pitch="2" font.charset="0" background.mode="1" background.color="536870912" ) column(band=detail id=3 alignment="0" tabsequence=30 border="0" color="0" x="668" y="4" height="65" width="321" format="[General]" name=state_rid edit.limit=0 edit.case=anyDAT* edit.focusrectangle=no edit.autoselect=yes edit.autohscroll=yes font.face="Arial" font.height="-8" font.weight="400" font.family="2" font.pitch="2" font.charset="0" background.mode="1" background.color="536870912" ) column(band=detail id=4 alignment="0" tabsequence=40 border="0" color="0" x="997" y="4" height="65" width="321" format="[General]" name=county_rid edit.limit=0 edit.case=any edit.focusrectangle=no edit.autoselect=yes edit.autohscroll=yes font.face="Arial" font.height="-8" font.weDAT*ight="400" font.family="2" font.pitch="2" font.charset="0" background.mode="1" background.color="536870912" ) column(band=detail id=10 alignment="0" tabsequence=100 border="0" color="0" x="2972" y="4" height="65" width="321" format="[General]" name=source_sub4_rid edit.limit=0 edit.case=any edit.focusrectangle=no edit.autoselect=yes edit.autohscroll=yes font.face="Arial" font.height="-8" font.weight="400" font.family="2" font.pitch="2" font.charset="0" background.mode="1" background.color="53DAT*6870912" ) DAT*PDW0800pdwPlMN```` F$ nnaaDAT* @UD` DAT*  nation_rid_t< $0%  ArialArial$ 2$-10$400$1$ 536870912$ 9DAT*$8$A65$HI329% Nation Rid Nation Rid`)! "$&nation_name_t$#L[347$%640%'( Nation Name Nation Name`2 * +DAT*-/ state_rid_t$,997$.HI329%01 State Rid State Rid`;)3 468 state_name_t$5$71335$7786%9: State Name State Name`D2< DAT*=?A county_rid_t$>R2130$@HI329%BC County Rid County Rid`;E FHJcounty_name_t$G 2469$I[603%KL County Name County Name@DAT*@aOz[PNQSUW(Z nation_rid$R 9$TM77$VHJ330&XY [general] [general]eO\N]S_DAT*a(d2 nation_name$^L[347$`641&bc [general] [general]l[fNgSiW(k state_rid$h997$jHJ330semNDAT*nSpa(r2 state_name$o$71335$q787zltNuSwW(y county_rid$vR2130$xHJ330s{NDAT*|S~a(2 county_name$} 2469$\604@DAT*O [3e l3s z3 nation_ridv_rap_sDAT*s_sic.nation_ridO nation_namev_rap_ss_sic.nation_name[ state_ridv_rap_ss_sic.state_ride state_namev_rap_ss_sic.state_namel county_ridv_rap_ss_sic.county_rids county_namev_rap_ss_sic.county_namezPBSELECT( VERSION(400) DISTINCT ()TABLE(NAME="v_rap_ss_sic" ) COLUMN(NAME="v_rap_ss_sic.nation_rid") COLUMN(NAME="v_rap_ss_sic.nation_name") COLDAT*/UMN(NAME="v_rap_ss_sic.state_rid") COLUMN(NAME="v_rap_ss_sic.state_name") COLUMN(NAME="v_rap_ss_sic.county_rid") COLUMN(NAME="v_rap_ss_sic.county_name")) ORDER(NAME="v_rap_ss_sic.nation_name" ASC=no) ORDER(NAME="v_rap_ss_sic.state_name" ASC=yes ) ORDER(NAME="v_rap_ss_sic.county_name" ASC=yes ) DAT*Select Geographic information for tree population to county level.release 5; datawindow(units=0 timer_interval=0 color=16777215 processing=1 print.documentname="" print.orientation = 0 print.margin.left = 110 print.margin.right = 110 print.margin.top = 97 print.margin.bottom = 97 print.paper.source = 0 print.paper.size = 0 print.prompt=no grid.lines=0 ) header(height=85 color="536870912" ) summary(height=1 color="536870912" ) footer(height=1 color="536870912" ) detail(height=97 color="5368709DAT*12" ) table(column=(type=decimal(0) updatewhereclause=yes name=nation_rid dbname="v_rap_ss_sic.nation_rid" ) column=(type=char(50) updatewhereclause=yes name=nation_name dbname="v_rap_ss_sic.nation_name" ) column=(type=decimal(0) updatewhereclause=yes name=state_rid dbname="v_rap_ss_sic.state_rid" ) column=(type=char(50) updatewhereclause=yes name=state_name dbname="v_rap_ss_sic.state_name" ) column=(type=decimal(0) updatewhereclause=yes name=county_rid dbname="v_rap_ss_sic.county_rid" ) DAT* column=(type=char(50) updatewhereclause=yes name=county_name dbname="v_rap_ss_sic.county_name" ) retrieve="PBSELECT( VERSION(400) DISTINCT ()TABLE(NAME=~"v_rap_ss_sic~" ) COLUMN(NAME=~"v_rap_ss_sic.nation_rid~") COLUMN(NAME=~"v_rap_ss_sic.nation_name~") COLUMN(NAME=~"v_rap_ss_sic.state_rid~") COLUMN(NAME=~"v_rap_ss_sic.state_name~") COLUMN(NAME=~"v_rap_ss_sic.county_rid~") COLUMN(NAME=~"v_rap_ss_sic.county_name~")) ORDER(NAME=~"v_rap_ss_sic.nation_name~" ASC=no) ORDER(NAME=~"v_rap_ss_sic.statDAT*e_name~" ASC=yes ) ORDER(NAME=~"v_rap_ss_sic.county_name~" ASC=yes ) " ) text(band=header alignment="2" text="Nation Rid"border="0" color="0" x="10" y="8" height="65" width="330" name=nation_rid_t font.face="Arial" font.height="-10" font.weight="400" font.family="2" font.pitch="2" font.charset="0" background.mode="1" background.color="536870912" ) text(band=header alignment="2" text="Nation Name"border="0" color="0" x="348" y="8" height="65" width="641" name=nation_name_t font.face="Arial"DAT* font.height="-10" font.weight="400" font.family="2" font.pitch="2" font.charset="0" background.mode="1" background.color="536870912" ) text(band=header alignment="2" text="State Rid"border="0" color="0" x="997" y="8" height="65" width="330" name=state_rid_t font.face="Arial" font.height="-10" font.weight="400" font.family="2" font.pitch="2" font.charset="0" background.mode="1" background.color="536870912" ) text(band=header alignment="2" text="State Name"border="0" color="0" x="1335" y="8" DAT*height="65" width="787" name=state_name_t font.face="Arial" font.height="-10" font.weight="400" font.family="2" font.pitch="2" font.charset="0" background.mode="1" background.color="536870912" ) text(band=header alignment="2" text="County Rid"border="0" color="0" x="2131" y="8" height="65" width="330" name=county_rid_t font.face="Arial" font.height="-10" font.weight="400" font.family="2" font.pitch="2" font.charset="0" background.mode="1" background.color="536870912" ) text(band=header aliDAT*gnment="2" text="County Name"border="0" color="0" x="2469" y="8" height="65" width="604" name=county_name_t font.face="Arial" font.height="-10" font.weight="400" font.family="2" font.pitch="2" font.charset="0" background.mode="1" background.color="536870912" ) column(band=detail id=1 alignment="1" tabsequence=32766 border="0" color="0" x="10" y="8" height="77" width="330" format="[general]" name=nation_rid edit.limit=0 edit.case=any edit.focusrectangle=no edit.autoselect=yes edit.autohscroll=DAT*yes font.face="Arial" font.height="-10" font.weight="400" font.family="2" font.pitch="2" font.charset="0" background.mode="1" background.color="536870912" ) column(band=detail id=2 alignment="0" tabsequence=32766 border="0" color="0" x="348" y="8" height="77" width="641" format="[general]" name=nation_name edit.limit=50 edit.case=any edit.focusrectangle=no edit.autoselect=yes edit.autohscroll=yes font.face="Arial" font.height="-10" font.weight="400" font.family="2" font.pitch="2" font.charseDAT*t="0" background.mode="1" background.color="536870912" ) column(band=detail id=3 alignment="1" tabsequence=32766 border="0" color="0" x="997" y="8" height="77" width="330" format="[general]" name=state_rid edit.limit=0 edit.case=any edit.focusrectangle=no edit.autoselect=yes edit.autohscroll=yes font.face="Arial" font.height="-10" font.weight="400" font.family="2" font.pitch="2" font.charset="0" background.mode="1" background.color="536870912" ) column(band=detail id=4 alignment="0" tabsequenDAT*ce=32766 border="0" color="0" x="1335" y="8" height="77" width="787" format="[general]" name=state_name edit.limit=50 edit.case=any edit.focusrectangle=no edit.autoselect=yes edit.autohscroll=yes font.face="Arial" font.height="-10" font.weight="400" font.family="2" font.pitch="2" font.charset="0" background.mode="1" background.color="536870912" ) column(band=detail id=5 alignment="1" tabsequence=32766 border="0" color="0" x="2131" y="8" height="77" width="330" format="[general]" name=county_rDAT*id edit.limit=0 edit.case=any edit.focusrectangle=no edit.autoselect=yes edit.autohscroll=yes font.face="Arial" font.height="-10" font.weight="400" font.family="2" font.pitch="2" font.charset="0" background.mode="1" background.color="536870912" ) column(band=detail id=6 alignment="0" tabsequence=32766 border="0" color="0" x="2469" y="8" height="77" width="604" format="[general]" name=county_name edit.limit=50 edit.case=any edit.focusrectangle=no edit.autoselect=yes edit.autohscroll=yes font.fDAT*ace="Arial" font.height="-10" font.weight="400" font.family="2" font.pitch="2" font.charset="0" background.mode="1" background.color="536870912" ) DAT*PDW0800epdwPlO/0N````$ F$ennaaDAT*^ @X-%`DAT* < $0% ArialArial$ 2$ -12$400$ 16777215$ 9$4$DAT*L76$^430% process_rid process_rid`%  "$b448$!649%#$ process_id process_id` &(*$'R1106DAT*$)~1746%+, process_name process_name$. 536870912@-@T-1G=20 3579 <rid$4 9$60DAT*$8^430&:; [general] [general]G1>0 ?5AC Fid$@b448$B649&DE [general] [general]=H0 I5KCDAT*  Mname$JR1106$L~1746@-PR]DAT* V1TU Y=WX\GZ[3 Q:an_device_rid San_device_ridridrap_processes.rid1idrap_processes.id=namerap_processes.nameG0PBSELECT( VERSION(400) TABLE(NAME="rap_processes"DAT* ) COLUMN(NAME="rap_processes.rid") COLUMN(NAME="rap_processes.id") COLUMN(NAME="rap_processes.name")WHERE( EXP1 ="rap_processes.device_rid" OP ="=" EXP2 =" " ) ) ORDER(NAME="rap_processes.id" ASC=yes ) ARG(NAME = "an_device_rid" TYPE = number) _ac"`no"byes$d1DAT*Select processes at a specific device.release 6; datawindow(units=0 timer_interval=0 color=16777215 processing=1 print.documentname="" print.orientation = 0 print.margin.left = 110 print.margin.right = 110 print.margin.top = 97 print.margin.bottom = 97 print.paper.source = 0 print.paper.size = 0 print.prompt=no print.buttons=no print.preview.buttons=no grid.lines=0 ) header(height=88 color="536870912" ) summary(height=0 color="536870912" ) footer(height=0 color="536870912" ) detail(height=84 DAT*color="536870912" ) table(column=(type=decimal(0) updatewhereclause=yes name=rid dbname="rap_processes.rid" ) column=(type=char(15) updatewhereclause=yes name=id dbname="rap_processes.id" ) column=(type=char(50) updatewhereclause=yes name=name dbname="rap_processes.name" ) retrieve="PBSELECT( VERSION(400) TABLE(NAME=~"rap_processes~" ) COLUMN(NAME=~"rap_processes.rid~") COLUMN(NAME=~"rap_processes.id~") COLUMN(NAME=~"rap_processes.name~")WHERE( EXP1 =~"rap_processes.device_rid~" OP =~"DAT*=~" EXP2 =~" :an_device_rid~" ) ) ORDER(NAME=~"rap_processes.id~" ASC=yes ) ARG(NAME = ~"an_device_rid~" TYPE = number) " arguments=(("an_device_rid", number)) ) text(band=header alignment="0" text="process_rid"border="0" color="0" x="9" y="4" height="76" width="430" font.face="Arial" font.height="-12" font.weight="400" font.family="2" font.pitch="2" font.charset="0" background.mode="2" background.color="16777215" ) text(band=header alignment="0" text="process_id"border="0" color="0" x="448DAT*" y="4" height="76" width="649" font.face="Arial" font.height="-12" font.weight="400" font.family="2" font.pitch="2" font.charset="0" background.mode="2" background.color="16777215" ) text(band=header alignment="0" text="process_name"border="0" color="0" x="1106" y="4" height="76" width="1746" font.face="Arial" font.height="-12" font.weight="400" font.family="2" font.pitch="2" font.charset="0" background.mode="2" background.color="16777215" ) column(band=detail id=1 alignment="0" tabsequenceDAT*=32766 border="0" color="0" x="9" y="0" height="76" width="430" format="[general]" name=rid edit.limit=0 edit.case=any edit.autoselect=yes font.face="Arial" font.height="-12" font.weight="400" font.family="2" font.pitch="2" font.charset="0" background.mode="2" background.color="16777215" ) column(band=detail id=2 alignment="0" tabsequence=32766 border="0" color="0" x="448" y="0" height="76" width="649" format="[general]" name=id edit.limit=0 edit.case=any edit.autoselect=yes font.face="ArialDAT*6 " font.height="-12" font.weight="400" font.family="2" font.pitch="2" font.charset="0" background.mode="2" background.color="16777215" ) column(band=detail id=3 alignment="0" tabsequence=32766 border="0" color="0" x="1106" y="0" height="76" width="1746" format="[general]" name=name edit.limit=0 edit.case=any edit.autoselect=yes font.face="Arial" font.height="-12" font.weight="400" font.family="2" font.pitch="2" font.charset="0" background.mode="2" background.color="16777215" ) htmltable(bordeDAT*PDW0800pdwPlNO```` F$ nnaaDAT* @TD` DAT*  v_rap_ss_scc_scc_code_t< $0%  ArialArial$ 2$-8$700$1$ 536870912$ DAT*"9$8$856$v539% SCC AMS Code SCC AMS Code`)! "$&rap_scc_ams_codes_desc_1_t$#z.558$%`864%'(Description 1Description 1`2 *DAT*$ +-/rap_scc_ams_codes_desc_2_t$,91431$.`864%01Description 2Description 2`;)3 468rap_scc_ams_codes_desc_3_t$5 2304$7`864%9:Description 3DesDAT*&cription 3`D2< =?Arap_scc_ams_codes_desc_4_t$>i 3177$@`864%BCDescription 4Description 4`; EGIK$F 16777215$Hv4050$J1DAT*(224%LM SCC Size SCC Size@@`P{_QORUWY[(^ scc_code< S$T400$V 9$XDAT**@64$Zv539&\] [general] [general]fP`ORaWc[(eF scc_name1$bz.558$d`864m_gORhWj[(DAT*,lF scc_name2$i91431$k`864tfnORoWq[(sF scc_name3$p 2304$r`864{muORvWx[(zFDAT*. scc_name4$wi 3177$y`864t|OR}W scc_size$~v4050$1224& [general] [general]@DAT*0P _GfGDAT*2mGtG{4al_nationArrayal_stateArrayal_countyArrayal_sourceArrayal_sourceSub1Arrayal_sourceSub2Array scc_codev_rap_ss_scc.scc_codeP scc_name1rap_scc_ams_codes.desc_1_ scc_name2DAT*4rap_scc_ams_codes.desc_2f scc_name3rap_scc_ams_codes.desc_3m scc_name4rap_scc_ams_codes.desc_4t scc_size scc_size{oPBSELECT( VERSION(400) DISTINCT ()TABLE(NAME="v_rap_ss_scc" ) TABLE(NAME="rap_scc_ams_codes" ) COLUMN(NAME="v_rap_ss_scc.scc_code") COLUMN(NAME="rap_scc_ams_codes.desc_1") COLUMN(NAME="rap_scc_ams_codes.desc_2") COLUMN(NAME="rap_scc_ams_codes.desc_3") COLUMN(NAME="rap_scc_ams_coDAT*6des.desc_4") COMPUTE(NAME="length(v_rap_ss_scc.scc_code) as scc_size") JOIN (LEFT="v_rap_ss_scc.scc_code" OP ="="RIGHT="rap_scc_ams_codes.code" OUTER1 ="v_rap_ss_scc.scc_code" )WHERE( EXP1 ="1" OP ="=" EXP2 ="1" ) ) ORDER(NAME="6" ASC=yes ) ORDER(NAME="v_rap_ss_scc.scc_code" ASC=yes ) ARG(NAME = "al_nationArray" TYPE = numberlist) ARG(NAME = "al_stateArray" TYPE = numberlist) ARG(NAME = "al_countyArray" TYPE = numberlist) ARG(NAME = "al_sourceArray" TYPE = numberlist) ARG(NAMDAT*E = "al_sourceSub1Array" TYPE = numberlist) ARG(NAME = "al_sourceSub2Array" TYPE = numberlist) "no"yesDAT*:SCC code selection for Source Selectorrelease 6; datawindow(units=0 timer_interval=0 color=16777215 processing=1 print.documentname="" print.orientation = 0 print.margin.left = 110 print.margin.right = 110 print.margin.top = 97 print.margin.bottom = 97 print.paper.source = 0 print.paper.size = 0 print.prompt=no print.buttons=no print.preview.buttons=no grid.lines=0 ) header(height=84 color="536870912" ) summary(height=0 color="536870912" ) footer(height=0 color="536870912" ) detail(height=96 DAT*<color="536870912" ) table(column=(type=char(10) updatewhereclause=yes name=scc_code dbname="v_rap_ss_scc.scc_code" ) column=(type=char(70) updatewhereclause=yes name=scc_name1 dbname="rap_scc_ams_codes.desc_1" ) column=(type=char(70) updatewhereclause=yes name=scc_name2 dbname="rap_scc_ams_codes.desc_2" ) column=(type=char(70) updatewhereclause=yes name=scc_name3 dbname="rap_scc_ams_codes.desc_3" ) column=(type=char(70) updatewhereclause=yes name=scc_name4 dbname="rap_scc_ams_codes.desc_4DAT*>" ) column=(type=number updatewhereclause=yes name=scc_size dbname="scc_size" ) retrieve="PBSELECT( VERSION(400) DISTINCT ()TABLE(NAME=~"v_rap_ss_scc~" ) TABLE(NAME=~"rap_scc_ams_codes~" ) COLUMN(NAME=~"v_rap_ss_scc.scc_code~") COLUMN(NAME=~"rap_scc_ams_codes.desc_1~") COLUMN(NAME=~"rap_scc_ams_codes.desc_2~") COLUMN(NAME=~"rap_scc_ams_codes.desc_3~") COLUMN(NAME=~"rap_scc_ams_codes.desc_4~") COMPUTE(NAME=~"length(v_rap_ss_scc.scc_code) as scc_size~") JOIN (LEFT=~"v_rap_ss_scc.scc_code~" DAT*@ OP =~"=~"RIGHT=~"rap_scc_ams_codes.code~" OUTER1 =~"v_rap_ss_scc.scc_code~" )WHERE( EXP1 =~"1~" OP =~"=~" EXP2 =~"1~" ) ) ORDER(NAME=~"6~" ASC=yes ) ORDER(NAME=~"v_rap_ss_scc.scc_code~" ASC=yes ) ARG(NAME = ~"al_nationArray~" TYPE = numberlist) ARG(NAME = ~"al_stateArray~" TYPE = numberlist) ARG(NAME = ~"al_countyArray~" TYPE = numberlist) ARG(NAME = ~"al_sourceArray~" TYPE = numberlist) ARG(NAME = ~"al_sourceSub1Array~" TYPE = numberlist) ARG(NAME = ~"al_sourceSub2Array~" TYPE DAT*B= numberlist) " arguments=(("al_nationArray", numberlist),("al_stateArray", numberlist),("al_countyArray", numberlist),("al_sourceArray", numberlist),("al_sourceSub1Array", numberlist),("al_sourceSub2Array", numberlist)) ) text(band=header alignment="2" text="SCC AMS Code"border="0" color="0" x="9" y="8" height="56" width="539" name=v_rap_ss_scc_scc_code_t font.face="Arial" font.height="-8" font.weight="700" font.family="2" font.pitch="2" font.charset="0" background.mode="1" background.color="DAT*D536870912" ) text(band=header alignment="2" text="Description 1"border="0" color="0" x="558" y="8" height="56" width="864" name=rap_scc_ams_codes_desc_1_t font.face="Arial" font.height="-8" font.weight="700" font.family="2" font.pitch="2" font.charset="0" background.mode="1" background.color="536870912" ) text(band=header alignment="2" text="Description 2"border="0" color="0" x="1431" y="8" height="56" width="864" name=rap_scc_ams_codes_desc_2_t font.face="Arial" font.height="-8" font.weighDAT*Ft="700" font.family="2" font.pitch="2" font.charset="0" background.mode="1" background.color="536870912" ) text(band=header alignment="2" text="Description 3"border="0" color="0" x="2304" y="8" height="56" width="864" name=rap_scc_ams_codes_desc_3_t font.face="Arial" font.height="-8" font.weight="700" font.family="2" font.pitch="2" font.charset="0" background.mode="1" background.color="536870912" ) text(band=header alignment="2" text="Description 4"border="0" color="0" x="3177" y="8" height=DAT*H"56" width="864" name=rap_scc_ams_codes_desc_4_t font.face="Arial" font.height="-8" font.weight="700" font.family="2" font.pitch="2" font.charset="0" background.mode="1" background.color="536870912" ) text(band=header alignment="0" text="SCC Size"border="0" color="0" x="4050" y="8" height="56" width="224" font.face="Arial" font.height="-8" font.weight="700" font.family="2" font.pitch="2" font.charset="0" background.mode="2" background.color="16777215" ) column(band=detail id=1 alignment="0"DAT*J tabsequence=32766 border="0" color="0" x="9" y="8" height="64" width="539" format="[general]" name=scc_code edit.limit=10 edit.case=any edit.focusrectangle=no edit.autoselect=yes edit.autohscroll=yes font.face="Arial" font.height="-8" font.weight="400" font.family="2" font.pitch="2" font.charset="0" background.mode="1" background.color="536870912" ) column(band=detail id=2 alignment="0" tabsequence=32766 border="0" color="0" x="558" y="8" height="64" width="864" format="[general]" name=scc_nDAT*Lame1 edit.limit=70 edit.case=any edit.focusrectangle=no edit.autoselect=yes edit.autohscroll=yes font.face="Arial" font.height="-8" font.weight="400" font.family="2" font.pitch="2" font.charset="0" background.mode="1" background.color="536870912" ) column(band=detail id=3 alignment="0" tabsequence=32766 border="0" color="0" x="1431" y="8" height="64" width="864" format="[general]" name=scc_name2 edit.limit=70 edit.case=any edit.focusrectangle=no edit.autoselect=yes edit.autohscroll=yes font.fDAT*Nace="Arial" font.height="-8" font.weight="400" font.family="2" font.pitch="2" font.charset="0" background.mode="1" background.color="536870912" ) column(band=detail id=4 alignment="0" tabsequence=32766 border="0" color="0" x="2304" y="8" height="64" width="864" format="[general]" name=scc_name3 edit.limit=70 edit.case=any edit.focusrectangle=no edit.autoselect=yes edit.autohscroll=yes font.face="Arial" font.height="-8" font.weight="400" font.family="2" font.pitch="2" font.charset="0" backgrouDAT*Pnd.mode="1" background.color="536870912" ) column(band=detail id=5 alignment="0" tabsequence=32766 border="0" color="0" x="3177" y="8" height="64" width="864" format="[general]" name=scc_name4 edit.limit=70 edit.case=any edit.focusrectangle=no edit.autoselect=yes edit.autohscroll=yes font.face="Arial" font.height="-8" font.weight="400" font.family="2" font.pitch="2" font.charset="0" background.mode="1" background.color="536870912" ) column(band=detail id=6 alignment="0" tabsequence=32766 bordDAT*yer="0" color="0" x="4050" y="8" height="64" width="224" format="[general]" name=scc_size edit.limit=0 edit.case=any edit.autoselect=yes font.face="Arial" font.height="-8" font.weight="400" font.family="2" font.pitch="2" font.charset="0" background.mode="1" background.color="536870912" ) htmltable(border="1" cellpadding="0" cellspacing="0" generatecss="no" nowrap="yes") DAT*TPDW0800pdwPlMN````N F$ nnaaDAT*V @HD` DAT*X  scc_code_t< $0%  MS Sans SerifMS Sans Serif$ 2$-8$700$1$ 536870912$ DAT*Z9$8$452$M`352%CodeCode`)! "$& scc_name1_t$#Qr370$%1243%'(Description 1Description 1`2 * +DAT*\-/ scc_name2_t$,cW1623$.1243%01Description 2Description 2`;)3 468 scc_name3_t$5u; 2875$71243%9:Description 3Description 3`D2<DAT*^ =?A scc_name4_t$> 4128$@1243%BCDescription 4Description 4`;E FHJ scc_size_t$G5381$IHI329%KL Scc Size Scc Size@DAT*`@TOw[PNQSUW(Z scc_code$R 9$T@64$VM`352&XY [general] [general]bO\N]DAT*bS_W(aF scc_name1$^Qr370$`1243i[cNdSfW(hF scc_name2$ecW1623$g1243pbjNkSmDAT*dW(oF scc_name3$lu; 2875$n1243wiqNrStW(vF scc_name4$s 4128$u1243pxNyS{}DAT*f( scc_size$z5381$|HI329&~ [general] [general]@DAT*hO [GbGiGpGw  DAT*j :as_sccArray  as_sccArray scc_coderap_scc_ams_codes.scc_codeO scc_name1rap_scc_ams_codes.scc_name1[ scc_name2rap_scc_ams_codes.scc_name2b scc_name3rap_scc_ams_codes.scc_name3i scc_name4rap_scc_ams_codes.scc_name4p scc_size scc_sizew SELECT rap_scc_ams_codes.code as scc_code, rap_scc_ams_coDAT*des.desc_1 as scc_name1, rap_scc_ams_codes.desc_2 as scc_name2, rap_scc_ams_codes.desc_3 as scc_name3, rap_scc_ams_codes.desc_4 as scc_name4, length(rap_scc_ams_codes.code) as scc_size FROM rap_scc_ams_codes WHERE rap_scc_ams_codes.code in (  ) ORDER BY scc_size ASC, scc_code ASC "no"yesDAT*nSelect SCC data matching codes in filter bufferrelease 6; datawindow(units=0 timer_interval=0 color=16777215 processing=1 print.documentname="" print.orientation = 0 print.margin.left = 110 print.margin.right = 110 print.margin.top = 97 print.margin.bottom = 97 print.paper.source = 0 print.paper.size = 0 print.prompt=no print.buttons=no print.preview.buttons=no grid.lines=0 ) header(height=72 color="536870912" ) summary(height=0 color="536870912" ) footer(height=0 color="536870912" ) detail(hDAT*peight=84 color="536870912" ) table(column=(type=char(10) updatewhereclause=yes name=scc_code dbname="rap_scc_ams_codes.scc_code" ) column=(type=char(70) updatewhereclause=yes name=scc_name1 dbname="rap_scc_ams_codes.scc_name1" ) column=(type=char(70) updatewhereclause=yes name=scc_name2 dbname="rap_scc_ams_codes.scc_name2" ) column=(type=char(70) updatewhereclause=yes name=scc_name3 dbname="rap_scc_ams_codes.scc_name3" ) column=(type=char(70) updatewhereclause=yes name=scc_name4 dbname="rDAT*rap_scc_ams_codes.scc_name4" ) column=(type=long updatewhereclause=yes name=scc_size dbname="scc_size" ) retrieve=" SELECT rap_scc_ams_codes.code as scc_code, rap_scc_ams_codes.desc_1 as scc_name1, rap_scc_ams_codes.desc_2 as scc_name2, rap_scc_ams_codes.desc_3 as scc_name3, rap_scc_ams_codes.desc_4 as scc_name4, length(rap_scc_ams_codes.code) as scc_size FROM rap_scc_ams_codes WHERE rap_scc_ams_codes.code in ( :as_sDAT*tccArray ) ORDER BY scc_size ASC, scc_code ASC " arguments=(("as_sccArray", stringlist)) ) text(band=header alignment="2" text="Code"border="0" color="0" x="9" y="8" height="52" width="352" name=scc_code_t font.face="MS Sans Serif" font.height="-8" font.weight="700" font.family="2" font.pitch="2" font.charset="0" background.mode="1" background.color="536870912" ) text(band=header alignment="2" text="Description 1"border="0" color="0" x="370" y="8" height="52" width="1243" DAT*v name=scc_name1_t font.face="MS Sans Serif" font.height="-8" font.weight="700" font.family="2" font.pitch="2" font.charset="0" background.mode="1" background.color="536870912" ) text(band=header alignment="2" text="Description 2"border="0" color="0" x="1623" y="8" height="52" width="1243" name=scc_name2_t font.face="MS Sans Serif" font.height="-8" font.weight="700" font.family="2" font.pitch="2" font.charset="0" background.mode="1" background.color="536870912" ) text(band=header alignment="DAT*x2" text="Description 3"border="0" color="0" x="2875" y="8" height="52" width="1243" name=scc_name3_t font.face="MS Sans Serif" font.height="-8" font.weight="700" font.family="2" font.pitch="2" font.charset="0" background.mode="1" background.color="536870912" ) text(band=header alignment="2" text="Description 4"border="0" color="0" x="4128" y="8" height="52" width="1243" name=scc_name4_t font.face="MS Sans Serif" font.height="-8" font.weight="700" font.family="2" font.pitch="2" font.charset=DAT*z"0" background.mode="1" background.color="536870912" ) text(band=header alignment="2" text="Scc Size"border="0" color="0" x="5381" y="8" height="52" width="329" name=scc_size_t font.face="MS Sans Serif" font.height="-8" font.weight="700" font.family="2" font.pitch="2" font.charset="0" background.mode="1" background.color="536870912" ) column(band=detail id=1 alignment="0" tabsequence=32766 border="0" color="0" x="9" y="8" height="64" width="352" format="[general]" name=scc_code edit.limit=10DAT*| edit.case=any edit.focusrectangle=no edit.autoselect=yes edit.autohscroll=yes font.face="MS Sans Serif" font.height="-8" font.weight="700" font.family="2" font.pitch="2" font.charset="0" background.mode="1" background.color="536870912" ) column(band=detail id=2 alignment="0" tabsequence=32766 border="0" color="0" x="370" y="8" height="64" width="1243" format="[general]" name=scc_name1 edit.limit=70 edit.case=any edit.focusrectangle=no edit.autoselect=yes edit.autohscroll=yes font.face="MS SaDAT*~ns Serif" font.height="-8" font.weight="700" font.family="2" font.pitch="2" font.charset="0" background.mode="1" background.color="536870912" ) column(band=detail id=3 alignment="0" tabsequence=32766 border="0" color="0" x="1623" y="8" height="64" width="1243" format="[general]" name=scc_name2 edit.limit=70 edit.case=any edit.focusrectangle=no edit.autoselect=yes edit.autohscroll=yes font.face="MS Sans Serif" font.height="-8" font.weight="700" font.family="2" font.pitch="2" font.charset="0" bDAT*ackground.mode="1" background.color="536870912" ) column(band=detail id=4 alignment="0" tabsequence=32766 border="0" color="0" x="2875" y="8" height="64" width="1243" format="[general]" name=scc_name3 edit.limit=70 edit.case=any edit.focusrectangle=no edit.autoselect=yes edit.autohscroll=yes font.face="MS Sans Serif" font.height="-8" font.weight="700" font.family="2" font.pitch="2" font.charset="0" background.mode="1" background.color="536870912" ) column(band=detail id=5 alignment="0" tabseqDAT*uence=32766 border="0" color="0" x="4128" y="8" height="64" width="1243" format="[general]" name=scc_name4 edit.limit=70 edit.case=any edit.focusrectangle=no edit.autoselect=yes edit.autohscroll=yes font.face="MS Sans Serif" font.height="-8" font.weight="700" font.family="2" font.pitch="2" font.charset="0" background.mode="1" background.color="536870912" ) column(band=detail id=6 alignment="1" tabsequence=32766 border="0" color="0" x="5381" y="8" height="64" width="329" format="[general]" namDAT*^e=scc_size edit.limit=0 edit.case=any edit.focusrectangle=no edit.autoselect=yes edit.autohscroll=yes font.face="MS Sans Serif" font.height="-8" font.weight="700" font.family="2" font.pitch="2" font.charset="0" background.mode="1" background.color="536870912" ) htmltable(border="1" cellpadding="0" cellspacing="0" generatecss="no" nowrap="yes") DAT*PDW0800XpdwPlI'(H```` F$XnnaaDAT* @I%`DAT* < $0% ArialArial$ 2$ -8$700$ 16777215$ 9$8$DAT*957$n503% SIC Code SIC Code`  "$r 521$!51413%#$ SIC Name SIC Name$&-1@%@i%)ADAT*A*(+13579;= @ sic_code<, /%-.MS Sans SerifMS Sans Serif$0400$21$4 536870912$6 9$816DAT*$:A65$<n503&>? [general] [general])B(+13C79E= G sic_name$Dr 521$F51413@%JDAT*WS)QRVATU34 KLMNOPal_nationArrayal_stateArrDAT*ayal_countyArrayal_sourceArrayal_sourceSub1Arrayal_sourceSub2Array sic_codev_rap_ss_sic.sic_code) sic_namerap_sic_codes.nameAPBSELECT( VERSION(400) DISTINCT ()TABLE(NAME="v_rap_ss_sic" ) TABLE(NAME="rap_sic_codes" ) COLUMN(NAME="v_rap_ss_sic.sic_code") COLUMN(NAME="rap_sic_codes.name") JOIN (LEFT="v_rap_ss_sic.sic_code" OP ="="RIGHT="rap_sic_codes.code" OUTER1 ="v_rap_ss_sic.sic_code" )WHERE( EXP1 ="1" DAT*rOP ="=" EXP2 ="1" ) ) ORDER(NAME="v_rap_ss_sic.sic_code" ASC=yes ) ARG(NAME = "al_nationArray" TYPE = numberlist) ARG(NAME = "al_stateArray" TYPE = numberlist) ARG(NAME = "al_countyArray" TYPE = numberlist) ARG(NAME = "al_sourceArray" TYPE = numberlist) ARG(NAME = "al_sourceSub1Array" TYPE = numberlist) ARG(NAME = "al_sourceSub2Array" TYPE = numberlist) DAT*SIC code selection for Source Selectorrelease 5; datawindow(units=0 timer_interval=0 color=16777215 processing=1 print.documentname="" print.orientation = 0 print.margin.left = 110 print.margin.right = 110 print.margin.top = 97 print.margin.bottom = 97 print.paper.source = 0 print.paper.size = 0 print.prompt=no grid.lines=0 ) header(height=73 color="-1" ) summary(height=1 color="-1" ) footer(height=1 color="-1" ) detail(height=105 color="-1" ) table(column=(type=char(4) updatewhereclause=yesDAT* name=sic_code dbname="v_rap_ss_sic.sic_code" ) column=(type=char(50) updatewhereclause=yes name=sic_name dbname="rap_sic_codes.name" ) retrieve="PBSELECT( VERSION(400) DISTINCT ()TABLE(NAME=~"v_rap_ss_sic~" ) TABLE(NAME=~"rap_sic_codes~" ) COLUMN(NAME=~"v_rap_ss_sic.sic_code~") COLUMN(NAME=~"rap_sic_codes.name~") JOIN (LEFT=~"v_rap_ss_sic.sic_code~" OP =~"=~"RIGHT=~"rap_sic_codes.code~" OUTER1 =~"v_rap_ss_sic.sic_code~" )WHERE( EXP1 =~"1~" OP =~"=~" EXP2 =~"1~" ) ) ORDER(NAMDAT*E=~"v_rap_ss_sic.sic_code~" ASC=yes ) ARG(NAME = ~"al_nationArray~" TYPE = numberlist) ARG(NAME = ~"al_stateArray~" TYPE = numberlist) ARG(NAME = ~"al_countyArray~" TYPE = numberlist) ARG(NAME = ~"al_sourceArray~" TYPE = numberlist) ARG(NAME = ~"al_sourceSub1Array~" TYPE = numberlist) ARG(NAME = ~"al_sourceSub2Array~" TYPE = numberlist) " arguments=(("al_nationArray", numberlist),("al_stateArray", numberlist),("al_countyArray", numberlist),("al_sourceArray", numberlist),("al_sourceSub1Array",DAT* numberlist),("al_sourceSub2Array", numberlist)) ) text(band=header alignment="0" text="SIC Code"border="0" color="0" x="10" y="8" height="57" width="503" font.face="Arial" font.height="-8" font.weight="700" font.family="2" font.pitch="2" font.charset="0" background.mode="2" background.color="16777215" ) text(band=header alignment="0" text="SIC Name"border="0" color="0" x="522" y="8" height="57" width="1413" font.face="Arial" font.height="-8" font.weight="700" font.family="2" font.pitch="2" DAT*font.charset="0" background.mode="2" background.color="16777215" ) column(band=detail id=1 alignment="0" tabsequence=32766 border="0" color="0" x="10" y="16" height="65" width="503" format="[general]" name=sic_code edit.limit=0 edit.case=any edit.autoselect=yes font.face="MS Sans Serif" font.height="-8" font.weight="400" font.family="2" font.pitch="2" font.charset="0" background.mode="1" background.color="536870912" ) column(band=detail id=2 alignment="0" tabsequence=32766 border="0" color="0DAT* " x="522" y="16" height="65" width="1413" format="[general]" name=sic_name edit.limit=0 edit.case=any edit.autoselect=yes font.face="MS Sans Serif" font.height="-8" font.weight="400" font.family="2" font.pitch="2" font.charset="0" background.mode="1" background.color="536870912" ) DAT*PDW0800TpdwPlE'(D````j F$TnnaaDAT* @I%`DAT* < $0% ArialArial$ 2$ -8$700$ 16777215$91431$4$DAT*A65$f466% Sic Code Sic Code`  "$ 9$!51413%#$ SIC Name SIC Name$&-1@%@I%)=DAT*=*(+13579 < sic_code<, /%-.MS Sans SerifMS Sans Serif$0400$21$4 536870912$691431$8f46DAT*7&:; [general] [general])>(+13?A9 C sic_name$@ 9$B51413@%FSDAT*O)MNR=PQ34P@GHIJKLal_nationArrayal_stateArrayal_countyArrayal_sourceArrayal_sourceSub1Arrayal_sourcDAT*eSub2Array sic_codev_rap_ss_scc.sic_code) sic_namerap_sic_codes.name=PBSELECT( VERSION(400) DISTINCT ()TABLE(NAME="rap_sic_codes" ) TABLE(NAME="v_rap_ss_scc" ) COLUMN(NAME="v_rap_ss_scc.sic_code") COLUMN(NAME="rap_sic_codes.name") JOIN (LEFT="v_rap_ss_scc.sic_code" OP ="="RIGHT="rap_sic_codes.code" OUTER1 ="v_rap_ss_scc.sic_code" )WHERE( EXP1 ="1" OP ="=" EXP2 ="1" ) ) ORDER(NAME="v_rap_ss_scc.sic_code" ASC=yes ) ARG(NADAT*&ME = "al_nationArray" TYPE = numberlist) ARG(NAME = "al_stateArray" TYPE = numberlist) ARG(NAME = "al_countyArray" TYPE = numberlist) ARG(NAME = "al_sourceArray" TYPE = numberlist) ARG(NAME = "al_sourceSub1Array" TYPE = numberlist) ARG(NAME = "al_sourceSub2Array" TYPE = numberlist) DAT*SIC code selection for Source Selector at Sub-Source Data Levelrelease 5; datawindow(units=0 timer_interval=0 color=16777215 processing=1 print.documentname="" print.orientation = 0 print.margin.left = 110 print.margin.right = 110 print.margin.top = 97 print.margin.bottom = 97 print.paper.source = 0 print.paper.size = 0 print.prompt=no grid.lines=0 ) header(height=73 color="-1" ) summary(height=1 color="-1" ) footer(height=1 color="-1" ) detail(height=73 color="-1" ) table(column=(type=char(DAT*4) updatewhereclause=yes name=sic_code dbname="v_rap_ss_scc.sic_code" ) column=(type=char(50) updatewhereclause=yes name=sic_name dbname="rap_sic_codes.name" ) retrieve="PBSELECT( VERSION(400) DISTINCT ()TABLE(NAME=~"rap_sic_codes~" ) TABLE(NAME=~"v_rap_ss_scc~" ) COLUMN(NAME=~"v_rap_ss_scc.sic_code~") COLUMN(NAME=~"rap_sic_codes.name~") JOIN (LEFT=~"v_rap_ss_scc.sic_code~" OP =~"=~"RIGHT=~"rap_sic_codes.code~" OUTER1 =~"v_rap_ss_scc.sic_code~" )WHERE( EXP1 =~"1~" OP =~"=~" EDAT*XP2 =~"1~" ) ) ORDER(NAME=~"v_rap_ss_scc.sic_code~" ASC=yes ) ARG(NAME = ~"al_nationArray~" TYPE = numberlist) ARG(NAME = ~"al_stateArray~" TYPE = numberlist) ARG(NAME = ~"al_countyArray~" TYPE = numberlist) ARG(NAME = ~"al_sourceArray~" TYPE = numberlist) ARG(NAME = ~"al_sourceSub1Array~" TYPE = numberlist) ARG(NAME = ~"al_sourceSub2Array~" TYPE = numberlist) " arguments=(("al_nationArray", numberlist),("al_stateArray", numberlist),("al_countyArray", numberlist),("al_sourceArray", numberlistDAT*),("al_sourceSub1Array", numberlist),("al_sourceSub2Array", numberlist)) ) text(band=header alignment="0" text="Sic Code"border="0" color="0" x="1431" y="4" height="65" width="467" font.face="Arial" font.height="-8" font.weight="700" font.family="2" font.pitch="2" font.charset="0" background.mode="2" background.color="16777215" ) text(band=header alignment="0" text="SIC Name"border="0" color="0" x="10" y="4" height="65" width="1413" font.face="Arial" font.height="-8" font.weight="700" font.fDAT*amily="2" font.pitch="2" font.charset="0" background.mode="2" background.color="16777215" ) column(band=detail id=1 alignment="0" tabsequence=32766 border="0" color="0" x="1431" y="4" height="65" width="467" format="[general]" name=sic_code edit.limit=0 edit.case=any edit.autoselect=yes font.face="MS Sans Serif" font.height="-8" font.weight="400" font.family="2" font.pitch="2" font.charset="0" background.mode="1" background.color="536870912" ) column(band=detail id=2 alignment="0" tabsequenceDAT*8=32766 border="0" color="0" x="10" y="4" height="65" width="1413" format="[general]" name=sic_name edit.limit=0 edit.case=any edit.autoselect=yes font.face="MS Sans Serif" font.height="-8" font.weight="400" font.family="2" font.pitch="2" font.charset="0" background.mode="1" background.color="536870912" ) DAT*PDW0800PpdwPl?)*>```` F$PnnaaDAT*K @H ` DAT*  sic_code_t< $0%  MS Sans SerifMS Sans Serif$ 2$-8$700$1$ 536870912$ DAT*9$8$452$F@320% SIC Code SIC Code`! "$& sic_name_t$#JR338$%61417%'( SIC Name SIC Name@@DAT*T+77,*-/13(6 sic_code$. 9$0@64$2F@320&45 [general] [general]+8*9/;3DAT*(=2 sic_name$:JR338$<61417@@BJDAT*F+DEI7GH3 viAe :as_sicArray viC as_sicArray sic_coderap_sic_codes.sic_code+ sic_namerap_sic_codes.sic_name7 SELECT rap_sic_codes.code as sic_code, rap_sic_codes.name as sic_name FROM rap_sic_codes WHERE rap_sic_codes.code in ( DAT* ) ORDER BY sic_code ASC LN"Mno"OyesDAT*Select SIC data matching codes in filter bufferrelease 6; datawindow(units=0 timer_interval=0 color=16777215 processing=1 print.documentname="" print.orientation = 0 print.margin.left = 110 print.margin.right = 110 print.margin.top = 97 print.margin.bottom = 97 print.paper.source = 0 print.paper.size = 0 print.prompt=no print.buttons=no print.preview.buttons=no grid.lines=0 ) header(height=72 color="536870912" ) summary(height=0 color="536870912" ) footer(height=0 color="536870912" ) detail(hDAT*eight=84 color="536870912" ) table(column=(type=char(4) updatewhereclause=yes name=sic_code dbname="rap_sic_codes.sic_code" ) column=(type=char(50) updatewhereclause=yes name=sic_name dbname="rap_sic_codes.sic_name" ) retrieve=" SELECT rap_sic_codes.code as sic_code, rap_sic_codes.name as sic_name FROM rap_sic_codes WHERE rap_sic_codes.code in ( :as_sicArray ) ORDER BY sic_code ASC " arguments=(("as_sicArray", stringlist)) ) text(band=header alignment="2" teDAT*xt="SIC Code"border="0" color="0" x="9" y="8" height="52" width="320" name=sic_code_t font.face="MS Sans Serif" font.height="-8" font.weight="700" font.family="2" font.pitch="2" font.charset="0" background.mode="1" background.color="536870912" ) text(band=header alignment="2" text="SIC Name"border="0" color="0" x="338" y="8" height="52" width="1417" name=sic_name_t font.face="MS Sans Serif" font.height="-8" font.weight="700" font.family="2" font.pitch="2" font.charset="0" background.mode="1DAT*" background.color="536870912" ) column(band=detail id=1 alignment="0" tabsequence=32766 border="0" color="0" x="9" y="8" height="64" width="320" format="[general]" name=sic_code edit.limit=4 edit.case=any edit.focusrectangle=no edit.autoselect=yes edit.autohscroll=yes font.face="MS Sans Serif" font.height="-8" font.weight="700" font.family="2" font.pitch="2" font.charset="0" background.mode="1" background.color="536870912" ) column(band=detail id=2 alignment="0" tabsequence=32766 border="0" DAT*color="0" x="338" y="8" height="64" width="1417" format="[general]" name=sic_name edit.limit=50 edit.case=any edit.focusrectangle=no edit.autoselect=yes edit.autohscroll=yes font.face="MS Sans Serif" font.height="-8" font.weight="700" font.family="2" font.pitch="2" font.charset="0" background.mode="1" background.color="536870912" ) htmltable(border="1" cellpadding="0" cellspacing="0" generatecss="no" nowrap="yes") DAT*PDW0800pdwPll?@k````E F$nnaaDAT* @X=/`DAT* < $0% MS Sans SerifMS Sans Serif$ 2$ -12$400$ 16777215$ 9$8DAT*$P80$^430% source_rid source_rid`'  "$$b448$!4$#649%%& source_id source_id`/ ( *,DAT*$)R1106$+~1746%-. source_name source_name`'0 4 68:<1 %23ArialArial$5r. 2862$7L76$9=279%;DAT*<TypeType$> 536870912@=@X=AbQB@C=EGIKM Prid$D1$F 9$H0$J@64DAT*$L^430&NO [general] [general][AR@C=SGIUW Zid$Tb448$V649&XY [general] [general]bQ\@C=]GI_WDAT* aname$^R1106$`~1746[c@C=dGfhW jtype$er. 2862$gD68$i=279@=DDAT*mosAqrt wQuvx{[yz|3DAT*Select sources at a specific county.release 6; datawindow(units=0 timer_interval=0 color=16777215 processing=1 print.documentname="" print.orientation = 0 print.margin.left = 110 print.margin.right = 110 print.margin.top = 97 print.margin.bottom = 97 print.paper.source = 0 print.paper.size = 0 print.prompt=no print.buttons=no print.preview.buttons=no grid.lines=0 ) header(height=88 color="536870912" ) summary(height=0 color="536870912" ) footer(height=0 color="536870912" ) detail(height=88 coDAT*lor="536870912" ) table(column=(type=decimal(0) updatewhereclause=yes name=rid dbname="rap_sources.rid" initial="null" ) column=(type=char(15) updatewhereclause=yes name=id dbname="rap_sources.id" initial="null" ) column=(type=char(50) updatewhereclause=yes name=name dbname="rap_sources.name" initial="null" ) column=(type=char(1) updatewhereclause=yes name=type dbname="rap_sources.type" initial="null" ) retrieve="PBSELECT( VERSION(400) TABLE(NAME=~"rap_sources~" ) COLUMN(NAME=~"rap_sourceDAT*s.rid~") COLUMN(NAME=~"rap_sources.id~") COLUMN(NAME=~"rap_sources.name~") COLUMN(NAME=~"rap_sources.type~")WHERE( EXP1 =~"rap_sources.geographic_county_rid~" OP =~"=~" EXP2 =~" :an_county_rid~" ) ) ORDER(NAME=~"rap_sources.id~" ASC=yes ) ARG(NAME = ~"an_county_rid~" TYPE = number) " arguments=(("an_county_rid", number)) ) text(band=header alignment="0" text="source_rid"border="0" color="0" x="9" y="8" height="80" width="430" font.face="MS Sans Serif" font.height="-12" font.weight="400" DAT* font.family="2" font.pitch="2" font.charset="0" background.mode="2" background.color="16777215" ) text(band=header alignment="0" text="source_id"border="0" color="0" x="448" y="4" height="80" width="649" font.face="MS Sans Serif" font.height="-12" font.weight="400" font.family="2" font.pitch="2" font.charset="0" background.mode="2" background.color="16777215" ) text(band=header alignment="0" text="source_name"border="0" color="0" x="1106" y="4" height="80" width="1746" font.face="MS Sans SerDAT*if" font.height="-12" font.weight="400" font.family="2" font.pitch="2" font.charset="0" background.mode="2" background.color="16777215" ) column(band=detail id=1 alignment="0" tabsequence=32766 border="0" color="0" x="9" y="0" height="64" width="430" format="[general]" name=rid edit.limit=0 edit.case=any edit.autoselect=yes font.face="MS Sans Serif" font.height="-12" font.weight="400" font.family="2" font.pitch="2" font.charset="0" background.mode="1" background.color="536870912" ) column(baDAT*nd=detail id=2 alignment="0" tabsequence=32766 border="0" color="0" x="448" y="0" height="64" width="649" format="[general]" name=id edit.limit=0 edit.case=any edit.autoselect=yes font.face="MS Sans Serif" font.height="-12" font.weight="400" font.family="2" font.pitch="2" font.charset="0" background.mode="1" background.color="536870912" ) column(band=detail id=3 alignment="0" tabsequence=32766 border="0" color="0" x="1106" y="0" height="64" width="1746" format="[general]" name=name edit.limitDAT* =0 edit.case=any edit.autoselect=yes font.face="MS Sans Serif" font.height="-12" font.weight="400" font.family="2" font.pitch="2" font.charset="0" background.mode="1" background.color="536870912" ) column(band=detail id=4 alignment="0" tabsequence=0 border="0" color="0" x="2866" y="0" height="68" width="279" name=type font.face="MS Sans Serif" font.height="-12" font.weight="400" font.family="2" font.pitch="2" font.charset="0" background.mode="1" background.color="536870912" ) text(band=headDAT*PDW0800tpdwPl54````$ F$tnnaaDAT* @I`DAT* < $0% ArialArial$ 2$ -8$700$ 16777215$R1106$4$DAT*957$^430% State Rid State Rid`%  "$R 1545$!649%#$ State Name State Name`- &(*$'2203DAT*$)^430%+, County Rid County Rid`5% .02$/BR 2642$1649%34 County Name County Name`=- 68:$7 3301$9^DAT*430%;< Source Rid Source Rid`E5 >@B$?23739$A^430%CD Source Id Source Id`M= FHJ$GR4178$Ie869%KDAT*L Source Name Source Name`UE NPR$OR5056$Q.210%ST Source Type Source Type`]M VXZ$W5275$Y^430%[\ DAT* Sic Code Sic Code`eU ^`b$_R5714$a^430%cdSource Sub1 RidSource Sub1 Rid`m] fhj$gB 6153$i_434%klSource Sub1 IdDAT* Source Sub1 Id`ue npr$o6597$q654%stSource Sub1 NameSource Sub1 Name`}m vxz$w4[7259$y_434%{|Source Sub2 RidSoDAT*urce Sub2 Rid`u ~$7703$^430%Source Sub2 IdSource Sub2 Id`} $8142$654%Source Sub2 NameSource DAT*Sub2 Name` $e"8805$^430% Scc Code Scc Code` $ 9$^430% Nation Rid Nation Rid`DAT* $b448$649% Nation Name Nation Name$ 536870912@@I-  DAT* nation_rid< $400$ 9$0$M77$^430& [general] [general]  DAT* nation_name$b448$650& [general] [general]  state_rid$R1106$^430 DAT* state_name$R 1545$650  county_rid$2203$^430 DAT* county_name$BR 2642$650  source_rid$ 3301$^430  DAT* source_id$23739$^430   source_name$R4178$e869   DAT* source_type$R5056$.211    sic_code$5275$^430    DAT* source_sub1_rid$R5714$^430     source_sub1_id$ B 6153$_435   DAT*"source_sub1_name$6597$654  source_sub2_rid$4[7259$_435&  !# %DAT*$source_sub2_id$"7703$$^430-' (* ,source_sub2_name$)8142$+654&. /1 3 scc_DAT*&code$0e"8805$2^430@6s?DAT*(=> B@A3ECD HFG3KIJ NLM3QOP TRS DAT**WUV 3ZXY ][\ `^_  c ab fde3igh ljkDAT*, o&mn3r-pq 4789:;<al_nationArrayal_stateArrayal_countyArrayal_sourceArrayal_sourceSub1Arrayal_sourceSub2Array nation_ridv_rap_ss_scc.nation_rid nation_namev_rap_ss_scc.nation_name state_ridv_rap_ss_scc.state_ridDAT*. state_namev_rap_ss_scc.state_name county_ridv_rap_ss_scc.county_rid county_namev_rap_ss_scc.county_name source_ridv_rap_ss_scc.source_rid source_idv_rap_ss_scc.source_id source_namev_rap_ss_scc.source_name source_typev_rap_ss_scc.source_type sic_codev_rap_ss_scc.sic_codeDAT*0source_sub1_ridv_rap_ss_scc.source_sub1_ridsource_sub1_idv_rap_ss_scc.source_sub1_id source_sub1_namev_rap_ss_scc.source_sub1_namesource_sub2_ridv_rap_ss_scc.source_sub2_ridsource_sub2_idv_rap_ss_scc.source_sub2_idsource_sub2_namev_rap_ss_scc.source_sub2_name& scc_codev_rap_ss_scc.scc_code-DAT*2PBSELECT( VERSION(400) DISTINCT ()TABLE(NAME="v_rap_ss_scc" ) COLUMN(NAME="v_rap_ss_scc.nation_rid") COLUMN(NAME="v_rap_ss_scc.nation_name") COLUMN(NAME="v_rap_ss_scc.state_rid") COLUMN(NAME="v_rap_ss_scc.state_name") COLUMN(NAME="v_rap_ss_scc.county_rid") COLUMN(NAME="v_rap_ss_scc.county_name") COLUMN(NAME="v_rap_ss_scc.source_rid") COLUMN(NAME="v_rap_ss_scc.source_id") COLUMN(NAME="v_rap_ss_scc.source_name") COLUMN(NAME="v_rap_ss_scc.source_type") COLUMN(NAME="v_rap_ss_scc.sic_code") COLUMNDAT*(NAME="v_rap_ss_scc.source_sub1_rid") COLUMN(NAME="v_rap_ss_scc.source_sub1_id") COLUMN(NAME="v_rap_ss_scc.source_sub1_name") COLUMN(NAME="v_rap_ss_scc.source_sub2_rid") COLUMN(NAME="v_rap_ss_scc.source_sub2_id") COLUMN(NAME="v_rap_ss_scc.source_sub2_name") COLUMN(NAME="v_rap_ss_scc.scc_code")WHERE( EXP1 ="1" OP ="=" EXP2 ="1" ) ) ORDER(NAME="v_rap_ss_scc.nation_name" ASC=no) ORDER(NAME="v_rap_ss_scc.state_name" ASC=yes ) ORDER(NAME="v_rap_ss_scc.county_name" ASC=yes ) ORDER(NAME="v_rapDAT*6Result Set Treeview Datarelease 5; datawindow(units=0 timer_interval=0 color=16777215 processing=1 print.documentname="" print.orientation = 0 print.margin.left = 110 print.margin.right = 110 print.margin.top = 97 print.margin.bottom = 97 print.paper.source = 0 print.paper.size = 0 print.prompt=no grid.lines=0 ) header(height=73 color="536870912" ) summary(height=1 color="536870912" ) footer(height=1 color="536870912" ) detail(height=73 color="536870912" ) table(column=(type=decimal(0) updatDAT*8ewhereclause=yes name=nation_rid dbname="v_rap_ss_scc.nation_rid" ) column=(type=char(50) updatewhereclause=yes name=nation_name dbname="v_rap_ss_scc.nation_name" ) column=(type=decimal(0) updatewhereclause=yes name=state_rid dbname="v_rap_ss_scc.state_rid" ) column=(type=char(50) updatewhereclause=yes name=state_name dbname="v_rap_ss_scc.state_name" ) column=(type=decimal(0) updatewhereclause=yes name=county_rid dbname="v_rap_ss_scc.county_rid" ) column=(type=char(50) updatewhereclause=DAT*:yes name=county_name dbname="v_rap_ss_scc.county_name" ) column=(type=decimal(0) updatewhereclause=yes name=source_rid dbname="v_rap_ss_scc.source_rid" ) column=(type=char(10) updatewhereclause=yes name=source_id dbname="v_rap_ss_scc.source_id" ) column=(type=char(50) updatewhereclause=yes name=source_name dbname="v_rap_ss_scc.source_name" ) column=(type=char(1) updatewhereclause=yes name=source_type dbname="v_rap_ss_scc.source_type" ) column=(type=char(4) updatewhereclause=yes name=sic_DAT*<code dbname="v_rap_ss_scc.sic_code" ) column=(type=decimal(0) updatewhereclause=yes name=source_sub1_rid dbname="v_rap_ss_scc.source_sub1_rid" ) column=(type=char(10) updatewhereclause=yes name=source_sub1_id dbname="v_rap_ss_scc.source_sub1_id" ) column=(type=char(50) updatewhereclause=yes name=source_sub1_name dbname="v_rap_ss_scc.source_sub1_name" ) column=(type=decimal(0) updatewhereclause=yes name=source_sub2_rid dbname="v_rap_ss_scc.source_sub2_rid" ) column=(type=char(10) updatewhDAT*>ereclause=yes name=source_sub2_id dbname="v_rap_ss_scc.source_sub2_id" ) column=(type=char(50) updatewhereclause=yes name=source_sub2_name dbname="v_rap_ss_scc.source_sub2_name" ) column=(type=char(10) updatewhereclause=yes name=scc_code dbname="v_rap_ss_scc.scc_code" ) retrieve="PBSELECT( VERSION(400) DISTINCT ()TABLE(NAME=~"v_rap_ss_scc~" ) COLUMN(NAME=~"v_rap_ss_scc.nation_rid~") COLUMN(NAME=~"v_rap_ss_scc.nation_name~") COLUMN(NAME=~"v_rap_ss_scc.state_rid~") COLUMN(NAME=~"v_rap_ss_scc.sDAT*@tate_name~") COLUMN(NAME=~"v_rap_ss_scc.county_rid~") COLUMN(NAME=~"v_rap_ss_scc.county_name~") COLUMN(NAME=~"v_rap_ss_scc.source_rid~") COLUMN(NAME=~"v_rap_ss_scc.source_id~") COLUMN(NAME=~"v_rap_ss_scc.source_name~") COLUMN(NAME=~"v_rap_ss_scc.source_type~") COLUMN(NAME=~"v_rap_ss_scc.sic_code~") COLUMN(NAME=~"v_rap_ss_scc.source_sub1_rid~") COLUMN(NAME=~"v_rap_ss_scc.source_sub1_id~") COLUMN(NAME=~"v_rap_ss_scc.source_sub1_name~") COLUMN(NAME=~"v_rap_ss_scc.source_sub2_rid~") COLUMN(NAME=~"v_raDAT*Bp_ss_scc.source_sub2_id~") COLUMN(NAME=~"v_rap_ss_scc.source_sub2_name~") COLUMN(NAME=~"v_rap_ss_scc.scc_code~")WHERE( EXP1 =~"1~" OP =~"=~" EXP2 =~"1~" ) ) ORDER(NAME=~"v_rap_ss_scc.nation_name~" ASC=no) ORDER(NAME=~"v_rap_ss_scc.state_name~" ASC=yes ) ORDER(NAME=~"v_rap_ss_scc.county_name~" ASC=yes ) ORDER(NAME=~"v_rap_ss_scc.source_id~" ASC=yes ) ORDER(NAME=~"v_rap_ss_scc.source_sub1_id~" ASC=yes ) ORDER(NAME=~"v_rap_ss_scc.source_sub2_id~" ASC=yes ) ARG(NAME = ~"al_nationArray~" TDAT*DYPE = numberlist) ARG(NAME = ~"al_stateArray~" TYPE = numberlist) ARG(NAME = ~"al_countyArray~" TYPE = numberlist) ARG(NAME = ~"al_sourceArray~" TYPE = numberlist) ARG(NAME = ~"al_sourceSub1Array~" TYPE = numberlist) ARG(NAME = ~"al_sourceSub2Array~" TYPE = numberlist) " arguments=(("al_nationArray", numberlist),("al_stateArray", numberlist),("al_countyArray", numberlist),("al_sourceArray", numberlist),("al_sourceSub1Array", numberlist),("al_sourceSub2Array", numberlist)) ) text(band=header DAT*Falignment="0" text="State Rid"border="0" color="0" x="1093" y="4" height="57" width="430" font.face="Arial" font.height="-8" font.weight="700" font.family="2" font.pitch="2" font.charset="0" background.mode="2" background.color="16777215" ) text(band=header alignment="0" text="State Name"border="0" color="0" x="1527" y="4" height="57" width="650" font.face="Arial" font.height="-8" font.weight="700" font.family="2" font.pitch="2" font.charset="0" background.mode="2" background.color="16777215"DAT*H ) text(band=header alignment="0" text="County Rid"border="0" color="0" x="2181" y="4" height="57" width="430" font.face="Arial" font.height="-8" font.weight="700" font.family="2" font.pitch="2" font.charset="0" background.mode="2" background.color="16777215" ) text(band=header alignment="0" text="County Name"border="0" color="0" x="2615" y="4" height="57" width="650" font.face="Arial" font.height="-8" font.weight="700" font.family="2" font.pitch="2" font.charset="0" background.mode="2" backDAT*Jground.color="16777215" ) text(band=header alignment="0" text="Source Rid"border="0" color="0" x="3269" y="4" height="57" width="430" font.face="Arial" font.height="-8" font.weight="700" font.family="2" font.pitch="2" font.charset="0" background.mode="2" background.color="16777215" ) text(band=header alignment="0" text="Source Id"border="0" color="0" x="3703" y="4" height="57" width="426" font.face="Arial" font.height="-8" font.weight="700" font.family="2" font.pitch="2" font.charset="0" bacDAT*Lkground.mode="2" background.color="16777215" ) text(band=header alignment="0" text="Source Name"border="0" color="0" x="4138" y="4" height="57" width="869" font.face="Arial" font.height="-8" font.weight="700" font.family="2" font.pitch="2" font.charset="0" background.mode="2" background.color="16777215" ) text(band=header alignment="0" text="Source Type"border="0" color="0" x="5011" y="4" height="57" width="211" font.face="Arial" font.height="-8" font.weight="700" font.family="2" font.pitch=DAT*N"2" font.charset="0" background.mode="2" background.color="16777215" ) text(band=header alignment="0" text="Sic Code"border="0" color="0" x="5230" y="4" height="57" width="426" font.face="Arial" font.height="-8" font.weight="700" font.family="2" font.pitch="2" font.charset="0" background.mode="2" background.color="16777215" ) text(band=header alignment="0" text="Source Sub1 Rid"border="0" color="0" x="5665" y="4" height="57" width="426" font.face="Arial" font.height="-8" font.weight="700" foDAT*Pnt.family="2" font.pitch="2" font.charset="0" background.mode="2" background.color="16777215" ) text(band=header alignment="0" text="Source Sub1 Id"border="0" color="0" x="6094" y="4" height="57" width="430" font.face="Arial" font.height="-8" font.weight="700" font.family="2" font.pitch="2" font.charset="0" background.mode="2" background.color="16777215" ) text(band=header alignment="0" text="Source Sub1 Name"border="0" color="0" x="6529" y="4" height="57" width="650" font.face="Arial" font.hDAT*Reight="-8" font.weight="700" font.family="2" font.pitch="2" font.charset="0" background.mode="2" background.color="16777215" ) text(band=header alignment="0" text="Source Sub2 Rid"border="0" color="0" x="7182" y="4" height="57" width="430" font.face="Arial" font.height="-8" font.weight="700" font.family="2" font.pitch="2" font.charset="0" background.mode="2" background.color="16777215" ) text(band=header alignment="0" text="Source Sub2 Id"border="0" color="0" x="7617" y="4" height="57" width=DAT*T"430" font.face="Arial" font.height="-8" font.weight="700" font.family="2" font.pitch="2" font.charset="0" background.mode="2" background.color="16777215" ) text(band=header alignment="0" text="Source Sub2 Name"border="0" color="0" x="8051" y="4" height="57" width="650" font.face="Arial" font.height="-8" font.weight="700" font.family="2" font.pitch="2" font.charset="0" background.mode="2" background.color="16777215" ) text(band=header alignment="0" text="Scc Code"border="0" color="0" x="8705DAT*V" y="4" height="57" width="430" font.face="Arial" font.height="-8" font.weight="700" font.family="2" font.pitch="2" font.charset="0" background.mode="2" background.color="16777215" ) text(band=header alignment="0" text="Nation Rid"border="0" color="0" x="5" y="4" height="57" width="430" font.face="Arial" font.height="-8" font.weight="700" font.family="2" font.pitch="2" font.charset="0" background.mode="2" background.color="16777215" ) text(band=header alignment="0" text="Nation Name"border="DAT*X0" color="0" x="439" y="4" height="57" width="650" font.face="Arial" font.height="-8" font.weight="700" font.family="2" font.pitch="2" font.charset="0" background.mode="2" background.color="16777215" ) column(band=detail id=1 alignment="0" tabsequence=32766 border="0" color="0" x="5" y="0" height="77" width="430" format="[general]" name=nation_rid edit.limit=0 edit.case=any edit.autoselect=yes font.face="Arial" font.height="-8" font.weight="400" font.family="2" font.pitch="2" font.charset="0DAT*Z" background.mode="2" background.color="16777215" ) column(band=detail id=2 alignment="0" tabsequence=32766 border="0" color="0" x="439" y="0" height="77" width="650" format="[general]" name=nation_name edit.limit=0 edit.case=any edit.autoselect=yes font.face="Arial" font.height="-8" font.weight="400" font.family="2" font.pitch="2" font.charset="0" background.mode="2" background.color="16777215" ) column(band=detail id=3 alignment="0" tabsequence=32766 border="0" color="0" x="1093" y="0" heigDAT*\ht="77" width="430" format="[general]" name=state_rid edit.limit=0 edit.case=any edit.autoselect=yes font.face="Arial" font.height="-8" font.weight="400" font.family="2" font.pitch="2" font.charset="0" background.mode="2" background.color="16777215" ) column(band=detail id=4 alignment="0" tabsequence=32766 border="0" color="0" x="1527" y="0" height="77" width="650" format="[general]" name=state_name edit.limit=0 edit.case=any edit.autoselect=yes font.face="Arial" font.height="-8" font.weightDAT*^="400" font.family="2" font.pitch="2" font.charset="0" background.mode="2" background.color="16777215" ) column(band=detail id=5 alignment="0" tabsequence=32766 border="0" color="0" x="2181" y="0" height="77" width="430" format="[general]" name=county_rid edit.limit=0 edit.case=any edit.autoselect=yes font.face="Arial" font.height="-8" font.weight="400" font.family="2" font.pitch="2" font.charset="0" background.mode="2" background.color="16777215" ) column(band=detail id=6 alignment="0" tabsDAT*`equence=32766 border="0" color="0" x="2615" y="0" height="77" width="650" format="[general]" name=county_name edit.limit=0 edit.case=any edit.autoselect=yes font.face="Arial" font.height="-8" font.weight="400" font.family="2" font.pitch="2" font.charset="0" background.mode="2" background.color="16777215" ) column(band=detail id=7 alignment="0" tabsequence=32766 border="0" color="0" x="3269" y="0" height="77" width="430" format="[general]" name=source_rid edit.limit=0 edit.case=any edit.autoseDAT*blect=yes font.face="Arial" font.height="-8" font.weight="400" font.family="2" font.pitch="2" font.charset="0" background.mode="2" background.color="16777215" ) column(band=detail id=8 alignment="0" tabsequence=32766 border="0" color="0" x="3703" y="0" height="77" width="430" format="[general]" name=source_id edit.limit=0 edit.case=any edit.autoselect=yes font.face="Arial" font.height="-8" font.weight="400" font.family="2" font.pitch="2" font.charset="0" background.mode="2" background.color="DAT*d16777215" ) column(band=detail id=9 alignment="0" tabsequence=32766 border="0" color="0" x="4138" y="0" height="77" width="869" format="[general]" name=source_name edit.limit=0 edit.case=any edit.autoselect=yes font.face="Arial" font.height="-8" font.weight="400" font.family="2" font.pitch="2" font.charset="0" background.mode="2" background.color="16777215" ) column(band=detail id=10 alignment="0" tabsequence=32766 border="0" color="0" x="5011" y="0" height="77" width="211" format="[general]"DAT*f name=source_type edit.limit=0 edit.case=any edit.autoselect=yes font.face="Arial" font.height="-8" font.weight="400" font.family="2" font.pitch="2" font.charset="0" background.mode="2" background.color="16777215" ) column(band=detail id=11 alignment="0" tabsequence=32766 border="0" color="0" x="5230" y="0" height="77" width="430" format="[general]" name=sic_code edit.limit=0 edit.case=any edit.autoselect=yes font.face="Arial" font.height="-8" font.weight="400" font.family="2" font.pitch="2DAT*h" font.charset="0" background.mode="2" background.color="16777215" ) column(band=detail id=12 alignment="0" tabsequence=32766 border="0" color="0" x="5665" y="0" height="77" width="430" format="[general]" name=source_sub1_rid edit.limit=0 edit.case=any edit.autoselect=yes font.face="Arial" font.height="-8" font.weight="400" font.family="2" font.pitch="2" font.charset="0" background.mode="2" background.color="16777215" ) column(band=detail id=13 alignment="0" tabsequence=32766 border="0" colorDAT*j="0" x="6094" y="0" height="77" width="435" format="[general]" name=source_sub1_id edit.limit=0 edit.case=any edit.autoselect=yes font.face="Arial" font.height="-8" font.weight="400" font.family="2" font.pitch="2" font.charset="0" background.mode="2" background.color="16777215" ) column(band=detail id=14 alignment="0" tabsequence=32766 border="0" color="0" x="6529" y="0" height="77" width="654" format="[general]" name=source_sub1_name edit.limit=0 edit.case=any edit.autoselect=yes font.face=DAT*l"Arial" font.height="-8" font.weight="400" font.family="2" font.pitch="2" font.charset="0" background.mode="2" background.color="16777215" ) column(band=detail id=15 alignment="0" tabsequence=32766 border="0" color="0" x="7182" y="0" height="77" width="435" format="[general]" name=source_sub2_rid edit.limit=0 edit.case=any edit.autoselect=yes font.face="Arial" font.height="-8" font.weight="400" font.family="2" font.pitch="2" font.charset="0" background.mode="2" background.color="16777215" ) DAT*ncolumn(band=detail id=16 alignment="0" tabsequence=32766 border="0" color="0" x="7617" y="0" height="77" width="430" format="[general]" name=source_sub2_id edit.limit=0 edit.case=any edit.autoselect=yes font.face="Arial" font.height="-8" font.weight="400" font.family="2" font.pitch="2" font.charset="0" background.mode="2" background.color="16777215" ) column(band=detail id=17 alignment="0" tabsequence=32766 border="0" color="0" x="8051" y="0" height="77" width="654" format="[general]" name=soDAT*purce_sub2_name edit.limit=0 edit.case=any edit.autoselect=yes font.face="Arial" font.height="-8" font.weight="400" font.family="2" font.pitch="2" font.charset="0" background.mode="2" background.color="16777215" ) column(band=detail id=18 alignment="0" tabsequence=32766 border="0" color="0" x="8705" y="0" height="77" width="430" format="[general]" name=scc_code edit.limit=0 edit.case=any edit.autoselect=yes font.face="Arial" font.height="-8" font.weight="400" font.family="2" font.pitch="2" foDAT*Dnt.charset="0" background.mode="2" background.color="16777215" ) DAT*t_@d)b?MA_@_@t_@(`@`@2j@j@@k@k@Ll@l@`m@m@l@@|@@@@@@^@^@ q@q@6 p9T8 f_recalc_notifyfunction_objectstructuremailrecipientenvironmentmailfiledescriptionmailmessagedatawindowchildlistviewitemtreeviewitemconnectioninfopowerobjecttransactionsqlcaSELECT recalc_group_rid FROM rap_db_prefs WHERE rid =0 DAT*jMA@4MAf_sqlcheckSELECT count ( *) FROM rap_group_source_criteria WHERE rap_group_source_criteria.group_rid =0 \]{MAtaMA 4 8    2  f_recalc_notify L x function_objectf_recalc_nDAT*xa@e)b?MAa@a@a@-`@`@7j@j@Ek@k@Ql@l@em@m@q@@@@@@@@!^@^@o@o@o@n@n@F@F@q@q@1 u@u@nglilv@v@aed u_class_source_groupnonvisualobjectstructuremailrecipientenvironmentmailfiledescriptionmailmessagedatawindowchildlistviewitemtreeviewitemconnectioninfDAT*zopowerobjectu_ds_baseal_nationArrayal_stateArrayal_countyArrayal_sourceArrayal_sourceSub1Arrayal_sourceSub2Arrayal_sourceSub3Arrayal_sourceSub4Arrayas_sicArrayas_sccArraynation_ridstate_ridcounty_ridsource_ridsource_sub1_ridsource_sub2_ridsource_sub3_ridsource_sub4_ridsic_codescc_codegroup_ridgroup_namegroup_descriptiondata_levelfilter_logicsource_typefilter_namefilter_value|;DAT*l|;|;|;|;datastoredatawindowpointertransactionsqlcags_databaseextobjectf_get_sequenceSELECT count ( *) FROM rap_group_data WHERE ( rap_group_data.group_name =' ' ) AND ( rap_group_data.group_rid <>DAT*~global type f_recalc_notify from function_object end type forward prototypes global function long f_recalc_notify () end prototypes global function long f_recalc_notify (); //display message if there are items in the recalculate group long ll_rc long ll_groupRid SELECT recalc_group_rid INTO :ll_groupRid FROM rap_db_prefs WHERE rid = 0 USING SQLCA; ll_rc = f_sqlCheck(SQLCA) if ll_rc < 0 then return -1 elseif ll_rc = 100 then messageBox("Error", "No data found in raDAT*p_db_prefs.", exclamation!) return -1 end if SELECT count(*) INTO :ll_rc FROM rap_group_source_criteria WHERE rap_group_source_criteria.group_rid = :ll_groupRid USING SQLCA; if f_sqlCheck(SQLCA) < 0 then return -1 if ll_rc > 0 then messageBox("Saved Groups", "The RECALCULATE Group contains Sources which " +& "may need to be recalculated.", information!) end if return 1 end function DAT*_@d)b?MA_@_@_@#`@`@-j@j@;k@k@Gl@l@[m@m@g@@w@@@@@@a^@^@vijmq@q@a f_sqlcheckfunction_objectstructuremailrecipientenvironmentmailfiledescriptionmailmessagedatawindowchildlistviewitemtreeviewitemconnectioninfopowerobjecttransaction2  at_transf_sqlcheck$  LXCtransaction.DAT*h x function_objectf_sqlcheckstructuremailrecipientenvironmentmailfiledescriptionmailmessagedatawindowchildlistviewitemtreeviewitemconnectioninfopowerobjecttransaction@j@#k@@J-@m@;@@G@@[@^@qgjt@q@w@ @i @@ @ @ DAT*g@)b?@@J`@`@aTj@j@qbk@k@nl@l@Am@m@A@@@@@@@@^@^@@@ @@A@@ @@+@@9@@CY@Y@qN@@`Y@@Qa@Av@v@A%Id@d@Tp@ T'bp@ bu(lt u_class_ss_clientuserobjectuserobjectswindowobjectborderstylDAT*>estructuremailrecipientenvironmentmailfiledescriptionmailmessagedatawindowchildlistviewitemtreeviewitemconnectioninfopowerobject0 gcommandbuttonfontcharsetfontpitchfontfamilypicturebuttonalignmentvtextalignstatictextfillpattern0 3u_class_source_groupind0 x DebugMS Sans Serifsgprint.bmpArialData Level:Result Set:Filter Criteria:Source Criteria:&Source SelectDAT*Tests the DBCode for a transaction object. Produces error message for DBCode < 0global type f_sqlcheck from function_object end type forward prototypes global function long f_sqlcheck (readonly transaction at_trans) end prototypes global function long f_sqlcheck (readonly transaction at_trans); //Function: long f_sqlCheck(transaction at_trans) //Returns the DBCode value of the given transaction object, //and produces an error message if DBCode < 0. //10-13-97 MDY if at_tranDAT*s.SQLCode < 0 then post messageBox("SQL Error", & "Database Error: " + string(at_trans.SQLDBCode) + "~r~n~n" +& at_trans.SQLErrText, & exclamation!) end if return at_trans.SQLCode end function DAT*PDW0800^pdwPlO23N````! F$^nnaaDAT* @I*` DAT* nation_name_t< $0%  MS Sans SerifMS Sans Serif$ 2$-8$700$1$ 536870912$DAT* 9$8$553$^430% Nation Name Nation Name`*!#%'$" 553648127$$b448$&^430%() State Name State Name` DAT*!+-/$,w887$.]425%01 County Name County Name@@U4G@5368:<(?2 nation_nameDAT*$7 9$9A65$;^430&=> [general] [general]G4A3B8D< F state_name$Cb448$E^430@H3I8KDAT*< M county_name$Jw887$L]426@PR]DAT*V4TU3Y@WX3\GZ[3 urQe :al_ridArray urS al_ridArray nation_name%rap_geographic_locations.nation_name4 state_name$rap_geographic_locations.state_name@ county_name%rap_gDAT*eographic_locations.county_nameGLPBSELECT( VERSION(400) TABLE(NAME="rap_geographic_locations" ALIAS="rap_geographic_locations_a" ) TABLE(NAME="rap_geographic_locations" ALIAS="rap_geographic_locations_b" ) TABLE(NAME="rap_geographic_locations" ALIAS="rap_geographic_locations_c" ) COMPUTE(NAME="rap_geographic_locations_a.name as nation_name") COMPUTE(NAME="rap_geographic_locations_b.name as state_name") COMPUTE(NAME="rap_geographic_locations_c.name as county_name") JOIN DAT*(LEFT="rap_geographic_locations_b.parent_rid" OP ="="RIGHT="rap_geographic_locations_a.rid" ) JOIN (LEFT="rap_geographic_locations_c.parent_rid" OP ="="RIGHT="rap_geographic_locations_b.rid" )WHERE( EXP1 ="rap_geographic_locations_c.rid" OP ="in" EXP2 ="" ) ) ORDER(NAME="1" ASC=no) ORDER(NAME="2" ASC=yes ) ORDER(NAME="3" ASC=yes ) ARG(NAME = "al_ridArray" TYPE = numberlist) DAT*release 5; datawindow(units=0 timer_interval=0 color=16777215 processing=1 print.documentname="" print.orientation = 0 print.margin.left = 110 print.margin.right = 110 print.margin.top = 97 print.margin.bottom = 97 print.paper.source = 0 print.paper.size = 0 print.prompt=no grid.lines=0 ) header(height=73 color="536870912" ) summary(height=1 color="536870912" ) footer(height=1 color="536870912" ) detail(height=85 color="536870912" ) table(column=(type=char(50) updatewhereclause=yes name=natiDAT*on_name dbname="rap_geographic_locations.nation_name" ) column=(type=char(50) updatewhereclause=yes name=state_name dbname="rap_geographic_locations.state_name" ) column=(type=char(50) updatewhereclause=yes name=county_name dbname="rap_geographic_locations.county_name" ) retrieve="PBSELECT( VERSION(400) TABLE(NAME=~"rap_geographic_locations~" ALIAS=~"rap_geographic_locations_a~" ) TABLE(NAME=~"rap_geographic_locations~" ALIAS=~"rap_geographic_locations_b~" ) TABLE(NAME=~"rap_geographic_locDAT*ations~" ALIAS=~"rap_geographic_locations_c~" ) COMPUTE(NAME=~"rap_geographic_locations_a.name as nation_name~") COMPUTE(NAME=~"rap_geographic_locations_b.name as state_name~") COMPUTE(NAME=~"rap_geographic_locations_c.name as county_name~") JOIN (LEFT=~"rap_geographic_locations_b.parent_rid~" OP =~"=~"RIGHT=~"rap_geographic_locations_a.rid~" ) JOIN (LEFT=~"rap_geographic_locations_c.parent_rid~" OP =~"=~"RIGHT=~"rap_geographic_locations_b.rid~" )WHERE( EXP1 =~"rap_geographic_locatiDAT*ons_c.rid~" OP =~"in~" EXP2 =~":al_ridArray~" ) ) ORDER(NAME=~"1~" ASC=no) ORDER(NAME=~"2~" ASC=yes ) ORDER(NAME=~"3~" ASC=yes ) ARG(NAME = ~"al_ridArray~" TYPE = numberlist) " arguments=(("al_ridArray", numberlist)) ) text(band=header alignment="2" text="Nation Name"border="0" color="0" x="10" y="8" height="53" width="430" name=nation_name_t font.face="MS Sans Serif" font.height="-8" font.weight="700" font.family="2" font.pitch="2" font.charset="0" background.mode="1" background.color=DAT*"536870912" ) text(band=header alignment="0" text="State Name"border="0" color="0" x="449" y="8" height="53" width="430" font.face="MS Sans Serif" font.height="-8" font.weight="700" font.family="2" font.pitch="2" font.charset="0" background.mode="1" background.color="553648127" ) text(band=header alignment="0" text="County Name"border="0" color="0" x="887" y="8" height="53" width="426" font.face="MS Sans Serif" font.height="-8" font.weight="700" font.family="2" font.pitch="2" font.charset="0DAT*" background.mode="1" background.color="553648127" ) column(band=detail id=1 alignment="0" tabsequence=32766 border="0" color="0" x="10" y="8" height="65" width="430" format="[general]" name=nation_name edit.limit=50 edit.case=any edit.focusrectangle=no edit.autoselect=yes edit.autohscroll=yes font.face="MS Sans Serif" font.height="-8" font.weight="700" font.family="2" font.pitch="2" font.charset="0" background.mode="1" background.color="536870912" ) column(band=detail id=2 alignment="0" tabsDAT*equence=32766 border="0" color="0" x="449" y="8" height="65" width="430" format="[general]" name=state_name edit.limit=0 edit.case=any edit.autoselect=yes font.face="MS Sans Serif" font.height="-8" font.weight="700" font.family="2" font.pitch="2" font.charset="0" background.mode="1" background.color="536870912" ) column(band=detail id=3 alignment="0" tabsequence=32766 border="0" color="0" x="887" y="8" height="65" width="426" format="[general]" name=county_name edit.limit=0 edit.case=any editDAT*.autoselect=yes font.face="MS Sans Serif" font.height="-8" font.weight="700" font.family="2" font.pitch="2" font.charset="0" background.mode="1" background.color="536870912" ) DAT*PDW0800pdwPl]^````  F$nnaaDAT* @HU` DAT* state_name_t< $0%  MS Sans SerifMS Sans Serif$ 2$-8$700$1$ 536870912$bDAT*448$8$452$^430% State Name State Name`)!"$&county_name_t$#w887$%^430%'( County Name County Name`2 *DAT*+-/ source_id_t$,".1326$.E;315%01 Source Id Source Id`;)3468source_name_t$5ir1650$7649%9: Source Name Source Name`D2<DAT*=?Anation_name_t$> 9$@^430%BC Nation Name Nation Name`M;EFHJ sic_code_t$G 2309$IF@320%KL Sic Code Sic Code`UDDAT*NPR$OAN 2638$QE;315%ST Device Id Device Id`MVXZ$W 2962$Y654%[\ Device Name Device Name@DAT*@H_i`^ace(h2 state_name$bb448$d^430&fg [general] [general]p_j^kme(o2DAT* county_name$lw887$n^430wiq^rte(v source_id$s".1326$uE;315~px^y{e(}2 sDAT*ource_name$zir1650$|649w^e(2 nation_name$ 9$^430~^e( sic_code$DAT* 2309$F@320^e device_id$AN 2638$E;315^e device_name$DAT* 2962$654@D ~DAT*3_3i3pw33  :al_DAT*ridArray  al_ridArray nation_namev_rap_ss_sic.nation_name~ state_namev_rap_ss_sic.state_name_ county_namev_rap_ss_sic.county_namei source_idv_rap_ss_sic.source_idp source_namev_rap_ss_sic.source_namew sic_codev_rap_ss_sic.sic_code device_idrap_devices.device_id device_namerapDAT*_devices.device_name+PBSELECT( VERSION(400) TABLE(NAME="v_rap_ss_sic" ) TABLE(NAME="rap_devices" ) COLUMN(NAME="v_rap_ss_sic.nation_name") COLUMN(NAME="v_rap_ss_sic.state_name") COLUMN(NAME="v_rap_ss_sic.county_name") COLUMN(NAME="v_rap_ss_sic.source_id") COLUMN(NAME="v_rap_ss_sic.source_name") COLUMN(NAME="v_rap_ss_sic.sic_code") COMPUTE(NAME="rap_devices.id as device_id") COMPUTE(NAME="rap_devices.name as device_name") JOIN (LEFT="rap_devices.source_rid" OP ="="RIGDAT*HT="v_rap_ss_sic.source_rid" )WHERE( EXP1 ="rap_devices.rid" OP ="in" EXP2 =" " ) ) ORDER(NAME="v_rap_ss_sic.nation_name" ASC=no) ORDER(NAME="v_rap_ss_sic.state_name" ASC=yes ) ORDER(NAME="v_rap_ss_sic.county_name" ASC=yes ) ORDER(NAME="v_rap_ss_sic.source_id" ASC=yes ) ORDER(NAME="7" ASC=yes ) ARG(NAME = "al_ridArray" TYPE = numberlist) "no"yesDAT*release 6; datawindow(units=0 timer_interval=0 color=16777215 processing=1 print.documentname="" print.orientation = 0 print.margin.left = 110 print.margin.right = 110 print.margin.top = 97 print.margin.bottom = 97 print.paper.source = 0 print.paper.size = 0 print.prompt=no print.buttons=no print.preview.buttons=no grid.lines=0 ) header(height=72 color="536870912" ) summary(height=0 color="536870912" ) footer(height=0 color="536870912" ) detail(height=72 color="536870912" ) table(column=(typDAT*e=char(50) updatewhereclause=yes name=nation_name dbname="v_rap_ss_sic.nation_name" ) column=(type=char(50) updatewhereclause=yes name=state_name dbname="v_rap_ss_sic.state_name" ) column=(type=char(50) updatewhereclause=yes name=county_name dbname="v_rap_ss_sic.county_name" ) column=(type=char(15) updatewhereclause=yes name=source_id dbname="v_rap_ss_sic.source_id" ) column=(type=char(50) updatewhereclause=yes name=source_name dbname="v_rap_ss_sic.source_name" ) column=(type=char(4) updDAT*atewhereclause=yes name=sic_code dbname="v_rap_ss_sic.sic_code" ) column=(type=char(15) updatewhereclause=yes name=device_id dbname="rap_devices.device_id" ) column=(type=char(50) updatewhereclause=yes name=device_name dbname="rap_devices.device_name" ) retrieve="PBSELECT( VERSION(400) TABLE(NAME=~"v_rap_ss_sic~" ) TABLE(NAME=~"rap_devices~" ) COLUMN(NAME=~"v_rap_ss_sic.nation_name~") COLUMN(NAME=~"v_rap_ss_sic.state_name~") COLUMN(NAME=~"v_rap_ss_sic.county_name~") COLUMN(NAME=~"v_rap_ss_sDAT*ic.source_id~") COLUMN(NAME=~"v_rap_ss_sic.source_name~") COLUMN(NAME=~"v_rap_ss_sic.sic_code~") COMPUTE(NAME=~"rap_devices.id as device_id~") COMPUTE(NAME=~"rap_devices.name as device_name~") JOIN (LEFT=~"rap_devices.source_rid~" OP =~"=~"RIGHT=~"v_rap_ss_sic.source_rid~" )WHERE( EXP1 =~"rap_devices.rid~" OP =~"in~" EXP2 =~" :al_ridArray~" ) ) ORDER(NAME=~"v_rap_ss_sic.nation_name~" ASC=no) ORDER(NAME=~"v_rap_ss_sic.state_name~" ASC=yes ) ORDER(NAME=~"v_rap_ss_sic.county_name~" ASDAT*C=yes ) ORDER(NAME=~"v_rap_ss_sic.source_id~" ASC=yes ) ORDER(NAME=~"7~" ASC=yes ) ARG(NAME = ~"al_ridArray~" TYPE = numberlist) " arguments=(("al_ridArray", numberlist)) ) text(band=header alignment="0" text="State Name"border="0" color="0" x="448" y="8" height="52" width="430" name=state_name_t font.face="MS Sans Serif" font.height="-8" font.weight="700" font.family="2" font.pitch="2" font.charset="0" background.mode="1" background.color="536870912" ) text(band=header alignment="0" text="DAT*County Name"border="0" color="0" x="887" y="8" height="52" width="430" name=county_name_t font.face="MS Sans Serif" font.height="-8" font.weight="700" font.family="2" font.pitch="2" font.charset="0" background.mode="1" background.color="536870912" ) text(band=header alignment="0" text="Source Id"border="0" color="0" x="1326" y="8" height="52" width="320" name=source_id_t font.face="MS Sans Serif" font.height="-8" font.weight="700" font.family="2" font.pitch="2" font.charset="0" background.mDAT*ode="1" background.color="536870912" ) text(band=header alignment="0" text="Source Name"border="0" color="0" x="1655" y="8" height="52" width="649" name=source_name_t font.face="MS Sans Serif" font.height="-8" font.weight="700" font.family="2" font.pitch="2" font.charset="0" background.mode="1" background.color="536870912" ) text(band=header alignment="0" text="Nation Name"border="0" color="0" x="9" y="8" height="52" width="430" name=nation_name_t font.face="MS Sans Serif" font.height="-8" DAT*font.weight="700" font.family="2" font.pitch="2" font.charset="0" background.mode="1" background.color="536870912" ) text(band=header alignment="0" text="Sic Code"border="0" color="0" x="2313" y="8" height="52" width="320" name=sic_code_t font.face="MS Sans Serif" font.height="-8" font.weight="700" font.family="2" font.pitch="2" font.charset="0" background.mode="1" background.color="536870912" ) text(band=header alignment="0" text="Device Id"border="0" color="0" x="2642" y="8" height="52" wiDAT*dth="315" font.face="MS Sans Serif" font.height="-8" font.weight="700" font.family="2" font.pitch="2" font.charset="0" background.mode="1" background.color="536870912" ) text(band=header alignment="0" text="Device Name"border="0" color="0" x="2967" y="8" height="52" width="654" font.face="MS Sans Serif" font.height="-8" font.weight="700" font.family="2" font.pitch="2" font.charset="0" background.mode="1" background.color="536870912" ) column(band=detail id=2 alignment="0" tabsequence=32766 bDAT*order="0" color="0" x="448" y="8" height="52" width="430" format="[general]" name=state_name edit.limit=50 edit.case=any edit.focusrectangle=no edit.autoselect=yes edit.autohscroll=yes font.face="MS Sans Serif" font.height="-8" font.weight="700" font.family="2" font.pitch="2" font.charset="0" background.mode="1" background.color="536870912" ) column(band=detail id=3 alignment="0" tabsequence=32766 border="0" color="0" x="887" y="8" height="52" width="430" format="[general]" name=county_name eDAT*dit.limit=50 edit.case=any edit.focusrectangle=no edit.autoselect=yes edit.autohscroll=yes font.face="MS Sans Serif" font.height="-8" font.weight="700" font.family="2" font.pitch="2" font.charset="0" background.mode="1" background.color="536870912" ) column(band=detail id=4 alignment="0" tabsequence=32766 border="0" color="0" x="1330" y="8" height="52" width="315" format="[general]" name=source_id edit.limit=15 edit.case=any edit.focusrectangle=no edit.autoselect=yes edit.autohscroll=yes fontDAT*.face="MS Sans Serif" font.height="-8" font.weight="700" font.family="2" font.pitch="2" font.charset="0" background.mode="1" background.color="536870912" ) column(band=detail id=5 alignment="0" tabsequence=32766 border="0" color="0" x="1655" y="8" height="52" width="649" format="[general]" name=source_name edit.limit=50 edit.case=any edit.focusrectangle=no edit.autoselect=yes edit.autohscroll=yes font.face="MS Sans Serif" font.height="-8" font.weight="700" font.family="2" font.pitch="2" font.DAT*charset="0" background.mode="1" background.color="536870912" ) column(band=detail id=1 alignment="0" tabsequence=32766 border="0" color="0" x="9" y="8" height="52" width="430" format="[general]" name=nation_name edit.limit=50 edit.case=any edit.focusrectangle=no edit.autoselect=yes edit.autohscroll=yes font.face="MS Sans Serif" font.height="-8" font.weight="700" font.family="2" font.pitch="2" font.charset="0" background.mode="1" background.color="536870912" ) column(band=detail id=6 alignmentDAT*="0" tabsequence=32766 border="0" color="0" x="2313" y="8" height="52" width="320" format="[general]" name=sic_code edit.limit=4 edit.case=any edit.focusrectangle=no edit.autoselect=yes edit.autohscroll=yes font.face="MS Sans Serif" font.height="-8" font.weight="700" font.family="2" font.pitch="2" font.charset="0" background.mode="1" background.color="536870912" ) column(band=detail id=7 alignment="0" tabsequence=32766 border="0" color="0" x="2642" y="8" height="52" width="315" format="[generaDAT*l]" name=device_id edit.limit=0 edit.case=any edit.autoselect=yes font.face="MS Sans Serif" font.height="-8" font.weight="700" font.family="2" font.pitch="2" font.charset="0" background.mode="1" background.color="536870912" ) column(band=detail id=8 alignment="0" tabsequence=32766 border="0" color="0" x="2967" y="8" height="52" width="654" format="[general]" name=device_name edit.limit=0 edit.case=any edit.autoselect=yes font.face="MS Sans Serif" font.height="-8" font.weight="700" font.famiDAT*ly="2" font.pitch="2" font.charset="0" background.mode="1" background.color="536870912" ) htmltable(border="1" cellpadding="0" cellspacing="0" generatecss="no" nowrap="yes") DAT*PDW0800`pdwPlU?AT````% F$_`nnaaDAT* @$6`DAT* < $0% ArialArial$ 2$ -12$700$ 16777215$19$20$DAT*Q81$215%FiltersFilters`/"$ &(*,filter_name_t< $!-10$#1$% 536870912$'132$)A65DAT*$+S339%-. Filter Name Filter Name`60"$ 1&(*3filter_value_t$2659%45 Filter Value Filter ValueP/"79;=;$8 553648127$:14$<DAT*212$>%4389@)$@@P?"79=@I$BOOCAD"$1G(IK(N filter_value< EDAT*$F400$H4$J439&LM [general] [general]BPAD"$G(QK(S filter_name$R421@$DAT*^VW ZOXY!]B[\! group_rid$rapDAT*_group_filter_criteria.group_rid filter_name&rap_group_filter_criteria.filter_nameO filter_value'rap_group_filter_criteria.filter_valueBPBSELECT( VERSION(400) TABLE(NAME="rap_group_filter_criteria" ) COLUMN(NAME="rap_group_filter_criteria.group_rid") COLUMN(NAME="rap_group_filter_criteria.filter_name") COLUMN(NAME="rap_group_filter_criteria.filter_value")) filter_nameDAT*release 5; datawindow(units=0 timer_interval=0 color=16777215 processing=0 print.documentname="" print.orientation = 0 print.margin.left = 110 print.margin.right = 110 print.margin.top = 97 print.margin.bottom = 97 print.paper.source = 0 print.paper.size = 0 print.prompt=no ) header(height=233 color="536870912" ) summary(height=1 color="536870912" ) footer(height=41 color="536870912" ) detail(height=73 color="536870912" ) table(column=(type=decimal(0) updatewhereclause=yes name=group_rid dbnDAT*ame="rap_group_filter_criteria.group_rid" ) column=(type=char(32) updatewhereclause=yes name=filter_name dbname="rap_group_filter_criteria.filter_name" ) column=(type=char(32) updatewhereclause=yes name=filter_value dbname="rap_group_filter_criteria.filter_value" ) retrieve="PBSELECT( VERSION(400) TABLE(NAME=~"rap_group_filter_criteria~" ) COLUMN(NAME=~"rap_group_filter_criteria.group_rid~") COLUMN(NAME=~"rap_group_filter_criteria.filter_name~") COLUMN(NAME=~"rap_group_filter_criteria.filterDAT*_value~")) " ) text(band=header alignment="0" text="Filters"border="0" color="0" x="19" y="20" height="81" width="215" font.face="Arial" font.height="-12" font.weight="700" font.family="2" font.pitch="2" font.charset="0" background.mode="2" background.color="16777215" ) text(band=header alignment="2" text="Filter Name"border="0" color="0" x="19" y="132" height="65" width="339" name=filter_name_t font.face="Arial" font.height="-10" font.weight="700" font.family="2" font.pitch="2" font.charseDAT* t="0" background.mode="1" background.color="536870912" ) text(band=header alignment="2" text="Filter Value"border="0" color="0" x="659" y="132" height="65" width="339" name=filter_value_t font.face="Arial" font.height="-10" font.weight="700" font.family="2" font.pitch="2" font.charset="0" background.mode="1" background.color="536870912" ) column(band=detail id=3 alignment="0" tabsequence=32766 border="0" color="0" x="659" y="4" height="65" width="439" format="[general]" name=filter_value ediDAT* t.limit=32 edit.case=any edit.autoselect=yes edit.autohscroll=yes font.face="Arial" font.height="-10" font.weight="400" font.family="2" font.pitch="2" font.charset="0" background.mode="1" background.color="536870912" ) column(band=detail id=2 alignment="0" tabsequence=32766 border="0" color="0" x="19" y="4" height="65" width="421" format="[general]" name=filter_name edit.limit=32 edit.case=any edit.autoselect=yes edit.autohscroll=yes font.face="Arial" font.height="-10" font.weight="400" fontDAT*.family="2" font.pitch="2" font.charset="0" background.mode="1" background.color="536870912" ) line(band=header x1="19" y1="212" x2="4389" y2="212" pen.style="0" pen.width="14" pen.color="0" background.mode="1" background.color="553648127" ) line(band=footer x1="19" y1="20" x2="4389" y2="20" pen.style="0" pen.width="14" pen.color="0" background.mode="1" background.color="553648127" ) sparse(names="filter_name") DAT*PDW0800pdwPlrSUq````% F$nnaaDAT* @J` DAT* group_desc_t< $0%  ArialArial$ 2$-10$700$1$ 536870912$%549DAT*$132$A65$ 522%Group DescriptionGroup Description`)!"$& data_level_t$#%1829$%7311%'( Data Level Data Level`2 *DAT*+-/filter_logic_t$,2213$.J330%01 Filter Logic Filter Logic`;)3468 group_name_t$519$7n366%9: Group Name Group Name`J2DAT*< ?4ACEG< = $>-12$@ 16777215$B20$DQ81$F398%HI Group Data Group DataP;KM4OQO$L DAT*553648127$N14$P212$R%4389@)TTPSKM4AQA@IVocWUXK4[]_b group_namDAT*e< Y$Z400$\4$^494&`a [general] [general]hVdUXK[e_(g@ group_desc$f1244ociUXDAT* K"[j l data_level$k\348&mn [General] [General]hpUXK+[j l filter_logic@DAT*"st wVuvzcxyA}h{|~DAT*$ o group_ridrap_group_data.group_rid group_namerap_group_data.group_nameV group_descrap_group_data.group_descc data_levelrap_group_data.data_levelh7Nation 1/State 2/County 3/Source 4/Device 5/Process 6/ filter_logicrap_group_data.filter_logico OR 0/AND 1/PBSELECT( VERSION(400) TABLE(NAME="rap_groDAT*up_data" ) COLUMN(NAME="rap_group_data.group_rid") COLUMN(NAME="rap_group_data.group_name") COLUMN(NAME="rap_group_data.group_desc") COLUMN(NAME="rap_group_data.data_level") COLUMN(NAME="rap_group_data.filter_logic")) DAT*(release 5; datawindow(units=0 timer_interval=0 color=16777215 processing=0 print.documentname="" print.orientation = 0 print.margin.left = 110 print.margin.right = 110 print.margin.top = 97 print.margin.bottom = 97 print.paper.source = 0 print.paper.size = 0 print.prompt=no ) header(height=233 color="536870912" ) summary(height=1 color="536870912" ) footer(height=41 color="536870912" ) detail(height=73 color="536870912" ) table(column=(type=decimal(0) updatewhereclause=yes name=group_rid dbnDAT**ame="rap_group_data.group_rid" ) column=(type=char(24) updatewhereclause=yes name=group_name dbname="rap_group_data.group_name" ) column=(type=char(64) updatewhereclause=yes name=group_desc dbname="rap_group_data.group_desc" ) column=(type=decimal(0) updatewhereclause=yes name=data_level dbname="rap_group_data.data_level" values="Nation 1/State 2/County 3/Source 4/Device 5/Process 6/" ) column=(type=decimal(0) updatewhereclause=yes name=filter_logic dbname="rap_group_data.filter_logic" valDAT*,ues="OR 0/AND 1/" ) retrieve="PBSELECT( VERSION(400) TABLE(NAME=~"rap_group_data~" ) COLUMN(NAME=~"rap_group_data.group_rid~") COLUMN(NAME=~"rap_group_data.group_name~") COLUMN(NAME=~"rap_group_data.group_desc~") COLUMN(NAME=~"rap_group_data.data_level~") COLUMN(NAME=~"rap_group_data.filter_logic~")) " ) text(band=header alignment="0" text="Group Description"border="0" color="0" x="549" y="132" height="65" width="522" name=group_desc_t font.face="Arial" font.height="-10" font.weight="700" foDAT*.nt.family="2" font.pitch="2" font.charset="0" background.mode="1" background.color="536870912" ) text(band=header alignment="0" text="Data Level"border="0" color="0" x="1829" y="132" height="65" width="311" name=data_level_t font.face="Arial" font.height="-10" font.weight="700" font.family="2" font.pitch="2" font.charset="0" background.mode="1" background.color="536870912" ) text(band=header alignment="0" text="Filter Logic"border="0" color="0" x="2213" y="132" height="65" width="330" name=fDAT*0ilter_logic_t font.face="Arial" font.height="-10" font.weight="700" font.family="2" font.pitch="2" font.charset="0" background.mode="1" background.color="536870912" ) text(band=header alignment="0" text="Group Name"border="0" color="0" x="19" y="132" height="65" width="366" name=group_name_t font.face="Arial" font.height="-10" font.weight="700" font.family="2" font.pitch="2" font.charset="0" background.mode="1" background.color="536870912" ) text(band=header alignment="0" text="Group Data"bDAT*2order="0" color="0" x="19" y="20" height="81" width="398" font.face="Arial" font.height="-12" font.weight="700" font.family="2" font.pitch="2" font.charset="0" background.mode="2" background.color="16777215" ) column(band=detail id=2 alignment="0" tabsequence=32766 border="0" color="0" x="19" y="4" height="65" width="494" format="[general]" name=group_name edit.limit=0 edit.case=any edit.focusrectangle=no edit.autoselect=no font.face="Arial" font.height="-10" font.weight="400" font.family="2DAT*4" font.pitch="2" font.charset="0" background.mode="1" background.color="553648127" ) column(band=detail id=3 alignment="0" tabsequence=32766 border="0" color="0" x="549" y="4" height="65" width="1244" format="[general]" name=group_desc edit.limit=64 edit.case=any edit.focusrectangle=no edit.autoselect=yes edit.autohscroll=yes font.face="Arial" font.height="-10" font.weight="400" font.family="2" font.pitch="2" font.charset="0" background.mode="1" background.color="553648127" ) column(band=detaDAT*6il id=4 alignment="2" tabsequence=32766 border="0" color="0" x="1829" y="4" height="65" width="348" format="[General]" name=data_level ddlb.limit=0 ddlb.allowedit=no ddlb.case=any font.face="Arial" font.height="-10" font.weight="400" font.family="2" font.pitch="2" font.charset="0" background.mode="1" background.color="553648127" ) column(band=detail id=5 alignment="2" tabsequence=32766 border="0" color="0" x="2213" y="4" height="65" width="348" format="[General]" name=filter_logic ddlb.limit=DAT*0 ddlb.allowedit=no ddlb.case=any font.face="Arial" font.height="-10" font.weight="400" font.family="2" font.pitch="2" font.charset="0" background.mode="1" background.color="553648127" ) line(band=header x1="19" y1="212" x2="4389" y2="212" pen.style="0" pen.width="14" pen.color="0" background.mode="1" background.color="553648127" ) line(band=footer x1="19" y1="20" x2="4389" y2="20" pen.style="0" pen.width="14" pen.color="0" background.mode="1" background.color="553648127" ) DAT*:PDW08008pdwPl/ !.```` F$8nnaaDAT*< @I`DAT*> nation_name_t< $0%  MS Sans SerifMS Sans Serif$ 2$-8$700$1$ 536870912$DAT*@ 9$8$553$^430% Nation Name Nation Name@@U""#!$&(*(-2 nation_name$%DAT*B 9$'A65$)^430&+, [general] [general]@027DAT*D6"453 C 1 :al_ridArray 773 al_ridArray nation_name%rap_geographic_locations.nation_name" PBSELECT( VERSION(400) TABLE(NAME="rap_geographic_locations" ) COMPUTE(NAME="rap_geographic_locations.name as nation_name")WHERE( EXP1 ="rap_geographic_locations.rid" OP ="in" EXP2 ="" ) ) ORDER(NAME="1" ASC=no) ARG(NAME =DAT*( "al_ridArray" TYPE = numberlist) DAT*Hrelease 5; datawindow(units=0 timer_interval=0 color=16777215 processing=1 print.documentname="" print.orientation = 0 print.margin.left = 110 print.margin.right = 110 print.margin.top = 97 print.margin.bottom = 97 print.paper.source = 0 print.paper.size = 0 print.prompt=no grid.lines=0 ) header(height=73 color="536870912" ) summary(height=1 color="536870912" ) footer(height=1 color="536870912" ) detail(height=85 color="536870912" ) table(column=(type=char(50) updatewhereclause=yes name=natiDAT*Jon_name dbname="rap_geographic_locations.nation_name" ) retrieve="PBSELECT( VERSION(400) TABLE(NAME=~"rap_geographic_locations~" ) COMPUTE(NAME=~"rap_geographic_locations.name as nation_name~")WHERE( EXP1 =~"rap_geographic_locations.rid~" OP =~"in~" EXP2 =~":al_ridArray~" ) ) ORDER(NAME=~"1~" ASC=no) ARG(NAME = ~"al_ridArray~" TYPE = numberlist) " arguments=(("al_ridArray", numberlist)) ) text(band=header alignment="2" text="Nation Name"border="0" color="0" x="10" y="8" height="53" widtDAT*Lh="430" name=nation_name_t font.face="MS Sans Serif" font.height="-8" font.weight="700" font.family="2" font.pitch="2" font.charset="0" background.mode="1" background.color="536870912" ) column(band=detail id=1 alignment="0" tabsequence=32766 border="0" color="0" x="10" y="8" height="65" width="430" format="[general]" name=nation_name edit.limit=50 edit.case=any edit.focusrectangle=no edit.autoselect=yes edit.autohscroll=yes font.face="MS Sans Serif" font.height="-8" font.weight="700" font.DAT*afamily="2" font.pitch="2" font.charset="0" background.mode="1" background.color="536870912" ) DAT*PPDW0800pdwPlz{````J F$nnaaDAT*R @Iq` DAT*T source_id_t< $0%  MS Sans SerifMS Sans Serif$ 2$-8$700$1$ 536870912$".DAT*V1326$8$553$F@320% Source Id Source Id`)!"$&source_name_t$#jw1655$%649%'( Source Name Source Name`2 *DAT*X+-/ sic_code_t$, 2313$.F@320%01 Sic Code Sic Code`;)3468 device_id_t$5BR 2642$7F@320%9: Device Id Device Id`D2<DAT*Z=?Adevice_name_t$> 2971$@649%BC Device Name Device Name`M;EFHJ process_id_t$G.3630$IF@320%KL Process Id Process Id`VDNDAT*\OQSprocess_name_t$Pbw3959$R649%TU Process Name Process Name`_MWXZ\ scc_code_t$Y 4617$[F@320%]^ Scc Code Scc Code`hV`DAT*^acenation_name_t$b 9$d^430%fg Nation Name Nation Name`q_ijln state_name_t$kb448$m^430%op State Name State Name`hrDAT*`suwcounty_name_t$tw887$v^430%xy County Name County Name@@I|}{~(2DAT*b state_name$b448$^430& [general] [general]|{(2 county_name$w887$^430{DAT*d( source_id$".1326$FA321{(2 source_name$jw1655$650{DAT*f( sic_code$ 2313$FA321{( device_id$BR 2642$FA321{(DAT*h2 device_name$ 2971$650{ ( process_id$.3630$FA321{ (2DAT*j process_name$bw3959$650{ ( scc_code$ 4617$FA321{(2 naDAT*ltion_name$ 9$^430@ DAT*n3|33 3 3DAT*p  3  c_ :al_ridArray c_ al_ridArray nation_namev_rap_ss_scc.nation_name state_namev_rap_ss_scc.state_name| county_namev_rap_ss_scc.county_name source_idv_rap_ss_scc.source_idDAT*r source_namev_rap_ss_scc.source_name sic_codev_rap_ss_scc.sic_code device_idv_rap_ss_scc.device_id device_namev_rap_ss_scc.device_name process_idv_rap_ss_scc.process_id process_namev_rap_ss_scc.process_name scc_codev_rap_ss_scc.scc_codePBSELECT( VERSION(400) TABLE(NAME="v_rap_ss_scDAT*tc" ) COLUMN(NAME="v_rap_ss_scc.nation_name") COLUMN(NAME="v_rap_ss_scc.state_name") COLUMN(NAME="v_rap_ss_scc.county_name") COLUMN(NAME="v_rap_ss_scc.source_id") COLUMN(NAME="v_rap_ss_scc.source_name") COLUMN(NAME="v_rap_ss_scc.sic_code") COMPUTE(NAME="v_rap_ss_scc.source_sub1_id as device_id") COMPUTE(NAME="v_rap_ss_scc.source_sub1_name as device_name") COMPUTE(NAME="v_rap_ss_scc.source_sub2_id as process_id") COMPUTE(NAME="v_rap_ss_scc.source_sub2_name as process_name") COLUMN(NAME="v_rap_ss_sccDAT*z.scc_code")WHERE( EXP1 ="v_rap_ss_scc.source_sub2_rid" OP ="in" EXP2 ="" ) ) ORDER(NAME="v_rap_ss_scc.nation_name" ASC=no) ORDER(NAME="v_rap_ss_scc.state_name" ASC=yes ) ORDER(NAME="v_rap_ss_scc.county_name" ASC=yes ) ORDER(NAME="v_rap_ss_scc.source_id" ASC=yes ) ORDER(NAME="7" ASC=yes ) ORDER(NAME="9" ASC=yes ) ARG(NAME = "al_ridArray" TYPE = numberlist) DAT*xrelease 5; datawindow(units=0 timer_interval=0 color=16777215 processing=1 print.documentname="" print.orientation = 0 print.margin.left = 110 print.margin.right = 110 print.margin.top = 97 print.margin.bottom = 97 print.paper.source = 0 print.paper.size = 0 print.prompt=no grid.lines=0 ) header(height=73 color="536870912" ) summary(height=1 color="536870912" ) footer(height=1 color="536870912" ) detail(height=73 color="536870912" ) table(column=(type=char(50) updatewhereclause=yes name=natiDAT*zon_name dbname="v_rap_ss_scc.nation_name" ) column=(type=char(50) updatewhereclause=yes name=state_name dbname="v_rap_ss_scc.state_name" ) column=(type=char(50) updatewhereclause=yes name=county_name dbname="v_rap_ss_scc.county_name" ) column=(type=char(10) updatewhereclause=yes name=source_id dbname="v_rap_ss_scc.source_id" ) column=(type=char(50) updatewhereclause=yes name=source_name dbname="v_rap_ss_scc.source_name" ) column=(type=char(4) updatewhereclause=yes name=sic_code dbname="vDAT*|_rap_ss_scc.sic_code" ) column=(type=char(10) updatewhereclause=yes name=device_id dbname="v_rap_ss_scc.device_id" ) column=(type=char(50) updatewhereclause=yes name=device_name dbname="v_rap_ss_scc.device_name" ) column=(type=char(10) updatewhereclause=yes name=process_id dbname="v_rap_ss_scc.process_id" ) column=(type=char(50) updatewhereclause=yes name=process_name dbname="v_rap_ss_scc.process_name" ) column=(type=char(10) updatewhereclause=yes name=scc_code dbname="v_rap_ss_scc.scc_cDAT*~ode" ) retrieve="PBSELECT( VERSION(400) TABLE(NAME=~"v_rap_ss_scc~" ) COLUMN(NAME=~"v_rap_ss_scc.nation_name~") COLUMN(NAME=~"v_rap_ss_scc.state_name~") COLUMN(NAME=~"v_rap_ss_scc.county_name~") COLUMN(NAME=~"v_rap_ss_scc.source_id~") COLUMN(NAME=~"v_rap_ss_scc.source_name~") COLUMN(NAME=~"v_rap_ss_scc.sic_code~") COMPUTE(NAME=~"v_rap_ss_scc.source_sub1_id as device_id~") COMPUTE(NAME=~"v_rap_ss_scc.source_sub1_name as device_name~") COMPUTE(NAME=~"v_rap_ss_scc.source_sub2_id as process_id~") CODAT*MPUTE(NAME=~"v_rap_ss_scc.source_sub2_name as process_name~") COLUMN(NAME=~"v_rap_ss_scc.scc_code~")WHERE( EXP1 =~"v_rap_ss_scc.source_sub2_rid~" OP =~"in~" EXP2 =~":al_ridArray~" ) ) ORDER(NAME=~"v_rap_ss_scc.nation_name~" ASC=no) ORDER(NAME=~"v_rap_ss_scc.state_name~" ASC=yes ) ORDER(NAME=~"v_rap_ss_scc.county_name~" ASC=yes ) ORDER(NAME=~"v_rap_ss_scc.source_id~" ASC=yes ) ORDER(NAME=~"7~" ASC=yes ) ORDER(NAME=~"9~" ASC=yes ) ARG(NAME = ~"al_ridArray~" TYPE = numberlist) " argumentDAT*s=(("al_ridArray", numberlist)) ) text(band=header alignment="0" text="Source Id"border="0" color="0" x="1326" y="8" height="53" width="321" name=source_id_t font.face="MS Sans Serif" font.height="-8" font.weight="700" font.family="2" font.pitch="2" font.charset="0" background.mode="1" background.color="536870912" ) text(band=header alignment="0" text="Source Name"border="0" color="0" x="1655" y="8" height="53" width="650" name=source_name_t font.face="MS Sans Serif" font.height="-8" font.wDAT*eight="700" font.family="2" font.pitch="2" font.charset="0" background.mode="1" background.color="536870912" ) text(band=header alignment="0" text="Sic Code"border="0" color="0" x="2314" y="8" height="53" width="321" name=sic_code_t font.face="MS Sans Serif" font.height="-8" font.weight="700" font.family="2" font.pitch="2" font.charset="0" background.mode="1" background.color="536870912" ) text(band=header alignment="0" text="Device Id"border="0" color="0" x="2643" y="8" height="53" width="3DAT*21" name=device_id_t font.face="MS Sans Serif" font.height="-8" font.weight="700" font.family="2" font.pitch="2" font.charset="0" background.mode="1" background.color="536870912" ) text(band=header alignment="0" text="Device Name"border="0" color="0" x="2972" y="8" height="53" width="650" name=device_name_t font.face="MS Sans Serif" font.height="-8" font.weight="700" font.family="2" font.pitch="2" font.charset="0" background.mode="1" background.color="536870912" ) text(band=header alignmenDAT*t="0" text="Process Id"border="0" color="0" x="3630" y="8" height="53" width="321" name=process_id_t font.face="MS Sans Serif" font.height="-8" font.weight="700" font.family="2" font.pitch="2" font.charset="0" background.mode="1" background.color="536870912" ) text(band=header alignment="0" text="Process Name"border="0" color="0" x="3959" y="8" height="53" width="650" name=process_name_t font.face="MS Sans Serif" font.height="-8" font.weight="700" font.family="2" font.pitch="2" font.charsetDAT*="0" background.mode="1" background.color="536870912" ) text(band=header alignment="0" text="Scc Code"border="0" color="0" x="4618" y="8" height="53" width="321" name=scc_code_t font.face="MS Sans Serif" font.height="-8" font.weight="700" font.family="2" font.pitch="2" font.charset="0" background.mode="1" background.color="536870912" ) text(band=header alignment="0" text="Nation Name"border="0" color="0" x="10" y="8" height="53" width="430" name=nation_name_t font.face="MS Sans Serif" font.DAT*height="-8" font.weight="700" font.family="2" font.pitch="2" font.charset="0" background.mode="1" background.color="536870912" ) text(band=header alignment="0" text="State Name"border="0" color="0" x="449" y="8" height="53" width="430" name=state_name_t font.face="MS Sans Serif" font.height="-8" font.weight="700" font.family="2" font.pitch="2" font.charset="0" background.mode="1" background.color="536870912" ) text(band=header alignment="0" text="County Name"border="0" color="0" x="887" y="8DAT*" height="53" width="430" name=county_name_t font.face="MS Sans Serif" font.height="-8" font.weight="700" font.family="2" font.pitch="2" font.charset="0" background.mode="1" background.color="536870912" ) column(band=detail id=2 alignment="0" tabsequence=32766 border="0" color="0" x="449" y="8" height="53" width="430" format="[general]" name=state_name edit.limit=50 edit.case=any edit.focusrectangle=no edit.autoselect=yes edit.autohscroll=yes font.face="MS Sans Serif" font.height="-8" font.wDAT*eight="700" font.family="2" font.pitch="2" font.charset="0" background.mode="1" background.color="536870912" ) column(band=detail id=3 alignment="0" tabsequence=32766 border="0" color="0" x="887" y="8" height="53" width="430" format="[general]" name=county_name edit.limit=50 edit.case=any edit.focusrectangle=no edit.autoselect=yes edit.autohscroll=yes font.face="MS Sans Serif" font.height="-8" font.weight="700" font.family="2" font.pitch="2" font.charset="0" background.mode="1" background.colDAT*or="536870912" ) column(band=detail id=4 alignment="0" tabsequence=32766 border="0" color="0" x="1326" y="8" height="53" width="321" format="[general]" name=source_id edit.limit=10 edit.case=any edit.focusrectangle=no edit.autoselect=yes edit.autohscroll=yes font.face="MS Sans Serif" font.height="-8" font.weight="700" font.family="2" font.pitch="2" font.charset="0" background.mode="1" background.color="536870912" ) column(band=detail id=5 alignment="0" tabsequence=32766 border="0" color="0" xDAT*="1655" y="8" height="53" width="650" format="[general]" name=source_name edit.limit=50 edit.case=any edit.focusrectangle=no edit.autoselect=yes edit.autohscroll=yes font.face="MS Sans Serif" font.height="-8" font.weight="700" font.family="2" font.pitch="2" font.charset="0" background.mode="1" background.color="536870912" ) column(band=detail id=6 alignment="0" tabsequence=32766 border="0" color="0" x="2314" y="8" height="53" width="321" format="[general]" name=sic_code edit.limit=4 edit.caseDAT*=any edit.focusrectangle=no edit.autoselect=yes edit.autohscroll=yes font.face="MS Sans Serif" font.height="-8" font.weight="700" font.family="2" font.pitch="2" font.charset="0" background.mode="1" background.color="536870912" ) column(band=detail id=7 alignment="0" tabsequence=32766 border="0" color="0" x="2643" y="8" height="53" width="321" format="[general]" name=device_id edit.limit=10 edit.case=any edit.focusrectangle=no edit.autoselect=yes edit.autohscroll=yes font.face="MS Sans Serif" DAT*font.height="-8" font.weight="700" font.family="2" font.pitch="2" font.charset="0" background.mode="1" background.color="536870912" ) column(band=detail id=8 alignment="0" tabsequence=32766 border="0" color="0" x="2972" y="8" height="53" width="650" format="[general]" name=device_name edit.limit=50 edit.case=any edit.focusrectangle=no edit.autoselect=yes edit.autohscroll=yes font.face="MS Sans Serif" font.height="-8" font.weight="700" font.family="2" font.pitch="2" font.charset="0" backgroundDAT*.mode="1" background.color="536870912" ) column(band=detail id=9 alignment="0" tabsequence=32766 border="0" color="0" x="3630" y="8" height="53" width="321" format="[general]" name=process_id edit.limit=10 edit.case=any edit.focusrectangle=no edit.autoselect=yes edit.autohscroll=yes font.face="MS Sans Serif" font.height="-8" font.weight="700" font.family="2" font.pitch="2" font.charset="0" background.mode="1" background.color="536870912" ) column(band=detail id=10 alignment="0" tabsequence=32DAT*766 border="0" color="0" x="3959" y="8" height="53" width="650" format="[general]" name=process_name edit.limit=50 edit.case=any edit.focusrectangle=no edit.autoselect=yes edit.autohscroll=yes font.face="MS Sans Serif" font.height="-8" font.weight="700" font.family="2" font.pitch="2" font.charset="0" background.mode="1" background.color="536870912" ) column(band=detail id=11 alignment="0" tabsequence=32766 border="0" color="0" x="4618" y="8" height="53" width="321" format="[general]" name=sccDAT*_code edit.limit=10 edit.case=any edit.focusrectangle=no edit.autoselect=yes edit.autohscroll=yes font.face="MS Sans Serif" font.height="-8" font.weight="700" font.family="2" font.pitch="2" font.charset="0" background.mode="1" background.color="536870912" ) column(band=detail id=1 alignment="0" tabsequence=32766 border="0" color="0" x="10" y="8" height="53" width="430" format="[general]" name=nation_name edit.limit=50 edit.case=any edit.focusrectangle=no edit.autoselect=yes edit.autohscroll=yeDAT*s font.face="MS Sans Serif" font.height="-8" font.weight="700" font.family="2" font.pitch="2" font.charset="0" background.mode="1" background.color="536870912" ) DAT*PDW0800kpdwOf;<e````@] F$jknnaaDAT* @9*n*DAT* (< $0% ArialArial$ 2$ -10$400$ 16777215$%3621$20DAT*$Q81$7823& [general] [general]%('Page ' + page() + ' of ' + pageCount() ^ ' ^!% ^"$# Page &  of $)1`+  0246< , .DAT*($--14$/700$1|1660$3]93$5j1130%78Selection Summary ReportSelection Summary Report$: 536870912@ 9@)9=[LKDAT*>< ?ACFEG@ report_group$@19$By121$DJ4426r_ss_group_sub_reportH$#IJ0 LS=L< ?MOCRQ@report_result$N420$P129r_ss_sDAT*ource_sub_reportL[KT< ?UWCZY@report_source$V276$X137r_ss_source_sub_reportLS\< ?]AC`_a@report_filter$^148r_ss_filter_sub_reportb$#cd0 @9DAT*ghi aaDAT*release 5; datawindow(units=0 timer_interval=0 color=1090519039 processing=5 print.documentname="" print.orientation = 1 print.margin.left = 110 print.margin.right = 110 print.margin.top = 97 print.margin.bottom = 97 print.paper.source = 0 print.paper.size = 0 print.prompt=no ) header(height=201 color="536870912" ) summary(height=1 color="536870912" ) footer(height=9 color="536870912" ) detail(height=553 color="536870912" height.autosize=yes) table(column=(type=char(10) updatewhereclause=yeDAT*s name=a dbname="a" ) unbound = "yes") report(band=detail dataobject="r_ss_group_sub_report" x="19" y="20" height="121" width="4426" border="0" height.autosize=yes criteria="" nest_arguments=(("0")) trail_footer = yes name=report_group slideup=directlyabove ) report(band=detail dataobject="r_ss_source_sub_report" x="19" y="420" height="129" width="4426" border="0" height.autosize=yes criteria="" trail_footer = yes name=report_result slideup=directlyabove ) report(band=detail dataobject=DAT*"r_ss_source_sub_report" x="19" y="276" height="137" width="4426" border="0" height.autosize=yes criteria="" trail_footer = yes name=report_source slideleft=yes slideup=directlyabove ) report(band=detail dataobject="r_ss_filter_sub_report" x="19" y="148" height="121" width="4426" border="0" height.autosize=yes criteria="" nest_arguments=(("0")) trail_footer = yes name=report_filter slideleft=yes slideup=directlyabove ) compute(band=header alignment="1" expression="'Page ' + page() + ' ofDAT* ' + pageCount()"border="0" color="0" x="3621" y="20" height="81" width="823" format="[general]" font.face="Arial" font.height="-10" font.weight="400" font.family="2" font.pitch="2" font.charset="0" background.mode="2" background.color="16777215" ) text(band=header alignment="2" text="Selection Summary Report"border="0" color="0" x="1660" y="20" height="93" width="1130" font.face="Arial" font.height="-14" font.weight="700" font.family="2" font.pitch="2" font.charset="0" font.underline="1" bacDAT*2kground.mode="2" background.color="16777215" ) DAT*PDW0800pdwPl}MN|````J F$ nnaaDAT* @ID` DAT* state_name_t< $0%  MS Sans SerifMS Sans Serif$ 2$-8$700$1$ 536870912$bDAT*448$8$553$^430% State Name State Name`)!"$&county_name_t$#w887$%^430%'( County Name County Name`2 *DAT*+-/ source_id_t$,".1326$.F@320%01 Source Id Source Id`;)3468source_name_t$5jw1655$7649%9: Source Name Source Name`D2<DAT*=?A sic_code_t$> 2313$@F@320%BC Sic Code Sic Code`;EFHJnation_name_t$G 9$I^430%KL Nation Name Nation Name@DAT*@IOuYPNQSU(X2 state_name$Rb448$T^430&VW [general] [general]`OZN[]U(DAT*_2 county_name$\w887$^^430gYaNbdU(f source_id$c".1326$eFA321n`hNikU(DAT*m2 source_name$jjw1655$l650ugoNprU(t sic_code$q 2313$sFA321nvNwyU({2DAT* nation_name$x 9$z^430@~DAT*u3O3Y3` g3n  :al_ridArray   al_ridArray nation_namev_rap_ss_sic.nation_nameDAT*u state_namev_rap_ss_sic.state_nameO county_namev_rap_ss_sic.county_nameY source_idv_rap_ss_sic.source_id` source_namev_rap_ss_sic.source_nameg sic_codev_rap_ss_sic.sic_codenMPBSELECT( VERSION(400) TABLE(NAME="v_rap_ss_sic" ) COLUMN(NAME="v_rap_ss_sic.nation_name") COLUMN(NAME="v_rap_ss_sic.state_name") COLUMN(NAME="v_rap_ss_sic.county_name")DAT* COLUMN(NAME="v_rap_ss_sic.source_id") COLUMN(NAME="v_rap_ss_sic.source_name") COLUMN(NAME="v_rap_ss_sic.sic_code")WHERE( EXP1 ="v_rap_ss_sic.source_rid" OP ="in" EXP2 ="" ) ) ORDER(NAME="v_rap_ss_sic.nation_name" ASC=no) ORDER(NAME="v_rap_ss_sic.state_name" ASC=yes ) ORDER(NAME="v_rap_ss_sic.county_name" ASC=yes ) ORDER(NAME="v_rap_ss_sic.source_id" ASC=yes ) ARG(NAME = "al_ridArray" TYPE = numberlist) DAT*release 5; datawindow(units=0 timer_interval=0 color=16777215 processing=1 print.documentname="" print.orientation = 0 print.margin.left = 110 print.margin.right = 110 print.margin.top = 97 print.margin.bottom = 97 print.paper.source = 0 print.paper.size = 0 print.prompt=no grid.lines=0 ) header(height=73 color="536870912" ) summary(height=1 color="536870912" ) footer(height=1 color="536870912" ) detail(height=73 color="536870912" ) table(column=(type=char(50) updatewhereclause=yes name=natiDAT*on_name dbname="v_rap_ss_sic.nation_name" ) column=(type=char(50) updatewhereclause=yes name=state_name dbname="v_rap_ss_sic.state_name" ) column=(type=char(50) updatewhereclause=yes name=county_name dbname="v_rap_ss_sic.county_name" ) column=(type=char(10) updatewhereclause=yes name=source_id dbname="v_rap_ss_sic.source_id" ) column=(type=char(50) updatewhereclause=yes name=source_name dbname="v_rap_ss_sic.source_name" ) column=(type=char(4) updatewhereclause=yes name=sic_code dbname="vDAT*_rap_ss_sic.sic_code" ) retrieve="PBSELECT( VERSION(400) TABLE(NAME=~"v_rap_ss_sic~" ) COLUMN(NAME=~"v_rap_ss_sic.nation_name~") COLUMN(NAME=~"v_rap_ss_sic.state_name~") COLUMN(NAME=~"v_rap_ss_sic.county_name~") COLUMN(NAME=~"v_rap_ss_sic.source_id~") COLUMN(NAME=~"v_rap_ss_sic.source_name~") COLUMN(NAME=~"v_rap_ss_sic.sic_code~")WHERE( EXP1 =~"v_rap_ss_sic.source_rid~" OP =~"in~" EXP2 =~":al_ridArray~" ) ) ORDER(NAME=~"v_rap_ss_sic.nation_name~" ASC=no) ORDER(NAME=~"v_rap_ss_sic.state_DAT*name~" ASC=yes ) ORDER(NAME=~"v_rap_ss_sic.county_name~" ASC=yes ) ORDER(NAME=~"v_rap_ss_sic.source_id~" ASC=yes ) ARG(NAME = ~"al_ridArray~" TYPE = numberlist) " arguments=(("al_ridArray", numberlist)) ) text(band=header alignment="0" text="State Name"border="0" color="0" x="449" y="8" height="53" width="430" name=state_name_t font.face="MS Sans Serif" font.height="-8" font.weight="700" font.family="2" font.pitch="2" font.charset="0" background.mode="1" background.color="536870912" ) text(DAT*band=header alignment="0" text="County Name"border="0" color="0" x="887" y="8" height="53" width="430" name=county_name_t font.face="MS Sans Serif" font.height="-8" font.weight="700" font.family="2" font.pitch="2" font.charset="0" background.mode="1" background.color="536870912" ) text(band=header alignment="0" text="Source Id"border="0" color="0" x="1326" y="8" height="53" width="321" name=source_id_t font.face="MS Sans Serif" font.height="-8" font.weight="700" font.family="2" font.pitch="DAT*2" font.charset="0" background.mode="1" background.color="536870912" ) text(band=header alignment="0" text="Source Name"border="0" color="0" x="1655" y="8" height="53" width="650" name=source_name_t font.face="MS Sans Serif" font.height="-8" font.weight="700" font.family="2" font.pitch="2" font.charset="0" background.mode="1" background.color="536870912" ) text(band=header alignment="0" text="Sic Code"border="0" color="0" x="2314" y="8" height="53" width="321" name=sic_code_t font.face="MS DAT*Sans Serif" font.height="-8" font.weight="700" font.family="2" font.pitch="2" font.charset="0" background.mode="1" background.color="536870912" ) text(band=header alignment="0" text="Nation Name"border="0" color="0" x="10" y="8" height="53" width="430" name=nation_name_t font.face="MS Sans Serif" font.height="-8" font.weight="700" font.family="2" font.pitch="2" font.charset="0" background.mode="1" background.color="536870912" ) column(band=detail id=2 alignment="0" tabsequence=32766 border="DAT*0" color="0" x="449" y="8" height="53" width="430" format="[general]" name=state_name edit.limit=50 edit.case=any edit.focusrectangle=no edit.autoselect=yes edit.autohscroll=yes font.face="MS Sans Serif" font.height="-8" font.weight="700" font.family="2" font.pitch="2" font.charset="0" background.mode="1" background.color="536870912" ) column(band=detail id=3 alignment="0" tabsequence=32766 border="0" color="0" x="887" y="8" height="53" width="430" format="[general]" name=county_name edit.limDAT*it=50 edit.case=any edit.focusrectangle=no edit.autoselect=yes edit.autohscroll=yes font.face="MS Sans Serif" font.height="-8" font.weight="700" font.family="2" font.pitch="2" font.charset="0" background.mode="1" background.color="536870912" ) column(band=detail id=4 alignment="0" tabsequence=32766 border="0" color="0" x="1326" y="8" height="53" width="321" format="[general]" name=source_id edit.limit=10 edit.case=any edit.focusrectangle=no edit.autoselect=yes edit.autohscroll=yes font.face="DAT*MS Sans Serif" font.height="-8" font.weight="700" font.family="2" font.pitch="2" font.charset="0" background.mode="1" background.color="536870912" ) column(band=detail id=5 alignment="0" tabsequence=32766 border="0" color="0" x="1655" y="8" height="53" width="650" format="[general]" name=source_name edit.limit=50 edit.case=any edit.focusrectangle=no edit.autoselect=yes edit.autohscroll=yes font.face="MS Sans Serif" font.height="-8" font.weight="700" font.family="2" font.pitch="2" font.charsetDAT*="0" background.mode="1" background.color="536870912" ) column(band=detail id=6 alignment="0" tabsequence=32766 border="0" color="0" x="2314" y="8" height="53" width="321" format="[general]" name=sic_code edit.limit=4 edit.case=any edit.focusrectangle=no edit.autoselect=yes edit.autohscroll=yes font.face="MS Sans Serif" font.height="-8" font.weight="700" font.family="2" font.pitch="2" font.charset="0" background.mode="1" background.color="536870912" ) column(band=detail id=1 alignment="0" tabDAT*osequence=32766 border="0" color="0" x="10" y="8" height="53" width="430" format="[general]" name=nation_name edit.limit=50 edit.case=any edit.focusrectangle=no edit.autoselect=yes edit.autohscroll=yes font.face="MS Sans Serif" font.height="-8" font.weight="700" font.family="2" font.pitch="2" font.charset="0" background.mode="1" background.color="536870912" ) DAT*PDW0800pdwPlmo````% F$nnaaDAT* @%f` DAT* st_title< $0%  ArialArial$ 2$-12$700$1$ 553648127$19DAT*$20$Q81$\860%Selection DataSelection Data`2!"%')+-/ sic_code_t< # $$-10$& 536870912$(1665$*DAT*132$,A65$.e101%01SICSIC`; 3"%4)+68 process_id_t$5 3310$7225%9:ProcessProcess`D2<"%=)+?A sDAT*cc_code_t$>%3877$@|124%BCSCCSCC`M;E"%F)+HJ device_id_t$G2213$I197%KLDeviceDevice`TDN"%)+OQ state_name_tDAT*$P151%RSStateState`]MU"%V)+XZcounty_name_t$W%549$Y202%[\CountyCounty`fT^"%_)+ac source_id_t$`J1098$bDAT*206%deSourceSourceP]giki$h14$j212$l%4389@)%nnPmgk@%pDAT*Psoq)k)$r5ptou%x+z|(2 state_name< # v$w400$y4${494&}~ [general] DAT*[general]sou%4x+| ( process_id$.302ou%=x+| ( scc_codeou%Fx+|(DAT* device_idou%Vx+z|(2 county_nameou%_x+|( source_id$421ou%'x+|DAT*( sic_code$238ou%4+| (2 process_name$D68$%1061ou%F+|(2 devDAT*ice_name$1043ou%_+|(2 source_name@%DAT* 3s33 3DAT*  3  3  nation_namev_rap_ss_scc.nation_name state_namev_rap_ss_scc.state_names county_namev_rap_ss_scc.county_name souDAT* rce_idv_rap_ss_scc.source_id source_namev_rap_ss_scc.source_name sic_codev_rap_ss_scc.sic_code device_idv_rap_ss_scc.device_id device_namev_rap_ss_scc.device_name process_idv_rap_ss_scc.process_id process_namev_rap_ss_scc.process_name scc_codev_rap_ss_scc.scc_code$PBSELDAT*ECT( VERSION(400) TABLE(NAME="v_rap_ss_scc" ) COLUMN(NAME="v_rap_ss_scc.nation_name") COLUMN(NAME="v_rap_ss_scc.state_name") COLUMN(NAME="v_rap_ss_scc.county_name") COLUMN(NAME="v_rap_ss_scc.source_id") COLUMN(NAME="v_rap_ss_scc.source_name") COLUMN(NAME="v_rap_ss_scc.sic_code") COMPUTE(NAME="v_rap_ss_scc.source_sub1_id as device_id") COMPUTE(NAME="v_rap_ss_scc.source_sub1_name as device_name") COMPUTE(NAME="v_rap_ss_scc.source_sub2_id as process_id") COMPUTE(NAME="v_rap_ss_scc.source_sub2_name asDAT* process_name") COLUMN(NAME="v_rap_ss_scc.scc_code")) ORDER(NAME="v_rap_ss_scc.nation_name" ASC=no) ORDER(NAME="v_rap_ss_scc.state_name" ASC=yes ) ORDER(NAME="v_rap_ss_scc.county_name" ASC=yes ) ORDER(NAME="v_rap_ss_scc.source_id" ASC=yes ) ORDER(NAME="7" ASC=yes ) ORDER(NAME="9" ASC=yes ) mstate_name county_name source_id source_name sic_code device_id device_name process_id process_name scc_codeDAT*release 5; datawindow(units=0 timer_interval=0 color=16777215 processing=0 print.documentname="" print.orientation = 0 print.margin.left = 110 print.margin.right = 110 print.margin.top = 97 print.margin.bottom = 97 print.paper.source = 0 print.paper.size = 0 print.prompt=no ) header(height=233 color="536870912" ) summary(height=1 color="536870912" ) footer(height=41 color="536870912" ) detail(height=137 color="536870912" ) table(column=(type=char(50) updatewhereclause=yes name=nation_name dbDAT*name="v_rap_ss_scc.nation_name" ) column=(type=char(50) updatewhereclause=yes name=state_name dbname="v_rap_ss_scc.state_name" ) column=(type=char(50) updatewhereclause=yes name=county_name dbname="v_rap_ss_scc.county_name" ) column=(type=char(10) updatewhereclause=yes name=source_id dbname="v_rap_ss_scc.source_id" ) column=(type=char(50) updatewhereclause=yes name=source_name dbname="v_rap_ss_scc.source_name" ) column=(type=char(4) updatewhereclause=yes name=sic_code dbname="v_rap_ss_scDAT*c.sic_code" ) column=(type=char(10) updatewhereclause=yes name=device_id dbname="v_rap_ss_scc.device_id" ) column=(type=char(50) updatewhereclause=yes name=device_name dbname="v_rap_ss_scc.device_name" ) column=(type=char(10) updatewhereclause=yes name=process_id dbname="v_rap_ss_scc.process_id" ) column=(type=char(50) updatewhereclause=yes name=process_name dbname="v_rap_ss_scc.process_name" ) column=(type=char(10) updatewhereclause=yes name=scc_code dbname="v_rap_ss_scc.scc_code" ) rDAT*etrieve="PBSELECT( VERSION(400) TABLE(NAME=~"v_rap_ss_scc~" ) COLUMN(NAME=~"v_rap_ss_scc.nation_name~") COLUMN(NAME=~"v_rap_ss_scc.state_name~") COLUMN(NAME=~"v_rap_ss_scc.county_name~") COLUMN(NAME=~"v_rap_ss_scc.source_id~") COLUMN(NAME=~"v_rap_ss_scc.source_name~") COLUMN(NAME=~"v_rap_ss_scc.sic_code~") COMPUTE(NAME=~"v_rap_ss_scc.source_sub1_id as device_id~") COMPUTE(NAME=~"v_rap_ss_scc.source_sub1_name as device_name~") COMPUTE(NAME=~"v_rap_ss_scc.source_sub2_id as process_id~") COMPUTE(NAMEDAT*=~"v_rap_ss_scc.source_sub2_name as process_name~") COLUMN(NAME=~"v_rap_ss_scc.scc_code~")) ORDER(NAME=~"v_rap_ss_scc.nation_name~" ASC=no) ORDER(NAME=~"v_rap_ss_scc.state_name~" ASC=yes ) ORDER(NAME=~"v_rap_ss_scc.county_name~" ASC=yes ) ORDER(NAME=~"v_rap_ss_scc.source_id~" ASC=yes ) ORDER(NAME=~"7~" ASC=yes ) ORDER(NAME=~"9~" ASC=yes ) " ) text(band=header alignment="0" text="Selection Data"border="0" color="0" x="19" y="20" height="81" width="860" name=st_title font.face="Arial" font.hDAT*eight="-12" font.weight="700" font.family="2" font.pitch="2" font.charset="0" background.mode="1" background.color="553648127" ) text(band=header alignment="0" text="SIC"border="0" color="0" x="1665" y="132" height="65" width="101" name=sic_code_t font.face="Arial" font.height="-10" font.weight="700" font.family="2" font.pitch="2" font.charset="0" background.mode="1" background.color="536870912" ) text(band=header alignment="0" text="Process"border="0" color="0" x="3310" y="132" height="65" DAT*width="225" name=process_id_t font.face="Arial" font.height="-10" font.weight="700" font.family="2" font.pitch="2" font.charset="0" background.mode="1" background.color="536870912" ) text(band=header alignment="0" text="SCC"border="0" color="0" x="3877" y="132" height="65" width="124" name=scc_code_t font.face="Arial" font.height="-10" font.weight="700" font.family="2" font.pitch="2" font.charset="0" background.mode="1" background.color="536870912" ) text(band=header alignment="0" text="DeDAT* vice"border="0" color="0" x="2213" y="132" height="65" width="197" name=device_id_t font.face="Arial" font.height="-10" font.weight="700" font.family="2" font.pitch="2" font.charset="0" background.mode="1" background.color="536870912" ) text(band=header alignment="0" text="State"border="0" color="0" x="19" y="132" height="65" width="151" name=state_name_t font.face="Arial" font.height="-10" font.weight="700" font.family="2" font.pitch="2" font.charset="0" background.mode="1" background.coloDAT*"r="536870912" ) text(band=header alignment="0" text="County"border="0" color="0" x="549" y="132" height="65" width="202" name=county_name_t font.face="Arial" font.height="-10" font.weight="700" font.family="2" font.pitch="2" font.charset="0" background.mode="1" background.color="536870912" ) text(band=header alignment="0" text="Source"border="0" color="0" x="1098" y="132" height="65" width="206" name=source_id_t font.face="Arial" font.height="-10" font.weight="700" font.family="2" font.pitDAT*$ch="2" font.charset="0" background.mode="1" background.color="536870912" ) line(band=header x1="19" y1="212" x2="4389" y2="212" pen.style="0" pen.width="14" pen.color="0" background.mode="1" background.color="553648127" ) line(band=detail x1="19" y1="132" x2="4389" y2="132" pen.style="0" pen.width="5" pen.color="0" background.mode="1" background.color="553648127" ) column(band=detail id=2 alignment="0" tabsequence=32766 border="0" color="0" x="19" y="4" height="65" width="494" format="[generaDAT*&l]" name=state_name edit.limit=50 edit.case=any edit.autoselect=yes edit.autohscroll=yes font.face="Arial" font.height="-10" font.weight="400" font.family="2" font.pitch="2" font.charset="0" background.mode="1" background.color="536870912" ) column(band=detail id=9 alignment="0" tabsequence=32766 border="0" color="0" x="3310" y="4" height="65" width="302" format="[general]" name=process_id edit.limit=10 edit.case=any edit.autoselect=yes edit.autohscroll=yes font.face="Arial" font.height="-10DAT*(" font.weight="400" font.family="2" font.pitch="2" font.charset="0" background.mode="1" background.color="536870912" ) column(band=detail id=11 alignment="0" tabsequence=32766 border="0" color="0" x="3877" y="4" height="65" width="302" format="[general]" name=scc_code edit.limit=10 edit.case=any edit.autoselect=yes edit.autohscroll=yes font.face="Arial" font.height="-10" font.weight="400" font.family="2" font.pitch="2" font.charset="0" background.mode="1" background.color="536870912" ) columDAT**n(band=detail id=7 alignment="0" tabsequence=32766 border="0" color="0" x="2213" y="4" height="65" width="302" format="[general]" name=device_id edit.limit=10 edit.case=any edit.autoselect=yes edit.autohscroll=yes font.face="Arial" font.height="-10" font.weight="400" font.family="2" font.pitch="2" font.charset="0" background.mode="1" background.color="536870912" ) column(band=detail id=3 alignment="0" tabsequence=32766 border="0" color="0" x="549" y="4" height="65" width="494" format="[generalDAT*,]" name=county_name edit.limit=50 edit.case=any edit.autoselect=yes edit.autohscroll=yes font.face="Arial" font.height="-10" font.weight="400" font.family="2" font.pitch="2" font.charset="0" background.mode="1" background.color="536870912" ) column(band=detail id=4 alignment="0" tabsequence=32766 border="0" color="0" x="1098" y="4" height="65" width="421" format="[general]" name=source_id edit.limit=10 edit.case=any edit.autoselect=yes edit.autohscroll=yes font.face="Arial" font.height="-10"DAT*. font.weight="400" font.family="2" font.pitch="2" font.charset="0" background.mode="1" background.color="536870912" ) column(band=detail id=6 alignment="0" tabsequence=32766 border="0" color="0" x="1665" y="4" height="65" width="238" format="[general]" name=sic_code edit.limit=4 edit.case=any edit.autoselect=yes edit.autohscroll=yes font.face="Arial" font.height="-10" font.weight="400" font.family="2" font.pitch="2" font.charset="0" background.mode="1" background.color="536870912" ) column(bDAT*0and=detail id=10 alignment="0" tabsequence=32766 border="0" color="0" x="3310" y="68" height="65" width="1061" format="[general]" name=process_name edit.limit=50 edit.case=any edit.autoselect=yes edit.autohscroll=yes font.face="Arial" font.height="-10" font.weight="400" font.family="2" font.pitch="2" font.charset="0" background.mode="1" background.color="536870912" ) column(band=detail id=8 alignment="0" tabsequence=32766 border="0" color="0" x="2213" y="68" height="65" width="1043" format="[gDAT*2eneral]" name=device_name edit.limit=50 edit.case=any edit.autoselect=yes edit.autohscroll=yes font.face="Arial" font.height="-10" font.weight="400" font.family="2" font.pitch="2" font.charset="0" background.mode="1" background.color="536870912" ) column(band=detail id=5 alignment="0" tabsequence=32766 border="0" color="0" x="1098" y="68" height="65" width="1043" format="[general]" name=source_name edit.limit=50 edit.case=any edit.autoselect=yes edit.autohscroll=yes font.face="Arial" font.heDAT*ight="-10" font.weight="400" font.family="2" font.pitch="2" font.charset="0" background.mode="1" background.color="536870912" ) line(band=footer x1="19" y1="20" x2="4389" y2="20" pen.style="0" pen.width="14" pen.color="0" background.mode="1" background.color="553648127" ) sparse(names="state_name county_name source_id source_name sic_code device_id device_name process_id process_name scc_code") DAT*6PDW0800LpdwPl@*+?````n F$LnnaaDAT*8 @I ` DAT*: nation_name_t< $0%  MS Sans SerifMS Sans Serif$ 2$-8$700$1$ 536870912$DAT*< 9$8$553$^430% Nation Name Nation Name`!#%'$" 553648127$$b448$&^430%() State Name State Name@DAT*>@U,88-+.024(72 nation_name$/ 9$1A65$3^430&56 [general] [general],9+DAT*@:0<4 > state_name$;b448$=^430@ACKDAT*BG,EF3J8HI3 enB :al_ridArray _gD al_ridArray nation_name%rap_geographic_locations.nation_name, state_name$rap_geographic_locations.state_name8>PBSELECT( VERSION(400) TABLE(NAME="rap_geographic_locations" ALIAS=DAT*"rap_geographic_locations_a" ) TABLE(NAME="rap_geographic_locations" ALIAS="rap_geographic_locations_b" ) COMPUTE(NAME="rap_geographic_locations_a.name as nation_name") COMPUTE(NAME="rap_geographic_locations_b.name as state_name") JOIN (LEFT="rap_geographic_locations_b.parent_rid" OP ="="RIGHT="rap_geographic_locations_a.rid" )WHERE( EXP1 ="rap_geographic_locations_b.rid" OP ="in" EXP2 ="" ) ) ORDER(NAME="1" ASC=no) ORDER(NAME="2" ASC=yes ) ARG(NAME = "al_ridArray" TYPE = numberliDAT*Frelease 5; datawindow(units=0 timer_interval=0 color=16777215 processing=1 print.documentname="" print.orientation = 0 print.margin.left = 110 print.margin.right = 110 print.margin.top = 97 print.margin.bottom = 97 print.paper.source = 0 print.paper.size = 0 print.prompt=no grid.lines=0 ) header(height=73 color="536870912" ) summary(height=1 color="536870912" ) footer(height=1 color="536870912" ) detail(height=85 color="536870912" ) table(column=(type=char(50) updatewhereclause=yes name=natiDAT*Hon_name dbname="rap_geographic_locations.nation_name" ) column=(type=char(50) updatewhereclause=yes name=state_name dbname="rap_geographic_locations.state_name" ) retrieve="PBSELECT( VERSION(400) TABLE(NAME=~"rap_geographic_locations~" ALIAS=~"rap_geographic_locations_a~" ) TABLE(NAME=~"rap_geographic_locations~" ALIAS=~"rap_geographic_locations_b~" ) COMPUTE(NAME=~"rap_geographic_locations_a.name as nation_name~") COMPUTE(NAME=~"rap_geographic_locations_b.name as state_name~") JOIN (LEFT=DAT*J~"rap_geographic_locations_b.parent_rid~" OP =~"=~"RIGHT=~"rap_geographic_locations_a.rid~" )WHERE( EXP1 =~"rap_geographic_locations_b.rid~" OP =~"in~" EXP2 =~":al_ridArray~" ) ) ORDER(NAME=~"1~" ASC=no) ORDER(NAME=~"2~" ASC=yes ) ARG(NAME = ~"al_ridArray~" TYPE = numberlist) " arguments=(("al_ridArray", numberlist)) ) text(band=header alignment="2" text="Nation Name"border="0" color="0" x="10" y="8" height="53" width="430" name=nation_name_t font.face="MS Sans Serif" font.height="-DAT*L8" font.weight="700" font.family="2" font.pitch="2" font.charset="0" background.mode="1" background.color="536870912" ) text(band=header alignment="0" text="State Name"border="0" color="0" x="449" y="8" height="53" width="430" font.face="MS Sans Serif" font.height="-8" font.weight="700" font.family="2" font.pitch="2" font.charset="0" background.mode="1" background.color="553648127" ) column(band=detail id=1 alignment="0" tabsequence=32766 border="0" color="0" x="10" y="8" height="65" width="4DAT*N30" format="[general]" name=nation_name edit.limit=50 edit.case=any edit.focusrectangle=no edit.autoselect=yes edit.autohscroll=yes font.face="MS Sans Serif" font.height="-8" font.weight="700" font.family="2" font.pitch="2" font.charset="0" background.mode="1" background.color="536870912" ) column(band=detail id=2 alignment="0" tabsequence=32766 border="0" color="0" x="449" y="8" height="65" width="430" format="[general]" name=state_name edit.limit=0 edit.case=any edit.autoselect=yes font.faDAT*ce="MS Sans Serif" font.height="-8" font.weight="700" font.family="2" font.pitch="2" font.charset="0" background.mode="1" background.color="536870912" ) DAT*RSource Group object classforward global type u_class_source_group from nonvisualobject end type end forward global type u_class_source_group from nonvisualobject end type global u_class_source_group u_class_source_group type variables //Group Datastore u_ds_base ids_groupData //Source Criteria Datastore u_ds_base ids_sourceCriteria //Filter Criteria Datastore u_ds_base ids_filterCriteria //Result Set Datastore u_ds_base ids_resultSet //Constant data resolution values cDAT*Tonstant integer ii_nationLevel = 1 constant integer ii_stateLevel = 2 constant integer ii_countyLevel = 3 constant integer ii_sourceLevel = 4 constant integer ii_sourceSub1Level = 5 constant integer ii_sourceSub2Level = 6 constant integer ii_sourceSub3Level = 7 constant integer ii_sourceSub4Level = 8 //Instance Arrays for Client SQL Retrieve Use long il_nationArray[] long il_stateArray[] long il_countyArray[] long il_sourceArray[] long il_sourceSub1Array[] long il_sourceSub2Array[]DAT*V long il_sourceSub3Array[] long il_sourceSub4Array[] string is_sicArray[] string is_sccArray[] boolean ib_nullSIC = FALSE boolean ib_nullSCC = FALSE //Column and Array Names for SQL Fragment Construction //NOTE: these names should correspond to column and //array names in the modules that will use the SQL. //The prefix 'a' is used indicate retrieval arguments. //These correspond to datawindow retrieval arguments string is_nationArrayName = "al_nationArray" string is_stateArrayNaDAT*Xme = "al_stateArray" string is_countyArrayName = "al_countyArray" string is_sourceArrayName = "al_sourceArray" string is_sourceSub1ArrayName = "al_sourceSub1Array" string is_sourceSub2ArrayName = "al_sourceSub2Array" string is_sourceSub3ArrayName = "al_sourceSub3Array" string is_sourceSub4ArrayName = "al_sourceSub4Array" string is_sicArrayName = "as_sicArray" string is_sccArrayName = "as_sccArray" //These correspond to view column names string is_nationRidName = "nation_rid" string isDAT*Z_stateRidName = "state_rid" string is_countyRidName = "county_rid" string is_sourceRidName = "source_rid" string is_sourceSub1RidName = "source_sub1_rid" string is_sourceSub2RidName = "source_sub2_rid" string is_sourceSub3RidName = "source_sub3_rid" string is_sourceSub4RidName = "source_sub4_rid" string is_sicCodeName = "sic_code" string is_sccCodeName = "scc_code" //Column Name Aliases (object internal use) //These are internal buffer column names constant string is_groupRid = "groupDAT*\_rid" constant string is_groupName = "group_name" constant string is_groupDescription = "group_description" constant string is_groupDataLevel = "data_level" constant string is_groupFilterLogic = "filter_logic" constant string is_nationRid = "nation_rid" constant string is_stateRid = "state_rid" constant string is_countyRid = "county_rid" constant string is_sourceRid = "source_rid" constant string is_sourceType = "source_type" constant string is_sourceSub1Rid = "source_sub1_rid" constantDAT*^ string is_sourceSub2Rid = "source_sub2_rid" constant string is_sourceSub3Rid = "source_sub3_rid" constant string is_sourceSub4Rid = "source_sub4_rid" constant string is_filterColumnName = "filter_name" constant string is_filterColumnValue = "filter_value" constant string is_sicFilterColumnCode = "sic_code" constant string is_sccFilterColumnCode = "scc_code" end variables forward prototypes public function integer of_sortsources () public function integer of_sortfilters () publicDAT*` function integer of_sort () public function integer of_modobjectsql (ref datastore ads_buffer) public function integer of_modobjectsql (ref datawindow adw_buffer) public function integer of_getsql (ref string as_sql) public function integer of_getfiltersql (ref string as_filtersql) public function integer of_getsourcesql (ref string as_sourcesql, integer ai_datasource) public function integer of_runresultset () public function integer of_modsqlstring (ref string as_sql, integer ai_datasourDAT*bce) public function integer of_modobjectsql (ref datastore ads_buffer, integer ai_datasource) public function integer of_modobjectsql (ref datawindow adw_buffer, integer ai_datasource) public function integer of_savegroup () public function integer of_deletegroup (long al_grouprid) public function integer of_loadgroup (string as_groupname) public function integer of_reset () public function integer of_getdatalevel () public function integer of_getfilterlogic () public function integer of_DAT*dsetdatalevel (integer ai_dataLevel) public function boolean of_groupmodified () public function integer of_resetupdate () public function integer of_resetfilter (integer ai_code) public function long of_finddata (string as_column, any aa_value) public function integer of_setbufferdatalevel (integer ai_code) public function integer of_sortresultset () public function integer of_loadarrays (integer ai_dataSource) public function integer of_runselectionreport () public subroutine of_setdefauDAT*fltnames () end prototypes public function integer of_sortsources (); //sorts the source criteria buffer string ls_sortString integer li_rc ls_sortString = & is_nationRid + " D," +& is_stateRid + " A," +& is_countyRid + " A," +& is_sourceRid + " A," +& is_sourceSub1Rid + " A," +& is_sourceSub2Rid + " A," +& is_sourceSub3Rid + " A," +& is_sourceSub4Rid + " A" li_rc = ids_sourceCriteria.setSort(ls_sortString) if li_rc < 0 then returDAT*hn -1 li_rc = ids_sourceCriteria.sort() if li_rc < 0 then return -1 return 1 end function public function integer of_sortfilters (); //sorts the filter buffer string ls_sortString integer li_rc ls_sortString = & is_filterColumnName + " A," +& is_filterColumnValue + " A" li_rc = ids_filterCriteria.setSort(ls_sortString) if li_rc < 0 then return -1 li_rc = ids_filterCriteria.sort() if li_rc < 0 then return -1 return 1 end function public funcDAT*jtion integer of_sort (); //sort the source and filter buffers integer li_rc li_rc = this.of_sortSources() if li_rc < 0 then return -1 li_rc = this.of_sortFilters() if li_rc < 0 then return -1 li_rc = this.of_sortResultSet() if li_rc < 0 then return -1 return 1 end function public function integer of_modobjectsql (ref datastore ads_buffer); //Wrapper for overloaded function of_modObjectSQL(). //Calls of_modObjectSQL with default logic //the 0 indicates that the resDAT*lult set buffer will be used //to generate the SQL. return this.of_modObjectSQL(ads_buffer, 0) end function public function integer of_modobjectsql (ref datawindow adw_buffer); //Wrapper for overloaded function of_modObjectSQL(). //Calls of_modObjectSQL with default logic //the 0 indicates that the result set buffer will be used //to generate the SQL. return this.of_modObjectSQL(adw_buffer, 0) end function public function integer of_getsql (ref string as_sql); //ConcatenatesDAT*n the output of of_getSourceSQL() and of_getFilterSQL() //into a single string. The two fragments are AND-ed together. //NOTE: the two called functions also load various arrays with data //to be used as retrieval arguments for data objects. integer li_rc string ls_sourceSQL string ls_filterSQL //grab the source sql fragment li_rc = this.of_getSourceSQL(ls_sourceSql, 1) //1 indicates that the source criteria if li_rc < 0 then //buffer will be used (DAT*pnot result set) as_sql = "" return -1 //error elseif li_rc = 0 then as_sql = "" return 0 //no sql generated end if //grab the filter sql fragment li_rc = this.of_getFilterSQL(ls_filterSql) if li_rc < 0 then as_sql = "" return -1 //error elseif li_rc = 0 then as_sql = " ( " + ls_sourceSql + " ) " //no filter sql generated else as_sql = " ( " + ls_sourceSql + " AND " + ls_filterSql + " ) " //source and filter sql concatenated end if return 1 end function puDAT*rblic function integer of_getfiltersql (ref string as_filtersql); //Create an SQL fragment that can be added to a WHERE clause //for the purpose of selecting records that meet the filter //critera in ids_filterCriteria. //NOTE: The SQL fragment contains "IN" clauses with column names and //SQL retrieval argumant array names. The names that are used are defined //by instance variables. Instance arrays are populated //with the actual retrieval criteria values. These arrays will //need DAT*tto be referenced directly (using dot notation) or //copied to visible (in scope) arrays of the same names //in the calling module(s) for the SQL to be usable. //The ii_filterLogic instance variable determines the filter logic //0 = OR Logic (sic codes OR scc codes) (default) //1 = AND Logic (sic codes AND scc codes) string ls_sql = "" string ls_term string ls_filterName string ls_filterValue string ls_logic long ll_sicCount = 0 long ll_sccCount = 0 long ll_rowCount long ll_rowDAT*v string ls_empty[] //empty array to initialize other arrays //initialize the filter criteria arrays is_sicArray = ls_empty is_sccArray = ls_empty ib_nullSIC = false ib_nullSCC = false as_filterSql = "" //check for existing filter criteria ll_rowCount = ids_filterCriteria.rowCount() if ll_rowCount = 0 then return 0 //no SQL created end if //initialize the logic string if this.of_getFilterLogic() = 0 then ls_logic = " OR " else ls_logic = " AND " end if //processDAT*x filter criteria buffer and load arrays for ll_row = 1 to ll_rowCount ls_filterName = ids_filterCriteria.getItemString(ll_row, is_filterColumnName) ls_filterValue = ids_filterCriteria.getItemString(ll_row, is_filterColumnValue) if isNull(ls_filterName) then continue end if if ls_filterName = is_sicFilterColumnCode then if isNull(ls_filterValue) then ib_nullSIC = true else ll_sicCount ++ is_sicArray[ll_sicCount] = ls_filterValue end if continue enDAT*zd if if ls_filterName = is_sccFilterColumnCode then if isNull(ls_filterValue) then ib_nullSCC = true else ll_sccCount ++ is_sccArray[ll_sccCount] = ls_filterValue end if continue end if next //build the SQL fragment if ll_sicCount > 0 or ib_nullSIC then //create a new sql term if ll_sicCount > 0 and ib_nullSIC then ls_term = is_sicCodeName + " IN ( :" + is_sicArrayName + " ) OR " + is_sicCodeName + " IS NULL"//** elseif ll_sicCount > 0 theDAT*|n ls_term = is_sicCodeName + " IN ( :" + is_sicArrayName + " ) " //** else ls_term = is_sicCodeName + " IS NULL"//** end if //update the SQL fragment if trim(ls_sql) = "" then ls_sql = ls_term else ls_sql = ls_sql + ls_logic + ls_term end if end if if ll_sccCount > 0 or ib_nullSCC then //create a new sql term and update the SQL fragment if ll_sccCount > 0 and ib_nullSCC then ls_term = is_sccCodeName + " IN ( :" + is_sccArrayName + " ) OR " + is_sccCodDAT*~eName + " IS NULL"//** elseif ll_sccCount > 0 then ls_term = is_sccCodeName + " IN ( :" + is_sccArrayName + " ) " //** else ls_term = is_sccCodeName + " IS NULL"//** end if //update the SQL fragment if trim(ls_sql) = "" then ls_sql = ls_term else ls_sql = ls_sql + ls_logic + ls_term end if end if //messageBox("Filter SQL", ls_sql, none!) //add parens to SQL fragment if trim(ls_sql) <> "" then ls_sql = "( " + ls_sql + " )" as_filterSql = ls_sql returDAT*n 1 //normal return with SQL else return 0 //no SQL created end if end function public function integer of_getsourcesql (ref string as_sourcesql, integer ai_datasource); //Create an SQL fragment that can be added to a WHERE clause //for the purpose of selecting records that meet the source //critera in either ids_sourceCriteria or ids_resultSet. //NOTE: The SQL fragment contains "IN" clauses with column names and //SQL retrieval argumant array names. The names that are used DAT*are defined //by instance variables. Instance arrays are populated //with the actual retrieval criteria values. These arrays will //need to be referenced directly (using dot notation) or //copied to visible (in scope) arrays of the same names //in the calling module(s) for the SQL to be usable. //The parameter ai_dataSource determines which source buffer is used: // 0 = result set buffer (default for client use) // 1 = source criteria buffer string ls_sql = "" string ls_term loDAT*ng ll_nationRid long ll_stateRid long ll_countyRid long ll_sourceRid long ll_sourceSub1Rid long ll_sourceSub2Rid long ll_sourceSub3Rid long ll_sourceSub4Rid long ll_nationCount = 0 long ll_stateCount = 0 long ll_countyCount = 0 long ll_sourceCount = 0 long ll_sourceSub1Count = 0 long ll_sourceSub2Count = 0 long ll_sourceSub3Count = 0 long ll_sourceSub4Count = 0 long ll_rowCount long ll_row long ll_empty[] //empty array to initialize other arrays u_ds_base lds_buffer //initDAT*ialize and validate the data buffer reference if ai_dataSource = 0 then lds_buffer = ids_resultSet else lds_buffer = ids_sourceCriteria end if if not isValid(lds_buffer) then messageBox("Error", "u_class_source_group::of_getSourceSql(); data buffer object is not valid.", exclamation!) return -1 end if //initialize all the source criteria arrays il_nationArray = ll_empty il_stateArray = ll_empty il_countyArray = ll_empty il_sourceArray = ll_empty il_sourceSub1Array = ll_empty DAT* il_sourceSub2Array = ll_empty il_sourceSub3Array = ll_empty il_sourceSub4Array = ll_empty ll_rowCount = lds_buffer.rowCount() if ll_rowCount = 0 then as_sourceSQL = "" return 0 //no SQL created end if //process source criteria buffer (or result set buffer) and load arrays for ll_row = 1 to ll_rowCount ll_nationRid = lds_buffer.getItemNumber(ll_row, is_nationRid) if isNull(ll_nationRid) then continue end if ll_stateRid = lds_buffer.getItemNumber(ll_row, is_statDAT*eRid) if isNull(ll_stateRid) then ll_nationCount++ il_nationArray[ll_nationCount] = ll_nationRid continue end if ll_countyRid = lds_buffer.getItemNumber(ll_row, is_countyRid) if isNull(ll_countyRid) then ll_stateCount++ il_stateArray[ll_stateCount] = ll_stateRid continue end if ll_sourceRid = lds_buffer.getItemNumber(ll_row, is_sourceRid) if isNull(ll_sourceRid) then ll_countyCount++ il_countyArray[ll_countyCount] = ll_countyRid continue end if DAT* ll_sourceSub1Rid = lds_buffer.getItemNumber(ll_row, is_sourceSub1Rid) if isNull(ll_sourceSub1Rid) then ll_sourceCount++ il_sourceArray[ll_sourceCount] = ll_sourceRid continue end if ll_sourceSub2Rid = lds_buffer.getItemNumber(ll_row, is_sourceSub2Rid) if isNull(ll_sourceSub2Rid) then ll_sourceSub1Count++ il_sourceSub1Array[ll_sourceSub1Count] = ll_sourceSub1Rid continue end if ll_sourceSub3Rid = lds_buffer.getItemNumber(ll_row, is_sourceSub3Rid) if isNuDAT*ll(ll_sourceSub3Rid) then ll_sourceSub2Count++ il_sourceSub2Array[ll_sourceSub2Count] = ll_sourceSub2Rid continue end if ll_sourceSub4Rid = lds_buffer.getItemNumber(ll_row, is_sourceSub4Rid) if isNull(ll_sourceSub4Rid) then ll_sourceSub3Count++ il_sourceSub3Array[ll_sourceSub3Count] = ll_sourceSub3Rid continue else ll_sourceSub4Count++ il_sourceSub4Array[ll_sourceSub4Count] = ll_sourceSub4Rid end if next //build the SQL fragment if ll_nationCountDAT* > 0 then //create a new term and update the SQL fragment ls_term = is_nationRidName + " IN ( :" + is_nationArrayName + " ) " //** if trim(ls_sql) = "" then ls_sql = ls_term else ls_sql = ls_sql + " OR " + ls_term end if end if if ll_stateCount > 0 then //create a new term and update the SQL fragment ls_term = is_stateRidName + " IN ( :" + is_stateArrayName + " ) " //** if trim(ls_sql) = "" then ls_sql = ls_term else ls_sql = ls_sql + " OR " + ls_term end ifDAT* end if if ll_countyCount > 0 then //create a new term and update the SQL fragment ls_term = is_countyRidName + " IN ( :" + is_countyArrayName + " ) " //** if trim(ls_sql) = "" then ls_sql = ls_term else ls_sql = ls_sql + " OR " + ls_term end if end if if ll_sourceCount > 0 then //create a new term and update the SQL fragment ls_term = is_sourceRidName + " IN ( :" + is_sourceArrayName + " ) " //** if trim(ls_sql) = "" then ls_sql = ls_term else ls_sql DAT*= ls_sql + " OR " + ls_term end if end if if ll_sourceSub1Count > 0 then //create a new term and update the SQL fragment ls_term = is_sourceSub1RidName + " IN ( :" + is_sourceSub1ArrayName + " ) " //** if trim(ls_sql) = "" then ls_sql = ls_term else ls_sql = ls_sql + " OR " + ls_term end if end if if ll_sourceSub2Count > 0 then //create a new term and update the SQL fragment ls_term = is_sourceSub2RidName + " IN ( :" + is_sourceSub2ArrayName + " ) " //** if trimDAT*(ls_sql) = "" then ls_sql = ls_term else ls_sql = ls_sql + " OR " + ls_term end if end if if ll_sourceSub3Count > 0 then //create a new term and update the SQL fragment ls_term = is_sourceSub3RidName + " IN ( :" + is_sourceSub3ArrayName + " ) " //** if trim(ls_sql) = "" then ls_sql = ls_term else ls_sql = ls_sql + " OR " + ls_term end if end if if ll_sourceSub4Count > 0 then //create a new term and update the SQL fragment ls_term = is_sourceSub4RidName +DAT* " IN ( :" + is_sourceSub4ArrayName + " ) " //** if trim(ls_sql) = "" then ls_sql = ls_term else ls_sql = ls_sql + " OR " + ls_term end if end if //add parens to SQL fragment if trim(ls_sql) <> "" then ls_sql = "( " + ls_sql + " )" as_sourceSQL = ls_sql return 1 //normal return with SQL else as_sourceSQL = "" return 0 //no SQL created end if end function public function integer of_runresultset (); //retrieve the result set based on source and filter criDAT*teria long ll_rc string ls_dummy //if result set is up to date, just update the arrays if (ids_resultSet.rowCount() <> 0) and (not this.of_groupModified()) then this.of_getSourceSQL(ls_dummy,0) //cause arrays to be in sync with result set buffer data return 1 end if setPointer(hourGlass!) ids_resultSet.shareDataOff() ids_resultSet.dataObject = 'd_ss_group_result_set' ids_resultSet.setTransObject(SQLCA) //if no source criteria defined, update arrays and return 0 if idDAT*s_sourceCriteria.rowCount() = 0 then messageBox("Result Set", "No source/geographic criteria have been specified. Cannot retrieve " +& "result set data.", information!) this.of_getSourceSQL(ls_dummy,0) //cause arrays to be in sync with result set buffer data return 0 end if //if there are no filter criteria defined, then just share the source //criteria buffer to the result set if ids_filterCriteria.rowCount() = 0 then ll_rc = ids_sourceCriteria.shareData(ids_resultSet) thisDAT*.of_getSourceSQL(ls_dummy,0) //cause arrays to be in sync with result set buffer data if ll_rc < 0 then messageBox("Error", "u_class_source_group::of_runResultSet(); " +& "ids_sourceCriteria.shareData() failed.", exclamation!) return -1 end if return 1 end if //refresh the data object of the result set datastore. This prevents //the SQL modifications from cascading due to consecutive calls to of_modObjectSQL() ids_resultSet.reset() if gs_database = 'ORACLE' then ids_reDAT*sultSet.dataObject = 'd_ss_group_result_set_ora' ids_resultSet.setTransObject(SQLCA) end if //update the SQL of the result set ll_rc = this.of_modObjectSQL(ids_resultSet, 3) //3 => SQL generated from source and filter criteria //messageBox("Debug Result Set SQL", ids_resultSet.getSQLSelect(), none!) if ll_rc < 0 then this.of_getSourceSQL(ls_dummy,0) //cause arrays to be in sync with result set buffer data return -1 elseif ll_rc = 0 then messageBox("Result Set", "No source/geoDAT*graphic criteria have been specified. Cannot retrieve " +& "result set data.", information!) this.of_getSourceSQL(ls_dummy,0) //cause arrays to be in sync with result set buffer data return 0 end if //retrieve the result set ll_rc = ids_resultSet.retrieve( & il_nationArray, & il_stateArray, & il_countyArray, & il_sourceArray, & il_sourceSub1Array, & il_sourceSub2Array, & il_sourceSub3Array, & il_sourceSub4Array, & is_sicArray, & is_sccArray) DAT* if ll_rc < 0 then this.of_getSourceSQL(ls_dummy,0) //cause arrays to be in sync with result set buffer data return -1 elseif ll_rc = 0 then messageBox("Result Set", "No records found matching current criteria.", information!) this.of_getSourceSQL(ls_dummy,0) //cause arrays to be in sync with result set buffer data return 0 end if //Correct the result set to match the group data level. ll_rc = this.of_setBufferDataLevel(0) //0 => work on result set buffer if ll_rc < 0 then DAT* this.of_getSourceSQL(ls_dummy,0) //cause arrays to be in sync with result set buffer data return -1 end if this.of_getSourceSQL(ls_dummy,0) //cause arrays to be in sync with result set buffer data this.of_resetUpdate() return 1 end function public function integer of_modsqlstring (ref string as_sql, integer ai_datasource); //Update the WHERE clause of the given SQL string to include //the criteria defined by this source group object class instance //The ai_dataSource parDAT*ameter determines whether the SQL is generated from //the Result Set buffer or from various combinations of the Source and Filter //criteria buffers. //0 = result set buffer (default client logic) //1 = only source criteria (e.g. retrieve SIC/SCC codes relevant to selected sources) //2 = only filter criteria //3 = source and filter criteria buffers (e.g. generate result set) string ls_sqlWhere string ls_sqlPatch long ll_startWhere integer li_rc if isNull(as_sql) or trim(as_sql) DAT*= "" then return -1 //messageBox("Original SQL", as_sql) ll_startWhere = pos(upper(as_sql), "WHERE") //if SQL has no WHERE clause, produce error if ll_startWhere = 0 then messageBox("Error", "Cannot modify SQL. Original SQL has no WHERE clause.~r~n~n" + & "Suggestion: add 'WHERE (1 = 1)' to original SQL.", exclamation!) return -1 end if //grab the SQL following the "WHERE" keyword ls_sqlWhere = mid(as_sql, ll_startWhere + 5) //grab the SQL up to and including the "WHERDAT*E" keyword as_sql = mid(as_sql, 1, ll_startWhere + 5) //grab the new sql fragment choose case ai_dataSource case 0 li_rc = this.of_getSourceSQL(ls_sqlPatch, 0) //0 => SQL from result set case 1 li_rc = this.of_getSourceSQL(ls_sqlPatch, 1) //1 => SQL from source criteria case 2 li_rc = this.of_getFilterSQL(ls_sqlPatch) case 3 li_rc = this.of_getSQL(ls_sqlPatch) case else li_rc = -1 messageBox("Usage","Function: u_class_source_group::of_modSQLString(). " +& DAT*"Invalid include code specified.", exclamation!) end choose if li_rc <= 0 then return li_rc //error or no SQL generated if trim(ls_sqlWhere) = "" then as_sql = as_sql + " " + ls_sqlPatch else as_sql = as_sql + " " + ls_sqlPatch + " AND " + ls_sqlWhere end if //messageBox("New SQL", as_sql) return 1 end function public function integer of_modobjectsql (ref datastore ads_buffer, integer ai_datasource); //Update the WHERE clause of the given datastore to include //the crDAT*iteria defined by this source group object class instance //The ai_dataSource parameter determines whether the SQL is generated from //the Result Set buffer or from various combinations of the Source and Filter //criteria buffers. //0 = result set buffer (default client logic) //1 = only source criteria (e.g. retrieve SIC/SCC codes relevant to selected sources) //2 = only filter criteria //3 = source and filter criteria buffers (e.g. generate result set) string ls_sql integer li_rc DAT* if not isValid(ads_buffer) then return -1 //grab the current SQL from the datastore ls_sql = ads_buffer.object.dataWindow.table.select //call of_modSQLString() to modify the SQL li_rc = of_modSQLString(ls_sql, ai_datasource) if li_rc <= 0 then return li_rc //update the SQL for the datastore object ads_buffer.object.dataWindow.table.select = ls_sql return 1 end function public function integer of_modobjectsql (ref datawindow adw_buffer, integer ai_datasource); //UpdateDAT* the WHERE clause of the given datawindow to include //the criteria defined by this source group object class instance //The ai_dataSource parameter determines whether the SQL is generated from //the Result Set buffer or from various combinations of the Source and Filter //criteria buffers. //0 = result set buffer (default client logic) //1 = only source criteria (e.g. retrieve SIC/SCC codes relevant to selected sources) //2 = only filter criteria //3 = source and filter criteria buffersDAT* (e.g. generate result set) string ls_sql integer li_rc if not isValid(adw_buffer) then return -1 //grab the current SQL from the datawindow ls_sql = adw_buffer.object.dataWindow.table.select //call of_modSQLString() to modify the SQL li_rc = of_modSQLString(ls_sql, ai_datasource) if li_rc <= 0 then return li_rc //update the SQL for the datawindow object adw_buffer.object.dataWindow.table.select = ls_sql return 1 end function public function integer of_savegroup DAT*(); //Save a group to the database. This function calls of_deleteGroup() to //first delete the group, source and filter criteria records. That function //does a COMMIT if successful. Then the new or modified group is added. long ll_rc long ll_row long ll_groupRid string ls_groupName //validate that group data and source criteria exist if ids_groupData.rowCount() = 0 then messageBox("Save Group Error", "No group data record has been loaded. " +& "Save group failed.", exDAT*clamation!) return -1 elseif ids_sourceCriteria.rowCount() = 0 then messageBox("Save Group Error", "No source criteria have been selected. " +& "Save group failed.", exclamation!) return -1 end if //make sure the group has a RID ll_groupRid = ids_groupData.getItemNumber(1, is_groupRid) if ll_groupRid < 0 then messageBox("Save Group Error", "Error reading group RID. " +& "Save group failed.", exclamation!) return -1 elseif isNull(ll_groupRid) then //get a new rid lDAT*l_groupRid = f_get_sequence() if ll_rc < 0 then messageBox("Save Group Error", "Error obtaining group RID. " +& "Save group failed.", exclamation!) return -1 end if ll_rc = ids_groupData.setItem(1, is_groupRid, ll_groupRid) if ll_rc < 0 then messageBox("Save Group Error", "Error setting group RID. " +& "Save group failed.", exclamation!) return -1 end if end if //validate the uniqueness of the group name ls_groupName = trim(ids_groupData.getItemString(1, isDAT*_groupName)) if isNull(ls_groupName) or ls_groupName = "" then messageBox("Save Group Error", "Group name cannot be NULL or blank. " +& "Save group failed.", exclamation!) return -1 end if SELECT count(*) INTO :ll_rc FROM rap_group_data WHERE ( rap_group_data.group_name = :ls_groupName ) AND ( rap_group_data.group_rid <> :ll_groupRid ) USING SQLCA; if f_sqlCheck(SQLCA) < 0 then messageBox("Save Group Error", "Error validating group name. " +& "Save DAT*group failed.", exclamation!) return -1 elseif ll_rc > 0 then messageBox("Save Group Error", "Group name '" + ls_groupName + "' is not unique. " +& "Save group failed.", exclamation!) ids_groupData.setItem(1, is_groupName, "") return -1 end if //delete any existing group with the same RID ll_rc = this.of_deleteGroup(ll_groupRid) if ll_rc < 0 then return -1 //update the group data ids_groupData.resetUpdate() //clear all update flags ids_groupData.setItemStatus(1, 0, prDAT*imary!, newModified!) //make the row "new" ll_rc = ids_groupData.update(true, false) if ll_rc < 0 then ROLLBACK USING SQLCA; messageBox("Save Group Error", "Error updating group data. " +& "Save group failed.", exclamation!) return -1 end if //make sure all source criteria have correct group RID ids_sourceCriteria.resetUpdate() //clear all update flags for ll_row = 1 to ids_sourceCriteria.rowCount() ids_sourceCriteria.setItemStatus(ll_row, 0, primary!, newModified!) //maDAT*ke the row "new" ll_rc = ids_sourceCriteria.setItem(ll_row, is_groupRid, ll_groupRid) if ll_rc < 0 then ROLLBACK USING SQLCA; messageBox("Save Group Error", "Error setting group RID for source criteria record. " +& "Save group failed.", exclamation!) return -1 end if next //update the source criteria ll_rc = ids_sourceCriteria.update() if ll_rc < 0 then ROLLBACK USING SQLCA; messageBox("Save Group Error", "Error updating source criteria. " +& "Save group faileDAT*d.", exclamation!) return -1 end if //make sure all filter criteria have correct group RID ids_filterCriteria.resetUpdate() //clear all update flags for ll_row = 1 to ids_filterCriteria.rowCount() ids_filterCriteria.setItemStatus(ll_row, 0, primary!, newModified!) //make the row "new" ll_rc = ids_filterCriteria.setItem(ll_row, is_groupRid, ll_groupRid) if ll_rc < 0 then ROLLBACK USING SQLCA; messageBox("Save Group Error", "Error setting group RID for filter criteria recordDAT*. " +& "Save group failed.", exclamation!) return -1 end if next //update the filter criteria ll_rc = ids_filterCriteria.update() if ll_rc < 0 then ROLLBACK USING SQLCA; messageBox("Save Group Error", "Error updating filter criteria. " +& "Save group failed.", exclamation!) return -1 end if //commit the source and filter criteria records COMMIT USING SQLCA; if f_sqlCheck(SQLCA) < 0 then ROLLBACK USING SQLCA; messageBox("Save Group Error", "Error on commit.DAT* " +& "Save group failed.", exclamation!) return -1 end if return 1 end function public function integer of_deletegroup (long al_grouprid); //remove existing filter criteria for current group DELETE FROM rap_group_filter_criteria WHERE rap_group_filter_criteria.group_rid = :al_groupRid USING SQLCA; if f_sqlCheck(SQLCA) < 0 then ROLLBACK USING SQLCA; messageBox("Delete Group Error", "Error deleting old filter criteria. " +& "No database updates were made.", eDAT*xclamation!) return -1 end if //remove existing source criteria for current group DELETE FROM rap_group_source_criteria WHERE rap_group_source_criteria.group_rid = :al_groupRid USING SQLCA; if f_sqlCheck(SQLCA) < 0 then ROLLBACK USING SQLCA; messageBox("Delete Group Error", "Error deleting old source criteria. " +& "No database updates were made.", exclamation!) return -1 end if //remove existing group record //NOTE: this should cause a cascading delete of the souDAT*rce //and filter criteria records, but code to explicitly delete those //records has been included anyway. DELETE FROM rap_group_data WHERE rap_group_data.group_rid = :al_groupRid USING SQLCA; if f_sqlCheck(SQLCA) < 0 then ROLLBACK USING SQLCA; messageBox("Delete Group Error", "Error deleting old group data. " +& "No database updates were made.", exclamation!) return -1 end if //commit all changes COMMIT USING SQLCA; if f_sqlCheck(SQLCA) < 0 then ROLLBACK USING SQDAT*LCA; messageBox("Delete Group Error", "Error on commit. " +& "No database updates were made.", exclamation!) return -1 end if return 1 end function public function integer of_loadgroup (string as_groupname); //load a saved group from the database long ll_rc long ll_groupRid //retrieve the group data ll_rc = ids_groupData.retrieve(as_groupName) if ll_rc <= 0 then return ll_rc ll_groupRid = ids_groupData.getItemNumber(1, is_groupRid) //retrieve source criteria lDAT*l_rc = ids_sourceCriteria.retrieve(ll_groupRid) if ll_rc < 0 then return -1 elseif ll_rc = 0 then messageBox("Not Found", "No source criteria found for group '" + as_groupName + "'.", information!) return 0 end if //retrieve filter criteria ll_rc = ids_filterCriteria.retrieve(ll_groupRid) if ll_rc < 0 then return -1 //clear the result set ids_resultSet.reset() return 1 end function public function integer of_reset (); //reset the group to a default state long ll_rc DAT* //reset the group data buffer ll_rc = ids_groupData.reset() if ll_rc < 0 then messageBox("Error", "u_class_source_group::of_reset(); group data reset failed.", exclamation!) return -1 end if //reset the source criteria buffer ll_rc = ids_sourceCriteria.reset() if ll_rc < 0 then messageBox("Error", "u_class_source_group::of_reset(); source criteria reset failed.", exclamation!) return -1 end if //reset the filter criteria buffer ll_rc = ids_filterCriteria.reset() if ll_rc < DAT*0 then messageBox("Error", "u_class_source_group::of_reset(); filter criteria reset failed.", exclamation!) return -1 end if //create a default group data record ll_rc = ids_groupData.insertRow(0) if ll_rc < 0 then messageBox("Error", "u_class_source_group::of_reset(); group data row insert failed.", exclamation!) return -1 end if //set default resolution level and filter logic ids_groupData.setItem(1, is_groupDataLevel, ii_sourceLevel) ids_groupData.setItem(1, is_groupFilterLoDAT*gic, 0) //OR logic return 1 end function public function integer of_getdatalevel (); return integer(ids_groupData.getItemNumber(1, is_groupDataLevel)) end function public function integer of_getfilterlogic (); return integer(ids_groupData.getItemNumber(1, is_groupFilterLogic)) end function public function integer of_setdatalevel (integer ai_dataLevel); return ids_groupData.setItem(1, is_groupDataLevel, ai_dataLevel) end function public function boolean of_groupmodifieDAT*d (); boolean lb_groupMod boolean lb_sourceMod boolean lb_filterMod lb_groupMod = (ids_groupData.modifiedCount() > 0) lb_sourceMod = (ids_sourceCriteria.modifiedCount() > 0) lb_filterMod = (ids_filterCriteria.modifiedCount() > 0) return (lb_groupMod or lb_sourceMod or lb_filterMod) end function public function integer of_resetupdate (); //call reset update for all datastores (except result set) ids_groupData.resetUpdate() ids_sourceCriteria.resetUpdate() ids_filterCriteriDAT*a.resetUpdate() return 1 end function public function integer of_resetfilter (integer ai_code); //discards filter criteria rows containing either SIC or SCC filters //Argument ai_code specifies which filters to discard: //0 = SIC filters will be discarded //1 = SCC filters will be discarded string ls_filterString integer li_rc long ll_rows if ai_code = 0 then ls_filterString = is_filterColumnName + " <> '" + is_sicFilterColumnCode + "'" else ls_filterString = is_filteDAT*rColumnName + " <> '" + is_sccFilterColumnCode + "'" end if ids_filterCriteria.setFilter(ls_filterString) li_rc = ids_filterCriteria.filter() if li_rc < 0 then messageBox("Error", "u_class_source_group::of_resetFilter(); apply filter failed.", exclamation!) return -1 end if ll_rows = ids_filterCriteria.filteredCount() //messageBox("Debug", "Filter: " + ls_filterString + "~r~nRows filtered: " + string(ll_rows), none!) if ll_rows > 0 then li_rc = ids_filterCriteria.rowsDiDAT*scard(1, ll_rows, filter!) if li_rc < 0 then messageBox("Error", "u_class_source_group::of_resetFilter(); discard rows failed.", exclamation!) return -1 end if end if ids_filterCriteria.setFilter("") ids_filterCriteria.filter() return 1 end function public function long of_finddata (string as_column, any aa_value); //Finds data in the source group buffers string ls_findString string ls_stringValue long ll_longValue long ll_rc integer li_searchBuffer //0 = ids_groupDaDAT*ta; 1 = ids_sourceCriteria; 2 = ids_filterCriteria integer li_dataType //0 = long; 1 = string //messageBox("Find Data Type", className(aa_value)) choose case className(aa_value) case "long" li_dataType = 0 case "string" li_dataType = 1 case else messageBox("Error", "u_class_source_group::of_findData; invalid data type '" + className(aa_value) +& "' recieved for search value.", exclamation!) return -1 end choose choose case as_column case is_groupRid li_sDAT*earchBuffer = 0 case is_groupName li_searchBuffer = 0 case is_groupDescription li_searchBuffer = 0 case is_groupDataLevel li_searchBuffer = 0 case is_groupFilterLogic li_searchBuffer = 0 case is_nationRid li_searchBuffer = 1 case is_stateRid li_searchBuffer = 1 case is_countyRid li_searchBuffer = 1 case is_sourceRid li_searchBuffer = 1 case is_sourceType li_searchBuffer = 1 case is_sourceSub1Rid li_searchBuffer = 1 case is_sourceSub2Rid li_seaDAT*rchBuffer = 1 case is_sourceSub3Rid li_searchBuffer = 1 case is_sourceSub4Rid li_searchBuffer = 1 case is_filterColumnName li_searchBuffer = 2 case is_filterColumnValue li_searchBuffer = 2 case else messageBox("Error", "u_class_source_group::of_findData; invalid column name '" + as_column +& "' specified for search.", exclamation!) return -1 end choose //build a search string if isNull(aa_value) then ls_findString = "isNull(" + as_column +")" else if li_DAT*dataType = 0 then ls_findString = as_column + " = " + string(long(aa_value)) + " " else ls_findString = as_column + " = '" + string(aa_value) + "' " end if end if //look for item in appropiate buffer choose case li_searchBuffer case 0 ll_rc = this.ids_groupData.find(ls_findString, 1, this.ids_groupData.rowCount()) case 1 ll_rc = this.ids_sourceCriteria.find(ls_findString, 1, this.ids_sourceCriteria.rowCount()) case 2 ll_rc = this.ids_filterCriteria.find(ls_findStriDAT*ng, 1, this.ids_filterCriteria.rowCount()) case else messageBox("Error", "u_class_source_group::of_findData; invalid data source " +& "specified for search.", exclamation!) return -1 end choose return ll_rc end function public function integer of_setbufferdatalevel (integer ai_code); //Correct the soruce criteria or result set buffer to match current group data level. //This is done by discarding rows with duplicate rid values in the column designated by //the current dataDAT* level. For rows that remain after duplicates are removed, all columns //following the "data level" column are set to null. //Parameter ai_code determines which buffer to operate on: // 0 = result set buffer // 1 = source criteria buffer long ll_rc long ll_rid long ll_row long ll_prevRid long ll_nullColumnNumber integer li_column integer li_columnCount string ls_levelColumn string ls_nullColumn string ls_temp long ll_temp u_ds_base lds_buffer //reference to a u_ds_base obDAT*ject //determine which buffer to work on if ai_code = 0 then lds_buffer = ids_resultSet ll_rc = this.of_sortResultSet() if ll_rc < 0 then return -1 else lds_buffer = ids_sourceCriteria ll_rc = this.of_sortSources() if ll_rc < 0 then return -1 end if if not isValid(lds_buffer) then return -1 //if the buffer is empty, return 0 ll_rc = lds_buffer.rowCount() if ll_rc < 0 then return -1 elseif ll_rc = 0 then return 0 end if //set the data level column name choose casDAT*e this.of_getDataLevel() case ii_nationLevel ls_levelColumn = is_nationRid ls_nullColumn = is_stateRid case ii_stateLevel ls_levelColumn = is_stateRid ls_nullColumn = is_countyRid case ii_countyLevel ls_levelColumn = is_countyRid ls_nullColumn = is_sourceRid case ii_sourceLevel ls_levelColumn = is_sourceRid ls_nullColumn = is_sourceSub1Rid case ii_sourceSub1Level ls_levelColumn = is_sourceSub1Rid ls_nullColumn = is_sourceSub2Rid case ii_sourceSub2Level DAT*ls_levelColumn = is_sourceSub2Rid ls_nullColumn = is_sourceSub3Rid case ii_sourceSub3Level ls_levelColumn = is_sourceSub3Rid ls_nullColumn = is_sourceSub4Rid case ii_sourceSub4Level return 1 case else return -1 end choose //discard duplicate rows with respect to the group data level ll_prevRid = 0 for ll_row = 1 to lds_buffer.rowCount() //get the current rid in question ll_rid = lds_buffer.getItemNumber(ll_row, ls_levelColumn) if ll_rid < 0 then return -1 /DAT*/if the rid mathces the previous row's rid, discard the row if ll_rid = ll_prevRid then ll_rc = lds_buffer.rowsDiscard(ll_row, ll_row, primary!) if ll_rc < 0 then return -1 //must manually handle the row pointer since a row was discarded ll_row -- else //row was not discarded, so set the null column and all subsequent columns to null //get the null column number and the number of columns in the buffer ll_rc = lds_buffer.setColumn(ls_nullColumn) if ll_rc < 0 DAT*then return -1 ll_nullColumnNumber = lds_buffer.getColumn() if ll_nullColumnNumber < 0 then return -1 li_columnCount = integer(lds_buffer.describe("dataWindow.column.count")) //step through columns and set to null for li_column = ll_nullColumnNumber to li_columnCount //grab the column name ls_temp = "#" + string(li_column) + ".name" ls_temp = lds_buffer.describe(ls_temp) //if the column is the 'source_type' column set it to null string, else set it to nDAT*ull number if ls_temp = is_sourceType then setNull(ls_temp) ll_rc = lds_buffer.setItem(ll_row, li_column, ls_temp) if ll_rc < 0 then return -1 else setNull(ll_temp) ll_rc = lds_buffer.setItem(ll_row, li_column, ll_temp) if ll_rc < 0 then return -1 end if next end if ll_prevRid = ll_rid next return 1 end function public function integer of_sortresultset (); //sorts the result set buffer string ls_sortString integer li_rcDAT* ls_sortString = & is_nationRid + " D," +& is_stateRid + " A," +& is_countyRid + " A," +& is_sourceRid + " A," +& is_sourceSub1Rid + " A," +& is_sourceSub2Rid + " A," +& is_sourceSub3Rid + " A," +& is_sourceSub4Rid + " A" li_rc = ids_resultSet.setSort(ls_sortString) if li_rc < 0 then return -1 li_rc = ids_resultSet.sort() if li_rc < 0 then return -1 return 1 end function public function integer of_loadarrays (integer ai_dataSourcDAT*e); //Populate instance arrays with data corresponding to values in either the //source criteria buffer or the result set buffer. These arrays will //need to be referenced directly (using dot notation) or //copied to visible (in scope) arrays of the same names //in the calling module(s). //The parameter ai_dataSource determines which source buffer is used: // 0 = result set buffer (default for client use) // 1 = source criteria buffer //string ls_sql = "" //string ls_term long lDAT*l_nationRid long ll_stateRid long ll_countyRid long ll_sourceRid long ll_sourceSub1Rid long ll_sourceSub2Rid long ll_sourceSub3Rid long ll_sourceSub4Rid long ll_nationCount = 0 long ll_stateCount = 0 long ll_countyCount = 0 long ll_sourceCount = 0 long ll_sourceSub1Count = 0 long ll_sourceSub2Count = 0 long ll_sourceSub3Count = 0 long ll_sourceSub4Count = 0 long ll_rowCount long ll_row long ll_empty[] //empty array to initialize other arrays u_ds_base lds_buffer //initialiDAT*ze and validate the data buffer reference if ai_dataSource = 0 then lds_buffer = ids_resultSet else lds_buffer = ids_sourceCriteria end if if not isValid(lds_buffer) then messageBox("Error", "u_class_source_group::of_getSourceSql(); data buffer object is not valid.", exclamation!) return -1 end if //initialize all the source criteria arrays il_nationArray = ll_empty il_stateArray = ll_empty il_countyArray = ll_empty il_sourceArray = ll_empty il_sourceSub1Array = ll_empty il_DAT*sourceSub2Array = ll_empty il_sourceSub3Array = ll_empty il_sourceSub4Array = ll_empty //check for empty buffer ll_rowCount = lds_buffer.rowCount() if ll_rowCount = 0 then return 0 //no rows in buffer //process source criteria buffer (or result set buffer) and load arrays for ll_row = 1 to ll_rowCount ll_nationRid = lds_buffer.getItemNumber(ll_row, is_nationRid) if isNull(ll_nationRid) then continue end if ll_stateRid = lds_buffer.getItemNumber(ll_row, is_stateRid)DAT* if isNull(ll_stateRid) then ll_nationCount++ il_nationArray[ll_nationCount] = ll_nationRid continue end if ll_countyRid = lds_buffer.getItemNumber(ll_row, is_countyRid) if isNull(ll_countyRid) then ll_stateCount++ il_stateArray[ll_stateCount] = ll_stateRid continue end if ll_sourceRid = lds_buffer.getItemNumber(ll_row, is_sourceRid) if isNull(ll_sourceRid) then ll_countyCount++ il_countyArray[ll_countyCount] = ll_countyRid continue end if DAT*ll_sourceSub1Rid = lds_buffer.getItemNumber(ll_row, is_sourceSub1Rid) if isNull(ll_sourceSub1Rid) then ll_sourceCount++ il_sourceArray[ll_sourceCount] = ll_sourceRid continue end if ll_sourceSub2Rid = lds_buffer.getItemNumber(ll_row, is_sourceSub2Rid) if isNull(ll_sourceSub2Rid) then ll_sourceSub1Count++ il_sourceSub1Array[ll_sourceSub1Count] = ll_sourceSub1Rid continue end if ll_sourceSub3Rid = lds_buffer.getItemNumber(ll_row, is_sourceSub3Rid) if isNull(llDAT*_sourceSub3Rid) then ll_sourceSub2Count++ il_sourceSub2Array[ll_sourceSub2Count] = ll_sourceSub2Rid continue end if ll_sourceSub4Rid = lds_buffer.getItemNumber(ll_row, is_sourceSub4Rid) if isNull(ll_sourceSub4Rid) then ll_sourceSub3Count++ il_sourceSub3Array[ll_sourceSub3Count] = ll_sourceSub3Rid continue else ll_sourceSub4Count++ il_sourceSub4Array[ll_sourceSub4Count] = ll_sourceSub4Rid end if next return 1 end function public function integer ofDAT* _runselectionreport (); //Run the report displaying what selections have been made, and what filters are being used. long ll_rc long ll_row string ls_groupName u_ds_base lds_report u_ds_base lds_temp datawindowchild ldwc_groupSubReport datawindowchild ldwc_sourceSubReport datawindowchild ldwc_resultSubReport datawindowchild ldwc_filterSubReport datawindowchild ldwc_temp setPointer(hourGlass!) //run the result set, which brings all internal data structures in synch //and calDAT* culates the result set ll_rc = this.of_runResultSet() if ll_rc < 0 then messageBox("Error","u_class_source_group::of_runSelectionReport(); of_runResultSet() failed.", exclamation!) return -1 elseif ll_rc = 0 then return 0 end if //sort the data in the source group object buffers ll_rc = this.of_sort() if ll_rc < 0 then messageBox("Error","u_class_source_group::of_runSelectionReport(); of_sort() failed.", exclamation!) return -1 end if //set up the report datastore lds_reporDAT*t = create u_ds_base if not isValid(lds_report) then messageBox("Error","u_class_source_group::of_runSelectionReport(); lds_report object creation failed.", exclamation!) return -1 end if lds_report.dataObject = 'r_ss_selection_report' lds_report.setTransObject(SQLCA) //lds_report.insertRow(0) //get references to the nested reports ll_rc = lds_report.getChild('report_group', ldwc_groupSubReport) if ll_rc < 0 then messageBox("Error","u_class_source_group::of_runSelectionReport(); lDAT*ds_report.getChild() failed.", exclamation!) destroy lds_report return -1 end if ll_rc = lds_report.getChild('report_filter', ldwc_filterSubReport) if ll_rc < 0 then messageBox("Error","u_class_source_group::of_runSelectionReport(); lds_report.getChild() failed.", exclamation!) destroy lds_report return -1 end if ll_rc = lds_report.getChild('report_source', ldwc_sourceSubReport) if ll_rc < 0 then messageBox("Error","u_class_source_group::of_runSelectionReport(); lds_report.geDAT*tChild() failed.", exclamation!) destroy lds_report return -1 end if ll_rc = lds_report.getChild('report_result', ldwc_resultSubReport) if ll_rc < 0 then messageBox("Error","u_class_source_group::of_runSelectionReport(); lds_report.getChild() failed.", exclamation!) destroy lds_report return -1 end if //copy data to the group sub report ll_rc = ids_groupData.rowsCopy(1, 1, primary!, ldwc_groupSubReport, 1, primary!) if ll_rc < 0 then messageBox("Error","u_class_source_group:DAT*:of_runSelectionReport(); ids_groupData.shareData() failed.", exclamation!) destroy lds_report return -1 end if //if the group name is null, set it to "No Name" ls_groupName = ldwc_groupSubReport.getItemString(1, 'group_name') if isNull(ls_groupName) then ls_groupName = "No Name" ldwc_groupSubReport.setItem(1, 'group_name', ls_groupName) end if //share data to the filter sub report ll_rc = ids_filterCriteria.shareData(ldwc_filterSubReport) if ll_rc < 0 then messageBox("Error"DAT*,"u_class_source_group::of_runSelectionReport(); ids_filterCriteria.shareData() failed.", exclamation!) destroy lds_report return -1 end if //load the source sub report with data corresponding to the rid values in the //source criteria buffer //set up the temp datastore lds_temp = create u_ds_base if not isValid(lds_temp) then messageBox("Error","u_class_source_group::of_runSelectionReport(); lds_temp object creation failed.", exclamation!) return -1 end if //grab the rid daDAT*ta from both the source criteria and result set buffers and populate //corresponding sub reports with meaningful information for the report integer i for i = 0 to 1 //if there are no filters, don't load the result set. this is done by manually //setting i = 1, which skips the result set iteration of the loop if ids_filterCriteria.rowCount() = 0 then i = 1 //load internal arrays to reflect the contents of the correct source data buffer this.of_loadArrays(i) //point the outpDAT*ut reference to the correct sub report buffer if i = 0 then ldwc_temp = ldwc_resultSubReport ldwc_temp.modify("st_title.text = 'Result Set'") else ldwc_temp = ldwc_sourceSubReport ldwc_temp.modify("st_title.text = 'Selection Data'") end if //get nation data, if any exists if upperBound(il_nationArray) > 0 then lds_temp.dataObject = 'r_ss_nation_data' lds_temp.setTransObject(SQLCA) ll_rc = lds_temp.retrieve(il_nationArray) if ll_rc < 0 then messageBox("ErrorDAT*","u_class_source_group::of_runSelectionReport(); retrieval of nation data failed.", exclamation!) destroy lds_report destroy lds_temp return -1 end if //copy nation data to the sub report for ll_row = 1 to lds_temp.rowCount() ll_rc = ldwc_temp.insertRow(0) ldwc_temp.setItem(ll_rc, 'nation_name', lds_temp.getItemString(ll_row, 'nation_name')) next end if //get state data, if any exists if upperBound(il_stateArray) > 0 then lds_temp.dataObject = 'r_ssDAT*_state_data' lds_temp.setTransObject(SQLCA) ll_rc = lds_temp.retrieve(il_stateArray) if ll_rc < 0 then messageBox("Error","u_class_source_group::of_runSelectionReport(); retrieval of state data failed.", exclamation!) destroy lds_report destroy lds_temp return -1 end if //copy state data to the sub report for ll_row = 1 to lds_temp.rowCount() ll_rc = ldwc_temp.insertRow(0) ldwc_temp.setItem(ll_rc, 'nation_name', lds_temp.getItemString(ll_row, 'nation_nDAT* ame')) ldwc_temp.setItem(ll_rc, 'state_name', lds_temp.getItemString(ll_row, 'state_name')) next end if //get county data, if any exists if upperBound(il_countyArray) > 0 then lds_temp.dataObject = 'r_ss_county_data' lds_temp.setTransObject(SQLCA) ll_rc = lds_temp.retrieve(il_countyArray) if ll_rc < 0 then messageBox("Error","u_class_source_group::of_runSelectionReport(); retrieval of county data failed.", exclamation!) destroy lds_report destroy lds_temp DAT*" return -1 end if //copy county data to the sub report for ll_row = 1 to lds_temp.rowCount() ll_rc = ldwc_temp.insertRow(0) ldwc_temp.setItem(ll_rc, 'nation_name', lds_temp.getItemString(ll_row, 'nation_name')) ldwc_temp.setItem(ll_rc, 'state_name', lds_temp.getItemString(ll_row, 'state_name')) ldwc_temp.setItem(ll_rc, 'county_name', lds_temp.getItemString(ll_row, 'county_name')) next end if //get source data, if any exists if upperBound(il_sourceArray) > DAT*$0 then lds_temp.dataObject = 'r_ss_source_data' lds_temp.setTransObject(SQLCA) ll_rc = lds_temp.retrieve(il_sourceArray) if ll_rc < 0 then messageBox("Error","u_class_source_group::of_runSelectionReport(); retrieval of source data failed.", exclamation!) destroy lds_report destroy lds_temp return -1 end if //copy source data to the sub report for ll_row = 1 to lds_temp.rowCount() ll_rc = ldwc_temp.insertRow(0) ldwc_temp.setItem(ll_rc, 'nation_name',DAT*& lds_temp.getItemString(ll_row, 'nation_name')) ldwc_temp.setItem(ll_rc, 'state_name', lds_temp.getItemString(ll_row, 'state_name')) ldwc_temp.setItem(ll_rc, 'county_name', lds_temp.getItemString(ll_row, 'county_name')) ldwc_temp.setItem(ll_rc, 'source_id', lds_temp.getItemString(ll_row, 'source_id')) ldwc_temp.setItem(ll_rc, 'source_name', lds_temp.getItemString(ll_row, 'source_name')) ldwc_temp.setItem(ll_rc, 'sic_code', lds_temp.getItemString(ll_row, 'sic_code')) next eDAT*(nd if //get device data, if any exists if upperBound(il_sourceSub1Array) > 0 then lds_temp.dataObject = 'r_ss_device_data' lds_temp.setTransObject(SQLCA) ll_rc = lds_temp.retrieve(il_sourceSub1Array) if ll_rc < 0 then messageBox("Error","u_class_source_group::of_runSelectionReport(); retrieval of device data failed.", exclamation!) destroy lds_report destroy lds_temp return -1 end if //copy device data to the sub report for ll_row = 1 to lds_temp.rowDAT**Count() ll_rc = ldwc_temp.insertRow(0) ldwc_temp.setItem(ll_rc, 'nation_name', lds_temp.getItemString(ll_row, 'nation_name')) ldwc_temp.setItem(ll_rc, 'state_name', lds_temp.getItemString(ll_row, 'state_name')) ldwc_temp.setItem(ll_rc, 'county_name', lds_temp.getItemString(ll_row, 'county_name')) ldwc_temp.setItem(ll_rc, 'source_id', lds_temp.getItemString(ll_row, 'source_id')) ldwc_temp.setItem(ll_rc, 'source_name', lds_temp.getItemString(ll_row, 'source_name')) ldwc_tDAT*,emp.setItem(ll_rc, 'sic_code', lds_temp.getItemString(ll_row, 'sic_code')) ldwc_temp.setItem(ll_rc, 'device_id', lds_temp.getItemString(ll_row, 'device_id')) ldwc_temp.setItem(ll_rc, 'device_name', lds_temp.getItemString(ll_row, 'device_name')) next end if //get process data, if any exists if upperBound(il_sourceSub2Array) > 0 then lds_temp.dataObject = 'r_ss_process_data' lds_temp.setTransObject(SQLCA) ll_rc = lds_temp.retrieve(il_sourceSub2Array) if ll_rc < 0 thenDAT*. messageBox("Error","u_class_source_group::of_runSelectionReport(); retrieval of process data failed.", exclamation!) destroy lds_report destroy lds_temp return -1 end if //copy process data to the sub report for ll_row = 1 to lds_temp.rowCount() ll_rc = ldwc_temp.insertRow(0) ldwc_temp.setItem(ll_rc, 'nation_name', lds_temp.getItemString(ll_row, 'nation_name')) ldwc_temp.setItem(ll_rc, 'state_name', lds_temp.getItemString(ll_row, 'state_name')) ldwc_teDAT*0mp.setItem(ll_rc, 'county_name', lds_temp.getItemString(ll_row, 'county_name')) ldwc_temp.setItem(ll_rc, 'source_id', lds_temp.getItemString(ll_row, 'source_id')) ldwc_temp.setItem(ll_rc, 'source_name', lds_temp.getItemString(ll_row, 'source_name')) ldwc_temp.setItem(ll_rc, 'sic_code', lds_temp.getItemString(ll_row, 'sic_code')) ldwc_temp.setItem(ll_rc, 'device_id', lds_temp.getItemString(ll_row, 'device_id')) ldwc_temp.setItem(ll_rc, 'device_name', lds_temp.getItemString(ll_roDAT*2w, 'device_name')) ldwc_temp.setItem(ll_rc, 'process_id', lds_temp.getItemString(ll_row, 'process_id')) ldwc_temp.setItem(ll_rc, 'process_name', lds_temp.getItemString(ll_row, 'process_name')) ldwc_temp.setItem(ll_rc, 'scc_code', lds_temp.getItemString(ll_row, 'scc_code')) next end if next //print the report lds_report.print(false) destroy lds_report destroy lds_temp return 1 end function public subroutine of_setdefaultnames (); //set the default array and colDAT*4umn names for SQL generation //this function should be called when the source selector //window is opened in order to reset any custom names //assigned by client objects //These correspond to datawindow retrieval argument names //used in client SQL is_nationArrayName = "al_nationArray" is_stateArrayName = "al_stateArray" is_countyArrayName = "al_countyArray" is_sourceArrayName = "al_sourceArray" is_sourceSub1ArrayName = "al_sourceSub1Array" is_sourceSub2ArrayName = "al_sourceSub2DAT*6Array" is_sourceSub3ArrayName = "al_sourceSub3Array" is_sourceSub4ArrayName = "al_sourceSub4Array" is_sicArrayName = "as_sicArray" is_sccArrayName = "as_sccArray" //These correspond to view column names //used in client SQL is_nationRidName = "nation_rid" is_stateRidName = "state_rid" is_countyRidName = "county_rid" is_sourceRidName = "source_rid" is_sourceSub1RidName = "source_sub1_rid" is_sourceSub2RidName = "source_sub2_rid" is_sourceSub3RidName = "source_sub3_rid" is_sourceSubDAT*84RidName = "source_sub4_rid" is_sicCodeName = "sic_code" is_sccCodeName = "scc_code" end subroutine event constructor; //create the group data store ids_groupData = create u_ds_base if not isValid(ids_groupData) then messageBox("Error", "Object creation failed: u_class_group_criteria::constructor()", exclamation!) return end if ids_groupData.dataObject = 'd_ss_group_data' ids_groupData.setTransObject(SQLCA) //create the source criteria data store ids_sourceCriteria = cDAT*:reate u_ds_base if not isValid(ids_sourceCriteria) then messageBox("Error", "Object creation failed: u_class_group_criteria::constructor()", exclamation!) return end if ids_sourceCriteria.dataObject = 'd_ss_group_source_criteria' ids_sourceCriteria.setTransObject(SQLCA) //create the filter criteria data store ids_filterCriteria = create u_ds_base if not isValid(ids_filterCriteria) then messageBox("Error", "Object creation failed: u_class_group_criteria::constructor()", exclamatiDAT*<on!) return end if ids_filterCriteria.dataObject = 'd_ss_group_filter_criteria' ids_filterCriteria.setTransObject(SQLCA) //create the result set data store ids_resultSet = create u_ds_base if not isValid(ids_resultSet) then messageBox("Error", "Object creation failed: u_class_group_criteria::constructor()", exclamation!) return end if ids_resultSet.dataObject = 'd_ss_group_result_set' ids_resultSet.setTransObject(SQLCA) //set the object to the default state this.of_reset(DAT*) end event event destructor; if isValid(ids_groupData) then destroy ids_groupData end if if isValid(ids_sourceCriteria) then destroy ids_sourceCriteria end if if isValid(ids_filterCriteria) then destroy ids_filterCriteria end if if isValid(ids_resultSet) then destroy ids_filterCriteria end if end event on u_class_source_group.create TriggerEvent( this, "constructor" ) end on on u_class_source_group.destroy TriggerEvent( this, "destructor" ) end on DAT*@ormessagedragobjectw_test_clientw_source_selectorh2 u_class_ss_client  d +ue_groupupdatedof_setcountsof_hasdata+constructor+destructor+create+destroy+clicked IBLQ x _initsrcuserobjectu_class_ss_clientuserobjectswindowobjectborderstylestructuremailrecipientenvironmentmailfiledescriptionmailmessagedatawindowchildlistviewitemtreeviewitemconnectioninfopoweDAT*Brobjectcommandbuttoncb_debugfontcharsetfontpitchfontfamilypicturebuttonpb_printalignmentvtextalignstatictextst_data_levelfillpatternst_4st_result_countst_3st_filter_countst_source_countst_2st_1cb_source_selectoru_class_source_groupmessagedragobjectw_test_clientw_source_selector4 erec@owitsSo.as@e em:re@edG@S@]@k@wDAT*D@@ @ @ @utto e_@font nt@hfob_@alls@aligpandwst@roupoi@dyn ga@tranag@ctm",+@5@@. @!KY@e!jz<ount % < DAT*F @ev@@@ .@  !"#4( 1!--. .DAT*H . . . . . . .()81d  of_setcounts2 0$L$)`8x$$)8DAT*J$$)8$ $(@(8,$4<$(@(8T$\d$(@(8l$)8}}/80/80/80/80/&80/J80808DAT*L(@(8z'8*z&:)@@880H$P614 h Dfr"4FJ #$d& li_levells_levelnamecase16< X il_sourcecount-iclass_group ,$ids_sourcecriteria8 rowcountTil_filtercounth. ,$ids_filtercrDAT*Niteria Til_resultcount/ ,$ids_resultset Tst_source_count( text-st_filter_count'h.st_result_countD%/ ,$of_getdatalevel%t ,$Nation ,$State ,$County ,$Sourcew ,$Device ,$ProcessErroru_class_ss_client::of_setCounts(); invalid data level '' specified.st_data_level7# 0 L ` x  DAT*P          , 4 < T \ d l        H P N$0$)D81>9H90:>d L iclass_groupt,$ids_resultset  rowcountecr8 0 D  j8@$#d8H08N0:DAT*R)@@81)8$$9}$9}1*Xd v d H iclass_group,$u_class_source_group $,$ErrorObject creation failed: u_class_ss_client::constructor()of_setcounts2ib_debug$0cb_debug!visible! 8@    DAT*T   T$  $,:1H,($ d ::message@%0 iclass_group,$,$  (  *0*8P*Xh*p******4*<DAT*VLT$\$d$l$t$|$$$$$$ |,BXn d  cb_debug!pb_print$"$st_data_level@#@st_4`$`st_result_countx%xst_3&st_filter_count'st_source_count( st_2)DAT*X!!st_1eti*""cb_source_selector +# #controlDc@!$"@#`$x%&'( )!*" +# 0 8P Xh p      4 <L T \ d l t |       $($@$PDAT*Z$h$x$$$$$$*8FT b p ~ d X cb_debug!pb_printb_p"st_data_level0#st_4H$st_result_countX%st_3p&st_filter_count'st_source_count( st_2)!st_1z*"cb_source_selector+# ( @ P h x     DAT*\ "#123L"#2 [ +ue_groupupdatedof_setcountsof_hasdata+constructor+destructor+create+destroy&1>JR2  widthheightbackcolorpicturemaskcolortabtextcolortabbackcolorcb_debugpb_printst_data_levelst_4st_result_countst_3st_filter_countst_source_countst_2st_1cb_sourceDAT*^_selectoriclass_groupil_sourcecountil_filtercountil_resultcountib_debug. 0=J S \ j o    ! " #$osdDAT*`@] o. @@1    @           ! " #$12DAT*b& x31 "L> #JRP@8,61D,$d w_test_client::message(@'@%  ""2  +clickeDAT*dd2 i xywidthheighttabordervisibletexttextsizeweightfacenamefontcharsetfontfamilyfontpitch%  "*/8?HT_] %  DAT*f @[ "*$)88<d @ iclass_group,$of_runselectionreport/  8 ""2  +clicked2 g xywidthheighttaborderpicturenamehtextaligntextsizeweightfacenamefontfamilyfontpitchDAT*"  ".9BIR]] o  @ @  @@ [ "DAT*`$1808,$(@(8z'84z&8$z&:)@@8@$ d at_trans H SQL ErrorDatabase Error:   , 8 @ 2  f_sqlcheck2  DAT*botifystructuremailrecipientenvironmentmailfiledescriptionmailmessagedatawindowchildlistviewitemtreeviewitemconnectioninfopowerobjecttransaction on@ectsture(ie@nvir2lf@escr@lm@gedLhi@istv`ee@itemlni@powe|an@ion @inE f@ta@a C_@ecRi @ 4DAT*n 0 ) ILqr$MAMAf_sqlcheckDELETE FROM rap_group_filter_criteria WHERE rap_group_filter_criteria.group_rid =0 QRx#MADELETE FROM rap_group_source_criteria WHERE rap_group_source_criteria.group_rid =0 QRMADELETE FROM rap_group_data WHERE rap_group_data.group_rid =0 ;<DAT*pDMAmessage@h0X   x|    2 u_class_source_group 5 of_sortsourcesof_sortfiltersof_sortads_bufferof_modobjectsqladw_bufferas_sqlof_getsqlas_filtersqlof_getfiltersqlas_sourcesqlai_datasourceof_getsourcesqlof_runresultsetof_modsqlstrinDAT*rgof_savegroupal_groupridof_deletegroupas_groupnameof_loadgroupof_resetof_getdatalevelof_getfilterlogicai_datalevelof_setdatalevelof_groupmodifiedof_resetupdateai_codeof_resetfilteras_columnaa_valueof_finddataof_setbufferdatalevelof_sortresultsetof_loadarraysof_runselectionreportof_setdefaultnames+constructor+destructor+create+destroy`x I_r.IRCdatastore.IIRCdatawindow.@TIRSeIRSI$TDAT*t.IRCdatastore.IiIIRCdatawindow.IILIS:IIBwLSAwQL (DT`(DP x _initsrcnonvisualobjectu_class_source_groupstructuremailrecipientenvironmentmailfiledescriptionmailmessagedatawindowchildlistviewitDAT*vemtreeviewitemconnectioninfopowerobjectu_ds_basedatastoredatawindowpointertransactionextobjectmessage@!6@@@N@Z@n@z@@ @ @ @z% @@@@@ @F  @DAT*x@  1- %      J88z%8z&8!z&8%z&8!z&80z&8!z&8;z&8!z&8Kz&8!z&8[z&8!z&8kz&8{z&$)8}1<1$)8DAT*z}1<411 4d ls_sortstringli_rc(  nation_rid D,state_rid A,county_ridsource_ridsource_sub1_ridsource_sub2_ridsource_sub3_ridsource_sub4_rid Aids_sourcecriteria~ setsort~ sort    88z%8z&8%z&<$)L8}1DAT*|<v1T$)d8}1<11 ,Rvd ls_sortstringli_rc( l filter_name A,filter_value Aids_filtercriteria( setsortD( sort\< L T d )8}1<<1)08}1<x1DAT*~)L8}1<11  < Txd li_rcT of_sortsourcesof_sortfilters of_sortresultset-8 0 L *1)8d ads_buffer   of_modobjectsql *1)8d DAT* adw_buffer   of_modobjectsql  t1)8}1<d8 011<8 01)48}1<8 01^1<,8<z%8@z&^8<z%8Dz&z&8@z&1*>P`xDAT* (!,$^d/ as_sqlli_rcls_sourcesqlls_filtersqlP  " J of_getsourcesqlof_getfiltersql! ( ) AND  4 J< |, |@9}T9}80p$)811)81<80DAT*80 1  P$ 8)8$ 8)8L8 9}$ 6L8L(9}H0$ 6L18$"1@$!X$8`z%x$z&8z&$z&8z&DAT*L1.$8`z%$z&8z&L$8z%8x6z%z&1$"1$!&$8`z%$z&8z&$z&8z&1r$8`z%$z&8z&$8z%86z%zDAT*f&848z%8z&61D1!"#0$D%X(j)*./01578J:v;>?@ABCEHIJKLM(OHRLWPZn[\]^*_.cLddetfxknop"q6rnsrwxyz 04d as_filtersqlls_sqlls_termls_filternamels_filtervaluels_logicll_siccountll_scccountll_rowcountll_rowls_emptyDAT*p@OFb?NA0p@p@p@!@@&\@\@1[@[@=c@c@JU@U@[`@`@ej@j@sk@k@l@l@m@m@@@@@@@@@^@^@ @@@@#@@-@@8@@B@@aN@@aZ@@h@@lg@g@wR@R@X@X@ @$@$@@@n@n@@@ @@`LLla@po@  F@F@! d@DAT*d@a+ q@q@q7 == v@v@= z> @@  8@@ w_source_selectorwindowmenuwindowtypewindowstatewindowobjecttoolbaralignmentstructuremailrecipientenvironmentmailfiledescriptionmailmessagedatawindowchildlistviewitemtreeviewitemconnectioninfopowerobject statictextfontcharsetfontpitchfontfamilyalignmentfillpatternborderstylecommandbuttontabuserobjecttabpositionDAT* puserobjects u_tv_selection_treegrsorttypeArialNotFound! p^tvNselct.bmptvPselct.bmptvFselct.bmp Q@MZ^ p^ ^ p^ Q@DAT*MZ^ p^ ^ p^ Q@MZ^ p^ ^checkboxdatawindowdwobjectgroupbox p^ ^Source SelectoDAT*rNone!i p^d_ss_hierarchy_to_countyd_ss_sources_at_countyd_ss_devices_at_sourced_ss_processes_at_deviced_ss_sic_at_selectiond_ss_sic_at_selection_sub_sourced_ss_scc_at_selectiond_ss_source_from_bufferd_ss_sic_from_bufferd_ss_scc_from_bufferd_ss_tv_result_setu_class_source_groupUnknownGroupu_ds_base KMS Sans SerifRight Click to Select/Deselect Items&PrintOK8 SourDAT*ce Selection YtvNation.bmptvState.bmptvCounty.bmptvSource.bmptvDevice.bmptvProces.bmp ` ȹ@MZ8 `SIC Codes 8RefreshtvCFold.bmptvOFold.bmpDAT* P H T  P @MZ  P H T SCC Codes   P H T  P @MZ_ P H T Group Data DAT*_Notify at Startup for Sources in RECALCULATE GroupAutomatically Add Sources to RECALCULATE Group &Save&Delete&Newd_ss_group_dataRECALCULATE Group OptionspointerdragobjecttransactionsqlcamessageSELECT rap_sic_codes.name FROM rap_sic_codes WHERE rap_sic_codes.code =' ' GJ E MA MAtreeviewgs_inifileupdate rap_db_prefs SET auto_add_to_recalc =1 DAT*WHERE rid =0 NAupdate rap_db_prefs SET auto_add_to_recalc =- 1 WHERE rid =0  NAf_sqlcheckSELECT auto_add_to_recalc FROM rap_db_prefs WHERE rid =0 8NATNAdwbufferh P8DAT*x@@|L `    D l    P     \  T   2 w_source_selector P of_processselectionsab_refreshof_enablerefreshof_processgroupai_mode+ue_loadads_buffer+cdsas_sicarraydsal_rowarrayal_segsDAT*tartal_segendai_curposal_grouphandleatvi_itematvi_groupitem+ue_insertgroup+clickeddsas_sccarraydsdsai_parse+ue_initas_groupname+ue_reload+ue_updated+ue_refreshlist+ue_validate+ue_checksaveprompt+create+destroy+open+close+closequeryindexoldindexnewindex+selectionchanged+ue_processselectionshandle+itempopulate+ue_selectionchanged+ue_processallselections +itemexpanded+itemcollapsed DAT*+constructorrowdwodata+itemchangedsqldbcodesqlerrtextsqlsyntaxbuffer+dberror+losefocuscurrentrow+rowfocuschangedh @Lx IQBtIIIZ:thLXCu_ds_base.XS[]XL[]LLILRCtreeviewitem.RCtreeviewitem.ILILZ:, DAT*LXCu_ds_base.XS[]XL[]XI[]LLILRCtreeviewitem.RCtreeviewitem.IQ>ISLIILL6LLCdwobject.S@LLSSCdwbuffer.L ,  DAT* T x _initsrcwindoww_source_selectormenuwindowtypewindowstatewindowobjecttoolbaralignmentstructuremailrecipientenvironmentmailfiledescriptionmailmessagedatawindowchildlistviewitemtreeviewitemconnectioninfopowerobjectstatictextst_click_helpfontcharsetfontpitchfontfamilyalignmentfillpatternborderstylecommandbuttoncb_printcb_oktabtab_controluserobjecttabpositiontabpage_sourceuserobjectsu_tv_selection_treetv_sourcDAT*egrsorttypeu_tv_selection_tree`ostruct_tvi_datatabpage_siccb_sic_refreshtv_sictabpage_scccb_scc_refreshtv_scctabpage_groupcheckboxcbx_notifycbx_autocb_savecb_deletecb_newdatawindowdw_groupdwobjectgroupboxgb_1u_class_source_groupu_ds_basepointerdragobjecttransactionmessagetreeviewdwbuffer@*@/@:@F@S@d@DAT*n@| @ @ @tupd et@ero o@tbufel@sortof@darrse@ionret@ultn_snce+@trucuc@+creoy@sult'da@sy1@8=d@le!I@W`e!f@j<vna@s_sora@eis4anameDAT*ay@is_me@nati@ed  1 8 @$ 31:80Hz@Qz)@\e8m0 wz&~ @!8@zK"@$8@S%@DAT*&<@'@(@*@,@/@ !$ &#'()*+,-/012358DAT*zZ 9*. --G4)%1& "!#!lI#711& #!'-#'mI$711& #!*-#*mI$711& (!.--.--DAT*------4- y+ 7-%f $)481p8<08B0:)@@81|$)818<080:)@@81$)81P8<08DAT*0:)@@811 " 2 `p@Pd ll_rc0 itv_source/#ue_processselections^ErrorError processing source or geographic selections.itv_sict0#ue_processallselections`Error processing SIC selections.itv_sccsql1#` 4 |    j$($@$PDAT*}X$l$$}2d ab_refresh@ tab_control-tabpage_sic&'cb_sic_refresho0!(enabledH-tabpage_scc`'*cb_scc_refresht!+H ( @ P X l   :F@@8$,$@$1)P8<18X08^0:)@@8DAT*@81$$$1)81f8X080:)@@8@81$$$4$1)<8<18X08D0:)@@8@81$$)81X9)8n9)81  DAT*^n@Vf $%>&T'X*nd ll_rc tab_control-tabpage_source%!tv_sourceo4!$ue_loadkHErrorw_source_selector::of_processGroup(); error loading tv_source.-tabpage_sic&'tv_sic")lHw_source_selector::of_processGroup(); error loading tv_sic.-tabpage_scc'*tv_scc,",lHw_source_selector::of_processGroup(); error loDAT*ading tv_scc.iclass_group39ids_sourcecriteria rowcountof_enablerefreshxx , @ P      $ 4 <      * 4*<L*Th*p$$$$ |,BXd h st_click_helDAT*p*cb_print$(+(cb_ok)D,Dtab_control\-\controlxc@*(+D,\-  4 <L Th p     >$,$<$P$*d X st_click_help*cb_printb_p +cb_ok4,tab_controlD- , < P %:F@DAT*@80D$\$p$$$$$$$$$0$Lj`h$#f8p08v0:)@@8@81$80$,)) 8,+$,+$)0888 \,+dDAT*$|9}v8p088z%:)@@8@81$) 8$j$$#8p08,0:)@@8@81t9})8<18p088z%:)@@8@81$$$)8 $($0DAT*$)H81  ,\DZf"#$%& (T)j/v145678:A$B@CPEFKNQd% ll_rcls_dummysqlcamessageP )@=+@>Ph iw_source_selector.itv_source$/#tab_control8-tabpage_sourceL%!tv_sourced!$itv_sicx0#8-tabpage_sic&'tv_sicDAT*")itv_scc1#8-tabpage_scc'*tv_scc",idw_group248-tabpage_group (-dw_group$&5ids_geographicbase 87:u_ds_baseT:87:Errorw_source_selector::open(); ids_geograhicBase object creation failed._87:dataobjectd_ss_hierarchy_to_county87:settransobject ^@ ^@classname$u_class_source_groupiclass_groupM39 ^@ib_localgroupl4w_source_selector::open(); incorrDAT*ect object type received. Object of type u_class_source_group required.wM39of_setdefaultnames0M3989M39w_source_selector::open(); u_class_source_group object creation failed.l4of_processgroupy|w_source_selector::open(); error initializing treeviews with existing data.M39ids_groupdataar 24sharedata 8- (-$&5ue_refreshlistn8 0 D \ p     DAT*       0 L `h        0 \ d |     $ t        ( 0 H $ $$<$T$!N\$,+h1v,+d$ Nd ::message+@>l0 DAT*ids_geographicbase7:7:ib_localgroupb_,4iclass_groupge_D39D39 $ < T \ d $18)88#8@!P$"d$|$$)8<111,+1,+$ . Zd ls_namell_rc::message< DAT*+@>@ idw_groupph24group_namegetitemstringrou'ib_localgrouppA4tab_controlX-tabpage_groupl(-dw_groupchi&5ue_checksavepromptm 8 P d |    &wxyFG&2 h of_processselectionsof_enablerefreshof_processgroup+create+destroy+open+close+closequeryDAT* .>FOU\2 ] xywidthheighttitlebartitlecontrolmenuwindowtypebackcoloriconst_click_helpcb_printcb_oktab_controlii_nationlevelii_statelevelii_countylevelii_sourcelevelii_sourcesub1levelii_sourcesub2levelii_sourcesub3levelii_sourcesub4levelii_devicelevelii_processlevelis_geographicdatais_sourcedatais_devicedatais_processdatais_siDAT*cdatais_sicdatasubsourceis_sccdatais_sourcebufferdatais_sicbufferdatais_sccbufferdatais_tvresultsetdataiw_source_selectoritv_sourceitv_sicitv_sccidw_groupiclass_groupib_localgroupis_nullcodeis_groupcodeids_geographicbaseib_groupmodifiedi | "h@(4?IxN \ DAT*e k wmgscese dck/s_=seKgsZgevy?ilUwimtwsyh_#HDAT*##49$ ,9:,L] oi| h  1x @@@DAT*    ###49:w( x9xy&FGDAT*2  2 y xywidthheighttextsizeweightfontcharsetfontpitchfontfamilyfacenamebackcolorenabledtextfocusrectangle  P"@)5?JS]ej] oPDAT*  @`:F@@8$)<8T$)t8<6d | iw_source_selector.of_processselectionsw$iclass_group$D39of_runselectionreport/\ < T DAT*t ""2  +clicked2 a xywidthheighttabordertextsizeweightfontcharsetfontpitchfontfamilyfacenametext[  `"+2>HS\3] o[` DAT* @3"X $#0:F@@84$)T8l$)8<18080:)@@810108080:)@:@1@8<101@8DAT*1  ,Hn~$0Fd ll_rcls_name( ( ib_localgroup4iw_source_selector .of_processselectionsw<iclass_group\39of_runresultsettErrorcb_ok::clicked(); error creating result set.Confirm CloseNo result set has been generated. Close anyway? 4 T l  ""2  +clickedDAT*2 i xywidthheighttabordertextsizeweightfontcharsetfontpitchfontfamilyfacenametextdefaultn  `"+2>HS\:a] on` DAT* @:"* 4*<P*Xp*x$$$$ |,BXd h tabpage_source%!!tabpage_sic(&'('tabpage_sccD'*D*tabpage_group`(-`-cDAT*8ontrol g@%!(&'D'*`(-  4 <P Xp x     >$,$@$X$*d ` tabpage_source%!tabpage_sic &'tabpage_scc4'*tabpage_group*H(- , @ X "}1<h$,$)@8X$h9}DAT*p@)b?NA(p@p@p@q@@a"\@\@-[@[@9c@c@FU@U@W`@`@aj@j@ok@k@{l@l@m@m@@@@@@@@@^@^@an@n@`@@@@(@@3@@?@@I@@T@@^@@j@@x0g@X@X@a@7d@d@Bv@v@Bot6dJq@q@QVg(7e\O@O@qoN@N@~@@o@DAT*( w_test_clientwindowmenuwindowtypewindowstatewindowobjecttoolbaralignmentstructuremailrecipientenvironmentmailfiledescriptionmailmessagedatawindowchildlistviewitemtreeviewitemconnectioninfopowerobject |datawindowborderstyledwobjectstatictextfontcharsetfontpitchfontfamilyalignmentfillpatterncommandbuttonu_class_ss_clientuserobjectsu_class_source_group  0Source Selector Test CDAT*lient Windowi 4> 4>d_ss_group_dataResult Set:ArialFilter Criteria:Source Criteria:d_ss_group_result_setSample Reportd_ss_tv_result_setd_ss_group_filter_criteriaView SQL and Arrays T1d_ss_group_source_criteriadragobjectmessagetransactionsqlcasqlpreviewfunctionsqlpreviewtypedwbufferu_ds_base 2 w_test_clientDAT*  w +create+destroy+open+clicked+constructorrequestsqltypesqlsyntaxbufferrow+sqlpreview+ue_groupupdated| QL58=9EO:VLCsqlpreviewfunction.Csqlpreviewtype.SCdwbuffer.LI  xy _initsrcwindoww_test_clientmenuwindowtypewindowstatewindowobjecttoolbaralignmentstructuremailrecipientenvironmentmailfiledescriptionmailmessagedatawindowchildlistviewitemtreevDAT*iewitemconnectioninfopowerobjectdatawindowdw_groupborderstyledwobjectstatictextst_3fontcharsetfontpitchfontfamilyalignmentfillpatternst_2st_1dw_resultcommandbuttoncb_reportdw_reportdw_filtercb_1u_class_ss_clientuo_ss_clientuserobjectsu_class_ss_client`cb_debugu_class_ss_client`pb_printu_class_ss_client`st_data_levelu_class_ss_client`st_4u_class_ss_client`st_result_countu_class_ss_client`st_3u_class_ss_client`st_filter_countu_class_ss_client`st_source_countu_class_sDAT*s_client`st_2u_class_ss_client`st_1u_class_ss_client`cb_source_selectoru_class_source_groupdw_sourcedragobjectmessagetransactionsqlpreviewfunctionsqlpreviewtypedwbufferu_ds_base nte_@_rsho&ab@H+@age_6*@cc_rB@HOs@`es@ SICjs.@tionx sa@ @ @ 0@ @DAT*@3@8@@@ @@sy"@8.up@as!8@C@Meo@!Y^<cntwimse@getw{ctw_sywash_ h H@ @ DAT* $6,XoLEri@cord %@0 0@n K8"@D$@W%Re@Sf&@o'<@ DAT*!"#$& (% )% *% +% ,% -% .% / % 0!% 1"% 2#%4wW 5*y%. . . y% -DAT*y%y% -%4( 1!y% *,*4D*L\*dx******  *(8@$H$P$X$`DAT*$h$p$x$$$$ |,BXn d  dw_group*st_3$+$st_2<,<st_1T-Tdw_resultl.lcb_report/!!dw_report0""dw_filter@1##cb_1rob2$$uo_ss_client@3&&dw_source!444control0c@*DAT*$+<,T-l./!0"1#2$3&44 , 4D L\ dx         (8 @ H P X ` h p x     $$$4$D$X$l$$$$$DAT*$*8FT b p ~ d X dw_group*st_3+st_2,,st_1<-dw_result_1L.cb_report`/!dw_reportt0"dw_filter1#cb_12$uo_ss_client3&dw_source44 $ 4 D X l      $0$H$\$)p8x$$$DAT*$)8$$$$)8,!1,!$<xd ::message!@6 uo_ss_client3&iclass_groupt_2 ,$ids_groupdata8 dw_groupP*sharedatad3& ,$ids_filtercriteria dw_filter_s1#d3& ,$ids_sourcecriteria dw_source44d 0 HDAT* \ p x           &&2  +create+destroy+open<2 xywidthheighttitlebartitlebackcolorcontrolmenuminboxmaxboxresizablewindowstatedw_groupst_3st_2st_1dw_resultcb_reportdw_reportdw_filtercb_1uo_ss_clientdw_source  e DAT* "(2>ELVb k p u z  ! " #} $d@ & 4] oe    DAT* 1  @@@      ! " # $ & 4 x&2  2 DAT* L xywidthheighttaborderenableddataobjectborderstylelivescroll    "*H5A] o     H@  2 DAT*  2 m xywidthheightenabledtextfocusrectanglebackcolortextsizeweightfacenamefontfamilyfontpitch ` `!X&5?HOdXc] o`` DAT*@d X@2  2 m xywidthheightenabledtextfocusrectanglebackcolortextsizeweightfacenamefontfamilyfontpitchI ` `!j&5?HDAT*OdXc] oI`` @d j@2  2 m xywidthheightenabledtextfocusrectanglebackcolortextsizeweightfacenamefontfamilyfontpitchI `DAT* `!{&5?HOdXc] oI`` @d {@2  DAT*  2 Z xywidthheighttaborderdataobjectborderstylehscrollbarvscrollbarlivescroll  [2"-9DO] o[2 @ @ DAT*b}~ tine:an_county_rid urpan_county_ridridrap_sources.ridAnullidrap_sources.idQnullnamerap_sources.name[nulltyperap_sources.typebnullOPBSELECT( VERSION(400) TABLE(NAME="rap_sources" ) COLUMN(NAME="rap_sources.rid") COLUMN(NAME="rap_sources.id") COLUMN(NAME="rap_sDAT*2ources.name") COLUMN(NAME="rap_sources.type")WHERE( EXP1 ="rap_sources.geographic_county_rid" OP ="=" EXP2 =" " ) ) ORDER(NAME="rap_sources.id" ASC=yes ) ARG(NAME = "an_county_rid" TYPE = number) C"no"yesDAT*rce_type, v_rap_ss_scc.sic_code, v_rap_ss_scc.scc_code FROM v_rap_ss_scc WHERE 1 = 1 ORDER BY v_rap_ss_scc.state_name ASC, v_rap_ss_scc.county_name ASC, v_rap_ss_scc.source_id ASC, v_rap_ss_scc.scc_code ASC "no"yes$1DAT*_ss_scc.source_id" ASC=yes ) ORDER(NAME="v_rap_ss_scc.source_sub1_id" ASC=yes ) ORDER(NAME="v_rap_ss_scc.source_sub2_id" ASC=yes ) ARG(NAME = "al_nationArray" TYPE = numberlist) ARG(NAME = "al_stateArray" TYPE = numberlist) ARG(NAME = "al_countyArray" TYPE = numberlist) ARG(NAME = "al_sourceArray" TYPE = numberlist) ARG(NAME = "al_sourceSub1Array" TYPE = numberlist) ARG(NAME = "al_sourceSub2Array" TYPE = numberlist) DAT* st) DAT*eSub3Array" TYPE = numberlist) ARG(NAME = "al_sourceSub4Array" TYPE = numberlist) ARG(NAME = "as_sicArray" TYPE = stringlist) ARG(NAME = "as_sccArray" TYPE = stringlist) DAT*-RG(NAME = "al_grouprid" TYPE = number) DAT*$2  2 xywidthheightenabledborderborderstylealignmentfocusrectanglebackcolortextsizeweightfacenamefontfamilyfontpitch,%  n`!(4>MW`gp{DAT*&] o%n` @  2  2 m xywidthheightenabledtextfocusrectanglebackcolortextsizeweightfacenamefontfamilyfontpitch%  I@DAT*(!&5?HOXc] o%I@ @ @2  2 h xywidthheightenabledfocusrecDAT**tanglebackcolortextsizeweightfacenamefontfamilyfontpitch @ @!0:CJS^] o@@ @  DAT*,@2  2 m xywidthheightenabledtextfocusrectanglebackcolortextsizeweightfacenamefontfamilyfontpitch @ @!&5?HOXc] oDAT*.@@ @ @2  2 h xywidthheightenabledfocusrectanglebackcolortextsizeweightfacenamefontfamilyfontpitch  @!0DAT*0:CJS^] o@ @  @2  2 h xywidthheightenabledfocusrectanglebackcolortextsizeweightfacenamefontfamilyfontDAT*Rpitch  @!0:CJS^] o@ @  @DAT*4Source Selector client object classforward global type u_class_ss_client from UserObject end type type cb_debug from commandbutton within u_class_ss_client end type type pb_print from picturebutton within u_class_ss_client end type type st_data_level from statictext within u_class_ss_client end type type st_4 from statictext within u_class_ss_client end type type st_result_count from statictext within u_class_ss_client end type type st_3 from statictext within u_class_ss_client end tDAT*6ype type st_filter_count from statictext within u_class_ss_client end type type st_source_count from statictext within u_class_ss_client end type type st_2 from statictext within u_class_ss_client end type type st_1 from statictext within u_class_ss_client end type type cb_source_selector from commandbutton within u_class_ss_client end type end forward global type u_class_ss_client from UserObject int Width=1070 int Height=424 long BackColor=79741120 long PictureMaskColor=5368709DAT*812 long TabTextColor=33554432 long TabBackColor=16777215 event type integer ue_groupupdated ( ) cb_debug cb_debug pb_print pb_print st_data_level st_data_level st_4 st_4 st_result_count st_result_count st_3 st_3 st_filter_count st_filter_count st_source_count st_source_count st_2 st_2 st_1 st_1 cb_source_selector cb_source_selector end type global u_class_ss_client u_class_ss_client type variables //Source Group Object u_class_source_group iclass_group long il_sourceCount =DAT*: 0 long il_filterCount = 0 long il_resultCount = 0 //debug flag controls visibility of Debug button boolean ib_debug = false end variables forward prototypes public function integer of_setcounts () public function boolean of_hasdata () end prototypes event ue_groupupdated; this.of_setCounts() return 1 end event public function integer of_setcounts (); integer li_level string ls_levelName il_sourceCount = iclass_group.ids_sourceCriteria.rowCount() il_filterCountDAT*< = iclass_group.ids_filterCriteria.rowCount() il_resultCount = iclass_group.ids_resultSet.rowCount() st_source_count.text = string(il_sourceCount) st_filter_count.text = string(il_filterCount) st_result_count.text = string(il_resultCount) li_level = iclass_group.of_getDataLevel() choose case li_level case iclass_group.ii_nationLevel ls_levelName = "Nation" case iclass_group.ii_stateLevel ls_levelName = "State" case iclass_group.ii_countyLevel ls_levelName = "County" caseDAT*> iclass_group.ii_sourceLevel ls_levelName = "Source" case iclass_group.ii_sourceSub1Level ls_levelName = "Device" case iclass_group.ii_sourceSub2Level ls_levelName = "Process" case else messageBox("Error", "u_class_ss_client::of_setCounts(); invalid data level '" +& string(li_level) + "' specified.", exclamation!) ls_levelName = "Error" end choose st_data_level.text = ls_levelName return 1 end function public function boolean of_hasdata (); if iclass_group.idsDAT*@_resultSet.rowCount() > 0 then return true else return false end if end function event constructor; iclass_group = create u_class_source_group if not isValid(iclass_group) then messageBox("Error", "Object creation failed: u_class_ss_client::constructor()", exclamation!) return -1 end if this.of_setCounts() if ib_debug then cb_debug.visible = true else cb_debug.visible = false end if return 1 end event event destructor; if isValid(iclass_group) then destroyDAT*B iclass_group end if end event on u_class_ss_client.create this.cb_debug=create cb_debug this.pb_print=create pb_print this.st_data_level=create st_data_level this.st_4=create st_4 this.st_result_count=create st_result_count this.st_3=create st_3 this.st_filter_count=create st_filter_count this.st_source_count=create st_source_count this.st_2=create st_2 this.st_1=create st_1 this.cb_source_selector=create cb_source_selector this.Control[]={this.cb_debug,& this.pb_print,& this.sDAT*Dt_data_level,& this.st_4,& this.st_result_count,& this.st_3,& this.st_filter_count,& this.st_source_count,& this.st_2,& this.st_1,& this.cb_source_selector} end on on u_class_ss_client.destroy destroy(this.cb_debug) destroy(this.pb_print) destroy(this.st_data_level) destroy(this.st_4) destroy(this.st_result_count) destroy(this.st_3) destroy(this.st_filter_count) destroy(this.st_source_count) destroy(this.st_2) destroy(this.st_1) destroy(this.cb_source_selector) end on tyDAT*Fpe cb_debug from commandbutton within u_class_ss_client int X=37 int Y=32 int Width=183 int Height=128 int TabOrder=30 boolean Visible=false string Text="Debug" int TextSize=-8 int Weight=400 string FaceName="MS Sans Serif" FontCharSet FontCharSet=Ansi! FontFamily FontFamily=Swiss! FontPitch FontPitch=Variable! end type event clicked;open(w_test_client) end event type pb_print from picturebutton within u_class_ss_client int X=896 int Y=32 int Width=146 int Height=128 int DAT*HTabOrder=20 string PictureName="sgprint.bmp" Alignment HTextAlign=Left! int TextSize=-10 int Weight=700 string FaceName="Arial" FontFamily FontFamily=Swiss! FontPitch FontPitch=Variable! end type event clicked; return iclass_group.of_runSelectionReport() end event type st_data_level from statictext within u_class_ss_client int X=37 int Y=256 int Width=366 int Height=96 boolean Enabled=false boolean Border=true BorderStyle BorderStyle=StyleLowered! Alignment Alignment=CentDAT*Jer! boolean FocusRectangle=false long BackColor=79741120 int TextSize=-9 int Weight=400 string FaceName="Arial" FontFamily FontFamily=Swiss! FontPitch FontPitch=Variable! end type type st_4 from statictext within u_class_ss_client int X=37 int Y=192 int Width=329 int Height=64 boolean Enabled=false string Text="Data Level:" boolean FocusRectangle=false long BackColor=79741120 int TextSize=-8 int Weight=700 string FaceName="Arial" FontFamily FontFamily=Swiss! FontPitch FontPDAT*Litch=Variable! end type type st_result_count from statictext within u_class_ss_client int X=914 int Y=320 int Width=146 int Height=64 boolean Enabled=false boolean FocusRectangle=false long BackColor=79741120 int TextSize=-8 int Weight=400 string FaceName="Arial" FontFamily FontFamily=Swiss! FontPitch FontPitch=Variable! end type type st_3 from statictext within u_class_ss_client int X=475 int Y=320 int Width=439 int Height=64 boolean Enabled=false string Text="Result SetDAT*N:" boolean FocusRectangle=false long BackColor=79741120 int TextSize=-8 int Weight=700 string FaceName="Arial" FontFamily FontFamily=Swiss! FontPitch FontPitch=Variable! end type type st_filter_count from statictext within u_class_ss_client int X=914 int Y=256 int Width=146 int Height=64 boolean Enabled=false boolean FocusRectangle=false long BackColor=79741120 int TextSize=-8 int Weight=400 string FaceName="Arial" FontFamily FontFamily=Swiss! FontPitch FontPitch=Variable! DAT*Pend type type st_source_count from statictext within u_class_ss_client int X=914 int Y=192 int Width=146 int Height=64 boolean Enabled=false boolean FocusRectangle=false long BackColor=79741120 int TextSize=-8 int Weight=400 string FaceName="Arial" FontFamily FontFamily=Swiss! FontPitch FontPitch=Variable! end type type st_2 from statictext within u_class_ss_client int X=475 int Y=256 int Width=439 int Height=64 boolean Enabled=false string Text="Filter Criteria:" booleanDAT*\ FocusRectangle=false long BackColor=79741120 int TextSize=-8 int Weight=700 string FaceName="Arial" FontFamily FontFamily=Swiss! FontPitch FontPitch=Variable! end type type st_1 from statictext within u_class_ss_client int X=475 int Y=192 int Width=439 int Height=64 boolean Enabled=false string Text="Source Criteria:" boolean FocusRectangle=false long BackColor=79741120 int TextSize=-8 int Weight=700 string FaceName="Arial" FontFamily FontFamily=Swiss! FontPitch FontPitch=VDAT*T2  2 m xywidthheightenabledtextfocusrectanglebackcolortextsizeweightfacenamefontfamilyfontpitch  @!&5?HOXc] o@ DAT*V@ @2  2 m xywidthheightenabledtextfocusrectanglebackcolortextsizeweightfacenamefontfamilyfontpitch  @!& 5?DAT*XHOXc] o@ @ @ t $@8})08,Z1h,8$ .@d* li_rcw_DAT*Zsource_selector::message< @( @%@ iclass_group,$ue_groupupdated1  0 8 "#-#"2 " +ue_groupupdated+clicked(2 U xywidthheighttabordertexttextsizeweightfacenamefontfamilyfontpitch%  I "DAT*0'07@K] o% I  @ @0-[ "DAT*^ariable! end type type cb_source_selector from commandbutton within u_class_ss_client event type integer ue_groupupdated ( ) int X=37 int Y=32 int Width=841 int Height=128 int TabOrder=10 string Text="&Source Selector" int TextSize=-10 int Weight=700 string FaceName="Arial" FontFamily FontFamily=Swiss! FontPitch FontPitch=Variable! end type event clicked; integer li_rc //open source selector with reference to the source group object li_rc = openWithParm(w_source_selectDAT*Vor, iclass_group) parent.event trigger ue_groupUpdated() end event DAT*DAT*d,8,81P11d8080:)@@81,,8111"8-08:8hz%:)@@81 0@L` !%"d ll_rcll_groupridsqlca<@ ErrorNo daDAT*/ta found in rap_db_prefs.Saved GroupsThe RECALCULATE Group contains Sources which may need to be recalculated.2 # f_recalc_notifyf_sqlcheck<2  DAT*h   $ 2 A JVbnu- is_sicarray is_sccarray ib_nullsic4ib_nullsccHids_filtercriteria\ rowcountxof_getfilterlogicde& OR AND r\ filter_namegetitemstringh@\ filter_valueDAT*jsic_code14 scc_codeH 44is_siccodenameH# IN ( :is_sicarraynameh ) OR H# IS NULLH#h ) H#HHis_scccodename$is_sccarrayname$$$( ) , @ T p          ( 0 8 @ X x        DAT*l      u1<,$@4$#8<08B0:)@@81||||||8|T|)h818011DAT*n8pJ88J8R $  8J8 $  8J8 $ 8J8f$  8J8  $ DAT*p 8(J88 @$   8HJX8 ~`$  h$   1:$8z%$z&8z&86:8z%z& 1$8z%$z&8z&868DAT*rz%z&1^$8z% $z&8z&8@6^8z%z&1<$8z%X$z&8z&868z%z&1x$8z%$z&8z&8d68z%z&1$8z%DAT*t$z&8z&868z%z&1$8z%$z&8z&868z%z&18 8$8z%X$z&8z&8 68 8z%z&8 8`z%8cz&61 80DAT*v1,-.(/,1@2L3z789:;<=>2AJBdCtDIKLMPQR(S2TNWRXzYZ[^_`abe f2g<hFiblfmnopstuvwz{F|P}Z~vz~:J,<@^n8P`d$\t   8 P p dcDAT*x as_sourcesqlai_datasourcels_sqlls_termll_nationridll_stateridll_countyridll_sourceridll_sourcesub1ridll_sourcesub2ridll_sourcesub3ridll_sourcesub4ridll_nationcountll_statecountll_countycountll_sourcecountll_sourcesub1countll_sourcesub2countll_sourcesub3countll_sourcesub4countll_rowcountll_rowll_emptylds_bufferL #* 2?KDAT*zXev 0<LC-X fX ids_resultset  ids_sourcecriteria  Erroru_class_source_group::of_getSourceSql(); data buffer object is not valid.il_natDAT*|ionarraysil_statearraycoil_countyarrayail_sourcearrayil_sourcesub1array il_sourcesub2arrayt il_sourcesub3array$ il_sourcesub4array@ rowcount\nation_ridgetitemnumber{state_rid{county_ridv{source_rid{source_sub1_rid{source_sub2_rid{ source_sub3_rid{ source_sub4_rid{$ @ is_nationridnamepDAT*~ IN ( :is_nationarrayname ) OR is_stateridnameshis_statearraynameis_countyridnameis_countyarrayname is_sourceridname(is_sourcearraynameDis_sourcesub1ridname`is_sourcesub1arraynameis_sourcesub2ridname is_sourcesub2arraynameis_sourcesub3ridname!is_sourcesub3arraynameis_sourcesub4ridname "is_sourcesub4arrayname@( ) 4  DAT*     8 T h             8 @ X ` h        < X x      8 X - $),81)H8#!n1)`81:F@@8h$)8$DAT*80$,)8$)81v808 8Pz%:)@@81)d81$)81V$$)8<1)81F8088z%:)@@811$)$8,8,4$<8D0DAT*`$,)h8p1)8<1H1)811808 8Pz%:)@@81)81$$$$$$8$T$p$$$) 8 11DAT*)81<1<8080:)@@81)811)8<11)811)8)081 : ^nBfv !"#%6'F,V-r./37894:D;X=>BNOPQRST,X<YbDAT*Zr[^`bd) ll_rcls_dummysqlcags_databaseP @@8x ids_resultset rowcount of_groupmodified(4of_getsourcesqlP sharedataoffpp dataobjectd_ss_group_result_set settransobjectids_sourcecriteria Result SetNo source/geographic criteria have been specified. Cannot retrieve rDAT*esult set data.Pids_filtercriterial   sharedatadaPErroru_class_source_group::of_runResultSet(); ids_sourceCriteria.shareData() failed. resetORACLEd d_ss_group_result_set_ora  of_modobjectsqlxPP il_nationarraywil_statearrayuril_countyarrayoil_sourcearrayil_sourcesub1arraya il_sourcesub2arraye$ il_sourDAT*cesub3arraya@ il_sourcesub4arrayd\ is_sicarrayx is_sccarrayretrievesubPNo records found matching current criteria.Pof_setbufferdatalevel,PPof_resetupdate)  , H ` h        d        $ 4 < ` h p        DAT*  8 T p         0 --8"01-8 @9818088Nz%:)@@81-1R@8-11R@8}1<X1)8}P1<1DAT*)8}P1<)8}P1< )8}P1}8088z%:)@@81<n8-8(z%z&-8(z%z&8*z&z&10\l"%( )**+T,l-./012 37P9n:;<AdQ as_sqlai_dDAT*atasourcels_sqlwherels_sqlpatchll_startwhereli_rccase40  ) 5CI0 WHEREErrorCannot modify SQL. Original SQL has no WHERE clause. Suggestion: add 'WHERE (1 = 1)' to original SQL.of_getsourcesqlof_getfiltersqlof_getsqlUsageFunction: u_class_source_group::of_modSQLString(). Invalid include code speciDAT*fied. AND    F-#1-$89n,8g849n<8g8D9nL8^)d8}1<-l$89nt8g849n|8g8D)810d. ads_bufferai_datasourcels_sqlli_rcP DAT*! (H @datawindow__get_attributetableselectof_modsqlstringT@__set_attribute , < L d l t |  F-#1-$89n,8g849n<8g8D9nL8^)d8}1<-l$DAT*89nt8g849n|8g8D)810d. adw_bufferai_datasourcels_sqlli_rcP ! (H @datawindow__get_attributetablenselectof_modsqlstringT@__set_attribute , < L d l t | DAT* M$),81n8408E8mz%:)@@81$)8184088mz%:)@@81$18J81b84088mz%:)@@81bb$184088mz%:)@@810$DAT*18)@8<1b8408H8mz%:)@@81d$18l)88"84088mz%:)@@81,,81x84088mz%:)@@8118408z%8z&8mz&:)@@8$1DAT*8l80)81)8<1P1 $)48<$11:@:@)T8\$99)l8<1,,8408t8mz%:)@@81$)81d$)8P$1:@:@)8$8DAT*)8<1L,84088mz%:)@@81Z $)8<1,84088mz%:)@@81T$)\81d$)l8t$1:@:@)|8$8)8<1,84088mz%:DAT*)@@81$)8<1t,84088mz%:)@@81,,81,84088mz%:)@@811&Zj N ^"l#$&()*,R2b3469;<=>?0AdBtCEFKL0PPQlRSTUW\,]H^_`aDAT*bd<fLiPjvklnstu,vbwxy{}*0dtzd4 ll_rcll_rowll_groupridls_groupnamesqlcad! .@8 ids_groupdata rowcount Save Group ErrorNo group data record has been loaded. Save group failed.ids_sourcecriteria No source criteria have been selected. DAT* group_ridgetitemnumberError reading group RID. Error obtaining group RID.  setitem8Error setting group RID.  group_namegetitemstringwGroup name cannot be NULL or blank. Error validating group name. Group name '' is not unique.  8of_deletegroup" resetupdate( setitemstatus8D updatedError updating group data.  (  D DAT*8Error setting group RID for source criteria record. d dError updating source criteria. ids_filtercriteria> (> > D> 8Error setting group RID for filter criteria record. > dError updating filter criteria. Error on commit.  ,     0 @ d       4 < T \ l    DAT*        T \ d l t |     , |,81|,8088Az%:)@@81, , 81,808`8Az%:)@@81, ,!81t,8088Az%:)@@81DAT*,,"81,8088Az%:)@@8112 8 l| !*"0$d(t)z*+-0d al_groupridsqlca(@ Delete Group ErrorError deleting old filter criteria. No database updates were made.Error deleting old source criteria. Error deleting old group data. ErDAT*ror on commit.  $6),81H4$18<JT8p$)x811 1 808z%8z&:)@@81$)81f1$)81 * Hz Ffd' DAT* as_groupnamell_rcll_grouprid< P ids_groupdata retrieve  group_ridgetitemnumberFids_sourcecriteria\ Not FoundNo source criteria found for group ''.ids_filtercriteriah@ ids_resultset reset , 4 T p x     B$)(8<1t8DAT*00860:)@@81$)8<180080:)@@81$)8<1\80080:)@@818$1)L818008T0:)@@81$18/)8$181)81DAT* & 6 dtL\ $%',d ll_rc` ids_groupdata6 reset Erroru_class_source_group::of_reset(); group data reset failed.ids_sourcecriteriaq u_class_source_group::of_reset(); source criteria reset failed.ids_filtercriteria u_class_source_group::of_reset(); filter criteria reset failed. insertrow@u_class_DAT*source_group::of_reset(); group data row insert failed. data_levelsetitem filter_logic< (     8 L     H$18 J<8;e@e8d D ids_groupdata6 data_levelgetitemnumberJ+ < H$18 J<8;e@e8DAT*d D ids_groupdata filter_logicgetitemnumber- < 6$18 )48d ai_datalevel< ids_groupdata data_levelsetitem+ 4 $)081}L$)T81}p$)x81}""* T ~d.DAT* lb_groupmodlb_sourcemodlb_filtermod<!0 ids_groupdata modifiedcount ids_sourcecriteria8 ids_filtercriteria\  0 L T p x j$),8H$)P8l$)t818 Td |0 ids_groupdata resetupdateDAT* ids_sourcecriteriar4 ids_filtercriteriaX  , H P l t 1<D88z%8z&8#z&p88z%8%z&8#z&D$)X8`$)p8}1<8x08~0:)@@81$)81$1:@)8}1DAT*<8x080:)@@818$8@)D8L$)T81@Dp& 6!h"|#'(*d. ai_codels_filterstringli_rcll_rowsP  &\` filter_name <> 'sic_code'scc_codeids_filtercriteriater. setfilterL. filterahEDAT*rroru_class_source_group::of_resetFilter(); apply filter failed.. filteredcountb. rowsdiscardu_class_source_group::of_resetFilter(); discard rows failed.. L. ahD X ` p     8 D L T >o@988L1}8 v1}808o@98z'8Rz&DAT*:)@@81 68o 1}8y 81}8 b1}8 1}8 1}8 1}8  1}8 41}8 ^1}8 1}8 1DAT*}8 1}8 1}8 01}8% Z1}81 1}808>z%8xz&:)@@818z%8z&1<^8z%o~@~8(@(8z(8z&8z%o(@(8z(8z&DAT* }1 <$1$)8)81 <`$1$)8)81 <4$1<$)D8)L8808T8z%:)@@81 "6H`rv "4L^ v!"#$%&'()0*H+Z,r-./0DAT*12345,6D7V8n9:<@ABCDEZF^KLMNOP\QtRSUXd as_columnaa_valuels_findstringls_stringvaluell_longvaluell_rcli_searchbufferli_datatypecase13case24case75  ) 8EK[g o w` longDAT*stringErroru_class_source_group::of_findData; invalid data type '' recieved for search value.group_ridgroup_namegroup_descriptiondata_levelfilter_logicnation_ridstate_ridcounty_ridsource_ridsource_typesource_sub1_ridsource_sub2_ridsource_sub3_ridsource_sub4_ridfilter_namefilter_valueu_class_source_group::of_findData; invalid column name '' specified for search.isNull() = = '' ids_groupdata1  rowcountfind1cids_sourcecriteriaDAT*  cids_filtercriteria   cu_class_source_group::of_findData; invalid data source specified for search.        4 < D L *E1<h $)48<1d1 P$)h8<11 #1 )|8DAT*112121 )8}/ 80 80/ 80 80/ 80 80/ "80 80/ X80 80/ 80 80/ 80 80/ 1DAT*111  )8 J 811 :@)48<11  )H8<1,1 )\8<1j1 8d)8e@e8}} 8(DAT*@(8z'8z&   )8 8 @8  6)8<11 @8  )8<111(Dd h!|"$'()*+"/20J1X2j3|456789:; <=0>B?T@fAxBCDEFGHLMDAT*P<QbTVWY[_` a,bJcjfijmn,oHpvqrstw{}d ai_codell_rcll_ridll_rowll_prevridll_nullcolumnnumberli_columnli_columncountls_levelcolumnls_nullcolumnls_templl_templds_buffercase47$/CM\ k y DAT* x ids_resultsetro of_sortresultsetf_f- ids_sourcecriteria < of_sortsourcesXrowcountpof_getdatalevel%nation_ridstate_ridcounty_ridsource_ridsource_sub1_ridsource_sub2_ridsource_sub3_ridsource_sub4_ridpgetitemnumberrowsdiscard(setcolumn<getcolumnvPdataWindow.column.countdescribe`|#.name`|source_typesetitemDAT* 4 P h |     4 H \     J88z%8z&8!z&8%z&8!z&80z&8!z&8;z&8!z&8Kz&8!z&8[z&8!z&8kz&8{z&$)8}1<1$)8}1<411 4dDAT* ls_sortstringli_rc(  nation_rid D,state_rid A,county_ridsource_ridsource_sub1_ridsource_sub2_ridsource_sub3_ridsource_sub4_rid Aids_resultset~ setsort~ sort    =1<,$@4$#8<08B0:)@@81||DAT*||||8|T|)h81118pJ88J8@ $  8J8 $  8JDAT*8 $  8J8T $  8J8  $  8(J88 @$ 8HJX8l`$ h$ 1DAT*&'((),+@,L-z123456782<J=dACDEHI JK L<O@PhQrR|SVWXYZ]^ _*`4aPdTe|fghklmnor s4t>uHvdwhxlyv|~dG ai_datasourcell_nationridll_stateridll_countyridll_sourceridll_sourcesub1ridll_sourcesub2ridll_sourcesub3ridll_sourcesub4ridll_nationcountll_statecountll_countycountll_sourcecountll_sourcesub1countll_sourcesub2countll_DAT*sourcesub3countll_sourcesub4countll_rowcountll_rowll_emptylds_buffer0#/<IZk| 0'-DAT*< p ids_resultset8 ids_sourcecriteria  Erroru_class_source_group::of_getSourceSql(); data buffer object is not valid.il_nationarrayil_statearrayycil_countyarrayil_sourcearrayil_sourcesub1array il_sourcesub2arrayo il_sourcesub3array$ il_sourcesub4array@ rowcount\nation_ridgetitemnumberE={state_ridmm{county_ridl{source_rid {DAT*source_sub1_rid{source_sub2_rid{ source_sub3_rid{ source_sub4_rid{$ @  4       8 T h             8 @ X ` h :F@@8)8<18 08&0:)@@81DAT*11)x8<18 080:)@@81j#j8 080:)@@8148<0,)d88l)8<18 080:)@@818)8<18 080:)@@DAT*818)8<18 080:)@@818)8<18 080:)@@810$11:@*1:@)D8<1>8 08L0:)@@8118)88DAT*0186)8$*)8<1*8 080:)@@81j`#8 08h0:)@@81 1} 1 <$)81 1} )8 1<F * 8)8p * 8)<DAT*8T$1\8d0,)x8$)81D8 080:)@@811`)8 1)8 88)8)8V4$1~ <8D0,)T8\$)d81DAT*8 08l0:)@@811)8~  1)8 88)8)8 88)8)8$1\ 80,),84$)<81R 8 08D0:)@@81DAT*1n )8\  1)8 88)8)8 88)8)8 88)8)8d $1 80,)8$)$810 8 08,0:)@@811L DAT*)|8  1)8 88)8)8 88)8)8 88)8)8 88)8)8 88)8)8 88)8)8B $$1,840,)H8DAT*P$)X818 08`0:)@@811)8 1)8 88)8)8 88)8)8 88)8)8 88)8)8 88) 8) 8DAT* 88) 8) 8 8 8 ), 8)4 8 8< 8< )H 8)P 8l $1t 8| 0,) 8 $) 818 08 0:)@@811) 8 1) 8 88DAT*) 8) 8 88) 8)$ 8 88), 8)4 8 88)< 8)D 8 88)L 8)T 8 88)\ 8)d 8 8 8 )l 8)t 8 8< 8< )| 8) 8 8 8 ) 8) 8 DAT*8 8 ) 8) 8 8 8 ) 8) 89) 816Ft !%& ',(Z*j+/012367J8Z9:=>?@ADEJFZGHLMNO(P.T>UdVnW[\]^_f*g8hDirosvyz{(|B}F~Vp(.4D|*DAT*Td @ z ~  6 < B R  X \ x   0 h 6 p  8brN6p 8brN6pX  d ll_rcll_rowls_groupnamelds_reportlds_templdwc_groupsubreportldwc_sourcesubreportldwc_resultsubreportldwc_filteDAT*rsubreportldwc_tempsqlcai " - 6 J _ t  @  of_runresultsetErroru_class_source_group::of_runSelectionReport(); of_runResultSet() failed.of_sortou_class_source_group::of_runSelectionReport(); of_sort() failed.u_ds_basee u_class_souDAT*rce_group::of_runSelectionReport(); lds_report object creation failed.dataobject&r_ss_selection_reportsettransobjectRreport_groupgetchildsyu_class_source_group::of_runSelectionReport(); lds_report.getChild() failed.report_filtersyreport_sourcesyreport_resultsyids_groupdata  rowscopy8u_class_source_group::of_runSelectionReport(); ids_groupData.shareData() failed.group_namegetitemstring[No NamesetitemDAT*ids_filtercriteriae sharedatau_class_source_group::of_runSelectionReport(); ids_filterCriteria.shareData() failed. u_class_source_group::of_runSelectionReport(); lds_temp object creation failed. rowcountof_loadarrays1.st_title.text = 'Result Set'modify st_title.text = 'Selection Data' il_nationarrayD&r_ss_nation_dataRDretrieveu_class_source_group::of_runSelectionReport(); DAT*retrieval of nation data failed.insertrowsnation_nameil_statearray$&r_ss_state_dataR$u_class_source_group::of_runSelectionReport(); retrieval of state data failed.sstate_name@il_countyarray&r_ss_county_dataRu_class_source_group::of_runSelectionReport(); retrieval of county data failed.sDAT*county_nameil_sourcearray&r_ss_source_data8Ru_class_source_group::of_runSelectionReport(); retrieval of source data failed.ssource_idsource_namesic_codeil_sourcesub1array &r_ss_device_dataR u_class_source_group::of_runSelectionReport(); retrieval of device data failed.DAT* sdevice_iddevice_nameil_sourcesub2arrayX &r_ss_process_dataRX u_class_source_group::of_runSelectionReport(); retrieval of process data failed.sprocess_idproceDAT* ss_namescc_code print  x 4 d     0 D     `    < T \ x       4 < T \ d         , 4 <         DAT*    $ |              $ , H P X               , 4 H P l t         $ , 4 < D L T \ d l t DAT*|         8$0H8P0t8|080808 088@0l8t080808080,840P8X0x8080DAT*80800880P8X0  4Nh8Rl !d a is_nationarraynameal_nationArrayis_statearrayname3al_stateArrayis_countyarrayname^al_countyArrayis_sourcearraynameleal_sourceArrayis_sourcesub1arraynamet.al_sourceSub1Arrayis_sourcesub2arraynameal_sourceSub2ArraDAT*yis_sourcesub3arraynameal_sourceSub3Arrayis_sourcesub4arraynameSal_sourceSub4Arrayis_sicarraynameas_sicArrayis_sccarraynameas_sccArrayis_nationridnamenation_ridis_stateridnamestate_ridis_countyridnamecounty_ridis_sourceridname?source_ridis_sourcesub1ridnamecsource_sub1_ridis_sourcesub2ridnameme source_sub2_ridis_sourcesub3ridnamen !source_sub3_ridis_sourcesub4ridname"souDAT*rce_sub4_ridis_siccodename #sic_codeis_scccodenameA$scc_code H t    8 l     , P x    0 P nj,4$#8<08B0:)@@8,r1,$$80$,)8j$#P8<08BDAT*0:)@@8,<1J,$ $808$,)@8\jdl$#8<08B0:)@@8,1,t$|$80$,)8j$#8<08B0:)@@8,1,$$DAT*80$,)8),8,T1b,4$*X "Pt>"^#t$%'(,(/:d ::messagesqlca(@@< ids_groupdatana u_ds_baseio  ErrorObject creation failed: u_class_group_criteria::constructor() dataobjectd_ss_group_data DAT*settransobjectids_sourcecriteria   d_ss_group_source_criteria ids_filtercriteriaH H H d_ss_group_filter_criterianH ids_resultsetge   d_ss_group_result_set of_reset$  ,4            8 @DAT* \ dl t |           , 4  $  $<$@D$`$`h$$$,1,$ 2 @ R`rd ::message@H ids_groupdatana  ids_sourcecriteria( DAT* ( ids_filtercriteriaL L ids_resultsetp L   < D ` h    "80)$8d , constructortriggerevent $ "80) 8d ( destructortriggerevent     DAT*"! " #$%&'()*+,-./0L2  of_sortsourcesof_sortfiltersof_sortof_modobjectsqlof_getsqlof_getfiltersqlof_getsourcesqlof_runresultsetof_modsqlstringof_savegroupof_deletegroupof_loadgroupof_resetof_getdatalevelof_getfilterlogicof_setdatalevelof_groupmodifiedof_resetupdateof_resetfilterof_finddataof_setbufferdatalevelof_sortresultsetof_loadarraysof_runselectionreportof_setdefaulDAT*$tnamesf_get_sequencef_sqlcheck+constructor+destructor+create+destroy &..>HXhx . .   so_subce2_riDAT*& ubdsoric_co'ep_ri=meup_dNdleve\ogourcrtemeferceas_cesueourcnas_soraeis4anameayis_menatied2 P ids_groupdataids_sourcecriteriaids_filtercriteriaids_resultsetii_nationlevelii_statelevelii_countylevelii_sourcelevelDAT*(ii_sourcesub1levelii_sourcesub2levelii_sourcesub3levelii_sourcesub4levelil_nationarrayil_statearray il_countyarrayil_sourcearrayil_sourcesub1arrayil_sourcesub2arrayil_sourcesub3arrayil_sourcesub4arrayis_sicarrayis_sccarrayib_nullsicib_nullsccis_nationarraynameis_statearraynameis_countyarraynameis_sourcearraynameis_sourcesub1arraynameis_sourcesub2arraynDAT**ameis_sourcesub3arraynameis_sourcesub4arraynameis_sicarraynameis_sccarraynameis_nationridnameis_stateridnameis_countyridnameis_sourceridnameis_sourcesub1ridnameis_sourcesub2ridnameis_sourcesub3ridnameis_sourcesub4ridnameis_siccodenameis_scccodenameis_groupridis_groupnameis_groupdescriptionis_groupdatalevelis_groupfilterlogicis_nationridis_stateridis_countyridis_sourceridis_sourcetypeis_sourcesub1ridis_sourcesub2ridis_sourcesub3ridis_sourcesub4ridis_filtercolumnnameis_DAT*,filtercolumnvalueis_sicfiltercolumncodeis_sccfiltercolumncode4Tt  ) < JYgv///4$/T@/t`DAT*./////+E=>odQaph"=!) 4idGMESsy_h_jlute p@%O:p@OTdDAT*0p@sYp@^p@_jtceslat'ur8miItiZ'hn3paw_M    @3h3333303X333DAT*2!4GS_jt&x9 94([PDrPTDAT*4x`x 9 9 ! " #$%(DAT*6&G'W(h)*@(+D,-P./\0DAT* ^#L^$$\%,\&DAT*:1<|$$$$$)8$$)8$9}1<$$ $t($0$)88@$P$)X8`$h9}1<p$x9},+1,+$  Fd| &JpDAT*<td indexcase2::message<+@> tabpage_source%!tv_source !$setfocus4st_click_helpH*visible`tabpage_sicp&'cb_sic_refresh!(enabledp&'!(4p&'tv_sic")4H*`tabpage_scc'*cb_scc_refresh!+'*!+4'*tv_sccH",4H*`DAT*>H*` , @ X h |               ( 0 8 @ P X ` h p x  L:W@)8,+21@,+ $d$ oldindexnewindex::message<+@>( triggerevente DAT*@  $/$ /2 4 +create+destroy+clicked+selectionchangedP"2 xywidthheighttaborderbringtotoptextsizeweightfontcharsetfontpitchfontfamilyfacenamebackcolorraggedrightboldselectedtextselectedtabtabpage_sourcetabpage_sictabpage_scctabpage_group7 0  DAT*B` "@-6=IS^gq} ! ' * -] o70 `  @@1DAT*D @@  ! ' * -x$/ @*,4$ |d < tv_source!$$DAT*Fcontrol$c@!$ , 4 $d  tv_source!$ !!2  +create+destroy(2 ] xywidthheightbackcolortexttabtextcolortabbackcolorpicturemaskcolortv_source d #h(DAT*H5B S $] od  @@"|1   h@    $ :F@@8j#rDAT*J808"0:)@@81h$)|8180$)81$)81p8080:)@@81(800$)881808@0:)@@811<)DAT*L818080:)@@81$1)8<18080:)@@81t|$)8}$)8<$})89}1)8 9}8J8 8 )<DAT*N88DJP8 8X)d8 8lJx88)8 49}9}9} 6V/}$}$80)816$ $8DJ89}$/}DAT*P2,/}1`4/}808<0:)@@811*)818080:)@@81)8  9}9}9} 6V/}$}9}/}DAT*RF $8D0)(810$8$8lJH89}P/}X/}F 1 `/}F 808h0:)@@81*)81 8080:)@@819}9}6DAT*T V/}$}t /}  $8l0 )081< 8$@$8PJ\8 d/}8 9}l/} 1f t/} 808|0:)@@81*)81" 8080:)DAT*V@@81l )81l 1  })8:V@1)08)D81!$%(&4'b+r,/02567,8Z9`;p<>ABCHIJ2KBLpMvRSTUZ^2bZephnqtuv(wPxty|~ 8Nn2DAT*XF\`4BNdz BR 0 6 F j z   2 R Z p t   " 8 L b f  " * F V \ l x       d ai_modell_rcll_rowll_ridll_nationhandlell_statehandlell_countyhandlell_nationridll_stateridll_countyridll_prevnationridll_prevstateridlDAT*Zs_nationls_statels_countylb_savegroupmodifiedlb_countypopulatelb_nationselectedlb_stateselectedltvi_itemlds_buffer$4CS`ly   DAT*\   :L u_ds_base:Errortv_source::ue_load(); error creating lds_bufferids_geographicbaseR7:rowcountpdataobjectd_ss_hierarchy_to_countyR7:sharedataR7:retrievetv_source::ue_load(); error retrieving ids_geographicBaseR7:tv_source::ue_load(); error getting row count for ids_geographicBaseue_processselectionsah^tv_source::ue_load(); call to uDAT*^e_processSelections() failed.iclass_groupty39of_setbufferdatalevelte,tv_source::ue_load(); call to iclass_group.of_setBufferDataLevel() failed.ii_maxtreedepthd139of_getdatalevel%39of_sortsourcesrib_groupmodified8of_resetgpnation_ridgetitemnumbernation_namegetitemstringto,state_rid_sstate_namec,county_ridcounty_name,  DAT*`  3939of_finddata+39ids_sourcecriteria 39   tv_source::ue_load(); error searching for nation rid.insertitemlastSrtv_source::ue_load(); error in inserting nation item.expanditemI     3939+39 39   tv_source::ue_load(); error searching for state rid.Srtv_sourDAT*bce::ue_load(); error in inserting state item.     3939+39 39source_rid   tv_source::ue_load(); error searching for county rid.0Srtv_source::ue_load(); error in inserting county item.itempopulate68setfocusfinditem0K$selectitemV8h |      ( 0 8 DAT*d   t |         < P d x                 $ , 4              ( 0 8 @ H P X `         DAT*    ( 0 8 @ H \ d l t     0 D |+^#84$41:F@@8L$h$)x81$V$= )8<11$= $}<  Y1<YDAT*hSource Selector Windowforward global type w_source_selector from window end type type st_click_help from statictext within w_source_selector end type type cb_print from commandbutton within w_source_selector end type type cb_ok from commandbutton within w_source_selector end type type tab_control from tab within w_source_selector end type type tabpage_source from userobject within tab_control end type type tv_source from u_tv_selection_tree within tabpage_source end type type tabpagDAT*je_source from userobject within tab_control tv_source tv_source end type type tabpage_sic from userobject within tab_control end type type cb_sic_refresh from commandbutton within tabpage_sic end type type tv_sic from u_tv_selection_tree within tabpage_sic end type type tabpage_sic from userobject within tab_control cb_sic_refresh cb_sic_refresh tv_sic tv_sic end type type tabpage_scc from userobject within tab_control end type type cb_scc_refresh from commandbutton within tabpage_sDAT*lcc end type type tv_scc from u_tv_selection_tree within tabpage_scc end type type tabpage_scc from userobject within tab_control cb_scc_refresh cb_scc_refresh tv_scc tv_scc end type type tabpage_group from userobject within tab_control end type type cbx_notify from checkbox within tabpage_group end type type cbx_auto from checkbox within tabpage_group end type type cb_save from commandbutton within tabpage_group end type type cb_delete from commandbutton within tabpage_group end tDAT*nype type cb_new from commandbutton within tabpage_group end type type dw_group from datawindow within tabpage_group end type type gb_1 from groupbox within tabpage_group end type type tabpage_group from userobject within tab_control cbx_notify cbx_notify cbx_auto cbx_auto cb_save cb_save cb_delete cb_delete cb_new cb_new dw_group dw_group gb_1 gb_1 end type type tab_control from tab within w_source_selector tabpage_source tabpage_source tabpage_sic tabpage_sic tabpage_scc tabpagDAT*pe_scc tabpage_group tabpage_group end type end forward global type w_source_selector from window integer x = 105 integer y = 124 integer width = 2706 integer height = 1972 boolean titlebar = true string title = "Source Selector" boolean controlmenu = true windowtype windowtype = response! long backcolor = 79741120 string icon = "None!" st_click_help st_click_help cb_print cb_print cb_ok cb_ok tab_control tab_control end type global w_source_selector w_source_selector type DAT*rvariables //Constant Treeview Levels (used for level identification //and picture index identification) constant integer ii_nationLevel = 1 constant integer ii_stateLevel = 2 constant integer ii_countyLevel = 3 constant integer ii_sourceLevel = 4 constant integer ii_sourceSub1Level = 5 constant integer ii_sourceSub2Level = 6 constant integer ii_sourceSub3Level = 7 constant integer ii_sourceSub4Level = 8 constant integer ii_deviceLevel = 5 constant integer ii_processLevel = 6 //Data DAT*tSet Names for dynamic datastore use constant string is_geographicData = "d_ss_hierarchy_to_county" constant string is_sourceData = "d_ss_sources_at_county" constant string is_deviceData = "d_ss_devices_at_source" constant string is_processData = "d_ss_processes_at_device" constant string is_sicData = "d_ss_sic_at_selection" constant string is_sicDataSubSource = "d_ss_sic_at_selection_sub_source" constant string is_sccData = "d_ss_scc_at_selection" constant string is_sourceBufferData = "d_sDAT*vs_source_from_buffer" constant string is_sicBufferData = "d_ss_sic_from_buffer" constant string is_sccBufferData = "d_ss_scc_from_buffer" constant string is_tvResultSetData = "d_ss_tv_result_set" //Object References w_source_selector iw_source_selector u_tv_selection_tree itv_source u_tv_selection_tree itv_sic u_tv_selection_tree itv_scc dataWindow idw_group //Source Group Object Reference u_class_source_group iclass_group //Flag indicating whether source group object is a //locDAT*xal instance or a reference to client source group //object (local group indicates that the source selector //is being used "stand alone" to work with groups) boolean ib_localGroup = false //Strings used for NULL or Group Level //SIC or SCC Codes in Treeviews string is_nullCode = "Unknown" string is_groupCode = "Group" //Datastore for initial source treeview population u_ds_base ids_geographicBase //Flag indicating that the source group has been modified via //the GUI //Set to DAT*zTRUE by // ue_selectionChanged events for selection treeviews //Set to FALSE by various other functions and events //that manipulate source groups boolean ib_groupModified = false end variables forward prototypes public function integer of_processselections () public subroutine of_enablerefresh (boolean ab_refresh) public function integer of_processgroup () end prototypes public function integer of_processselections (); //process selections for all treeviews. This loads thDAT*|e //buffers in the iclass_group object long ll_rc //process the source selections ll_rc = itv_source.event trigger ue_processSelections() if ll_rc < 0 then messageBox("Error", "Error processing source or geographic selections.", exclamation!) return -1 end if //process the sic selections ll_rc = itv_sic.event trigger ue_processAllSelections() if ll_rc < 0 then messageBox("Error", "Error processing SIC selections.", exclamation!) return -1 end if //process the scc sDAT*~elections ll_rc = itv_scc.event trigger ue_processAllSelections() if ll_rc < 0 then messageBox("Error", "Error processing SIC selections.", exclamation!) return -1 end if return 1 end function public subroutine of_enablerefresh (boolean ab_refresh); tab_control.tabpage_sic.cb_sic_refresh.enabled = ab_refresh tab_control.tabpage_scc.cb_scc_refresh.enabled = ab_refresh end subroutine public function integer of_processgroup (); //Load treeviews with data from the source groDAT*up passed in or loaded from disk long ll_rc setPointer(hourGlass!) //initialize the source treeview ll_rc = tab_control.tabpage_source.tv_source.trigger event ue_load(0) if ll_rc < 0 then messageBox("Error", "w_source_selector::of_processGroup(); error loading tv_source.", exclamation!) post close(this) return -1 end if //initialize the sic treeview ll_rc = tab_control.tabpage_sic.tv_sic.trigger event ue_load(0) if ll_rc < 0 then messageBox("Error", "w_source_selector:DAT*:of_processGroup(); error loading tv_sic.", exclamation!) post close(this) return -1 end if //initialize the scc treeview ll_rc = tab_control.tabpage_scc.tv_scc.trigger event ue_load(0) if ll_rc < 0 then messageBox("Error", "w_source_selector::of_processGroup(); error loading tv_scc.", exclamation!) post close(this) return -1 end if //enable the refresh buttons for SIC and SCC treeviews if there are any source criteria records if iclass_group.ids_sourceCriteria.rowCount() > 0 DAT*then this.of_enableRefresh(true) else this.of_enableRefresh(false) end if return 1 end function on w_source_selector.create this.st_click_help=create st_click_help this.cb_print=create cb_print this.cb_ok=create cb_ok this.tab_control=create tab_control this.Control[]={this.st_click_help,& this.cb_print,& this.cb_ok,& this.tab_control} end on on w_source_selector.destroy destroy(this.st_click_help) destroy(this.cb_print) destroy(this.cb_ok) destroy(this.tab_control) eDAT*nd on event open; //Open event for w_source_selection long ll_rc string ls_dummy setPointer(hourGlass!) //initialize references to objects iw_source_selector = this itv_source = tab_control.tabPage_source.tv_source itv_sic = tab_control.tabPage_sic.tv_sic itv_scc = tab_control.tabPage_scc.tv_scc idw_group = tab_control.tabPage_group.dw_group //create the instance geographic datastore; this will be retrieved dynamically if needed ids_geoGraphicBase = create u_ds_bDAT*ase if not isValid(ids_geoGraphicBase) then messageBox("Error", "w_source_selector::open(); ids_geograhicBase object creation failed.", exclamation!) post close(this) return -1 end if ids_geographicBase.dataObject = is_geographicData ids_geographicBase.setTransObject(SQLCA) //determine if the source group object has been passed in from client object if isValid(message.powerObjectParm) then //an object came in on the message object, verify that it is a source group if classNaDAT*me(message.powerObjectParm) = "u_class_source_group" then iclass_group = message.powerObjectParm ib_localGroup = false else messageBox("Error", "w_source_selector::open(); incorrect object type received. " +& "Object of type u_class_source_group required.", exclamation!) post close(this) return -1 end if //reset the default SQL generation column names and array names //for the source selector (client objects can alter the names that //are used in SQL generation toDAT* suit their own needs) iclass_group.of_setDefaultNames() else //source group was not passed in, so create one "locally" iclass_group = create u_class_source_group if not isValid(iclass_group) then messageBox("Error", "w_source_selector::open(); u_class_source_group object creation failed.", exclamation!) post close(this) return -1 end if ib_localGroup = true end if //process the group; this causes the treeviews to reflect the contents of iclass_group, or show DAT*//a default geographic treeview if the group is empty ll_rc = this.of_processGroup() if ll_rc < 0 then messageBox("Error", "w_source_selector::open(); error initializing treeviews " +& "with existing data.", exclamation!) post close(this) return -1 end if //share data from buffer to visible group information datawindow iclass_group.ids_groupData.shareData(idw_group) //update the pull down list of saved groups tab_control.tabPage_group.dw_group.trigger event ue_refreshList() DAT* return 1 end event event close; //Close Event for w_source_selection //destroy the geographic object if isValid(ids_geographicBase) then destroy ids_geographicBase //destroy the group object if it is a local object if ib_localGroup and isValid(iclass_group) then destroy iclass_group end event event closequery; //return: 0 = allow close; 1 = prevent close string ls_name long ll_rc //if the group name is filled in, or if the group is local, //check to see ifDAT* group needs to be saved ls_name = idw_group.getItemString(1, "group_name") if (not isNull(ls_name) and ls_name <> "") or ib_localGroup then ll_rc = w_source_selector.tab_control.tabpage_group.dw_group.trigger event ue_checkSavePrompt() if ll_rc <= 0 then //error or user cancelled save return 1 else return 0 end if end if end event type st_click_help from statictext within w_source_selector integer x = 128 integer y = 1696 integer width = 1445 integer height = 80 DAT*integer textsize = -8 integer weight = 700 fontcharset fontcharset = ansi! fontpitch fontpitch = variable! fontfamily fontfamily = swiss! string facename = "MS Sans Serif" long backcolor = 79741120 boolean enabled = false string text = "Right Click to Select/Deselect Items" boolean focusrectangle = false end type type cb_print from commandbutton within w_source_selector integer x = 1627 integer y = 1728 integer width = 475 integer height = 96 integer taborder = 30 integer textsiDAT*ze = -8 integer weight = 700 fontcharset fontcharset = ansi! fontpitch fontpitch = variable! fontfamily fontfamily = swiss! string facename = "MS Sans Serif" string text = "&Print" end type event clicked; setPointer(hourGlass!) iw_source_selector.of_processSelections() return iclass_group.of_runSelectionReport() end event type cb_ok from commandbutton within w_source_selector integer x = 2158 integer y = 1728 integer width = 475 integer height = 96 integer taborder = 20DAT* integer textsize = -8 integer weight = 700 fontcharset fontcharset = ansi! fontpitch fontpitch = variable! fontfamily fontfamily = swiss! string facename = "MS Sans Serif" string text = "OK" boolean default = true end type event clicked; long ll_rc string ls_name //if the source group is not local, then process result set if not ib_localGroup then setPointer(hourGlass!) iw_source_selector.of_processSelections() //create the result set ll_rc = iclass_group.of_runDAT*ResultSet() if ll_rc < 0 then messageBox("Error", "cb_ok::clicked(); error creating result set.", exclamation!) return -1 elseif ll_rc = 0 then //result set could not be generated (insufficient criteria data) ll_rc = messageBox("Confirm Close", "No result set has been generated. Close anyway?", question!, yesNo!, 2) if ll_rc = 2 then return 0 end if end if end if post close(parent) return 1 end event type tab_control from tab within w_source_selector integeDAT*r x = 55 integer y = 48 integer width = 2578 integer height = 1632 integer taborder = 10 boolean bringtotop = true integer textsize = -8 integer weight = 400 fontcharset fontcharset = ansi! fontpitch fontpitch = variable! fontfamily fontfamily = swiss! string facename = "MS Sans Serif" long backcolor = 79741120 boolean raggedright = true boolean boldselectedtext = true integer selectedtab = 1 tabpage_source tabpage_source tabpage_sic tabpage_sic tabpage_scc tabpage_scc tabpage_gDAT*roup tabpage_group end type on tab_control.create this.tabpage_source=create tabpage_source this.tabpage_sic=create tabpage_sic this.tabpage_scc=create tabpage_scc this.tabpage_group=create tabpage_group this.Control[]={this.tabpage_source,& this.tabpage_sic,& this.tabpage_scc,& this.tabpage_group} end on on tab_control.destroy destroy(this.tabpage_source) destroy(this.tabpage_sic) destroy(this.tabpage_scc) destroy(this.tabpage_group) end on event clicked; choose case indeDAT*x case 1 tabpage_source.tv_source.setFocus() st_click_help.visible = TRUE case 2 if tabpage_sic.cb_sic_refresh.enabled then tabpage_sic.cb_sic_refresh.setFocus() else tabpage_sic.tv_sic.setFocus() end if st_click_help.visible = TRUE case 3 if tabpage_scc.cb_scc_refresh.enabled then tabpage_scc.cb_scc_refresh.setFocus() else tabpage_scc.tv_scc.setFocus() end if st_click_help.visible = TRUE case 4 st_click_help.visible = FALSE end choose enDAT*d event event selectionchanged; this.triggerEvent(clicked!) end event type tabpage_source from userobject within tab_control integer x = 18 integer y = 100 integer width = 2542 integer height = 1516 long backcolor = 79741120 string text = "Source Selection" long tabtextcolor = 33554432 long tabbackcolor = 79741120 long picturemaskcolor = 536870912 tv_source tv_source end type on tabpage_source.create this.tv_source=create tv_source this.Control[]={this.tv_source} end on DAT* on tabpage_source.destroy destroy(this.tv_source) end on type tv_source from u_tv_selection_tree within tabpage_source event type integer ue_load ( integer ai_mode ) integer x = 37 integer y = 64 integer width = 2450 integer height = 1392 integer taborder = 10 string picturename[] = {"tvNation.bmp","tvState.bmp","tvCounty.bmp","tvSource.bmp","tvDevice.bmp","tvProces.bmp"} end type event type integer ue_load(integer ai_mode); //Populates the Source/Geographic treeview object. /DAT*/If items exist in the iclass_group.ids_sourceCriteria buffer, they will be selected //and/or dynamically populated as necessary. //Argument ai_mode specifies how to load the treeview: //0 = load default geographic data, select any items in source criteria buffer //1 = refresh; capture current selections, then do same as mode 0 long ll_rc long ll_row long ll_rid long ll_nationHandle long ll_stateHandle long ll_countyHandle long ll_nationRid long ll_stateRid long ll_countyRid loDAT*ng ll_prevNationRid = 0 long ll_prevStateRid = 0 string ls_nation string ls_state string ls_county boolean lb_saveGroupModified boolean lb_countyPopulate boolean lb_nationSelected boolean lb_stateSelected treeViewItem ltvi_item u_ds_base lds_buffer setPointer(hourglass!) //create local datastore for storage/retrieval of nation/state/county info for existing sources lds_buffer = create u_ds_base if not isValid(lds_buffer) then messageBox("Error", "tv_source::ue_load(); error cDAT*reating lds_buffer", exclamation!) return -1 end if //load the local data buffer to be used for treeview population ll_rc = ids_geographicBase.rowCount() if ll_rc > 0 then //instance geographic data loaded, so just share to the local buffer lds_buffer.dataObject = is_geographicData ids_geographicBase.shareData(lds_buffer) elseif ll_rc = 0 then //instance geographic data not loaded, so load it now, then share to the local buffer ll_rc = ids_geographicBase.retrieve() iDAT*f ll_rc < 0 then messageBox("Error", "tv_source::ue_load(); error retrieving ids_geographicBase", exclamation!) destroy lds_buffer return -1 end if lds_buffer.dataObject = is_geographicData ids_geographicBase.shareData(lds_buffer) elseif ll_rc < 0 then //error in call to rowCount() messageBox("Error", "tv_source::ue_load(); error getting row count for ids_geographicBase", exclamation!) destroy lds_buffer return -1 end if //if refresh mode, capture current selectDAT*ions before proceeding if ai_mode = 1 then ll_rc = this.trigger event ue_processSelections() if ll_rc < 0 then messageBox("Error", "tv_source::ue_load(); call to ue_processSelections() failed.", exclamation!) destroy lds_buffer return -1 end if end if //enforce the current data level on the source criteria buffer ll_rc = iclass_group.of_setBufferDataLevel(1) // 1 => work on source criteria buffer if ll_rc < 0 then messageBox("Error", "tv_source::ue_load(); call to iclass_DAT*group.of_setBufferDataLevel() failed.", exclamation!) return -1 end if //set the maximum tree depth; this makes the tree depth dynamic depending on what data level //has been selected for the group this.ii_maxTreeDepth = iclass_group.of_getDataLevel() //sort the iclass_group.ids_sourceCriteria buffer so the iclass_group.of_findData() //function will give usable results ll_rc = iclass_group.of_sortSources() //grab the current group modification status //the reset operation will cDAT*ause this to always be false, so it must be reset at the end of the function lb_saveGroupModified = ib_groupModified //clear the treeview this.of_reset() //initialize some of the treeview item properties ltvi_item.children = true //Populate the Nation, State and County levels of the tree //NOTE: The success of the following block depends on the fact that //the data in lds_buffer is sorted in the following order: //Nation DES, State ASC, County ASC for ll_row = 1 to lds_buffer.rowDAT*Count() //reset flag that determines if county item will be populated lb_countyPopulate = false //grab the current nation, state, county and source names and RIDs ll_nationRid = lds_buffer.getItemNumber(ll_row, "nation_rid") ls_nation = lds_buffer.getItemString(ll_row, "nation_name") ll_stateRid = lds_buffer.getItemNumber(ll_row, "state_rid") ls_state = lds_buffer.getItemString(ll_row, "state_name") ll_countyRid = lds_buffer.getItemNumber(ll_row,DAT* "county_rid") ls_county = lds_buffer.getItemString(ll_row, "county_name") //add new nation item if the nation has changed from the previous row if ll_nationRid <> ll_prevNationRid then lb_nationSelected = false //add nation item ltvi_item.expanded = true //itemPopulate event will NOT be triggered on expand ltvi_item.expandedOnce = true //itemPopulate event will NOT be triggered on expand ltvi_item.label = ls_nation DAT* ltvi_item.data = ll_nationRid ltvi_item.pictureIndex = ii_nationLevel ltvi_item.selectedPictureIndex = ltvi_item.pictureIndex //search for the nation rid in the source criteria buffer ll_rc = iclass_group.of_findData(iclass_group.is_nationRid, ll_nationRid) if ll_rc > 0 then //nation rid found, see if source criteria record has a state filled in ll_rid = iclass_group.ids_sourceCriteria.getItemNumber(ll_rc, iclass_group.is_stateRid) if isNullDAT*(ll_rid) then lb_nationSelected = true ltvi_item.statePictureIndex = ii_selected else ltvi_item.statePictureIndex = ii_notSelected end if elseif ll_rc = 0 then ltvi_item.statePictureIndex = ii_notSelected else messageBox("Error", "tv_source::ue_load(); error searching for nation rid.", exclamation!) destroy lds_buffer return -1 end if ll_nationHandle = this.insertItemLast(0, ltvi_item) if ll_nationHandle < 0 then messageBox("Error", "tvDAT*_source::ue_load(); error in inserting nation item.", exclamation!) destroy lds_buffer return -1 end if //expand nation items this.expandItem(ll_nationHandle) end if //add new state item if the state has changed from the previous row if ll_stateRid <> ll_prevStateRid then lb_stateSelected = false //add state item ltvi_item.expanded = false ltvi_item.expandedOnce = true //itemPopulate event will NOT be triggered on expand DAT*ltvi_item.label = ls_state ltvi_item.data = ll_stateRid ltvi_item.pictureIndex = ii_stateLevel ltvi_item.selectedPictureIndex = ltvi_item.pictureIndex //search for the state rid in the source criteria buffer if lb_nationSelected then lb_stateSelected = true ltvi_item.statePictureIndex = ii_selected else ll_rc = iclass_group.of_findData(iclass_group.is_stateRid, ll_stateRid) if ll_rc > 0 then //state rid found, see ifDAT* source criteria record has a county filled in ll_rid = iclass_group.ids_sourceCriteria.getItemNumber(ll_rc, iclass_group.is_countyRid) if isNull(ll_rid) then lb_stateSelected = true ltvi_item.statePictureIndex = ii_selected else ltvi_item.statePictureIndex = ii_notSelected end if elseif ll_rc = 0 then ltvi_item.statePictureIndex = ii_notSelected else messageBox("Error", "tv_source::ue_load(); error searching for state rid.", exclamation!) DAT* destroy lds_buffer return -1 end if end if ll_stateHandle = this.insertItemLast(ll_nationHandle, ltvi_item) if ll_stateHandle < 0 then messageBox("Error", "tv_source::ue_load(); error in inserting state item.", exclamation!) destroy lds_buffer return -1 end if end if //add county item (county will always be new for each row) ltvi_item.expanded = false //itemPopulate event WILL be triggered on expand ltvi_item.expandedOnce = DAT*false //itemPopulate event WILL be triggered on expand ltvi_item.label = ls_county ltvi_item.data = ll_countyRid ltvi_item.pictureIndex = ii_countyLevel ltvi_item.selectedPictureIndex = ltvi_item.pictureIndex //search for the county rid in the source criteria buffer if lb_stateSelected then ltvi_item.statePictureIndex = ii_selected else ll_rc = iclass_group.of_findData(iclass_group.is_countyRid, ll_countyRid) if ll_rc > 0 then /DAT*/county rid found, see if source criteria record has a source filled in ll_rid = iclass_group.ids_sourceCriteria.getItemNumber(ll_rc, iclass_group.is_sourceRid) if isNull(ll_rid) then ltvi_item.statePictureIndex = ii_selected else //county has sources selected beneath it, so set flag to populate the county lb_countyPopulate = true ltvi_item.statePictureIndex = ii_notSelected end if elseif ll_rc = 0 then ltvi_item.statePictureIndex = ii_notSelected elseDAT* messageBox("Error", "tv_source::ue_load(); error searching for county rid.", exclamation!) destroy lds_buffer return -1 end if end if ll_countyHandle = this.insertItemLast(ll_stateHandle, ltvi_item) if ll_countyHandle < 0 then messageBox("Error", "tv_source::ue_load(); error in inserting county item.", exclamation!) destroy lds_buffer return -1 end if if lb_countyPopulate then ll_rc = this.trigger event itemPopulate(ll_countyHandle) if ll_rc < 0 then DAT* destroy lds_buffer return -1 end if end if //make copies of nation and state RIDs for comparison to next row ll_prevNationRid = ll_nationRid ll_prevStateRid = ll_stateRid next //restore group modified flag ib_groupModified = lb_saveGroupModified destroy lds_buffer this.setFocus() this.selectItem(this.findItem(rootTreeItem!,0)) return 1 end event event ue_processselections;call super::ue_processselections; //Update the source criteria buffer to refDAT*lect the current treeview selections //The ancestor script updates the treeview handle array to contain the handles //of selected items. This script uses those handles to finish the processing. long ll_index long ll_row long ll_rid[] long ll_handle long ll_rc integer li_level integer li_i string ls_columnName treeviewitem ltvi_item if this.ib_selectionsProcessed then return 0 setPointer(hourGlass!) //clear out the source criteria buffer iclass_group.ids_sourceCriteria.rDAT*eset() //loop through the handle array and add each selected item to the //source criteria buffer for ll_index = 1 to il_handleCount //grab the item ll_rc = this.getItem(il_handleArray[ll_index], ltvi_item) if ll_rc < 0 then return -1 //get the data from the item and its parents and load it into the rid array ll_handle = il_handleArray[ll_index] li_level = ltvi_item.level ll_rid[li_level] = ltvi_item.data for li_i = (li_level - 1) to 1 step -1 ll_handle = this.finDAT*dItem(parentTreeItem!, ll_handle) if ll_handle < 0 then return -1 ll_rc = this.getItem(ll_handle, ltvi_item) if ll_rc < 0 then return -1 ll_rid[li_i] = ltvi_item.data next //create a row in the source criteria buffer and add the contents of the //rid array to the new row ll_row = iclass_group.ids_sourceCriteria.insertRow(0) if ll_row < 0 then return -1 for li_i = 1 to li_level choose case li_i case ii_nationLevel ls_columnName = iclass_group.is_DAT*nationRid case ii_stateLevel ls_columnName = iclass_group.is_stateRid case ii_countyLevel ls_columnName = iclass_group.is_countyRid case ii_sourceLevel ls_columnName = iclass_group.is_sourceRid case ii_sourceSub1Level ls_columnName = iclass_group.is_sourceSub1Rid case ii_sourceSub2Level ls_columnName = iclass_group.is_sourceSub2Rid case ii_sourceSub3Level ls_columnName = iclass_group.is_sourceSub3Rid case ii_sourceSub4Level ls_columnNaDAT*me = iclass_group.is_sourceSub4Rid end choose ll_rc = iclass_group.ids_sourceCriteria.setItem(ll_row, ls_columnName, ll_rid[li_i]) if ll_rc < 0 then return -1 next next //ll_index ib_selectionsProcessed = true return 1 end event event itempopulate; long ll_rc long ll_row long ll_rid long ll_childHandle long ll_parentRID long ll_childRID string ls_childID string ls_childName string ls_columnName string ls_nextColumnName boolean lb_saveRedraw DAT*boolean lb_saveGroupModified boolean lb_itemPopulate boolean lb_parentSelected = false treeViewItem ltvi_parentItem treeViewItem ltvi_childItem u_ds_base lds_buffer setPointer(hourGlass!) //Grab the parent item to be populated ll_rc = this.getItem(handle,ltvi_parentItem) if ll_rc < 0 then messageBox("Error", "tv_source::item Populate(); error in call to getItem().", exclamation!) return -1 end if //Flag the parent selection state if ltvi_parentItem.statePictureIndex = ii_DAT*selected then lb_parentSelected = true //Set up datastore for retrieving appropriate child items. lds_buffer = create u_ds_base if not isValid(lds_buffer) then messageBox("Error", "tv_source::item Populate(); error creating lds_buffer.", exclamation!) return -1 end if //Determine the data object to use and the associated source criteria buffer column names. //The data object names are saved in constant instance variables. choose case ltvi_parentItem.level case ii_countyLevel lDAT*ds_buffer.dataObject = is_sourceData ls_columnName = iclass_group.is_sourceRid ls_nextColumnName = iclass_group.is_sourceSub1Rid case ii_sourceLevel lds_buffer.dataObject = is_deviceData ls_columnName = iclass_group.is_sourceSub1Rid ls_nextColumnName = iclass_group.is_sourceSub2Rid case ii_deviceLevel lds_buffer.dataObject = is_processData ls_columnName = iclass_group.is_sourceSub2Rid setNull(ls_nextColumnName) case else messageBox("Error", "tv_source::item PopulatDAT*e(); " +& "populate triggered for unsupported tree level.", exclamation!) destroy lds_buffer return -1 end choose lds_buffer.setTransObject(SQLCA) //retrieve the children for the selected parent item ll_parentRID = long(ltvi_parentItem.data) ll_rc = lds_buffer.retrieve(ll_parentRID) if ll_rc > 0 then //set expanded flag ltvi_parentItem.expandedOnce = true this.setItem(handle,ltvi_parentItem) //update the parent item elseif ll_rc = 0 then //no children for parent itDAT*em ltvi_parentItem.children = false ltvi_parentItem.expandedOnce = true this.setItem(handle,ltvi_parentItem) //update the parent item this.selectItem(handle) destroy lds_buffer return 0 else //retrieval error destroy lds_buffer return -1 end if //initialize some of the child treeview item properties ltvi_childItem.pictureIndex = ltvi_parentItem.pictureIndex + 1 ltvi_childItem.selectedPictureIndex = ltvi_childItem.pictureIndex if ltvi_childItem.pictureIndex < ii_processDAT*Level then ltvi_childItem.children = true else ltvi_childItem.children = false end if lb_saveGroupModified = ib_groupModified lb_saveRedraw = ib_redraw if lb_saveRedraw then this.setRedraw(false) //loop through the data buffer and add each child to the tree for ll_row = 1 to lds_buffer.rowCount() lb_itemPopulate = false //set up a new item ll_childRID = lds_buffer.getItemNumber(ll_row, "rid") ls_childID = lds_buffer.getItemString(ll_row, "id") + " " if lds_buDAT*ffer.dataObject = is_sourceData then ls_childName = "(" + lds_buffer.getItemString(ll_row, "type") + ") " + lds_buffer.getItemString(ll_row, "name") else ls_childName = lds_buffer.getItemString(ll_row, "name") end if if isNull(ls_childID) then ls_childID = "" if isNull(ls_childName) then ls_childName = "" ltvi_childItem.data = ll_childRID ltvi_childItem.label = ls_childID + ls_childName //if the parent item is not selected, the child item selection state must //be deteDAT*rmined here if not lb_parentSelected then //search for the item rid in the source criteria buffer ll_rc = iclass_group.of_findData(ls_columnName, ll_childRID) if ll_rc > 0 then //item rid found, see if source criteria record has a child item filled in if isNull(ls_nextColumnName) then setNull(ll_rid) else ll_rid = iclass_group.ids_sourceCriteria.getItemNumber(ll_rc, ls_nextColumnName) end if if isNull(ll_rid) then ltvi_childItem.statePictureInDAT*dex = ii_selected else //item has children selected beneath it, so set flag to populate the item lb_itemPopulate = true ltvi_childItem.statePictureIndex = ii_notSelected //let child determine state end if elseif ll_rc = 0 then ltvi_childItem.statePictureIndex = ii_notSelected else messageBox("Error", "tv_source::itemPopulate(); error searching for item rid.", exclamation!) destroy lds_buffer return -1 end if end if ll_childHandle = thiDAT*s.insertItemLast(handle, ltvi_childItem) if ll_childHandle < 0 then messageBox("Error", "tv_source::itemPopulate(); error in call to insertItemLast().", exclamation!) destroy lds_buffer return -1 end if if lb_itemPopulate then ll_rc = this.trigger event itemPopulate(ll_childHandle) if ll_rc < 0 then destroy lds_buffer return -1 end if end if next if lb_saveRedraw then this.setRedraw(true) ib_groupModified = lb_saveGroupModified destroy lds_buffer DAT* this.selectItem(handle) return 0 end event event ue_selectionchanged;call super::ue_selectionchanged; ib_groupModified = true iw_source_selector.of_enableRefresh(true) end event event ue_processallselections;call super::ue_processallselections; messageBox("Usage", "Use tv_source::ue_processSelections() to get minimized selections.", information!) return 1 end event type tabpage_sic from userobject within tab_control integer x = 18 integer y = 100 integer width = 2542 DAT* integer height = 1516 long backcolor = 79741120 string text = "SIC Codes" long tabtextcolor = 33554432 long tabbackcolor = 79741120 long picturemaskcolor = 536870912 cb_sic_refresh cb_sic_refresh tv_sic tv_sic end type on tabpage_sic.create this.cb_sic_refresh=create cb_sic_refresh this.tv_sic=create tv_sic this.Control[]={this.cb_sic_refresh,& this.tv_sic} end on on tabpage_sic.destroy destroy(this.cb_sic_refresh) destroy(this.tv_sic) end on type cb_sic_refresh from commDAT*andbutton within tabpage_sic integer x = 50 integer y = 16 integer width = 361 integer height = 96 integer taborder = 10 integer textsize = -10 integer weight = 400 fontpitch fontpitch = variable! fontfamily fontfamily = swiss! string facename = "Arial" boolean enabled = false string text = "Refresh" end type event clicked; tv_sic.setRedraw(false) tv_sic.trigger event ue_load(1) tv_sic.setRedraw(true) this.enabled = false end event type tv_sic from u_tv_selection_tree witDAT*hin tabpage_sic event type long ue_insertgroup ( readonly u_ds_base ads_buffer, readonly string as_sicarray[], readonly long al_rowarray[], long al_segstart, long al_segend, integer ai_curpos, long al_grouphandle, ref treeviewitem atvi_item, ref treeviewitem atvi_groupitem ) event type long ue_load ( integer ai_mode ) integer x = 37 integer y = 144 integer width = 2450 integer height = 1312 integer taborder = 20 string picturename[] = {"tvCFold.bmp","tvOFold.bmp"} end type evenDAT*t ue_insertgroup;call super::ue_insertgroup; //Recursive routine to add groups and grouped items to the tree long ll_rc long ll_index long ll_maxIndex long ll_handle long ll_groupHandle long ll_segSize long ll_subSegSize long ll_subSegStart long ll_subSegEnd integer li_curPos string ls_sicCode string ls_sicName string ls_findString setPointer(hourglass!) ll_segSize = al_segEnd - al_segStart + 1 ll_groupHandle = al_groupHandle li_curPos = ai_curPos + 1 ll_index = al_seDAT*gStart do while ll_index <= al_segEnd //find sub segment (sub group) of given segment ll_subSegStart = ll_index ll_subSegSize = 0 do while true //read the next code from the array ls_sicCode = as_sicArray[ll_index] if ll_subSegSize = 0 then ll_subSegSize ++ elseif mid(as_sicArray[ll_index - 1], li_curPos, 1) = mid(ls_sicCode, li_curPos, 1) then ll_subSegSize ++ else exit end if ll_index ++ if ll_index > al_segEnd then exit loop DAT*ll_subSegEnd = ll_subSegStart + ll_subSegSize - 1 //Debug Group // string s // long i // s = "_________________________________" // for i = ll_subSegStart to ll_subSegEnd // s = s + "~r~n" + as_sicArray[i] // next // messageBox("Debug Group: CurPos = " + string(li_curPos), s, none!) //if the sub segment is actually the entire segment, then no group item //is needed at the current level, go to next level and reset the //index to the beginning of the segment if ll_subSegSize DAT*= ll_segSize then li_curPos ++ ll_index = al_segStart continue end if //create the group item for the current level if ll_groupHandle = al_groupHandle then //create the group code using the first (li_curPos - 1) characters //from the first group item's code ls_sicCode = mid(as_sicArray[ll_subSegStart], 1, li_curPos - 1) if len(ls_sicCode) = len(as_sicArray[ll_subSegStart]) then //if the new group code matches the first item in the group //then get the DAT*name from the item ls_sicName = ads_buffer.getItemString(al_rowArray[ll_subSegStart], "sic_name") if isNull(ls_sicName) then ls_sicName = "" else //get the name from the database for groups that don't have a member with //the same code if len(ls_sicCode) > 1 then SELECT rap_sic_codes.name INTO :ls_sicName FROM rap_sic_codes WHERE rap_sic_codes.code = :ls_sicCode USING SQLCA; end if end if //set single digDAT*it group items to expanded if len(ls_sicCode) > 1 then atvi_groupItem.expanded = false atvi_groupItem.pictureIndex = 1 atvi_groupItem.selectedPictureIndex = atvi_groupItem.pictureIndex else atvi_groupItem.expanded = true atvi_groupItem.pictureIndex = 2 atvi_groupItem.selectedPictureIndex = atvi_groupItem.pictureIndex end if //insert the group Item atvi_groupItem.label = ls_sicCode + " " + ls_sicName ll_groupHandle = this.insertItemLast(al_groupHandle,DAT* atvi_groupItem) if ll_groupHandle < 0 then return -1 end if //add items or sub groups to the current group if ll_subSegSize >= 2 then //RECURSION //if the sub segment size is >= 2 then add the segment as a group ll_handle = this.trigger event ue_insertGroup(ads_buffer, as_sicArray, al_rowArray, & ll_subSegStart, ll_subSegEnd, li_curPos, ll_groupHandle, atvi_item, atvi_groupItem) if ll_handle < 0 then return -1 elseif ll_subSegSize = 1 then //insertDAT*  a group of size 1 (single item) at current group level //set up the item ls_sicName = ads_buffer.getItemString(al_rowArray[ll_subSegStart], "sic_name") if isNull(ls_sicName) then ls_sicName = "" atvi_item.label = as_sicArray[ll_subSegStart] + " " + ls_sicName atvi_item.data = as_sicArray[ll_subSegStart] //build a search string (done in steps to avoid system errors that happened when concatenating) ls_findString = iclass_group.is_filterColumnName ls_findString = lsDAT* _findString + " = '" ls_findString = ls_findString + iclass_group.is_sicFilterColumnCode ls_findString = ls_findString + "' and " if as_sicArray[ll_subSegStart] = is_nullCode then ls_findString = ls_findString + "isNull(" ls_findString = ls_findString + iclass_group.is_filterColumnValue ls_findString = ls_findString + ")" else ls_findString = ls_findString + iclass_group.is_filterColumnValue ls_findString = ls_findString + " = '" ls_findString = ls_findString DAT* + as_sicArray[ll_subSegStart] ls_findString = ls_findString + "'" end if //look for item in buffer (captured selections) ll_rc = iclass_group.ids_filterCriteria.find(ls_findString, 1, iclass_group.ids_filterCriteria.rowCount()) //force the new item into a definite state to override the insert item's default behavior //which is to set new item states to the same as the parent state if ll_rc > 0 then atvi_item.statePictureIndex = ii_selected elseif ll_rc = 0 then DAT*  atvi_item.statePictureIndex = ii_notSelected else messageBox("Tree View Error", "tv_sic::ue_insertGroup(); error searching for item.", exclamation!) return -1 end if //insert the new item ll_handle = this.insertItemLast(ll_groupHandle, atvi_item) if ll_handle < 0 then messageBox("Tree View Error", "tv_sic::ue_insertGroup(); error inserting item.", exclamation!) return -1 end if else messageBox("Tree View Error", "tv_sic::ue_insertGroup(); grDAT* oup size can't be zero.", exclamation!) return -1 end if loop return ll_groupHandle end event event ue_load; //Populates the SIC treeview object //Argument ai_mode specifies how to load the treeview: //0 = load directly from buffer (iclass_group.ids_filterCriteria) //1 = refresh; capture current selections, clear treeview, load treeview // based on source selection criteria, re-select captured selections long ll_rc long ll_row long ll_rowCount long ll_rDAT* owArray[] long ll_arraySize long ll_segStart long ll_segEnd long ll_handle integer li_curPos string ls_sicCode string ls_sicName string ls_sicArray[] string ls_findString boolean lb_saveGroupModified u_ds_base lds_buffer treeViewItem ltvi_item treeViewItem ltvi_groupItem setPointer(hourglass!) //grab the current group modification status //the load operation will cause this to always be false, so it must be reset at the end of the function lb_saveGroupModified = ib_groupModDAT* ified //set up the data buffer lds_buffer = create u_ds_base if not isValid(lds_buffer) then messageBox("Error", "tv_sic::ue_load(); lds_buffer creation failed",exclamation!) return -1 end if //set up and retrieve the data buffer based on current mode if ai_mode = 0 then //Mode 0: Load treeview from filter buffer //update the filter arrays in iclass_group //(iclass_group.is_sicArray is used as a retrieval arg below and is populated //by iclass_group.of_getFilterSQL())DAT*  ll_rc = iclass_group.of_getFilterSQL(ls_findString) //(ls_findString is just a dummy arg here) if ll_rc < 0 then messageBox("Error", "tv_sic::ue_load(); error in call to iclass_group.of_getFilterSQL()",exclamation!) destroy lds_buffer return -1 end if //if no SIC codes were selected, clear the treeview and return if upperBound(iclass_group.is_sicArray) <= 0 and not iclass_group.ib_nullSIC then this.of_reset() ib_groupModified = lb_saveGroupModified destroy lds_buffeDAT* r return 0 end if //retrieve the SIC data based on the contents of iclass_group.ids_filterCriteria lds_buffer.dataObject = is_sicBufferData lds_buffer.setTransObject(SQLCA) //if the SIC array is not empty, retrieve the SICs in the array if upperBound(iclass_group.is_sicArray) > 0 then ll_rc = lds_buffer.retrieve(iclass_group.is_sicArray) if ll_rc < 0 then messageBox("Error", "tv_sic::ue_load(); error retrieving lds_buffer",exclamation!) destroy lds_buffer retuDAT* rn -1 end if end if //if ib_nullSIC is true, add a null SIC to the buffer by adding //an empty row at the beginning of the buffer if iclass_group.ib_nullSIC then ll_rc = lds_buffer.insertRow(1) if ll_rc < 0 then messageBox("Error", "tv_sic::ue_load(); error inserting row to lds_buffer",exclamation!) destroy lds_buffer return -1 end if end if else //Mode 1: Refresh the treeview //capture the current SIC selections //this updates the filter buffeDAT* r with currently selected sic treeview items ll_rc = this.event trigger ue_processAllSelections() if ll_rc < 0 then messageBox("Error", "tv_sic::ue_load(); error processing selections for tv_sic",exclamation!) destroy lds_buffer return -1 end if //capture the current source selections ll_rc = itv_source.event trigger ue_processSelections() if ll_rc < 0 then messageBox("Error", "tv_sic::ue_load(); error processing selections for tv_source",exclamation!) destroy lds_buffDAT* er return -1 end if if iclass_group.ids_sourceCriteria.rowCount() = 0 then messageBox("Information", "No source or geographic data has been selected.",information!) this.of_reset() destroy lds_buffer return 0 end if //patch in the SQL fragment for identifying source selections if iclass_group.of_getDataLevel() > iclass_group.ii_sourceLevel then lds_buffer.dataObject = is_sicDataSubSource else lds_buffer.dataObject = is_sicData end if lds_buffer.setTransObjectDAT* (SQLCA) ll_rc = iclass_group.of_modObjectSQL(lds_buffer, 1) //1 => SQL from source criteria only if ll_rc < 0 then messageBox("Error", "tv_sic::ue_load(); error modifying SQL for lds_buffer",exclamation!) destroy lds_buffer return -1 elseif ll_rc = 0 then messageBox("Information", "No source or geographic data has been selected.",information!) this.of_reset() destroy lds_buffer return 0 end if //retrieve the SIC data based on current source selections ll_rc = ldsDAT* _buffer.retrieve(iclass_group.il_nationArray, iclass_group.il_stateArray, & iclass_group.il_countyArray, iclass_group.il_sourceArray, & iclass_group.il_sourceSub1Array, iclass_group.il_sourceSub2Array ) if ll_rc < 0 then messageBox("Error", "tv_sic::ue_load(); error retrieving lds_buffer",exclamation!) destroy lds_buffer return -1 end if end if //ai_mode //messageBox("Debug", "SIC Codes Retrieved: " + string(ll_rc), none!) //clear the treeview this.ofDAT* _reset() //set up default SIC treeview item ltvi_item.children = false ltvi_item.expandedOnce = true ltvi_item.data = "" ltvi_item.label = "" //set up default group treeview item ltvi_groupItem.pictureIndex = 1 ltvi_groupItem.selectedPictureIndex = ltvi_groupItem.pictureIndex ltvi_groupItem.Expanded = false ltvi_groupItem.children = true ltvi_groupItem.expandedOnce = true ltvi_groupItem.bold = true ltvi_groupItem.data = is_groupCode ltvi_groupItem.label = "" li_curPos = 1 DAT* ll_rowCount = lds_buffer.rowCount() ll_row = 1 do while ll_row <= ll_rowCount ll_arraySize = 0 ll_segStart = 1 do while true //read the next code and add it to the array if it fits in current group ls_sicCode = lds_buffer.getItemString(ll_row, "sic_code") if isNull(ls_sicCode) then ls_sicCode = is_nullCode if ll_arraySize = 0 then ll_arraySize ++ ls_sicArray[ll_arraySize] = ls_sicCode ll_rowArray[ll_arraySize] = ll_row elseif mid(ls_sicArray[ll_arrayDAT* Size], li_curPos, 1) = mid(ls_sicCode, li_curPos, 1) then ll_arraySize ++ ls_sicArray[ll_arraySize] = ls_sicCode ll_rowArray[ll_arraySize] = ll_row else exit end if ll_row ++ if ll_row > ll_rowCount then exit loop ll_segEnd = ll_arraySize //Debug Group // string s // long i // s = "" // for i = 1 to ll_arraySize // s = s + "~r~n" + ls_sicArray[i] // next // messageBox("Debug Group", s, none!) if ll_arraySize >= 2 then ll_handle = this.DAT*" trigger event ue_insertGroup(lds_buffer, ls_sicArray, ll_rowArray, & ll_segStart, ll_segEnd, li_curPos, 0, ltvi_item, ltvi_groupItem) if ll_handle < 0 then messageBox("Tree View Error", "tv_sic::ue_load(); error inserting group.", exclamation!) destroy lds_buffer return -1 end if elseif ll_arraySize = 1 then //insert a group of size 1 (single item) at root level //set up the item ls_sicName = lds_buffer.getItemString(ll_rowArray[ll_segStart], "sic_DAT*$ name") if isNull(ls_sicName) then ls_sicName = "" ltvi_item.label = ls_sicArray[ll_segStart] + " " + ls_sicName ltvi_item.data = ls_sicArray[ll_segStart] //build a search string (done in steps to avoid system errors that happened when concatenating) ls_findString = iclass_group.is_filterColumnName ls_findString = ls_findString + " = '" ls_findString = ls_findString + iclass_group.is_sicFilterColumnCode ls_findString = ls_findString + "' and " if ls_sicArray[ll_segStarDAT*& t] = is_nullCode then ls_findString = ls_findString + "isNull(" ls_findString = ls_findString + iclass_group.is_filterColumnValue ls_findString = ls_findString + ")" else ls_findString = ls_findString + iclass_group.is_filterColumnValue ls_findString = ls_findString + " = '" ls_findString = ls_findString + ls_sicArray[ll_segStart] ls_findString = ls_findString + "'" end if //look for item in buffer (captured selections) ll_rc = iclass_group.ids_filterCDAT*( riteria.find(ls_findString, 1, iclass_group.ids_filterCriteria.rowCount()) //force the new item into a definite state to override the insert item's default behavior //which is to set new item states to the same as the parent state if ll_rc > 0 then ltvi_item.statePictureIndex = ii_selected elseif ll_rc = 0 then ltvi_item.statePictureIndex = ii_notSelected else messageBox("Tree View Error", "tv_sic::ue_load(); error searching for item.", exclamation!) destroy ldsDAT** _buffer return -1 end if //insert the new item ll_handle = this.insertItemLast(0, ltvi_item) if ll_handle < 0 then messageBox("Tree View Error", "tv_sic::ue_load(); error inserting item.", exclamation!) destroy lds_buffer return -1 end if else messageBox("Tree View Error", "tv_sic::ue_load(); group size can't be zero.", exclamation!) destroy lds_buffer return -1 end if loop //reset the group modified flag ib_groupModified = lb_sDAT*, aveGroupModified destroy lds_buffer this.setFocus() this.selectItem(this.findItem(rootTreeItem!,0)) return 1 end event event ue_processselections;call super::ue_processselections; messageBox("Usage", "Use tv_sic::ue_processAllSelections() to get actual selcted SIC Codes.", information!) return 1 end event event ue_processallselections;call super::ue_processallselections; //Loop through the handle array and add the SIC codes //to the filter criteria buffer long lDAT*. l_index long ll_row long ll_rc string ls_sicCode treeviewitem ltvi_item if this.ib_selectionsProcessed then return 0 setPointer(hourGlass!) //clear out the sic filters from the filter criteria buffer iclass_group.of_resetFilter(0) //0 specifies SIC filters //loop through the handle array and add each selected item to the //source criteria buffer for ll_index = 1 to il_handleCount //grab the item ll_rc = this.getItem(il_handleArray[ll_index], ltvi_item) if ll_rc < 0 thDAT*0 en return -1 //get the data from the item ls_sicCode = string(ltvi_item.data) //ignore group items if ls_sicCode = is_groupCode then continue //create a row in the filter criteria buffer ll_row = iclass_group.ids_filterCriteria.insertRow(0) if ll_row < 0 then return -1 //add the filter column name to the new row ll_rc = iclass_group.ids_filterCriteria.setItem(ll_row, iclass_group.is_filterColumnName, iclass_group.is_sicFilterColumnCode) if ll_rc < 0 then return -1 DAT*2  //set any null aliased code to actual null if ls_sicCode = is_nullCode then setNull(ls_sicCode) end if //add the filter value to the new row ll_rc = iclass_group.ids_filterCriteria.setItem(ll_row, iclass_group.is_filterColumnValue, ls_sicCode) if ll_rc < 0 then return -1 next //ll_index this.ib_selectionsProcessed = true return 1 end event event ue_selectionchanged;call super::ue_selectionchanged; ib_groupModified = true end event event itemexpanDAT*4 ded;call super::itemexpanded; treeViewItem ltvi_item integer li_rc li_rc = treeView::getItem(handle, ltvi_item) if li_rc < 0 then return -1 ltvi_item.pictureIndex = 2 ltvi_item.selectedPictureIndex = ltvi_item.pictureIndex li_rc = treeView::setItem(handle, ltvi_item) if li_rc < 0 then return -1 return 1 end event event itemcollapsed;call super::itemcollapsed; treeViewItem ltvi_item integer li_rc li_rc = treeView::getItem(handle, ltvi_item) if li_rc < 0 then return -1DAT*6  ltvi_item.pictureIndex = 1 ltvi_item.selectedPictureIndex = ltvi_item.pictureIndex li_rc = treeView::setItem(handle, ltvi_item) if li_rc < 0 then return -1 return 1 end event type tabpage_scc from userobject within tab_control integer x = 18 integer y = 100 integer width = 2542 integer height = 1516 long backcolor = 79741120 string text = "SCC Codes" long tabtextcolor = 33554432 long tabbackcolor = 79741120 long picturemaskcolor = 536870912 cb_scc_refresh cb_scc_refresh DAT*8 tv_scc tv_scc end type on tabpage_scc.create this.cb_scc_refresh=create cb_scc_refresh this.tv_scc=create tv_scc this.Control[]={this.cb_scc_refresh,& this.tv_scc} end on on tabpage_scc.destroy destroy(this.cb_scc_refresh) destroy(this.tv_scc) end on type cb_scc_refresh from commandbutton within tabpage_scc event clicked pbm_bnclicked integer x = 50 integer y = 16 integer width = 361 integer height = 96 integer taborder = 10 integer textsize = -10 integer weight = 400 foDAT*: ntpitch fontpitch = variable! fontfamily fontfamily = swiss! string facename = "Arial" boolean enabled = false string text = "Refresh" end type event clicked; tv_scc.setRedraw(false) tv_scc.trigger event ue_load(1) tv_scc.setRedraw(true) this.enabled = false end event type tv_scc from u_tv_selection_tree within tabpage_scc event type long ue_insertgroup ( readonly u_ds_base ads_buffer, readonly string as_sccarray[], readonly long al_rowarray[], readonly integer ai_parse[], lDAT*< ong al_segstart, long al_segend, integer ai_curpos, long al_grouphandle, ref treeviewitem atvi_item, ref treeviewitem atvi_groupitem ) event type integer ue_load ( integer ai_mode ) integer x = 37 integer y = 144 integer width = 2450 integer height = 1312 integer taborder = 20 string picturename[] = {"tvCFold.bmp","tvOFold.bmp"} end type event ue_insertgroup;call super::ue_insertgroup; //Recursive routine to add groups and grouped items to the tree long ll_rc long ll_index DAT*> long ll_maxIndex long ll_handle long ll_groupHandle long ll_segSize long ll_subSegSize long ll_subSegStart long ll_subSegEnd integer li_curPos integer li_curLen string ls_sccCode string ls_sccName string ls_nameColumn string ls_findString setPointer(hourglass!) ll_segSize = al_segEnd - al_segStart + 1 ll_groupHandle = al_groupHandle li_curPos = ai_curPos + 1 ll_index = al_segStart do while ll_index <= al_segEnd //find the length of the code string that is already knDAT*@ own to be //the same for all members of the segment li_curLen = 0 for ll_rc = 1 to (li_curPos - 1) li_curLen += ai_parse[ll_rc] next //find sub segment (sub group) of given segment ll_subSegStart = ll_index ll_subSegSize = 0 do while true //read the next code from the array ls_sccCode = as_sccArray[ll_index] if ll_subSegSize = 0 then ll_subSegSize ++ elseif mid(as_sccArray[ll_index - 1], li_curLen + 1, ai_parse[li_curPos]) = mid(ls_sccCode, li_curLen DAT*B + 1, ai_parse[li_curPos]) then ll_subSegSize ++ else exit end if ll_index ++ if ll_index > al_segEnd then exit loop ll_subSegEnd = ll_subSegStart + ll_subSegSize - 1 //Debug Group // string s // long i // s = "_________________________________" // for i = ll_subSegStart to ll_subSegEnd // s = s + "~r~n" + as_sccArray[i] // next // messageBox("Debug Group: CurPos = " + string(li_curPos), s, none!) //if the sub segment is actually the entire segment,DAT*D  then no group item //is needed at the current level, go to next level and reset the //index to the beginning of the segment if ll_subSegSize = ll_segSize then li_curPos ++ ll_index = al_segStart continue end if //create the group item for the current level if ll_groupHandle = al_groupHandle then //create the group code using the first (li_curPos - 1) characters //from the first group item's code ls_sccCode = mid(as_sccArray[ll_subSegStart], 1, li_curLen) DAT*F  ls_nameColumn = "scc_name" + string(li_curPos - 1) ls_sccName = ads_buffer.getItemString(al_rowArray[ll_subSegStart], ls_nameColumn) //set single digit group items to expanded if len(ls_sccCode) > 1 then atvi_groupItem.expanded = false atvi_groupItem.pictureIndex = 1 atvi_groupItem.selectedPictureIndex = atvi_groupItem.pictureIndex else atvi_groupItem.expanded = true atvi_groupItem.pictureIndex = 2 atvi_groupItem.selectedPictureIndex = atvi_groupItem.pictuDAT*H reIndex end if //insert the group Item atvi_groupItem.label = ls_sccCode + " " + ls_sccName ls_nameColumn = "scc_name" + string(li_curPos) ll_groupHandle = this.insertItemLast(al_groupHandle, atvi_groupItem) if ll_groupHandle < 0 then return -1 end if //add items or sub groups to the current group if ll_subSegSize >= 2 then //RECURSION //if the sub segment size is >= 2 then add the segment as a group ll_handle = this.trigger event ue_insertGroup(adsDAT*J _buffer, as_sccArray, al_rowArray, & ai_parse, ll_subSegStart, ll_subSegEnd, li_curPos, ll_groupHandle, atvi_item, atvi_groupItem) if ll_handle < 0 then return -1 elseif ll_subSegSize = 1 then //insert a group of size 1 (single item) at current group level //set up the item ls_sccName = ads_buffer.getItemString(al_rowArray[ll_subSegStart], ls_nameColumn) if isNull(ls_sccName) then ls_sccName = "" atvi_item.label = as_sccArray[ll_subSegStart] + " " + ls_sccName DAT*L  atvi_item.data = as_sccArray[ll_subSegStart] //build a search string (done in steps to avoid system errors that happened when concatenating) ls_findString = iclass_group.is_filterColumnName ls_findString = ls_findString + " = '" ls_findString = ls_findString + iclass_group.is_sccFilterColumnCode ls_findString = ls_findString + "' and " if as_sccArray[ll_subSegStart] = is_nullCode then ls_findString = ls_findString + "isNull(" ls_findString = ls_findString + iclass_DAT*N group.is_filterColumnValue ls_findString = ls_findString + ")" else ls_findString = ls_findString + iclass_group.is_filterColumnValue ls_findString = ls_findString + " = '" ls_findString = ls_findString + as_sccArray[ll_subSegStart] ls_findString = ls_findString + "'" end if //look for item in buffer (captured selections) ll_rc = iclass_group.ids_filterCriteria.find(ls_findString, 1, iclass_group.ids_filterCriteria.rowCount()) //force the new item into DAT*P a definite state to override the insert item's default behavior //which is to set new item states to the same as the parent state if ll_rc > 0 then atvi_item.statePictureIndex = ii_selected elseif ll_rc = 0 then atvi_item.statePictureIndex = ii_notSelected else messageBox("Tree View Error", "tv_scc::ue_insertGroup(); error searching for item.", exclamation!) return -1 end if //insert the new item ll_handle = this.insertItemLast(ll_groupHandle, atvi_item) DAT*R  if ll_handle < 0 then messageBox("Tree View Error", "tv_scc::ue_insertGroup(); error inserting item.", exclamation!) return -1 end if else messageBox("Tree View Error", "tv_scc::ue_insertGroup(); group size can't be zero.", exclamation!) return -1 end if loop return ll_groupHandle end event event ue_load; //Populates the SCC treeview object with SCC data related to the current //source selection data. long ll_rc long ll_row long ll_roDAT*T wCount long ll_rowArray[] long ll_arraySize long ll_segStart long ll_segEnd long ll_handle integer li_parse[4] = {2, 2, 2, 2} integer li_curPos string ls_sccCode string ls_sccName string ls_sccArray[] string ls_findString boolean lb_saveGroupModified u_ds_base lds_buffer treeViewItem ltvi_item treeViewItem ltvi_groupItem setPointer(hourglass!) //grab the current group modification status //the load operation will cause this to always be false, so it must be reset at the enDAT*V d of the function lb_saveGroupModified = ib_groupModified //set up the data buffer lds_buffer = create u_ds_base if not isValid(lds_buffer) then messageBox("Error", "tv_scc::ue_load(); lds_buffer creation failed",exclamation!) return -1 end if //set up and retrieve the data buffer based on current mode if ai_mode = 0 then //Mode 0: Load treeview from filter buffer //update the filter arrays in iclass_group //(iclass_group.is_sccArray is used as a retrieval arg below and DAT*X is populated //by iclass_group.of_getFilterSQL()) ll_rc = iclass_group.of_getFilterSQL(ls_findString) //(ls_findString is just a dummy arg here) if ll_rc < 0 then messageBox("Error", "tv_scc::ue_load(); error in call to iclass_group.of_getFilterSQL()",exclamation!) destroy lds_buffer return -1 end if //if no SCC codes were selected, clear the treeview and return if upperBound(iclass_group.is_sccArray) <= 0 and not iclass_group.ib_nullSCC then this.of_reset() ib_groupMDAT*Z odified = lb_saveGroupModified destroy lds_buffer return 0 end if //retrieve the SCC data based on the contents of iclass_group.ids_filterCriteria lds_buffer.dataObject = is_sccBufferData lds_buffer.setTransObject(SQLCA) //if the SCC array is not empty, retrieve the SCCs in the array if upperBound(iclass_group.is_sccArray) > 0 then ll_rc = lds_buffer.retrieve(iclass_group.is_sccArray) if ll_rc < 0 then messageBox("Error", "tv_scc::ue_load(); error retrieving lds_buDAT*\ ffer",exclamation!) destroy lds_buffer return -1 end if end if //if ib_nullSCC is true, add a null SCC to the buffer by adding //an empty row at the beginning of the buffer if iclass_group.ib_nullSCC then ll_rc = lds_buffer.insertRow(1) if ll_rc < 0 then messageBox("Error", "tv_scc::ue_load(); error inserting row to lds_buffer",exclamation!) destroy lds_buffer return -1 end if end if else //Mode 1: Refresh the treeview //capture the curreDAT*^ nt SCC selections //this updates the filter buffer with currently selected SCC treeview items ll_rc = this.event trigger ue_processAllSelections() if ll_rc < 0 then messageBox("Error", "tv_scc::ue_load(); error processing selections for tv_scc",exclamation!) destroy lds_buffer return -1 end if //capture the current source selections ll_rc = itv_source.event trigger ue_processSelections() if ll_rc < 0 then messageBox("Error", "tv_scc::ue_load(); error processing selectioDAT*` ns for tv_source",exclamation!) destroy lds_buffer return -1 end if if iclass_group.ids_sourceCriteria.rowCount() = 0 then messageBox("Information", "No source or geographic data has been selected.",information!) this.of_reset() destroy lds_buffer return 0 end if //patch in the SQL fragment for identifying source selections lds_buffer.dataObject = is_sccData lds_buffer.setTransObject(SQLCA) ll_rc = iclass_group.of_modObjectSQL(lds_buffer, 1) //1 => SQL from sourDAT*b ce criteria only if ll_rc < 0 then messageBox("Error", "tv_scc::ue_load(); error modifying SQL for lds_buffer",exclamation!) destroy lds_buffer return -1 elseif ll_rc = 0 then messageBox("Information", "No source or geographic data has been selected.",information!) this.of_reset() destroy lds_buffer return 0 end if //retrieve the SCC data based on current source selections ll_rc = lds_buffer.retrieve(iclass_group.il_nationArray, iclass_group.il_stateArray, & DAT*d  iclass_group.il_countyArray, iclass_group.il_sourceArray, & iclass_group.il_sourceSub1Array, iclass_group.il_sourceSub2Array) if ll_rc < 0 then messageBox("Error", "tv_scc::ue_load(); error retrieving lds_buffer",exclamation!) destroy lds_buffer return -1 end if end if //ai_mode //messageBox("Debug", "SCC Codes Retrieved: " + string(ll_rc), none!) //clear the treeview this.of_reset() //set up default SCC treeview item ltvi_item.children = false ltvi_itDAT*f em.expandedOnce = true ltvi_item.data = "" ltvi_item.label = "" //set up default group treeview item ltvi_groupItem.pictureIndex = 1 ltvi_groupItem.selectedPictureIndex = ltvi_groupItem.pictureIndex ltvi_groupItem.Expanded = false ltvi_groupItem.children = true ltvi_groupItem.expandedOnce = true ltvi_groupItem.bold = true ltvi_groupItem.data = is_groupCode ltvi_groupItem.label = "" li_curPos = 1 ll_rowCount = lds_buffer.rowCount() ll_row = 1 do while ll_row <= ll_rowCountDAT*h  ll_arraySize = 0 ll_segStart = 1 do while true //read the next code and add it to the array if it fits in current group ls_sccCode = lds_buffer.getItemString(ll_row, "scc_code") if isNull(ls_sccCode) then ls_sccCode = is_nullCode //determine the parsing scheme based on code length if len(ls_sccCode) = 8 then li_parse = {2, 2, 2, 2} else li_parse = {2, 2, 3, 3} end if if ll_arraySize = 0 then ll_arraySize ++ ls_sccArray[ll_arraySize] = lDAT*j s_sccCode ll_rowArray[ll_arraySize] = ll_row elseif mid(ls_sccArray[ll_arraySize], li_curPos, li_parse[li_curPos]) = mid(ls_sccCode, li_curPos, li_parse[li_curPos]) then ll_arraySize ++ ls_sccArray[ll_arraySize] = ls_sccCode ll_rowArray[ll_arraySize] = ll_row else exit end if ll_row ++ if ll_row > ll_rowCount then exit loop ll_segEnd = ll_arraySize //Debug Group // string s // long i // s = "" // for i = 1 to ll_arraySize // s = s + "~r~n" + DAT*l ls_sccArray[i] // next // messageBox("Debug Group", s, none!) if ll_arraySize >= 2 then ll_handle = this.trigger event ue_insertGroup(lds_buffer, ls_sccArray, ll_rowArray, & li_parse, ll_segStart, ll_segEnd, li_curPos, 0, ltvi_item, ltvi_groupItem) if ll_handle < 0 then messageBox("Tree View Error", "tv_scc::ue_load(); error inserting group.", exclamation!) destroy lds_buffer return -1 end if elseif ll_arraySize = 1 then //insert a group of sizeDAT*n  1 (single item) at root level //set up the item ls_sccName = lds_buffer.getItemString(ll_rowArray[ll_segStart], "scc_name1") if isNull(ls_sccName) then ls_sccName = "" ltvi_item.label = ls_sccArray[ll_segStart] + " " + ls_sccName ltvi_item.data = ls_sccArray[ll_segStart] //build a search string (done in steps to avoid system errors that happened when concatenating) ls_findString = iclass_group.is_filterColumnName ls_findString = ls_findString + " = '" ls_findStDAT*p ring = ls_findString + iclass_group.is_sccFilterColumnCode ls_findString = ls_findString + "' and " if ls_sccArray[ll_segStart] = is_nullCode then ls_findString = ls_findString + "isNull(" ls_findString = ls_findString + iclass_group.is_filterColumnValue ls_findString = ls_findString + ")" else ls_findString = ls_findString + iclass_group.is_filterColumnValue ls_findString = ls_findString + " = '" ls_findString = ls_findString + ls_sccArray[ll_segStart] ls_fiDAT*r ndString = ls_findString + "'" end if //look for item in buffer (captured selections) ll_rc = iclass_group.ids_filterCriteria.find(ls_findString, 1, iclass_group.ids_filterCriteria.rowCount()) //force the new item into a definite state to override the insert item's default behavior //which is to set new item states to the same as the parent state if ll_rc > 0 then ltvi_item.statePictureIndex = ii_selected elseif ll_rc = 0 then ltvi_item.statePictureIndex = ii_nDAT*t otSelected else messageBox("Tree View Error", "tv_scc::ue_load(); error searching for item.", exclamation!) destroy lds_buffer return -1 end if //insert the new item ll_handle = this.insertItemLast(0, ltvi_item) if ll_handle < 0 then messageBox("Tree View Error", "tv_scc::ue_load(); error inserting item.", exclamation!) destroy lds_buffer return -1 end if else messageBox("Tree View Error", "tv_scc::ue_load(); group size can't be zero.", eDAT*v xclamation!) destroy lds_buffer return -1 end if loop //reset the group modified flag ib_groupModified = lb_saveGroupModified destroy lds_buffer this.setFocus() this.selectItem(this.findItem(rootTreeItem!,0)) return 1 end event event itemcollapsed;call super::itemcollapsed; treeViewItem ltvi_item integer li_rc li_rc = treeView::getItem(handle, ltvi_item) if li_rc < 0 then return -1 ltvi_item.pictureIndex = 1 ltvi_item.selectedPictureIndex = ltviDAT*x _item.pictureIndex li_rc = treeView::setItem(handle, ltvi_item) if li_rc < 0 then return -1 return 1 end event event itemexpanded;call super::itemexpanded; treeViewItem ltvi_item integer li_rc li_rc = treeView::getItem(handle, ltvi_item) if li_rc < 0 then return -1 ltvi_item.pictureIndex = 2 ltvi_item.selectedPictureIndex = ltvi_item.pictureIndex li_rc = treeView::setItem(handle, ltvi_item) if li_rc < 0 then return -1 return 1 end event event ue_selectionchanged;cDAT*z all super::ue_selectionchanged; ib_groupModified = true end event event ue_processselections;call super::ue_processselections; messageBox("Usage", "Use tv_scc::ue_processAllSelections() to get actual selcted SCC Codes.", information!) return 1 end event event ue_processallselections;call super::ue_processallselections; //Loop through the handle array and add the SCC codes //to the filter criteria buffer long ll_index long ll_row long ll_rc string ls_sccCode treeviewitem lDAT*| tvi_item if this.ib_selectionsProcessed then return 0 setPointer(hourGlass!) //clear out the scc filters from the filter criteria buffer iclass_group.of_resetFilter(1) //1 specifies SCC filters //loop through the handle array and add each selected item to the //source criteria buffer for ll_index = 1 to il_handleCount //grab the item ll_rc = this.getItem(il_handleArray[ll_index], ltvi_item) if ll_rc < 0 then return -1 //get the data from the item ls_sccCode = strinDAT*~ g(ltvi_item.data) //ignore group items if ls_sccCode = is_groupCode then continue //create a row in the filter criteria buffer ll_row = iclass_group.ids_filterCriteria.insertRow(0) if ll_row < 0 then return -1 //add the filter column name to the new row ll_rc = iclass_group.ids_filterCriteria.setItem(ll_row, iclass_group.is_filterColumnName, iclass_group.is_sccFilterColumnCode) if ll_rc < 0 then return -1 //set any null aliased code to actual null if ls_sccCode = iDAT* s_nullCode then setNull(ls_sccCode) end if //add the filter value to the new row ll_rc = iclass_group.ids_filterCriteria.setItem(ll_row, iclass_group.is_filterColumnValue, ls_sccCode) if ll_rc < 0 then return -1 next //ll_index this.ib_selectionsProcessed = true return 1 end event type tabpage_group from userobject within tab_control integer x = 18 integer y = 100 integer width = 2542 integer height = 1516 long backcolor = 79741120 string text = "Group DDAT* ata" long tabtextcolor = 33554432 long tabbackcolor = 79741120 long picturemaskcolor = 536870912 cbx_notify cbx_notify cbx_auto cbx_auto cb_save cb_save cb_delete cb_delete cb_new cb_new dw_group dw_group gb_1 gb_1 end type on tabpage_group.create this.cbx_notify=create cbx_notify this.cbx_auto=create cbx_auto this.cb_save=create cb_save this.cb_delete=create cb_delete this.cb_new=create cb_new this.dw_group=create dw_group this.gb_1=create gb_1 this.Control[]={this.cbx_notifDAT* y,& this.cbx_auto,& this.cb_save,& this.cb_delete,& this.cb_new,& this.dw_group,& this.gb_1} end on on tabpage_group.destroy destroy(this.cbx_notify) destroy(this.cbx_auto) destroy(this.cb_save) destroy(this.cb_delete) destroy(this.cb_new) destroy(this.dw_group) destroy(this.gb_1) end on type cbx_notify from checkbox within tabpage_group integer x = 146 integer y = 880 integer width = 1627 integer height = 80 integer textsize = -10 integer weight = 400 fontcharset fontcDAT* harset = ansi! fontpitch fontpitch = variable! fontfamily fontfamily = swiss! string facename = "Arial" long backcolor = 67108864 string text = "Notify at Startup for Sources in RECALCULATE Group" boolean lefttext = true end type event constructor; //get the value of the recalculate notify key from rapids.ini string ls_notify ls_notify = profileString(gs_iniFile, "RECALCULATE", "NOTIFY", "") //create key if it does not exist if trim(ls_notify) = "" then ls_notify = "FALSE"DAT*  setProfileString(gs_iniFile, "RECALCULATE", "NOTIFY", ls_notify) end if if upper(ls_notify) = "TRUE" then this.checked = TRUE else this.checked = FALSE end if return 1 end event event clicked; //set the ini file value that controls the whether message //notifies user of non-empty recalculate group at startup if this.checked then setProfileString(gs_iniFile, "RECALCULATE", "NOTIFY", "TRUE") else setProfileString(gs_iniFile, "RECALCULATE", "NOTIFY", "FALSE") end if DAT*  end event type cbx_auto from checkbox within tabpage_group integer x = 146 integer y = 784 integer width = 1627 integer height = 80 integer textsize = -10 integer weight = 400 fontcharset fontcharset = ansi! fontpitch fontpitch = variable! fontfamily fontfamily = swiss! string facename = "Arial" long backcolor = 67108864 string text = "Automatically Add Sources to RECALCULATE Group " boolean lefttext = true end type event clicked; //set the database value that controls the tDAT* riggers //for automatically adding sources to the recalc group //when certain data are changed if this.checked then UPDATE rap_db_prefs SET auto_add_to_recalc = 1 WHERE rid = 0 USING SQLCA ; else UPDATE rap_db_prefs SET auto_add_to_recalc = -1 WHERE rid = 0 USING SQLCA ; end if if f_sqlCheck(SQLCA) < 0 then ROLLBACK USING SQLCA ; return -1 else COMMIT USING SQLCA; return 1 end if end event event constructor; //get the value of the auto add to DAT* recalc column //from the db prefs table integer li_auto long ll_rc SELECT auto_add_to_recalc INTO :li_auto FROM rap_db_prefs WHERE rid = 0 USING SQLCA; ll_rc = f_sqlCheck(SQLCA) if ll_rc < 0 then return -1 elseif ll_rc = 100 then messageBox("Error", "No data found in rap_db_prefs.", exclamation!) return -1 end if if li_auto > 0 then this.checked = TRUE else this.checked = FALSE end if return 1 end event type cb_save from commandbutton within tabpage_grDAT* oup integer x = 2098 integer y = 512 integer width = 361 integer height = 96 integer taborder = 40 integer textsize = -10 integer weight = 700 fontpitch fontpitch = variable! fontfamily fontfamily = swiss! string facename = "Arial" string text = "&Save" end type event clicked; long ll_rc //bring iclass_group up to date ll_rc = iw_source_selector.of_processSelections() if ll_rc < 0 then return -1 //validate that all required fields are filled in ll_rc = dw_group.trigger eveDAT* nt ue_validate() if ll_rc < 0 then return -1 //save the group ll_rc = iclass_group.of_saveGroup() if ll_rc < 0 then return -1 ib_groupModified = false dw_group.trigger event ue_refreshList() dw_group.setFocus() dw_group.setColumn("group_name") return 1 end event type cb_delete from commandbutton within tabpage_group integer x = 2098 integer y = 192 integer width = 361 integer height = 96 integer taborder = 30 integer textsize = -10 integer weight = 400 fontpitch foDAT* ntpitch = variable! fontfamily fontfamily = swiss! string facename = "Arial" string text = "&Delete" end type event clicked; long ll_groupRid long ll_rc string ls_groupName ll_groupRid = iclass_group.ids_groupData.getItemNumber(1, iclass_group.is_groupRid) if isNull(ll_groupRid) then return 0 //record not saved, can't delete ls_groupName = trim(dw_group.getItemString(1, "group_name")) if isNull(ls_groupName) or ls_groupName = "" then ls_groupName = '[no name]' //confirm deleteDAT*  ll_rc = messageBox("Confirm Delete", "Delete group '" + ls_groupName + "' now?", question!, yesNo!) if ll_rc = 2 then return 0 ll_rc = iclass_group.of_deleteGroup(ll_groupRid) if ll_rc < 0 then return -1 dw_group.trigger event ue_init() //make treeviews reflect the group ll_rc = iw_source_selector.of_processGroup() if ll_rc < 0 then return -1 dw_group.trigger event ue_refreshList() dw_group.setFocus() dw_group.setColumn("group_name") return ll_rc end event type cb_DAT* new from commandbutton within tabpage_group integer x = 2098 integer y = 64 integer width = 361 integer height = 96 integer taborder = 10 integer textsize = -10 integer weight = 400 fontpitch fontpitch = variable! fontfamily fontfamily = swiss! string facename = "Arial" string text = "&New" end type event clicked; long ll_rc //if the group has changed, prompt for save ll_rc = dw_group.trigger event ue_checkSavePrompt() if ll_rc <= 0 then //error or user cancelled save DAT*  return 0 end if //create a default group dw_group.trigger event ue_init() //make treeviews reflect the group ll_rc = iw_source_selector.of_processGroup() if ll_rc < 0 then return -1 dw_group.trigger event ue_refreshList() dw_group.setFocus() dw_group.setColumn("group_name") return 0 end event type dw_group from datawindow within tabpage_group event ue_init ( ) event type integer ue_reload ( string as_groupname ) event ue_updated ( ) event ue_refreshlist ( ) event tyDAT* pe long ue_validate ( ) event type integer ue_checksaveprompt ( ) integer x = 50 integer y = 64 integer width = 1970 integer height = 544 integer taborder = 1 string dataobject = "d_ss_group_data" boolean livescroll = true borderstyle borderstyle = stylelowered! end type event ue_init; long ll_rc //set up the default source group ll_rc = iclass_group.of_reset() if ll_rc < 0 then return this.trigger event ue_refreshList() ib_groupModified = false end event event ue_DAT* reload; long ll_rc ll_rc = iclass_group.of_loadGroup(as_groupName) if ll_rc = 0 then //no group was loaded , so do default init messageBox("New Group", "Creating new group '" + as_groupName + "'.", information!) this.trigger event ue_init() this.setItem(1, "group_name", as_groupName) elseif ll_rc < 0 then messageBox("Error", "dw_group::ue_reload(); group data retrieve failed.", exclamation!) return -1 end if //make treeviews reflect the group ll_rc = iw_source_selector.of_DAT* processGroup() if ll_rc < 0 then return -1 this.trigger event ue_refreshList() ib_groupModified = false return 1 end event event ue_refreshlist; long ll_rid dataWindowChild dwc_list //grab the current group rid ll_rid = this.getItemNumber(1, "group_rid") if isNull(ll_rid) then ll_rid = -1 //retrieve the drop down list (will not include record matching current rid) this.getChild("group_name", dwc_list) dwc_list.setTransObject(SQLCA) dwc_list.retrieve(ll_rid) end evenDAT* t event ue_validate; //validate that all required fields are filled in and that required //data exists in source criteria buffer string ls_name integer li_level integer li_logic dw_group.acceptText() if iclass_group.ids_sourceCriteria.rowCount() = 0 then messageBox("Validataion Failed", "Please select source criteria.", exclamation!) return -1 end if ls_name = trim(dw_group.getItemString(1, "group_name")) if isNull(ls_name) or ls_name = "" then messageBox("ValidationDAT*  Failed", "Please enter Group Name.", exclamation!) dw_group.setFocus() dw_group.setColumn("group_name") return -1 end if li_level = dw_group.getItemNumber(1, "data_level") if isNull(li_level) then messageBox("Validation Failed", "Please enter Data Level.", exclamation!) dw_group.setFocus() dw_group.setColumn("data_level") return -1 end if li_logic = dw_group.getItemNumber(1, "filter_logic") if isNull(li_logic) then messageBox("Validation Failed", "Please enter Filter LogDAT* ic.", exclamation!) dw_group.setFocus() dw_group.setColumn("filter_logic") return -1 end if return 1 end event event ue_checksaveprompt; //if the group has changed, prompt for save, and save if requested //Returns: // -1 = error on save // 0 = cancel // 1 = successful save or group not modified // 2 = don't save long ll_rc string ls_name //make the old name current again ls_name = trim(this.getItemString(1, "group_name")) if isNull(ls_name) or ls_name = "" theDAT* n ls_name = "(no name)" //if the group has changed, prompt for save if ib_groupModified then //prompt for save ll_rc = messageBox("Group has changed...","Group '" + ls_name + "' has changed. " +& "Do you want to save changes?", question!, yesNoCancel!) choose case ll_rc case 1 //save the old group ll_rc = cb_save.trigger event clicked() if ll_rc <= 0 then return -1 //save error else return 1 //save success end if case 2 return 2 //DAT* don't save case 3 return 0 //user cancelled end choose else return 1 //group not modified end if end event event itemchanged; long ll_rc string ls_oldValue dataWindowChild dwc_list //if a call to acceptText() from the loseFocus event triggered itemChanged, //then just accept the change. this helps avoid synchronization problems with //other controls that do their own processing if message.stringParm = "loseFocus" then ib_groupModified = true returDAT* n 0 end if //if the group name changed... if dwo.name = "group_name" then //get reference to the dddw ll_rc = this.getChild("group_name", dwc_list) if ll_rc < 0 then messageBox("Error", "dw_group::itemChanged(); call to getChild() failed.", exclamation!) return 2 //don't accept name change end if //see if the new name is in the dddw ll_rc = dwc_list.find("group_name = '" + data + "'", 1, dwc_list.rowCount()) if ll_rc > 0 then //the new name is in the list, consDAT* ider it selected from the list //and causing a group change //make the old name current again ls_oldValue = trim(this.getItemString(1, "group_name")) iclass_group.ids_groupData.setItem(1, "group_name", ls_oldValue) //if the group has changed, prompt for save ll_rc = this.trigger event ue_checkSavePrompt() if ll_rc <= 0 then //error or user cancelled save this.setColumn("group_name") return 2 //don't accept item change end if //successful save, saveDAT*  not needed or not requested //load the new group this.post event ue_reload(data) return 0 elseif ll_rc < 0 then messageBox("Error", "dw_group::itemChanged(); call to dwc_list.find() failed.", exclamation!) return 2 //don't accept item change end if //if the group data level changed... elseif dwo.name = "data_level" then //set the data level to the new value iclass_group.of_setDataLevel(integer(data)) //regenerate the source/geographic treeview DAT*  ll_rc = w_source_selector.tab_control.tabpage_source.tv_source.trigger event ue_load(1) //1 => refresh mode if ll_rc < 0 then return -1 end if //dwo.name //new group name, or field other than name changed ib_groupModified = true return 0 end event event dberror; //Handle the DBError event. string ls_message ls_message = "Database Error: " + string(SQLDBCode) + "~r~n~n" + SQLErrText messageBox("Database Error", ls_message, exclamation!) return 1 //override defaDAT* }/1<B:V@)811 )8<11<  Yt$$1)8111}R }/ 8(0/ 8<0/ 88P0/ \8d0/DAT*  8x0/ 80/ 80/ 80$$<=)8<1N19}14Nv"#$.%T'(*+-/>3B4v6789:;<=">4?F@XAjB|CDEFGJK2MNORQVSjd~ ancestorreturnvaluelDAT* l_indexll_rowll_riddll_handlell_rcli_levelli_ils_columnnameltvi_itemcase554%4,-@JPY^ l v ue_processselectionsib_selectionsprocessed6iclass_group:<39ids_sourcecriteriaT resetpil_handlecount3il_handlearrayDAT* 2getitemL2 finditem@KL<39T insertrow <39nation_rid<39state_ridan<39county_ridx<39source_ridy<39source_sub1_rid<39source_sub2_rid<39source_sub3_rid<39source_sub4_rid<39T setitem64 L h x               4 H \ p DAT*        b:F@@8)8<18080:)@@81X$/9}jl#808t0:)@@81$}/l80 80 80`/8 0 80 8H0DAT* `/X8`0 8H0 @8`8088z%:)@@81,))8~@~8)819}*)819}$9}*),8)@811HDAT* P$1<R}X`$}h$/ p9}6x9} $} $} ~9)81)8D 9}8J88)88z&$888)$8z'8,z&8/)48z(8/DAT* )<88D08D0HVPz%#X$ 6)l81 @8t$$ J8/} 9}/}1F/}8080:)@@81*DAT* )818080:)@@81 @)T81@1 b9)\8d })l81BR!$%&',-.(/D0V1h2z3456789:<N=T@`CxDEGHIKL,MBN`OvP|QSTXYZ[\] `6aLb`e~gjklm6DAT* noqrstx${.|^~nx,BFtz.4@Dbx~d handlell_rcll_rowll_ridll_childhandlell_parentridll_childridls_childidls_childnamels_columnnamels_nextcolumnnamelb_saveredrawlb_savegroupmodifiedlb_itempopulatelb_parentselectedltvi_parentitemltvi_childitemlds_buffercase44sqlcaDAT* #2?K V c q    :)@=t getitemLErrortv_source::item Populate(); error in call to getItem(). u_ds_base`:tv_source::item Populate(); error creating lds_DAT* buffer. dataobjectd_ss_sources_at_countyiclass_group39source_rid39source_sub1_ridd_ss_devices_at_source3939source_sub2_ridd_ss_processes_at_device39tv_source::item Populate(); populate triggered for unsupported tree level.settransobjectretrievesetitemY Y selectitemV4     ib_groupmodified8DAT* ib_redraw4setredraw!rowcountridgetitemnumberidgetitemstring (type) name 39of_finddata+`39ids_sourcecriteria|    tv_source::itemPopulate(); error searching for item rid.insertitemlastStv_source::itemPopulate(); error in call to insertItemLast().itempopulate6F!8V4 X lDAT*      8 @ X |       $ , @ H P X ` h p x        $ 4 < H P X l t       T \ d l P_#809}L$9)h8(dDAT*  p ue_selectionchangedib_groupmodified8iw_source_selector8.of_enablerefreshxT0 L h X`#88 08&0:)@@81Fd ancestorreturnvaluei ue_processallselectionsUsageUse tv_source::ue_processSelections() to get minimized selections.6$^$_$`$k$6":2 c DAT*  +ue_load+ue_processselections+itempopulate+ue_selectionchanged+ue_processallselectionsd'5J2 < xywidthheighttaborderpicturename 0x% @ p 0"1] o%@ p  EDAT* @ @@@@@@%1 L1 3Q(k^x6_DAT* '`b* 0*8HP$X$ |,d `8 cb_sic_refresh!((tv_sic(")()control@c@!((")  0 8H P X "$($d 0 cb_sic_refresh!(tv_siDAT* c ") ( ''2  +create+destroy(typeicm usit2 i xywidthheightbackcolortexttabtextcolortabbackcolorpicturemaskcolorcb_sic_refreshtv_sic d # (5B S (b )] odDAT*   @@" 1    @    ( )$9)$8,$1)<8D$9)L8\9},+1,+dDAT* $ Ffzd ::message+@>l@ tv_sic")setredraw!")ue_loadl4")!enabledT $ , < D L \ d "("2  +clickedtypefr2 ] xywidthheighttabordertextsizeweightfontpitchfontfamilyfacenameenabledtext2  iDAT* ` "@+2<GPX@ ] o2i`  @ @ "S :F@@8Y1DAT* R 1<R}  v 19b =61B 1Y=<1@8<1@8>Bb  ^bR1Y r =11<Y@8=X=8DAT* ) 8T8(01,) 1-,9}-41}-<-D$}>-L9}-T1}-\-d$}-l8tz%z& -*)8 111  ) 8  11r1DAT* 8=8)8j8(0-=8tz%z&-=6V808z%8z%8z%=$|8z%8(z%85z%8(z%8z%=z%8@z% D$`$1h$DAT* p$)8)8 1b-/} 1-/}8080:)@@81  -*)8 148080:)@@81r808-0:)@@81h 4@\hv #%&'(0):*>-B.L0^1b?|@ABFJLO P8RTVXXDAT* lZp[tabcdefghl>mfnswy{"Nj6Lbx|8H^r(48frvd) ads_bufferas_sicarraya al_rowarrayal_segstartal_segendai_curposal_grouphandleatvi_itematvi_groupitemll_rcll_indexll_maxindexll_handlell_grouphandlell_segsizell_subsegsizell_subsegstartll_subsegendli_curposls_siccodels_sicnamels_fDAT* indstringsqlca 8 : -8,-DPZds }  _d   /#)@=bDAT*  sic_namegetitemstring        insertitemlast Swue_insertgroupk iclass_groupitc39filter_name = '39sic_code' and is_nullcode5isNull(39filter_value)39'!39ids_filtercriteriaL 39L rowcountxfindc  Tree View Errortv_sic::ue_insertGroup(); error searching for item.SDAT* wtv_sic::ue_insertGroup(); error inserting item.tv_sic::ue_insertGroup(); group size can't be zero. , 4 < D L T \ d l           8 D ` h p       :F@@8$}j0#8808>0:)@@811<DAT* |$ )8<188080:)@@81$$1$$#!)$8,}1@8H0,))l8t$|$1x$$)81x88080:)@@81$$DAT* 1)8188080:)@@81)L81p8808T0:)@@81$)8188080:)@@81$ $)481h8<08H0:)@@8)x81$)8/DAT* 8080,))8$1)8<1p88080:)@@8118<08H0:)@@8)T81\$t$|$$$$$$$$$$DAT* )$8188080:)@@81),849}<9}D8L0VP8L0X1}`h$}p9}x9}9}9}$6V8L0 1})81DAT* 119  8)8  $610    6   = <1@8  <1@8    6     1   1) 8 1 8 08DAT* 0:)@@811  =8G)P8   8L0X =8`z% z&d =6V 8t0  8z%  8z%  8z% =$   8z%  8z%  8z%f   8z%  8z%   =z%  8zDAT* %$$ 1$$)8)81 /}X 1  /}X 8 08(0:)@@811*)h81 8 08p0:)@@818 080:)@@81l})8:V@1)DAT* 8)81!$0%>&J'x,34567 ;<\=n>?CDGHI(J8KfLlRxSTUVW[ab c0d^edipjklmopqDrVs\whxyz|}~,Z`l "@\x2D^lz  ,  J Z & DAT* J \ r    4 P f    F L X ~      ,2D!rd ai_modell_rcll_rowll_rowcountll_rowarrayll_arraysizell_segstartll_segendll_handleli_curposls_siccodels_sicnamels_sicarrayp ls_findstringlb_savegroupmodifiedlds_bufferltvi_itemltvi_groupitemsqlca8|DAT* 8)-DQ]gq{  -  :  )@=  ib_groupmodified8u_ds_base$:Errortv_sic::ue_load(); lds_buffer creation failediclass_groupl39of_getfiltersqltv_sic::ue_load(); error in calDAT* l to iclass_group.of_getFilterSQL()l39is_sicarray l39ib_nullsicof_reset@g8dataobject4d_ss_sic_from_buffersettransobject]l39 l39 retrievetv_sic::ue_load(); error retrieving lds_bufferl39insertrowtv_sic::ue_load(); error inserting row to lds_bufferue_processallselections `1tv_sic::ue_load(); error processing selections for tv_sicitv_source/#ue_processselDAT* ections^tv_sic::ue_load(); error processing selections for tv_sourcel39ids_sourcecriteriag  rowcount(InformationNo source or geographic data has been selected.gl39of_getdatalevel%l394d_ss_sic_at_selection_sub_source4d_ss_sic_at_selection]l39of_modobjectsqltv_sic::ue_load(); error modifying SQL for lds_buffergl39il_nationarraydl39il_statearrayl39il_DAT* countyarrayl39il_sourcearrayl39il_sourcesub1array l39il_sourcesub2array g    is_groupcode(6 (sic_codegetitemstringis_nullcode5ue_insertgroupkTree View Errortv_sic::ue_load(); error inserting group.sic_name  l39filter_name = 'l39' and 5DAT* isNull(l39filter_value)l39'l39ids_filtercriteria l39 (find8c  tv_sic::ue_load(); error searching for item.insertitemlastSVtv_sic::ue_load(); error inserting item.tv_sic::ue_load(); group size can't be zero.8setfocusfinditemKselectitemV 0|      $ , @ l t |    DAT*    L      4 x         T \ t |          $ , 4 < D P X ` h p x          P X d l         DAT*      h     X^#8808#0:)@@81Fd ancestorreturnvaluej ue_processselectionsUsageUse tv_sic::ue_processAllSelections() to get actual selcted SIC Codes.`#88$41:F@@8P$1)h81DAT* $$=)8<11(@(8$D$$1)811$$8 840)H8<11\$.@8d$l$8|6)8<1DAT* 19}1 4Nv $#D$x'(+,0.1r468dG ancestorreturnvaluell_indexll_rowll_rcls_siccodeltvi_itemx%,2 =  ue_processallselectionsib_selectionsprocessed 6iclass_group@39of_resetfilter*Xil_handlecountp3il_handlearrayDAT* 2getitemLis_groupcode6@39ids_filtercriteria@ insertrow@39 @39filter_name@39sic_codesetitem=is_nullcodeP5@39 @39filter_value= 68 P h            , H \ d l t   ._#809}dDAT*  8 ue_selectionchangedib_groupmodifiedpro80 4#8) 8}1<`1(1}08$}*)H8}1<11@ ` | d3 handleancestorreturnvalueltvi_itemli_rcP# DAT* -P( itemexpandedgetitemL?   setitemY?@ ( 0 8 H 2#8) 8}1<`1(1}08$}*)H8}1<11@ ` | d3 handleancestorreturnvalueltvi_itemli_rcPDAT* # -P( itemcollapsedgetitemL?   setitemY?@ ( 0 8 H 2)4)^)_)`)k)l)24":2 +ue_insertgroup+ue_load+ue_processselections+ue_processallselections+ue_selectionchanged+itemexpanded+itemcollapsed!7PDAT* es2 < xywidthheighttaborderpicturename 0x%   0" 1] o%   E@ @@@@DAT* @@%` 1  1  3,k Qlx^'`_X4f2DAT* b* 0*8HP$X$ |,d `8 cb_scc_refresh!++tv_scc(",(,control@c@!+(",  0 8H P X "$($d 0 cb_scc_refresh!+tv_scc ", ( **2  +cDAT*" reate+destroy(typeccm usit2 i xywidthheightbackcolortexttabtextcolortabbackcolorpicturemaskcolorcb_scc_refreshtv_scc d #8 (5B S +b ,] od  @DAT*$ @"D 1   8 @    + ,$9)$8,$1)<8D$9)L8\9},+1,+d$ Ffzd ::DAT*& messagepe+@>l@ tv_scc",setredraw!",ue_loadl4",!enabledT $ , < D L \ d "+"2  +clicked2 ] xywidthheighttabordertextsizeweightfontpitchfontfamilyfacenameenabledtext2  i` "DAT*( +2<GPX@ ] o2i`  @ @ "R :F@@8Y1R1<R} DAT**  1} 1 1<Y  = 19 =610 1Y=1<R<=<@81<R<=<@8  R1Y2 =1<DAT*, @881<Y(@(8z'=) 81<- (9}- 01}- 8- @$}- H9}- P1}- X- `$}- h8pz%z&8(@(8z'- *)8111 DAT*.  ) 8  111=)880-=8pz%z&-=6V808z%8z%8z%=$8z%8(z%85z%T8(z%8z%=z%8@DAT*0 z% D$`$1h$p$)8)8 1-/}@ 1-/}@8080:)@@81 -*)8 18080:)@@81808-0:)@@81h4@\h!v"#$'(),./"0DAT*2 ,123679:H IJ"K.O2T@UtVYZ[\]8^<_R`ndefglp.rntyz{|8J`v ">T4@dtdS ads_bufferas_sccarraya al_rowarrayai_parseal_segstartal_segendai_curposal_grouphandleatvi_itematvi_groupitemll_rcll_indexll_maxindexll_handlell_grouphandlell_segsizeDAT*4 ll_subsegsizell_subsegstartll_subsegendli_curposli_curlenls_scccodels_sccnamels_namecolumnls_findstring 8P : -8,-PD-\hr|  DAT*6  ! , $7 E b scc_namegetitemstring        insertitemlastSsue_insertgroupk iclass_group39filter_name = 'v@39scc_code' and is_nullcode5isNull(39filter_value)39'le39ids_filtercriteriaLDAT*8  39L rowcountxfindc  Tree View Errortv_scc::ue_insertGroup(); error searching for item.Sstv_scc::ue_insertGroup(); error inserting item.tv_scc::ue_insertGroup(); group size can't be zero. ( 0 8 @ H P X ` h           8 D ` h p      . :F@DAT*: @8$}j0#8808>0:)@@811<|$)8<1 88080:)@@81$$1$$#!)$8,}1@8H0,))l8t$|$1DAT*< $$)8188080:)@@81$$1)8188080:)@@81)L818808T0:)@@81$)8188080:)@@81DAT*> $ $)4818<08H0:)@@8)x8180,))8$1)8<1N88080:)@@8118<08H0:)@@8)81$ $($@$DAT*@ H$`$h$$$$$$)8188080:)@@81)89}9}80V801} $}9}$9},9}49}<DAT*B T$6V\80 1})d81119z  8l)8  $6 1  1111|T  1111|1    6 Z  = <  <%<@8DAT*D   <  <%<@8V    6 Z z v z |18    1) 8 14 8080:)@@811t =8)8   80 =8z% z&DAT*F  =6V8$080z%8lz%8@z% =H$ 8Pz%8`z%8mz% 8`z%80z% =z%8xz%|$$1$$)8)81 /} 1 /} 8080DAT*H :)@@811*)81p808 0:)@@81808J0:)@@81Rx})8:V@1)8)81!0">#J$x(/012 37 8d9v:;?@CDE4FDGrHxNOPQRSW]^4_D`DAT*J raxefghikl2m`nroxstvwxy4z:{J|^}~v&B^~*DR`n|  T d n  & > R V Z d v z  $ 4 H t " 8 \ r ^ n         , Z `pt "d  ai_modell_rcDAT*L ll_rowll_rowcountll_rowarrayll_arraysizell_segstartll_segendll_handleli_parse@li_curposls_scccodels_sccnamels_sccarray ls_findstringlb_savegroupmodifiedlds_bufferltvi_itemltvi_groupitemsqlca8|8)-DQ]g|q1DAT*N   -  :  )@= ib_groupmodified8u_ds_base$:Errortv_scc::ue_load(); lds_buffer creation failediclass_groupl39of_getfiltersqltv_scc::ue_load(); error in call to iclass_group.of_getFilterSQL()l39is_sccarrayl39ib_nullsccSof_resetg8dataobject4DAT*P d_ss_scc_from_buffersettransobject]l39l39retrieveLtv_scc::ue_load(); error retrieving lds_bufferl39insertrowtv_scc::ue_load(); error inserting row to lds_bufferue_processallselections`1tv_scc::ue_load(); error processing selections for tv_sccitv_source/#ue_processselections^tv_scc::ue_load(); error processing selections for tv_sourcel39ids_sourcecriteria  rowcountDAT*R (InformationNo source or geographic data has been selected.g4d_ss_scc_at_selection]l39of_modobjectsqltv_scc::ue_load(); error modifying SQL for lds_buffergl39il_nationarrayl39il_statearray:0l39il_countyarrayPl39il_sourcearraypl39il_sourcesub1array l39il_sourcesub2array g    DAT*T is_groupcode8D6 (scc_codegetitemstringuis_nullcode5ue_insertgroupkTree View Errortv_scc::ue_load(); error inserting group.scc_name1u  l39filter_name = '$l39' and 5isNull(l39filter_value)l39'l39ids_filtercriteria l39 (findc  tv_scc::ue_load(); error searching for item.insertitemlastStv_sDAT*V cc::ue_load(); error inserting item.tv_scc::ue_load(); group size can't be zero.8setfocus finditem$KselectitemV$$$$ 0|      $ , @ l t |       L      4 x         ( DAT*X @ H ` h                 $ , 4 < T \ d        8 H X p |         x    2#8) 8}1<`1DAT*Z (1}08$}*)H8}1<11@ ` | d3 handleancestorreturnvalueltvi_itemli_rcP# -P( itemcollapsedgetitemL?   setitemY?@ ( 0 8 H 4#8DAT*\ ) 8}1<`1(1}08$}*)H8}1<11@ ` | d3 handleancestorreturnvalueltvi_itemli_rcP# -P( itemexpandedgetitemL?   setitemY?@ ( 0 8DAT*^  H ._#809}d 8 ue_selectionchangedib_groupmodified80 X^#8808#0:)@@81Fd ancestorreturnvaluej ue_processselectionsUsageUse tv_scc::ue_processAllSelections() to get actual selcted SCC Codes.`#88$41DAT*` :F@@8P$1)h81$$=)8<11(@(8$D$$1)811$$8 840)H8<11\$.@DAT*b 8d$l$8|6)8<119}1 4Nv $#D$x'(+,0.1r468dG ancestorreturnvaluell_indexll_rowll_rcls_scccodeltvi_itemx%,2 =  ue_processallselectionsib_selectionsprocessedDAT*d  6iclass_group@39of_resetfilter*Xil_handlecountp3il_handlearray2getitemLis_groupcode6@39ids_filtercriteria insertrow@39 @39filter_name@39scc_codesetitemobj=is_nullcodeP5@39 @39filter_value= 68 P h            , H \ d lDAT*f  t   2,4,^,_,`,k,l,24":2 +ue_insertgroup+ue_load+itemcollapsed+itemexpanded+ue_selectionchanged+ue_processselections+ue_processallselections!0>Si2 < xywidthheighttaborderpicturename 0x% DAT*h   0" 1] o%   E@ @@@@@@%l 1  1  3DAT*j \k Q(lfx2X4_^'`  *0*8H*Pd*l|**DAT*l *$$$$$$$ |,BXn d  cbx_notifyl!//cbx_autopro$"0$0cb_save@#1@1cb_deleteX$2X2cb_newt%3t3dw_groupy&55gb_1'88controlc@!/$"0@#1X$2t%3&5'8 0 8H PDAT*n d l|           h$($8$L$\$p$$*8FTd 8 cbx_notifyl!/cbx_autobx_"0cb_save0#1cb_delete@$2cb_newdT%3dw_groupd&5gb_1x'8 ( 8 L \ p  -DAT*p -2  +create+destroy(2 xywidthheightbackcolortexttabtextcolortabbackcolorpicturemaskcolorcbx_notifycbx_autocb_savecb_deletecb_newdw_groupgb_1@ d #D (5B S /^ 0g 1o 2DAT*r y 3 5 8] od  @@"P 1   D @    / 0 1 2 3 5 8 ,-6DAT*t 808080@8880,-680806@88"09}89}1 @ X jd ls_notifygs_inifile( -@@ RECALCULATENOTIFYFALSETRUEchecked''0 8 $N,-6808$08+DAT*v 0@8,-6808$0800@8,+1,+8$JN d gs_inifile::message(-@+@>@ checkedRECALCULATENOTIFYTRUEFALSE 8 "/#/"L#2  +constructor+clicked(2 k xywidthheighttextsizeweightfontcharsDAT*x etfontpitchfontfamilyfacenamebackcolortextlefttext p [P"@)5?JS]x b] op[P  @DAT*z x @@#L" $ ,) \ ,,) ,)81d,)1v,)1,+1,+$   ,NT`djvd sqlca::message()@=+@>  checkedDAT*|    ,),)81P11d8080:)@@811<89}@9}1 0@L`d li_autoll_rcsqlca<)@=H ErrorNo data found in rap_db_prefs.checked--DAT*~ 8 @ "0#0"L#2 ) +clickedf_sqlcheck+constructorP..2 k xywidthheighttextsizeweightfontcharsetfontpitchfontfamilyfacenamebackcolortextlefttext  [P")5?JDAT* S] b] o[P  @ @@"#LH $)<8<1D1P$)dDAT* 811|$)8<119}$)8$)8$8)81( D f 6d ll_rch iw_source_selector.of_processselectionsw$dw_groupD&5ue_validateXiclass_groupl39of_savegroup1!ib_grouDAT* pmodified8D&5ue_refreshlistD&5setfocus@D&5group_namesetcolumnchH < P d |         "1"2  +clickedtypero2 U xywidthheighttabordertextsizeweightfontpitchfontfamilyfacenametext2  i`("DAT* +2<GP ] o2i`( @ @ ".$0$18@JX8T1l$18t)8DAT* 8"80808z%8z&:)@:@@8<11$)8<1d1$)8$),8<114$)L8T$)h8p$8t)8> T Hdd' ll_grDAT* oupridll_rcls_groupname<  iclass_groupect39ids_groupdatase  39group_ridgetitemnumberJdw_group`&5group_namegetitemstringoup[no name]Confirm DeleteDelete group '' now?39of_deletegroup@"`&5ue_initiw_source_selector.of_processgroupy`&5ue_refreshlist <`&5setfocus en\`&5setcolumnx_Hx 0DAT*  8 X l       , 4 L T h p  "2"2  +clickedtype f2 U xywidthheighttabordertextsizeweightfontpitchfontfamilyfacenametext2  i`"+2<GDAT* P ] o2i` @ @ " $)08<1B18$)H8d$)|8<11$)8$)8$8DAT* )81& 6B^d ll_rc` dw_groupoup&5ue_checksaveprompte&5ue_init@iw_source_selectorP.of_processgroupyl&5ue_refreshlisto&5setfocusete&5group_namesetcolumn@H 0 8 H d |       "3"2  +clickedDAT* typeom2 U xywidthheighttabordertextsizeweightfontpitchfontfamilyfacenametext2 @ i` "+2<GP ] o2@i`  @ DAT* @ "  l$),8<1>)D8`9}( > Pd ll_rch iclass_group39of_reset$ ue_refreshlist4ib_groupmodifiedL8 , D `  $6)08<DAT* 18808Bz%8Wz&:)@@8)d818l6)818080:)@@81$)8<1N1)8 9}10@ | .N`vd as_groupnamell_rc( (@ iclass_DAT* group39of_loadgroup# New GroupCreating new group ''.ue_initZgroup_namesetitemPwErrordw_group::ue_reload(); group data retrieve failed.iw_source_selector.of_processgroupyue_refreshlistib_groupmodified 8 0 d       18J 8@18()<8,))T8)h8DAT*Her alignment="0" text="Type"border="0" color="0" x="2862" y="4" height="76" width="283" font.face="Arial" font.height="-12" font.weight="400" font.family="2" font.pitch="2" font.charset="0" background.mode="2" background.color="16777215" ) htmltable(border="1" cellpadding="0" cellspacing="0" generatecss="no" nowrap="yes") DAT* ( @ ` xd ll_riddwc_listsqlca< )@=p group_ridgetitemnumber group_namegetchildo3settransobjectDretrieve}\ < T h $)(8@$\$)p818x080:)@@81$18)88"N8DAT* 080:)@@8$)8 $8)481<$18DJ`8}808h0:)@@8$)8$8D)81$18J8}8080:)@@8$)8$8)811 DAT* N| BN"#4$>%l&'*d" ls_nameli_levelli_logic<  dw_group&5accepttexticlass_group039ids_sourcecriteriaH rowcountdValidataion FailedPlease select source criteria.&5group_namegetitemstringValidation FailedPlease enter Group Name.&5setfocus &5setcoDAT* lumnH(&5data_levelgetitemnumber OPlease enter Data Level.&5 &5H(&5filter_logic8 OPlease enter Filter Logic.a&5 &5H( ( @ \ p       4 < `           18)$88,"V8-0H$DAT* |8P08ez%8mz&8~z&:)@:@@8<14$)81 101x1X1x1x11(Vh  "0#D$T%h(x*|d ll_rcls_namecase25<  group_nameDAT* getitemstringtte(no name)ib_groupmodified78Group has changed...Group '' has changed. Do you want to save changes?cb_savel#1clicked"$ H   X,+$8@,9}1849nL88T0zj8T)h8<18p08v0:)@@818z%8z&1)8)98DAT* 118T)8$ $18T6)08)L8<18T)`816)t81f1f8p08|0:)@@810849n880z0$6e@e8)8$$$$1)48<1DAT* 01<9}1  4@l.!>"f%&()/0 24,5Z:f=@AF0HFd8 rowdwodatall_rcls_oldvaluedwc_listmessage 6  ' 0+@>D loseFocusib_groupmodified8name__get_attribute9group_namegetchildo_ErrDAT* ordw_group::itemChanged(); call to getChild() failed.group_name = ''rowcountfind getitemstringiclass_grouporC39ids_groupdata setitem(ue_checksaveprompt8setcolumnHTue_reloadhdw_group::itemChanged(); call to dwc_list.find() failed.9data_level39of_setdatalevel'tab_control-tabpage_source%!tv_source!$ue_loadk,8 , L h  DAT*      0 L ` t      $ 4 < x8(@(8z'8z&z&806:)@@81 : fd= sqldbcodesqlerrtextsqlsyntaxbufferrowls_messagex  '@.2 - Database Error: DAT*  Database Error\,+80)(8,+08801.Jd message+@>9 loseFocusaccepttext ( 0 \1J8080:)@@811>Jd currentrowI Errordw_group::rowFocusChanged(); currentRoDAT* w must always be 1.&5/525< 5555555&/2<2 +ue_init+ue_reload+ue_updated+ue_refreshlist+ue_validate+ue_checksaveprompt+itemchanged+dberror+losefocus+rowfocuschanged(8EYfoz 2 D xywidthheighttaborderdatDAT* aobjectlivescrollborderstyle2 @  " -8] o2@  @  @  65KDAT* VxbrD /T&2< 2  2 u xywidthheighttabordertextsizeweightfontcharsetfontpDAT* itchfontfamilyfacenametextcolorbackcolortext%  02"+2>HS\fp ] o%02  DAT*&@ @DAT*  B $($60$86@$,#)X8p$$)8<18080:)@@81$$$$$$($0$8$P$X$`$x$$$$$$DAT* $$$$$ $($)<8 1" D d 0d" ll_rcls_dataobjectsqlca< #@7D  dw_reportnt0"dataobjectg0"0"settransobjectp^Huo_ss_client`3&iclass_group$x,$0"of_modobjectsqlErrorError updating SQL for dw_report.0"`DAT* 3&x,$il_nationarray`3&x,$il_statearray`3&x,$il_countyarray@`3&x,$il_sourcearrayh`3&x,$il_sourcesub1array `3&x,$il_sourcesub2array  `3&x,$il_sourcesub3array `3&x,$il_sourcesub4arraye retrieveway20 ( 0 8 @ X p          ( 0 8DAT*  P X ` x             ( < "!"2  +clicked2 U xywidthheighttabordertexttextsizeweightfacenamefontfamilyfontpitch ` `F"'07d@DAT* K] o``F @d @ "J,#)8,!01>,! $d sqlca::message(#@7!@6( settransobject^  DAT* `806:)@@8,!F1T,!$,d7 requestsqltypesqlsyntaxbufferrow::messagex89 ":)-!@6 SQL Preview %"@"L%@2 ! +constructor+sqlpreview(2 Z xywidthheighttabordDAT* erdataobjectborderstylehscrollbarvscrollbarlivescroll  n"-9DO] on @ @  ( DAT* %LZH @2  2 Z xywidthheighttaborderdataobjectborderstylehscrollbarvscrollbarlivescrollI  I<"- 9 D O ] oII< DAT* @   @     <$0$)@8H$P$1)h88p06:)@@8801$$$>$$$=(@(8z'8z&1~806:DAT* )@@8801$$$2$$$=(@(8z'8z&1r806:)@@8801$$$<$&D$L$T$=(@(8z'8z&1f8\06:)@@DAT* 8801l$t$$$$$=(@(8z'8z&1Z806:)@@8801$$$$$$=(@(8z'8z&~1N806:)@@8DAT* 801|$$8$@$H$P$=(@(8z'8z&r1B8X06:)@@8801pl$t$$$$$=(@(8z'8z&f16806:)@@880DAT* Test Client window for Source Selector testingforward global type w_test_client from Window end type type dw_group from datawindow within w_test_client end type type st_3 from statictext within w_test_client end type type st_2 from statictext within w_test_client end type type st_1 from statictext within w_test_client end type type dw_result from datawindow within w_test_client end type type cb_report from commandbutton within w_test_client end type type dw_report from datawindow wiDAT* thin w_test_client end type type dw_filter from datawindow within w_test_client end type type cb_1 from commandbutton within w_test_client end type type uo_ss_client from u_class_ss_client within w_test_client end type type dw_source from datawindow within w_test_client end type end forward global type w_test_client from Window int X=0 int Y=0 int Width=3429 int Height=2312 boolean TitleBar=true string Title="Source Selector Test Client Window" long BackColor=79741120 boolean DAT* ControlMenu=true boolean MinBox=true boolean MaxBox=true boolean Resizable=true WindowState WindowState=maximized! dw_group dw_group st_3 st_3 st_2 st_2 st_1 st_1 dw_result dw_result cb_report cb_report dw_report dw_report dw_filter dw_filter cb_1 cb_1 uo_ss_client uo_ss_client dw_source dw_source end type global w_test_client w_test_client type variables end variables on w_test_client.create this.dw_group=create dw_group this.st_3=create st_3 this.st_2=create st_2 thDAT* is.st_1=create st_1 this.dw_result=create dw_result this.cb_report=create cb_report this.dw_report=create dw_report this.dw_filter=create dw_filter this.cb_1=create cb_1 this.uo_ss_client=create uo_ss_client this.dw_source=create dw_source this.Control[]={this.dw_group,& this.st_3,& this.st_2,& this.st_1,& this.dw_result,& this.cb_report,& this.dw_report,& this.dw_filter,& this.cb_1,& this.uo_ss_client,& this.dw_source} end on on w_test_client.destroy destroy(this.dw_group) DAT*  destroy(this.st_3) destroy(this.st_2) destroy(this.st_1) destroy(this.dw_result) destroy(this.cb_report) destroy(this.dw_report) destroy(this.dw_filter) destroy(this.cb_1) destroy(this.uo_ss_client) destroy(this.dw_source) end on event open;uo_ss_client.iclass_group.ids_groupData.shareData(dw_group) uo_ss_client.iclass_group.ids_filterCriteria.shareData(dw_filter) uo_ss_client.iclass_group.ids_sourceCriteria.shareData(dw_source) end event type dw_group from datawindow wDAT* ithin w_test_client int X=1243 int Y=32 int Width=1938 int Height=544 int TabOrder=11 boolean Enabled=false string DataObject="d_ss_group_data" BorderStyle BorderStyle=StyleLowered! boolean LiveScroll=true end type type st_3 from statictext within w_test_client int X=1719 int Y=608 int Width=475 int Height=96 boolean Enabled=false string Text="Result Set:" boolean FocusRectangle=false long BackColor=79741120 int TextSize=-10 int Weight=700 string FaceName="Arial" FontFamilDAT* y FontFamily=Swiss! FontPitch FontPitch=Variable! end type type st_2 from statictext within w_test_client int X=73 int Y=1376 int Width=475 int Height=96 boolean Enabled=false string Text="Filter Criteria:" boolean FocusRectangle=false long BackColor=79741120 int TextSize=-10 int Weight=700 string FaceName="Arial" FontFamily FontFamily=Swiss! FontPitch FontPitch=Variable! end type type st_1 from statictext within w_test_client int X=73 int Y=608 int Width=475 int Height=9DAT* 6 boolean Enabled=false string Text="Source Criteria:" boolean FocusRectangle=false long BackColor=79741120 int TextSize=-10 int Weight=700 string FaceName="Arial" FontFamily FontFamily=Swiss! FontPitch FontPitch=Variable! end type type dw_result from datawindow within w_test_client int X=1719 int Y=704 int Width=1627 int Height=640 int TabOrder=50 string DataObject="d_ss_group_result_set" BorderStyle BorderStyle=StyleLowered! boolean HScrollBar=true boolean VScrollBar=true DAT* boolean LiveScroll=true end type type cb_report from commandbutton within w_test_client int X=1189 int Y=1376 int Width=695 int Height=96 int TabOrder=70 string Text="Sample Report" int TextSize=-10 int Weight=700 string FaceName="Arial" FontFamily FontFamily=Swiss! FontPitch FontPitch=Variable! end type event clicked; long ll_rc string ls_dataObject //refresh the data object so no cascading sql updates happen //when the report is used multiple times without closing the wiDAT* ndow ls_dataObject = dw_report.dataObject dw_report.dataObject = ls_dataObject dw_report.setTransObject(SQLCA) ll_rc = uo_ss_client.iclass_group.of_modObjectSQL(dw_report) if ll_rc < 0 then messageBox("Error", "Error updating SQL for dw_report.", exclamation!) return -1 end if ll_rc = dw_report.retrieve( & uo_ss_client.iclass_group.il_nationArray, & uo_ss_client.iclass_group.il_stateArray, & uo_ss_client.iclass_group.il_countyArray, & uo_ss_client.iclass_group.il_souDAT* rceArray, & uo_ss_client.iclass_group.il_sourceSub1Array, & uo_ss_client.iclass_group.il_sourceSub2Array, & uo_ss_client.iclass_group.il_sourceSub3Array, & uo_ss_client.iclass_group.il_sourceSub4Array ) return 1 end event type dw_report from datawindow within w_test_client int X=1189 int Y=1472 int Width=2158 int Height=704 int TabOrder=30 string DataObject="d_ss_tv_result_set" BorderStyle BorderStyle=StyleLowered! boolean HScrollBar=true boolean VScrollBar=true boolDAT* ean LiveScroll=true end type event constructor;this.setTransObject(SQLCA) end event event sqlpreview; messageBox("SQL Preview", sqlsyntax, none!) end event type dw_filter from datawindow within w_test_client int X=73 int Y=1472 int Width=1097 int Height=704 int TabOrder=60 string DataObject="d_ss_group_filter_criteria" BorderStyle BorderStyle=StyleLowered! boolean HScrollBar=true boolean VScrollBar=true boolean LiveScroll=true end type type cb_1 from commandbutton withinDAT*  w_test_client int X=2651 int Y=608 int Width=695 int Height=96 int TabOrder=20 string Text="View SQL and Arrays" int TextSize=-10 int Weight=700 string FaceName="Arial" FontFamily FontFamily=Swiss! FontPitch FontPitch=Variable! end type event clicked; long i string s = "" string ls_sql uo_ss_client.iclass_group.of_sort() uo_ss_client.iclass_group.of_getSourceSQL(ls_sql, 0) //0 for result set messageBox("SQL Fragment", ls_sql, none!) s = "" for i = 1 to upperBound(uoDAT* _ss_client.iclass_group.il_nationArray) s = s + string(uo_ss_client.iclass_group.il_nationArray[i]) + "~r~n" next if len(s) > 0 then messagebox("Nation Array", s, none!) s = "" for i = 1 to upperBound(uo_ss_client.iclass_group.il_stateArray) s = s + string(uo_ss_client.iclass_group.il_stateArray[i]) + "~r~n" next if len(s) > 0 then messagebox("State Array", s, none!) s = "" for i = 1 to upperBound(uo_ss_client.iclass_group.il_countyArray) s = s + string(uo_ss_client.iclass_group.DAT* il_countyArray[i]) + "~r~n" next if len(s) > 0 then messagebox("County Array", s, none!) s = "" for i = 1 to upperBound(uo_ss_client.iclass_group.il_sourceArray) s = s + string(uo_ss_client.iclass_group.il_sourceArray[i]) + "~r~n" next if len(s) > 0 then messagebox("Source Array", s, none!) s = "" for i = 1 to upperBound(uo_ss_client.iclass_group.il_sourceSub1Array) s = s + string(uo_ss_client.iclass_group.il_sourceSub1Array[i]) + "~r~n" next if len(s) > 0 then messagebox("SourceDAT*  Sub 1 Array", s, none!) s = "" for i = 1 to upperBound(uo_ss_client.iclass_group.il_sourceSub2Array) s = s + string(uo_ss_client.iclass_group.il_sourceSub2Array[i]) + "~r~n" next if len(s) > 0 then messagebox("Source Sub 2 Array", s, none!) s = "" for i = 1 to upperBound(uo_ss_client.iclass_group.il_sourceSub3Array) s = s + string(uo_ss_client.iclass_group.il_sourceSub3Array[i]) + "~r~n" next if len(s) > 0 then messagebox("Source Sub 3 Array", s, none!) s = "" for i = 1 to uppDAT* erBound(uo_ss_client.iclass_group.il_sourceSub4Array) s = s + string(uo_ss_client.iclass_group.il_sourceSub4Array[i]) + "~r~n" next if len(s) > 0 then messagebox("Source Sub 4 Array", s, none!) s = "" for i = 1 to upperBound(uo_ss_client.iclass_group.is_sicArray) if isNull(string(uo_ss_client.iclass_group.is_sicArray[i])) then s = s + "*NULL*" + "~r~n" else s = s + string(uo_ss_client.iclass_group.is_sicArray[i]) + "~r~n" end if next if len(s) > 0 then messagebox("SIC ArrayDAT* ", s, none!) s = "" for i = 1 to upperBound(uo_ss_client.iclass_group.is_sccArray) if isNull(string(uo_ss_client.iclass_group.is_sccArray[i])) then s = s + "*NULL*" + "~r~n" else s = s + string(uo_ss_client.iclass_group.is_sccArray[i]) + "~r~n" end if next if len(s) > 0 then messagebox("SCC Array", s, none!) end event type uo_ss_client from u_class_ss_client within w_test_client int X=73 int Y=32 int Width=1097 int Height=416 int TabOrder=10 end type on uo_ss_cliDAT* ent.destroy call u_class_ss_client::destroy end on event ue_groupupdated;call super::ue_groupupdated; long ll_rc if this.iclass_group.ids_resultSet.dataObject <> dw_result.dataObject then dw_result.dataObject = this.iclass_group.ids_resultSet.dataObject dw_result.setTransObject(SQLCA) end if ll_rc = this.iclass_group.ids_resultSet.shareData(dw_result) return 1 end event type dw_source from datawindow within w_test_client int X=73 int Y=704 int Width=1627 int Height=64DAT*0 int TabOrder=40 string DataObject="d_ss_group_source_criteria" BorderStyle BorderStyle=StyleLowered! boolean HScrollBar=true boolean VScrollBar=true boolean LiveScroll=true end type DAT* 1d$$$$$$=(@(8z'8z&Z1*806:)@@8801X$$$8$J @$H$P$=6(@(88Xz%8z&F `$h$p$=6(@(8z'8DAT* z&N1 8x06:)@@8801 $$$ $$$=6(@(8N 8Xz%8z& $$$=6(@(8z'8z& 1 806:)@@8,! 1 ,!$ & ^ DAT* :>~.2r"&fx !"$Z%l&' (*N+`,-.0B1T234667H89:=*><?@ABDF EJ G H I J* KJ LN N O R d isls_sql::messageP  !@6H uo_ss_client 3&iclass_group ,$of_sort8 3& ,$of_getsourcesqlXSQL Fragment 3& ,$il_natDAT* ionarrayi 3& ,$ Nation Array 3& ,$il_statearray4 3& ,$State Array 3& ,$il_countyarray, 3& ,$,County Array 3& ,$il_sourcearray| 3& ,$|Source Array$ 3& ,$il_sourcesub1array  3& ,$ Source Sub 1 Array 3& ,$il_sourcesub2array$  3& ,$$ Source Sub 2 Array 3& ,$il_sourcesub3arrDAT* ay|  3& ,$| Source Sub 3 Array 3& ,$il_sourcesub4arrayt  3& ,$ Source Sub 4 Array 3& ,$is_sicarray,  3& ,$, *NULL* 3& ,$, SIC Array 3& ,$is_sccarray 3& ,$ 3& ,$SCC Array 0 @ H P h              DAT* $ < D L T l t             8 @ H P l t            $ 8 @ H P ` h p           "$"2  +clicked2 DAT* U xywidthheighttabordertexttextsizeweightfacenamefontfamilyfontpitch[  ` `"'07d@K] o[ `` @d @DAT*  "%8d  destroy1%8}($@$T$h$p$x$$$$6$,#)8$$$)8<1X d( ancestorreturnvaluell_rcsqlca<DAT* "#@7 ue_groupupdatediclass_group,$ids_resultset0 dataobjectHdw_result\.H\.H,$0 H\.settransobject^,$0 \.sharedata:( @ T h p x           &1&L"#2 " +destroy+ue_groupupdated(DAT* 2 " xywidthheighttaborderdI  I ] oI I  @@'1    @    ( ) * + , - DAT* . / 0 1 23fz12  2 Z xywidthheighttaborderdataobjectborderstylehscrollbarvscrollbarlivescrollI  [("-9DODAT*] oI[( @ @  DAT* ult error message end event event losefocus; //the message object is used to tell any other events //that are triggered by acceptText() that loseFocus was the originating event message.stringParm = "loseFocus" this.acceptText() message.stringParm = "" return 0 end event event rowfocuschanged; if currentrow <> 1 then messageBox("Error", "dw_group::rowFocusChanged(); currentRow must always be 1.", exclamation!) return -1 end if return 1 end event type gb_1 from groupboxDAT* within tabpage_group integer x = 37 integer y = 704 integer width = 1975 integer height = 304 integer taborder = 50 integer textsize = -8 integer weight = 700 fontcharset fontcharset = ansi! fontpitch fontpitch = variable! fontfamily fontfamily = swiss! string facename = "MS Sans Serif" long textcolor = 33554432 long backcolor = 67108864 string text = "RECALCULATE Group Options" end type DAT* @8P$1)h81$$=)8<11 @ 8$D$$1)811$$8 840)H8<11\$.@8DAT* d$l$8|6)8<119}1 4Nv $#D$x'(+,0.1r468dG ancestorreturnvaluell_indexll_rowll_rcls_scccodeltvi_itemx%,2 =  ue_processallselectionsib_selectionsprocessed 1iclass_grDAT* oup\@@/9of_resetfilter*Xil_handlecountp.il_handlearray-getitemKis_groupcode2@/9ids_filtercriteria insertrow@@/9 @/9filter_name@/9scc_codesetitem=is_nullcodeP1@/9 @/9filter_value1= 18 P h            , H \ d l t DAT*   1,3,\,],^,i,j,1392 +ue_insertgroup+ue_load+itemcollapsed+itemexpanded+ue_selectionchanged+ue_processselections+ue_processallselections!0>Si2 < xywidthheighttaborderpicturename 0x%  DAT*f  0" 1] %   E@qq @@@@@%l 1  1  3\i QDAT*" )8<18080:(@x@x81$$$$$$($0$8$P$X$`$x$$$$$$$$$$$ $($)<8 1" D d 0d" llDAT*$ _rcls_dataobjectsqlca<in=4  b#@6D  dw_reporty,"dataobjectw,","settransobject2WHuo_ss_client`/&iclass_groupx+#,"of_modobjectsqlErrorError updating SQL for dw_report.,"`/&x+#il_nationarray`/&x+#il_statearray`/&x+#il_countyarray@`/&x+#il_sourcearrayh`/&x+#il_sourcDAT*& esub1array `/&x+#il_sourcesub2array `/&x+#il_sourcesub3array `/&x+#il_sourcesub4array retrieve.0 ( 0 8 @ X p          ( 0 8 P X ` x             ( < !!!2  +clickedDAT*( 2 U xywidthheighttabordertexttextsizeweightfacenamefontfamilyfontpitch ` `F"'07d@qKq] ``F @qqd DAT** @ !J,#)8,!01>,! $d sqlca::message(#@6!@5( settransobjectW  `806:(@x@x8,!F1T,!$,d7 requestsqltypesqlsyntaxbufferrow::messagexDAT*, 78 "9)-!@5 SQL Preview $"?"L$?2 ! +constructor+sqlpreview(2 Z xywidthheighttaborderdataobjectborderstylehscrollbarvscrollbarlivescroll\@  n\@\@"DAT*. --a@9-D-b@O-] n @ --@ -- ( $LZH ?2  2 Z xywidthheighttaborderdataobjectborderstylehscrollbarvscrollbDAT*0 arlivescrollI  I<"-9DO] II< @ @   <$0$)@8H$DAT* P$1)h88p06:(@x@x8801$$$>$$$= @ 8z'8z&1~806:(@x@x8801$$$2$$$= @ 8z'8zDAT*cc_code ASC "no"yes$1$0$0DAT*/ellspacing="0" generatecss="no" nowrap="yes") DAT*Fr="1" cellpadding="0" cellspacing="0" generatecss="no" nowrap="yes")