HDR*PowerBuilder0600J#@RAPIDS Data Mart PopulationFRE*NOD*:8Rb > ENT*0600<G3Ad_dm_sources.dwoENT*0600O\#@d_dm_sources.srdENT*0600<g<d_dm_processes2.srdENT*0600uR3Ad_dm_sources_out.dwoENT*060073Ad_dm_processes2.dwoENT*0600.]<d_dm_sources_out.srdENT*0600:N<d_dm_processes_out.srdENT*0600d NAf_elapsedtime.funENT*0600Nk63Ad_dm_processes_out.dwoENT*0600-b?f_elapsedtime.srfENT*0600<h<d_dm_processes.srdENT*0600<@n_ds_dm_emissions.sruENT*060083Ad_dm_processes.dwoENT*0600hNAn_ds_dm_emissions.udoENT*0600N<d_dm_population_date.srdENT*0600F-b?n_ds_dm_emissions_orginal.sruENT*06003Ad_dm_population_date.dwoENT*0600pNAn_ds_dm_emissions_orginal.udoENT*0600\DD7ZAd_dm_loccords.srdENT*0600oJ#@n_ds_dm_transfer.sruENT*0600$A3Ad_dm_loccords.dwoENT*0600tSOAn_ds_dm_transfer.udoENT*06006<d_dm_geo_with_sources.srdENT*06008 N3Ar_dm_county_scc.dwoENT*0600]3Ad_dm_geo_with_sources.dwoENT*0600 MX@r_dm_county_scc.srdENT*0600/<d_dm_geo_locations_out.srdENT*0600 N3Ar_dm_county_sic.dwoENT*0600e-3Ad_dm_geo_locations_out.dwoENT*0600 MX@r_dm_county_sic.srdENT*0600x<d_dm_geo_locations.srdENT*0600d N3Ar_dm_county_totals.dwoENT*0600Z3Ad_dm_geo_locations.dwoENT*0600 M Y@r_dm_county_totals.srdENT*0600?q@d_dm_emissions_state.srdENT*0600 K3Ar_dm_state_scc.dwoENT*0600>3Ad_dm_emissions_state.dwoENT*0600T I$Y@r_dm_state_scc.srdENT*0600p:-}@d_dm_emissions_out.srdENT*0600 K3Ar_dm_state_sic.dwoENT*0600l63Ad_dm_emissions_out.dwoENT*0600 ILY@r_dm_state_sic.srdENT*0600*>P#@d_dm_emissions_county.srdENT*0600: K3Ar_dm_state_totals.dwoENT*0600=3Ad_dm_emissions_county.dwoENT*0600 IfY@r_dm_state_totals.srdENT*0600ZJa~@d_dm_emissions.srdENT*0600 "@u_data_mart_export.sruENT*0600bsE3Ad_dm_emissions.dwoENT*06005OAu_data_mart_export.udoENT*0600,3d<d_dm_devices2.srdENT*06000 zꢣ@%u_data_mart_population_interface.sruENT*060023Ad_dm_devices2.dwoENT*0600A<d_dm_devices_out.srdENT*0600t @-u_data_mart_population_interface_origina.sruENT*0600vk;3Ad_dm_devices_out.dwoENT*0600DOA-u_data_mart_population_interface_origina.udoENT*0600 8ePA%u_data_mart_population_interface.udoENT*0600$ -8PA)u_data_mart_population_interface_old.udoENT*0600J?@)u_data_mart_population_interface_old.sruENT*0600<JY@d_dm_emissions_test.srdENT*0600&E3Ad_dm_emissions_test.dwoDAT*PDW0800:pdwPl````7( F$:nn``DAT*5 @D` DAT* rid_t< $0%  MS Sans SerifMS Sans Serif$ 2$-8$700$1$ 536870912$ DAT*9$8$452$<274%RidRid`)! "$&code_t$#@%293$%658%'(Agency Device CodeAgency Device Code`2 * +DAT*-/id_t$,960$.u535%01Agency Device IdAgency Device Id`;)3 468 source_rid_t$5I1504$7IN334%9: Source Rid Source Rid`D2<DAT* =?Acomment_text_t$>71847$@2194%BC Comments Comments`M;E FHJdismantle_date_t$Gv4050$Id457%KLDismantle DateDismantle Date`VDNDAT* OQS group_flag_t$P4517$RHI329%TU Group Flag Group Flag`_MW XZ\ group_type_t$Y&4855$[658%]^ Group Type Group Type`hV`DAT*  aceinstall_date_t$b5522$dM`352%fg Install Date Install Date`q_i jlnname_t$k5883$m81426%opAgency Device NameAgency Device NamDAT*"e`zhr suwoperator_code_t$tA7319$v667%xyOperator Device CodeOperator Device Code`q{ |~operator_id_t$};7995$~@576%DAT*$Operator Device IdOperator Device Id`z operator_name_t$U!8581$81426%Operator Device NameOperator Device Name`  sic_code_t$ '10016$DAT*&=279% SIC Code SIC Code@@P (rid$ 9$@64$<274&DAT*( [general] [general](code$@%293$658& [general] [general](id$DAT**960$u535(( source_rid$I1504$IN3342( comment_text$7DAT*,1847$2194<(dismantle_date$v4050$d457&[shortdate] [time][shortdate] [time]F(DAT*. group_flag$4517$HI329P( group_type$&4855$658 Z(DAT*0 install_date$5522$M`352 d(2name$5883$81426 n(DAT*2operator_code$A7319$667 x( operator_id$;7995$~@576 (2operator_nDAT*4ame$U!8581$81426( sic_code$ '10016$=279@DAT*64      DAT*8 ! $"# '%& 3*() -+, 0DAT*:./ 3312 lu:an_sourceRidArray lu an_sourceRidArrayridrap_devices.ridcoderap_devices.codeidrap_devices.id source_ridrap_devices.source_rid comment_textrap_devices.comment_textdismantle_daterapDAT*<_devices.dismantle_date group_flagrap_devices.group_flag group_typerap_devices.group_type install_daterap_devices.install_datenamerap_devices.nameoperator_coderap_devices.operator_code operator_idrap_devices.operator_idoperator_namerap_devices.operator_name sic_coderDAT*>ap_devices.sic_codePBSELECT( VERSION(400) TABLE(NAME="rap_devices" ) TABLE(NAME="rap_connections" ) COLUMN(NAME="rap_devices.rid") COLUMN(NAME="rap_devices.code") COLUMN(NAME="rap_devices.id") COLUMN(NAME="rap_devices.source_rid") COLUMN(NAME="rap_devices.comment_text") COLUMN(NAME="rap_devices.dismantle_date") COLUMN(NAME="rap_devices.group_flag") COLUMN(NAME="rap_devices.group_type") COLUMN(NAME="rap_devices.install_date") COLUMN(NAME="rap_devices.name") COLUMN(NAME="raDAT*@p_devices.operator_code") COLUMN(NAME="rap_devices.operator_id") COLUMN(NAME="rap_devices.operator_name") COLUMN(NAME="rap_devices.sic_code") JOIN (LEFT="rap_devices.rid" OP ="="RIGHT="rap_connections.to_device_rid" OUTER1 ="rap_devices.rid" )WHERE( EXP1 ="rap_devices.source_rid" OP ="in" EXP2 ="" LOGIC ="and" ) WHERE( EXP1 ="rap_connections.from_device_rid" OP ="is" EXP2 ="null" ) ) ARG(NAME = "an_sourceRidArray" TYPE = numberlist) 68DAT*A"7no"9yesDAT*Drelease 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 = 96 print.margin.bottom = 96 print.paper.source = 0 print.paper.size = 0 print.prompt=no print.buttons=no print.preview.buttons=no grid.lines=0 ) header(height=68 color="536870912" ) summary(height=0 color="536870912" ) footer(height=0 color="536870912" ) detail(height=80 color="536870912" ) table(column=(typDAT*Fe=decimal(0) updatewhereclause=yes name=rid dbname="rap_devices.rid" ) column=(type=char(15) updatewhereclause=yes name=code dbname="rap_devices.code" ) column=(type=char(15) updatewhereclause=yes name=id dbname="rap_devices.id" ) column=(type=decimal(0) updatewhereclause=yes name=source_rid dbname="rap_devices.source_rid" ) column=(type=char(255) updatewhereclause=yes name=comment_text dbname="rap_devices.comment_text" ) column=(type=datetime updatewhereclause=yes name=dismantle_date dbDAT*Hname="rap_devices.dismantle_date" ) column=(type=char(1) updatewhereclause=yes name=group_flag dbname="rap_devices.group_flag" ) column=(type=char(20) updatewhereclause=yes name=group_type dbname="rap_devices.group_type" ) column=(type=datetime updatewhereclause=yes name=install_date dbname="rap_devices.install_date" ) column=(type=char(50) updatewhereclause=yes name=name dbname="rap_devices.name" ) column=(type=char(15) updatewhereclause=yes name=operator_code dbname="rap_devices.operatDAT*Jor_code" ) column=(type=char(15) updatewhereclause=yes name=operator_id dbname="rap_devices.operator_id" ) column=(type=char(50) updatewhereclause=yes name=operator_name dbname="rap_devices.operator_name" ) column=(type=char(4) updatewhereclause=yes name=sic_code dbname="rap_devices.sic_code" ) retrieve="PBSELECT( VERSION(400) TABLE(NAME=~"rap_devices~" ) TABLE(NAME=~"rap_connections~" ) COLUMN(NAME=~"rap_devices.rid~") COLUMN(NAME=~"rap_devices.code~") COLUMN(NAME=~"rap_devices.id~") COLDAT*LUMN(NAME=~"rap_devices.source_rid~") COLUMN(NAME=~"rap_devices.comment_text~") COLUMN(NAME=~"rap_devices.dismantle_date~") COLUMN(NAME=~"rap_devices.group_flag~") COLUMN(NAME=~"rap_devices.group_type~") COLUMN(NAME=~"rap_devices.install_date~") COLUMN(NAME=~"rap_devices.name~") COLUMN(NAME=~"rap_devices.operator_code~") COLUMN(NAME=~"rap_devices.operator_id~") COLUMN(NAME=~"rap_devices.operator_name~") COLUMN(NAME=~"rap_devices.sic_code~") JOIN (LEFT=~"rap_devices.rid~" OP =~"=~"RIGHT=~"rap_DAT*Nconnections.to_device_rid~" OUTER1 =~"rap_devices.rid~" )WHERE( EXP1 =~"rap_devices.source_rid~" OP =~"in~" EXP2 =~":an_sourceRidArray~" LOGIC =~"and~" ) WHERE( EXP1 =~"rap_connections.from_device_rid~" OP =~"is~" EXP2 =~"null~" ) ) ARG(NAME = ~"an_sourceRidArray~" TYPE = numberlist) " arguments=(("an_sourceRidArray", numberlist)) ) text(band=header alignment="2" text="Rid"border="0" color="0" x="9" y="8" height="52" width="274" name=rid_t font.face="MS Sans Serif" font.heDAT*Pight="-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="Agency Device Code"border="0" color="0" x="293" y="8" height="52" width="658" name=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="Agency Device Id"border="0" color="0" x="960"DAT*R y="8" height="52" width="535" name=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="2" text="Source Rid"border="0" color="0" x="1504" y="8" height="52" width="334" name=source_rid_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(baDAT*Tnd=header alignment="2" text="Comments"border="0" color="0" x="1847" y="8" height="52" width="2194" name=comment_text_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="Dismantle Date"border="0" color="0" x="4050" y="8" height="52" width="457" name=dismantle_date_t font.face="MS Sans Serif" font.height="-8" font.weight="700" font.family="2" fontDAT*V.pitch="2" font.charset="0" background.mode="1" background.color="536870912" ) text(band=header alignment="2" text="Group Flag"border="0" color="0" x="4517" y="8" height="52" width="329" name=group_flag_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="Group Type"border="0" color="0" x="4855" y="8" height="52" width="658" name=group_type_t fontDAT*X.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="Install Date"border="0" color="0" x="5522" y="8" height="52" width="352" name=install_date_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="Agency DeviceDAT*Z Name"border="0" color="0" x="5883" y="8" height="52" width="1426" name=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="2" text="Operator Device Code"border="0" color="0" x="7319" y="8" height="52" width="667" name=operator_code_t font.face="MS Sans Serif" font.height="-8" font.weight="700" font.family="2" font.pitch="2" font.charset="0" backgrouDAT*\nd.mode="1" background.color="536870912" ) text(band=header alignment="2" text="Operator Device Id"border="0" color="0" x="7995" y="8" height="52" width="576" name=operator_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="2" text="Operator Device Name"border="0" color="0" x="8581" y="8" height="52" width="1426" name=operator_name_t font.face="MS SanDAT*^s 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 Code"border="0" color="0" x="10016" y="8" height="52" width="279" 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" ) column(band=detail id=1 alignment="1" tabsequence=10 border="0" color=DAT*`"0" x="9" y="8" height="64" width="274" format="[general]" name=rid 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" ) column(band=detail id=2 alignment="0" tabsequence=20 border="0" color="0" x="293" y="8" height="64" width="658" format="[general]" name=code edit.limit=15 edit.case=any edit.focuDAT*bsrectangle=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=30 border="0" color="0" x="960" y="8" height="64" width="535" format="[general]" name=id edit.limit=15 edit.case=any edit.focusrectangle=no edit.autoselect=yes edit.autohscroll=yes font.face="MS Sans Serif" font.height="-8" font.weiDAT*dght="700" font.family="2" font.pitch="2" font.charset="0" background.mode="1" background.color="536870912" ) column(band=detail id=4 alignment="1" tabsequence=40 border="0" color="0" x="1504" y="8" height="64" width="334" format="[general]" name=source_rid 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="53DAT*f6870912" ) column(band=detail id=5 alignment="0" tabsequence=50 border="0" color="0" x="1847" y="8" height="64" width="2194" format="[general]" name=comment_text edit.limit=255 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=60 border="0" color="0" x="4050"DAT*h y="8" height="64" width="457" format="[shortdate] [time]" name=dismantle_date 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" ) column(band=detail id=7 alignment="0" tabsequence=70 border="0" color="0" x="4517" y="8" height="64" width="329" format="[general]" name=group_flag edit.limit=1 edit.cDAT*jase=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=8 alignment="0" tabsequence=80 border="0" color="0" x="4855" y="8" height="64" width="658" format="[general]" name=group_type edit.limit=20 edit.case=any edit.focusrectangle=no edit.autoselect=yes edit.autohscroll=yes font.face="MS Sans Serif"DAT*l 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=9 alignment="0" tabsequence=90 border="0" color="0" x="5522" y="8" height="64" width="352" format="[shortdate] [time]" name=install_date 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" bacDAT*nkground.mode="1" background.color="536870912" ) column(band=detail id=10 alignment="0" tabsequence=100 border="0" color="0" x="5883" y="8" height="64" width="1426" format="[general]" name=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=1DAT*p10 border="0" color="0" x="7319" y="8" height="64" width="667" format="[general]" name=operator_code edit.limit=15 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=12 alignment="0" tabsequence=120 border="0" color="0" x="7995" y="8" height="64" width="576" format="[general]" name=operaDAT*rtor_id edit.limit=15 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=13 alignment="0" tabsequence=130 border="0" color="0" x="8581" y="8" height="64" width="1426" format="[general]" name=operator_name edit.limit=50 edit.case=any edit.focusrectangle=no edit.autoselect=yes edit.autohscroDAT*tll=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=14 alignment="0" tabsequence=140 border="0" color="0" x="10016" y="8" height="64" width="279" 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="DAT*2" font.charset="0" background.mode="1" background.color="536870912" ) htmltable(border="1" cellpadding="0" cellspacing="0" generatecss="no" nowrap="yes") DAT*xPDW0800pdwPlUT````4 F$&nn``DAT*z @P` DAT*| rid_t< $0%  ArialArial$ 2$-10$400$1$ 536870912$ 9$DAT*~8$@64$HI329%RidRid`)! "$&code_t$#L[347$%`439%'(CodeCode`2 * +-/id_tDAT*$,795$.`439%01IdId`;)3 468 source_rid_t$51243$7HI329%9: Source Rid Source Rid`D2< =?Acomment_text_t$DAT*>Z.1582$@ 3511%BC Comment Text Comment Text`M;E FHJdismantle_date_t$G\5102$I[603%KLDismantle DateDismantle Date`VDN OQSDAT* group_flag_t$PR5714$R@%293%TU Group Flag Group Flag`_MW XZ\ group_type_t$Y$6016$[~@576%]^ Group Type Group Type`hV` aceDAT*install_date_t$b6601$d[603%fg Install Date Install Date`q_i jlnname_t$k*.7214$m2w1399%opNameName`zhr suwDAT*operator_code_t$t^!8622$v`439%xyOperator CodeOperator Code`q{ |~operator_id_t$}n#9070$`439% Operator Id Operator Id`z DAT*operator_name_t$".%9518$2w1399%Operator NameOperator Name` location_coord_level_t$V *10926$x%549%Location Coord LevelLocation Coord Level`DAT* latitude_data_t$ ,11483$M`352%Latitude DataLatitude Data` longitude_data_t$ E.11845$W398%Longitude DataDAT*Longitude Data`  zone_no_t$x /12251$HI329%Zone NoZone No` northing_km_data_t$ .112590$g471%DAT*Northing Km DataNorthing Km Data` easting_km_data_t$+ 313070$c453%Easting Km DataEasting Km Data@@\MDAT* (rid$ 9$L76$HI329& [general] [general](code$L[347$`439DAT*& [general] [general](id$795$`439(( source_rid$1243DAT*$HI3292( comment_text$Z.1582$ 3511<(dismantle_date$\5102$DAT*[603&[shortdate] [time][shortdate] [time]F( group_flag$R5714$@%293P( DAT*group_type$$6016$~@576   Z(  install_date$ 6601$ [603 d(2name$DAT**.7214$2w1399 n(operator_code$^!8622$`439#  x(" operator_id$DAT*n#9070$!`439*$%' ()2operator_name$&".%9518$(2w13991#+,.(0location_coord_level$-DAT*V *10926$/x%5498*235(7latitude_data$4 ,11483$6M`352?19:<(>longitude_data$;DAT* E.11845$=W398F8@AC(Ezone_no$Bx /12251$DHI329M?GHJ(Lnorthing_km_data$I .1DAT*12590$Kg471FNOQ(Seasting_km_data$P+ 313070$Rc453@WVDAT*@ZXY ][\@`^_@cab @fdeDAT*@igh @ljk@omn@rpq @ust 3@xvw @{yz @~#|}DAT* 3@* @1 @8 @? @F @M @rap_dm_devicesridrap_dm_devices.ridDAT*coderap_dm_devices.codeidrap_dm_devices.id source_ridrap_dm_devices.source_rid comment_textrap_dm_devices.comment_textdismantle_daterap_dm_devices.dismantle_date group_flagrap_dm_devices.group_flag group_typerap_dm_devices.group_type install_daterap_dm_devices.install_dateDAT*namerap_dm_devices.nameoperator_coderap_dm_devices.operator_code operator_idrap_dm_devices.operator_idoperator_namerap_dm_devices.operator_name#location_coord_level$rap_dm_devices.location_coord_level*latitude_datarap_dm_devices.latitude_data1longitude_datarap_dm_devices.longitude_data8zonDAT*e_norap_dm_devices.zone_no?northing_km_data rap_dm_devices.northing_km_dataFeasting_km_datarap_dm_devices.easting_km_dataMOPBSELECT( VERSION(400) TABLE(NAME="rap_dm_devices" ) COLUMN(NAME="rap_dm_devices.rid") COLUMN(NAME="rap_dm_devices.code") COLUMN(NAME="rap_dm_devices.id") COLUMN(NAME="rap_dm_devices.source_rid") COLUMN(NAME="rap_dm_devices.comment_text") COLUMN(NAME="rap_dm_devices.dismantle_date") COLUMN(NAMDAT*E="rap_dm_devices.group_flag") COLUMN(NAME="rap_dm_devices.group_type") COLUMN(NAME="rap_dm_devices.install_date") COLUMN(NAME="rap_dm_devices.name") COLUMN(NAME="rap_dm_devices.operator_code") COLUMN(NAME="rap_dm_devices.operator_id") COLUMN(NAME="rap_dm_devices.operator_name") COLUMN(NAME="rap_dm_devices.location_coord_level") COLUMN(NAME="rap_dm_devices.latitude_data") COLUMN(NAME="rap_dm_devices.longitude_data") COLUMN(NAME="rap_dm_devices.zone_no") COLUMN(NAME="rap_dm_devices.northing_km_dataDAT*") COLUMN(NAME="rap_dm_devices.easting_km_data")) "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 = 96 print.margin.bottom = 96 print.paper.source = 0 print.paper.size = 0 print.prompt=no print.buttons=no print.preview.buttons=no grid.lines=0 ) header(height=80 color="536870912" ) summary(height=0 color="536870912" ) footer(height=0 color="536870912" ) detail(height=92 color="536870912" ) table(column=(typDAT*e=decimal(0) update=yes updatewhereclause=yes key=yes name=rid dbname="rap_dm_devices.rid" ) column=(type=char(15) update=yes updatewhereclause=yes name=code dbname="rap_dm_devices.code" ) column=(type=char(15) update=yes updatewhereclause=yes name=id dbname="rap_dm_devices.id" ) column=(type=decimal(0) update=yes updatewhereclause=yes name=source_rid dbname="rap_dm_devices.source_rid" ) column=(type=char(255) update=yes updatewhereclause=yes name=comment_text dbname="rap_dm_devices.commenDAT*t_text" ) column=(type=datetime update=yes updatewhereclause=yes name=dismantle_date dbname="rap_dm_devices.dismantle_date" ) column=(type=char(1) update=yes updatewhereclause=yes name=group_flag dbname="rap_dm_devices.group_flag" ) column=(type=char(20) update=yes updatewhereclause=yes name=group_type dbname="rap_dm_devices.group_type" ) column=(type=datetime update=yes updatewhereclause=yes name=install_date dbname="rap_dm_devices.install_date" ) column=(type=char(50) update=yes updateDAT*whereclause=yes name=name dbname="rap_dm_devices.name" ) column=(type=char(15) update=yes updatewhereclause=yes name=operator_code dbname="rap_dm_devices.operator_code" ) column=(type=char(15) update=yes updatewhereclause=yes name=operator_id dbname="rap_dm_devices.operator_id" ) column=(type=char(50) update=yes updatewhereclause=yes name=operator_name dbname="rap_dm_devices.operator_name" ) column=(type=char(8) update=yes updatewhereclause=yes name=location_coord_level dbname="rap_dm_deviDAT*ces.location_coord_level" ) column=(type=decimal(4) update=yes updatewhereclause=yes name=latitude_data dbname="rap_dm_devices.latitude_data" ) column=(type=decimal(4) update=yes updatewhereclause=yes name=longitude_data dbname="rap_dm_devices.longitude_data" ) column=(type=decimal(0) update=yes updatewhereclause=yes name=zone_no dbname="rap_dm_devices.zone_no" ) column=(type=decimal(2) update=yes updatewhereclause=yes name=northing_km_data dbname="rap_dm_devices.northing_km_data" ) coluDAT*mn=(type=decimal(2) update=yes updatewhereclause=yes name=easting_km_data dbname="rap_dm_devices.easting_km_data" ) retrieve="PBSELECT( VERSION(400) TABLE(NAME=~"rap_dm_devices~" ) COLUMN(NAME=~"rap_dm_devices.rid~") COLUMN(NAME=~"rap_dm_devices.code~") COLUMN(NAME=~"rap_dm_devices.id~") COLUMN(NAME=~"rap_dm_devices.source_rid~") COLUMN(NAME=~"rap_dm_devices.comment_text~") COLUMN(NAME=~"rap_dm_devices.dismantle_date~") COLUMN(NAME=~"rap_dm_devices.group_flag~") COLUMN(NAME=~"rap_dm_devices.grouDAT*p_type~") COLUMN(NAME=~"rap_dm_devices.install_date~") COLUMN(NAME=~"rap_dm_devices.name~") COLUMN(NAME=~"rap_dm_devices.operator_code~") COLUMN(NAME=~"rap_dm_devices.operator_id~") COLUMN(NAME=~"rap_dm_devices.operator_name~") COLUMN(NAME=~"rap_dm_devices.location_coord_level~") COLUMN(NAME=~"rap_dm_devices.latitude_data~") COLUMN(NAME=~"rap_dm_devices.longitude_data~") COLUMN(NAME=~"rap_dm_devices.zone_no~") COLUMN(NAME=~"rap_dm_devices.northing_km_data~") COLUMN(NAME=~"rap_dm_devices.easting_kmDAT*_data~")) " update="rap_dm_devices" updatewhere=0 updatekeyinplace=yes ) text(band=header alignment="2" text="Rid"border="0" color="0" x="9" y="8" height="64" width="329" name=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="Code"border="0" color="0" x="347" y="8" height="64" width="439" name=code_t font.face="Arial" font.height="-10" font.weightDAT*="400" font.family="2" font.pitch="2" font.charset="0" background.mode="1" background.color="536870912" ) text(band=header alignment="2" text="Id"border="0" color="0" x="795" y="8" height="64" width="439" name=id_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="Source Rid"border="0" color="0" x="1243" y="8" height="64" width="329" name=source_rid_t DAT*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="Comment Text"border="0" color="0" x="1582" y="8" height="64" width="3511" name=comment_text_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="Dismantle Date"border=DAT*"0" color="0" x="5102" y="8" height="64" width="603" name=dismantle_date_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="Group Flag"border="0" color="0" x="5714" y="8" height="64" width="293" name=group_flag_t font.face="Arial" font.height="-10" font.weight="400" font.family="2" font.pitch="2" font.charset="0" background.mode="1" background.color="5DAT*36870912" ) text(band=header alignment="2" text="Group Type"border="0" color="0" x="6016" y="8" height="64" width="576" name=group_type_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="Install Date"border="0" color="0" x="6601" y="8" height="64" width="603" name=install_date_t font.face="Arial" font.height="-10" font.weight="400" font.family="2" fonDAT*t.pitch="2" font.charset="0" background.mode="1" background.color="536870912" ) text(band=header alignment="2" text="Name"border="0" color="0" x="7214" y="8" height="64" width="1399" name=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="Operator Code"border="0" color="0" x="8622" y="8" height="64" width="439" name=operator_code_t font.face="AriaDAT*l" 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="Operator Id"border="0" color="0" x="9070" y="8" height="64" width="439" name=operator_id_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="Operator Name"border="0" color="0" x="95DAT*18" y="8" height="64" width="1399" name=operator_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="Location Coord Level"border="0" color="0" x="10926" y="8" height="64" width="549" name=location_coord_level_t font.face="Arial" font.height="-10" font.weight="400" font.family="2" font.pitch="2" font.charset="0" background.mode="1" background.color=DAT*"536870912" ) text(band=header alignment="2" text="Latitude Data"border="0" color="0" x="11483" y="8" height="64" width="352" name=latitude_data_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="Longitude Data"border="0" color="0" x="11845" y="8" height="64" width="398" name=longitude_data_t font.face="Arial" font.height="-10" font.weight="400" font.DAT*family="2" font.pitch="2" font.charset="0" background.mode="1" background.color="536870912" ) text(band=header alignment="2" text="Zone No"border="0" color="0" x="12251" y="8" height="64" width="329" name=zone_no_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="Northing Km Data"border="0" color="0" x="12590" y="8" height="64" width="471" name=northingDAT*_km_data_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="Easting Km Data"border="0" color="0" x="13070" y="8" height="64" width="453" name=easting_km_data_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" tabDAT*sequence=10 border="0" color="0" x="9" y="8" height="76" width="329" format="[general]" name=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=2 alignment="0" tabsequence=20 border="0" color="0" x="347" y="8" height="76" width="439" format="[general]" name=code edit.limit=15 eDAT*dit.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=3 alignment="0" tabsequence=30 border="0" color="0" x="795" y="8" height="76" width="439" format="[general]" name=id edit.limit=15 edit.case=any edit.focusrectangle=no 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=4 alignment="1" tabsequence=40 border="0" color="0" x="1243" y="8" height="76" width="329" 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="-10" font.weight="400" font.family="2" font.pitch="2" font.charset="0" background.mode="1" background.color="5DAT*36870912" ) column(band=detail id=5 alignment="0" tabsequence=50 border="0" color="0" x="1582" y="8" height="76" width="3511" format="[general]" name=comment_text edit.limit=255 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=60 border="0" color="0" x="5102" y="8"DAT* height="76" width="603" format="[shortdate] [time]" name=dismantle_date 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=7 alignment="0" tabsequence=70 border="0" color="0" x="5714" y="8" height="76" width="293" format="[general]" name=group_flag edit.limit=1 edit.case=any edit.DAT*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=8 alignment="0" tabsequence=80 border="0" color="0" x="6016" y="8" height="76" width="576" format="[general]" name=group_type edit.limit=20 edit.case=any edit.focusrectangle=no edit.autoselect=yes edit.autohscroll=yes font.face="Arial" font.height="-10" font.weigDAT*ht="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="6601" y="8" height="76" width="603" format="[shortdate] [time]" name=install_date 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=DAT*"536870912" ) column(band=detail id=10 alignment="0" tabsequence=100 border="0" color="0" x="7214" y="8" height="76" width="1399" format="[general]" name=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=11 alignment="0" tabsequence=110 border="0" color="0" x="8622" y="8" heDAT*ight="76" width="439" format="[general]" name=operator_code edit.limit=15 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=12 alignment="0" tabsequence=120 border="0" color="0" x="9070" y="8" height="76" width="439" format="[general]" name=operator_id edit.limit=15 edit.case=any edit.focusrecDAT*tangle=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=13 alignment="0" tabsequence=130 border="0" color="0" x="9518" y="8" height="76" width="1399" format="[general]" name=operator_name edit.limit=50 edit.case=any edit.focusrectangle=no edit.autoselect=yes edit.autohscroll=yes font.face="Arial" font.height="-10" font.weightDAT*="400" font.family="2" font.pitch="2" font.charset="0" background.mode="1" background.color="536870912" ) column(band=detail id=14 alignment="0" tabsequence=140 border="0" color="0" x="10926" y="8" height="76" width="549" format="[general]" name=location_coord_level edit.limit=8 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=DAT*"536870912" ) column(band=detail id=15 alignment="1" tabsequence=150 border="0" color="0" x="11483" y="8" height="76" width="352" format="[general]" name=latitude_data 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=16 alignment="1" tabsequence=160 border="0" color="0" x="11845"DAT* y="8" height="76" width="398" format="[general]" name=longitude_data 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=17 alignment="1" tabsequence=170 border="0" color="0" x="12251" y="8" height="76" width="329" format="[general]" name=zone_no edit.limit=0 edit.case=any edit.focDAT*usrectangle=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=18 alignment="1" tabsequence=180 border="0" color="0" x="12590" y="8" height="76" width="471" format="[general]" name=northing_km_data edit.limit=0 edit.case=any edit.focusrectangle=no edit.autoselect=yes edit.autohscroll=yes font.face="Arial" font.height="-10" fontDAT*.weight="400" font.family="2" font.pitch="2" font.charset="0" background.mode="1" background.color="536870912" ) column(band=detail id=19 alignment="1" tabsequence=190 border="0" color="0" x="13070" y="8" height="76" width="453" format="[general]" name=easting_km_data 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.coloDAT*fr="536870912" ) htmltable(border="1" cellpadding="0" cellspacing="0" generatecss="no" nowrap="yes") DAT*PDW0800XpdwPl$#````, F$Xnn``DAT*S @D` DAT* rid_t< $0%  MS Sans SerifMS Sans Serif$ 2$-8$700$1$ 536870912$ DAT*9$8$452$<274%RidRid`)! "$&code_t$#@%293$%658%'(Agency Device CodeAgency Device Code`2 * +DAT*-/id_t$,960$.u535%01Agency Device IdAgency Device Id`;)3 468 source_rid_t$5I1504$7IN334%9: Source Rid Source Rid`D2<DAT* =?Acomment_text_t$>71847$@2194%BC Comments Comments`M;E FHJdismantle_date_t$Gv4050$Id457%KLDismantle DateDismantle Date`VDNDAT* OQS group_flag_t$P4517$RHI329%TU Group Flag Group Flag`_MW XZ\ group_type_t$Y&4855$[658%]^ Group Type Group Type`hV`DAT* aceinstall_date_t$b5522$dM`352%fg Install Date Install Date`q_i jlnname_t$k5883$m81426%opAgency Device NameAgency Device NamDAT* e`zhr suwoperator_code_t$tA7319$v667%xyOperator Device CodeOperator Device Code`q{ |~operator_id_t$};7995$~@576%DAT* Operator Device IdOperator Device Id`z operator_name_t$U!8581$81426%Operator Device NameOperator Device Name`  sic_code_t$ '10016$DAT*=279% SIC Code SIC Code` < %ArialArial$-12$400$ 16777215$@(10304$4DAT*$L76$1152% Rap Connections From Device Rid Rap Connections From Device Rid@@P (rid$ 9$DAT*@64$<274& [general] [general](code$@%293$658& [general] [general]DAT*(id$960$u535(( source_rid$I1504$IN334DAT*2( comment_text$71847$2194<(dismantle_date$v4050$d457&[shortdate] [time][shortdate] [time]DAT*F( group_flag$4517$HI329 P( group_type$&4855$658DAT* Z( install_date$5522$M`352 d(2name$5883$81426DAT* n(operator_code$A7319$667   x(  operator_id$;7995$ ~@576 DAT*(2operator_name$U!8581$81426 ( sic_code$ '10016$=279DAT*   " rap_connections_from_device_rid$@(10304$0$!1152@RDAT*"'%& *() -+,0./312 645DAT*$978 <:;?=> B@A ECD 3HFG KIJ N LMDAT*&3QOP rap_connections_from_device_rid rap_connections.from_device_ridridrap_devices.ridcoderap_devices.codeidrap_devices.id source_ridrap_devices.source_rid comment_textrap_devices.comment_textdismantle_daterap_devices.dismantle_dateDAT*( group_flagrap_devices.group_flag group_typerap_devices.group_type install_daterap_devices.install_datenamerap_devices.nameoperator_coderap_devices.operator_code operator_idrap_devices.operator_idoperator_namerap_devices.operator_name  sic_coderap_devices.sic_codeDAT**GPBSELECT( VERSION(400) TABLE(NAME="rap_devices" ) TABLE(NAME="rap_connections" ) COLUMN(NAME="rap_connections.from_device_rid") COLUMN(NAME="rap_devices.rid") COLUMN(NAME="rap_devices.code") COLUMN(NAME="rap_devices.id") COLUMN(NAME="rap_devices.source_rid") COLUMN(NAME="rap_devices.comment_text") COLUMN(NAME="rap_devices.dismantle_date") COLUMN(NAME="rap_devices.group_flag") COLUMN(NAME="rap_devices.group_type") COLUMN(NAME="rap_devices.install_date") COLUMN(NAME="rap_deviceDAT*s.name") COLUMN(NAME="rap_devices.operator_code") COLUMN(NAME="rap_devices.operator_id") COLUMN(NAME="rap_devices.operator_name") COLUMN(NAME="rap_devices.sic_code") JOIN (LEFT="rap_devices.rid" OP ="="RIGHT="rap_connections.to_device_rid" OUTER1 ="rap_devices.rid" )WHERE( EXP1 ="rap_connections.from_device_rid" OP ="is" EXP2 ="null" ) ) TV"Uno"WyesDAT*.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 = 96 print.margin.bottom = 96 print.paper.source = 0 print.paper.size = 0 print.prompt=no print.buttons=no print.preview.buttons=no grid.lines=0 ) header(height=68 color="536870912" ) summary(height=0 color="536870912" ) footer(height=0 color="536870912" ) detail(height=80 color="536870912" ) table(column=(typDAT*0e=decimal(0) updatewhereclause=yes name=rap_connections_from_device_rid dbname="rap_connections.from_device_rid" ) column=(type=decimal(0) updatewhereclause=yes name=rid dbname="rap_devices.rid" ) column=(type=char(15) updatewhereclause=yes name=code dbname="rap_devices.code" ) column=(type=char(15) updatewhereclause=yes name=id dbname="rap_devices.id" ) column=(type=decimal(0) updatewhereclause=yes name=source_rid dbname="rap_devices.source_rid" ) column=(type=char(255) updatewhereclausDAT*2e=yes name=comment_text dbname="rap_devices.comment_text" ) column=(type=datetime updatewhereclause=yes name=dismantle_date dbname="rap_devices.dismantle_date" ) column=(type=char(1) updatewhereclause=yes name=group_flag dbname="rap_devices.group_flag" ) column=(type=char(20) updatewhereclause=yes name=group_type dbname="rap_devices.group_type" ) column=(type=datetime updatewhereclause=yes name=install_date dbname="rap_devices.install_date" ) column=(type=char(50) updatewhereclause=yes nDAT*4ame=name dbname="rap_devices.name" ) column=(type=char(15) updatewhereclause=yes name=operator_code dbname="rap_devices.operator_code" ) column=(type=char(15) updatewhereclause=yes name=operator_id dbname="rap_devices.operator_id" ) column=(type=char(50) updatewhereclause=yes name=operator_name dbname="rap_devices.operator_name" ) column=(type=char(4) updatewhereclause=yes name=sic_code dbname="rap_devices.sic_code" ) retrieve="PBSELECT( VERSION(400) TABLE(NAME=~"rap_devices~" ) TABLE(NDAT*6AME=~"rap_connections~" ) COLUMN(NAME=~"rap_connections.from_device_rid~") COLUMN(NAME=~"rap_devices.rid~") COLUMN(NAME=~"rap_devices.code~") COLUMN(NAME=~"rap_devices.id~") COLUMN(NAME=~"rap_devices.source_rid~") COLUMN(NAME=~"rap_devices.comment_text~") COLUMN(NAME=~"rap_devices.dismantle_date~") COLUMN(NAME=~"rap_devices.group_flag~") COLUMN(NAME=~"rap_devices.group_type~") COLUMN(NAME=~"rap_devices.install_date~") COLUMN(NAME=~"rap_devices.name~") COLUMN(NAME=~"rap_devices.operator_code~") COLDAT*8UMN(NAME=~"rap_devices.operator_id~") COLUMN(NAME=~"rap_devices.operator_name~") COLUMN(NAME=~"rap_devices.sic_code~") JOIN (LEFT=~"rap_devices.rid~" OP =~"=~"RIGHT=~"rap_connections.to_device_rid~" OUTER1 =~"rap_devices.rid~" )WHERE( EXP1 =~"rap_connections.from_device_rid~" OP =~"is~" EXP2 =~"null~" ) ) " ) text(band=header alignment="2" text="Rid"border="0" color="0" x="9" y="8" height="52" width="274" name=rid_t font.face="MS Sans Serif" font.height="-8" font.weight="700" DAT*:font.family="2" font.pitch="2" font.charset="0" background.mode="1" background.color="536870912" ) text(band=header alignment="2" text="Agency Device Code"border="0" color="0" x="293" y="8" height="52" width="658" name=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="Agency Device Id"border="0" color="0" x="960" y="8" height="52" width="535DAT*<" name=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="2" text="Source Rid"border="0" color="0" x="1504" y="8" height="52" width="334" name=source_rid_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=DAT*>"Comments"border="0" color="0" x="1847" y="8" height="52" width="2194" name=comment_text_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="Dismantle Date"border="0" color="0" x="4050" y="8" height="52" width="457" name=dismantle_date_t 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" ) text(band=header alignment="2" text="Group Flag"border="0" color="0" x="4517" y="8" height="52" width="329" name=group_flag_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="Group Type"border="0" color="0" x="4855" y="8" height="52" width="658" name=group_type_t font.face="MS Sans Serif" font.heDAT*Bight="-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="Install Date"border="0" color="0" x="5522" y="8" height="52" width="352" name=install_date_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="Agency Device Name"border="0" color="0" x=DAT*D"5883" y="8" height="52" width="1426" name=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="2" text="Operator Device Code"border="0" color="0" x="7319" y="8" height="52" width="667" name=operator_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=DAT*F"536870912" ) text(band=header alignment="2" text="Operator Device Id"border="0" color="0" x="7995" y="8" height="52" width="576" name=operator_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="2" text="Operator Device Name"border="0" color="0" x="8581" y="8" height="52" width="1426" name=operator_name_t font.face="MS Sans Serif" font.height="-8" fonDAT*Ht.weight="700" font.family="2" font.pitch="2" font.charset="0" background.mode="1" background.color="536870912" ) text(band=header alignment="2" text="SIC Code"border="0" color="0" x="10016" y="8" height="52" width="279" 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" ) column(band=detail id=2 alignment="1" tabsequence=10 border="0" color="0" x="9" y="8" height="64" wDAT*Jidth="274" format="[general]" name=rid 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" ) column(band=detail id=3 alignment="0" tabsequence=20 border="0" color="0" x="293" y="8" height="64" width="658" format="[general]" name=code edit.limit=15 edit.case=any edit.focusrectangle=no edit.autoselectDAT*L=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=30 border="0" color="0" x="960" y="8" height="64" width="535" format="[general]" name=id edit.limit=15 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" foDAT*Nnt.pitch="2" font.charset="0" background.mode="1" background.color="536870912" ) column(band=detail id=5 alignment="1" tabsequence=40 border="0" color="0" x="1504" y="8" height="64" width="334" format="[general]" name=source_rid 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" ) column(band=detaiDAT*Pl id=6 alignment="0" tabsequence=50 border="0" color="0" x="1847" y="8" height="64" width="2194" format="[general]" name=comment_text edit.limit=255 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=60 border="0" color="0" x="4050" y="8" height="64" width="457DAT*R" format="[shortdate] [time]" name=dismantle_date 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" ) column(band=detail id=8 alignment="0" tabsequence=70 border="0" color="0" x="4517" y="8" height="64" width="329" format="[general]" name=group_flag edit.limit=1 edit.case=any edit.focusrectangle=nDAT*To 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=9 alignment="0" tabsequence=80 border="0" color="0" x="4855" y="8" height="64" width="658" format="[general]" name=group_type edit.limit=20 edit.case=any edit.focusrectangle=no edit.autoselect=yes edit.autohscroll=yes font.face="MS Sans Serif" font.height="-8" font.weightDAT*V="700" font.family="2" font.pitch="2" font.charset="0" background.mode="1" background.color="536870912" ) column(band=detail id=10 alignment="0" tabsequence=90 border="0" color="0" x="5522" y="8" height="64" width="352" format="[shortdate] [time]" name=install_date 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.DAT*Xcolor="536870912" ) column(band=detail id=11 alignment="0" tabsequence=100 border="0" color="0" x="5883" y="8" height="64" width="1426" format="[general]" name=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=12 alignment="0" tabsequence=110 border="0" color="0" x="7DAT*Z319" y="8" height="64" width="667" format="[general]" name=operator_code edit.limit=15 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=13 alignment="0" tabsequence=120 border="0" color="0" x="7995" y="8" height="64" width="576" format="[general]" name=operator_id edit.limit=15 edit.caDAT*\se=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=14 alignment="0" tabsequence=130 border="0" color="0" x="8581" y="8" height="64" width="1426" format="[general]" name=operator_name edit.limit=50 edit.case=any edit.focusrectangle=no edit.autoselect=yes edit.autohscroll=yes font.face="MS Sans SDAT*^erif" 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=15 alignment="0" tabsequence=140 border="0" color="0" x="10016" y="8" height="64" width="279" 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" backgrouDAT*`nd.mode="1" background.color="536870912" ) column(band=detail id=1 alignment="0" tabsequence=0 border="0" color="0" x="10309" y="0" height="64" width="1152" name=rap_connections_from_device_rid 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="Rap Connections From Device Rid"border="0" color="0" x="10304" y="4" height="76" width="1157" font.face="DAT*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*dPDW0800pdwPl````) F$&nn``DAT*f @D`"DAT*h  metric_code_t$1<  $ 0%  MS Sans SerifMS Sans Serif$2$-8$700$ 536870912$DAT*j 9$8$452$x%549% Metric Code Metric Code"!0`-# $&(+metric_level_type_t$%|7567$'w 544%)*Metric Level TypeMetric Level TypeDAT*l",0`8". /136 ref_rid_t$0`1120$2;270%45Ref RidRef Rid"70`C-9 :<>Astart_date_time_t$;2w1399$=hDAT*n475%?@Start Date TimeStart Date Time"B0`N8D EGILconfidential_flag_t$F[1883$HOi361%JK Confidential Confidential"M0`YCO PRTW DAT*pdata_code_t$Q2254$SE;315%UV Data Code Data Code"X0`dNZ []_bend_date_time_t$\4 2578$^x%549%`aEnd Date TimeEnd Date Time"c0`oYeDAT*r fhjmmaterial_code_t$g@ 3136$ix%549%klMaterial CodeMaterial Code"n0`zdp qsuxmethod_type_t$r(n3694$tU389%vw MetDAT*thod Type Method Type"y0`o{ |~reference_code_t$}4091$x%549%Reference CodeReference Code"0`z reference_type_t$)DAT*v4649$i480%Reference TypeReference Type"0`  value_amt_t$d5138$y)553% Value Amount Value Amount"0` DAT*x value_type_t$E5701$JR338% Value Type Value Type"0` value_unit_code_t$+6048$j485%Value Unit CodeValue Unit Code"DAT*z0` t_1< %ArialArial$-12$400$ 16777215$6542$4$L76$DAT*|1152%Rap Processes RidRap Processes Rid"0` t_2$7703$1152%Rap Devices RidRap Devices Rid"0` DAT*~t_3$"8864$1152%Rap Sources RidRap Sources Rid"0` t_4$)'10025$^430%Rap Processes Scc Ams CodeRap Processes Scc Ams Code"DAT*0` t_5$(10464$$165%Rap Sources Sic CodeRap Sources Sic Code"0@@PDAT* ( metric_code$ 9$@64$x%549& [general] [general]"0 (  metric_level_type$ |7DAT*567$ w 544"0(rollup_ref_rid$`1120$;270& [general] [general]"0'DAT*!((%$start_date_time$2w1399$ h475&"#[shortdate] [time][shortdate] [time]"&00()+2(.-confidential_flag$*[1883$,ODAT*i361"/09'124<(76 data_code$32254$5E;315"80B0:;=!F(@?end_date_time$<DAT*4 2578$>x%549"A0K9CDFP(IH material_code$E@ 3136$Gx%549"J0TBLMO Z(RDAT*Q method_type$N(n3694$PU389"S0]KUVX d([Z reference_code$W4091$Yx%549"\0fT^_DAT*a n(dcreference_type$`)4649$bi480"e0o]ghj x(ml rollup_amt$id5138$ky)553"n0xfpDAT*qs (vu value_type$rE5701$tJR338"w0oyz|(~ unit_code${+6048$}j485DAT*"0x  process_rid$6542$0$1152"0  device_rid$DAT*7703$1152"0  source_rid$"8864$1152"0 DAT* scc_ams_code$)'10025$^430"0  sic_code$(10464$$165"0@DAT* @@DAT* @ @'@0@9 @B @K @T @]DAT* @f  @o @x @    DAT* :an_sourceRidArray an_sourceRidArray metric_coderap_activities.metric_codemetric_level_type!rap_activities.metric_level_typerollup_ref_ridrap_activities.ref_ridstart_date_timerap_activities.start_date_timeconfidential_flag!rap_activities.confidential_flag' data_codeDAT*rap_activities.data_code0end_date_timerap_activities.end_date_time9material_coderap_activities.material_codeB method_typerap_activities.method_typeKreference_coderap_activities.reference_codeTreference_typerap_activities.reference_type] rollup_amtrap_activities.value_amtf value_typerap_activities.vaDAT*4lue_typeo unit_coderap_activities.value_unit_codex process_ridrap_processes.rid device_ridrap_devices.rid source_ridrap_sources.ridnull scc_ams_coderap_processes.scc_ams_code sic_coderap_sources.sic_codePBSELECT( VERSION(400) TABLE(NAME="rap_activities" ) TABLE(NAME="rap_streams" ) TABLE(NAME="rapDAT*release 8; datawindow(units=0 timer_interval=0 color=16777215 processing=1 HTMLDW=no print.documentname="" print.orientation = 0 print.margin.left = 110 print.margin.right = 110 print.margin.top = 96 print.margin.bottom = 96 print.paper.source = 0 print.paper.size = 0 print.prompt=no print.buttons=no print.preview.buttons=no grid.lines=0 ) header(height=68 color="536870912" ) summary(height=0 color="536870912" ) footer(height=0 color="536870912" ) detail(height=80 color="536870912" ) table(cDAT*olumn=(type=char(12) update=yes updatewhereclause=yes name=metric_code dbname="rap_activities.metric_code" ) column=(type=char(3) update=yes updatewhereclause=yes name=metric_level_type dbname="rap_activities.metric_level_type" ) column=(type=decimal(0) update=yes updatewhereclause=yes name=rollup_ref_rid dbname="rap_activities.ref_rid" ) column=(type=datetime update=yes updatewhereclause=yes name=start_date_time dbname="rap_activities.start_date_time" ) column=(type=char(1) update=yes updDAT*atewhereclause=yes name=confidential_flag dbname="rap_activities.confidential_flag" ) column=(type=char(4) update=yes updatewhereclause=yes name=data_code dbname="rap_activities.data_code" ) column=(type=datetime update=yes updatewhereclause=yes name=end_date_time dbname="rap_activities.end_date_time" ) column=(type=char(12) update=yes updatewhereclause=yes name=material_code dbname="rap_activities.material_code" ) column=(type=char(2) update=yes updatewhereclause=yes name=method_type dbnaDAT*me="rap_activities.method_type" ) column=(type=char(12) update=yes updatewhereclause=yes name=reference_code dbname="rap_activities.reference_code" ) column=(type=char(6) update=yes updatewhereclause=yes name=reference_type dbname="rap_activities.reference_type" ) column=(type=decimal(11) update=yes updatewhereclause=yes name=rollup_amt dbname="rap_activities.value_amt" ) column=(type=char(3) update=yes updatewhereclause=yes name=value_type dbname="rap_activities.value_type" ) column=(tyDAT*pe=char(8) update=yes updatewhereclause=yes name=unit_code dbname="rap_activities.value_unit_code" ) column=(type=decimal(0) updatewhereclause=yes name=process_rid dbname="rap_processes.rid" ) column=(type=decimal(0) updatewhereclause=yes name=device_rid dbname="rap_devices.rid" ) column=(type=decimal(0) updatewhereclause=yes name=source_rid dbname="rap_sources.rid" initial="null" ) column=(type=char(10) updatewhereclause=yes name=scc_ams_code dbname="rap_processes.scc_ams_code" ) columnDAT*=(type=char(4) updatewhereclause=yes name=sic_code dbname="rap_sources.sic_code" ) retrieve="PBSELECT( VERSION(400) TABLE(NAME=~"rap_activities~" ) TABLE(NAME=~"rap_streams~" ) TABLE(NAME=~"rap_processes~" ) TABLE(NAME=~"rap_devices~" ) TABLE(NAME=~"rap_sources~" ) COLUMN(NAME=~"rap_activities.metric_code~") COLUMN(NAME=~"rap_activities.metric_level_type~") COLUMN(NAME=~"rap_activities.ref_rid~") COLUMN(NAME=~"rap_activities.start_date_time~") COLUMN(NAME=~"rap_activities.confidential_flag~"DAT*) COLUMN(NAME=~"rap_activities.data_code~") COLUMN(NAME=~"rap_activities.end_date_time~") COLUMN(NAME=~"rap_activities.material_code~") COLUMN(NAME=~"rap_activities.method_type~") COLUMN(NAME=~"rap_activities.reference_code~") COLUMN(NAME=~"rap_activities.reference_type~") COLUMN(NAME=~"rap_activities.value_amt~") COLUMN(NAME=~"rap_activities.value_type~") COLUMN(NAME=~"rap_activities.value_unit_code~") COLUMN(NAME=~"rap_processes.rid~") COLUMN(NAME=~"rap_devices.rid~") COLUMN(NAME=~"rap_sources.rDAT*id~") COLUMN(NAME=~"rap_processes.scc_ams_code~") COLUMN(NAME=~"rap_sources.sic_code~") JOIN (LEFT=~"rap_activities.ref_rid~" OP =~"=~"RIGHT=~"rap_streams.rid~" ) JOIN (LEFT=~"rap_processes.rid~" OP =~"=~"RIGHT=~"rap_streams.from_process_rid~" ) JOIN (LEFT=~"rap_devices.rid~" OP =~"=~"RIGHT=~"rap_processes.device_rid~" ) JOIN (LEFT=~"rap_devices.source_rid~" OP =~"=~"RIGHT=~"rap_sources.rid~" )WHERE( EXP1 =~"rap_sources.rid~" OP =~"in~" EXP2 =~":an_sourceRidArray~" DAT* LOGIC =~"and~" ) WHERE( EXP1 =~"rap_activities.metric_code~" OP =~"=~" EXP2 =~"'DOWNSTRMDIS'~" ) ) ARG(NAME = ~"an_sourceRidArray~" TYPE = numberlist) " arguments=(("an_sourceRidArray", numberlist)) ) text(band=header alignment="2" text="Metric Code" border="0" color="0" x="9" y="8" height="52" width="549" html.valueishtml="0" name=metric_code_t visible="1" 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" ) text(band=header alignment="2" text="Metric Level Type" border="0" color="0" x="567" y="8" height="52" width="544" html.valueishtml="0" name=metric_level_type_t visible="1" 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="Ref Rid" border="0" color="0" x="1120" y="8" height="52" width="270" html.valueishtml="0" namDAT*e=ref_rid_t visible="1" 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="Start Date Time" border="0" color="0" x="1399" y="8" height="52" width="475" html.valueishtml="0" name=start_date_time_t visible="1" font.face="MS Sans Serif" font.height="-8" font.weight="700" font.family="2" font.pitch="2" font.charset="0" background.mode="1" background.coDAT*lor="536870912" ) text(band=header alignment="2" text="Confidential" border="0" color="0" x="1883" y="8" height="52" width="361" html.valueishtml="0" name=confidential_flag_t visible="1" 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="Data Code" border="0" color="0" x="2254" y="8" height="52" width="315" html.valueishtml="0" name=data_code_t visDAT*ible="1" 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="End Date Time" border="0" color="0" x="2578" y="8" height="52" width="549" html.valueishtml="0" name=end_date_time_t visible="1" 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*text(band=header alignment="2" text="Material Code" border="0" color="0" x="3136" y="8" height="52" width="549" html.valueishtml="0" name=material_code_t visible="1" 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="Method Type" border="0" color="0" x="3694" y="8" height="52" width="389" html.valueishtml="0" name=method_type_t visible="1" font.facDAT*e="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="Reference Code" border="0" color="0" x="4091" y="8" height="52" width="549" html.valueishtml="0" name=reference_code_t visible="1" 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=headerDAT* alignment="2" text="Reference Type" border="0" color="0" x="4649" y="8" height="52" width="480" html.valueishtml="0" name=reference_type_t visible="1" 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="Value Amount" border="0" color="0" x="5138" y="8" height="52" width="553" html.valueishtml="0" name=value_amt_t visible="1" font.face="MS Sans SeriDAT*f" 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="Value Type" border="0" color="0" x="5701" y="8" height="52" width="338" html.valueishtml="0" name=value_type_t visible="1" 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="VaDAT*lue Unit Code" border="0" color="0" x="6048" y="8" height="52" width="485" html.valueishtml="0" name=value_unit_code_t visible="1" 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="Rap Processes Rid" border="0" color="0" x="6542" y="4" height="76" width="1152" html.valueishtml="0" name=t_1 visible="1" font.face="Arial" font.height="-12" font.weighDAT*t="400" font.family="2" font.pitch="2" font.charset="0" background.mode="2" background.color="16777215" ) text(band=header alignment="0" text="Rap Devices Rid" border="0" color="0" x="7703" y="4" height="76" width="1152" html.valueishtml="0" name=t_2 visible="1" 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="Rap Sources Rid" border="0" color="0" x="886DAT*4" y="4" height="76" width="1152" html.valueishtml="0" name=t_3 visible="1" 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="Rap Processes Scc Ams Code" border="0" color="0" x="10025" y="4" height="76" width="430" html.valueishtml="0" name=t_4 visible="1" font.face="Arial" font.height="-12" font.weight="400" font.family="2" font.pitch="2" font.charset="DAT*0" background.mode="2" background.color="16777215" ) text(band=header alignment="0" text="Rap Sources Sic Code" border="0" color="0" x="10464" y="4" height="76" width="165" html.valueishtml="0" name=t_5 visible="1" 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=10 border="0" color="0" x="9" y="8" height="64" width="549" format="[general]" hDAT*tml.valueishtml="0" name=metric_code visible="1" edit.limit=12 edit.case=any edit.focusrectangle=no edit.autoselect=yes edit.autohscroll=yes edit.imemode=0 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=20 border="0" color="0" x="567" y="8" height="64" width="544" format="[general]" html.valueishtml="0" name=metric_level_type visiblDAT*e="1" edit.limit=3 edit.case=any edit.focusrectangle=no edit.autoselect=yes edit.autohscroll=yes edit.imemode=0 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="1" tabsequence=30 border="0" color="0" x="1120" y="8" height="64" width="270" format="[general]" html.valueishtml="0" name=rollup_ref_rid visible="1" edit.limit=0 edit.case=any edit.focusrectDAT*angle=no edit.autoselect=yes edit.autohscroll=yes edit.imemode=0 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=40 border="0" color="0" x="1399" y="8" height="64" width="475" format="[shortdate] [time]" html.valueishtml="0" name=start_date_time visible="1" edit.limit=0 edit.case=any edit.focusrectangle=no edit.autoselect=yes edit.autDAT*ohscroll=yes edit.imemode=0 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=50 border="0" color="0" x="1883" y="8" height="64" width="361" format="[general]" html.valueishtml="0" name=confidential_flag visible="1" edit.limit=1 edit.case=any edit.focusrectangle=no edit.autoselect=yes edit.autohscroll=yes edit.imemode=0 font.face="MS SDAT*ans 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=60 border="0" color="0" x="2254" y="8" height="64" width="315" format="[general]" html.valueishtml="0" name=data_code visible="1" edit.limit=4 edit.case=any edit.focusrectangle=no edit.autoselect=yes edit.autohscroll=yes edit.imemode=0 font.face="MS Sans Serif" font.height="-8" font.weight="700" font.DAT*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="2578" y="8" height="64" width="549" format="[shortdate] [time]" html.valueishtml="0" name=end_date_time visible="1" edit.limit=0 edit.case=any edit.focusrectangle=no edit.autoselect=yes edit.autohscroll=yes edit.imemode=0 font.face="MS Sans Serif" font.height="-8" font.weight="700" font.family="2" font.pitch="2" font.charset=DAT*"0" background.mode="1" background.color="536870912" ) column(band=detail id=8 alignment="0" tabsequence=80 border="0" color="0" x="3136" y="8" height="64" width="549" format="[general]" html.valueishtml="0" name=material_code visible="1" edit.limit=12 edit.case=any edit.focusrectangle=no edit.autoselect=yes edit.autohscroll=yes edit.imemode=0 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="53687DAT*0912" ) column(band=detail id=9 alignment="0" tabsequence=90 border="0" color="0" x="3694" y="8" height="64" width="389" format="[general]" html.valueishtml="0" name=method_type visible="1" edit.limit=2 edit.case=any edit.focusrectangle=no edit.autoselect=yes edit.autohscroll=yes edit.imemode=0 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" taDAT*bsequence=100 border="0" color="0" x="4091" y="8" height="64" width="549" format="[general]" html.valueishtml="0" name=reference_code visible="1" edit.limit=12 edit.case=any edit.focusrectangle=no edit.autoselect=yes edit.autohscroll=yes edit.imemode=0 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=110 border="0" color="0" x="4649" DAT*y="8" height="64" width="480" format="[general]" html.valueishtml="0" name=reference_type visible="1" edit.limit=6 edit.case=any edit.focusrectangle=no edit.autoselect=yes edit.autohscroll=yes edit.imemode=0 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=12 alignment="1" tabsequence=120 border="0" color="0" x="5138" y="4" height="64" width="553" format="[generaDAT*l]" html.valueishtml="0" name=rollup_amt visible="1" edit.limit=0 edit.case=any edit.focusrectangle=no edit.autoselect=yes edit.autohscroll=yes edit.imemode=0 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=13 alignment="0" tabsequence=130 border="0" color="0" x="5701" y="8" height="64" width="338" format="[general]" html.valueishtml="0" name=value_type visibleDAT*="1" edit.limit=3 edit.case=any edit.focusrectangle=no edit.autoselect=yes edit.autohscroll=yes edit.imemode=0 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=14 alignment="0" tabsequence=140 border="0" color="0" x="6048" y="8" height="64" width="485" format="[general]" html.valueishtml="0" name=unit_code visible="1" edit.limit=8 edit.case=any edit.focusrectanglDAT*e=no edit.autoselect=yes edit.autohscroll=yes edit.imemode=0 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=15 alignment="0" tabsequence=32766 border="0" color="0" x="6542" y="0" height="64" width="1152" format="[general]" html.valueishtml="0" name=process_rid visible="1" edit.limit=0 edit.case=any edit.autoselect=yes edit.imemode=0 font.face="MS Sans Serif" fDAT*ont.height="-8" font.weight="700" font.family="2" font.pitch="2" font.charset="0" background.mode="1" background.color="536870912" ) column(band=detail id=16 alignment="0" tabsequence=32766 border="0" color="0" x="7703" y="4" height="64" width="1152" format="[general]" html.valueishtml="0" name=device_rid visible="1" edit.limit=0 edit.case=any edit.autoselect=yes edit.imemode=0 font.face="MS Sans Serif" font.height="-8" font.weight="700" font.family="2" font.pitch="2" font.charset="0" backgroDAT*0und.mode="1" background.color="536870912" ) column(band=detail id=17 alignment="0" tabsequence=32766 border="0" color="0" x="8864" y="0" height="64" width="1152" format="[general]" html.valueishtml="0" name=source_rid visible="1" edit.limit=0 edit.case=any edit.autoselect=yes edit.imemode=0 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=18 alignment="0" tabseqDAT*PDW0800pdwPl{z````$ F$"nn``DAT* @D`"DAT*  t_1$1<  $ 0%  ArialArial$2$-12$400$ 16777215$ 9$DAT*4$L76$6247% Rollup Level Rollup Level"!0`-# $&(+t_2$%: 265$'+W1367%)*Rollup Ref RidRollup Ref Rid",0`8".DAT* /136t_3$0gi1641$26247%45Summary CategorySummary Category"70`C-9 :<>At_4$;i1897$=D7311%?@Summary CatDAT*egory CodeSummary Category Code"B0`N8D EGILt_5$F2217$HRw375%JKMaterial CodeMaterial Code"M0`YCO PRTWt_6$Q9) 2601DAT*$S6247%UV Unit Code Unit Code"X0`dNZ []_bt_7$\q) 2857$^+W1367%`a Rollup Amt Rollup Amt"c0`oYe fhjmDAT*t_8$g4233$iRw375%klReference CodeReference Code"n0`zdp qsuxt_9$r 4617$t919%vwStart Date TimeStart Date Time"y0`o{DAT* |~t_10$}5545$919%End Date TimeEnd Date Time"0`z t_11$I6473$w119% Data Code Data CodeDAT*"0` t_12$6601$W87% Value Type Value Type"0` t_13$)6697$(183%DAT*Reference TypeReference Type"0` t_14$6889$ 755% Method Type Method Type"0` t_15$)DAT*6953$128%Confidential FlagConfidential Flag"0` t_16$7090$905%Rap Dm Sources Sic CodeRap Dm Sources Sic Code"0`DAT* t_17$E8005$+W1367%%Rap Dm Sources Geographic County Rid%Rap Dm Sources Geographic County Rid"0$ 536870912@@PqDAT*  rollup_level$ 9$0$6247& [general] [general]"0  rollup_ref_rid$DAT*: 265$+W1367& [general] [general]"0  summary_category$gi1641$6247"0 DAT*  summary_category_code$i1897$D7311"0   material_code$2217$Rw375" DAT* 0     unit_code$9) 2601$6247"0    rollup_amt$q) 2857$+DAT*W1367"0& ! $#reference_code$ 4233$"Rw375"%02' (*,  0/start_date_time$DAT*) 4617$+919&-.[shortdate] [time][shortdate] [time]"10;&3 46,  98end_date_time$55545$7919":0D2<DAT* =?  BA data_code$>I6473$@w119"C0M;E FH  KJ value_type$G6601$IW87"LDAT*0VDN OQ  TSreference_type$P)6697$R(183"U0_MW XZ ]\ method_type$Y6889$[DAT* 755"^0hV` ac feconfidential_flag$b)6953$d128"g0q_i jl on sic_code$kDAT*7090$m905"p0hr su xw county_rid$tE8005$v+W1367"y0@|DAT*   DAT*      & 2 ; DDAT* M V_hq }~:an_countyRid:as_summaryCategoryCode an_countyRidas_summaryCategoryCoDAT* de rollup_levelrap_dm_emissions.rollup_levelrollup_ref_rid rap_dm_emissions.rollup_ref_ridsummary_category"rap_dm_emissions.summary_categorysummary_category_code'rap_dm_emissions.summary_category_codematerial_coderap_dm_emissions.material_code unit_coderap_dm_emissions.unit_code  rollup_amtrap_dm_emissions.rollup_amtDAT*"reference_code rap_dm_emissions.reference_codestart_date_time!rap_dm_emissions.start_date_time&end_date_timerap_dm_emissions.end_date_time2 data_coderap_dm_emissions.data_code; value_typerap_dm_emissions.value_typeDreference_type rap_dm_emissions.reference_typeM method_typerap_dm_emissions.method_typeDAT*$Vconfidential_flag#rap_dm_emissions.confidential_flag_ sic_coderap_dm_sources.sic_codeh county_rid%rap_dm_sources.geographic_county_ridqPBSELECT( VERSION(400) TABLE(NAME="rap_dm_emissions" ) TABLE(NAME="rap_dm_sources" ) COLUMN(NAME="rap_dm_emissions.rollup_level") COLUMN(NAME="rap_dm_emissions.rollup_ref_rid") COLUMN(NAME="rap_dm_emissions.summary_category") COLUMN(NAME="rap_dm_emissions.summDAT*&ary_category_code") COLUMN(NAME="rap_dm_emissions.material_code") COLUMN(NAME="rap_dm_emissions.unit_code") COLUMN(NAME="rap_dm_emissions.rollup_amt") COLUMN(NAME="rap_dm_emissions.reference_code") COLUMN(NAME="rap_dm_emissions.start_date_time") COLUMN(NAME="rap_dm_emissions.end_date_time") COLUMN(NAME="rap_dm_emissions.data_code") COLUMN(NAME="rap_dm_emissions.value_type") COLUMN(NAME="rap_dm_emissions.reference_type") COLUMN(NAME="rap_dm_emissions.method_type") COLUMN(NAME="rap_dm_emissions.confDAT*(idential_flag") COLUMN(NAME="rap_dm_sources.sic_code") COLUMN(NAME="rap_dm_sources.geographic_county_rid") JOIN (LEFT="rap_dm_emissions.rollup_ref_rid" OP ="="RIGHT="rap_dm_sources.rid" )WHERE( EXP1 ="rap_dm_sources.geographic_county_rid" OP ="=" EXP2 ="" LOGIC ="and" ) WHERE( EXP1 ="rap_dm_emissions.summary_category" OP ="=" EXP2 ="" ) ) ARG(NAME = "an_countyRid" TYPE = number) ARG(NAME = "as_summaryCategoryCode" TYPE = string) \DAT*/"1"1"1"1"0"0"0DAT*,release 8; datawindow(units=0 timer_interval=0 color=16777215 processing=1 HTMLDW=no print.documentname="" print.orientation = 0 print.margin.left = 110 print.margin.right = 110 print.margin.top = 96 print.margin.bottom = 96 print.paper.source = 0 print.paper.size = 0 print.prompt=no print.buttons=no print.preview.buttons=no grid.lines=0 ) header(height=68 color="536870912" ) summary(height=0 color="536870912" ) footer(height=0 color="536870912" ) detail(height=80 color="536870912" ) table(cDAT*.olumn=(type=char(8) updatewhereclause=yes name=rollup_level dbname="rap_dm_emissions.rollup_level" ) column=(type=decimal(0) updatewhereclause=yes name=rollup_ref_rid dbname="rap_dm_emissions.rollup_ref_rid" ) column=(type=char(8) updatewhereclause=yes name=summary_category dbname="rap_dm_emissions.summary_category" ) column=(type=char(10) updatewhereclause=yes name=summary_category_code dbname="rap_dm_emissions.summary_category_code" ) column=(type=char(12) updatewhereclause=yes name=mateDAT*0rial_code dbname="rap_dm_emissions.material_code" ) column=(type=char(8) updatewhereclause=yes name=unit_code dbname="rap_dm_emissions.unit_code" ) column=(type=decimal(11) updatewhereclause=yes name=rollup_amt dbname="rap_dm_emissions.rollup_amt" ) column=(type=char(12) updatewhereclause=yes name=reference_code dbname="rap_dm_emissions.reference_code" ) column=(type=datetime updatewhereclause=yes name=start_date_time dbname="rap_dm_emissions.start_date_time" ) column=(type=datetime updaDAT*2tewhereclause=yes name=end_date_time dbname="rap_dm_emissions.end_date_time" ) column=(type=char(4) updatewhereclause=yes name=data_code dbname="rap_dm_emissions.data_code" ) column=(type=char(3) updatewhereclause=yes name=value_type dbname="rap_dm_emissions.value_type" ) column=(type=char(6) updatewhereclause=yes name=reference_type dbname="rap_dm_emissions.reference_type" ) column=(type=char(2) updatewhereclause=yes name=method_type dbname="rap_dm_emissions.method_type" ) column=(type=DAT*4char(1) updatewhereclause=yes name=confidential_flag dbname="rap_dm_emissions.confidential_flag" ) column=(type=char(4) updatewhereclause=yes name=sic_code dbname="rap_dm_sources.sic_code" ) column=(type=decimal(0) updatewhereclause=yes name=county_rid dbname="rap_dm_sources.geographic_county_rid" ) retrieve="PBSELECT( VERSION(400) TABLE(NAME=~"rap_dm_emissions~" ) TABLE(NAME=~"rap_dm_sources~" ) COLUMN(NAME=~"rap_dm_emissions.rollup_level~") COLUMN(NAME=~"rap_dm_emissions.rollup_ref_rid~")DAT*6 COLUMN(NAME=~"rap_dm_emissions.summary_category~") COLUMN(NAME=~"rap_dm_emissions.summary_category_code~") COLUMN(NAME=~"rap_dm_emissions.material_code~") COLUMN(NAME=~"rap_dm_emissions.unit_code~") COLUMN(NAME=~"rap_dm_emissions.rollup_amt~") COLUMN(NAME=~"rap_dm_emissions.reference_code~") COLUMN(NAME=~"rap_dm_emissions.start_date_time~") COLUMN(NAME=~"rap_dm_emissions.end_date_time~") COLUMN(NAME=~"rap_dm_emissions.data_code~") COLUMN(NAME=~"rap_dm_emissions.value_type~") COLUMN(NAME=~"rap_dm_DAT*8emissions.reference_type~") COLUMN(NAME=~"rap_dm_emissions.method_type~") COLUMN(NAME=~"rap_dm_emissions.confidential_flag~") COLUMN(NAME=~"rap_dm_sources.sic_code~") COLUMN(NAME=~"rap_dm_sources.geographic_county_rid~") JOIN (LEFT=~"rap_dm_emissions.rollup_ref_rid~" OP =~"=~"RIGHT=~"rap_dm_sources.rid~" )WHERE( EXP1 =~"rap_dm_sources.geographic_county_rid~" OP =~"=~" EXP2 =~":an_countyRid~" LOGIC =~"and~" ) WHERE( EXP1 =~"rap_dm_emissions.summary_category~" OP =~"=~" EXP2DAT*: =~":as_summaryCategoryCode~" ) ) ARG(NAME = ~"an_countyRid~" TYPE = number) ARG(NAME = ~"as_summaryCategoryCode~" TYPE = string) " arguments=(("an_countyRid", number),("as_summaryCategoryCode", string)) ) text(band=header alignment="0" text="Rollup Level" border="0" color="0" x="9" y="4" height="76" width="247" html.valueishtml="0" name=t_1 visible="1" font.face="Arial" font.height="-12" font.weight="400" font.family="2" font.pitch="2" font.charset="0" background.mode="2" background.color="1DAT*<6777215" ) text(band=header alignment="0" text="Rollup Ref Rid" border="0" color="0" x="265" y="4" height="76" width="1367" html.valueishtml="0" name=t_2 visible="1" 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="Summary Category" border="0" color="0" x="1641" y="4" height="76" width="247" html.valueishtml="0" name=t_3 visible="1" font.face="Arial" foDAT*>nt.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="Summary Category Code" border="0" color="0" x="1897" y="4" height="76" width="311" html.valueishtml="0" name=t_4 visible="1" 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="Material CodeDAT*@" border="0" color="0" x="2217" y="4" height="76" width="375" html.valueishtml="0" name=t_5 visible="1" 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="Unit Code" border="0" color="0" x="2601" y="4" height="76" width="247" html.valueishtml="0" name=t_6 visible="1" font.face="Arial" font.height="-12" font.weight="400" font.family="2" font.pitch="2" fontDAT*B.charset="0" background.mode="2" background.color="16777215" ) text(band=header alignment="0" text="Rollup Amt" border="0" color="0" x="2857" y="4" height="76" width="1367" html.valueishtml="0" name=t_7 visible="1" 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="Reference Code" border="0" color="0" x="4233" y="4" height="76" width="375" html.valueishtml=DAT*D"0" name=t_8 visible="1" 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="Start Date Time" border="0" color="0" x="4617" y="4" height="76" width="919" html.valueishtml="0" name=t_9 visible="1" 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(bandDAT*F=header alignment="0" text="End Date Time" border="0" color="0" x="5545" y="4" height="76" width="919" html.valueishtml="0" name=t_10 visible="1" 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="Data Code" border="0" color="0" x="6473" y="4" height="76" width="119" html.valueishtml="0" name=t_11 visible="1" font.face="Arial" font.height="-12" font.weightDAT*H="400" font.family="2" font.pitch="2" font.charset="0" background.mode="2" background.color="16777215" ) text(band=header alignment="0" text="Value Type" border="0" color="0" x="6601" y="4" height="76" width="87" html.valueishtml="0" name=t_12 visible="1" 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="Reference Type" border="0" color="0" x="6697" y="4"DAT*J height="76" width="183" html.valueishtml="0" name=t_13 visible="1" 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="Method Type" border="0" color="0" x="6889" y="4" height="76" width="55" html.valueishtml="0" name=t_14 visible="1" font.face="Arial" font.height="-12" font.weight="400" font.family="2" font.pitch="2" font.charset="0" background.mode="2" bDAT*Lackground.color="16777215" ) text(band=header alignment="0" text="Confidential Flag" border="0" color="0" x="6953" y="4" height="76" width="128" html.valueishtml="0" name=t_15 visible="1" 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="Rap Dm Sources Sic Code" border="0" color="0" x="7090" y="4" height="76" width="905" html.valueishtml="0" name=t_16 visDAT*Nible="1" 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="Rap Dm Sources Geographic County Rid" border="0" color="0" x="8005" y="4" height="76" width="1367" html.valueishtml="0" name=t_17 visible="1" font.face="Arial" font.height="-12" font.weight="400" font.family="2" font.pitch="2" font.charset="0" background.mode="2" background.color="16777215" ) colDAT*Pumn(band=detail id=1 alignment="0" tabsequence=32766 border="0" color="0" x="9" y="0" height="76" width="247" format="[general]" html.valueishtml="0" name=rollup_level visible="1" edit.limit=0 edit.case=any edit.autoselect=yes edit.imemode=0 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="265" y="0" height="76" wDAT*Ridth="1367" format="[general]" html.valueishtml="0" name=rollup_ref_rid visible="1" edit.limit=0 edit.case=any edit.autoselect=yes edit.imemode=0 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=3 alignment="0" tabsequence=32766 border="0" color="0" x="1641" y="0" height="76" width="247" format="[general]" html.valueishtml="0" name=summary_category visible="1" edit.limiDAT*Tt=0 edit.case=any edit.autoselect=yes edit.imemode=0 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=4 alignment="0" tabsequence=32766 border="0" color="0" x="1897" y="0" height="76" width="311" format="[general]" html.valueishtml="0" name=summary_category_code visible="1" edit.limit=0 edit.case=any edit.autoselect=yes edit.imemode=0 font.face="Arial" font.height="-12"DAT*V 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" tabsequence=32766 border="0" color="0" x="2217" y="0" height="76" width="375" format="[general]" html.valueishtml="0" name=material_code visible="1" edit.limit=0 edit.case=any edit.autoselect=yes edit.imemode=0 font.face="Arial" font.height="-12" font.weight="400" font.family="2" font.pitch="2" font.charset="0" background.mode="2" backgrounDAT*Xd.color="16777215" ) column(band=detail id=6 alignment="0" tabsequence=32766 border="0" color="0" x="2601" y="0" height="76" width="247" format="[general]" html.valueishtml="0" name=unit_code visible="1" edit.limit=0 edit.case=any edit.autoselect=yes edit.imemode=0 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=7 alignment="0" tabsequence=32766 border="0" color="0" x=DAT*Z"2857" y="0" height="76" width="1367" format="[general]" html.valueishtml="0" name=rollup_amt visible="1" edit.limit=0 edit.case=any edit.autoselect=yes edit.imemode=0 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=8 alignment="0" tabsequence=32766 border="0" color="0" x="4233" y="0" height="76" width="375" format="[general]" html.valueishtml="0" name=reference_code vDAT*\isible="1" edit.limit=0 edit.case=any edit.autoselect=yes edit.imemode=0 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=9 alignment="0" tabsequence=32766 border="0" color="0" x="4617" y="0" height="76" width="919" format="[shortdate] [time]" html.valueishtml="0" name=start_date_time visible="1" edit.limit=0 edit.case=any edit.autoselect=yes edit.imemode=0 font.face="ADAT*^rial" 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=10 alignment="0" tabsequence=32766 border="0" color="0" x="5545" y="0" height="76" width="919" format="[shortdate] [time]" html.valueishtml="0" name=end_date_time visible="1" edit.limit=0 edit.case=any edit.autoselect=yes edit.imemode=0 font.face="Arial" font.height="-12" font.weight="400" font.family="2" font.pitch="2" font.charset=DAT*`"0" background.mode="2" background.color="16777215" ) column(band=detail id=11 alignment="0" tabsequence=32766 border="0" color="0" x="6473" y="0" height="76" width="119" format="[general]" html.valueishtml="0" name=data_code visible="1" edit.limit=0 edit.case=any edit.autoselect=yes edit.imemode=0 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=12 alignment="0" tabseqDAT*buence=32766 border="0" color="0" x="6601" y="0" height="76" width="87" format="[general]" html.valueishtml="0" name=value_type visible="1" edit.limit=0 edit.case=any edit.autoselect=yes edit.imemode=0 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=13 alignment="0" tabsequence=32766 border="0" color="0" x="6697" y="0" height="76" width="183" format="[general]" html.valuDAT*deishtml="0" name=reference_type visible="1" edit.limit=0 edit.case=any edit.autoselect=yes edit.imemode=0 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=14 alignment="0" tabsequence=32766 border="0" color="0" x="6889" y="0" height="76" width="55" format="[general]" html.valueishtml="0" name=method_type visible="1" edit.limit=0 edit.case=any edit.autoselect=yes edit.imDAT*femode=0 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=15 alignment="0" tabsequence=32766 border="0" color="0" x="6953" y="0" height="76" width="128" format="[general]" html.valueishtml="0" name=confidential_flag visible="1" edit.limit=0 edit.case=any edit.autoselect=yes edit.imemode=0 font.face="Arial" font.height="-12" font.weight="400" font.family="2" font.pitch="DAT*h2" font.charset="0" background.mode="2" background.color="16777215" ) column(band=detail id=16 alignment="0" tabsequence=32766 border="0" color="0" x="7090" y="4" height="76" width="905" format="[general]" html.valueishtml="0" name=sic_code visible="1" edit.limit=0 edit.case=any edit.autoselect=yes edit.imemode=0 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=17 alignDAT*jment="0" tabsequence=32766 border="0" color="0" x="8005" y="4" height="76" width="1367" format="[general]" html.valueishtml="0" name=county_rid visible="1" edit.limit=0 edit.case=any edit.autoselect=yes edit.imemode=0 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" ) htmlgen(clientevents="1" clientvalidation="1" clientcomputedfields="1" clientformatting="0" clientscriptDAT*7able="0" generatejavascript="1" netscapelayers="0" ) DAT*nPDW0800pdwPlQP```` F$nn``DAT*p @P`"DAT*r  rollup_level_t$1<  $ 0%  ArialArial$2$-10$400$ 536870912$ 9DAT*t$8$@64$E;315% Rollup Level Rollup Level"!0`-# $&(+rollup_ref_rid_t$%IN334$'Rw375%)*Rollup Ref RidRollup Ref Rid",DAT*v0`8". /136summary_category_t$0718$2p512%45Summary CategorySummary Category"70`C-9 :<>Asummary_category_code_t$;1239$=DAT*x667%?@Summary Category CodeSummary Category Code"B0`N8D EGILmaterial_code_t$F{1915$HPn366%JKMaterial CodeMaterial Code"M0`YCO PRTDAT*zW unit_code_t$Q2290$S9261%UV Unit Code Unit Code"X0`dNZ []_b rollup_amt_t$\0 2560$^HI329%`a Rollup Amt Rollup Amt"c0`oYeDAT*| fhjmreference_code_t$gzR 2898$i\421%klReference CodeReference Code"n0`zdp qsuxstart_date_time_t$r 3328$t[603%vDAT*~wStart Date TimeStart Date Time"y0`o{ |~end_date_time_t$}^e3941$[603%End Date TimeEnd Date Time"0`z  data_code_t$DAT*4553$=279% Data Code Data Code"0`  value_type_t$#4841$A)297% Value Type Value Type"0` DAT*reference_type_t$f5147$Z411%Reference TypeReference Type"0` method_type_t$5568$KW343% Method Type Method TypeDAT*"0` confidential_flag_t$ 5920$`439%Confidential FlagConfidential Flag"0@@\GDAT* ( rollup_level$ 9$L76$E;315& [general] [general]"0(rollup_ref_rid$DAT*IN334$Rw375& [general] [general]"0(summary_category$718$p512"0DAT*(( summary_category_code$1239$667"02( material_code${1915$Pn366"DAT*0<( unit_code$2290$9261"0F( rollup_amt$0 2560$HIDAT*329"0 P(   reference_code$zR 2898$ \421" 0 Z(start_date_time$DAT* 3328$[603&[shortdate] [time][shortdate] [time]"0# d(! end_date_time$^e3941$[603""0,$DAT*%' n(*) data_code$&4553$(=279"+05#-.0 x(32 value_type$/#4841$1A)297"4DAT*0>,679 (<;reference_type$8f5147$:Z411"=0G5?@B(ED method_type$A5568$CKDAT*W343"F0>HIK(NMconfidential_flag$J 5920$L`439"O0@SRDAT*@VTU YWX \Z[ _]^ bDAT*`a ecd @hfg @kij nlm qop t#rs @w,uv @DAT*z5xy @}>{|@G~@RAP_DM_EMISSIONS rollup_levelrap_dm_emissions.rollup_levelrollup_ref_rid rap_dm_emissions.rollup_ref_ridsummary_category"rap_dm_emissions.summary_categorysummary_category_code'rap_dm_emissDAT*ions.summary_category_codematerial_coderap_dm_emissions.material_code unit_coderap_dm_emissions.unit_code rollup_amtrap_dm_emissions.rollup_amtreference_code rap_dm_emissions.reference_codestart_date_time!rap_dm_emissions.start_date_timeend_date_timerap_dm_emissions.end_date_time data_coderap_dm_DAT*"emissions.data_code# value_typerap_dm_emissions.value_type,reference_type rap_dm_emissions.reference_type5 method_typerap_dm_emissions.method_type>confidential_flag#rap_dm_emissions.confidential_flagGPBSELECT( VERSION(400) TABLE(NAME="rap_dm_emissions" ) COLUMN(NAME="rap_dm_emissions.rollup_level") COLUMN(NAME="rap_dm_emissions.rollup_ref_rid") COLUMN(NAME="rap_dmDAT*release 8; datawindow(units=0 timer_interval=0 color=16777215 processing=1 HTMLDW=no print.documentname="" print.orientation = 0 print.margin.left = 110 print.margin.right = 110 print.margin.top = 96 print.margin.bottom = 96 print.paper.source = 0 print.paper.size = 0 print.prompt=no print.buttons=no print.preview.buttons=no grid.lines=0 ) header(height=80 color="536870912" ) summary(height=0 color="536870912" ) footer(height=0 color="536870912" ) detail(height=92 color="536870912" ) table(cDAT*olumn=(type=char(8) update=yes updatewhereclause=yes key=yes name=rollup_level dbname="rap_dm_emissions.rollup_level" ) column=(type=decimal(0) update=yes updatewhereclause=yes key=yes name=rollup_ref_rid dbname="rap_dm_emissions.rollup_ref_rid" ) column=(type=char(8) update=yes updatewhereclause=yes key=yes name=summary_category dbname="rap_dm_emissions.summary_category" ) column=(type=char(10) update=yes updatewhereclause=yes key=yes name=summary_category_code dbname="rap_dm_emissions.summDAT*ary_category_code" ) column=(type=char(12) update=yes updatewhereclause=yes key=yes name=material_code dbname="rap_dm_emissions.material_code" ) column=(type=char(8) update=yes updatewhereclause=yes name=unit_code dbname="rap_dm_emissions.unit_code" ) column=(type=decimal(11) update=yes updatewhereclause=yes name=rollup_amt dbname="rap_dm_emissions.rollup_amt" ) column=(type=char(12) update=yes updatewhereclause=yes key=yes name=reference_code dbname="rap_dm_emissions.reference_code" ) cDAT*olumn=(type=datetime update=yes updatewhereclause=yes key=yes name=start_date_time dbname="rap_dm_emissions.start_date_time" ) column=(type=datetime update=yes updatewhereclause=yes key=yes name=end_date_time dbname="rap_dm_emissions.end_date_time" ) column=(type=char(4) update=yes updatewhereclause=yes name=data_code dbname="rap_dm_emissions.data_code" ) column=(type=char(3) update=yes updatewhereclause=yes name=value_type dbname="rap_dm_emissions.value_type" ) column=(type=char(6) updateDAT*=yes updatewhereclause=yes name=reference_type dbname="rap_dm_emissions.reference_type" ) column=(type=char(2) update=yes updatewhereclause=yes name=method_type dbname="rap_dm_emissions.method_type" ) column=(type=char(1) update=yes updatewhereclause=yes name=confidential_flag dbname="rap_dm_emissions.confidential_flag" ) retrieve="PBSELECT( VERSION(400) TABLE(NAME=~"rap_dm_emissions~" ) COLUMN(NAME=~"rap_dm_emissions.rollup_level~") COLUMN(NAME=~"rap_dm_emissions.rollup_ref_rid~") COLUMN(NADAT*ME=~"rap_dm_emissions.summary_category~") COLUMN(NAME=~"rap_dm_emissions.summary_category_code~") COLUMN(NAME=~"rap_dm_emissions.material_code~") COLUMN(NAME=~"rap_dm_emissions.unit_code~") COLUMN(NAME=~"rap_dm_emissions.rollup_amt~") COLUMN(NAME=~"rap_dm_emissions.reference_code~") COLUMN(NAME=~"rap_dm_emissions.start_date_time~") COLUMN(NAME=~"rap_dm_emissions.end_date_time~") COLUMN(NAME=~"rap_dm_emissions.data_code~") COLUMN(NAME=~"rap_dm_emissions.value_type~") COLUMN(NAME=~"rap_dm_emissions.DAT*reference_type~") COLUMN(NAME=~"rap_dm_emissions.method_type~") COLUMN(NAME=~"rap_dm_emissions.confidential_flag~")) " update="RAP_DM_EMISSIONS" updatewhere=0 updatekeyinplace=yes ) text(band=header alignment="2" text="Rollup Level" border="0" color="0" x="9" y="8" height="64" width="315" html.valueishtml="0" name=rollup_level_t visible="1" font.face="Arial" font.height="-10" font.weight="400" font.family="2" font.pitch="2" font.charset="0" background.mode="1" background.color="536870912" ) tDAT*ext(band=header alignment="2" text="Rollup Ref Rid" border="0" color="0" x="334" y="8" height="64" width="375" html.valueishtml="0" name=rollup_ref_rid_t visible="1" 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="Summary Category" border="0" color="0" x="718" y="8" height="64" width="512" html.valueishtml="0" name=summary_category_t visible="1" 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" ) text(band=header alignment="2" text="Summary Category Code" border="0" color="0" x="1239" y="8" height="64" width="667" html.valueishtml="0" name=summary_category_code_t visible="1" 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=headDAT*er alignment="2" text="Material Code" border="0" color="0" x="1915" y="8" height="64" width="366" html.valueishtml="0" name=material_code_t visible="1" 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="Unit Code" border="0" color="0" x="2290" y="8" height="64" width="261" html.valueishtml="0" name=unit_code_t visible="1" font.face="Arial" font.height="-1DAT*0" font.weight="400" font.family="2" font.pitch="2" font.charset="0" background.mode="1" background.color="536870912" ) text(band=header alignment="2" text="Rollup Amt" border="0" color="0" x="2560" y="8" height="64" width="329" html.valueishtml="0" name=rollup_amt_t visible="1" 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="Reference Code" border="0"DAT* color="0" x="2898" y="8" height="64" width="421" html.valueishtml="0" name=reference_code_t visible="1" 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="Start Date Time" border="0" color="0" x="3328" y="8" height="64" width="603" html.valueishtml="0" name=start_date_time_t visible="1" font.face="Arial" font.height="-10" font.weight="400" font.family="DAT*2" font.pitch="2" font.charset="0" background.mode="1" background.color="536870912" ) text(band=header alignment="2" text="End Date Time" border="0" color="0" x="3941" y="8" height="64" width="603" html.valueishtml="0" name=end_date_time_t visible="1" 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="Data Code" border="0" color="0" x="4553" y="8" height="DAT*64" width="279" html.valueishtml="0" name=data_code_t visible="1" 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="Value Type" border="0" color="0" x="4841" y="8" height="64" width="297" html.valueishtml="0" name=value_type_t visible="1" font.face="Arial" font.height="-10" font.weight="400" font.family="2" font.pitch="2" font.charset="0" background.modDAT*e="1" background.color="536870912" ) text(band=header alignment="2" text="Reference Type" border="0" color="0" x="5147" y="8" height="64" width="411" html.valueishtml="0" name=reference_type_t visible="1" 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="Method Type" border="0" color="0" x="5568" y="8" height="64" width="343" html.valueishtml="0" name=meDAT*thod_type_t visible="1" 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="Confidential Flag" border="0" color="0" x="5920" y="8" height="64" width="439" html.valueishtml="0" name=confidential_flag_t visible="1" font.face="Arial" font.height="-10" font.weight="400" font.family="2" font.pitch="2" font.charset="0" background.mode="1" background.color="53687DAT*0912" ) column(band=detail id=1 alignment="0" tabsequence=10 border="0" color="0" x="9" y="8" height="76" width="315" format="[general]" html.valueishtml="0" name=rollup_level visible="1" edit.limit=8 edit.case=any edit.focusrectangle=no edit.autoselect=yes edit.autohscroll=yes edit.imemode=0 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="1" tabsequence=DAT*20 border="0" color="0" x="334" y="8" height="76" width="375" format="[general]" html.valueishtml="0" name=rollup_ref_rid visible="1" edit.limit=0 edit.case=any edit.focusrectangle=no edit.autoselect=yes edit.autohscroll=yes edit.imemode=0 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=30 border="0" color="0" x="718" y="8" height="76" widthDAT*="512" format="[general]" html.valueishtml="0" name=summary_category visible="1" edit.limit=8 edit.case=any edit.focusrectangle=no edit.autoselect=yes edit.autohscroll=yes edit.imemode=0 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=40 border="0" color="0" x="1239" y="8" height="76" width="667" format="[general]" html.valueishtml="0" nameDAT*=summary_category_code visible="1" edit.limit=10 edit.case=any edit.focusrectangle=no edit.autoselect=yes edit.autohscroll=yes edit.imemode=0 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=50 border="0" color="0" x="1915" y="8" height="76" width="366" format="[general]" html.valueishtml="0" name=material_code visible="1" edit.limit=12 edit.DAT*case=any edit.focusrectangle=no edit.autoselect=yes edit.autohscroll=yes edit.imemode=0 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=60 border="0" color="0" x="2290" y="8" height="76" width="261" format="[general]" html.valueishtml="0" name=unit_code visible="1" edit.limit=8 edit.case=any edit.focusrectangle=no edit.autoselect=yes edit.auDAT*tohscroll=yes edit.imemode=0 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=7 alignment="1" tabsequence=70 border="0" color="0" x="2560" y="8" height="76" width="329" format="[general]" html.valueishtml="0" name=rollup_amt visible="1" edit.limit=0 edit.case=any edit.focusrectangle=no edit.autoselect=yes edit.autohscroll=yes edit.imemode=0 font.face="Arial" font.heighDAT*t="-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=80 border="0" color="0" x="2898" y="8" height="76" width="421" format="[general]" html.valueishtml="0" name=reference_code visible="1" edit.limit=12 edit.case=any edit.focusrectangle=no edit.autoselect=yes edit.autohscroll=yes edit.imemode=0 font.face="Arial" font.height="-10" font.weight="400" font.family="2" font.pitchDAT*="2" font.charset="0" background.mode="1" background.color="536870912" ) column(band=detail id=9 alignment="0" tabsequence=90 border="0" color="0" x="3328" y="8" height="76" width="603" format="[shortdate] [time]" html.valueishtml="0" name=start_date_time visible="1" edit.limit=0 edit.case=any edit.focusrectangle=no edit.autoselect=yes edit.autohscroll=yes edit.imemode=0 font.face="Arial" font.height="-10" font.weight="400" font.family="2" font.pitch="2" font.charset="0" background.mode="1" baDAT*ckground.color="536870912" ) column(band=detail id=10 alignment="0" tabsequence=100 border="0" color="0" x="3941" y="8" height="76" width="603" format="[shortdate] [time]" html.valueishtml="0" name=end_date_time visible="1" edit.limit=0 edit.case=any edit.focusrectangle=no edit.autoselect=yes edit.autohscroll=yes edit.imemode=0 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=deDAT*tail id=11 alignment="0" tabsequence=110 border="0" color="0" x="4553" y="8" height="76" width="279" format="[general]" html.valueishtml="0" name=data_code visible="1" edit.limit=4 edit.case=any edit.focusrectangle=no edit.autoselect=yes edit.autohscroll=yes edit.imemode=0 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=12 alignment="0" tabsequence=120 border="0" colorDAT*="0" x="4841" y="8" height="76" width="297" format="[general]" html.valueishtml="0" name=value_type visible="1" edit.limit=3 edit.case=any edit.focusrectangle=no edit.autoselect=yes edit.autohscroll=yes edit.imemode=0 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=13 alignment="0" tabsequence=130 border="0" color="0" x="5147" y="8" height="76" width="411" format="[genDAT*Teral]" html.valueishtml="0" name=reference_type visible="1" edit.limit=6 edit.case=any edit.focusrectangle=no edit.autoselect=yes edit.autohscroll=yes edit.imemode=0 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=14 alignment="0" tabsequence=140 border="0" color="0" x="5568" y="8" height="76" width="343" format="[general]" html.valueishtml="0" name=method_type visiblDAT*PDW0800pdwPl{z````! F$"nn``DAT* @D`"DAT*  t_1$1<  $ 0%  ArialArial$2$-12$400$ 16777215$ 9$DAT*4$L76$6247% Rollup Level Rollup Level"!0`-# $&(+t_2$%: 265$'+W1367%)*Rollup Ref RidRollup Ref Rid",0`8".DAT* /136t_3$0gi1641$26247%45Summary CategorySummary Category"70`C-9 :<>At_4$;i1897$=D7311%?@Summary CatDAT*egory CodeSummary Category Code"B0`N8D EGILt_5$F2217$HRw375%JKMaterial CodeMaterial Code"M0`YCO PRTWt_6$Q9) 2601DAT*$S6247%UV Unit Code Unit Code"X0`dNZ []_bt_7$\q) 2857$^+W1367%`a Rollup Amt Rollup Amt"c0`oYe fhjmDAT*t_8$g4233$iRw375%klReference CodeReference Code"n0`zdp qsuxt_9$r 4617$t919%vwStart Date TimeStart Date Time"y0`o{DAT* |~t_10$}5545$919%End Date TimeEnd Date Time"0`z t_11$I6473$w119% Data Code Data CodeDAT*"0` t_12$6601$W87% Value Type Value Type"0` t_13$)6697$(183%DAT*Reference TypeReference Type"0` t_14$6889$ 755% Method Type Method Type"0` t_15$)DAT*6953$23%Confidential FlagConfidential Flag"0` t_16$I6985$r114%Rap Dm Sources Sic CodeRap Dm Sources Sic Code"0`DAT* &rap_dm_sources_geographic_state_rid_t$7109$+W1367%$Rap Dm Sources Geographic State Rid$Rap Dm Sources Geographic State Rid"0$ 536870912@@PqDAT*  rollup_level$ 9$0$6247& [general] [general]"0  DAT*rollup_ref_rid$: 265$+W1367& [general] [general]"0  summary_category$gi1641$6247"0DAT*  summary_category_code$i1897$D7311"0   material_code$2217$Rw3DAT*75" 0     unit_code$9) 2601$6247"0    rollup_amt$q) DAT*2857$+W1367"0& ! $#reference_code$ 4233$"Rw375"%02' (*,  0/DAT*start_date_time$) 4617$+919&-.[shortdate] [time][shortdate] [time]"10;&3 46,  98end_date_time$55545$7919":0DAT*D2< =?  BA data_code$>I6473$@w119"C0M;E FH  KJ value_type$G6601$IW87DAT*"L0VDN OQ  TSreference_type$P)6697$R(183"U0_MW XZ ]\ method_type$YDAT*6889$[ 755"^0hV` ac feconfidential_flag$b)6953$d23"g0q_i jl onDAT* sic_code$kI6985$mr114"p0hr su xw state_rid$t7109$v+W1367"y0@|DAT*   DAT*       & 2 ; DAT* D M V_hq }~:an_countyRid:as_summaryCategoryCode an_countyDAT*Ridas_summaryCategoryCode rollup_levelrap_dm_emissions.rollup_levelrollup_ref_rid rap_dm_emissions.rollup_ref_ridsummary_category"rap_dm_emissions.summary_categorysummary_category_code'rap_dm_emissions.summary_category_codematerial_coderap_dm_emissions.material_code unit_coderap_dm_emissions.unit_code  rollup_amtDAT*rap_dm_emissions.rollup_amtreference_code rap_dm_emissions.reference_codestart_date_time!rap_dm_emissions.start_date_time&end_date_timerap_dm_emissions.end_date_time2 data_coderap_dm_emissions.data_code; value_typerap_dm_emissions.value_typeDreference_type rap_dm_emissions.reference_typeM method_typeraDAT*p_dm_emissions.method_typeVconfidential_flag#rap_dm_emissions.confidential_flag_ sic_coderap_dm_sources.sic_codeh state_rid$rap_dm_sources.geographic_state_ridqPBSELECT( VERSION(400) TABLE(NAME="rap_dm_emissions" ) TABLE(NAME="rap_dm_sources" ) COLUMN(NAME="rap_dm_emissions.rollup_level") COLUMN(NAME="rap_dm_emissions.rollup_ref_rid") COLUMN(NAME="rap_dm_emissions.summary_category") COLUMN(NDAT*AME="rap_dm_emissions.summary_category_code") COLUMN(NAME="rap_dm_emissions.material_code") COLUMN(NAME="rap_dm_emissions.unit_code") COLUMN(NAME="rap_dm_emissions.rollup_amt") COLUMN(NAME="rap_dm_emissions.reference_code") COLUMN(NAME="rap_dm_emissions.start_date_time") COLUMN(NAME="rap_dm_emissions.end_date_time") COLUMN(NAME="rap_dm_emissions.data_code") COLUMN(NAME="rap_dm_emissions.value_type") COLUMN(NAME="rap_dm_emissions.reference_type") COLUMN(NAME="rap_dm_emissions.method_type") COLUMN(NDAT*AME="rap_dm_emissions.confidential_flag") COLUMN(NAME="rap_dm_sources.sic_code") COLUMN(NAME="rap_dm_sources.geographic_state_rid") JOIN (LEFT="rap_dm_emissions.rollup_ref_rid" OP ="="RIGHT="rap_dm_sources.rid" )WHERE( EXP1 ="rap_dm_sources.geographic_state_rid" OP ="=" EXP2 ="" LOGIC ="and" ) WHERE( EXP1 ="rap_dm_emissions.summary_category" OP ="=" EXP2 ="" ) ) ARG(NAME = "an_countyRid" TYPE = number) ARG(NAME = "as_summaryCategoryCode" TYPE = string) DAT*G\"1"1"1"1"0"0"0DAT*release 8; datawindow(units=0 timer_interval=0 color=16777215 processing=1 HTMLDW=no print.documentname="" print.orientation = 0 print.margin.left = 110 print.margin.right = 110 print.margin.top = 96 print.margin.bottom = 96 print.paper.source = 0 print.paper.size = 0 print.prompt=no print.buttons=no print.preview.buttons=no grid.lines=0 ) header(height=68 color="536870912" ) summary(height=0 color="536870912" ) footer(height=0 color="536870912" ) detail(height=80 color="536870912" ) table(cDAT*olumn=(type=char(8) updatewhereclause=yes name=rollup_level dbname="rap_dm_emissions.rollup_level" ) column=(type=decimal(0) updatewhereclause=yes name=rollup_ref_rid dbname="rap_dm_emissions.rollup_ref_rid" ) column=(type=char(8) updatewhereclause=yes name=summary_category dbname="rap_dm_emissions.summary_category" ) column=(type=char(10) updatewhereclause=yes name=summary_category_code dbname="rap_dm_emissions.summary_category_code" ) column=(type=char(12) updatewhereclause=yes name=mateDAT*rial_code dbname="rap_dm_emissions.material_code" ) column=(type=char(8) updatewhereclause=yes name=unit_code dbname="rap_dm_emissions.unit_code" ) column=(type=decimal(11) updatewhereclause=yes name=rollup_amt dbname="rap_dm_emissions.rollup_amt" ) column=(type=char(12) updatewhereclause=yes name=reference_code dbname="rap_dm_emissions.reference_code" ) column=(type=datetime updatewhereclause=yes name=start_date_time dbname="rap_dm_emissions.start_date_time" ) column=(type=datetime updaDAT* tewhereclause=yes name=end_date_time dbname="rap_dm_emissions.end_date_time" ) column=(type=char(4) updatewhereclause=yes name=data_code dbname="rap_dm_emissions.data_code" ) column=(type=char(3) updatewhereclause=yes name=value_type dbname="rap_dm_emissions.value_type" ) column=(type=char(6) updatewhereclause=yes name=reference_type dbname="rap_dm_emissions.reference_type" ) column=(type=char(2) updatewhereclause=yes name=method_type dbname="rap_dm_emissions.method_type" ) column=(type=DAT*"char(1) updatewhereclause=yes name=confidential_flag dbname="rap_dm_emissions.confidential_flag" ) column=(type=char(4) updatewhereclause=yes name=sic_code dbname="rap_dm_sources.sic_code" ) column=(type=decimal(0) updatewhereclause=yes name=state_rid dbname="rap_dm_sources.geographic_state_rid" ) retrieve="PBSELECT( VERSION(400) TABLE(NAME=~"rap_dm_emissions~" ) TABLE(NAME=~"rap_dm_sources~" ) COLUMN(NAME=~"rap_dm_emissions.rollup_level~") COLUMN(NAME=~"rap_dm_emissions.rollup_ref_rid~") CDAT*$OLUMN(NAME=~"rap_dm_emissions.summary_category~") COLUMN(NAME=~"rap_dm_emissions.summary_category_code~") COLUMN(NAME=~"rap_dm_emissions.material_code~") COLUMN(NAME=~"rap_dm_emissions.unit_code~") COLUMN(NAME=~"rap_dm_emissions.rollup_amt~") COLUMN(NAME=~"rap_dm_emissions.reference_code~") COLUMN(NAME=~"rap_dm_emissions.start_date_time~") COLUMN(NAME=~"rap_dm_emissions.end_date_time~") COLUMN(NAME=~"rap_dm_emissions.data_code~") COLUMN(NAME=~"rap_dm_emissions.value_type~") COLUMN(NAME=~"rap_dm_emDAT*&issions.reference_type~") COLUMN(NAME=~"rap_dm_emissions.method_type~") COLUMN(NAME=~"rap_dm_emissions.confidential_flag~") COLUMN(NAME=~"rap_dm_sources.sic_code~") COLUMN(NAME=~"rap_dm_sources.geographic_state_rid~") JOIN (LEFT=~"rap_dm_emissions.rollup_ref_rid~" OP =~"=~"RIGHT=~"rap_dm_sources.rid~" )WHERE( EXP1 =~"rap_dm_sources.geographic_state_rid~" OP =~"=~" EXP2 =~":an_countyRid~" LOGIC =~"and~" ) WHERE( EXP1 =~"rap_dm_emissions.summary_category~" OP =~"=~" EXP2 =~"DAT*(:as_summaryCategoryCode~" ) ) ARG(NAME = ~"an_countyRid~" TYPE = number) ARG(NAME = ~"as_summaryCategoryCode~" TYPE = string) " arguments=(("an_countyRid", number),("as_summaryCategoryCode", string)) ) text(band=header alignment="0" text="Rollup Level" border="0" color="0" x="9" y="4" height="76" width="247" html.valueishtml="0" name=t_1 visible="1" font.face="Arial" font.height="-12" font.weight="400" font.family="2" font.pitch="2" font.charset="0" background.mode="2" background.color="16777DAT**215" ) text(band=header alignment="0" text="Rollup Ref Rid" border="0" color="0" x="265" y="4" height="76" width="1367" html.valueishtml="0" name=t_2 visible="1" 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="Summary Category" border="0" color="0" x="1641" y="4" height="76" width="247" html.valueishtml="0" name=t_3 visible="1" font.face="Arial" font.hDAT*,eight="-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="Summary Category Code" border="0" color="0" x="1897" y="4" height="76" width="311" html.valueishtml="0" name=t_4 visible="1" 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="Material Code" boDAT*.rder="0" color="0" x="2217" y="4" height="76" width="375" html.valueishtml="0" name=t_5 visible="1" 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="Unit Code" border="0" color="0" x="2601" y="4" height="76" width="247" html.valueishtml="0" name=t_6 visible="1" font.face="Arial" font.height="-12" font.weight="400" font.family="2" font.pitch="2" font.chaDAT*0rset="0" background.mode="2" background.color="16777215" ) text(band=header alignment="0" text="Rollup Amt" border="0" color="0" x="2857" y="4" height="76" width="1367" html.valueishtml="0" name=t_7 visible="1" 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="Reference Code" border="0" color="0" x="4233" y="4" height="76" width="375" html.valueishtml="0" DAT*2 name=t_8 visible="1" 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="Start Date Time" border="0" color="0" x="4617" y="4" height="76" width="919" html.valueishtml="0" name=t_9 visible="1" 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=heaDAT*4der alignment="0" text="End Date Time" border="0" color="0" x="5545" y="4" height="76" width="919" html.valueishtml="0" name=t_10 visible="1" 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="Data Code" border="0" color="0" x="6473" y="4" height="76" width="119" html.valueishtml="0" name=t_11 visible="1" font.face="Arial" font.height="-12" font.weight="40DAT*60" font.family="2" font.pitch="2" font.charset="0" background.mode="2" background.color="16777215" ) text(band=header alignment="0" text="Value Type" border="0" color="0" x="6601" y="4" height="76" width="87" html.valueishtml="0" name=t_12 visible="1" 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="Reference Type" border="0" color="0" x="6697" y="4" heiDAT*8ght="76" width="183" html.valueishtml="0" name=t_13 visible="1" 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="Method Type" border="0" color="0" x="6889" y="4" height="76" width="55" html.valueishtml="0" name=t_14 visible="1" font.face="Arial" font.height="-12" font.weight="400" font.family="2" font.pitch="2" font.charset="0" background.mode="2" backgDAT*:round.color="16777215" ) text(band=header alignment="0" text="Confidential Flag" border="0" color="0" x="6953" y="4" height="76" width="23" html.valueishtml="0" name=t_15 visible="1" 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="Rap Dm Sources Sic Code" border="0" color="0" x="6985" y="4" height="76" width="114" html.valueishtml="0" name=t_16 visible=DAT*<"1" 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="Rap Dm Sources Geographic State Rid" border="0" color="0" x="7109" y="4" height="76" width="1367" html.valueishtml="0" name=rap_dm_sources_geographic_state_rid_t visible="1" font.face="Arial" font.height="-12" font.weight="400" font.family="2" font.pitch="2" font.charset="0" background.mode="2" backgroDAT*>und.color="16777215" ) column(band=detail id=1 alignment="0" tabsequence=32766 border="0" color="0" x="9" y="0" height="76" width="247" format="[general]" html.valueishtml="0" name=rollup_level visible="1" edit.limit=0 edit.case=any edit.autoselect=yes edit.imemode=0 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" DAT*@x="265" y="0" height="76" width="1367" format="[general]" html.valueishtml="0" name=rollup_ref_rid visible="1" edit.limit=0 edit.case=any edit.autoselect=yes edit.imemode=0 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=3 alignment="0" tabsequence=32766 border="0" color="0" x="1641" y="0" height="76" width="247" format="[general]" html.valueishtml="0" name=summary_catDAT*Begory visible="1" edit.limit=0 edit.case=any edit.autoselect=yes edit.imemode=0 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=4 alignment="0" tabsequence=32766 border="0" color="0" x="1897" y="0" height="76" width="311" format="[general]" html.valueishtml="0" name=summary_category_code visible="1" edit.limit=0 edit.case=any edit.autoselect=yes edit.imemode=0 font.facDAT*De="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=5 alignment="0" tabsequence=32766 border="0" color="0" x="2217" y="0" height="76" width="375" format="[general]" html.valueishtml="0" name=material_code visible="1" edit.limit=0 edit.case=any edit.autoselect=yes edit.imemode=0 font.face="Arial" font.height="-12" font.weight="400" font.family="2" font.pitch="2" font.charset="0" baDAT*Fckground.mode="2" background.color="16777215" ) column(band=detail id=6 alignment="0" tabsequence=32766 border="0" color="0" x="2601" y="0" height="76" width="247" format="[general]" html.valueishtml="0" name=unit_code visible="1" edit.limit=0 edit.case=any edit.autoselect=yes edit.imemode=0 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=7 alignment="0" tabsequence=32DAT*H766 border="0" color="0" x="2857" y="0" height="76" width="1367" format="[general]" html.valueishtml="0" name=rollup_amt visible="1" edit.limit=0 edit.case=any edit.autoselect=yes edit.imemode=0 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=8 alignment="0" tabsequence=32766 border="0" color="0" x="4233" y="0" height="76" width="375" format="[general]" html.valueishtmlDAT*J="0" name=reference_code visible="1" edit.limit=0 edit.case=any edit.autoselect=yes edit.imemode=0 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=9 alignment="0" tabsequence=32766 border="0" color="0" x="4617" y="0" height="76" width="919" format="[shortdate] [time]" html.valueishtml="0" name=start_date_time visible="1" edit.limit=0 edit.case=any edit.autoselect=yes eDAT*Ldit.imemode=0 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=10 alignment="0" tabsequence=32766 border="0" color="0" x="5545" y="0" height="76" width="919" format="[shortdate] [time]" html.valueishtml="0" name=end_date_time visible="1" edit.limit=0 edit.case=any edit.autoselect=yes edit.imemode=0 font.face="Arial" font.height="-12" font.weight="400" font.family="2" fDAT*Nont.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="6473" y="0" height="76" width="119" format="[general]" html.valueishtml="0" name=data_code visible="1" edit.limit=0 edit.case=any edit.autoselect=yes edit.imemode=0 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=detailDAT*P id=12 alignment="0" tabsequence=32766 border="0" color="0" x="6601" y="0" height="76" width="87" format="[general]" html.valueishtml="0" name=value_type visible="1" edit.limit=0 edit.case=any edit.autoselect=yes edit.imemode=0 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=13 alignment="0" tabsequence=32766 border="0" color="0" x="6697" y="0" height="76" width="183" fDAT*Rormat="[general]" html.valueishtml="0" name=reference_type visible="1" edit.limit=0 edit.case=any edit.autoselect=yes edit.imemode=0 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=14 alignment="0" tabsequence=32766 border="0" color="0" x="6889" y="0" height="76" width="55" format="[general]" html.valueishtml="0" name=method_type visible="1" edit.limit=0 edit.case=any DAT*Tedit.autoselect=yes edit.imemode=0 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=15 alignment="0" tabsequence=32766 border="0" color="0" x="6953" y="0" height="76" width="23" format="[general]" html.valueishtml="0" name=confidential_flag visible="1" edit.limit=0 edit.case=any edit.autoselect=yes edit.imemode=0 font.face="Arial" font.height="-12" font.weight="400" foDAT*Vnt.family="2" font.pitch="2" font.charset="0" background.mode="2" background.color="16777215" ) column(band=detail id=16 alignment="0" tabsequence=32766 border="0" color="0" x="6985" y="4" height="76" width="114" format="[general]" html.valueishtml="0" name=sic_code visible="1" edit.limit=0 edit.case=any edit.autoselect=yes edit.imemode=0 font.face="Arial" font.height="-12" font.weight="400" font.family="2" font.pitch="2" font.charset="0" background.mode="2" background.color="16777215" ) coluDAT*Xmn(band=detail id=17 alignment="0" tabsequence=32766 border="0" color="0" x="7109" y="0" height="76" width="1367" format="[general]" html.valueishtml="0" name=state_rid visible="1" edit.limit=0 edit.case=any edit.autoselect=yes edit.imemode=0 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" ) htmlgen(clientevents="1" clientvalidation="1" clientcomputedfields="1" clientfoDAT*Prmatting="0" clientscriptable="0" generatejavascript="1" netscapelayers="0" ) DAT*\PDW0800pdwPlVW```` F$nn``DAT*^ @DM` DAT*` rid_t< $0%  MS Sans SerifMS Sans Serif$ 2$-8$700$1$ 536870912$ DAT*b9$8$452$<274%RidRid`)! "$&name_t$#@%293$%81426%'(NameName`2 * +-/DAT*dtype_t$,z1728$.HI329%01TypeType`;)3 468 child_type_t$52066$7HI329%9: Child Type Child Type`D2< =?A DAT*fgroup_flag_t$>e 2405$@HI329%BC Group Flag Group Flag`M;E FHJ group_type_t$GX 2743$In878%KL Group Type Group Type`DN OQSDAT*h parent_rid_t$P.3630$Rn878%TU Parent Rid Parent Rid@@PXdYWZ\^` (crid$[ 9$]DAT*j@64$_<274&ab [general] [general]nXeWf\hj(m2name$g@%293$i81426&kl [general] [general]udoWp\rDAT*lj(ttype$qz1728$sHI329|nvWw\yj(({ child_type$x2066$zHI329u}W~\j2DAT*n( group_flag$e 2405$HI329|W\j<( group_type$X 2743$n878W\`F(DAT*p parent_rid$.3630$n878@DAT*rX d3n u | ridrap_geographiDAT*tc_locations.ridXnamerap_geographic_locations.namedtyperap_geographic_locations.typen child_type$rap_geographic_locations.child_typeu group_flag$rap_geographic_locations.group_flag| group_type$rap_geographic_locations.group_type parent_rid$rap_geographic_locations.parent_ridPBSELECT( VERSION(400) TABLE(NAME="rDAT*vap_geographic_locations" ) COLUMN(NAME="rap_geographic_locations.rid") COLUMN(NAME="rap_geographic_locations.name") COLUMN(NAME="rap_geographic_locations.type") COLUMN(NAME="rap_geographic_locations.child_type") COLUMN(NAME="rap_geographic_locations.group_flag") COLUMN(NAME="rap_geographic_locations.group_type") COLUMN(NAME="rap_geographic_locations.parent_rid")WHERE( EXP1 ="rap_geographic_locations.type" OP ="=" EXP2 ="'NATION'" LOGIC ="or" ) WHERE( EXP1 ="rap_geographic_locations.tDAT*Jype" OP ="=" EXP2 ="'STATE'" LOGIC ="or" ) WHERE( EXP1 ="rap_geographic_locations.type" OP ="=" EXP2 ="'COUNTY'" LOGIC ="or" ) WHERE( EXP1 ="rap_geographic_locations.group_flag" OP ="=" EXP2 ="'Y'" ) ) "no"yesDAT*zrelease 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 = 96 print.margin.bottom = 96 print.paper.source = 0 print.paper.size = 0 print.prompt=no print.buttons=no print.preview.buttons=no grid.lines=0 ) header(height=68 color="536870912" ) summary(height=0 color="536870912" ) footer(height=0 color="536870912" ) detail(height=80 color="536870912" ) table(column=(typDAT*|e=decimal(0) updatewhereclause=yes name=rid dbname="rap_geographic_locations.rid" ) column=(type=char(50) updatewhereclause=yes name=name dbname="rap_geographic_locations.name" ) column=(type=char(8) updatewhereclause=yes name=type dbname="rap_geographic_locations.type" ) column=(type=char(8) updatewhereclause=yes name=child_type dbname="rap_geographic_locations.child_type" ) column=(type=char(1) updatewhereclause=yes name=group_flag dbname="rap_geographic_locations.group_flag" ) column=DAT*~(type=char(20) updatewhereclause=yes name=group_type dbname="rap_geographic_locations.group_type" ) column=(type=decimal(0) updatewhereclause=yes name=parent_rid dbname="rap_geographic_locations.parent_rid" ) retrieve="PBSELECT( VERSION(400) TABLE(NAME=~"rap_geographic_locations~" ) COLUMN(NAME=~"rap_geographic_locations.rid~") COLUMN(NAME=~"rap_geographic_locations.name~") COLUMN(NAME=~"rap_geographic_locations.type~") COLUMN(NAME=~"rap_geographic_locations.child_type~") COLUMN(NAME=~"rap_geoDAT*graphic_locations.group_flag~") COLUMN(NAME=~"rap_geographic_locations.group_type~") COLUMN(NAME=~"rap_geographic_locations.parent_rid~")WHERE( EXP1 =~"rap_geographic_locations.type~" OP =~"=~" EXP2 =~"'NATION'~" LOGIC =~"or~" ) WHERE( EXP1 =~"rap_geographic_locations.type~" OP =~"=~" EXP2 =~"'STATE'~" LOGIC =~"or~" ) WHERE( EXP1 =~"rap_geographic_locations.type~" OP =~"=~" EXP2 =~"'COUNTY'~" LOGIC =~"or~" ) WHERE( EXP1 =~"rap_geographic_locations.group_flag~" DAT* OP =~"=~" EXP2 =~"'Y'~" ) ) " ) text(band=header alignment="2" text="Rid"border="0" color="0" x="9" y="8" height="52" width="274" name=rid_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="Name"border="0" color="0" x="293" y="8" height="52" width="1426" name=name_t font.face="MS Sans Serif" font.height="-8" font.weight="700" font.family="2DAT*" font.pitch="2" font.charset="0" background.mode="1" background.color="536870912" ) text(band=header alignment="2" text="Type"border="0" color="0" x="1728" y="8" height="52" width="329" name=type_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="Child Type"border="0" color="0" x="2066" y="8" height="52" width="329" name=child_type_t 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" ) text(band=header alignment="2" text="Group Flag"border="0" color="0" x="2405" y="8" height="52" width="329" name=group_flag_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="Group Type"border="0" cDAT*olor="0" x="2743" y="8" height="52" width="878" name=group_type_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="Parent Rid"border="0" color="0" x="3630" y="8" height="52" width="878" name=parent_rid_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.colDAT*or="536870912" ) column(band=detail id=1 alignment="1" tabsequence=10 border="0" color="0" x="9" y="8" height="64" width="274" format="[general]" name=rid 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" ) column(band=detail id=2 alignment="0" tabsequence=20 border="0" color="0" x="293" y="8" heiDAT*ght="64" width="1426" format="[general]" name=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=30 border="0" color="0" x="1728" y="8" height="64" width="329" format="[general]" name=type edit.limit=8 edit.case=any edit.focusrectangle=no edDAT*it.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=40 border="0" color="0" x="2066" y="8" height="64" width="329" format="[general]" name=child_type edit.limit=8 edit.case=any edit.focusrectangle=no edit.autoselect=yes edit.autohscroll=yes font.face="MS Sans Serif" font.height="-8" font.weight="700DAT*" font.family="2" font.pitch="2" font.charset="0" background.mode="1" background.color="536870912" ) column(band=detail id=5 alignment="0" tabsequence=50 border="0" color="0" x="2405" y="8" height="64" width="329" format="[general]" name=group_flag edit.limit=1 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* ) column(band=detail id=6 alignment="0" tabsequence=60 border="0" color="0" x="2743" y="8" height="64" width="878" format="[general]" name=group_type edit.limit=20 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="1" tabsequence=70 border="0" color="0" x="3630" y="8" heighDAT*t="64" width="878" format="[general]" name=parent_rid 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*PDW0800*pdwPl````{ F$*nn``DAT*% @D` DAT* rid_t< $0%  MS Sans SerifMS Sans Serif$ 2$-8$700$1$ 536870912$ DAT*9$8$452$HI329%RidRid`)! "$&name_t$#L[347$%2w1399%'(NameName`2 * +-/DAT*type_t$,1755$.6247%01TypeType`;)3 468 child_type_t$52011$7F@320%9: Child Type Child Type`D2< =?A DAT*group_flag_t$>% 2341$@HI329%BC Group Flag Group Flag`M;E FHJ group_type_t$GJw 2679$I~@576%KL Group Type Group Type`VDN OQSDAT* parent_rid_t$P 3264$RHI329%TU Parent Rid Parent Rid`_MW XZ\location_coord_level_t$Y3602$[645%]^Location Coord LevelLocation Coord Level`hV`DAT* acelatitude_data_t$b4256$dZ411%fgLatitude DataLatitude Data`q_i jlnlongitude_data_t$kE4677$me462%opLongitude DataLongitude Data`zhrDAT* suw zone_no_t$tf5147$vHI329%xyZone NoZone No`q{ |~northing_km_data_t$}n5486$t530%Northing Km DataNorthing Km Data`DAT*z easting_km_data_t$&6025$m498%Easting Km DataEasting Km Data@@\ DAT*(rid< %ArialArial$-10$400$ 9$L76$HI329& [general] [general]DAT*(2name$L[347$2w1399& [general] [general](type$1755$6247DAT*(( child_type$2011$F@3202( group_flag$% 2341$HI329DAT*<( group_type$Jw 2679$~@576F( parent_rid$ 3264$HI329DAT*P(location_coord_level$3602$645 Z(latitude_data$4256$Z411DAT* d(longitude_data$E4677$e462 n(zone_no$f5147$HI329DAT* x(northing_km_data$n5486$t530 (easting_km_data$&6025$m498@DAT*$@ 3@ @DAT* @   @  @ @ @  @  @ DAT* @   @#!"  @rap_dm_geographic_locationsrid rap_dm_geographic_locations.ridname!rap_dm_geographic_locations.nametype!rap_dm_geographic_locations.type child_type'rap_dm_geographic_locations.child_type group_flag'rap_dm_geographic_locations.grouDAT*p_flag group_type'rap_dm_geographic_locations.group_type parent_rid'rap_dm_geographic_locations.parent_ridlocation_coord_level1rap_dm_geographic_locations.location_coord_levellatitude_data*rap_dm_geographic_locations.latitude_datalongitude_data+rap_dm_geographic_locations.longitude_datazone_no$rap_dm_geographic_locations.zone_noDAT*northing_km_data-rap_dm_geographic_locations.northing_km_dataeasting_km_data,rap_dm_geographic_locations.easting_km_dataPBSELECT( VERSION(400) TABLE(NAME="rap_dm_geographic_locations" ) COLUMN(NAME="rap_dm_geographic_locations.rid") COLUMN(NAME="rap_dm_geographic_locations.name") COLUMN(NAME="rap_dm_geographic_locations.type") COLUMN(NAME="rap_dm_geographic_locations.child_type") COLUMN(NAME="rap_dm_geographic_locatDAT*ions.group_flag") COLUMN(NAME="rap_dm_geographic_locations.group_type") COLUMN(NAME="rap_dm_geographic_locations.parent_rid") COLUMN(NAME="rap_dm_geographic_locations.location_coord_level") COLUMN(NAME="rap_dm_geographic_locations.latitude_data") COLUMN(NAME="rap_dm_geographic_locations.longitude_data") COLUMN(NAME="rap_dm_geographic_locations.zone_no") COLUMN(NAME="rap_dm_geographic_locations.northing_km_data") COLUMN(NAME="rap_dm_geographic_locations.easting_km_data")) &(DAT*K"'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 = 96 print.margin.bottom = 96 print.paper.source = 0 print.paper.size = 0 print.prompt=no print.buttons=no print.preview.buttons=no grid.lines=0 ) header(height=68 color="536870912" ) summary(height=0 color="536870912" ) footer(height=0 color="536870912" ) detail(height=92 color="536870912" ) table(column=(typDAT*e=decimal(0) update=yes updatewhereclause=yes key=yes name=rid dbname="rap_dm_geographic_locations.rid" ) column=(type=char(50) update=yes updatewhereclause=yes name=name dbname="rap_dm_geographic_locations.name" ) column=(type=char(8) update=yes updatewhereclause=yes name=type dbname="rap_dm_geographic_locations.type" ) column=(type=char(8) update=yes updatewhereclause=yes name=child_type dbname="rap_dm_geographic_locations.child_type" ) column=(type=char(1) update=yes updatewhereclause=yDAT*es name=group_flag dbname="rap_dm_geographic_locations.group_flag" ) column=(type=char(20) update=yes updatewhereclause=yes name=group_type dbname="rap_dm_geographic_locations.group_type" ) column=(type=decimal(0) update=yes updatewhereclause=yes name=parent_rid dbname="rap_dm_geographic_locations.parent_rid" ) column=(type=char(8) update=yes updatewhereclause=yes name=location_coord_level dbname="rap_dm_geographic_locations.location_coord_level" ) column=(type=decimal(4) update=yes updateDAT*whereclause=yes name=latitude_data dbname="rap_dm_geographic_locations.latitude_data" ) column=(type=decimal(4) update=yes updatewhereclause=yes name=longitude_data dbname="rap_dm_geographic_locations.longitude_data" ) column=(type=decimal(0) update=yes updatewhereclause=yes name=zone_no dbname="rap_dm_geographic_locations.zone_no" ) column=(type=decimal(2) update=yes updatewhereclause=yes name=northing_km_data dbname="rap_dm_geographic_locations.northing_km_data" ) column=(type=decimal(2)DAT* update=yes updatewhereclause=yes name=easting_km_data dbname="rap_dm_geographic_locations.easting_km_data" ) retrieve="PBSELECT( VERSION(400) TABLE(NAME=~"rap_dm_geographic_locations~" ) COLUMN(NAME=~"rap_dm_geographic_locations.rid~") COLUMN(NAME=~"rap_dm_geographic_locations.name~") COLUMN(NAME=~"rap_dm_geographic_locations.type~") COLUMN(NAME=~"rap_dm_geographic_locations.child_type~") COLUMN(NAME=~"rap_dm_geographic_locations.group_flag~") COLUMN(NAME=~"rap_dm_geographic_locations.group_typDAT*e~") COLUMN(NAME=~"rap_dm_geographic_locations.parent_rid~") COLUMN(NAME=~"rap_dm_geographic_locations.location_coord_level~") COLUMN(NAME=~"rap_dm_geographic_locations.latitude_data~") COLUMN(NAME=~"rap_dm_geographic_locations.longitude_data~") COLUMN(NAME=~"rap_dm_geographic_locations.zone_no~") COLUMN(NAME=~"rap_dm_geographic_locations.northing_km_data~") COLUMN(NAME=~"rap_dm_geographic_locations.easting_km_data~")) " update="rap_dm_geographic_locations" updatewhere=0 updatekeyinplace=yes ) teDAT*xt(band=header alignment="2" text="Rid"border="0" color="0" x="9" y="8" height="52" width="329" name=rid_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="Name"border="0" color="0" x="347" y="8" height="52" width="1399" name=name_t font.face="MS Sans Serif" font.height="-8" font.weight="700" font.family="2" font.pitch="2" font.charset="0" backgDAT*round.mode="1" background.color="536870912" ) text(band=header alignment="2" text="Type"border="0" color="0" x="1755" y="8" height="52" width="247" name=type_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="Child Type"border="0" color="0" x="2011" y="8" height="52" width="320" name=child_type_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="2" text="Group Flag"border="0" color="0" x="2341" y="8" height="52" width="329" name=group_flag_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="Group Type"border="0" color="0" x="2679" y="8" height="52" widDAT*th="576" name=group_type_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="Parent Rid"border="0" color="0" x="3264" y="8" height="52" width="329" name=parent_rid_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 aligDAT*nment="2" text="Location Coord Level"border="0" color="0" x="3602" y="8" height="52" width="645" name=location_coord_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="536870912" ) text(band=header alignment="2" text="Latitude Data"border="0" color="0" x="4256" y="8" height="52" width="411" name=latitude_data_t font.face="MS Sans Serif" font.height="-8" font.weight="700" font.family="2" fDAT*ont.pitch="2" font.charset="0" background.mode="1" background.color="536870912" ) text(band=header alignment="2" text="Longitude Data"border="0" color="0" x="4677" y="8" height="52" width="462" name=longitude_data_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="Zone No"border="0" color="0" x="5147" y="8" height="52" width="329" name=zone_no_t DAT* 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="Northing Km Data"border="0" color="0" x="5486" y="8" height="52" width="530" name=northing_km_data_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="DAT*Easting Km Data"border="0" color="0" x="6025" y="8" height="52" width="498" name=easting_km_data_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="1" tabsequence=10 border="0" color="0" x="9" y="8" height="76" width="329" format="[general]" name=rid edit.limit=0 edit.case=any edit.focusrectangle=no edit.autoselect=yes edit.autohscroll=yes font.facDAT*e="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=20 border="0" color="0" x="347" y="8" height="76" width="1399" format="[general]" name=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=DAT*"1" background.color="536870912" ) column(band=detail id=3 alignment="0" tabsequence=30 border="0" color="0" x="1755" y="8" height="76" width="247" format="[general]" name=type edit.limit=8 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" tabsequence=40 border="0" color="0" x=DAT*"2011" y="8" height="76" width="320" format="[general]" name=child_type edit.limit=8 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="0" tabsequence=50 border="0" color="0" x="2341" y="8" height="76" width="329" format="[general]" name=group_flag edit.limit=1 edit.case=any edit.fDAT*ocusrectangle=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=60 border="0" color="0" x="2679" y="8" height="76" width="576" format="[general]" name=group_type edit.limit=20 edit.case=any edit.focusrectangle=no edit.autoselect=yes edit.autohscroll=yes font.face="Arial" font.height="-10" font.weighDAT*t="400" font.family="2" font.pitch="2" font.charset="0" background.mode="1" background.color="536870912" ) column(band=detail id=7 alignment="1" tabsequence=70 border="0" color="0" x="3264" y="8" height="76" width="329" format="[general]" name=parent_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" DAT*) column(band=detail id=8 alignment="0" tabsequence=80 border="0" color="0" x="3602" y="8" height="76" width="645" format="[general]" name=location_coord_level edit.limit=8 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=9 alignment="1" tabsequence=90 border="0" color="0" x="4256" y="8" heigDAT*ht="76" width="411" format="[general]" name=latitude_data 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=10 alignment="1" tabsequence=100 border="0" color="0" x="4677" y="8" height="76" width="462" format="[general]" name=longitude_data edit.limit=0 edit.case=any edit.focusrectDAT*angle=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=11 alignment="1" tabsequence=110 border="0" color="0" x="5147" y="8" height="76" width="329" format="[general]" name=zone_no edit.limit=0 edit.case=any edit.focusrectangle=no edit.autoselect=yes edit.autohscroll=yes font.face="Arial" font.height="-10" font.weight="400" fDAT*ont.family="2" font.pitch="2" font.charset="0" background.mode="1" background.color="536870912" ) column(band=detail id=12 alignment="1" tabsequence=120 border="0" color="0" x="5486" y="8" height="76" width="530" format="[general]" name=northing_km_data 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" ) DAT* column(band=detail id=13 alignment="1" tabsequence=130 border="0" color="0" x="6025" y="8" height="76" width="498" format="[general]" name=easting_km_data 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" ) htmltable(border="1" cellpadding="0" cellspacing="0" generatecss="no" nowrap="yes") DAT*PDW0800XpdwPlF)*E````  F$Xnn``DAT*Q @D'"`DAT* < $0% ArialArial$ 2$ -12$400$ 16777215$ 9$4$DAT*L76$+W1367% Rap Dm Geographic Locations Rid Rap Dm Geographic Locations Rid`"  $/i1385$!+W1367` #%$$\ 2761$&DAT*+W1367$( 536870912@'@P'+>7,* -/13 6 nation_rid$. 9$00$2+W1367&45 DAT* [general] [general]>+8* 9;3 = state_rid$:/i1385$<+W13677?* @/B3 D county_rid$A\ 2761$C+DAT*W1367@'PI+GH L7DAT*JK O>MN nation_rid rap_dm_geographic_locations.rid+ state_rid rap_dm_geographic_locations.rid7 county_rid rap_dm_geographic_locations.rid>PBSELECT( VERSION(400) DISTINCT ()TABLE(NAME="rap_dm_sources" ) TABLE(NAME="rap_dm_geographic_locations" ALIAS="rap_dm_geographic_locations_a" ) TABLE(NAME="rap_dm_geogDAT*raphic_locations" ALIAS="rap_dm_geographic_locations_b" ) TABLE(NAME="rap_dm_geographic_locations" ALIAS="rap_dm_geographic_locations_c" ) COLUMN(NAME="rap_dm_geographic_locations_c.rid") COLUMN(NAME="rap_dm_geographic_locations_b.rid") COLUMN(NAME="rap_dm_geographic_locations_a.rid") JOIN (LEFT="rap_dm_geographic_locations_a.rid" OP ="="RIGHT="rap_dm_sources.geographic_county_rid" ) JOIN (LEFT="rap_dm_geographic_locations_a.parent_rid" OP ="="RIGHT="rap_dm_geographic_locations_b.rid"DAT* ) JOIN (LEFT="rap_dm_geographic_locations_b.parent_rid" OP ="="RIGHT="rap_dm_geographic_locations_c.rid" )WHERE( EXP1 ="rap_dm_geographic_locations_b.type" OP ="=" EXP2 ="'STATE'" LOGIC ="and" ) WHERE( EXP1 ="rap_dm_geographic_locations_c.type" OP ="=" EXP2 ="'NATION'" ) ) RTV"Sno"Uyes$W1DAT* 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 = 96 print.margin.bottom = 96 print.paper.source = 0 print.paper.size = 0 print.prompt=no print.buttons=no print.preview.buttons=no grid.lines=0 ) header(height=68 color="536870912" ) summary(height=0 color="536870912" ) footer(height=0 color="536870912" ) detail(height=80 color="536870912" ) table(column=(typDAT* e=decimal(0) updatewhereclause=yes name=nation_rid dbname="rap_dm_geographic_locations.rid" ) column=(type=decimal(0) updatewhereclause=yes name=state_rid dbname="rap_dm_geographic_locations.rid" ) column=(type=decimal(0) updatewhereclause=yes name=county_rid dbname="rap_dm_geographic_locations.rid" ) retrieve="PBSELECT( VERSION(400) DISTINCT ()TABLE(NAME=~"rap_dm_sources~" ) TABLE(NAME=~"rap_dm_geographic_locations~" ALIAS=~"rap_dm_geographic_locations_a~" ) TABLE(NAME=~"rap_dm_geographicDAT*_locations~" ALIAS=~"rap_dm_geographic_locations_b~" ) TABLE(NAME=~"rap_dm_geographic_locations~" ALIAS=~"rap_dm_geographic_locations_c~" ) COLUMN(NAME=~"rap_dm_geographic_locations_c.rid~") COLUMN(NAME=~"rap_dm_geographic_locations_b.rid~") COLUMN(NAME=~"rap_dm_geographic_locations_a.rid~") JOIN (LEFT=~"rap_dm_geographic_locations_a.rid~" OP =~"=~"RIGHT=~"rap_dm_sources.geographic_county_rid~" ) JOIN (LEFT=~"rap_dm_geographic_locations_a.parent_rid~" OP =~"=~"RIGHT=~"rap_dm_geographiDAT*c_locations_b.rid~" ) JOIN (LEFT=~"rap_dm_geographic_locations_b.parent_rid~" OP =~"=~"RIGHT=~"rap_dm_geographic_locations_c.rid~" )WHERE( EXP1 =~"rap_dm_geographic_locations_b.type~" OP =~"=~" EXP2 =~"'STATE'~" LOGIC =~"and~" ) WHERE( EXP1 =~"rap_dm_geographic_locations_c.type~" OP =~"=~" EXP2 =~"'NATION'~" ) ) " ) column(band=detail id=1 alignment="0" tabsequence=0 border="0" color="0" x="9" y="0" height="76" width="1367" name=nation_rid font.face="Arial" font.height=DAT*"-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="Rap Dm Geographic Locations Rid"border="0" color="0" x="5" y="4" height="76" width="1371" 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=0 border="0" color="0" x="1390" y="4" height="DAT*76" width="1367" name=state_rid 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="Rap Dm Geographic Locations Rid"border="0" color="0" x="1385" y="4" height="76" width="1371" 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=3 alignDAT*ment="0" tabsequence=0 border="0" color="0" x="2770" y="0" height="76" width="1367" name=county_rid 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="Rap Dm Geographic Locations Rid"border="0" color="0" x="2766" y="4" height="76" width="1371" font.face="Arial" font.height="-12" font.weight="400" font.family="2" font.pitch="2" font.charset="0" background.mDAT*|ode="2" background.color="16777215" ) htmltable(border="1" cellpadding="0" cellspacing="0" generatecss="no" nowrap="yes") DAT*PDW0800pdwPldc````@71 F$ nn``DAT* @`$DAT* "%rap_location_coordinate_groups_rid_t$1<  $ 0%  ArialArial$2$-10$400$ 536870912$DAT*  33554432$ 9$8$128$[859% !$Rap Location Coordinate Groups Rid$Rap Location Coordinate Groups Rid"#0`/% &(*-)rap_location_coordinate_groups_ref_rid_t$'nDAT*"878$)[859%+,(Rap Location Coordinate Groups Ref Rid(Rap Location Coordinate Groups Ref Rid".0`:$0 1358,rap_location_coordinate_groups_shape_type_t$2~1746$4[859%67+Rap Location Coordinate Groups Shape Type+RDAT*$ap Location Coordinate Groups Shape Type"90`E/; <>@C.rap_location_coordinate_groups_accuracy_amt_t$=<7 2615$?[859%AB-Rap Location Coordinate Groups Accuracy Amt-Rap Location Coordinate Groups Accuracy Amt"D0`P:FDAT*& GIKN/rap_location_coordinate_groups_accuracy_type_t$H 3483$J[859%LM.Rap Location Coordinate Groups Accuracy Type.Rap Location Coordinate Groups Accuracy Type"O0`[EQ RTVY2rap_location_coordinate_groups_calculation_type_tDAT*($S4352$U[859%WX1Rap Location Coordinate Groups Calculation Type1Rap Location Coordinate Groups Calculation Type"Z0`fP\ ]_ad,rap_location_coordinate_groups_datum_year_t$^ve5221$`[859%bc+DAT**Rap Location Coordinate Groups Datum Year+Rap Location Coordinate Groups Datum Year"e0`q[g hjlo/rap_location_coordinate_groups_measured_desc_t$i46089$k987%mn.Rap Location Coordinate Groups Measured Desc.Rap Location Coordinate Groups Measured Desc"pDAT*,0`|fr suwz%rap_location_coordinates_group_rid_t$t7086$v681%xy$Rap Location Coordinates Group Rid$Rap Location Coordinates Group Rid"{0`q} ~'rap_location_coordinates_seDAT*.quence_no_t$`7776$681%&Rap Location Coordinates Sequence No&Rap Location Coordinates Sequence No"0`| $rap_location_coordinates_sub_type_t$<!8466$681%#Rap Location CDAT*0oordinates Sub Type#Rap Location Coordinates Sub Type"0` +rap_location_coordinates_easting_km_data_t$#9157$681%*Rap Location Coordinates Easting Km Data*Rap Location Coordinates Easting Km Data"0`DAT*2 )rap_location_coordinates_latitude_data_t$jw&9847$681%(Rap Location Coordinates Latitude Data(Rap Location Coordinates Latitude Data"0` *rap_location_coordinates_longitude_data_t$DAT*4 ))10537$681%)Rap Location Coordinates Longitude Data)Rap Location Coordinates Longitude Data"0` ,rap_location_coordinates_northing_km_data_t$ +11227$681%+Rap Location Coordinates NoDAT*6rthing Km Data+Rap Location Coordinates Northing Km Data"0` #rap_location_coordinates_zone_no_t$/ .11918$681%"Rap Location Coordinates Zone No"Rap Location Coordinates Zone No"0@DAT*8@\Z( groups_rid$ 9$L76$[859& [general] [general]"0DAT*:(ref_rid$n878$[859"0( shape_type$~1746$[859& [general] [DAT*<general]"0( accuracy_amt$<7 2615$[859"0( accuracy_type$DAT*> 3483$[859"0 (calculation_type$4352$[859"0   (DAT*@ datum_year$ ve5221$[859"0 (#measured_desc$46089$987"0$DAT*B ("! group_rid$7086$ 681"#0-%&( (+* sequence_no$'`7776$)681",06$.DAT*D/1 (43 sub_type$0<!8466$2681"50?-78: (=<easting_km_data$9#9157$;681"DAT*F>0H6@AC (FElatitude_data$Bjw&9847$D681"G0Q?IJL(ONlongitude_data$K ))10537DAT*H$M681"P0ZHRSU(XWnorthing_km_data$T +11227$V681"Y0Q[\^(a`zonDAT*Je_no$]/ .11918$_681"b0@DegDAT*Lkij nlm qoptrs wuv zxy} {|~DAT*N$  $  - 6  ?  H Q ZDAT*P f :an_refrid h an_refrid groups_rid#rap_location_coordinate_groups.ridref_rid'rap_location_coordinate_groups.ref_rid shape_type*rap_location_coordinate_groups.shape_type accuracy_amt,rap_location_coordinate_groups.accuracy_amtaccuracy_type-rap_location_coordinate_groups.accuracy_typeDAT*Rcalculation_type0rap_location_coordinate_groups.calculation_type datum_year*rap_location_coordinate_groups.datum_year measured_desc-rap_location_coordinate_groups.measured_desc group_rid#rap_location_coordinates.group_rid sequence_no%rap_location_coordinates.sequence_no$ sub_type"rap_location_coordinates.sub_type-easting_km_dDAT*Tata)rap_location_coordinates.easting_km_data6latitude_data'rap_location_coordinates.latitude_data?longitude_data(rap_location_coordinates.longitude_dataHnorthing_km_data*rap_location_coordinates.northing_km_dataQzone_no!rap_location_coordinates.zone_noZfPBSELECT( VERSION(400) TABLE(NAME="rap_location_coordinate_groups" ) TABLE(NAME="rap_location_coordinates" )DAT*V COLUMN(NAME="rap_location_coordinate_groups.rid") COLUMN(NAME="rap_location_coordinate_groups.ref_rid") COLUMN(NAME="rap_location_coordinate_groups.shape_type") COLUMN(NAME="rap_location_coordinate_groups.accuracy_amt") COLUMN(NAME="rap_location_coordinate_groups.accuracy_type") COLUMN(NAME="rap_location_coordinate_groups.calculation_type") COLUMN(NAME="rap_location_coordinate_groups.datum_year") COLUMN(NAME="rap_location_coordinate_groups.measured_desc") COLUMN(NAME="rap_location_coordinates.groDAT*Xup_rid") COLUMN(NAME="rap_location_coordinates.sequence_no") COLUMN(NAME="rap_location_coordinates.sub_type") COLUMN(NAME="rap_location_coordinates.easting_km_data") COLUMN(NAME="rap_location_coordinates.latitude_data") COLUMN(NAME="rap_location_coordinates.longitude_data") COLUMN(NAME="rap_location_coordinates.northing_km_data") COLUMN(NAME="rap_location_coordinates.zone_no") JOIN (LEFT="rap_location_coordinates.group_rid" OP ="="RIGHT="rap_location_coordinate_groups.rid" )WHERE( EXP1 ="DAT*Zrap_location_coordinate_groups.ref_rid" OP ="=" EXP2 ="" LOGIC ="and" ) WHERE( EXP1 ="rap_location_coordinate_groups.shape_type" OP ="=" EXP2 ="'P'" ) ) ORDER(NAME="rap_location_coordinates.sequence_no" ASC=yes ) ARG(NAME = "an_refrid" TYPE = number) \"1"1"1"DAT*n1"0"0"0DAT*^release 8; datawindow(units=0 timer_interval=0 color=1073741824 processing=1 HTMLDW=no print.documentname="" print.orientation = 0 print.margin.left = 110 print.margin.right = 110 print.margin.top = 96 print.margin.bottom = 96 print.paper.source = 0 print.paper.size = 0 print.prompt=no print.buttons=no print.preview.buttons=no grid.lines=0 ) header(height=144 color="536870912" ) summary(height=0 color="536870912" ) footer(height=0 color="536870912" ) detail(height=92 color="536870912" ) tablDAT*`e(column=(type=decimal(0) updatewhereclause=yes name=groups_rid dbname="rap_location_coordinate_groups.rid" ) column=(type=decimal(0) updatewhereclause=yes name=ref_rid dbname="rap_location_coordinate_groups.ref_rid" ) column=(type=char(1) updatewhereclause=yes name=shape_type dbname="rap_location_coordinate_groups.shape_type" ) column=(type=decimal(2) updatewhereclause=yes name=accuracy_amt dbname="rap_location_coordinate_groups.accuracy_amt" ) column=(type=char(10) updatewhereclause=yes DAT*bname=accuracy_type dbname="rap_location_coordinate_groups.accuracy_type" ) column=(type=char(3) updatewhereclause=yes name=calculation_type dbname="rap_location_coordinate_groups.calculation_type" ) column=(type=char(4) updatewhereclause=yes name=datum_year dbname="rap_location_coordinate_groups.datum_year" ) column=(type=char(35) updatewhereclause=yes name=measured_desc dbname="rap_location_coordinate_groups.measured_desc" ) column=(type=decimal(0) updatewhereclause=yes name=group_rid dbnDAT*dame="rap_location_coordinates.group_rid" ) column=(type=decimal(0) updatewhereclause=yes name=sequence_no dbname="rap_location_coordinates.sequence_no" ) column=(type=char(1) updatewhereclause=yes name=sub_type dbname="rap_location_coordinates.sub_type" ) column=(type=decimal(2) updatewhereclause=yes name=easting_km_data dbname="rap_location_coordinates.easting_km_data" ) column=(type=decimal(4) updatewhereclause=yes name=latitude_data dbname="rap_location_coordinates.latitude_data" ) coDAT*flumn=(type=decimal(4) updatewhereclause=yes name=longitude_data dbname="rap_location_coordinates.longitude_data" ) column=(type=decimal(2) updatewhereclause=yes name=northing_km_data dbname="rap_location_coordinates.northing_km_data" ) column=(type=decimal(0) updatewhereclause=yes name=zone_no dbname="rap_location_coordinates.zone_no" ) retrieve="PBSELECT( VERSION(400) TABLE(NAME=~"rap_location_coordinate_groups~" ) TABLE(NAME=~"rap_location_coordinates~" ) COLUMN(NAME=~"rap_location_coordiDAT*hnate_groups.rid~") COLUMN(NAME=~"rap_location_coordinate_groups.ref_rid~") COLUMN(NAME=~"rap_location_coordinate_groups.shape_type~") COLUMN(NAME=~"rap_location_coordinate_groups.accuracy_amt~") COLUMN(NAME=~"rap_location_coordinate_groups.accuracy_type~") COLUMN(NAME=~"rap_location_coordinate_groups.calculation_type~") COLUMN(NAME=~"rap_location_coordinate_groups.datum_year~") COLUMN(NAME=~"rap_location_coordinate_groups.measured_desc~") COLUMN(NAME=~"rap_location_coordinates.group_rid~") COLUMN(DAT*jNAME=~"rap_location_coordinates.sequence_no~") COLUMN(NAME=~"rap_location_coordinates.sub_type~") COLUMN(NAME=~"rap_location_coordinates.easting_km_data~") COLUMN(NAME=~"rap_location_coordinates.latitude_data~") COLUMN(NAME=~"rap_location_coordinates.longitude_data~") COLUMN(NAME=~"rap_location_coordinates.northing_km_data~") COLUMN(NAME=~"rap_location_coordinates.zone_no~") JOIN (LEFT=~"rap_location_coordinates.group_rid~" OP =~"=~"RIGHT=~"rap_location_coordinate_groups.rid~" )WHERE( EXPDAT*l1 =~"rap_location_coordinate_groups.ref_rid~" OP =~"=~" EXP2 =~":an_refrid~" LOGIC =~"and~" ) WHERE( EXP1 =~"rap_location_coordinate_groups.shape_type~" OP =~"=~" EXP2 =~"'P'~" ) ) ORDER(NAME=~"rap_location_coordinates.sequence_no~" ASC=yes ) ARG(NAME = ~"an_refrid~" TYPE = number) " arguments=(("an_refrid", number)) ) text(band=header alignment="2" text="Rap Location Coordinate Groups Rid" border="0" color="33554432" x="9" y="8" height="128" width="859" html.valueishtml="0" namDAT*ne=rap_location_coordinate_groups_rid_t visible="1" 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="Rap Location Coordinate Groups Ref Rid" border="0" color="33554432" x="878" y="8" height="128" width="859" html.valueishtml="0" name=rap_location_coordinate_groups_ref_rid_t visible="1" font.face="Arial" font.height="-10" font.weight="400" font.family="2DAT*p" font.pitch="2" font.charset="0" background.mode="1" background.color="536870912" ) text(band=header alignment="2" text="Rap Location Coordinate Groups Shape Type" border="0" color="33554432" x="1746" y="8" height="128" width="859" html.valueishtml="0" name=rap_location_coordinate_groups_shape_type_t visible="1" 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="DAT*r2" text="Rap Location Coordinate Groups Accuracy Amt" border="0" color="33554432" x="2615" y="8" height="128" width="859" html.valueishtml="0" name=rap_location_coordinate_groups_accuracy_amt_t visible="1" 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="Rap Location Coordinate Groups Accuracy Type" border="0" color="33554432" x="3483" y="8" height="128DAT*t" width="859" html.valueishtml="0" name=rap_location_coordinate_groups_accuracy_type_t visible="1" 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="Rap Location Coordinate Groups Calculation Type" border="0" color="33554432" x="4352" y="8" height="128" width="859" html.valueishtml="0" name=rap_location_coordinate_groups_calculation_type_t visible="1" fDAT*vont.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="Rap Location Coordinate Groups Datum Year" border="0" color="33554432" x="5221" y="8" height="128" width="859" html.valueishtml="0" name=rap_location_coordinate_groups_datum_year_t visible="1" font.face="Arial" font.height="-10" font.weight="400" font.family="2" font.pitch="2" font.charset="0" background.mDAT*xode="1" background.color="536870912" ) text(band=header alignment="2" text="Rap Location Coordinate Groups Measured Desc" border="0" color="33554432" x="6089" y="8" height="128" width="987" html.valueishtml="0" name=rap_location_coordinate_groups_measured_desc_t visible="1" 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="Rap Location Coordinates GroupDAT*z Rid" border="0" color="33554432" x="7086" y="8" height="128" width="681" html.valueishtml="0" name=rap_location_coordinates_group_rid_t visible="1" 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="Rap Location Coordinates Sequence No" border="0" color="33554432" x="7776" y="8" height="128" width="681" html.valueishtml="0" name=rap_location_coordinates_DAT*|sequence_no_t visible="1" 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="Rap Location Coordinates Sub Type" border="0" color="33554432" x="8466" y="8" height="128" width="681" html.valueishtml="0" name=rap_location_coordinates_sub_type_t visible="1" font.face="Arial" font.height="-10" font.weight="400" font.family="2" font.pitch="2" font.charset="0" DAT*~background.mode="1" background.color="536870912" ) text(band=header alignment="2" text="Rap Location Coordinates Easting Km Data" border="0" color="33554432" x="9157" y="8" height="128" width="681" html.valueishtml="0" name=rap_location_coordinates_easting_km_data_t visible="1" 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="Rap Location Coordinates LDAT*atitude Data" border="0" color="33554432" x="9847" y="8" height="128" width="681" html.valueishtml="0" name=rap_location_coordinates_latitude_data_t visible="1" 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="Rap Location Coordinates Longitude Data" border="0" color="33554432" x="10537" y="8" height="128" width="681" html.valueishtml="0" name=rap_locatDAT*ion_coordinates_longitude_data_t visible="1" 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="Rap Location Coordinates Northing Km Data" border="0" color="33554432" x="11227" y="8" height="128" width="681" html.valueishtml="0" name=rap_location_coordinates_northing_km_data_t visible="1" font.face="Arial" font.height="-10" font.weight="400" font.family=DAT*"2" font.pitch="2" font.charset="0" background.mode="1" background.color="536870912" ) text(band=header alignment="2" text="Rap Location Coordinates Zone No" border="0" color="33554432" x="11918" y="8" height="128" width="681" html.valueishtml="0" name=rap_location_coordinates_zone_no_t visible="1" 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" tabseDAT*quence=32766 border="0" color="33554432" x="9" y="8" height="76" width="859" format="[general]" html.valueishtml="0" name=groups_rid visible="1" edit.limit=0 edit.case=any edit.focusrectangle=no edit.autoselect=yes edit.autohscroll=yes edit.imemode=0 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="1" tabsequence=32766 border="0" color="33554432" x="878" y=DAT*"8" height="76" width="859" format="[general]" html.valueishtml="0" name=ref_rid visible="1" edit.limit=0 edit.case=any edit.focusrectangle=no edit.autoselect=yes edit.autohscroll=yes edit.imemode=0 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="33554432" x="1746" y="8" height="76" width="859" format="[general]" htmlDAT*.valueishtml="0" name=shape_type visible="1" edit.limit=1 edit.case=any edit.focusrectangle=no edit.autoselect=yes edit.autohscroll=yes edit.imemode=0 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="1" tabsequence=32766 border="0" color="33554432" x="2615" y="8" height="76" width="859" format="[general]" html.valueishtml="0" name=accuracy_amt visible="1" DAT*edit.limit=0 edit.case=any edit.focusrectangle=no edit.autoselect=yes edit.autohscroll=yes edit.imemode=0 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="33554432" x="3483" y="8" height="76" width="859" format="[general]" html.valueishtml="0" name=accuracy_type visible="1" edit.limit=10 edit.case=any edit.focusrectangDAT*le=no edit.autoselect=yes edit.autohscroll=yes edit.imemode=0 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="33554432" x="4352" y="8" height="76" width="859" format="[general]" html.valueishtml="0" name=calculation_type visible="1" edit.limit=1 edit.case=any edit.focusrectangle=no edit.autoselect=yes edit.autohscrollDAT*=yes edit.imemode=0 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=7 alignment="0" tabsequence=32766 border="0" color="33554432" x="5221" y="8" height="76" width="859" format="[general]" html.valueishtml="0" name=datum_year visible="1" edit.limit=4 edit.case=any edit.focusrectangle=no edit.autoselect=yes edit.autohscroll=yes edit.imemode=0 font.face="Arial" font.heigDAT*ht="-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="33554432" x="6089" y="8" height="76" width="987" format="[general]" html.valueishtml="0" name=measured_desc visible="1" edit.limit=35 edit.case=any edit.focusrectangle=no edit.autoselect=yes edit.autohscroll=yes edit.imemode=0 font.face="Arial" font.height="-10" font.weight="400" font.family="2" DAT*font.pitch="2" font.charset="0" background.mode="1" background.color="536870912" ) column(band=detail id=9 alignment="1" tabsequence=32766 border="0" color="33554432" x="7086" y="8" height="76" width="681" format="[general]" html.valueishtml="0" name=group_rid visible="1" edit.limit=0 edit.case=any edit.focusrectangle=no edit.autoselect=yes edit.autohscroll=yes edit.imemode=0 font.face="Arial" font.height="-10" font.weight="400" font.family="2" font.pitch="2" font.charset="0" background.mode="DAT*1" background.color="536870912" ) column(band=detail id=10 alignment="1" tabsequence=32766 border="0" color="33554432" x="7776" y="8" height="76" width="681" format="[general]" html.valueishtml="0" name=sequence_no visible="1" edit.limit=0 edit.case=any edit.focusrectangle=no edit.autoselect=yes edit.autohscroll=yes edit.imemode=0 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(bandDAT*=detail id=11 alignment="0" tabsequence=32766 border="0" color="33554432" x="8466" y="8" height="76" width="681" format="[general]" html.valueishtml="0" name=sub_type visible="1" edit.limit=1 edit.case=any edit.focusrectangle=no edit.autoselect=yes edit.autohscroll=yes edit.imemode=0 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=12 alignment="1" tabsequence=32766 borDAT*der="0" color="33554432" x="9157" y="8" height="76" width="681" format="[general]" html.valueishtml="0" name=easting_km_data visible="1" edit.limit=0 edit.case=any edit.focusrectangle=no edit.autoselect=yes edit.autohscroll=yes edit.imemode=0 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=13 alignment="1" tabsequence=32766 border="0" color="33554432" x="9847" y="8" heDAT*ight="76" width="681" format="[general]" html.valueishtml="0" name=latitude_data visible="1" edit.limit=0 edit.case=any edit.focusrectangle=no edit.autoselect=yes edit.autohscroll=yes edit.imemode=0 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=14 alignment="1" tabsequence=32766 border="0" color="33554432" x="10537" y="8" height="76" width="681" format="[general]" htDAT*ml.valueishtml="0" name=longitude_data visible="1" edit.limit=0 edit.case=any edit.focusrectangle=no edit.autoselect=yes edit.autohscroll=yes edit.imemode=0 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=15 alignment="1" tabsequence=32766 border="0" color="33554432" x="11227" y="8" height="76" width="681" format="[general]" html.valueishtml="0" name=northing_km_data DAT*visible="1" edit.limit=0 edit.case=any edit.focusrectangle=no edit.autoselect=yes edit.autohscroll=yes edit.imemode=0 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=16 alignment="1" tabsequence=32766 border="0" color="33554432" x="11918" y="8" height="76" width="681" format="[general]" html.valueishtml="0" name=zone_no visible="1" edit.limit=0 edit.case=any edit.focusDAT*rectangle=no edit.autoselect=yes edit.autohscroll=yes edit.imemode=0 font.face="Arial" font.height="-10" font.weight="400" font.family="2" font.pitch="2" font.charset="0" background.mode="1" background.color="536870912" ) htmltable(border="1" ) htmlgen(clientevents="1" clientvalidation="1" clientcomputedfields="1" clientformatting="0" clientscriptable="0" generatejavascript="1" netscapelayers="0" ) DAT*PDW0800ypdwPlHG````e F$ynn``DAT*t @@DAT*$ 536870912@A`$  !end_date_time_t< $ 0% MS Sans SerifMS Sans Serif$2DAT*$-8$700$1$ 553648127$18$t116$@64$ 201%"#Date:Date:`-%  &(*comment_text_t$'DAT*20$)206%+,Status:Status:A$./ 7&9 ;=  @ comment_text< 035%12ArialArial$4-10$6400$8238DAT*$:n622$<5&>? [general] [general]-B/ 79 ;C (Fend_date_time&DE[shortdate] [time][shortdate] [time]@JIDAT*sKL MN @OP @QRDAT*@ST @UV @WX@YZ @]-[\ @^_ @`a @dAbDAT*c @ef @gh@ij @kl@mn @op@qr @DAT*rap_dm_activitiesridrap_dm_activities.ridcreation_date_time%rap_dm_activities.creation_date_time metric_coderap_dm_activities.metric_codemetric_level_type$rap_dm_activities.metric_level_typeref_ridrap_dm_activities.ref_ridstart_date_time"rap_dm_activities.start_date_timeuser_idrap_dm_activities.user_idvaluerap_dm_activities.value comment_textrap_dm_activities.comment_text-confidentiDAT*al_flag$rap_dm_activities.confidential_flag data_coderap_dm_activities.data_codeend_date_time rap_dm_activities.end_date_timeAmaterial_code rap_dm_activities.material_code method_typerap_dm_activities.method_typereference_code!rap_dm_activities.reference_codereference_type!rap_dm_activities.reference_type value_amtrap_dm_activities.value_amt value_typerap_dm_activities.value_typevalue_unit_code"DAT*rap_dm_activities.value_unit_codePBSELECT( VERSION(400) TABLE(NAME="rap_dm_activities" ) COLUMN(NAME="rap_dm_activities.rid") COLUMN(NAME="rap_dm_activities.creation_date_time") COLUMN(NAME="rap_dm_activities.metric_code") COLUMN(NAME="rap_dm_activities.metric_level_type") COLUMN(NAME="rap_dm_activities.ref_rid") COLUMN(NAME="rap_dm_activities.start_date_time") COLUMN(NAME="rap_dm_activities.user_id") COLUMN(NAME="rap_dm_activities.value") COLUMN(NAME="rap_dm_activities.comment_text") COLUMN(DAT*NAME="rap_dm_activities.confidential_flag") COLUMN(NAME="rap_dm_activities.data_code") COLUMN(NAME="rap_dm_activities.end_date_time") COLUMN(NAME="rap_dm_activities.material_code") COLUMN(NAME="rap_dm_activities.method_type") COLUMN(NAME="rap_dm_activities.reference_code") COLUMN(NAME="rap_dm_activities.reference_type") COLUMN(NAME="rap_dm_activities.value_amt") COLUMN(NAME="rap_dm_activities.value_type") COLUMN(NAME="rap_dm_activities.value_unit_code")WHERE( EXP1 ="rap_dm_activities.rid" OP DAT*|="=" EXP2 ="-1" ) ) uw "vno"xyesDAT*release 6; datawindow(units=0 timer_interval=0 color=80269524 processing=0 print.documentname="" print.orientation = 0 print.margin.left = 110 print.margin.right = 110 print.margin.top = 96 print.margin.bottom = 96 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=200 color="536870912" ) table(column=(type=decimal(0) update=yes updatewhereclause=yes key=DAT*yes name=rid dbname="rap_dm_activities.rid" ) column=(type=datetime update=yes updatewhereclause=yes name=creation_date_time dbname="rap_dm_activities.creation_date_time" ) column=(type=char(12) update=yes updatewhereclause=yes name=metric_code dbname="rap_dm_activities.metric_code" ) column=(type=char(3) update=yes updatewhereclause=yes name=metric_level_type dbname="rap_dm_activities.metric_level_type" ) column=(type=decimal(0) update=yes updatewhereclause=yes name=ref_rid dbname="rap_dmDAT*_activities.ref_rid" ) column=(type=datetime update=yes updatewhereclause=yes name=start_date_time dbname="rap_dm_activities.start_date_time" ) column=(type=char(4) update=yes updatewhereclause=yes name=user_id dbname="rap_dm_activities.user_id" ) column=(type=char(12) update=yes updatewhereclause=yes name=value dbname="rap_dm_activities.value" ) column=(type=char(255) update=yes updatewhereclause=yes name=comment_text dbname="rap_dm_activities.comment_text" ) column=(type=char(1) updateDAT*=yes updatewhereclause=yes name=confidential_flag dbname="rap_dm_activities.confidential_flag" ) column=(type=char(4) update=yes updatewhereclause=yes name=data_code dbname="rap_dm_activities.data_code" ) column=(type=datetime update=yes updatewhereclause=yes name=end_date_time dbname="rap_dm_activities.end_date_time" ) column=(type=char(12) update=yes updatewhereclause=yes name=material_code dbname="rap_dm_activities.material_code" ) column=(type=char(2) update=yes updatewhereclause=yes nDAT*ame=method_type dbname="rap_dm_activities.method_type" ) column=(type=char(12) update=yes updatewhereclause=yes name=reference_code dbname="rap_dm_activities.reference_code" ) column=(type=char(6) update=yes updatewhereclause=yes name=reference_type dbname="rap_dm_activities.reference_type" ) column=(type=decimal(11) update=yes updatewhereclause=yes name=value_amt dbname="rap_dm_activities.value_amt" ) column=(type=char(3) update=yes updatewhereclause=yes name=value_type dbname="rap_dm_actDAT*ivities.value_type" ) column=(type=char(8) update=yes updatewhereclause=yes name=value_unit_code dbname="rap_dm_activities.value_unit_code" ) retrieve="PBSELECT( VERSION(400) TABLE(NAME=~"rap_dm_activities~" ) COLUMN(NAME=~"rap_dm_activities.rid~") COLUMN(NAME=~"rap_dm_activities.creation_date_time~") COLUMN(NAME=~"rap_dm_activities.metric_code~") COLUMN(NAME=~"rap_dm_activities.metric_level_type~") COLUMN(NAME=~"rap_dm_activities.ref_rid~") COLUMN(NAME=~"rap_dm_activities.start_date_time~") CDAT*OLUMN(NAME=~"rap_dm_activities.user_id~") COLUMN(NAME=~"rap_dm_activities.value~") COLUMN(NAME=~"rap_dm_activities.comment_text~") COLUMN(NAME=~"rap_dm_activities.confidential_flag~") COLUMN(NAME=~"rap_dm_activities.data_code~") COLUMN(NAME=~"rap_dm_activities.end_date_time~") COLUMN(NAME=~"rap_dm_activities.material_code~") COLUMN(NAME=~"rap_dm_activities.method_type~") COLUMN(NAME=~"rap_dm_activities.reference_code~") COLUMN(NAME=~"rap_dm_activities.reference_type~") COLUMN(NAME=~"rap_dm_activitDAT*ies.value_amt~") COLUMN(NAME=~"rap_dm_activities.value_type~") COLUMN(NAME=~"rap_dm_activities.value_unit_code~")WHERE( EXP1 =~"rap_dm_activities.rid~" OP =~"=~" EXP2 =~"-1~" ) ) " update="rap_dm_activities" updatewhere=1 updatekeyinplace=no ) text(band=detail alignment="0" text="Date:"border="0" color="0" x="18" y="116" height="64" width="201" name=end_date_time_t font.face="MS Sans Serif" font.height="-8" font.weight="700" font.family="2" font.pitch="2" font.charset="0" background.moDAT*de="1" background.color="553648127" ) text(band=detail alignment="0" text="Status:"border="0" color="0" x="18" y="20" height="64" width="206" name=comment_text_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=9 alignment="0" tabsequence=32766 border="5" color="0" x="238" y="20" height="64" width="622" format="[general]" name=comment_text edit.limit=0 edit.casDAT*e=any edit.autoselect=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=detail id=12 alignment="0" tabsequence=32766 border="5" color="0" x="238" y="116" height="64" width="622" format="[shortdate] [time]" name=end_date_time 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.faDAT*mily="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*PDW0800ppdwPl21````4 F$"pnn``DAT*k @D` DAT* rid_t< $0%  MS Sans SerifMS Sans Serif$ 2$-8$700$1$ 536870912$ DAT*9$8$452$<274%RidRid`)! "$&code_t$#@%293$%658%'(Agency Process CodeAgency Process Code`2 * +DAT*-/ device_rid_t$,960$.IN334%01 Device Rid Device Rid`;)3 468id_t$51303$7{2562%9:Agency Process IdAgency Process Id`D2<DAT* =?Acomment_text_t$>R1874$@2194%BC Comments Comments`M;E FHJdaily_schedule_code_t$G|4078$Ir626%KLDaily Schedule CodeDaily Schedule Code`VDNDAT* OQS group_flag_t$Pi4713$RHI329%TU Group Flag Group Flag`_MW XZ\ group_type_t$YQ5051$[n878%]^ Group Type Group Type`hDAT*V` ace mode_type_t$b25938$d: 265%fgModeMode`q_i jlnname_t$kOE6213$m1755%opAgency Process NameAgency Process NDAT*ame`zhr suwoperator_code_t$t)7977$v695%xyOperator Process CodeOperator Process Code`q{ |~operator_id_t$}k!8681$[603%DAT*Operator Process IdOperator Process Id`z operator_name_t$N$9294$1755%Operator Process NameOperator Process Name` primary_material_code_t$s 2+DAT*11058$658%Primary Material CodePrimary Material Code` scc_ams_code_t$ -11726$c453% SCC AMS Code SCC AMS Code` weekly_DAT*schedule_code_t$j /12187$695%Weekly Schedule CodeWeekly Schedule Code` yearly_schedule_code_t$ [212891$663%Yearly Schedule CodeYearly Schedule Code@DAT*@P* (rid$ 9$@64$<274& [general] [general]DAT*(code$@%293$658& [general] [general]( device_rid$960$IN334DAT*((id$1303${25622( comment_text$R1874$2194DAT*<(daily_schedule_code$|4078$r626F( group_flag$i4713$HI329DAT*P( group_type$Q5051$n878 Z( mode_type$25938$: 265DAT* d(2name$OE6213$1755 n(operator_code$)7977$695  DAT* x(  operator_id$ k!8681$ [603 (2operator_name$N$9294$1755DAT*( primary_material_code$s 2+11058$658# (" scc_ams_code$ -11726$!c453*$%'DAT*()weekly_schedule_code$&j /12187$(695#+,.(0yearly_schedule_code$- [212891$/663@35DAT*j978 <:;?=> BDAT*@AECDHFGKIJNLMQOP TRS 3WUV DAT*ZXY ][\ 3`^_ cab f#dei*gh de4:an_sourceRidArray ou6an_sourceRidArrayridrap_processes.ridDAT*coderap_processes.code device_ridrap_processes.device_rididrap_processes.id comment_textrap_processes.comment_textdaily_schedule_code"rap_processes.daily_schedule_code group_flagrap_processes.group_flag group_typerap_processes.group_type mode_typerap_processes.mode_typeDAT*namerap_processes.nameoperator_coderap_processes.operator_code operator_idrap_processes.operator_idoperator_namerap_processes.operator_nameprimary_material_code$rap_processes.primary_material_code scc_ams_coderap_processes.scc_ams_codeweekly_schedule_code#rap_processes.weekly_schedule_codeDAT* #yearly_schedule_code#rap_processes.yearly_schedule_code*PBSELECT( VERSION(400) TABLE(NAME="rap_processes" ) TABLE(NAME="rap_devices" ) TABLE(NAME="rap_connections" ) COLUMN(NAME="rap_processes.rid") COLUMN(NAME="rap_processes.code") COLUMN(NAME="rap_processes.device_rid") COLUMN(NAME="rap_processes.id") COLUMN(NAME="rap_processes.comment_text") COLUMN(NAME="rap_processes.daily_schedule_code") COLUMN(NAME="rap_processes.group_flag") COLUMN(NAME="rap_proDAT* cesses.group_type") COLUMN(NAME="rap_processes.mode_type") COLUMN(NAME="rap_processes.name") COLUMN(NAME="rap_processes.operator_code") COLUMN(NAME="rap_processes.operator_id") COLUMN(NAME="rap_processes.operator_name") COLUMN(NAME="rap_processes.primary_material_code") COLUMN(NAME="rap_processes.scc_ams_code") COLUMN(NAME="rap_processes.weekly_schedule_code") COLUMN(NAME="rap_processes.yearly_schedule_code") JOIN (LEFT="rap_devices.rid" OP ="="RIGHT="rap_connections.to_device_rid" OUTER1DAT* ="rap_devices.rid" ) JOIN (LEFT="rap_devices.rid" OP ="="RIGHT="rap_processes.device_rid" ) WHERE( EXP1 ="rap_devices.source_rid" OP ="in" EXP2 ="" LOGIC ="and" ) WHERE( EXP1 ="rap_connections.from_device_rid" OP ="is" EXP2 ="null" ) ) ARG(NAME = "an_sourceRidArray" TYPE = numberlist) ln"mno"oyesDAT*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 = 96 print.margin.bottom = 96 print.paper.source = 0 print.paper.size = 0 print.prompt=no print.buttons=no print.preview.buttons=no grid.lines=0 ) header(height=68 color="536870912" ) summary(height=0 color="536870912" ) footer(height=0 color="536870912" ) detail(height=80 color="536870912" ) table(column=(typDAT*e=decimal(0) updatewhereclause=yes name=rid dbname="rap_processes.rid" ) column=(type=char(15) updatewhereclause=yes name=code dbname="rap_processes.code" ) column=(type=decimal(0) updatewhereclause=yes name=device_rid dbname="rap_processes.device_rid" ) column=(type=char(15) updatewhereclause=yes name=id dbname="rap_processes.id" ) column=(type=char(255) updatewhereclause=yes name=comment_text dbname="rap_processes.comment_text" ) column=(type=char(2) updatewhereclause=yes name=daily_scDAT*hedule_code dbname="rap_processes.daily_schedule_code" ) column=(type=char(1) updatewhereclause=yes name=group_flag dbname="rap_processes.group_flag" ) column=(type=char(20) updatewhereclause=yes name=group_type dbname="rap_processes.group_type" ) column=(type=char(6) updatewhereclause=yes name=mode_type dbname="rap_processes.mode_type" ) column=(type=char(50) updatewhereclause=yes name=name dbname="rap_processes.name" ) column=(type=char(15) updatewhereclause=yes name=operator_code dbnaDAT*me="rap_processes.operator_code" ) column=(type=char(15) updatewhereclause=yes name=operator_id dbname="rap_processes.operator_id" ) column=(type=char(50) updatewhereclause=yes name=operator_name dbname="rap_processes.operator_name" ) column=(type=char(12) updatewhereclause=yes name=primary_material_code dbname="rap_processes.primary_material_code" ) column=(type=char(10) updatewhereclause=yes name=scc_ams_code dbname="rap_processes.scc_ams_code" ) column=(type=char(2) updatewhereclause=DAT*yes name=weekly_schedule_code dbname="rap_processes.weekly_schedule_code" ) column=(type=char(2) updatewhereclause=yes name=yearly_schedule_code dbname="rap_processes.yearly_schedule_code" ) retrieve="PBSELECT( VERSION(400) TABLE(NAME=~"rap_processes~" ) TABLE(NAME=~"rap_devices~" ) TABLE(NAME=~"rap_connections~" ) COLUMN(NAME=~"rap_processes.rid~") COLUMN(NAME=~"rap_processes.code~") COLUMN(NAME=~"rap_processes.device_rid~") COLUMN(NAME=~"rap_processes.id~") COLUMN(NAME=~"rap_processes.commDAT*ent_text~") COLUMN(NAME=~"rap_processes.daily_schedule_code~") COLUMN(NAME=~"rap_processes.group_flag~") COLUMN(NAME=~"rap_processes.group_type~") COLUMN(NAME=~"rap_processes.mode_type~") COLUMN(NAME=~"rap_processes.name~") COLUMN(NAME=~"rap_processes.operator_code~") COLUMN(NAME=~"rap_processes.operator_id~") COLUMN(NAME=~"rap_processes.operator_name~") COLUMN(NAME=~"rap_processes.primary_material_code~") COLUMN(NAME=~"rap_processes.scc_ams_code~") COLUMN(NAME=~"rap_processes.weekly_schedule_codeDAT*~") COLUMN(NAME=~"rap_processes.yearly_schedule_code~") JOIN (LEFT=~"rap_devices.rid~" OP =~"=~"RIGHT=~"rap_connections.to_device_rid~" OUTER1 =~"rap_devices.rid~" ) JOIN (LEFT=~"rap_devices.rid~" OP =~"=~"RIGHT=~"rap_processes.device_rid~" ) WHERE( EXP1 =~"rap_devices.source_rid~" OP =~"in~" EXP2 =~":an_sourceRidArray~" LOGIC =~"and~" ) WHERE( EXP1 =~"rap_connections.from_device_rid~" OP =~"is~" EXP2 =~"null~" ) ) ARG(NAME = ~"an_sourceRidArray~" TYPE = numberlistDAT*) " arguments=(("an_sourceRidArray", numberlist)) ) text(band=header alignment="2" text="Rid"border="0" color="0" x="9" y="8" height="52" width="274" name=rid_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="Agency Process Code"border="0" color="0" x="293" y="8" height="52" width="658" name=code_t font.face="MS Sans Serif" font.height="-8" fonDAT* t.weight="700" font.family="2" font.pitch="2" font.charset="0" background.mode="1" background.color="536870912" ) text(band=header alignment="2" text="Device Rid"border="0" color="0" x="960" y="8" height="52" width="334" name=device_rid_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="Agency Process Id"border="0" color="0" x="1303" y="8" heightDAT*"="52" width="562" name=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="2" text="Comments"border="0" color="0" x="1874" y="8" height="52" width="2194" name=comment_text_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 alDAT*$ignment="2" text="Daily Schedule Code"border="0" color="0" x="4078" y="8" height="52" width="626" name=daily_schedule_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="Group Flag"border="0" color="0" x="4713" y="8" height="52" width="329" name=group_flag_t font.face="MS Sans Serif" font.height="-8" font.weight="700" font.family="2" font.piDAT*&tch="2" font.charset="0" background.mode="1" background.color="536870912" ) text(band=header alignment="2" text="Group Type"border="0" color="0" x="5051" y="8" height="52" width="878" name=group_type_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="Mode"border="0" color="0" x="5938" y="8" height="52" width="265" name=mode_type_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="2" text="Agency Process Name"border="0" color="0" x="6213" y="8" height="52" width="1755" name=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="2" text="Operator Process Code"bDAT**order="0" color="0" x="7977" y="8" height="52" width="695" name=operator_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="Operator Process Id"border="0" color="0" x="8681" y="8" height="52" width="603" name=operator_id_t 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" ) text(band=header alignment="2" text="Operator Process Name"border="0" color="0" x="9294" y="8" height="52" width="1755" name=operator_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="2" text="Primary Material Code"border="0" color="0" x="11058" y="8" height="52" width="658" name=primary_material_code_t 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" ) text(band=header alignment="2" text="SCC AMS Code"border="0" color="0" x="11726" y="8" height="52" width="453" name=scc_ams_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="Weekly SchedDAT*0ule Code"border="0" color="0" x="12187" y="8" height="52" width="695" name=weekly_schedule_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="Yearly Schedule Code"border="0" color="0" x="12891" y="8" height="52" width="663" name=yearly_schedule_code_t font.face="MS Sans Serif" font.height="-8" font.weight="700" font.family="2" font.pitch="2DAT*2" font.charset="0" background.mode="1" background.color="536870912" ) column(band=detail id=1 alignment="1" tabsequence=10 border="0" color="0" x="9" y="8" height="64" width="274" format="[general]" name=rid 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" ) column(band=detail id=2 alignment="0" DAT*4tabsequence=20 border="0" color="0" x="293" y="8" height="64" width="658" format="[general]" name=code edit.limit=15 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="1" tabsequence=30 border="0" color="0" x="960" y="8" height="64" width="334" format="[general]" name=deviceDAT*6_rid 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" ) column(band=detail id=4 alignment="0" tabsequence=40 border="0" color="0" x="1303" y="8" height="64" width="562" format="[general]" name=id edit.limit=15 edit.case=any edit.focusrectangle=no edit.autoselect=yes edit.autohscroll=yes font.faceDAT*8="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=50 border="0" color="0" x="1874" y="8" height="64" width="2194" format="[general]" name=comment_text edit.limit=255 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.charsDAT*:et="0" background.mode="1" background.color="536870912" ) column(band=detail id=6 alignment="0" tabsequence=60 border="0" color="0" x="4078" y="8" height="64" width="626" format="[general]" name=daily_schedule_code edit.limit=2 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 alignmeDAT*<nt="0" tabsequence=70 border="0" color="0" x="4713" y="8" height="64" width="329" format="[general]" name=group_flag edit.limit=1 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=8 alignment="0" tabsequence=80 border="0" color="0" x="5051" y="8" height="64" width="878" format="[general]DAT*>" name=group_type edit.limit=20 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=9 alignment="0" tabsequence=90 border="0" color="0" x="5938" y="8" height="64" width="265" format="[general]" name=mode_type edit.limit=6 edit.case=any edit.focusrectangle=no edit.autoselect=yes edit.autohDAT*@scroll=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=100 border="0" color="0" x="6213" y="8" height="64" width="1755" format="[general]" name=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=DAT*B"2" font.charset="0" background.mode="1" background.color="536870912" ) column(band=detail id=11 alignment="0" tabsequence=110 border="0" color="0" x="7977" y="8" height="64" width="695" format="[general]" name=operator_code edit.limit=15 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 iDAT*Dd=12 alignment="0" tabsequence=120 border="0" color="0" x="8681" y="8" height="64" width="603" format="[general]" name=operator_id edit.limit=15 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=13 alignment="0" tabsequence=130 border="0" color="0" x="9294" y="8" height="64" width="1755"DAT*F format="[general]" name=operator_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=14 alignment="0" tabsequence=140 border="0" color="0" x="11058" y="8" height="64" width="658" format="[general]" name=primary_material_code edit.limit=12 edit.case=any edit.focusrectanDAT*Hgle=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=15 alignment="0" tabsequence=150 border="0" color="0" x="11726" y="8" height="64" width="453" format="[general]" name=scc_ams_code edit.limit=10 edit.case=any edit.focusrectangle=no edit.autoselect=yes edit.autohscroll=yes font.face="MS Sans Serif" font.height="-8" fDAT*Jont.weight="700" font.family="2" font.pitch="2" font.charset="0" background.mode="1" background.color="536870912" ) column(band=detail id=16 alignment="0" tabsequence=160 border="0" color="0" x="12187" y="8" height="64" width="695" format="[general]" name=weekly_schedule_code edit.limit=2 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" DAT*Lbackground.color="536870912" ) column(band=detail id=17 alignment="0" tabsequence=170 border="0" color="0" x="12891" y="8" height="64" width="663" format="[general]" name=yearly_schedule_code edit.limit=2 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" gDAT*eneratecss="no" nowrap="yes") DAT*PPDW0800npdwPl21````1 F$"nnn``DAT*Ri @P` DAT*T rid_t< $0%  ArialArial$ 2$-10$400$1$ 536870912$ 9$DAT*V8$@64$HI329%RidRid`)! "$&code_t$#L[347$%`439%'(CodeCode`2 * +-/ device_rDAT*Xid_t$,795$.HI329%01 Device Rid Device Rid`;)3 468id_t$5n1134$7`439%9:IdId`D2< =?Acomment_text_t$DAT*Z>Z.1582$@ 3511%BC Comment Text Comment Text`M;E FHJdaily_schedule_code_t$G\5102$Iy)553%KLDaily Schedule CodeDaily Schedule Code`VDN OQSDAT*\ group_flag_t$P 5664$R@%293%TU Group Flag Group Flag`_MW XZ\ group_type_t$YN5966$[~@576%]^ Group Type Group Type`hV` aDAT*^ce mode_type_t$b6551$d@%293%fg Mode Type Mode Type`q_i jlnname_t$k6853$m2w1399%opNameName`zhr suwDAT*`operator_code_t$tE 8261$v`439%xyOperator CodeOperator Code`q{ |~operator_id_t$}q"8709$`439% Operator Id Operator Id`z DAT*boperator_name_t$#9157$2w1399%Operator NameOperator Name` primary_material_code_t$ E)10565$N590%Primary Material CodePrimary Material Code`DAT*d scc_ams_code_t$ +11163$X402% Scc Ams Code Scc Ams Code` weekly_schedule_code_t$ 7-11575$n622%WeeklDAT*fy Schedule CodeWeekly Schedule Code` yearly_schedule_code_t$n /12206$N590%Yearly Schedule CodeYearly Schedule Code@@\*DAT*h (rid$ 9$L76$HI329& [general] [general](code$L[347$`DAT*j439& [general] [general]( device_rid$795$HI329((id$nDAT*l1134$`4392( comment_text$Z.1582$ 3511<(daily_schedule_code$\DAT*n5102$y)553F( group_flag$ 5664$@%293P( group_type$N5966DAT*p$~@576 Z( mode_type$6551$@%293 d(2name$6853$2DAT*rw1399 n(operator_code$E 8261$`439   x(  operator_id$ q"8709$ `DAT*t439 (2operator_name$#9157$2w1399( primary_material_code$ E)10565$NDAT*v590# (" scc_ams_code$ +11163$!X402*$%'()weekly_schedule_code$& 7-11575$(nDAT*x622#+,.(0yearly_schedule_code$-n /12206$/N590@43hDAT*z@756 :89@=;< @@>?@CAB@FDAT*|DE@IGH@LJK@OMN @RPQ 3@UST @XVW @[YZ 3@DAT*~^\] @a_` @d#bc@g*ef@rap_dm_processesridrap_dm_processes.ridcoderap_dm_processes.code device_ridrap_dm_processes.device_rididrap_dm_processes.idDAT* comment_textrap_dm_processes.comment_textdaily_schedule_code%rap_dm_processes.daily_schedule_code group_flagrap_dm_processes.group_flag group_typerap_dm_processes.group_type mode_typerap_dm_processes.mode_typenamerap_dm_processes.nameoperator_coderap_dm_processes.operator_code operatDAT*or_idrap_dm_processes.operator_idoperator_namerap_dm_processes.operator_nameprimary_material_code'rap_dm_processes.primary_material_code scc_ams_coderap_dm_processes.scc_ams_codeweekly_schedule_code&rap_dm_processes.weekly_schedule_code#yearly_schedule_code&rap_dm_processes.yearly_schedule_code*+PBSELECT( VERSION(400) TABLE(NAMDAT*E="rap_dm_processes" ) COLUMN(NAME="rap_dm_processes.rid") COLUMN(NAME="rap_dm_processes.code") COLUMN(NAME="rap_dm_processes.device_rid") COLUMN(NAME="rap_dm_processes.id") COLUMN(NAME="rap_dm_processes.comment_text") COLUMN(NAME="rap_dm_processes.daily_schedule_code") COLUMN(NAME="rap_dm_processes.group_flag") COLUMN(NAME="rap_dm_processes.group_type") COLUMN(NAME="rap_dm_processes.mode_type") COLUMN(NAME="rap_dm_processes.name") COLUMN(NAME="rap_dm_processes.operator_code") COLUMN(NAME="rap_dm_DAT*yprocesses.operator_id") COLUMN(NAME="rap_dm_processes.operator_name") COLUMN(NAME="rap_dm_processes.primary_material_code") COLUMN(NAME="rap_dm_processes.scc_ams_code") COLUMN(NAME="rap_dm_processes.weekly_schedule_code") COLUMN(NAME="rap_dm_processes.yearly_schedule_code")) jl"kno"myesDAT*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 = 96 print.margin.bottom = 96 print.paper.source = 0 print.paper.size = 0 print.prompt=no print.buttons=no print.preview.buttons=no grid.lines=0 ) header(height=80 color="536870912" ) summary(height=0 color="536870912" ) footer(height=0 color="536870912" ) detail(height=92 color="536870912" ) table(column=(typDAT*e=decimal(0) update=yes updatewhereclause=yes key=yes name=rid dbname="rap_dm_processes.rid" ) column=(type=char(15) update=yes updatewhereclause=yes name=code dbname="rap_dm_processes.code" ) column=(type=decimal(0) update=yes updatewhereclause=yes name=device_rid dbname="rap_dm_processes.device_rid" ) column=(type=char(15) update=yes updatewhereclause=yes name=id dbname="rap_dm_processes.id" ) column=(type=char(255) update=yes updatewhereclause=yes name=comment_text dbname="rap_dm_procesDAT*ses.comment_text" ) column=(type=char(2) update=yes updatewhereclause=yes name=daily_schedule_code dbname="rap_dm_processes.daily_schedule_code" ) column=(type=char(1) update=yes updatewhereclause=yes name=group_flag dbname="rap_dm_processes.group_flag" ) column=(type=char(20) update=yes updatewhereclause=yes name=group_type dbname="rap_dm_processes.group_type" ) column=(type=char(6) update=yes updatewhereclause=yes name=mode_type dbname="rap_dm_processes.mode_type" ) column=(type=char(5DAT*0) update=yes updatewhereclause=yes name=name dbname="rap_dm_processes.name" ) column=(type=char(15) update=yes updatewhereclause=yes name=operator_code dbname="rap_dm_processes.operator_code" ) column=(type=char(15) update=yes updatewhereclause=yes name=operator_id dbname="rap_dm_processes.operator_id" ) column=(type=char(50) update=yes updatewhereclause=yes name=operator_name dbname="rap_dm_processes.operator_name" ) column=(type=char(12) update=yes updatewhereclause=yes name=primary_matDAT*erial_code dbname="rap_dm_processes.primary_material_code" ) column=(type=char(10) update=yes updatewhereclause=yes name=scc_ams_code dbname="rap_dm_processes.scc_ams_code" ) column=(type=char(2) update=yes updatewhereclause=yes name=weekly_schedule_code dbname="rap_dm_processes.weekly_schedule_code" ) column=(type=char(2) update=yes updatewhereclause=yes name=yearly_schedule_code dbname="rap_dm_processes.yearly_schedule_code" ) retrieve="PBSELECT( VERSION(400) TABLE(NAME=~"rap_dm_processeDAT*s~" ) COLUMN(NAME=~"rap_dm_processes.rid~") COLUMN(NAME=~"rap_dm_processes.code~") COLUMN(NAME=~"rap_dm_processes.device_rid~") COLUMN(NAME=~"rap_dm_processes.id~") COLUMN(NAME=~"rap_dm_processes.comment_text~") COLUMN(NAME=~"rap_dm_processes.daily_schedule_code~") COLUMN(NAME=~"rap_dm_processes.group_flag~") COLUMN(NAME=~"rap_dm_processes.group_type~") COLUMN(NAME=~"rap_dm_processes.mode_type~") COLUMN(NAME=~"rap_dm_processes.name~") COLUMN(NAME=~"rap_dm_processes.operator_code~") COLUMN(NAME=~"rDAT*ap_dm_processes.operator_id~") COLUMN(NAME=~"rap_dm_processes.operator_name~") COLUMN(NAME=~"rap_dm_processes.primary_material_code~") COLUMN(NAME=~"rap_dm_processes.scc_ams_code~") COLUMN(NAME=~"rap_dm_processes.weekly_schedule_code~") COLUMN(NAME=~"rap_dm_processes.yearly_schedule_code~")) " update="rap_dm_processes" updatewhere=0 updatekeyinplace=yes ) text(band=header alignment="2" text="Rid"border="0" color="0" x="9" y="8" height="64" width="329" name=rid_t font.face="Arial" font.height="-DAT*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="Code"border="0" color="0" x="347" y="8" height="64" width="439" name=code_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="Device Rid"border="0" color="0" x="795" y="8" height="64" width="329" nDAT*ame=device_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="Id"border="0" color="0" x="1134" y="8" height="64" width="439" name=id_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="Comment Text"border="0" cDAT*olor="0" x="1582" y="8" height="64" width="3511" name=comment_text_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="Daily Schedule Code"border="0" color="0" x="5102" y="8" height="64" width="553" name=daily_schedule_code_t font.face="Arial" font.height="-10" font.weight="400" font.family="2" font.pitch="2" font.charset="0" background.mode="1" backgroDAT*und.color="536870912" ) text(band=header alignment="2" text="Group Flag"border="0" color="0" x="5664" y="8" height="64" width="293" name=group_flag_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="Group Type"border="0" color="0" x="5966" y="8" height="64" width="576" name=group_type_t font.face="Arial" font.height="-10" font.weight="400" font.familyDAT*="2" font.pitch="2" font.charset="0" background.mode="1" background.color="536870912" ) text(band=header alignment="2" text="Mode Type"border="0" color="0" x="6551" y="8" height="64" width="293" name=mode_type_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="Name"border="0" color="0" x="6853" y="8" height="64" width="1399" name=name_t font.face="AriaDAT*l" 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="Operator Code"border="0" color="0" x="8261" y="8" height="64" width="439" name=operator_code_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="Operator Id"border="0" color="0" x="DAT*8709" y="8" height="64" width="439" name=operator_id_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="Operator Name"border="0" color="0" x="9157" y="8" height="64" width="1399" name=operator_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" ) DAT*text(band=header alignment="2" text="Primary Material Code"border="0" color="0" x="10565" y="8" height="64" width="590" name=primary_material_code_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="Scc Ams Code"border="0" color="0" x="11163" y="8" height="64" width="402" name=scc_ams_code_t font.face="Arial" font.height="-10" font.weight="400" font.famDAT*ily="2" font.pitch="2" font.charset="0" background.mode="1" background.color="536870912" ) text(band=header alignment="2" text="Weekly Schedule Code"border="0" color="0" x="11575" y="8" height="64" width="622" name=weekly_schedule_code_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="Yearly Schedule Code"border="0" color="0" x="12206" y="8" height="64"DAT* width="590" name=yearly_schedule_code_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=10 border="0" color="0" x="9" y="8" height="76" width="329" format="[general]" name=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" foDAT*nt.pitch="2" font.charset="0" background.mode="1" background.color="536870912" ) column(band=detail id=2 alignment="0" tabsequence=20 border="0" color="0" x="347" y="8" height="76" width="439" format="[general]" name=code edit.limit=15 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=3 alignmDAT*ent="1" tabsequence=30 border="0" color="0" x="795" y="8" height="76" width="329" format="[general]" name=device_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" tabsequence=40 border="0" color="0" x="1134" y="8" height="76" width="439" format="[general]" nameDAT*=id edit.limit=15 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="0" tabsequence=50 border="0" color="0" x="1582" y="8" height="76" width="3511" format="[general]" name=comment_text edit.limit=255 edit.case=any edit.focusrectangle=no edit.autoselect=yes edit.autohscroll=yes fontDAT*.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=60 border="0" color="0" x="5102" y="8" height="76" width="553" format="[general]" name=daily_schedule_code edit.limit=2 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="0DAT*" background.mode="1" background.color="536870912" ) column(band=detail id=7 alignment="0" tabsequence=70 border="0" color="0" x="5664" y="8" height="76" width="293" format="[general]" name=group_flag edit.limit=1 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=8 alignment="0" tabsequence=80DAT* border="0" color="0" x="5966" y="8" height="76" width="576" format="[general]" name=group_type edit.limit=20 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=9 alignment="0" tabsequence=90 border="0" color="0" x="6551" y="8" height="76" width="293" format="[general]" name=mode_type edit.limiDAT*t=6 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=10 alignment="0" tabsequence=100 border="0" color="0" x="6853" y="8" height="76" width="1399" format="[general]" name=name edit.limit=50 edit.case=any edit.focusrectangle=no 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" ) column(band=detail id=11 alignment="0" tabsequence=110 border="0" color="0" x="8261" y="8" height="76" width="439" format="[general]" name=operator_code edit.limit=15 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" baDAT*ckground.color="536870912" ) column(band=detail id=12 alignment="0" tabsequence=120 border="0" color="0" x="8709" y="8" height="76" width="439" format="[general]" name=operator_id edit.limit=15 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=13 alignment="0" tabsequence=130 border="0" color=DAT*"0" x="9157" y="8" height="76" width="1399" format="[general]" name=operator_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=14 alignment="0" tabsequence=140 border="0" color="0" x="10565" y="8" height="76" width="590" format="[general]" name=primary_material_code edit.limDAT*it=12 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=15 alignment="0" tabsequence=150 border="0" color="0" x="11163" y="8" height="76" width="402" format="[general]" name=scc_ams_code edit.limit=10 edit.case=any edit.focusrectangle=no edit.autoselect=yes edit.autohscroll=yes font.face="AriaDAT*l" 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=16 alignment="0" tabsequence=160 border="0" color="0" x="11575" y="8" height="76" width="622" format="[general]" name=weekly_schedule_code edit.limit=2 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" backgDAT*round.mode="1" background.color="536870912" ) column(band=detail id=17 alignment="0" tabsequence=170 border="0" color="0" x="12206" y="8" height="76" width="590" format="[general]" name=yearly_schedule_code edit.limit=2 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" ) htmltable(border="1" cellpadding="0" cellspaciDAT*'ng="0" generatecss="no" nowrap="yes") DAT*PDW0800lpdwPl21````4 F$"lnn``DAT*g @D` DAT* rid_t< $0%  MS Sans SerifMS Sans Serif$ 2$-8$700$1$ 536870912$ DAT*9$8$452$<274%RidRid`)! "$&code_t$#@%293$%658%'(Agency Process CodeAgency Process Code`2 * +DAT*-/ device_rid_t$,960$.IN334%01 Device Rid Device Rid`;)3 468id_t$51303$7{2562%9:Agency Process IdAgency Process Id`D2<DAT* =?Acomment_text_t$>R1874$@2194%BC Comments Comments`M;E FHJdaily_schedule_code_t$G|4078$Ir626%KLDaily Schedule CodeDaily Schedule Code`VDNDAT* OQS group_flag_t$Pi4713$RHI329%TU Group Flag Group Flag`_MW XZ\ group_type_t$YQ5051$[n878%]^ Group Type Group Type`hDAT*V` ace mode_type_t$b25938$d: 265%fgModeMode`q_i jlnname_t$kOE6213$m1755%opAgency Process NameAgency Process NDAT*ame`zhr suwoperator_code_t$t)7977$v695%xyOperator Process CodeOperator Process Code`q{ |~operator_id_t$}k!8681$[603%DAT*Operator Process IdOperator Process Id`z operator_name_t$N$9294$1755%Operator Process NameOperator Process Name` primary_material_code_t$s 2+DAT*11058$658%Primary Material CodePrimary Material Code` scc_ams_code_t$ -11726$c453% SCC AMS Code SCC AMS Code` weekly_DAT*schedule_code_t$j /12187$695%Weekly Schedule CodeWeekly Schedule Code` yearly_schedule_code_t$ [212891$663%Yearly Schedule CodeYearly Schedule Code@DAT*@P* (rid$ 9$@64$<274& [general] [general]DAT*(code$@%293$658& [general] [general]( device_rid$960$IN334DAT*((id$1303${25622( comment_text$R1874$2194DAT*<(daily_schedule_code$|4078$r626F( group_flag$i4713$HI329DAT*P( group_type$Q5051$n878 Z( mode_type$25938$: 265DAT* d(2name$OE6213$1755 n(operator_code$)7977$695  DAT* x(  operator_id$ k!8681$ [603 (2operator_name$N$9294$1755DAT*( primary_material_code$s 2+11058$658# (" scc_ams_code$ -11726$!c453*$%'DAT*()weekly_schedule_code$&j /12187$(695#+,.(0yearly_schedule_code$- [212891$/663@DAT*f534 867;9: >DAT*<=A?@DBCGEFJHIMKL PNO 3SQR DAT*VTU YWX 3\Z[ _]^ b#`ae*cdridrap_processes.ridcoderap_processes.code devicDAT*e_ridrap_processes.device_rididrap_processes.id comment_textrap_processes.comment_textdaily_schedule_code"rap_processes.daily_schedule_code group_flagrap_processes.group_flag group_typerap_processes.group_type mode_typerap_processes.mode_typenamerap_processes.nameopeDAT*rator_coderap_processes.operator_code operator_idrap_processes.operator_idoperator_namerap_processes.operator_nameprimary_material_code$rap_processes.primary_material_code scc_ams_coderap_processes.scc_ams_codeweekly_schedule_code#rap_processes.weekly_schedule_code#yearly_schedule_code#rap_processes.yearly_schedule_codeDAT**<PBSELECT( VERSION(400) TABLE(NAME="rap_processes" ) TABLE(NAME="rap_devices" ) TABLE(NAME="rap_connections" ) COLUMN(NAME="rap_processes.rid") COLUMN(NAME="rap_processes.code") COLUMN(NAME="rap_processes.device_rid") COLUMN(NAME="rap_processes.id") COLUMN(NAME="rap_processes.comment_text") COLUMN(NAME="rap_processes.daily_schedule_code") COLUMN(NAME="rap_processes.group_flag") COLUMN(NAME="rap_processes.group_type") COLUMN(NAME="rap_processes.mode_type") COLUMN(NAME="rap_pDAT*rocesses.name") COLUMN(NAME="rap_processes.operator_code") COLUMN(NAME="rap_processes.operator_id") COLUMN(NAME="rap_processes.operator_name") COLUMN(NAME="rap_processes.primary_material_code") COLUMN(NAME="rap_processes.scc_ams_code") COLUMN(NAME="rap_processes.weekly_schedule_code") COLUMN(NAME="rap_processes.yearly_schedule_code") JOIN (LEFT="rap_connections.to_device_rid" OP ="="RIGHT="rap_devices.rid" OUTER2 ="rap_devices.rid" ) JOIN (LEFT="rap_devices.rid" OP ="="RIGHT="rap_proDAT*cesses.device_rid" ) WHERE( EXP1 ="rap_connections.from_device_rid" OP ="is" EXP2 ="null" ) ) hj"ino"kyesDAT*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 = 96 print.margin.bottom = 96 print.paper.source = 0 print.paper.size = 0 print.prompt=no print.buttons=no print.preview.buttons=no grid.lines=0 ) header(height=68 color="536870912" ) summary(height=0 color="536870912" ) footer(height=0 color="536870912" ) detail(height=80 color="536870912" ) table(column=(typDAT*e=decimal(0) updatewhereclause=yes name=rid dbname="rap_processes.rid" ) column=(type=char(15) updatewhereclause=yes name=code dbname="rap_processes.code" ) column=(type=decimal(0) updatewhereclause=yes name=device_rid dbname="rap_processes.device_rid" ) column=(type=char(15) updatewhereclause=yes name=id dbname="rap_processes.id" ) column=(type=char(255) updatewhereclause=yes name=comment_text dbname="rap_processes.comment_text" ) column=(type=char(2) updatewhereclause=yes name=daily_scDAT*hedule_code dbname="rap_processes.daily_schedule_code" ) column=(type=char(1) updatewhereclause=yes name=group_flag dbname="rap_processes.group_flag" ) column=(type=char(20) updatewhereclause=yes name=group_type dbname="rap_processes.group_type" ) column=(type=char(6) updatewhereclause=yes name=mode_type dbname="rap_processes.mode_type" ) column=(type=char(50) updatewhereclause=yes name=name dbname="rap_processes.name" ) column=(type=char(15) updatewhereclause=yes name=operator_code dbnaDAT*me="rap_processes.operator_code" ) column=(type=char(15) updatewhereclause=yes name=operator_id dbname="rap_processes.operator_id" ) column=(type=char(50) updatewhereclause=yes name=operator_name dbname="rap_processes.operator_name" ) column=(type=char(12) updatewhereclause=yes name=primary_material_code dbname="rap_processes.primary_material_code" ) column=(type=char(10) updatewhereclause=yes name=scc_ams_code dbname="rap_processes.scc_ams_code" ) column=(type=char(2) updatewhereclause=DAT*yes name=weekly_schedule_code dbname="rap_processes.weekly_schedule_code" ) column=(type=char(2) updatewhereclause=yes name=yearly_schedule_code dbname="rap_processes.yearly_schedule_code" ) retrieve="PBSELECT( VERSION(400) TABLE(NAME=~"rap_processes~" ) TABLE(NAME=~"rap_devices~" ) TABLE(NAME=~"rap_connections~" ) COLUMN(NAME=~"rap_processes.rid~") COLUMN(NAME=~"rap_processes.code~") COLUMN(NAME=~"rap_processes.device_rid~") COLUMN(NAME=~"rap_processes.id~") COLUMN(NAME=~"rap_processes.commDAT* ent_text~") COLUMN(NAME=~"rap_processes.daily_schedule_code~") COLUMN(NAME=~"rap_processes.group_flag~") COLUMN(NAME=~"rap_processes.group_type~") COLUMN(NAME=~"rap_processes.mode_type~") COLUMN(NAME=~"rap_processes.name~") COLUMN(NAME=~"rap_processes.operator_code~") COLUMN(NAME=~"rap_processes.operator_id~") COLUMN(NAME=~"rap_processes.operator_name~") COLUMN(NAME=~"rap_processes.primary_material_code~") COLUMN(NAME=~"rap_processes.scc_ams_code~") COLUMN(NAME=~"rap_processes.weekly_schedule_codeDAT* ~") COLUMN(NAME=~"rap_processes.yearly_schedule_code~") JOIN (LEFT=~"rap_connections.to_device_rid~" OP =~"=~"RIGHT=~"rap_devices.rid~" OUTER2 =~"rap_devices.rid~" ) JOIN (LEFT=~"rap_devices.rid~" OP =~"=~"RIGHT=~"rap_processes.device_rid~" ) WHERE( EXP1 =~"rap_connections.from_device_rid~" OP =~"is~" EXP2 =~"null~" ) ) " ) text(band=header alignment="2" text="Rid"border="0" color="0" x="9" y="8" height="52" width="274" name=rid_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="2" text="Agency Process Code"border="0" color="0" x="293" y="8" height="52" width="658" name=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="Device Rid"border="0" color="0" x="960" y="8" height=DAT*"52" width="334" name=device_rid_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="Agency Process Id"border="0" color="0" x="1303" y="8" height="52" width="562" name=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=headDAT*er alignment="2" text="Comments"border="0" color="0" x="1874" y="8" height="52" width="2194" name=comment_text_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="Daily Schedule Code"border="0" color="0" x="4078" y="8" height="52" width="626" name=daily_schedule_code_t font.face="MS Sans Serif" font.height="-8" font.weight="700" font.family="2" fDAT*ont.pitch="2" font.charset="0" background.mode="1" background.color="536870912" ) text(band=header alignment="2" text="Group Flag"border="0" color="0" x="4713" y="8" height="52" width="329" name=group_flag_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="Group Type"border="0" color="0" x="5051" y="8" height="52" width="878" name=group_type_t fDAT*ont.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="Mode"border="0" color="0" x="5938" y="8" height="52" width="265" name=mode_type_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="Agency Process Name"bDAT*order="0" color="0" x="6213" y="8" height="52" width="1755" name=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="2" text="Operator Process Code"border="0" color="0" x="7977" y="8" height="52" width="695" name=operator_code_t font.face="MS Sans Serif" font.height="-8" font.weight="700" font.family="2" font.pitch="2" font.charset="0" background.modDAT*e="1" background.color="536870912" ) text(band=header alignment="2" text="Operator Process Id"border="0" color="0" x="8681" y="8" height="52" width="603" name=operator_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="2" text="Operator Process Name"border="0" color="0" x="9294" y="8" height="52" width="1755" name=operator_name_t font.face="MS Sans SeDAT*rif" 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="Primary Material Code"border="0" color="0" x="11058" y="8" height="52" width="658" name=primary_material_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="SCC AMS CodDAT*e"border="0" color="0" x="11726" y="8" height="52" width="453" name=scc_ams_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="Weekly Schedule Code"border="0" color="0" x="12187" y="8" height="52" width="695" name=weekly_schedule_code_t font.face="MS Sans Serif" font.height="-8" font.weight="700" font.family="2" font.pitch="2" font.charset=DAT* "0" background.mode="1" background.color="536870912" ) text(band=header alignment="2" text="Yearly Schedule Code"border="0" color="0" x="12891" y="8" height="52" width="663" name=yearly_schedule_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" ) column(band=detail id=1 alignment="1" tabsequence=10 border="0" color="0" x="9" y="8" height="64" width="274" format="[general]" name=DAT*"rid 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" ) column(band=detail id=2 alignment="0" tabsequence=20 border="0" color="0" x="293" y="8" height="64" width="658" format="[general]" name=code edit.limit=15 edit.case=any edit.focusrectangle=no edit.autoselect=yes edit.autohscroll=yes font.faceDAT*$="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="1" tabsequence=30 border="0" color="0" x="960" y="8" height="64" width="334" format="[general]" name=device_rid 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"DAT*& background.mode="1" background.color="536870912" ) column(band=detail id=4 alignment="0" tabsequence=40 border="0" color="0" x="1303" y="8" height="64" width="562" format="[general]" name=id edit.limit=15 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=50 DAT*(border="0" color="0" x="1874" y="8" height="64" width="2194" format="[general]" name=comment_text edit.limit=255 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=60 border="0" color="0" x="4078" y="8" height="64" width="626" format="[general]" name=daily_schDAT**edule_code edit.limit=2 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=70 border="0" color="0" x="4713" y="8" height="64" width="329" format="[general]" name=group_flag edit.limit=1 edit.case=any edit.focusrectangle=no edit.autoselect=yes edit.autohscroll=yDAT*,es 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=80 border="0" color="0" x="5051" y="8" height="64" width="878" format="[general]" name=group_type edit.limit=20 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" fDAT*.ont.charset="0" background.mode="1" background.color="536870912" ) column(band=detail id=9 alignment="0" tabsequence=90 border="0" color="0" x="5938" y="8" height="64" width="265" format="[general]" name=mode_type edit.limit=6 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 alignmeDAT*0nt="0" tabsequence=100 border="0" color="0" x="6213" y="8" height="64" width="1755" format="[general]" name=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=110 border="0" color="0" x="7977" y="8" height="64" width="695" format="[general]"DAT*2 name=operator_code edit.limit=15 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=12 alignment="0" tabsequence=120 border="0" color="0" x="8681" y="8" height="64" width="603" format="[general]" name=operator_id edit.limit=15 edit.case=any edit.focusrectangle=no edit.autoselect=yes ediDAT*4t.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=13 alignment="0" tabsequence=130 border="0" color="0" x="9294" y="8" height="64" width="1755" format="[general]" name=operator_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.familyDAT*6="2" font.pitch="2" font.charset="0" background.mode="1" background.color="536870912" ) column(band=detail id=14 alignment="0" tabsequence=140 border="0" color="0" x="11058" y="8" height="64" width="658" format="[general]" name=primary_material_code edit.limit=12 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="536870912DAT*8" ) column(band=detail id=15 alignment="0" tabsequence=150 border="0" color="0" x="11726" y="8" height="64" width="453" format="[general]" name=scc_ams_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=16 alignment="0" tabsequence=160 border="0" color="0" x="12187" y=DAT*:"8" height="64" width="695" format="[general]" name=weekly_schedule_code edit.limit=2 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=17 alignment="0" tabsequence=170 border="0" color="0" x="12891" y="8" height="64" width="663" format="[general]" name=yearly_schedule_code edit.limit=2DAT*G 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*>PDW0800#pdwPl````: F$*#nn``DAT*@ @D`"DAT*B  rid_t$1<  $ 0%  MS Sans SerifMS Sans Serif$2$-8$700$ 536870912$ DAT*D9$8$452$<274%RidRid"!0`-# $&(+code_t$%@%293$'658%)*Agency Source CodeAgency Source Code",0`8"DAT*F. /136geographic_county_rid_t$0960$2<274%45CountyCounty"70`C-9 :<>Ageographic_state_rid_t$;1243$=<274%?DAT*H@StateState"B0`N8D EGILid_t$FN1527$Hu535%JKAgency Source IdAgency Source Id"M0`YCO PRTWname_t$Q20DAT*J71$S81426%UVAgency Source NameAgency Source Name"X0`dNZ []_btype_t$\ 3506$^S{379%`a Source Type Source Type"c0`oYe fDAT*Lhjmbegin_operation_date_t$gT73895$i649%klBegin Operation DateBegin Operation Date"n0`zdp qsuxcomment_text_t$r4553$t2194%vw Comments CommentsDAT*N"y0`o{ |~end_operation_date_t$}e6757$R594%End Operation DateEnd Operation Date"0`z geographic_incorp_rid_t$J7DAT*P360$r 521%Incorporated CityIncorporated City"0` geographic_locale_rid_t$7890$<274%LocaleLocale"0` DAT*R group_flag_t$8174$HI329% Group Flag Group Flag"0`  group_type_t$F@!8512$n878% Group Type Group Type"DAT*T0` location_line_1_addr_t$$9399$ %1317%Location Line 1 AddressLocation Line 1 Address"0` location_line_2_addr_t$* )10725$DAT*V %1317%Location Line 2 AddressLocation Line 2 Address"0` location_zip_code_t$L /12050$V393%ZipZip"0` DAT*X sic_code_t$ 012453$=279% SIC Code SIC Code"0` operator_id_t$ 112741$Ne357% Operator Id Operator Id"0`DAT*Z operator_code_t$3 2313106$l494%Operator CodeOperator Code"0` operator_name_t$ )513609$?1458%DAT*\Operator NameOperator Name"0@@P (  rid$ 9$@64$<274& DAT*^  [general] [general]" 0(code$@%293$658& [general] [general]"0#DAT*`(! geographic_county_rid$960$<274""0,$%'((*)geographic_state_rid$&1243$(<274"+05#-DAT*b.02(32id$/N1527$1u535"40>,679<(<;2name$82071$:81426"=DAT*d0G5?@BF(EDtype$A 3506$CS{379"F0S>HIKMP(QPbegin_operation_date$JT73895$LDAT*f649&NO[shortdate] [time][shortdate] [time]"R0\GTUW Z(ZY comment_text$V4553$X2194"[0eS]^`MDAT*h d(cbend_operation_date$_e6757$aR594"d0n\fgi n(lkgeographic_incorp_rid$hJ7360$jr 521"m0weoDAT*jpr x(utgeographic_locale_rid$q7890$s<274"v0nxy{ (~} group_flag$z8174$|HI329DAT*l"0w( group_type$F@!8512$n878"0((location_line_1_addr$$DAT*n9399$ %1317"0((location_line_2_addr$* )10725$ %1317"0( DAT*plocation_zip_code$L /12050$V393"0( sic_code$ 012453$=279"0DAT*r( operator_id$ 112741$Ne357"0(operator_code$3 2313106$l494"0DAT*t(2operator_name$ )513609$?1458"0@DAT*v  # ,5DAT*x3>G S \ e  n  w DAT*z))      3ridDAT*|rap_sources.ridnullcoderap_sources.codenullgeographic_county_rid"rap_sources.geographic_county_ridnullgeographic_state_rid!rap_sources.geographic_state_rid#nullidrap_sources.id,nullnamerap_sources.name5nulltyperap_sources.type>nullbegin_operation_date!rap_sourcesDAT*~.begin_operation_dateG comment_textrap_sources.comment_textSend_operation_daterap_sources.end_operation_date\geographic_incorp_rid"rap_sources.geographic_incorp_ridenullgeographic_locale_rid"rap_sources.geographic_locale_ridnnull group_flagrap_sources.group_flagw group_typerap_sources.group_typeloDAT*cation_line_1_addr!rap_sources.location_line_1_addrlocation_line_2_addr!rap_sources.location_line_2_addrlocation_zip_coderap_sources.location_zip_code sic_coderap_sources.sic_code operator_idrap_sources.operator_idoperator_coderap_sources.operator_codeoperator_namerap_sources.operator_namePBSELEDAT*CT( VERSION(400) TABLE(NAME="rap_sources" ) COLUMN(NAME="rap_sources.rid") COLUMN(NAME="rap_sources.code") COLUMN(NAME="rap_sources.geographic_county_rid") COLUMN(NAME="rap_sources.geographic_state_rid") COLUMN(NAME="rap_sources.id") COLUMN(NAME="rap_sources.name") COLUMN(NAME="rap_sources.type") COLUMN(NAME="rap_sources.begin_operation_date") COLUMN(NAME="rap_sources.comment_text") COLUMN(NAME="rap_sources.end_operation_date") COLUMN(NAME="rap_sources.geographic_incorp_rid") COLUMN(NAME="rap_sourDAT*ces.geographic_locale_rid") COLUMN(NAME="rap_sources.group_flag") COLUMN(NAME="rap_sources.group_type") COLUMN(NAME="rap_sources.location_line_1_addr") COLUMN(NAME="rap_sources.location_line_2_addr") COLUMN(NAME="rap_sources.location_zip_code") COLUMN(NAME="rap_sources.sic_code") COLUMN(NAME="rap_sources.operator_id") COLUMN(NAME="rap_sources.operator_code") COLUMN(NAME="rap_sources.operator_name")) \DAT*!"1"1"1"1"0" 0""0DAT*release 8; datawindow(units=0 timer_interval=0 color=16777215 processing=1 HTMLDW=no print.documentname="" print.orientation = 0 print.margin.left = 110 print.margin.right = 110 print.margin.top = 96 print.margin.bottom = 96 print.paper.source = 0 print.paper.size = 0 print.prompt=no print.buttons=no print.preview.buttons=no grid.lines=0 ) header(height=68 color="536870912" ) summary(height=0 color="536870912" ) footer(height=0 color="536870912" ) detail(height=80 color="536870912" ) table(cDAT*olumn=(type=decimal(0) updatewhereclause=yes name=rid dbname="rap_sources.rid" initial="null" ) column=(type=char(15) updatewhereclause=yes name=code dbname="rap_sources.code" initial="null" ) column=(type=decimal(0) updatewhereclause=yes name=geographic_county_rid dbname="rap_sources.geographic_county_rid" initial="null" ) column=(type=decimal(0) updatewhereclause=yes name=geographic_state_rid dbname="rap_sources.geographic_state_rid" initial="null" ) column=(type=char(15) updatewhereclauDAT*se=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" ) column=(type=datetime updatewhereclause=yes name=begin_operation_date dbname="rap_sources.begin_operation_date" ) column=(type=char(255) updatewhereclause=yes name=comment_text dbname="rap_sources.comment_text" ) column=(type=datetime updatewhDAT*ereclause=yes name=end_operation_date dbname="rap_sources.end_operation_date" ) column=(type=decimal(0) updatewhereclause=yes name=geographic_incorp_rid dbname="rap_sources.geographic_incorp_rid" initial="null" ) column=(type=decimal(0) updatewhereclause=yes name=geographic_locale_rid dbname="rap_sources.geographic_locale_rid" initial="null" ) column=(type=char(1) updatewhereclause=yes name=group_flag dbname="rap_sources.group_flag" ) column=(type=char(20) updatewhereclause=yes name=group_DAT*type dbname="rap_sources.group_type" ) column=(type=char(40) updatewhereclause=yes name=location_line_1_addr dbname="rap_sources.location_line_1_addr" ) column=(type=char(40) updatewhereclause=yes name=location_line_2_addr dbname="rap_sources.location_line_2_addr" ) column=(type=char(11) updatewhereclause=yes name=location_zip_code dbname="rap_sources.location_zip_code" ) column=(type=char(4) updatewhereclause=yes name=sic_code dbname="rap_sources.sic_code" ) column=(type=char(15) updateDAT*whereclause=yes name=operator_id dbname="rap_sources.operator_id" ) column=(type=char(15) updatewhereclause=yes name=operator_code dbname="rap_sources.operator_code" ) column=(type=char(50) updatewhereclause=yes name=operator_name dbname="rap_sources.operator_name" ) retrieve="PBSELECT( VERSION(400) TABLE(NAME=~"rap_sources~" ) COLUMN(NAME=~"rap_sources.rid~") COLUMN(NAME=~"rap_sources.code~") COLUMN(NAME=~"rap_sources.geographic_county_rid~") COLUMN(NAME=~"rap_sources.geographic_state_rid~"DAT*) COLUMN(NAME=~"rap_sources.id~") COLUMN(NAME=~"rap_sources.name~") COLUMN(NAME=~"rap_sources.type~") COLUMN(NAME=~"rap_sources.begin_operation_date~") COLUMN(NAME=~"rap_sources.comment_text~") COLUMN(NAME=~"rap_sources.end_operation_date~") COLUMN(NAME=~"rap_sources.geographic_incorp_rid~") COLUMN(NAME=~"rap_sources.geographic_locale_rid~") COLUMN(NAME=~"rap_sources.group_flag~") COLUMN(NAME=~"rap_sources.group_type~") COLUMN(NAME=~"rap_sources.location_line_1_addr~") COLUMN(NAME=~"rap_sources.loDAT*cation_line_2_addr~") COLUMN(NAME=~"rap_sources.location_zip_code~") COLUMN(NAME=~"rap_sources.sic_code~") COLUMN(NAME=~"rap_sources.operator_id~") COLUMN(NAME=~"rap_sources.operator_code~") COLUMN(NAME=~"rap_sources.operator_name~")) " ) text(band=header alignment="2" text="Rid" border="0" color="0" x="9" y="8" height="52" width="274" html.valueishtml="0" name=rid_t visible="1" font.face="MS Sans Serif" font.height="-8" font.weight="700" font.family="2" font.pitch="2" font.charset="0" backgroDAT*und.mode="1" background.color="536870912" ) text(band=header alignment="2" text="Agency Source Code" border="0" color="0" x="293" y="8" height="52" width="658" html.valueishtml="0" name=code_t visible="1" 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="County" border="0" color="0" x="960" y="8" height="52" width="274" html.valueishtml="0" name=gDAT*eographic_county_rid_t visible="1" 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="State" border="0" color="0" x="1243" y="8" height="52" width="274" html.valueishtml="0" name=geographic_state_rid_t visible="1" font.face="MS Sans Serif" font.height="-8" font.weight="700" font.family="2" font.pitch="2" font.charset="0" background.mode="1" backgroDAT*und.color="536870912" ) text(band=header alignment="2" text="Agency Source Id" border="0" color="0" x="1527" y="8" height="52" width="535" html.valueishtml="0" name=id_t visible="1" 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="Agency Source Name" border="0" color="0" x="2071" y="8" height="52" width="1426" html.valueishtml="0" name=name_t visDAT*ible="1" 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="Source Type" border="0" color="0" x="3506" y="8" height="52" width="379" html.valueishtml="0" name=type_t visible="1" 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=hDAT*eader alignment="2" text="Begin Operation Date" border="0" color="0" x="3895" y="8" height="52" width="649" html.valueishtml="0" name=begin_operation_date_t visible="1" 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="Comments" border="0" color="0" x="4553" y="8" height="52" width="2194" html.valueishtml="0" name=comment_text_t visible="1" font.fDAT*ace="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="End Operation Date" border="0" color="0" x="6757" y="8" height="52" width="594" html.valueishtml="0" name=end_operation_date_t visible="1" 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(bDAT*and=header alignment="2" text="Incorporated City" border="0" color="0" x="7360" y="8" height="52" width="521" html.valueishtml="0" name=geographic_incorp_rid_t visible="1" 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="Locale" border="0" color="0" x="7890" y="8" height="52" width="274" html.valueishtml="0" name=geographic_locale_rid_t visible="1DAT*" 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="Group Flag" border="0" color="0" x="8174" y="8" height="52" width="329" html.valueishtml="0" name=group_flag_t visible="1" 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=heaDAT*der alignment="2" text="Group Type" border="0" color="0" x="8512" y="8" height="52" width="878" html.valueishtml="0" name=group_type_t visible="1" 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="Location Line 1 Address" border="0" color="0" x="9399" y="8" height="52" width="1317" html.valueishtml="0" name=location_line_1_addr_t visible="1" font.DAT*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="Location Line 2 Address" border="0" color="0" x="10725" y="8" height="52" width="1317" html.valueishtml="0" name=location_line_2_addr_t visible="1" 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* ) text(band=header alignment="2" text="Zip" border="0" color="0" x="12050" y="8" height="52" width="393" html.valueishtml="0" name=location_zip_code_t visible="1" 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 Code" border="0" color="0" x="12453" y="8" height="52" width="279" html.valueishtml="0" name=sic_code_t visible="1" 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="2" text="Operator Id" border="0" color="0" x="12741" y="8" height="52" width="357" html.valueishtml="0" name=operator_id_t visible="1" 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*"2" text="Operator Code" border="0" color="0" x="13106" y="8" height="52" width="494" html.valueishtml="0" name=operator_code_t visible="1" 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="Operator Name" border="0" color="0" x="13609" y="8" height="52" width="1458" html.valueishtml="0" name=operator_name_t visible="1" font.face="MS Sans Serif" foDAT*nt.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="1" tabsequence=10 border="0" color="0" x="9" y="8" height="64" width="274" format="[general]" html.valueishtml="0" name=rid visible="1" edit.limit=0 edit.case=any edit.focusrectangle=no edit.autoselect=yes edit.autohscroll=yes edit.imemode=0 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" ) column(band=detail id=2 alignment="0" tabsequence=20 border="0" color="0" x="293" y="8" height="64" width="658" format="[general]" html.valueishtml="0" name=code visible="1" edit.limit=15 edit.case=any edit.focusrectangle=no edit.autoselect=yes edit.autohscroll=yes edit.imemode=0 font.face="MS Sans Serif" font.height="-8" font.weight="700" font.family="2" font.pitch="2" font.charset="0" background.mode="1" background.colorDAT*="536870912" ) column(band=detail id=3 alignment="1" tabsequence=30 border="0" color="0" x="960" y="8" height="64" width="274" format="[general]" html.valueishtml="0" name=geographic_county_rid visible="1" edit.limit=0 edit.case=any edit.focusrectangle=no edit.autoselect=yes edit.autohscroll=yes edit.imemode=0 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 aDAT*lignment="1" tabsequence=40 border="0" color="0" x="1243" y="8" height="64" width="274" format="[general]" html.valueishtml="0" name=geographic_state_rid visible="1" edit.limit=0 edit.case=any edit.focusrectangle=no edit.autoselect=yes edit.autohscroll=yes edit.imemode=0 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=50 border="0" coDAT*lor="0" x="1527" y="8" height="64" width="535" format="[general]" html.valueishtml="0" name=id visible="1" edit.limit=15 edit.case=any edit.focusrectangle=no edit.autoselect=yes edit.autohscroll=yes edit.imemode=0 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=60 border="0" color="0" x="2071" y="8" height="64" width="1426" format="[gDAT*eneral]" html.valueishtml="0" name=name visible="1" edit.limit=50 edit.case=any edit.focusrectangle=no edit.autoselect=yes edit.autohscroll=yes edit.imemode=0 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=70 border="0" color="0" x="3506" y="8" height="64" width="379" format="[general]" html.valueishtml="0" name=type visible="1" ediDAT*t.limit=1 edit.case=any edit.focusrectangle=no edit.autoselect=yes edit.autohscroll=yes edit.imemode=0 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=80 border="0" color="0" x="3895" y="8" height="64" width="649" format="[shortdate] [time]" html.valueishtml="0" name=begin_operation_date visible="1" edit.limit=0 edit.case=any edit.focDAT*usrectangle=no edit.autoselect=yes edit.autohscroll=yes edit.imemode=0 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=9 alignment="0" tabsequence=90 border="0" color="0" x="4553" y="8" height="64" width="2194" format="[general]" html.valueishtml="0" name=comment_text visible="1" edit.limit=255 edit.case=any edit.focusrectangle=no edit.autoselect=yes edit.autohsDAT*croll=yes edit.imemode=0 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=100 border="0" color="0" x="6757" y="8" height="64" width="594" format="[shortdate] [time]" html.valueishtml="0" name=end_operation_date visible="1" edit.limit=0 edit.case=any edit.focusrectangle=no edit.autoselect=yes edit.autohscroll=yes edit.imemode=0 font.fDAT*ace="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="1" tabsequence=110 border="0" color="0" x="7360" y="8" height="64" width="521" format="[general]" html.valueishtml="0" name=geographic_incorp_rid visible="1" edit.limit=0 edit.case=any edit.focusrectangle=no edit.autoselect=yes edit.autohscroll=yes edit.imemode=0 font.face="MS Sans Serif" font.height="-8" fDAT*ont.weight="700" font.family="2" font.pitch="2" font.charset="0" background.mode="1" background.color="536870912" ) column(band=detail id=12 alignment="1" tabsequence=120 border="0" color="0" x="7890" y="8" height="64" width="274" format="[general]" html.valueishtml="0" name=geographic_locale_rid visible="1" edit.limit=0 edit.case=any edit.focusrectangle=no edit.autoselect=yes edit.autohscroll=yes edit.imemode=0 font.face="MS Sans Serif" font.height="-8" font.weight="700" font.family="2" fontDAT*.pitch="2" font.charset="0" background.mode="1" background.color="536870912" ) column(band=detail id=13 alignment="0" tabsequence=130 border="0" color="0" x="8174" y="8" height="64" width="329" format="[general]" html.valueishtml="0" name=group_flag visible="1" edit.limit=1 edit.case=any edit.focusrectangle=no edit.autoselect=yes edit.autohscroll=yes edit.imemode=0 font.face="MS Sans Serif" font.height="-8" font.weight="700" font.family="2" font.pitch="2" font.charset="0" background.mode="1" bDAT*ackground.color="536870912" ) column(band=detail id=14 alignment="0" tabsequence=140 border="0" color="0" x="8512" y="8" height="64" width="878" format="[general]" html.valueishtml="0" name=group_type visible="1" edit.limit=20 edit.case=any edit.focusrectangle=no edit.autoselect=yes edit.autohscroll=yes edit.imemode=0 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=detaiDAT*l id=15 alignment="0" tabsequence=150 border="0" color="0" x="9399" y="8" height="64" width="1317" format="[general]" html.valueishtml="0" name=location_line_1_addr visible="1" edit.limit=40 edit.case=any edit.focusrectangle=no edit.autoselect=yes edit.autohscroll=yes edit.imemode=0 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=16 alignment="0" tabsequence=160DAT* border="0" color="0" x="10725" y="8" height="64" width="1317" format="[general]" html.valueishtml="0" name=location_line_2_addr visible="1" edit.limit=40 edit.case=any edit.focusrectangle=no edit.autoselect=yes edit.autohscroll=yes edit.imemode=0 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=17 alignment="0" tabsequence=170 border="0" color="0" x="12050" y="8DAT*" height="64" width="393" format="[general]" html.valueishtml="0" name=location_zip_code visible="1" edit.limit=11 edit.case=any edit.focusrectangle=no edit.autoselect=yes edit.autohscroll=yes edit.imemode=0 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=18 alignment="0" tabsequence=180 border="0" color="0" x="12453" y="8" height="64" width="279" format="[generDAT*al]" html.valueishtml="0" name=sic_code visible="1" edit.limit=4 edit.case=any edit.focusrectangle=no edit.autoselect=yes edit.autohscroll=yes edit.imemode=0 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=19 alignment="1" tabsequence=190 border="0" color="0" x="12741" y="8" height="52" width="357" format="[general]" html.valueishtml="0" name=operator_id visiblDAT*e="1" edit.limit=15 edit.case=any edit.focusrectangle=no edit.autoselect=yes edit.autohscroll=yes edit.imemode=0 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=20 alignment="1" tabsequence=200 border="0" color="0" x="13106" y="8" height="52" width="494" format="[general]" html.valueishtml="0" name=operator_code visible="1" edit.limit=15 edit.case=any edit.focusDAT*rectangle=no edit.autoselect=yes edit.autohscroll=yes edit.imemode=0 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=21 alignment="1" tabsequence=210 border="0" color="0" x="13609" y="8" height="52" width="1458" format="[general]" html.valueishtml="0" name=operator_name visible="1" edit.limit=50 edit.case=any edit.focusrectangle=no edit.autoselect=yes edit.autohDAT*tscroll=yes edit.imemode=0 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" ) htmlgen(clientevents="1" clientvalidation="1" clientcomputedfields="1" clientformatting="0" clientscriptable="0" generatejavascript="1" netscapelayers="0" ) DAT*PDW0800/pdwPl  ````%I F$6/nn``DAT** @P` DAT* rid_t< $0%  ArialArial$ 2$-10$400$1$ 536870912$ 9$DAT*8$@64$HI329%RidRid`)! "$&code_t$#L[347$%`439%'(CodeCode`2 * +-/geographDAT*ic_county_rid_t$,795$.e613%01Geographic County RidGeographic County Rid`;)3 468geographic_state_rid_t$561417$7|7567%9:Geographic State RidGeographic State Rid`D2<DAT* =?Aid_t$>1993$@`439%BCIdId`M;E FHJname_t$G 2441$I2w1399%KLNameName`VDN ODAT*QStype_t$PJ 3849$R128%TUTypeType`_MW XZ\begin_operation_date_t$Yh3986$[[603%]^Begin Operation DateBegin Operation Date`hV`DAT* acecomment_text_t$b4599$d 3511%fg Comment Text Comment Text`q_i jlnend_operation_date_t$k8119$m[603%opEnd Operation DateEnd Operation Date`zDAT*hr suwgeographic_incorp_rid_t$tv"8731$vI585%xyGeographic Incorp RidGeographic Incorp Rid`q{ |~geographic_locale_rid_t$}n$9326$W599%DAT*Geographic Locale RidGeographic Locale Rid`z  group_flag_t$}&9934$@%293% Group Flag Group Flag`  group_type_t$'10235$DAT*~@576% Group Type Group Type` location_line_1_addr_t$? E*10821$e1125%Location Line 1 AddrLocation Line 1 Addr` location_line_2_addr_t$DAT*7 .11954$e1125%Location Line 2 AddrLocation Line 2 Addr` location_zip_code_t$/ 313088$h475%Location Zip CodeLocation Zip Code` DAT* sic_code_t$ 513573$5242% Sic Code Sic Code` operator_id_t$ 613824$`439% Operator Id Operator Id` DAT*operator_code_t$2 714272$`439%Operator CodeOperator Code` operator_name_t$ 914720$2w1399%Operator NameOperator Name`DAT* location_coord_level_t$ ?16128$x%549%Location Coord LevelLocation Coord Level` latitude_data_t$B.A16686$M`352%Latitude DatDAT*aLatitude Data` longitude_data_t$B17047$W398%Longitude DataLongitude Data`  zone_no_t$.D17454$HI329%DAT*Zone NoZone No` northing_km_data_t$4E17792$g471%Northing Km DataNorthing Km Data` easting_km_data_t$`G18272$cDAT*453% Easting Km DataEasting Km Data@@\    (rid$ 9$L76$HI329&DAT* [general] [general]"  (!code$L[347$`439&  [general] [general])# $&((geographic_county_DAT*rid$%795$'e6130"* +-((/geographic_state_rid$,61417$.|75677)1 242(6id$3DAT*1993$5`439>08 9;<(=2name$: 2441$<2w1399E7? @BF(Dtype$AJ DAT*3849$C128O>F GIKP(Nbegin_operation_date$Hh3986$J[603&LM[shortdate] [time][shortdate] [time]VEP QS Z(DAT*U comment_text$R4599$T 3511]OW XZK d(\end_operation_date$Y8119$[[603dV^ _a n(DAT*cgeographic_incorp_rid$`v"8731$bI585k]e fh x(jgeographic_locale_rid$gn$9326$iW599rdl mo (DAT* q group_flag$n}&9934$p@%293yks tv(x group_type$u'10235$w~@576rz {}(DAT* (location_line_1_addr$|? E*10821$~e1125y ((location_line_2_addr$7 .11954$e1125 (DAT* location_zip_code$/ 313088$h475 ( sic_code$ 513573$5242 (DAT* operator_id$ 613824$`439 (operator_code$2 714272$`439 (DAT*2operator_name$ 914720$2w1399 (location_coord_level$ ?16128$x%549 (DAT*latitude_data$B.A16686$M`352 (longitude_data$B17047$W398 (DAT*zone_no$.D17454$HI329 (northing_km_data$4E17792$g471 (DAT*easting_km_data$`G18272$c453@)@DAT*  @" @) @0@73@>@EDAT* @O @V @]  @d  @k @r@y)@DAT*)@   @   @@@3@ @ @DAT*  @" ! @%#$ @(&' @rap_dm_sourcesridrap_dm_sources.rid coderap_dm_sources.codegeographic_county_rid%rap_dm_sources.geographic_county_rid"geographic_state_rid$rap_dm_sources.geographicDAT*"_state_rid)idrap_dm_sources.id0namerap_dm_sources.name7typerap_dm_sources.type>begin_operation_date$rap_dm_sources.begin_operation_dateE comment_textrap_dm_sources.comment_textOend_operation_date"rap_dm_sources.end_operation_dateVgeographic_incorp_rid%rap_dm_sources.geographic_incorp_rid]DAT*$geographic_locale_rid%rap_dm_sources.geographic_locale_ridd group_flagrap_dm_sources.group_flagk group_typerap_dm_sources.group_typerlocation_line_1_addr$rap_dm_sources.location_line_1_addrylocation_line_2_addr$rap_dm_sources.location_line_2_addrlocation_zip_code!rap_dm_sources.location_zip_code sic_coderap_dm_sourceDAT*&s.sic_code operator_idrap_dm_sources.operator_idoperator_coderap_dm_sources.operator_codeoperator_namerap_dm_sources.operator_namelocation_coord_level$rap_dm_sources.location_coord_levellatitude_datarap_dm_sources.latitude_datalongitude_datarap_dm_sources.longitude_datazone_norap_dm_sources.zoDAT*(ne_nonorthing_km_data rap_dm_sources.northing_km_dataeasting_km_datarap_dm_sources.easting_km_dataPBSELECT( VERSION(400) TABLE(NAME="rap_dm_sources" ) COLUMN(NAME="rap_dm_sources.rid") COLUMN(NAME="rap_dm_sources.code") COLUMN(NAME="rap_dm_sources.geographic_county_rid") COLUMN(NAME="rap_dm_sources.geographic_state_rid") COLUMN(NAME="rap_dm_sources.id") COLUMN(NAME="rap_dm_sources.name") COLUMN(NAME="rap_dm_sourcesDAT**.type") COLUMN(NAME="rap_dm_sources.begin_operation_date") COLUMN(NAME="rap_dm_sources.comment_text") COLUMN(NAME="rap_dm_sources.end_operation_date") COLUMN(NAME="rap_dm_sources.geographic_incorp_rid") COLUMN(NAME="rap_dm_sources.geographic_locale_rid") COLUMN(NAME="rap_dm_sources.group_flag") COLUMN(NAME="rap_dm_sources.group_type") COLUMN(NAME="rap_dm_sources.location_line_1_addr") COLUMN(NAME="rap_dm_sources.location_line_2_addr") COLUMN(NAME="rap_dm_sources.location_zip_code") COLUMN(NAME="raDAT*,p_dm_sources.sic_code") COLUMN(NAME="rap_dm_sources.operator_id") COLUMN(NAME="rap_dm_sources.operator_code") COLUMN(NAME="rap_dm_sources.operator_name") COLUMN(NAME="rap_dm_sources.location_coord_level") COLUMN(NAME="rap_dm_sources.latitude_data") COLUMN(NAME="rap_dm_sources.longitude_data") COLUMN(NAME="rap_dm_sources.zone_no") COLUMN(NAME="rap_dm_sources.northing_km_data") COLUMN(NAME="rap_dm_sources.easting_km_data")) +-",no".DAT*yesDAT*0release 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 = 96 print.margin.bottom = 96 print.paper.source = 0 print.paper.size = 0 print.prompt=no print.buttons=no print.preview.buttons=no grid.lines=0 ) header(height=80 color="536870912" ) summary(height=0 color="536870912" ) footer(height=0 color="536870912" ) detail(height=92 color="536870912" ) table(column=(typDAT*2e=decimal(0) update=yes updatewhereclause=yes key=yes name=rid dbname="rap_dm_sources.rid" ) column=(type=char(15) update=yes updatewhereclause=yes name=code dbname="rap_dm_sources.code" ) column=(type=decimal(0) update=yes updatewhereclause=yes name=geographic_county_rid dbname="rap_dm_sources.geographic_county_rid" ) column=(type=decimal(0) update=yes updatewhereclause=yes name=geographic_state_rid dbname="rap_dm_sources.geographic_state_rid" ) column=(type=char(15) update=yes updatewherDAT*4eclause=yes name=id dbname="rap_dm_sources.id" ) column=(type=char(50) update=yes updatewhereclause=yes name=name dbname="rap_dm_sources.name" ) column=(type=char(1) update=yes updatewhereclause=yes name=type dbname="rap_dm_sources.type" ) column=(type=datetime update=yes updatewhereclause=yes name=begin_operation_date dbname="rap_dm_sources.begin_operation_date" ) column=(type=char(255) update=yes updatewhereclause=yes name=comment_text dbname="rap_dm_sources.comment_text" ) column=(typDAT*6e=datetime update=yes updatewhereclause=yes name=end_operation_date dbname="rap_dm_sources.end_operation_date" ) column=(type=decimal(0) update=yes updatewhereclause=yes name=geographic_incorp_rid dbname="rap_dm_sources.geographic_incorp_rid" ) column=(type=decimal(0) update=yes updatewhereclause=yes name=geographic_locale_rid dbname="rap_dm_sources.geographic_locale_rid" ) column=(type=char(1) update=yes updatewhereclause=yes name=group_flag dbname="rap_dm_sources.group_flag" ) column=(tyDAT*8pe=char(20) update=yes updatewhereclause=yes name=group_type dbname="rap_dm_sources.group_type" ) column=(type=char(40) update=yes updatewhereclause=yes name=location_line_1_addr dbname="rap_dm_sources.location_line_1_addr" ) column=(type=char(40) update=yes updatewhereclause=yes name=location_line_2_addr dbname="rap_dm_sources.location_line_2_addr" ) column=(type=char(11) update=yes updatewhereclause=yes name=location_zip_code dbname="rap_dm_sources.location_zip_code" ) column=(type=char(DAT*:4) update=yes updatewhereclause=yes name=sic_code dbname="rap_dm_sources.sic_code" ) column=(type=char(15) update=yes updatewhereclause=yes name=operator_id dbname="rap_dm_sources.operator_id" ) column=(type=char(15) update=yes updatewhereclause=yes name=operator_code dbname="rap_dm_sources.operator_code" ) column=(type=char(50) update=yes updatewhereclause=yes name=operator_name dbname="rap_dm_sources.operator_name" ) column=(type=char(8) update=yes updatewhereclause=yes name=location_cooDAT*<rd_level dbname="rap_dm_sources.location_coord_level" ) column=(type=decimal(4) update=yes updatewhereclause=yes name=latitude_data dbname="rap_dm_sources.latitude_data" ) column=(type=decimal(4) update=yes updatewhereclause=yes name=longitude_data dbname="rap_dm_sources.longitude_data" ) column=(type=decimal(0) update=yes updatewhereclause=yes name=zone_no dbname="rap_dm_sources.zone_no" ) column=(type=decimal(2) update=yes updatewhereclause=yes name=northing_km_data dbname="rap_dm_sourceDAT*>s.northing_km_data" ) column=(type=decimal(2) update=yes updatewhereclause=yes name=easting_km_data dbname="rap_dm_sources.easting_km_data" ) retrieve="PBSELECT( VERSION(400) TABLE(NAME=~"rap_dm_sources~" ) COLUMN(NAME=~"rap_dm_sources.rid~") COLUMN(NAME=~"rap_dm_sources.code~") COLUMN(NAME=~"rap_dm_sources.geographic_county_rid~") COLUMN(NAME=~"rap_dm_sources.geographic_state_rid~") COLUMN(NAME=~"rap_dm_sources.id~") COLUMN(NAME=~"rap_dm_sources.name~") COLUMN(NAME=~"rap_dm_sources.type~") CODAT*@LUMN(NAME=~"rap_dm_sources.begin_operation_date~") COLUMN(NAME=~"rap_dm_sources.comment_text~") COLUMN(NAME=~"rap_dm_sources.end_operation_date~") COLUMN(NAME=~"rap_dm_sources.geographic_incorp_rid~") COLUMN(NAME=~"rap_dm_sources.geographic_locale_rid~") COLUMN(NAME=~"rap_dm_sources.group_flag~") COLUMN(NAME=~"rap_dm_sources.group_type~") COLUMN(NAME=~"rap_dm_sources.location_line_1_addr~") COLUMN(NAME=~"rap_dm_sources.location_line_2_addr~") COLUMN(NAME=~"rap_dm_sources.location_zip_code~") COLUMDAT*BN(NAME=~"rap_dm_sources.sic_code~") COLUMN(NAME=~"rap_dm_sources.operator_id~") COLUMN(NAME=~"rap_dm_sources.operator_code~") COLUMN(NAME=~"rap_dm_sources.operator_name~") COLUMN(NAME=~"rap_dm_sources.location_coord_level~") COLUMN(NAME=~"rap_dm_sources.latitude_data~") COLUMN(NAME=~"rap_dm_sources.longitude_data~") COLUMN(NAME=~"rap_dm_sources.zone_no~") COLUMN(NAME=~"rap_dm_sources.northing_km_data~") COLUMN(NAME=~"rap_dm_sources.easting_km_data~")) " update="rap_dm_sources" updatewhere=0 updateDAT*Dkeyinplace=yes ) text(band=header alignment="2" text="Rid"border="0" color="0" x="9" y="8" height="64" width="329" name=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="Code"border="0" color="0" x="347" y="8" height="64" width="439" name=code_t font.face="Arial" font.height="-10" font.weight="400" font.family="2" font.pitch="2" font.charset="0" DAT*Fbackground.mode="1" background.color="536870912" ) text(band=header alignment="2" text="Geographic County Rid"border="0" color="0" x="795" y="8" height="64" width="613" name=geographic_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 alignment="2" text="Geographic State Rid"border="0" color="0" x="1417" y="8" height="64" width="567" name=geographic_state_rid_tDAT*H 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="Id"border="0" color="0" x="1993" y="8" height="64" width="439" name=id_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="Name"border="0" color="0" x="2441" y="8" DAT*Jheight="64" width="1399" name=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="Type"border="0" color="0" x="3849" y="8" height="64" width="128" name=type_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="DAT*LBegin Operation Date"border="0" color="0" x="3986" y="8" height="64" width="603" name=begin_operation_date_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="Comment Text"border="0" color="0" x="4599" y="8" height="64" width="3511" name=comment_text_t font.face="Arial" font.height="-10" font.weight="400" font.family="2" font.pitch="2" font.charset="0" DAT*Nbackground.mode="1" background.color="536870912" ) text(band=header alignment="2" text="End Operation Date"border="0" color="0" x="8119" y="8" height="64" width="603" name=end_operation_date_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="Geographic Incorp Rid"border="0" color="0" x="8731" y="8" height="64" width="585" name=geographic_incorp_rid_t fDAT*Pont.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="Geographic Locale Rid"border="0" color="0" x="9326" y="8" height="64" width="599" name=geographic_locale_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="Group DAT*RFlag"border="0" color="0" x="9934" y="8" height="64" width="293" name=group_flag_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="Group Type"border="0" color="0" x="10235" y="8" height="64" width="576" name=group_type_t font.face="Arial" font.height="-10" font.weight="400" font.family="2" font.pitch="2" font.charset="0" background.mode="1" backgroundDAT*T.color="536870912" ) text(band=header alignment="2" text="Location Line 1 Addr"border="0" color="0" x="10821" y="8" height="64" width="1125" name=location_line_1_addr_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="Location Line 2 Addr"border="0" color="0" x="11954" y="8" height="64" width="1125" name=location_line_2_addr_t font.face="Arial" font.heDAT*Vight="-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="Location Zip Code"border="0" color="0" x="13088" y="8" height="64" width="475" name=location_zip_code_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="Sic Code"border="0" color="0" x="1357DAT*X3" y="8" height="64" width="242" name=sic_code_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="Operator Id"border="0" color="0" x="13824" y="8" height="64" width="439" name=operator_id_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=DAT*Zheader alignment="2" text="Operator Code"border="0" color="0" x="14272" y="8" height="64" width="439" name=operator_code_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="Operator Name"border="0" color="0" x="14720" y="8" height="64" width="1399" name=operator_name_t font.face="Arial" font.height="-10" font.weight="400" font.family="2" font.pitch="2" DAT*\font.charset="0" background.mode="1" background.color="536870912" ) text(band=header alignment="2" text="Location Coord Level"border="0" color="0" x="16128" y="8" height="64" width="549" name=location_coord_level_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="Latitude Data"border="0" color="0" x="16686" y="8" height="64" width="352" name=latitude_daDAT*^ta_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="Longitude Data"border="0" color="0" x="17047" y="8" height="64" width="398" name=longitude_data_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="Zone No"bordDAT*`er="0" color="0" x="17454" y="8" height="64" width="329" name=zone_no_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="Northing Km Data"border="0" color="0" x="17792" y="8" height="64" width="471" name=northing_km_data_t font.face="Arial" font.height="-10" font.weight="400" font.family="2" font.pitch="2" font.charset="0" background.mode="1" backgrounDAT*bd.color="536870912" ) text(band=header alignment="2" text="Easting Km Data"border="0" color="0" x="18272" y="8" height="64" width="453" name=easting_km_data_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=10 border="0" color="0" x="9" y="8" height="76" width="329" format="[general]" name=rid edit.limit=0 edit.case=any edit.focusrectangleDAT*d=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=2 alignment="0" tabsequence=20 border="0" color="0" x="347" y="8" height="76" width="439" format="[general]" name=code edit.limit=15 edit.case=any edit.focusrectangle=no edit.autoselect=yes edit.autohscroll=yes font.face="Arial" font.height="-10" font.weight="400" font.familyDAT*f="2" font.pitch="2" font.charset="0" background.mode="1" background.color="536870912" ) column(band=detail id=3 alignment="1" tabsequence=30 border="0" color="0" x="795" y="8" height="76" width="613" format="[general]" name=geographic_county_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(DAT*hband=detail id=4 alignment="1" tabsequence=40 border="0" color="0" x="1417" y="8" height="76" width="567" format="[general]" name=geographic_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=5 alignment="0" tabsequence=50 border="0" color="0" x="1993" y="8" height="76" wiDAT*jdth="439" format="[general]" name=id edit.limit=15 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=60 border="0" color="0" x="2441" y="8" height="76" width="1399" format="[general]" name=name edit.limit=50 edit.case=any edit.focusrectangle=no edit.autoselect=yes eDAT*ldit.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=7 alignment="0" tabsequence=70 border="0" color="0" x="3849" y="8" height="76" width="128" format="[general]" name=type edit.limit=1 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.DAT*ncharset="0" background.mode="1" background.color="536870912" ) column(band=detail id=8 alignment="0" tabsequence=80 border="0" color="0" x="3986" y="8" height="76" width="603" format="[shortdate] [time]" name=begin_operation_date 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=9DAT*p alignment="0" tabsequence=90 border="0" color="0" x="4599" y="8" height="76" width="3511" format="[general]" name=comment_text edit.limit=255 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=10 alignment="0" tabsequence=100 border="0" color="0" x="8119" y="8" height="76" width="603" format="[DAT*rshortdate] [time]" name=end_operation_date 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=11 alignment="1" tabsequence=110 border="0" color="0" x="8731" y="8" height="76" width="585" format="[general]" name=geographic_incorp_rid edit.limit=0 edit.case=any edit.focusrectangle=noDAT*t 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=12 alignment="1" tabsequence=120 border="0" color="0" x="9326" y="8" height="76" width="599" format="[general]" name=geographic_locale_rid edit.limit=0 edit.case=any edit.focusrectangle=no edit.autoselect=yes edit.autohscroll=yes font.face="Arial" font.height="-10" font.weight="4DAT*v00" font.family="2" font.pitch="2" font.charset="0" background.mode="1" background.color="536870912" ) column(band=detail id=13 alignment="0" tabsequence=130 border="0" color="0" x="9934" y="8" height="76" width="293" format="[general]" name=group_flag edit.limit=1 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" ) DAT*x column(band=detail id=14 alignment="0" tabsequence=140 border="0" color="0" x="10235" y="8" height="76" width="576" format="[general]" name=group_type edit.limit=20 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=15 alignment="0" tabsequence=150 border="0" color="0" x="10821" y="8" height="7DAT*z6" width="1125" format="[general]" name=location_line_1_addr edit.limit=40 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=16 alignment="0" tabsequence=160 border="0" color="0" x="11954" y="8" height="76" width="1125" format="[general]" name=location_line_2_addr edit.limit=40 edit.case=any eDAT*|dit.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=17 alignment="0" tabsequence=170 border="0" color="0" x="13088" y="8" height="76" width="475" format="[general]" name=location_zip_code edit.limit=11 edit.case=any edit.focusrectangle=no edit.autoselect=yes edit.autohscroll=yes font.face="Arial" font.height="DAT*~-10" font.weight="400" font.family="2" font.pitch="2" font.charset="0" background.mode="1" background.color="536870912" ) column(band=detail id=18 alignment="0" tabsequence=180 border="0" color="0" x="13573" y="8" height="76" width="242" format="[general]" name=sic_code edit.limit=4 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.coDAT*lor="536870912" ) column(band=detail id=19 alignment="0" tabsequence=190 border="0" color="0" x="13824" y="8" height="76" width="439" format="[general]" name=operator_id edit.limit=15 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=20 alignment="0" tabsequence=200 border="0" color="0" x="142DAT*72" y="8" height="76" width="439" format="[general]" name=operator_code edit.limit=15 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=21 alignment="0" tabsequence=210 border="0" color="0" x="14720" y="8" height="76" width="1399" format="[general]" name=operator_name edit.limit=50 edit.case=aDAT*ny 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=22 alignment="0" tabsequence=220 border="0" color="0" x="16128" y="8" height="76" width="549" format="[general]" name=location_coord_level edit.limit=8 edit.case=any edit.focusrectangle=no 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" ) column(band=detail id=23 alignment="1" tabsequence=230 border="0" color="0" x="16686" y="8" height="76" width="352" format="[general]" name=latitude_data 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" baDAT*ckground.color="536870912" ) column(band=detail id=24 alignment="1" tabsequence=240 border="0" color="0" x="17047" y="8" height="76" width="398" format="[general]" name=longitude_data 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=25 alignment="1" tabsequence=250 border="0" colDAT*or="0" x="17454" y="8" height="76" width="329" format="[general]" name=zone_no 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=26 alignment="1" tabsequence=260 border="0" color="0" x="17792" y="8" height="76" width="471" format="[general]" name=northing_km_data edit.limit=0 editDAT*.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=27 alignment="1" tabsequence=270 border="0" color="0" x="18272" y="8" height="76" width="453" format="[general]" name=easting_km_data edit.limit=0 edit.case=any edit.focusrectangle=no edit.autoselect=yes edit.autohscroll=yes font.face="Arial" font.DAT*height="-10" 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*g@@OAg@g@tg@a&X@X@a2c@c@a?@@qK`@`@qUj@j@qck@k@ol@l@qm@m@a@@@@a@@a@@^@^@@@@@a@@@@Q(@@a2@@>@@@L@@[S@S@ad@@`p@@ 8d@d@Cv@v@aCge'K u_data_mart_exportuserobjectuserobjectswindowobjectborderstylestructuremailrecipientenvironmeDAT*<ntmailfiledescriptionmailmessagedatawindowchildlistviewitemtreeviewitemconnectioninfopowerobject hfstatictextfontcharsetfontpitchfontfamilyalignmentfillpatterncommandbuttonsinglelineedittextcaseradiobuttongroupboxnonef_ 8ArialMS Sans SerifExportSelect...Export Directory:File Name Prefix:AppendOverwritePromptExport Data Mart tables to tab-delimited filesdragobjectmessage2DAT*p@y@PA2p@p@dp@Q@@a\@\@([@[@4c@c@AU@U@R`@`@\j@j@jk@k@vl@l@m@m@@@@@@@@@^@^@g@P%X@X@a1@@a=o@Mo@^o@`0g@ra@n@@@an@`o@o@@@@@)@@3@@A>@@qH@@aT/g@`g@`@@`@@pheDAT*l`@` d@d@! v@v@ R  F@F@  p@ T  w_reportwindowmenuwindowtypewindowstatewindowobjecttoolbaralignmentstructuremailrecipientenvironmentmailfiledescriptionmailmessagedatawindowchildlistviewitemtreeviewitemconnectioninfopowerobjectt 0au_data_mart_population_interfaceuserobjectsborderstylen_ds_cache_basen_ds_cache_unitsn_ds_dm_emissionsDAT*: h Eh Eh Eu_class_ss_clientu_class_source_group ˵u_dw_reference_codedwobjectd_reference_codesu_dw_unit_codedatastored_units_dddw_on_qccheckerstatictextfontcharsetfontpitchfontfamilyalignmentfillpatternu_pollutant DAT*global type f_elapsedtime from function_object end type forward prototypes global function string f_elapsedtime (datetime adt_startDateTime) end prototypes global function string f_elapsedtime (datetime adt_startDateTime); date ld_currentDay time lt_currentTime date ld_startDay time lt_startTime long ll_elapsedDays long ll_elapsedHours long ll_elapsedMinutes long ll_elapsedSeconds string ls_elapsedTime = "" constant long SECONDS_IN_DAY = 86400 constant long SECONDS_IN_HOUR = 36DAT*00 constant long SECONDS_IN_MINUTE = 60 ld_currentDay = today() lt_currentTime = now() ld_startDay = date(adt_startDateTime) lt_startTime = time(adt_startDateTime) ll_elapsedDays = daysAfter(ld_startDay, ld_currentDay) ll_elapsedSeconds = secondsAfter(lt_startTime, lt_currentTime) ll_elapsedSeconds = (ll_elapsedDays * SECONDS_IN_DAY) + ll_elapsedSeconds ll_elapsedDays = ll_elapsedSeconds / SECONDS_IN_DAY if ll_elapsedDays > 0 then ll_elapsedSeconds = mod(ll_elapsedSeconds, llDAT*_elapsedDays * SECONDS_IN_DAY) ls_elapsedTime = string(ll_elapsedDays) + "d" end if ll_elapsedHours = ll_elapsedSeconds / SECONDS_IN_HOUR if ll_elapsedHours > 0 then ll_elapsedSeconds = mod(ll_elapsedSeconds, ll_elapsedHours * SECONDS_IN_HOUR) ls_elapsedTime = ls_elapsedTime + string(ll_elapsedHours) + "h" end if ll_elapsedMinutes = ll_elapsedSeconds / SECONDS_IN_MINUTE if ll_elapsedMinutes > 0 then ll_elapsedSeconds = mod(ll_elapsedSeconds, ll_elapsedMinutes * SECONDS_IN_MINUTE)DAT* ls_elapsedTime = ls_elapsedTime + string(ll_elapsedMinutes) + "m" end if ls_elapsedTime = ls_elapsedTime + string(ll_elapsedSeconds) + "s" return ls_elapsedTime end function DAT*forward global type n_ds_dm_emissions from n_ds_nei_cache_base end type end forward global type n_ds_dm_emissions from n_ds_nei_cache_base end type global n_ds_dm_emissions n_ds_dm_emissions type variables string is_dataCodeNull string is_dataCodeRO string is_standardUnitCode = "LB" n_ds_cache_units inv_units n_ds_nei_cache_base ids_rollup //temporary debug variables string is_sourceDataObject datetime idt_startDateTime datetime idt_endDateTime integer ii_startYear inDAT*teger ii_endYear string is_materialCode string is_valueType string is_sccAmsCode string is_sicCode string is_dataCode string is_null string is_scanname end variables forward prototypes public function integer of_rollupbyrid (string as_rollupridcolumn) public function integer of_rollupbyscc (string as_rollupridcolumn) public function integer of_rollupbyridscc (string as_rollupridcolumn) public function integer of_totals (long al_refRid) public function integer of_resetrollup () pDAT*ublic function integer of_rollupbyblock (string as_rollupridcolumn) public function integer of_prioritize () public function integer of_resetunits (n_ds_cache_units ads_units) public function integer of_reset () public function integer of_resetunits () end prototypes public function integer of_rollupbyrid (string as_rollupridcolumn); long ll_rc long ll_row long ll_rowCount long ll_subRow long ll_discardRow long ll_startRow, ll_endRow long ll_nextStartRow boolean ib_processSubBlock DAT* long ll_rollupRid, ll_prevRollupRid datetime ldt_startDateTime, ldt_prevStartDateTime string ls_referenceCode, ls_prevReferenceCode string ls_materialCode, ls_prevMaterialCode string ls_null double ld_valueAmt double ld_blockValueAmt string ls_rollupRidColumn ls_rollupRidColumn = lower(trim(as_rollupRidColumn)) setNull(ls_null) //turn off any filters ll_rc = this.of_filter("") if ll_rc < 0 then messageBox("Error", "Data filter failed.", exclamation!) return -1 end DAT*if //sort rows for rid level rollup ll_rc = this.of_sort("reference_code a, start_date_time a, " + ls_rollupRidColumn + " a, material_code a") if ll_rc < 0 then messageBox("Error", "Data sort failed.", exclamation!) return -1 end if ll_startRow = 0 ll_endRow = 0 ll_nextStartRow = 1 ll_rowCount = this.rowCount() for ll_row = 1 to ll_rowCount ib_processSubBlock = false if ll_startRow <> ll_nextStartRow then ll_startRow = ll_nextStartRow end if ls_referenceCode DAT* = this.object.reference_code[ll_row] ldt_startDateTime = this.object.start_date_time[ll_row] ll_rollupRid = this.getItemNumber(ll_row, ls_rollupRidcolumn) ls_materialCode = this.object.material_code[ll_row] if ll_row = ll_rowCount then //last row in data store ll_endRow = ll_row ib_processSubBlock = true elseif ls_referenceCode <> ls_prevReferenceCode or & ldt_startDateTime <> ldt_prevStartDateTime or & ll_rollupRid <> ll_prevRollupRid or & ls_matDAT*erialCode <> ls_prevMaterialCode then //key data changed from last row read if ll_row > ll_startRow then ll_endRow = ll_row - 1 ll_nextStartRow = ll_row ib_processSubBlock = true end if end if //process sub-block if ib_processSubBlock and ll_startRow < ll_endRow then //reset the discard index ll_discardRow = 0 //sum rows for block //set the new end row if ll_discardRow > 0 then ll_endRow = ll_discardRow - 1 end if ifDAT* ll_startRow < ll_endRow then ld_blockValueAmt = 0 //sum the emissions for the current block for ll_subRow = ll_startRow to ll_endRow //grab the value and unit code ld_valueAmt = this.object.rollup_amt[ll_subRow] if ld_valueAmt = 0 or isNull(ld_valueAmt) then //skip rows with invalid data continue end if ld_blockValueAmt += ld_valueAmt next //sub-row if ld_blockValueAmt > 0 then //upate DAT*the first row with the block total (all other rows will be discarded) this.object.rollup_amt[ll_startRow] = ld_blockValueAmt else //if the block total was 0 then mark first row as deleted, too this.object.metric_code[ll_startRow] = "DISCARD" end if //mark all but first row in sub-block for discard for ll_subRow = ll_startRow + 1 to ll_endRow this.object.metric_code[ll_subRow] = "DISCARD" next //sub-row end if end if //sub-block procDAT*essing ls_prevReferenceCode = ls_referenceCode ldt_prevStartDateTime = ldt_startDateTime ll_prevRollupRid = ll_rollupRid ls_prevMaterialCode = ls_materialCode next //row //discard all the rows not containing the downstream discharge metric ll_rc = this.of_discardByStringArray("metric_code", {"DOWNSTRMDIS"}) if ll_rc < 0 then messageBox("Error", "Data discard failed.", exclamation!) return -1 end if ll_rc = this.of_scan("PRE_COPY_ROLLUP_" + upper(ls_rollupRidColDAT*umn)) if ll_rc < 0 then return -1 end if return 1 end function public function integer of_rollupbyscc (string as_rollupridcolumn); long ll_rc long ll_row long ll_rowCount long ll_subRow long ll_discardRow long ll_startRow, ll_endRow long ll_nextStartRow boolean ib_processSubBlock datetime ldt_startDateTime, ldt_prevStartDateTime string ls_referenceCode, ls_prevReferenceCode string ls_materialCode, ls_prevMaterialCode string ls_sccAmsCode, ls_prevSccAmsCode string ls_nuDAT*ll double ld_valueAmt double ld_blockValueAmt string ls_rollupRidColumn ls_rollupRidColumn = lower(trim(as_rollupRidColumn)) setNull(ls_null) //turn off any filters ll_rc = this.of_filter("") if ll_rc < 0 then messageBox("Error", "Data filter failed.", exclamation!) return -1 end if //sort rows for rid level rollup ll_rc = this.of_sort("reference_code a, start_date_time a, scc_ams_code a, material_code a") if ll_rc < 0 then messageBox("Error", "Data sort failed.", DAT*exclamation!) return -1 end if ll_startRow = 0 ll_endRow = 0 ll_nextStartRow = 1 ll_rowCount = this.rowCount() for ll_row = 1 to ll_rowCount ib_processSubBlock = false if ll_startRow <> ll_nextStartRow then ll_startRow = ll_nextStartRow end if ls_referenceCode = this.object.reference_code[ll_row] ldt_startDateTime = this.object.start_date_time[ll_row] ls_sccAmsCode = this.object.scc_ams_code[ll_row] ls_materialCode = this.object.material_code[ll_row] DAT* if ll_row = ll_rowCount then //last row in data store ll_endRow = ll_row ib_processSubBlock = true elseif ls_referenceCode <> ls_prevReferenceCode or & ldt_startDateTime <> ldt_prevStartDateTime or & ls_sccAmsCode <> ls_prevSccAmsCode or & ls_materialCode <> ls_prevMaterialCode then //key data changed from last row read if ll_row > ll_startRow then ll_endRow = ll_row - 1 ll_nextStartRow = ll_row ib_processSubBlock = true end if end DAT*if //process sub-block if ib_processSubBlock and ll_startRow < ll_endRow then //reset the discard index ll_discardRow = 0 //sum rows for block //set the new end row if ll_discardRow > 0 then ll_endRow = ll_discardRow - 1 end if if ll_startRow < ll_endRow then ld_blockValueAmt = 0 //sum the emissions for the current block for ll_subRow = ll_startRow to ll_endRow //grab the value and unit code ld_valueAmt = thDAT*is.object.rollup_amt[ll_subRow] if ld_valueAmt = 0 or isNull(ld_valueAmt) then //skip rows with invalid data continue end if ld_blockValueAmt += ld_valueAmt next //sub-row if ld_blockValueAmt > 0 then //upate the first row with the block total (all other rows will be discarded) this.object.rollup_amt[ll_startRow] = ld_blockValueAmt else //if the block total was 0 then mark first row as deleted, too this.oDAT*bject.metric_code[ll_startRow] = "DISCARD" end if //mark all but first row in sub-block for discard for ll_subRow = ll_startRow + 1 to ll_endRow this.object.metric_code[ll_subRow] = "DISCARD" next //sub-row end if end if //sub-block processing ls_prevReferenceCode = ls_referenceCode ldt_prevStartDateTime = ldt_startDateTime ls_prevSccAmsCode = ls_sccAmsCode ls_prevMaterialCode = ls_materialCode next //row //discard all the rows notDAT* containing the downstream discharge metric ll_rc = this.of_discardByStringArray("metric_code", {"DOWNSTRMDIS"}) if ll_rc < 0 then messageBox("Error", "Data discard failed.", exclamation!) return -1 end if ll_rc = this.of_scan("PRE_COPY_ROLLUP_" + upper(ls_rollupRidColumn)) if ll_rc < 0 then return -1 end if return 1 end function public function integer of_rollupbyridscc (string as_rollupridcolumn); long ll_rc long ll_row long ll_rowCount long ll_subRow long ll_discardRDAT*ow long ll_startRow, ll_endRow long ll_nextStartRow boolean ib_processSubBlock long ll_rollupRid, ll_prevRollupRid datetime ldt_startDateTime, ldt_prevStartDateTime string ls_referenceCode, ls_prevReferenceCode string ls_sccAmsCode, ls_prevSccAmsCode string ls_materialCode, ls_prevMaterialCode string ls_null double ld_valueAmt double ld_blockValueAmt string ls_rollupRidColumn ls_rollupRidColumn = lower(trim(as_rollupRidColumn)) setNull(ls_null) //turn off any filters DAT* ll_rc = this.of_filter("") if ll_rc < 0 then messageBox("Error", "Data filter failed.", exclamation!) return -1 end if //sort rows for rid level rollup ll_rc = this.of_sort("reference_code a, start_date_time a, " + ls_rollupRidColumn + " a, scc_ams_code a, material_code a") if ll_rc < 0 then messageBox("Error", "Data sort failed.", exclamation!) return -1 end if ll_startRow = 0 ll_endRow = 0 ll_nextStartRow = 1 ll_rowCount = this.rowCount() for ll_row = 1 to ll_rowCount DAT* ib_processSubBlock = false if ll_startRow <> ll_nextStartRow then ll_startRow = ll_nextStartRow end if ls_referenceCode = this.object.reference_code[ll_row] ldt_startDateTime = this.object.start_date_time[ll_row] ll_rollupRid = this.getItemNumber(ll_row, ls_rollupRidcolumn) ls_sccAmsCode = this.object.scc_ams_code[ll_row] if isNull(ls_sccAmsCode) then ls_sccAmsCode = "UNKNOWN" this.object.scc_ams_code[ll_row] = ls_sccAmsCode end if ls_materialCode = DAT*this.object.material_code[ll_row] if ll_row = ll_rowCount then //last row in data store ll_endRow = ll_row ib_processSubBlock = true elseif ls_referenceCode <> ls_prevReferenceCode or & ldt_startDateTime <> ldt_prevStartDateTime or & ll_rollupRid <> ll_prevRollupRid or & ls_sccAmsCode <> ls_prevSccAmsCode or & ls_materialCode <> ls_prevMaterialCode then //key data changed from last row read if ll_row > ll_startRow then ll_endRow = ll_rDAT*ow - 1 ll_nextStartRow = ll_row ib_processSubBlock = true end if end if //process sub-block if ib_processSubBlock and ll_startRow < ll_endRow then //reset the discard index ll_discardRow = 0 //sum rows for block //set the new end row if ll_discardRow > 0 then ll_endRow = ll_discardRow - 1 end if if ll_startRow < ll_endRow then ld_blockValueAmt = 0 //sum the emissions for the current block for ll_subRow = ll_starDAT*tRow to ll_endRow //grab the value and unit code ld_valueAmt = this.object.rollup_amt[ll_subRow] if ld_valueAmt = 0 or isNull(ld_valueAmt) then //skip rows with invalid data continue end if ld_blockValueAmt += ld_valueAmt next //sub-row if ld_blockValueAmt > 0 then //upate the first row with the block total (all other rows will be discarded) this.object.rollup_amt[ll_startRow] = ld_blockValueAmt DAT* //add else //if the block total was 0 then mark first row as deleted, too this.object.metric_code[ll_startRow] = "DISCARD" end if //mark all but first row in sub-block for discard for ll_subRow = ll_startRow + 1 to ll_endRow this.object.metric_code[ll_subRow] = "DISCARD" next //sub-row end if end if //sub-block processing ls_prevReferenceCode = ls_referenceCode ldt_prevStartDateTime = ldt_startDateTime ll_prevRollupRid DAT*= ll_rollupRid ls_prevSccAmsCode = ls_sccAmsCode ls_prevMaterialCode = ls_materialCode next //row //discard all the rows not containing the downstream discharge metric ll_rc = this.of_discardByStringArray("metric_code", {"DOWNSTRMDIS"}) if ll_rc < 0 then messageBox("Error", "Data discard failed.", exclamation!) return -1 end if ll_rc = this.of_scan("PRE_COPY_ROLLUP_" + upper(ls_rollupRidColumn)) if ll_rc < 0 then return -1 end if return 1 end function publiDAT*c function integer of_totals (long al_refRid); long ll_rc //set filter to get totals only ll_rc = this.of_filter("summary_category = 'TOTAL'") if ll_rc < 0 then return -1 end if return 1 end function public function integer of_resetrollup (); ids_rollup.reset() //ids_rollup.of_setDataType("", this.dataObject) return 1 end function public function integer of_rollupbyblock (string as_rollupridcolumn); long ll_rc long ll_row long ll_rowCount long ll_subRow long ll_dDAT*iscardRow long ll_startRow, ll_endRow long ll_nextStartRow boolean ib_processSubBlock long ll_rollupRid, ll_prevRollupRid datetime ldt_startDateTime, ldt_prevStartDateTime string ls_referenceCode, ls_prevReferenceCode string ls_materialCode, ls_prevMaterialCode string ls_null double ld_valueAmt double ld_blockValueAmt string ls_rollupRidColumn ls_rollupRidColumn = lower(trim(as_rollupRidColumn)) setNull(ls_null) //turn off any filters ll_rc = this.of_filter("") if llDAT*_rc < 0 then messageBox("Error", "Data filter failed.", exclamation!) return -1 end if //reset the rollup datastore this.of_resetRollup() //set the sort keys for the current rollup this.of_resetBlockSortKeys() this.of_addBlockSortKey("reference_code a") this.of_addBlockSortKey("start_date_time a") this.of_addBlockSortKey(ls_rollupRidColumn + " a") this.of_addBlockSortKey("material_code a") //run block processing using the curent keys to sum the emissions for the block ll_rc DAT*= this.of_scanBlocks("sum_rollup_amt", 0) return ll_rc //sort rows for rid level rollup ll_rc = this.of_sort("reference_code a, start_date_time a, " + ls_rollupRidColumn + " a, material_code a") if ll_rc < 0 then messageBox("Error", "Data sort failed.", exclamation!) return -1 end if ll_startRow = 0 ll_endRow = 0 ll_nextStartRow = 1 ll_rowCount = this.rowCount() for ll_row = 1 to ll_rowCount ib_processSubBlock = false if ll_startRow <> ll_nextStartRow then ll_startDAT*Row = ll_nextStartRow end if ls_referenceCode = this.object.reference_code[ll_row] ldt_startDateTime = this.object.start_date_time[ll_row] ll_rollupRid = this.getItemNumber(ll_row, ls_rollupRidcolumn) ls_materialCode = this.object.material_code[ll_row] if ll_row = ll_rowCount then //last row in data store ll_endRow = ll_row ib_processSubBlock = true elseif ls_referenceCode <> ls_prevReferenceCode or & ldt_startDateTime <> ldt_prevStartDateTime or & lDAT*l_rollupRid <> ll_prevRollupRid or & ls_materialCode <> ls_prevMaterialCode then //key data changed from last row read if ll_row > ll_startRow then ll_endRow = ll_row - 1 ll_nextStartRow = ll_row ib_processSubBlock = true end if end if //process sub-block if ib_processSubBlock and ll_startRow < ll_endRow then //reset the discard index ll_discardRow = 0 //sum rows for block //set the new end row if ll_discardRow > 0 then DAT* ll_endRow = ll_discardRow - 1 end if if ll_startRow < ll_endRow then ld_blockValueAmt = 0 //sum the emissions for the current block for ll_subRow = ll_startRow to ll_endRow //grab the value and unit code ld_valueAmt = this.object.rollup_amt[ll_subRow] if ld_valueAmt = 0 or isNull(ld_valueAmt) then //skip rows with invalid data continue end if ld_blockValueAmt += ld_valueAmt next //sub-row DAT* if ld_blockValueAmt > 0 then //upate the first row with the block total (all other rows will be discarded) this.object.rollup_amt[ll_startRow] = ld_blockValueAmt else //if the block total was 0 then mark first row as deleted, too this.object.metric_code[ll_startRow] = "DISCARD" end if //mark all but first row in sub-block for discard for ll_subRow = ll_startRow + 1 to ll_endRow this.object.metric_code[ll_subRow] = "DISCARD" next /DAT*/sub-row end if end if //sub-block processing ls_prevReferenceCode = ls_referenceCode ldt_prevStartDateTime = ldt_startDateTime ll_prevRollupRid = ll_rollupRid ls_prevMaterialCode = ls_materialCode next //row //discard all the rows not containing the downstream discharge metric ll_rc = this.of_discardByStringArray("metric_code", {"DOWNSTRMDIS"}) if ll_rc < 0 then messageBox("Error", "Data discard failed.", exclamation!) return -1 end if ll_rc = thDAT*is.of_scan("PRE_COPY_ROLLUP_" + upper(ls_rollupRidColumn)) if ll_rc < 0 then return -1 end if return 1 end function public function integer of_prioritize (); long ll_rc long ll_row long ll_rowCount long ll_subRow long ll_discardRow long ll_startRow, ll_endRow long ll_nextStartRow boolean ib_processSubBlock long ll_processRid, ll_prevProcessRid datetime ldt_startDateTime, ldt_prevStartDateTime string ls_referenceCode, ls_prevReferenceCode string ls_materialCode, ls_prevMDAT*aterialCode string ls_dataCode, ls_prevDataCode string ls_valueType, ls_prevValueType string ls_valueUnitCode string ls_null double ld_valueAmt double ld_newValueAmt double ld_blockValueAmt setNull(ls_null) //turn off any filters ll_rc = this.of_filter("") if ll_rc < 0 then messageBox("Error", "Data filter failed.", exclamation!) return -1 end if //sort rows for process level prioritization ll_rc = this.of_sort("reference_code a, start_date_time a, process_rid a, materiaDAT*l_code a, data_code a, value_type a") if ll_rc < 0 then messageBox("Error", "Data sort failed.", exclamation!) return -1 end if ll_startRow = 0 ll_endRow = 0 ll_nextStartRow = 1 ll_rowCount = this.rowCount() for ll_row = 1 to ll_rowCount ib_processSubBlock = false if ll_startRow <> ll_nextStartRow then ll_startRow = ll_nextStartRow end if ls_referenceCode = this.object.reference_code[ll_row] ldt_startDateTime = this.object.start_date_time[ll_row] ll_processRidDAT* = this.object.process_rid[ll_row] ls_materialCode = this.object.material_code[ll_row] //modified to allow last record to processed - mkc 03/4/04 if ll_rowcount = 1 then //if ll_row = ll_rowCount then //last row in data store ll_endRow = ll_row ib_processSubBlock = true elseif ls_referenceCode <> ls_prevReferenceCode or & ldt_startDateTime <> ldt_prevStartDateTime or & ll_processRid <> ll_prevProcessRid or & ls_materialCode <> ls_prevMaterialCodeDAT* then //key data changed from last row read if ll_row > ll_startRow then ll_endRow = ll_row - 1 ll_nextStartRow = ll_row ib_processSubBlock = true end if end if //process sub-block if ib_processSubBlock then //reset the discard index ll_discardRow = 0 if ll_startRow < ll_endRow then //for multiple rows, prioritize by data code and value type //prioritize by data code first ls_prevDataCode = this.object.data_code[ll_starDAT*tRow] for ll_subRow = ll_startRow + 1 to ll_endRow ls_dataCode = this.object.data_code[ll_subRow] if ls_dataCode <> ls_prevDataCode then //grab the first discarded row number ll_discardRow = ll_subRow //flag remaining records for discard //by setting the metric code to discard for ll_subRow = ll_subRow to ll_endRow this.object.metric_code[ll_subRow] = "DISCARD" next exit end if lDAT*s_prevDataCode = ls_dataCode next //sub-row //prioritize by value type next ls_prevValueType = this.object.value_type[ll_startRow] for ll_subRow = ll_startRow + 1 to ll_endRow if ll_discardRow > 0 and ll_subRow >= ll_discardRow then //all rows beyond this one have already been flagged exit end if ls_valueType = this.object.value_type[ll_subRow] if ls_valueType <> ls_prevValueType then //grab the first discardDAT*ed row number if ll_subRow < ll_discardRow then ll_discardRow = ll_subRow else //all rows beyond this one have already been flagged exit end if //flag remaining records for discard //by setting the metric code to discard for ll_subRow = ll_subRow to ll_endRow this.object.metric_code[ll_subRow] = "DISCARD" next exit end if ls_prevValueType = ls_valueType next //sub-row DAT* end if //set the sub-block end row to the last non-discarded row if ll_discardRow > 0 then ll_endRow = ll_discardRow - 1 end if //sum remaining (non-discarded) rows for block ld_blockValueAmt = 0 for ll_subRow = ll_startRow to ll_endRow //grab the value and unit code for conversion ld_valueAmt = this.object.rollup_amt[ll_subRow] ls_valueUnitCode = this.object.unit_code[ll_subRow] if ld_valueAmt = 0 or isNull(ld_valueAmt) or trim(ls_DAT*valueUnitCode) = "" or isNull(ls_valueUnitCode) then //skip rows with invalid data continue end if if ls_valueUnitCode <> is_standardUnitCode then //convert the value to standard units ld_newValueAmt = w_report.uo_data_mart.inv_units.of_dm_convertUnits(ld_valueAmt, ls_valueUnitCode, is_standardUnitCode) if ld_newValueAmt < 0 then messageBox("Error", "Unit conversion failed.", exclamation!) return -1 end if else //noDAT* conversion necessary ld_newValueAmt = ld_valueAmt end if //add the converted value amount to the total for the block if ld_newValueAmt > 0 then ld_blockValueAmt += ld_newValueAmt end if next //sub-row if ld_blockValueAmt > 0 then //upate the first row with the block total (all other rows will be discarded) this.object.rollup_amt[ll_startRow] = ld_blockValueAmt this.object.unit_code[ll_startRow] = is_standardUnitCode else DAT* //if the block total was 0 then mark first row as discarded, too this.object.metric_code[ll_startRow] = "DISCARD" end if //mark all but first row in sub-block for discard for ll_subRow = ll_startRow + 1 to ll_endRow this.object.metric_code[ll_subRow] = "DISCARD" next //sub-row end if //sub-block processing ls_prevReferenceCode = ls_referenceCode ldt_prevStartDateTime = ldt_startDateTime ll_prevProcessRid = ll_processRid ls_prevMaterialCode = ls_mDAT*aterialCode next //row //saveAs("c:\lds_primary_prio_" + string(al_startRow) + "_A.txt", text!, true) //discard all the rows not containing the downstream discharge metric ll_rc = this.of_discardByStringArray("metric_code", {"DOWNSTRMDIS"}) if ll_rc < 0 then messageBox("Error", "Data discard failed.", exclamation!) return -1 end if ll_rc = this.of_scan("PRE_COPY_ROLLUP_PROCESS_RID") if ll_rc < 0 then return -1 end if return 1 end function public function integer of_DAT*resetunits (n_ds_cache_units ads_units); long ll_rowcount if isvalid(inv_units) then destroy(inv_units) //create the rollup datastore inv_units = create n_ds_cache_units //ids_rollup.reset() inv_units.of_setDataType("", ads_units.dataObject) ll_rowcount = ads_units.rowcount() if ll_rowcount > 0 then ads_units.rowsMove(1, ll_rowCount, primary!, inv_units, 1, primary!) end if return 1 end function public function integer of_reset ();this.reset() this.of_resetException() il_roDAT*wError = 0 return 1 end function public function integer of_resetunits ();inv_units.reset() return 1 end function on n_ds_dm_emissions.create call super::create end on on n_ds_dm_emissions.destroy call super::destroy end on event constructor;call super::constructor; string ls_empty this.of_setDataType("", "d_dm_emissions") //read data code values is_dataCodeNull = trim(profileString(gs_iniFile, "data code priority", "null", ls_empty)) if is_dataCodeNull = ls_empty DAT*then is_dataCodeNull = "99" end if is_dataCodeRO = trim(profileString(gs_iniFile, "data code priority", "ro", ls_empty)) if is_dataCodeRO = ls_empty then is_dataCodeRO = "00" end if //create the rollup datastore ids_rollup = create n_ds_nei_cache_base end event event ue_scanrow;call super::ue_scanrow; //Return NULL to stop the scanning process normally //(of_scan() will return the row stopped on) //Return Negative Value to stop the scanning process with error status //(oDAT*f_scan() will return the Negative Value) //force argument to upper case as_action = upper(trim(as_action)) choose case as_action // ************************************************************************* case "NORMALIZE" // ************************************************************************* // datetime ldt_startDateTime // datetime ldt_endDateTime // integer li_startYear // integer li_endYear // string ls_materialCode // string ls_valueType // string ls_scDAT* cAmsCode // string ls_sicCode // string ls_dataCode //MATERIAL CODE //grab the material code is_materialCode = this.object.material_code[al_row] is_materialCode = upper(trim(is_materialCode)) //if material code missing, flag row for discard if isNull(is_materialCode) or trim(is_materialCode) = "" then this.object.metric_code[al_row] = "DISCARD" return 1 //go on to next row in scan end if this.object.material_code[al_row] = is_materialcode //START DAT* AND END DATES //grab the start and end dates idt_startDateTime = this.object.start_date_time[al_row] idt_endDateTime = this.object.end_date_time[al_row] //if start or end date missing, flag row for discard if isNull(idt_startDateTime) or isNull(idt_endDateTime) then this.object.metric_code[al_row] = "DISCARD" return 1 //go on to next row in scan end if //grab the start and end years ii_startYear = year(date(idt_startDateTime)) ii_endYear = year(date(DAT*idt_endDateTime)) //if start and end date not in the same year, flag row for discard if ii_startYear <> ii_endYear then this.object.metric_code[al_row] = "DISCARD" return 1 //go on to next row in scan end if //normalize the start and end dates for each year, //so that sorts will work properly idt_startDateTime = datetime(date( string(ii_startYear) + "-01-01" )) idt_endDateTime = datetime(date( string(ii_endYear) + "-12-31" )) //set the start and endDAT* dates back into datastore this.object.start_date_time[al_row] = idt_startDateTime this.object.end_date_time[al_row] = idt_endDateTime //VALUE TYPE //grab the value type is_valueType = this.object.value_type[al_row] if isNull(is_valueType) then is_valueType = "100" elseif is_valueType = "TOT" then is_valueType = "200" elseif is_valueType = "AVG" then is_valueType = "300" elseif is_valueType = "EXH" or is_valueType = "EVH" then //VOC values from DAT*speciation is_valueType = "VOC" elseif is_valueType = "EXP" then //PM values from speciation is_valueType = "PM" elseif is_valueType = "BW1" or is_valueType = "TW1" then //PM values from speciation is_valueType = "PM1" else //non-usable value type, flag row for discard this.object.metric_code[al_row] = "DISCARD" return 1 //go on to next row in scan end if //set value type back into the datastore this.object.value_type[al_row] = is_valueType DAT* //SCC/AMS CODE is_sccAmsCode = this.object.scc_ams_code[al_row] if isNull(is_sccAmsCode) or trim(is_sccAmsCode) = "" then this.object.scc_ams_code[al_row] = "NONE" end if //SIC CODE is_sicCode = this.object.sic_code[al_row] if isNull(is_sicCode) or trim(is_sicCode) = "" then this.object.sic_code[al_row] = "NONE" end if //DATA CODE (should be done last) //grab the data code is_dataCode = this.object.data_code[al_row] //convert the DAT*data code for values of null or "ro" if isNull(is_dataCode) then is_dataCode = is_dataCodeNull elseif is_dataCode = "RO" then is_dataCode = is_dataCodeRO else //no change to data code return 1 //go on to next row in scan end if //set new data_code value back into data store this.object.data_code[al_row] = is_dataCode return 1 //go on to next row in scan // ************************************************************************* case "PRE_COPY_RDAT*OLLUP_PROCESS_RID" // ************************************************************************* // string ls_null setNull(is_null) //convert data code, if necessary if this.object.data_code[al_row] = is_dataCodeNull then this.object.data_code[al_row] = is_null end if if this.object.data_code[al_row] = is_dataCodeRO then this.object.data_code[al_row] = "RO" end if //convert value type, if necessary if this.object.value_type[al_row] = "100" then DAT* this.object.value_type[al_row] = is_null end if if this.object.value_type[al_row] = "200" then this.object.value_type[al_row] = "TOT" end if if this.object.value_type[al_row] = "300" then this.object.value_type[al_row] = "AVG" end if //set the rollup ref rid to the process rid this.object.rollup_ref_rid[al_row] = this.object.process_rid[al_row] return 1 //go on to next row in scan // ******************************************************************DAT******** case "PRE_COPY_ROLLUP_DEVICE_RID" // ************************************************************************* //set the rollup ref rid to the device rid this.object.rollup_ref_rid[al_row] = this.object.device_rid[al_row] return 1 //go on to next row in scan // ************************************************************************* case "PRE_COPY_ROLLUP_SOURCE_RID" // ************************************************************************* //set the roDAT*llup ref rid to the source rid this.object.rollup_ref_rid[al_row] = this.object.source_rid[al_row] return 1 //go on to next row in scan // ************************************************************************* case "PRE_COPY_ROLLUP_COUNTY_RID" // ************************************************************************* //SIC CODE is_sicCode = this.object.sic_code[al_row] if isNull(is_sicCode) or trim(is_sicCode) = "" then this.object.sic_code[al_row] = "NONE" DAT*` is_sicCode = this.object.sic_code[al_row] end if return 1 //go on to next row in scan // ************************************************************************* case "PRE_COPY_ROLLUP_STATE_RID" // ************************************************************************* //SIC CODE is_sicCode = this.object.sic_code[al_row] if isNull(is_sicCode) or trim(is_sicCode) = "" then this.object.sic_code[al_row] = "NONE" is_sicCode = this.object.sic_code[al_row] eDAT*"g@袣@PA-)g@g@g@4X@X@@c@c@M@@Y`@`@cj@j@qk@k@}l@l@m@m@@@@@@@@@q^@^@a n@n@@@q @@`.@@a:@@aD@@O@@Z@@qd@@p@@`*o@o@o@`o@o@o@o@=q@q@I%OZF@F@o@DAT*$o@u@u@d@d@(v@v@(+0X u_data_mart_population_interfaceuserobjectuserobjectswindowobjectborderstylestructuremailrecipientenvironmentmailfiledescriptionmailmessagedatawindowchildlistviewitemtreeviewitemconnectioninfopowerobject x[datawindowdwobjectcommandbuttonfontcharsetfontpitchfontfamilystatictextalignmentfillpatterngroupbox 8[n_ds_cacheDAT*&_basen_ds_cache_unitsn_ds_dm_emissionsu ޷D1޷D1޷D1n_ds_dm_transferdatastoren_ds_conversion_based_dm_population_dateMS Sans SerifRefresh Data MartArialData Marttransactionsqlcags_user_idgs_database,!execute CLEAR_DATA_MART ora_cleardatamartDAT*(pfOAf_sqlcheckpointeru_ds_basef_elapsedtimen_ds_nei_cache_baseextobjectdragobjectmessage|(Pxf l 2) u_data_mart_population_interface K of_initializeof_cleardatamartof_transfergeoof_transfersourceof_transferdeviceof_transferprocessof_getrunof_mainof_resetblockof_getnextblockas_primarydataobjectas_targDAT**etdataobjectry_gas_excludeof_transferdataof_transferemissionscountyof_getgeoridsof_transferemissionsstateas_operationads_primaryads_targetof_processdata~taal_ridarrayof_retrieveof_updateof_loademissionsof_transferemissions_oldof_transferemissionstaof_dscopyaltataas_mapfromltaas_maptoof_dscopymapoltaas_scannameof_dscopyemissionsatatataof_dscopymapemissionsdi DAT*,        +create+destroy+constructor+destructor+clickedh8dp| q@ IBLdtLSSS[]o2?"K"LSRCn_ds_dm_transfer.RCn_ds_dm_transfer.ero?#thLRCdatastore.LDAT*.[]lluK#LRCdatastore._b?$K#IRCn_ds_conversion_base.RCdatastore.S[]?$K# IRCn_ds_conversion_base.RCdatastore.S[]S[]S[]e?$K!8DIRCn_ds_conversion_base.RCn_ds_dm_emissions.S[]Sal?$K!dp |DIRCn_ds_conversion_base.RCn_ds_dm_emissions.S[]S[]S[]SQ< DAT*0 x9 _initsrcuserobjectu_data_mart_population_interfaceuserobjectswindowobjectborderstylestructuremailrecipientenvironmentmailfiledescriptionmailmessagedatawindowchildlistviewitemtreeviewitemconnectioninfopowerobjectdatawindowdw_data_mart_datedwobjectcommandbuttoncb_1fontcharsetfontpitchfontfamilystatictextst_statusalignmentfillpatterndw_errorgroupboxgb_1n_ds_cache_basen_ds_cache_unitsn_ds_dm_emissionsn_ds_dm_transferdatastoren_ds_conveDAT*2rsion_basetransactionpointeru_ds_basen_ds_nei_cache_baseextobjectdragobjectmessagep@=@I@V@b@l@z@@ @ @ @nsfe @ @@st@CdatS[Q@E=@_actDAT*4mmtext$NA@@01@R:@syE@8P; !Z@d@p!y@<ta@"@9@w@ash_h@end @nt cu@nged%8@&@(@$)z@z&*@1+$@ DAT*6I> :!y%-. y%%     $,!)48<<$)P81DAT*8l11X$1)l8t$18|1)8$181)8$1880)8$1880)8$183@3$@$@8)8$18 3@3$@$@8)088$18@,"1o@o8DAT* )H8P$18X8e0)t8|$)8<1* L \ l|2d\d- ll_rcls_metriccodesqlcags_user_idP !@%""@ dw_data_mart_date!settransobject^$!retrieve1D!insertrow(`!ridsetitemO!ref_ridODAT*B͐(͐u_emis_period 2commandbuttondropdownlistboxal 0RAPIDS ReportsRpt.icoe tistr_rpt_parmsd_  DAT*> u_data_mart_export  / +create+destroy+clicked+constructor QL x _initsrcuserobjectu_data_mart_exportuserobjectswindowobjectborderstylestructuremailrecipientenvironmentmailfiledescriptionmailmessagedatawindowchildlistviewitemtreeviewitemconnectioninfopowerobjectstatictextst_statusfontcharsetfontpitchfontfamilyalignmentfillpatterncommandbuttoncb_exportcb_selectsinglelineeditsle_dirDAT*@textcasest_1st_2sle_nameradiobuttonrb_appendrb_overrb_promptgroupboxgb_1dragobjectmessage type ng iNu@striCo /st@rdUn;LB@ n_dHit@v_unTs_@e_ba^co@ lonlrd@ doxfr@ en s @on ti@essa @$ z@z &@@@@$)@1@DAT*. 84$@%8@8@@)@178AB!K@Zb@!kp<u~@ 8 8  @P se8@@ DAT*D MS Sans SerifSelect Report:ID \2-\2 PExitPreviewEmissions by CountyEmissions by SourceEmissions by DeviceEmissions by ProcesDAT*sSource Emissions SummarySource Detail ReportSource Device ConnectionsCounty Emissions BreakdownData Mart: State Totals RollupData Mart: State SCC RollupData Mart: State SIC RollupData Mart: County Totals RollupData Mart: County SCC RollupData Mart: County SIC Rollup ,-AVo4R ,-ADAT*Hforward global type n_ds_dm_emissions_orginal from n_ds_nei_cache_base end type end forward global type n_ds_dm_emissions_orginal from n_ds_nei_cache_base end type global n_ds_dm_emissions_orginal n_ds_dm_emissions_orginal type variables string is_dataCodeNull string is_dataCodeRO string is_standardUnitCode = "LB" n_ds_cache_units inv_units n_ds_nei_cache_base ids_rollup end variables forward prototypes public function integer of_prioritize () public function integer of_rDAT*Jollupbyrid (string as_rollupridcolumn) public function integer of_rollupbyscc (string as_rollupridcolumn) public function integer of_rollupbyridscc (string as_rollupridcolumn) public function integer of_totals (long al_refRid) public function integer of_resetrollup () public function integer of_rollupbyblock (string as_rollupridcolumn) end prototypes public function integer of_prioritize (); long ll_rc long ll_row long ll_rowCount long ll_subRow long ll_discardRow long ll_startRow, DAT*Lll_endRow long ll_nextStartRow boolean ib_processSubBlock long ll_processRid, ll_prevProcessRid datetime ldt_startDateTime, ldt_prevStartDateTime string ls_referenceCode, ls_prevReferenceCode string ls_materialCode, ls_prevMaterialCode string ls_dataCode, ls_prevDataCode string ls_valueType, ls_prevValueType string ls_valueUnitCode string ls_null double ld_valueAmt double ld_newValueAmt double ld_blockValueAmt setNull(ls_null) //turn off any filters ll_rc = this.of_filter(DAT*N"") if ll_rc < 0 then messageBox("Error", "Data filter failed.", exclamation!) return -1 end if //sort rows for process level prioritization ll_rc = this.of_sort("reference_code a, start_date_time a, process_rid a, material_code a, data_code a, value_type a") if ll_rc < 0 then messageBox("Error", "Data sort failed.", exclamation!) return -1 end if ll_startRow = 0 ll_endRow = 0 ll_nextStartRow = 1 ll_rowCount = this.rowCount() for ll_row = 1 to ll_rowCount ib_processSubDAT*PBlock = false if ll_startRow <> ll_nextStartRow then ll_startRow = ll_nextStartRow end if ls_referenceCode = this.object.reference_code[ll_row] ldt_startDateTime = this.object.start_date_time[ll_row] ll_processRid = this.object.process_rid[ll_row] ls_materialCode = this.object.material_code[ll_row] if ll_row = ll_rowCount then //last row in data store ll_endRow = ll_row ib_processSubBlock = true elseif ls_referenceCode <> ls_prevReferenceCode or & DAT*Rldt_startDateTime <> ldt_prevStartDateTime or & ll_processRid <> ll_prevProcessRid or & ls_materialCode <> ls_prevMaterialCode then //key data changed from last row read if ll_row > ll_startRow then ll_endRow = ll_row - 1 ll_nextStartRow = ll_row ib_processSubBlock = true end if end if //process sub-block if ib_processSubBlock then //reset the discard index ll_discardRow = 0 if ll_startRow < ll_endRow then //for multiple DAT*Trows, prioritize by data code and value type //prioritize by data code first ls_prevDataCode = this.object.data_code[ll_startRow] for ll_subRow = ll_startRow + 1 to ll_endRow ls_dataCode = this.object.data_code[ll_subRow] if ls_dataCode <> ls_prevDataCode then //grab the first discarded row number ll_discardRow = ll_subRow //flag remaining records for discard //by setting the metric code to discard for ll_subRDAT*Vow = ll_subRow to ll_endRow this.object.metric_code[ll_subRow] = "DISCARD" next exit end if ls_prevDataCode = ls_dataCode next //sub-row //prioritize by value type next ls_prevValueType = this.object.value_type[ll_startRow] for ll_subRow = ll_startRow + 1 to ll_endRow if ll_discardRow > 0 and ll_subRow >= ll_discardRow then //all rows beyond this one have already been flagged exit end if DAT*X ls_valueType = this.object.value_type[ll_subRow] if ls_valueType <> ls_prevValueType then //grab the first discarded row number if ll_subRow < ll_discardRow then ll_discardRow = ll_subRow else //all rows beyond this one have already been flagged exit end if //flag remaining records for discard //by setting the metric code to discard for ll_subRow = ll_subRow to ll_endRow this.object.metric_code[ll_sDAT*ZubRow] = "DISCARD" next exit end if ls_prevValueType = ls_valueType next //sub-row end if //set the sub-block end row to the last non-discarded row if ll_discardRow > 0 then ll_endRow = ll_discardRow - 1 end if //sum remaining (non-discarded) rows for block ld_blockValueAmt = 0 for ll_subRow = ll_startRow to ll_endRow //grab the value and unit code for conversion ld_valueAmt = this.objecDAT*\t.rollup_amt[ll_subRow] ls_valueUnitCode = this.object.unit_code[ll_subRow] if ld_valueAmt = 0 or isNull(ld_valueAmt) or trim(ls_valueUnitCode) = "" or isNull(ls_valueUnitCode) then //skip rows with invalid data continue end if if ls_valueUnitCode <> is_standardUnitCode then //convert the value to standard units ld_newValueAmt = inv_units.of_dm_convertUnits(ld_valueAmt, ls_valueUnitCode, is_standardUnitCode) if ld_newValueAmt < 0 then DAT*^ messageBox("Error", "Unit conversion failed.", exclamation!) return -1 end if else //no conversion necessary ld_newValueAmt = ld_valueAmt end if //add the converted value amount to the total for the block if ld_newValueAmt > 0 then ld_blockValueAmt += ld_newValueAmt end if next //sub-row if ld_blockValueAmt > 0 then //upate the first row with the block total (all other rows will be discarded) this.objecDAT*`t.rollup_amt[ll_startRow] = ld_blockValueAmt this.object.unit_code[ll_startRow] = is_standardUnitCode else //if the block total was 0 then mark first row as discarded, too this.object.metric_code[ll_startRow] = "DISCARD" end if //mark all but first row in sub-block for discard for ll_subRow = ll_startRow + 1 to ll_endRow this.object.metric_code[ll_subRow] = "DISCARD" next //sub-row end if //sub-block processing ls_prevReferenceCode = ls_referencDAT*beCode ldt_prevStartDateTime = ldt_startDateTime ll_prevProcessRid = ll_processRid ls_prevMaterialCode = ls_materialCode next //row //discard all the rows not containing the downstream discharge metric ll_rc = this.of_discardByStringArray("metric_code", {"DOWNSTRMDIS"}) if ll_rc < 0 then messageBox("Error", "Data discard failed.", exclamation!) return -1 end if ll_rc = this.of_scan("PRE_COPY_ROLLUP_PROCESS_RID") if ll_rc < 0 then return -1 end if return 1 endDAT*d function public function integer of_rollupbyrid (string as_rollupridcolumn); long ll_rc long ll_row long ll_rowCount long ll_subRow long ll_discardRow long ll_startRow, ll_endRow long ll_nextStartRow boolean ib_processSubBlock long ll_rollupRid, ll_prevRollupRid datetime ldt_startDateTime, ldt_prevStartDateTime string ls_referenceCode, ls_prevReferenceCode string ls_materialCode, ls_prevMaterialCode string ls_null double ld_valueAmt double ld_blockValueAmt string ls_rollupDAT*fRidColumn ls_rollupRidColumn = lower(trim(as_rollupRidColumn)) setNull(ls_null) //turn off any filters ll_rc = this.of_filter("") if ll_rc < 0 then messageBox("Error", "Data filter failed.", exclamation!) return -1 end if //sort rows for rid level rollup ll_rc = this.of_sort("reference_code a, start_date_time a, " + ls_rollupRidColumn + " a, material_code a") if ll_rc < 0 then messageBox("Error", "Data sort failed.", exclamation!) return -1 end if ll_startRow = 0DAT*h ll_endRow = 0 ll_nextStartRow = 1 ll_rowCount = this.rowCount() for ll_row = 1 to ll_rowCount ib_processSubBlock = false if ll_startRow <> ll_nextStartRow then ll_startRow = ll_nextStartRow end if ls_referenceCode = this.object.reference_code[ll_row] ldt_startDateTime = this.object.start_date_time[ll_row] ll_rollupRid = this.getItemNumber(ll_row, ls_rollupRidcolumn) ls_materialCode = this.object.material_code[ll_row] if ll_row = ll_rowCount then //lasDAT*jt row in data store ll_endRow = ll_row ib_processSubBlock = true elseif ls_referenceCode <> ls_prevReferenceCode or & ldt_startDateTime <> ldt_prevStartDateTime or & ll_rollupRid <> ll_prevRollupRid or & ls_materialCode <> ls_prevMaterialCode then //key data changed from last row read if ll_row > ll_startRow then ll_endRow = ll_row - 1 ll_nextStartRow = ll_row ib_processSubBlock = true end if end if //process sub-block if ib_proDAT*lcessSubBlock and ll_startRow < ll_endRow then //reset the discard index ll_discardRow = 0 //sum rows for block //set the new end row if ll_discardRow > 0 then ll_endRow = ll_discardRow - 1 end if if ll_startRow < ll_endRow then ld_blockValueAmt = 0 //sum the emissions for the current block for ll_subRow = ll_startRow to ll_endRow //grab the value and unit code ld_valueAmt = this.object.rollup_amt[ll_subRow] DAT*n if ld_valueAmt = 0 or isNull(ld_valueAmt) then //skip rows with invalid data continue end if ld_blockValueAmt += ld_valueAmt next //sub-row if ld_blockValueAmt > 0 then //upate the first row with the block total (all other rows will be discarded) this.object.rollup_amt[ll_startRow] = ld_blockValueAmt else //if the block total was 0 then mark first row as deleted, too this.object.metric_code[ll_startRow] = "DISCADAT*pRD" end if //mark all but first row in sub-block for discard for ll_subRow = ll_startRow + 1 to ll_endRow this.object.metric_code[ll_subRow] = "DISCARD" next //sub-row end if end if //sub-block processing ls_prevReferenceCode = ls_referenceCode ldt_prevStartDateTime = ldt_startDateTime ll_prevRollupRid = ll_rollupRid ls_prevMaterialCode = ls_materialCode next //row //discard all the rows not containing the downstream discharge metDAT*rric ll_rc = this.of_discardByStringArray("metric_code", {"DOWNSTRMDIS"}) if ll_rc < 0 then messageBox("Error", "Data discard failed.", exclamation!) return -1 end if ll_rc = this.of_scan("PRE_COPY_ROLLUP_" + upper(ls_rollupRidColumn)) if ll_rc < 0 then return -1 end if return 1 end function public function integer of_rollupbyscc (string as_rollupridcolumn); long ll_rc long ll_row long ll_rowCount long ll_subRow long ll_discardRow long ll_startRow, ll_endRow long ll_neDAT*txtStartRow boolean ib_processSubBlock datetime ldt_startDateTime, ldt_prevStartDateTime string ls_referenceCode, ls_prevReferenceCode string ls_materialCode, ls_prevMaterialCode string ls_sccAmsCode, ls_prevSccAmsCode string ls_null double ld_valueAmt double ld_blockValueAmt string ls_rollupRidColumn ls_rollupRidColumn = lower(trim(as_rollupRidColumn)) setNull(ls_null) //turn off any filters ll_rc = this.of_filter("") if ll_rc < 0 then messageBox("Error", "Data filteDAT*vr failed.", exclamation!) return -1 end if //sort rows for rid level rollup ll_rc = this.of_sort("reference_code a, start_date_time a, scc_ams_code a, material_code a") if ll_rc < 0 then messageBox("Error", "Data sort failed.", exclamation!) return -1 end if ll_startRow = 0 ll_endRow = 0 ll_nextStartRow = 1 ll_rowCount = this.rowCount() for ll_row = 1 to ll_rowCount ib_processSubBlock = false if ll_startRow <> ll_nextStartRow then ll_startRow = ll_nextStartRow eDAT*xnd if ls_referenceCode = this.object.reference_code[ll_row] ldt_startDateTime = this.object.start_date_time[ll_row] ls_sccAmsCode = this.object.scc_ams_code[ll_row] ls_materialCode = this.object.material_code[ll_row] if ll_row = ll_rowCount then //last row in data store ll_endRow = ll_row ib_processSubBlock = true elseif ls_referenceCode <> ls_prevReferenceCode or & ldt_startDateTime <> ldt_prevStartDateTime or & ls_sccAmsCode <> ls_prevSccAmsCode oDAT*zr & ls_materialCode <> ls_prevMaterialCode then //key data changed from last row read if ll_row > ll_startRow then ll_endRow = ll_row - 1 ll_nextStartRow = ll_row ib_processSubBlock = true end if end if //process sub-block if ib_processSubBlock and ll_startRow < ll_endRow then //reset the discard index ll_discardRow = 0 //sum rows for block //set the new end row if ll_discardRow > 0 then ll_endRow = ll_discardRow - 1 eDAT*|nd if if ll_startRow < ll_endRow then ld_blockValueAmt = 0 //sum the emissions for the current block for ll_subRow = ll_startRow to ll_endRow //grab the value and unit code ld_valueAmt = this.object.rollup_amt[ll_subRow] if ld_valueAmt = 0 or isNull(ld_valueAmt) then //skip rows with invalid data continue end if ld_blockValueAmt += ld_valueAmt next //sub-row if ld_blockValueAmt > 0 then DAT*~ //upate the first row with the block total (all other rows will be discarded) this.object.rollup_amt[ll_startRow] = ld_blockValueAmt else //if the block total was 0 then mark first row as deleted, too this.object.metric_code[ll_startRow] = "DISCARD" end if //mark all but first row in sub-block for discard for ll_subRow = ll_startRow + 1 to ll_endRow this.object.metric_code[ll_subRow] = "DISCARD" next //sub-row end if end if /DAT*/sub-block processing ls_prevReferenceCode = ls_referenceCode ldt_prevStartDateTime = ldt_startDateTime ls_prevSccAmsCode = ls_sccAmsCode ls_prevMaterialCode = ls_materialCode next //row //discard all the rows not containing the downstream discharge metric ll_rc = this.of_discardByStringArray("metric_code", {"DOWNSTRMDIS"}) if ll_rc < 0 then messageBox("Error", "Data discard failed.", exclamation!) return -1 end if ll_rc = this.of_scan("PRE_COPY_ROLLUP_" + upperDAT*(ls_rollupRidColumn)) if ll_rc < 0 then return -1 end if return 1 end function public function integer of_rollupbyridscc (string as_rollupridcolumn); long ll_rc long ll_row long ll_rowCount long ll_subRow long ll_discardRow long ll_startRow, ll_endRow long ll_nextStartRow boolean ib_processSubBlock long ll_rollupRid, ll_prevRollupRid datetime ldt_startDateTime, ldt_prevStartDateTime string ls_referenceCode, ls_prevReferenceCode string ls_sccAmsCode, ls_prevSccAmsCode sDAT*tring ls_materialCode, ls_prevMaterialCode string ls_null double ld_valueAmt double ld_blockValueAmt string ls_rollupRidColumn ls_rollupRidColumn = lower(trim(as_rollupRidColumn)) setNull(ls_null) //turn off any filters ll_rc = this.of_filter("") if ll_rc < 0 then messageBox("Error", "Data filter failed.", exclamation!) return -1 end if //sort rows for rid level rollup ll_rc = this.of_sort("reference_code a, start_date_time a, " + ls_rollupRidColumn + " a, scc_ams_coDAT*de a, material_code a") if ll_rc < 0 then messageBox("Error", "Data sort failed.", exclamation!) return -1 end if ll_startRow = 0 ll_endRow = 0 ll_nextStartRow = 1 ll_rowCount = this.rowCount() for ll_row = 1 to ll_rowCount ib_processSubBlock = false if ll_startRow <> ll_nextStartRow then ll_startRow = ll_nextStartRow end if ls_referenceCode = this.object.reference_code[ll_row] ldt_startDateTime = this.object.start_date_time[ll_row] ll_rollupRid = this.geDAT*tItemNumber(ll_row, ls_rollupRidcolumn) ls_sccAmsCode = this.object.scc_ams_code[ll_row] if isNull(ls_sccAmsCode) then ls_sccAmsCode = "UNKNOWN" this.object.scc_ams_code[ll_row] = ls_sccAmsCode end if ls_materialCode = this.object.material_code[ll_row] if ll_row = ll_rowCount then //last row in data store ll_endRow = ll_row ib_processSubBlock = true elseif ls_referenceCode <> ls_prevReferenceCode or & ldt_startDateTime <> ldt_prevStartDateTime or & llDAT*_rollupRid <> ll_prevRollupRid or & ls_sccAmsCode <> ls_prevSccAmsCode or & ls_materialCode <> ls_prevMaterialCode then //key data changed from last row read if ll_row > ll_startRow then ll_endRow = ll_row - 1 ll_nextStartRow = ll_row ib_processSubBlock = true end if end if //process sub-block if ib_processSubBlock and ll_startRow < ll_endRow then //reset the discard index ll_discardRow = 0 //sum rows for block //sDAT*et the new end row if ll_discardRow > 0 then ll_endRow = ll_discardRow - 1 end if if ll_startRow < ll_endRow then ld_blockValueAmt = 0 //sum the emissions for the current block for ll_subRow = ll_startRow to ll_endRow //grab the value and unit code ld_valueAmt = this.object.rollup_amt[ll_subRow] if ld_valueAmt = 0 or isNull(ld_valueAmt) then //skip rows with invalid data continue end if ld_blockValueDAT*Amt += ld_valueAmt next //sub-row if ld_blockValueAmt > 0 then //upate the first row with the block total (all other rows will be discarded) this.object.rollup_amt[ll_startRow] = ld_blockValueAmt //add else //if the block total was 0 then mark first row as deleted, too this.object.metric_code[ll_startRow] = "DISCARD" end if //mark all but first row in sub-block for discard for ll_subRow = ll_startRow + 1 to ll_endRDAT*ow this.object.metric_code[ll_subRow] = "DISCARD" next //sub-row end if end if //sub-block processing ls_prevReferenceCode = ls_referenceCode ldt_prevStartDateTime = ldt_startDateTime ll_prevRollupRid = ll_rollupRid ls_prevSccAmsCode = ls_sccAmsCode ls_prevMaterialCode = ls_materialCode next //row //discard all the rows not containing the downstream discharge metric ll_rc = this.of_discardByStringArray("metric_code", {"DOWNSTRMDIS"}) if ll_DAT*rc < 0 then messageBox("Error", "Data discard failed.", exclamation!) return -1 end if ll_rc = this.of_scan("PRE_COPY_ROLLUP_" + upper(ls_rollupRidColumn)) if ll_rc < 0 then return -1 end if return 1 end function public function integer of_totals (long al_refRid); long ll_rc //set filter to get totals only ll_rc = this.of_filter("summary_category = 'TOTAL'") if ll_rc < 0 then return -1 end if return 1 end function public function integer of_resetrollup ();DAT* ids_rollup.reset() ids_rollup.of_setDataType("", this.dataObject) return 1 end function public function integer of_rollupbyblock (string as_rollupridcolumn); long ll_rc long ll_row long ll_rowCount long ll_subRow long ll_discardRow long ll_startRow, ll_endRow long ll_nextStartRow boolean ib_processSubBlock long ll_rollupRid, ll_prevRollupRid datetime ldt_startDateTime, ldt_prevStartDateTime string ls_referenceCode, ls_prevReferenceCode string ls_materialCode, ls_prevMateDAT*rialCode string ls_null double ld_valueAmt double ld_blockValueAmt string ls_rollupRidColumn ls_rollupRidColumn = lower(trim(as_rollupRidColumn)) setNull(ls_null) //turn off any filters ll_rc = this.of_filter("") if ll_rc < 0 then messageBox("Error", "Data filter failed.", exclamation!) return -1 end if //reset the rollup datastore this.of_resetRollup() //set the sort keys for the current rollup this.of_resetBlockSortKeys() this.of_addBlockSortKey("reference_coDAT*de a") this.of_addBlockSortKey("start_date_time a") this.of_addBlockSortKey(ls_rollupRidColumn + " a") this.of_addBlockSortKey("material_code a") //run block processing using the curent keys to sum the emissions for the block ll_rc = this.of_scanBlocks("sum_rollup_amt", 0) return ll_rc //sort rows for rid level rollup ll_rc = this.of_sort("reference_code a, start_date_time a, " + ls_rollupRidColumn + " a, material_code a") if ll_rc < 0 then messageBox("Error", "Data sort failed.",DAT* exclamation!) return -1 end if ll_startRow = 0 ll_endRow = 0 ll_nextStartRow = 1 ll_rowCount = this.rowCount() for ll_row = 1 to ll_rowCount ib_processSubBlock = false if ll_startRow <> ll_nextStartRow then ll_startRow = ll_nextStartRow end if ls_referenceCode = this.object.reference_code[ll_row] ldt_startDateTime = this.object.start_date_time[ll_row] ll_rollupRid = this.getItemNumber(ll_row, ls_rollupRidcolumn) ls_materialCode = this.object.material_coDAT*de[ll_row] if ll_row = ll_rowCount then //last row in data store ll_endRow = ll_row ib_processSubBlock = true elseif ls_referenceCode <> ls_prevReferenceCode or & ldt_startDateTime <> ldt_prevStartDateTime or & ll_rollupRid <> ll_prevRollupRid or & ls_materialCode <> ls_prevMaterialCode then //key data changed from last row read if ll_row > ll_startRow then ll_endRow = ll_row - 1 ll_nextStartRow = ll_row ib_processSubBlock = true endDAT* if end if //process sub-block if ib_processSubBlock and ll_startRow < ll_endRow then //reset the discard index ll_discardRow = 0 //sum rows for block //set the new end row if ll_discardRow > 0 then ll_endRow = ll_discardRow - 1 end if if ll_startRow < ll_endRow then ld_blockValueAmt = 0 //sum the emissions for the current block for ll_subRow = ll_startRow to ll_endRow //grab the value and unit code ld_valuDAT*eAmt = this.object.rollup_amt[ll_subRow] if ld_valueAmt = 0 or isNull(ld_valueAmt) then //skip rows with invalid data continue end if ld_blockValueAmt += ld_valueAmt next //sub-row if ld_blockValueAmt > 0 then //upate the first row with the block total (all other rows will be discarded) this.object.rollup_amt[ll_startRow] = ld_blockValueAmt else //if the block total was 0 then mark first row as deleted, tDAT*oo this.object.metric_code[ll_startRow] = "DISCARD" end if //mark all but first row in sub-block for discard for ll_subRow = ll_startRow + 1 to ll_endRow this.object.metric_code[ll_subRow] = "DISCARD" next //sub-row end if end if //sub-block processing ls_prevReferenceCode = ls_referenceCode ldt_prevStartDateTime = ldt_startDateTime ll_prevRollupRid = ll_rollupRid ls_prevMaterialCode = ls_materialCode next //row //discard allDAT* the rows not containing the downstream discharge metric ll_rc = this.of_discardByStringArray("metric_code", {"DOWNSTRMDIS"}) if ll_rc < 0 then messageBox("Error", "Data discard failed.", exclamation!) return -1 end if ll_rc = this.of_scan("PRE_COPY_ROLLUP_" + upper(ls_rollupRidColumn)) if ll_rc < 0 then return -1 end if return 1 end function on n_ds_dm_emissions_orginal.create call datastore::create TriggerEvent( this, "constructor" ) end on on n_ds_dm_emissions_orginDAT*al.destroy call datastore::destroy TriggerEvent( this, "destructor" ) end on event constructor;call super::constructor; string ls_empty this.of_setDataType("", "d_dm_emissions") //read data code values is_dataCodeNull = trim(profileString(gs_iniFile, "data code priority", "null", ls_empty)) if is_dataCodeNull = ls_empty then is_dataCodeNull = "99" end if is_dataCodeRO = trim(profileString(gs_iniFile, "data code priority", "ro", ls_empty)) if is_dataCodeRO = ls_empty then DAT*is_dataCodeRO = "00" end if //create the rollup datastore ids_rollup = create n_ds_nei_cache_base end event event ue_scanrow;call super::ue_scanrow; //Return NULL to stop the scanning process normally //(of_scan() will return the row stopped on) //Return Negative Value to stop the scanning process with error status //(of_scan() will return the Negative Value) //force argument to upper case as_action = upper(trim(as_action)) choose case as_action // ***************DAT*********************************************************** case "NORMALIZE" // ************************************************************************* datetime ldt_startDateTime datetime ldt_endDateTime integer li_startYear integer li_endYear string ls_valueType string ls_sccAmsCode string ls_sicCode string ls_dataCode //START AND END DATES (should be done last) //grab the start and end dates ldt_startDateTime = this.object.start_date_time[al_row] DAT*ldt_endDateTime = this.object.end_date_time[al_row] //if start or end date missing, flag row for discard if isNull(ldt_startDateTime) or isNull(ldt_endDateTime) then this.object.metric_code[al_row] = "DISCARD" return 1 //go on to next row in scan end if //grab the start and end years li_startYear = year(date(ldt_startDateTime)) li_endYear = year(date(ldt_endDateTime)) //if start and end date not in the same year, flag row for discard if li_startYear DAT*<> li_endYear then this.object.metric_code[al_row] = "DISCARD" return 1 //go on to next row in scan end if //normalize the start and end dates for each year, //so that sorts will work properly ldt_startDateTime = datetime(date( string(li_startYear) + "-01-01" )) ldt_endDateTime = datetime(date( string(li_endYear) + "-12-31" )) //set the start and end dates back into datastore this.object.start_date_time[al_row] = ldt_startDateTime this.object.end_date_tDAT*ime[al_row] = ldt_endDateTime //VALUE TYPE //grab the value type ls_valueType = this.object.value_type[al_row] if isNull(ls_valueType) then ls_valueType = "100" elseif ls_valueType = "TOT" then ls_valueType = "200" elseif ls_valueType = "AVG" then ls_valueType = "300" elseif ls_valueType = "EXH" or ls_valueType = "EVH" then //VOC values from speciation ls_valueType = "VOC" elseif ls_valueType = "EXP" then //PM values from speciation ls_DAT*valueType = "PM" elseif ls_valueType = "BW1" or ls_valueType = "TW1" then //PM values from speciation ls_valueType = "PM1" else //non-usable value type, flag row for discard this.object.metric_code[al_row] = "DISCARD" return 1 //go on to next row in scan end if //set value type back into the datastore this.object.value_type[al_row] = ls_valueType //SCC/AMS CODE ls_sccAmsCode = this.object.scc_ams_code[al_row] if isNull(ls_sccAmsCode) or trim(DAT*ls_sccAmsCode) = "" then this.object.scc_ams_code[al_row] = "NONE" end if //SIC CODE ls_sicCode = this.object.sic_code[al_row] if isNull(ls_sicCode) or trim(ls_sicCode) = "" then this.object.sic_code[al_row] = "NONE" end if //DATA CODE (should be done last) //grab the data code ls_dataCode = this.object.data_code[al_row] //convert the data code for values of null or "ro" if isNull(ls_dataCode) then ls_dataCode = is_dataCodeNull elseifDAT* ls_dataCode = "RO" then ls_dataCode = is_dataCodeRO else //no change to data code return 1 //go on to next row in scan end if //set new data_code value back into data store this.object.data_code[al_row] = ls_dataCode return 1 //go on to next row in scan // ************************************************************************* case "PRE_COPY_ROLLUP_PROCESS_RID" // ************************************************************************* stringDAT* ls_null setNull(ls_null) //convert data code, if necessary if this.object.data_code[al_row] = is_dataCodeNull then this.object.data_code[al_row] = ls_null end if if this.object.data_code[al_row] = is_dataCodeRO then this.object.data_code[al_row] = "RO" end if //convert value type, if necessary if this.object.value_type[al_row] = "100" then this.object.value_type[al_row] = ls_null end if if this.object.value_type[al_row] = "200" then this.oDAT*bject.value_type[al_row] = "TOT" end if if this.object.value_type[al_row] = "300" then this.object.value_type[al_row] = "AVG" end if //set the rollup ref rid to the process rid this.object.rollup_ref_rid[al_row] = this.object.process_rid[al_row] return 1 //go on to next row in scan // ************************************************************************* case "PRE_COPY_ROLLUP_DEVICE_RID" // ****************************************************************DAT********** //set the rollup ref rid to the device rid this.object.rollup_ref_rid[al_row] = this.object.device_rid[al_row] return 1 //go on to next row in scan // ************************************************************************* case "PRE_COPY_ROLLUP_SOURCE_RID" // ************************************************************************* //set the rollup ref rid to the source rid this.object.rollup_ref_rid[al_row] = this.object.source_rid[al_row] retuDAT*rn 1 //go on to next row in scan // ************************************************************************* case "PRE_COPY_ROLLUP_COUNTY_RID" // ************************************************************************* //SIC CODE ls_sicCode = this.object.sic_code[al_row] if isNull(ls_sicCode) or trim(ls_sicCode) = "" then this.object.sic_code[al_row] = "NONE" ls_sicCode = this.object.sic_code[al_row] end if return 1 //go on to next row in scan // ****DAT********************************************************************** case "POST_COPY_ROLLUP_PROCESS_RID" // ************************************************************************* this.object.rollup_level[al_row] = "PRO" this.object.summary_category[al_row] = "TOTAL" this.object.summary_category_code[al_row] = "TOTAL" return 1 //go on to next row in scan // ************************************************************************* case "POST_COPY_RODAT*LLUP_DEVICE_RID" // ************************************************************************* this.object.rollup_level[al_row] = "DEV" this.object.summary_category[al_row] = "TOTAL" this.object.summary_category_code[al_row] = "TOTAL" return 1 //go on to next row in scan // ************************************************************************* case "POST_COPY_ROLLUP_SOURCE_RID" // *************************************************************************DAT* this.object.rollup_level[al_row] = "SRC" this.object.summary_category[al_row] = "TOTAL" this.object.summary_category_code[al_row] = "TOTAL" return 1 //go on to next row in scan // ************************************************************************* case "POST_COPY_ROLLUP_COUNTY_RID" // ************************************************************************* this.object.rollup_level[al_row] = "COUNTY" this.object.summary_category[al_roDAT*w] = "TOTAL" this.object.summary_category_code[al_row] = "TOTAL" return 1 //go on to next row in scan // ************************************************************************* case "POST_COPY_ROLLUP_SCC_SOURCE_RID" // ************************************************************************* this.object.rollup_level[al_row] = "SRC" this.object.summary_category[al_row] = "SCC" return 1 //go on to next row in scan // ************************DAT************************************************** case "POST_COPY_ROLLUP_SCC_COUNTY_RID" // ************************************************************************* this.object.rollup_level[al_row] = "COUNTY" this.object.summary_category[al_row] = "SCC" return 1 //go on to next row in scan // ************************************************************************* case "POST_COPY_ROLLUP_SIC_COUNTY_RID" // *************************************************DAT************************* this.object.rollup_level[al_row] = "COUNTY" this.object.summary_category[al_row] = "SIC" return 1 //go on to next row in scan // ************************************************************************* case else // ************************************************************************* //default action or error signalError(-1, "Unknow action '" + as_action + "' for ue_scanRow().") return -1 end choose return 0 endDAT* event event ue_scanblock;call super::ue_scanblock;//Return NULL to stop the scanning process normally //(of_scanBlock() will return the row stopped on) //Return Negative Value to stop the scanning process with error status //(of_scanBlock() will return the Negative Value) //force argument to upper case as_action = upper(trim(as_action)) choose case as_action // ************************************************************************* case "SUM_ROLLUP_AMT" // *************DAT************************************************************* long ll_rc long ll_row, ll_newRow double ld_rollupAmt double ld_rollupTotal //sum the rollup_amt for the block for ll_row = al_startRow to al_endRow ld_rollupAmt = this.object.rollup_amt[ll_row] if isNull(ld_rollupAmt) then ld_rollupAmt = 0 end if ld_rollupTotal += ld_rollupAmt next if ld_rollupTotal > 0 then ll_newRow = ids_rollup.rowCount() + 1 //add a new row DAT*to the rollup datastore based on a copy of the block start row ll_rc = this.rowsCopy(al_startRow, al_startRow, primary!, ids_rollup, ll_newRow, primary!) if ll_rc < 0 then messageBox("Error", "Copy of row to rollup buffer failed.", exclamation!) return -1 end if //write the block total into the rollup datastore ids_rollup.object.rollup_amt[ll_newRow] = ld_rollupTotal end if return 0 // **********************************************************DAT**************** case "SUM_ROLLUP_AMT_SOURCE_SCC" // ************************************************************************* // ************************************************************************* case "SUM_ROLLUP_AMT_DEVICE_TOTAL" // ************************************************************************* // ************************************************************************* case "SUM_ROLLUP_AMT_SOURCE_TOTAL" // ****************************************DAT********************************** // ************************************************************************* case else // ************************************************************************* //default action or error signalError(-1, "Unknow action '" + as_action + "' for ue_scanBlock().") return -1 end choose return 0 end event event destructor;call super::destructor; if isValid(ids_rollup) then destroy ids_rollup end if end event event dberror;cDAT*Vall super::dberror; populateError(-1, "DBError for n_ds_dm_emissions") end event DAT*Vo4Rdragobjectmessagegs_filtpointergs_inifilew_report_bodygs_databasep8`0p HpXp 2 w_report * L +create+destroy+closequery+oDAT*pen+clickedindex+selectionchanged QL4LI  x! _initsrcwindoww_reportmenuwindowtypewindowstatewindowobjecttoolbaralignmentstructuremailrecipientenvironmentmailfiledescriptionmailmessagedatawindowchildlistviewitemtreeviewitemconnectioninfopowerobjectu_data_mart_population_interfaceuo_data_martuserobjectsborderstyleu_data_mart_population_interface`dw_data_mart_dateu_data_mart_population_interface`cb_1u_data_mart_populatioDAT*n_interface`st_statusu_data_mart_population_interface`dw_erroru_data_mart_population_interface`gb_1n_ds_cache_basen_ds_cache_unitsn_ds_dm_emissionsu_class_ss_clientuo_ssu_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_ss_client`st_2u_class_ss_client`st_1u_class_ss_client`cb_source_selectoru_class_DAT*source_groupu_dw_reference_codedw_reference_codesdwobjectu_dw_unit_codedw_unit_measdatastorestatictextst_select_reportfontcharsetfontpitchfontfamilyalignmentfillpatternu_pollutantuo_pollutantu_pollutant`dw_material_groupu_pollutant`cb_remove_allu_pollutant`cb_add_allu_pollutant`st_2u_pollutant`dw_materialu_pollutant`st_1u_pollutant`gb_1u_emis_perioduo_emis_periodu_emis_period`st_3u_emis_period`st_2u_emis_period`em_endu_emis_period`em_startu_emis_period`st_1u_emis_periDAT*od`ddlb_intervalu_emis_period`gb_1commandbuttoncb_closecb_previewdropdownlistboxddlb_reportnamestr_rpt_parmsdragobjectmessagepointerw_report_body1@L!@&@01@8=@J@,[@e@s _@? ?@ @ - Wi@Chil y@techor@at@DAT*T+u@pulaan@1@@*]@)' !@@!@1<@C$I 8d     tine 83$JzzDAT*forward global type n_ds_dm_transfer from n_ds_nei_cache_base end type end forward global type n_ds_dm_transfer from n_ds_nei_cache_base end type global n_ds_dm_transfer n_ds_dm_transfer type variables string is_dataCodeNull string is_dataCodeRO string is_standardUnitCode = "LB" n_ds_cache_units inv_units n_ds_cache_base ids_loccords long il_loccordrows double id_refrid end variables forward prototypes public function integer of_prioritize () public function integerDAT* of_rollupbyrid (string as_rollupridcolumn) end prototypes public function integer of_prioritize (); long ll_rc long ll_row long ll_rowCount long ll_subRow long ll_discardRow long ll_startRow, ll_endRow long ll_nextStartRow boolean ib_processSubBlock long ll_processRid, ll_prevProcessRid datetime ldt_startDateTime, ldt_prevStartDateTime string ls_referenceCode, ls_prevReferenceCode string ls_materialCode, ls_prevMaterialCode string ls_dataCode, ls_prevDataCode string ls_valueTDAT*ype, ls_prevValueType string ls_valueUnitCode string ls_null double ld_valueAmt double ld_newValueAmt double ld_blockValueAmt setNull(ls_null) //turn off any filters ll_rc = this.of_filter("") if ll_rc < 0 then messageBox("Error", "Data filter failed.", exclamation!) return -1 end if //sort rows for process level prioritization ll_rc = this.of_sort("reference_code a, start_date_time a, process_rid a, material_code a, data_code a, value_type a") if ll_rc < 0 then messageDAT*Box("Error", "Data sort failed.", exclamation!) return -1 end if ll_startRow = 0 ll_endRow = 0 ll_nextStartRow = 1 ll_rowCount = this.rowCount() for ll_row = 1 to ll_rowCount ib_processSubBlock = false if ll_startRow <> ll_nextStartRow then ll_startRow = ll_nextStartRow end if ls_referenceCode = this.object.reference_code[ll_row] ldt_startDateTime = this.object.start_date_time[ll_row] ll_processRid = this.object.process_rid[ll_row] ls_materialCode = this.DAT*object.material_code[ll_row] if ll_row = ll_rowCount then //last row in data store ll_endRow = ll_row ib_processSubBlock = true elseif ls_referenceCode <> ls_prevReferenceCode or & ldt_startDateTime <> ldt_prevStartDateTime or & ll_processRid <> ll_prevProcessRid or & ls_materialCode <> ls_prevMaterialCode then //key data changed from last row read if ll_row > ll_startRow then ll_endRow = ll_row - 1 ll_nextStartRow = ll_row ib_processSubDAT*Block = true end if end if //process sub-block if ib_processSubBlock and ll_startRow < ll_endRow then //reset the discard index ll_discardRow = 0 //prioritize by data code first ls_prevDataCode = this.object.data_code[ll_startRow] for ll_subRow = ll_startRow + 1 to ll_endRow ls_dataCode = this.object.data_code[ll_subRow] if ls_dataCode <> ls_prevDataCode then //grab the first discarded row number ll_discardRow = ll_subRow DAT* //flag remaining records for discard //by setting the metric code to discard for ll_subRow = ll_subRow to ll_endRow this.object.metric_code[ll_subRow] = "DISCARD" next exit end if ls_prevDataCode = ls_dataCode next //sub-row //prioritize by value type next ls_prevValueType = this.object.value_type[ll_startRow] for ll_subRow = ll_startRow + 1 to ll_endRow if ll_discardRow > 0 and ll_subRow >= ll_discardRow theDAT*n //all rows beyond this one have already been flagged exit end if ls_valueType = this.object.value_type[ll_subRow] if ls_valueType <> ls_prevValueType then //grab the first discarded row number if ll_subRow < ll_discardRow then ll_discardRow = ll_subRow else //all rows beyond this one have already been flagged exit end if //flag remaining records for discard //by setting the metric code to discard foDAT*r ll_subRow = ll_subRow to ll_endRow this.object.metric_code[ll_subRow] = "DISCARD" next exit end if ls_prevValueType = ls_valueType next //sub-row //sum remaining (non-discarded) rows for block //set the new end row if ll_discardRow > 0 then ll_endRow = ll_discardRow - 1 end if if ll_startRow < ll_endRow then ld_blockValueAmt = 0 //sum the emissions for the current block for ll_subRow = ll_startRDAT*ow to ll_endRow //grab the value and unit code ld_valueAmt = this.object.rollup_amt[ll_subRow] ls_valueUnitCode = this.object.unit_code[ll_subRow] if ld_valueAmt = 0 or isNull(ld_valueAmt) or trim(ls_valueUnitCode) = "" or isNull(ls_valueUnitCode) then //skip rows with invalid data continue end if //convert the value to standard units ld_newValueAmt = inv_units.of_dm_convertUnits(ld_valueAmt, ls_valueUnitCode, is_standardUnitCodDAT*e) if ld_newValueAmt < 0 then messageBox("Error", "Unit conversion failed.", exclamation!) return -1 end if //add the converted value amount to the total for the block if ld_newValueAmt > 0 then ld_blockValueAmt += ld_newValueAmt end if next //sub-row if ld_blockValueAmt > 0 then //upate the first row with the block total (all other rows will be discarded) this.object.rollup_amt[ll_startRow] = ld_blockValueAmt DAT* this.object.unit_code[ll_startRow] = is_standardUnitCode else //if the block total was 0 then mark first row as deleted, too this.object.metric_code[ll_startRow] = "DISCARD" end if //mark all but first row in sub-block for discard for ll_subRow = ll_startRow + 1 to ll_endRow this.object.metric_code[ll_subRow] = "DISCARD" next //sub-row end if end if //sub-block processing ls_prevReferenceCode = ls_referenceCode ldt_prevStartDateDAT*Time = ldt_startDateTime ll_prevProcessRid = ll_processRid ls_prevMaterialCode = ls_materialCode next //row //discard all the rows not containing the downstream discharge metric ll_rc = this.of_discardByStringArray("metric_code", {"DOWNSTRMDIS"}) if ll_rc < 0 then messageBox("Error", "Data discard failed.", exclamation!) return -1 end if ll_rc = this.of_scan("PRE_COPY_ROLLUP_PROCESS_RID") if ll_rc < 0 then return -1 end if return 1 end function public functDAT*ion integer of_rollupbyrid (string as_rollupridcolumn); long ll_rc long ll_row long ll_rowCount long ll_subRow long ll_discardRow long ll_startRow, ll_endRow long ll_nextStartRow boolean ib_processSubBlock long ll_rollupRid, ll_prevRollupRid datetime ldt_startDateTime, ldt_prevStartDateTime string ls_referenceCode, ls_prevReferenceCode string ls_materialCode, ls_prevMaterialCode string ls_valueUnitCode string ls_null double ld_valueAmt double ld_newValueAmt double ld_blockValueDAT* Amt string ls_rollupRidColumn ls_rollupRidColumn = lower(trim(as_rollupRidColumn)) setNull(ls_null) //turn off any filters ll_rc = this.of_filter("") if ll_rc < 0 then messageBox("Error", "Data filter failed.", exclamation!) return -1 end if //sort rows for county level rollup ll_rc = this.of_sort("reference_code a, start_date_time a, " + ls_rollupRidColumn + " a, material_code a") if ll_rc < 0 then messageBox("Error", "Data sort failed.", exclamation!) return -1 DAT* end if ll_startRow = 0 ll_endRow = 0 ll_nextStartRow = 1 ll_rowCount = this.rowCount() for ll_row = 1 to ll_rowCount ib_processSubBlock = false if ll_startRow <> ll_nextStartRow then ll_startRow = ll_nextStartRow end if ls_referenceCode = this.object.reference_code[ll_row] ldt_startDateTime = this.object.start_date_time[ll_row] ll_rollupRid = this.getItemNumber(ll_row, ls_rollupRidcolumn) ls_materialCode = this.object.material_code[ll_row] if ll_row = DAT* ll_rowCount then //last row in data store ll_endRow = ll_row ib_processSubBlock = true elseif ls_referenceCode <> ls_prevReferenceCode or & ldt_startDateTime <> ldt_prevStartDateTime or & ll_rollupRid <> ll_prevRollupRid or & ls_materialCode <> ls_prevMaterialCode then //key data changed from last row read if ll_row > ll_startRow then ll_endRow = ll_row - 1 ll_nextStartRow = ll_row ib_processSubBlock = true end if end if //procDAT* ess sub-block if ib_processSubBlock and ll_startRow < ll_endRow then //reset the discard index ll_discardRow = 0 //sum rows for block //set the new end row if ll_discardRow > 0 then ll_endRow = ll_discardRow - 1 end if if ll_startRow < ll_endRow then ld_blockValueAmt = 0 //sum the emissions for the current block for ll_subRow = ll_startRow to ll_endRow //grab the value and unit code ld_valueAmt = this.object.rollDAT* up_amt[ll_subRow] if ld_valueAmt = 0 or isNull(ld_valueAmt) then //skip rows with invalid data continue end if ld_blockValueAmt += ld_valueAmt next //sub-row if ld_blockValueAmt > 0 then //upate the first row with the block total (all other rows will be discarded) this.object.rollup_amt[ll_startRow] = ld_blockValueAmt else //if the block total was 0 then mark first row as deleted, too this.object.metric_cDAT* ode[ll_startRow] = "DISCARD" end if //mark all but first row in sub-block for discard for ll_subRow = ll_startRow + 1 to ll_endRow this.object.metric_code[ll_subRow] = "DISCARD" next //sub-row end if end if //sub-block processing ls_prevReferenceCode = ls_referenceCode ldt_prevStartDateTime = ldt_startDateTime ll_prevRollupRid = ll_rollupRid ls_prevMaterialCode = ls_materialCode next //row //discard all the rows not containing theDAT*  downstream discharge metric ll_rc = this.of_discardByStringArray("metric_code", {"DOWNSTRMDIS"}) if ll_rc < 0 then messageBox("Error", "Data discard failed.", exclamation!) return -1 end if ll_rc = this.of_scan("PRE_COPY_ROLLUP_" + upper(ls_rollupRidColumn)) if ll_rc < 0 then return -1 end if return 1 end function on n_ds_dm_transfer.create call super::create end on on n_ds_dm_transfer.destroy call super::destroy end on event constructor;call super::constructor; DAT* string ls_empty this.of_setDataType("", "d_dm_emissions") //read data code values is_dataCodeNull = trim(profileString(gs_iniFile, "data code priority", "null", ls_empty)) if is_dataCodeNull = ls_empty then is_dataCodeNull = "99" end if is_dataCodeRO = trim(profileString(gs_iniFile, "data code priority", "ro", ls_empty)) if is_dataCodeRO = ls_empty then is_dataCodeRO = "00" end if ids_loccords = create n_ds_cache_base ids_loccords.of_setBasePathName("","") ids_loccords.of_DAT* setDataType("","d_dm_loccords") end event event ue_scanrow; //Return NULL to stop the scanning process normally //(of_scan() will return the row stopped on) //Return Negative Value to stop the scanning process with error status //(of_scan() will return the Negative Value) //force argument to upper case as_action = upper(trim(as_action)) choose case as_action // ************************************************************************* case "POPULATE GIS DATA" // ***********DAT* ************************************************************** //Call only for devices, sources, geographic locations id_refrid = this.object.rid[al_row] il_loccordrows = ids_loccords.retrieve(id_refrid) if il_loccordrows > 0 then this.object.location_coord_level[al_row] = ids_loccords.object.sub_type[1] this.object.latitude_data[al_row] = ids_loccords.object.latitude_data[1] this.object.longitude_data[al_row] = ids_loccords.object.longitude_data[1] this.object.zone_nDAT* o[al_row] = ids_loccords.object.zone_no[1] this.object.northing_km_data[al_row] = ids_loccords.object.northing_km_data[1] this.object.easting_km_data[al_row] = ids_loccords.object.easting_km_data[1] end if // ************************************************************************* case "NORMALIZE" // ************************************************************************* datetime ldt_startDateTime datetime ldt_endDateTime integer li_startYear integeDAT* r li_endYear string ls_valueType string ls_sccAmsCode string ls_sicCode string ls_dataCode //START AND END DATES (should be done last) //grab the start and end dates ldt_startDateTime = this.object.start_date_time[al_row] ldt_endDateTime = this.object.end_date_time[al_row] //if start or end date missing, flag row for discard if isNull(ldt_startDateTime) or isNull(ldt_endDateTime) then this.object.metric_code[al_row] = "DISCARD" return 1 //go on to neDAT* xt row in scan end if //grab the start and end years li_startYear = year(date(ldt_startDateTime)) li_endYear = year(date(ldt_endDateTime)) //if start and end date not in the same year, flag row for discard if li_startYear <> li_endYear then this.object.metric_code[al_row] = "DISCARD" return 1 //go on to next row in scan end if //normalize the start and end dates for each year, //so that sorts will work properly ldt_startDateTime = datetime(date(DAT*  string(li_startYear) + "-01-01" )) ldt_endDateTime = datetime(date( string(li_endYear) + "-12-31" )) //set the start and end dates back into datastore this.object.start_date_time[al_row] = ldt_startDateTime this.object.end_date_time[al_row] = ldt_endDateTime //VALUE TYPE //grab the value type ls_valueType = this.object.value_type[al_row] if isNull(ls_valueType) then ls_valueType = "100" elseif ls_valueType = "TOT" then ls_valueType = "200" eDAT* lseif ls_valueType = "AVG" then ls_valueType = "300" elseif ls_valueType = "EXH" or ls_valueType = "EVH" then //VOC values from speciation ls_valueType = "VOC" elseif ls_valueType = "EXP" then //PM values from speciation ls_valueType = "PM" elseif ls_valueType = "BW1" or ls_valueType = "TW1" then //PM values from speciation ls_valueType = "PM1" else //non-usable value type, flag row for discard this.object.metric_code[al_row] = "DISCARD" return 1DAT*  //go on to next row in scan end if //set value type back into the datastore this.object.value_type[al_row] = ls_valueType //SCC/AMS CODE ls_sccAmsCode = this.object.scc_ams_code[al_row] if isNull(ls_sccAmsCode) or trim(ls_sccAmsCode) = "" then this.object.scc_ams_code[al_row] = "NONE" end if //SIC CODE ls_sicCode = this.object.sic_code[al_row] if isNull(ls_sicCode) or trim(ls_sicCode) = "" then this.object.sic_code[al_row] = "NONE" end DAT* if //DATA CODE (should be done last) //grab the data code ls_dataCode = this.object.data_code[al_row] //convert the data code for values of null or "ro" if isNull(ls_dataCode) then ls_dataCode = is_dataCodeNull elseif ls_dataCode = "RO" then ls_dataCode = is_dataCodeRO else //no change to data code return 1 //go on to next row in scan end if //set new data_code value back into data store this.object.data_code[al_row] = ls_dataCode rDAT*" eturn 1 //go on to next row in scan // ************************************************************************* case "PRE_COPY_ROLLUP_PROCESS_RID" // ************************************************************************* string ls_null setNull(ls_null) //convert data code, if necessary if this.object.data_code[al_row] = is_dataCodeNull then this.object.data_code[al_row] = ls_null end if if this.object.data_code[al_row] = is_dataCodeRO then thisDAT*$ .object.data_code[al_row] = "RO" end if //convert value type, if necessary if this.object.value_type[al_row] = "100" then this.object.value_type[al_row] = ls_null end if if this.object.value_type[al_row] = "200" then this.object.value_type[al_row] = "TOT" end if if this.object.value_type[al_row] = "300" then this.object.value_type[al_row] = "AVG" end if //set the rollup ref rid to the process rid this.object.rollup_ref_rid[al_row] = this.object.proDAT*& cess_rid[al_row] return 1 //go on to next row in scan // ************************************************************************* case "PRE_COPY_ROLLUP_DEVICE_RID" // ************************************************************************* //set the rollup ref rid to the device rid this.object.rollup_ref_rid[al_row] = this.object.device_rid[al_row] return 1 //go on to next row in scan // *********************************************************************DAT*( **** case "PRE_COPY_ROLLUP_SOURCE_RID" // ************************************************************************* //set the rollup ref rid to the source rid this.object.rollup_ref_rid[al_row] = this.object.source_rid[al_row] return 1 //go on to next row in scan // ************************************************************************* case "POST_COPY_ROLLUP_PROCESS_RID" // ************************************************************************* this.object.roDAT** llup_level[al_row] = "PRO" this.object.summary_category[al_row] = "TOTAL" this.object.summary_category_code[al_row] = "TOTAL" return 1 //go on to next row in scan // ************************************************************************* case "POST_COPY_ROLLUP_DEVICE_RID" // ************************************************************************* this.object.rollup_level[al_row] = "DEV" this.object.summary_category[al_row] = "TOTAL" DAT*,  this.object.summary_category_code[al_row] = "TOTAL" return 1 //go on to next row in scan // ************************************************************************* case "POST_COPY_ROLLUP_SOURCE_RID" // ************************************************************************* this.object.rollup_level[al_row] = "SRC" this.object.summary_category[al_row] = "TOTAL" this.object.summary_category_code[al_row] = "TOTAL" return 1 //go on to next row in scDAT*an // ************************************************************************* case else // ************************************************************************* //default action or error signalError(-1, "Unknow action '" + as_action + "' for ue_scanRow().") return -1 end choose return 0 end event event destructor;call super::destructor;if isvalid(ids_loccords) or not isnull(ids_loccords) then destroy ids_loccords end if end event DAT*0 !"#%1& ,!. --;-##. . ;-## - - -$%DAT*2  *0*8L*Td*l|******* 08$@$H$P$X$`$h$p$x$$$ |,BXn d DAT*4   st_status!cb_export$"$cb_select@#@sle_dir\$\st_1t%tst_2&sle_name'rb_append(!!rb_over)""rb_prompt*##gb_1+%%control(c@!$"@#\$t%&'(!)"*#+% 0 8L Td l|  DAT*6       0 8 @ H P X ` h p x    $($<$L$\$l$$$$$$*8FT b p ~ d X st_status!cb_export_e"cb_select0#sle_dirDDAT* $st_1T%st_2d&sle_namet'rb_append(!rb_over)"rb_prompt**#gb_1+% ( < L \ l      2  +create+destroy(2 widthheightbackcolortexttabtextcolorpicturemaskcolorst_statuscb_exportcb_selectsle_dirst_1st_2sle_namerb_appendrb_overrb_promptgb_1TR DAT*: PDW0800pdwPlZ(````7 F$nn``DAT*<  @xn%DAT*>  # compute_1$1<  $ 0%  MS Sans SerifMS Sans Serif$2$-8$400$ 536870912$DAT*@ 18$20$@64$421& dd-mmm-yyyy dd-mmm-yyyy()!"today()"$0`7&' ,.025t_1< ( *$)DAT*B -12$+700$-T84$/P80$1%4389%34!County Emissions by SCC/AMS Code!County Emissions by SCC/AMS Code"60nM%89;=@Kpage$:3767$<DAT*D 640&>? [general] [general]%AB('Page ' + page() + ' of ' + pageCount() ^CJ ^DH ^EGF Page I  of "L0`[7NOPRTVYt_2<  *$Q7823$DAT*F S212$U[347%WX Start Date: Start Date:"Z0`fM\O]R_adt_3$^71847$`507%bcReference Code:Reference Code:"e0`o[gODAT*H PhTjmt_4$i$292%kl End Date: End Date:"n0`xfpO]hqsvt_5$r512%tuUnits:Units:"w0oyzh;=DAT*J  unit_code<{ ~ %|}ArialArial$-10$ 553648127$7 2359"0xzR;=( reference_codeDAT*L "0zR(start_date_time$1170$[603"0zh(end_date_time"DAT*N 0Pl_1$5$t372$74407@@XO;=( material_DAT*P code$457"0z( rollup_amt$1152$ 800& 0.00E+00 0.00E+00"0z=DAT*R ( unit_code_1$2007$%549"0z=(confidential_flag$2 2610"0@4DAT*T @@%reference_code ()start_date_time ()end_date_time ,@DAT*V @% nation_name ,@XO=(2 nation_name$ 2981$4$DAT*X 1426"0O=(2 state_name$w1399"0@% state_name ,401@hDAT*Z 'O=(2 county_name"0Pl_2$d100 z(DAT*\ latitude_data$1463$I329& [general] [general]"0 z ( longitude_data$ %1829"0 zDAT*^ (zone_no$2213"0 z(northing_km_data$ 2578$E325"0'!zDAT*` " (%$easting_km_data$# 2944"&0 (z)+=(.-coordinate_level_type$* 3310$,402"/0@DAT*b %23 county_name 05STW@h6J?75O8:= (=<summary_category$9219$;494">0`DAT*d J6@5OACEHt_6$B713$D%37%FG::"I0?K5OLN= (QP summary_category_code$M786$O731DAT*f "R0@%UVsummary_category  %XYsummary_category_code  [w|DAT*h 333'    DAT*j         6 J  xDAT*l      DAT*n    L \_beatihidkn qc.st . %]^reference_code ()`astart_date_time DAT*p ()cdend_date_time %fg nation_name %ij state_name %lm county_name %opsummary_category  %rssummary_category_code  %uvmaterial_code $ x yz{ :refCode :froDAT*r mDate:toDate :matCodel }~al_nationArrayal_stateArrayal_countyArrayal_sourceArrayal_sourceSub1Arrayal_sourceSub2Array fromDatetoDateas_nullas_ro unitCoderefCodematCode7 nation_namerap_geographic_locations.name state_namerap_geographic_locations.nameDAT*t  county_name!rap_dm_geographic_locations.namecoordinate_level_type1rap_dm_geographic_locations.location_coord_level'latitude_data*rap_dm_geographic_locations.latitude_datalongitude_data+rap_dm_geographic_locations.longitude_data zone_no$rap_dm_geographic_locations.zone_nonorthing_km_data-rap_dm_geographic_locations.northing_km_dataDAT*v easting_km_data,rap_dm_geographic_locations.easting_km_data  rollup_levelrap_dm_emissions.rollup_levelrollup_ref_rid rap_dm_emissions.rollup_ref_ridsummary_category"rap_dm_emissions.summary_category6summary_category_code'rap_dm_emissions.summary_category_codeJmaterial_coderap_dm_emissions.material_code unit_coderap_dm_emissions.unit_codeDAT*x x rollup_amtrap_dm_emissions.rollup_amtreference_code rap_dm_emissions.reference_codestart_date_time!rap_dm_emissions.start_date_timeend_date_timerap_dm_emissions.end_date_timerap_dm_emissions_data_coderap_dm_emissions.data_coderap_dm_emissions_value_typerap_dm_emissions.value_type rap_dm_emissions_reference_type rap_dm_emissions.refDAT*z erence_typerap_dm_emissions_method_typerap_dm_emissions.method_typeconfidential_flag#rap_dm_emissions.confidential_flag county_rid'rap_dm_geographic_locations.county_rid state_rid#rap_geographic_locations.state_rid nation_rid$rap_geographic_locations.nation_rid PBSELECT( VERSION(400) TABLE(NAME="rap_dm_emissions" ) TABLE(NAME="rap_dm_geographic_locations" ALIAS="rap_dm_geographic_locations_a" ) TABLE(NAME="rap_geographic_locationDAT*| s" ALIAS="rap_dm_geographic_locations_b" ) TABLE(NAME="rap_geographic_locations" ALIAS="rap_dm_geographic_locations_c" ) COLUMN(NAME="rap_dm_geographic_locations_c.name") COLUMN(NAME="rap_dm_geographic_locations_b.name") COLUMN(NAME="rap_dm_geographic_locations_a.name") COLUMN(NAME="rap_dm_geographic_locations_a.location_coord_level") COLUMN(NAME="rap_dm_geographic_locations_a.latitude_data") COLUMN(NAME="rap_dm_geographic_locations_a.longitude_data") COLUMN(NAME="rap_dm_geographic_locations_a.zoDAT*~ ne_no") COLUMN(NAME="rap_dm_geographic_locations_a.northing_km_data") COLUMN(NAME="rap_dm_geographic_locations_a.easting_km_data") COLUMN(NAME="rap_dm_emissions.rollup_level") COLUMN(NAME="rap_dm_emissions.rollup_ref_rid") COLUMN(NAME="rap_dm_emissions.summary_category") COLUMN(NAME="rap_dm_emissions.summary_category_code") COLUMN(NAME="rap_dm_emissions.material_code") COLUMN(NAME="rap_dm_emissions.unit_code") COLUMN(NAME="rap_dm_emissions.rollup_amt") COLUMN(NAME="rap_dm_emissions.reference_code"DAT* ) COLUMN(NAME="rap_dm_emissions.start_date_time") COLUMN(NAME="rap_dm_emissions.end_date_time") COLUMN(NAME="rap_dm_emissions.data_code") COLUMN(NAME="rap_dm_emissions.value_type") COLUMN(NAME="rap_dm_emissions.reference_type") COLUMN(NAME="rap_dm_emissions.method_type") COLUMN(NAME="rap_dm_emissions.confidential_flag") COMPUTE(NAME="rap_dm_geographic_locations_a.rid ~"county_rid~"") COMPUTE(NAME="rap_dm_geographic_locations_b.rid ~"state_rid~"") COMPUTE(NAME="rap_dm_geographic_locations_c.rid ~"nDAT* ation_rid~"") JOIN (LEFT="rap_dm_emissions.rollup_ref_rid" OP ="="RIGHT="rap_dm_geographic_locations_a.rid" ) JOIN (LEFT="rap_dm_geographic_locations_a.parent_rid" OP ="="RIGHT="rap_dm_geographic_locations_b.rid" ) JOIN (LEFT="rap_dm_geographic_locations_b.parent_rid" OP ="="RIGHT="rap_dm_geographic_locations_c.rid" )WHERE( EXP1 ="( ( rap_dm_geographic_locations_a.type" OP ="=" EXP2 ="'COUNTY' )" LOGIC ="and" ) WHERE( EXP1 ="( rap_dm_geographic_locations_b.type" ODAT*P ="=" EXP2 ="'STATE' )" LOGIC ="and" ) WHERE( EXP1 ="( rap_dm_geographic_locations_c.type" OP ="=" EXP2 ="'NATION' )" LOGIC ="and" ) WHERE( EXP1 ="( rap_dm_emissions.summary_category" OP ="=" EXP2 ="'SCC' ) )" LOGIC ="and" ) WHERE( EXP1 ="rap_dm_emissions.reference_code" OP ="=" EXP2 ="" LOGIC ="and" ) WHERE( EXP1 ="rap_dm_emissions.start_date_time" OP =">=" EXP2 ="" LOGIC ="and" ) WHERE( EXP1 ="rap_dm_emissions.end_date_time" OP ="<=" EDAT* release 8; datawindow(units=0 timer_interval=0 color=16777215 processing=0 HTMLDW=no print.documentname="" print.orientation = 1 print.margin.left = 110 print.margin.right = 110 print.margin.top = 96 print.margin.bottom = 96 print.paper.source = 0 print.paper.size = 0 print.prompt=no print.buttons=no print.preview.buttons=no ) header(height=376 color="536870912" ) summary(height=0 color="536870912" ) footer(height=0 color="536870912" ) detail(height=88 color="536870912" ) table(column=(type=DAT* char(50) updatewhereclause=yes name=nation_name dbname="rap_geographic_locations.name" ) column=(type=char(50) updatewhereclause=yes name=state_name dbname="rap_geographic_locations.name" ) column=(type=char(50) updatewhereclause=yes name=county_name dbname="rap_dm_geographic_locations.name" ) column=(type=char(8) updatewhereclause=yes name=coordinate_level_type dbname="rap_dm_geographic_locations.location_coord_level" ) column=(type=decimal(4) updatewhereclause=yes name=latitude_data dbnaDAT* me="rap_dm_geographic_locations.latitude_data" ) column=(type=decimal(4) updatewhereclause=yes name=longitude_data dbname="rap_dm_geographic_locations.longitude_data" ) column=(type=decimal(0) updatewhereclause=yes name=zone_no dbname="rap_dm_geographic_locations.zone_no" ) column=(type=decimal(2) updatewhereclause=yes name=northing_km_data dbname="rap_dm_geographic_locations.northing_km_data" ) column=(type=decimal(2) updatewhereclause=yes name=easting_km_data dbname="rap_dm_geographic_loDAT* cations.easting_km_data" ) column=(type=char(8) updatewhereclause=yes name=rollup_level dbname="rap_dm_emissions.rollup_level" ) column=(type=decimal(0) updatewhereclause=yes name=rollup_ref_rid dbname="rap_dm_emissions.rollup_ref_rid" ) column=(type=char(8) updatewhereclause=yes name=summary_category dbname="rap_dm_emissions.summary_category" ) column=(type=char(10) updatewhereclause=yes name=summary_category_code dbname="rap_dm_emissions.summary_category_code" ) column=(type=char(12) uDAT* pdatewhereclause=yes name=material_code dbname="rap_dm_emissions.material_code" ) column=(type=char(8) updatewhereclause=yes name=unit_code dbname="rap_dm_emissions.unit_code" ) column=(type=decimal(11) updatewhereclause=yes name=rollup_amt dbname="rap_dm_emissions.rollup_amt" ) column=(type=char(12) updatewhereclause=yes name=reference_code dbname="rap_dm_emissions.reference_code" ) column=(type=datetime updatewhereclause=yes name=start_date_time dbname="rap_dm_emissions.start_date_time" DAT* ) column=(type=datetime updatewhereclause=yes name=end_date_time dbname="rap_dm_emissions.end_date_time" ) column=(type=char(4) updatewhereclause=yes name=rap_dm_emissions_data_code dbname="rap_dm_emissions.data_code" ) column=(type=char(3) updatewhereclause=yes name=rap_dm_emissions_value_type dbname="rap_dm_emissions.value_type" ) column=(type=char(6) updatewhereclause=yes name=rap_dm_emissions_reference_type dbname="rap_dm_emissions.reference_type" ) column=(type=char(2) updatewhereclDAT* ause=yes name=rap_dm_emissions_method_type dbname="rap_dm_emissions.method_type" ) column=(type=char(1) updatewhereclause=yes name=confidential_flag dbname="rap_dm_emissions.confidential_flag" ) column=(type=decimal(0) updatewhereclause=yes name=county_rid dbname="rap_dm_geographic_locations.county_rid" ) column=(type=decimal(0) updatewhereclause=yes name=state_rid dbname="rap_geographic_locations.state_rid" ) column=(type=decimal(0) updatewhereclause=yes name=nation_rid dbname="rap_geograDAT* phic_locations.nation_rid" ) retrieve="PBSELECT( VERSION(400) TABLE(NAME=~"rap_dm_emissions~" ) TABLE(NAME=~"rap_dm_geographic_locations~" ALIAS=~"rap_dm_geographic_locations_a~" ) TABLE(NAME=~"rap_geographic_locations~" ALIAS=~"rap_dm_geographic_locations_b~" ) TABLE(NAME=~"rap_geographic_locations~" ALIAS=~"rap_dm_geographic_locations_c~" ) COLUMN(NAME=~"rap_dm_geographic_locations_c.name~") COLUMN(NAME=~"rap_dm_geographic_locations_b.name~") COLUMN(NAME=~"rap_dm_geographic_locations_a.nameDAT* ~") COLUMN(NAME=~"rap_dm_geographic_locations_a.location_coord_level~") COLUMN(NAME=~"rap_dm_geographic_locations_a.latitude_data~") COLUMN(NAME=~"rap_dm_geographic_locations_a.longitude_data~") COLUMN(NAME=~"rap_dm_geographic_locations_a.zone_no~") COLUMN(NAME=~"rap_dm_geographic_locations_a.northing_km_data~") COLUMN(NAME=~"rap_dm_geographic_locations_a.easting_km_data~") COLUMN(NAME=~"rap_dm_emissions.rollup_level~") COLUMN(NAME=~"rap_dm_emissions.rollup_ref_rid~") COLUMN(NAME=~"rap_dm_emissionDAT* s.summary_category~") COLUMN(NAME=~"rap_dm_emissions.summary_category_code~") COLUMN(NAME=~"rap_dm_emissions.material_code~") COLUMN(NAME=~"rap_dm_emissions.unit_code~") COLUMN(NAME=~"rap_dm_emissions.rollup_amt~") COLUMN(NAME=~"rap_dm_emissions.reference_code~") COLUMN(NAME=~"rap_dm_emissions.start_date_time~") COLUMN(NAME=~"rap_dm_emissions.end_date_time~") COLUMN(NAME=~"rap_dm_emissions.data_code~") COLUMN(NAME=~"rap_dm_emissions.value_type~") COLUMN(NAME=~"rap_dm_emissions.reference_type~") CODAT* LUMN(NAME=~"rap_dm_emissions.method_type~") COLUMN(NAME=~"rap_dm_emissions.confidential_flag~") COMPUTE(NAME=~"rap_dm_geographic_locations_a.rid ~~~"county_rid~~~"~") COMPUTE(NAME=~"rap_dm_geographic_locations_b.rid ~~~"state_rid~~~"~") COMPUTE(NAME=~"rap_dm_geographic_locations_c.rid ~~~"nation_rid~~~"~") JOIN (LEFT=~"rap_dm_emissions.rollup_ref_rid~" OP =~"=~"RIGHT=~"rap_dm_geographic_locations_a.rid~" ) JOIN (LEFT=~"rap_dm_geographic_locations_a.parent_rid~" OP =~"=~"RIGHT=~"rap_dm_DAT* geographic_locations_b.rid~" ) JOIN (LEFT=~"rap_dm_geographic_locations_b.parent_rid~" OP =~"=~"RIGHT=~"rap_dm_geographic_locations_c.rid~" )WHERE( EXP1 =~"( ( rap_dm_geographic_locations_a.type~" OP =~"=~" EXP2 =~"'COUNTY' )~" LOGIC =~"and~" ) WHERE( EXP1 =~"( rap_dm_geographic_locations_b.type~" OP =~"=~" EXP2 =~"'STATE' )~" LOGIC =~"and~" ) WHERE( EXP1 =~"( rap_dm_geographic_locations_c.type~" OP =~"=~" EXP2 =~"'NATION' )~" LOGIC =~"and~" ) WHERE( EXP1 DAT* =~"( rap_dm_emissions.summary_category~" OP =~"=~" EXP2 =~"'SCC' ) )~" LOGIC =~"and~" ) WHERE( EXP1 =~"rap_dm_emissions.reference_code~" OP =~"=~" EXP2 =~":refCode~" LOGIC =~"and~" ) WHERE( EXP1 =~"rap_dm_emissions.start_date_time~" OP =~">=~" EXP2 =~":fromDate~" LOGIC =~"and~" ) WHERE( EXP1 =~"rap_dm_emissions.end_date_time~" OP =~"<=~" EXP2 =~":toDate~" LOGIC =~"and~" ) WHERE( EXP1 =~"rap_dm_emissions.material_code~" OP =~"in~" EXP2 =~":matCode~" DAT* ) ) 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 = ~"fromDate~" TYPE = datetime) ARG(NAME = ~"toDate~" TYPE = datetime) ARG(NAME = ~"as_null~" TYPE = string) ARG(NAME = ~"as_ro~" TYPE = string) ARG(NAME = ~"unitCode~" TYPE = stDAT* ring) ARG(NAME = ~"refCode~" TYPE = string) ARG(NAME = ~"matCode~" TYPE = stringlist) " arguments=(("al_nationArray", numberlist),("al_stateArray", numberlist),("al_countyArray", numberlist),("al_sourceArray", numberlist),("al_sourceSub1Array", numberlist),("al_sourceSub2Array", numberlist),("fromDate", datetime),("toDate", datetime),("as_null", string),("as_ro", string),("unitCode", string),("refCode", string),("matCode", stringlist)) sort="reference_code A start_date_time A end_date_time A naDAT* tion_name A state_name A county_name A summary_category A summary_category_code A material_code A " ) group(level=1 header.height=0 trailer.height=0 by=("reference_code" , "start_date_time" , "end_date_time" ) header.color="553648127" trailer.color="536870912" ) group(level=2 header.height=0 trailer.height=0 by=("nation_name" ) header.color="553648127" trailer.color="536870912" ) group(level=3 header.height=88 trailer.height=0 by=("state_name" ) header.color="553648127" trailer.color="536870912DAT* " ) group(level=4 header.height=104 trailer.height=0 by=("county_name" ) header.color="553648127" trailer.color="553648127" ) group(level=5 header.height=104 trailer.height=0 by=("summary_category" , "summary_category_code" ) header.color="553648127" trailer.color="553648127" ) compute(band=header alignment="0" expression="today()"border="0" color="0" x="18" y="20" height="64" width="421" format="dd-mmm-yyyy" html.valueishtml="0" name=compute_1 visible="1" font.face="MS Sans Serif" font.heighDAT* t="-8" 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 Emissions by SCC/AMS Code" border="0" color="0" x="18" y="84" height="80" width="4389" html.valueishtml="0" name=t_1 visible="1" font.face="MS Sans Serif" font.height="-12" font.weight="700" font.family="2" font.pitch="2" font.charset="0" font.underline="1" background.mode="1" background.color="536870912" ) compute(band=headerDAT*  alignment="1" expression="'Page ' + page() + ' of ' + pageCount()"border="0" color="0" x="3767" y="20" height="64" width="640" format="[general]" html.valueishtml="0" name=page visible="1" 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" ) text(band=header alignment="0" text="Start Date:" border="0" color="0" x="823" y="212" height="64" width="347" html.valueishtml="0" name=t_2 visiblDAT* e="1" 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="Reference Code:" border="0" color="0" x="1847" y="212" height="64" width="507" html.valueishtml="0" name=t_3 visible="1" 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=hDAT* eader alignment="0" text="End Date:" border="0" color="0" x="823" y="292" height="64" width="347" html.valueishtml="0" name=t_4 visible="1" 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="Units:" border="0" color="0" x="1847" y="292" height="64" width="512" html.valueishtml="0" name=t_5 visible="1" font.face="MS Sans Serif" font.height="-8" fontDAT* .weight="700" font.family="2" font.pitch="2" font.charset="0" background.mode="1" background.color="536870912" ) column(band=header id=15 alignment="0" tabsequence=32766 border="0" color="0" x="2359" y="292" height="64" width="640" format="[general]" html.valueishtml="0" name=unit_code visible="1" edit.limit=0 edit.case=any edit.autoselect=yes edit.imemode=0 font.face="Arial" font.height="-10" font.weight="400" font.family="2" font.pitch="2" font.charset="0" background.mode="1" background.colDAT* or="553648127" ) column(band=header id=17 alignment="0" tabsequence=32766 border="0" color="0" x="2359" y="212" height="64" width="640" format="[general]" html.valueishtml="0" name=reference_code visible="1" edit.limit=12 edit.case=any edit.focusrectangle=no edit.autoselect=yes edit.autohscroll=yes edit.imemode=0 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=header id=18 aligDAT* nment="0" tabsequence=32766 border="0" color="0" x="1170" y="212" height="64" width="603" format="dd-mmm-yyyy" html.valueishtml="0" name=start_date_time visible="1" edit.limit=0 edit.case=any edit.autoselect=yes edit.autohscroll=yes edit.imemode=0 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=header id=19 alignment="0" tabsequence=32766 border="0" color="0" x="1170" y="292" heDAT* ight="64" width="603" format="dd-mmm-yyyy" html.valueishtml="0" name=end_date_time visible="1" edit.limit=0 edit.case=any edit.autoselect=yes edit.autohscroll=yes edit.imemode=0 font.face="Arial" font.height="-10" font.weight="400" font.family="2" font.pitch="2" font.charset="0" background.mode="1" background.color="536870912" ) line(band=header x1="18" y1="372" x2="4407" y2="372" name=l_1 visible="1" pen.style="0" pen.width="5" pen.color="0" background.mode="1" background.color="536870912" DAT* ) column(band=header.3 id=1 alignment="1" tabsequence=32766 border="0" color="0" x="2981" y="4" height="64" width="1426" format="[general]" html.valueishtml="0" name=nation_name visible="1" edit.limit=50 edit.case=any edit.autoselect=yes edit.autohscroll=yes edit.imemode=0 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=header.3 id=2 alignment="0" tabsequence=32766 bordeDAT* r="0" color="0" x="18" y="4" height="64" width="1399" format="[general]" html.valueishtml="0" name=state_name visible="1" edit.limit=50 edit.case=any edit.autoselect=yes edit.autohscroll=yes edit.imemode=0 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=header.4 id=3 alignment="0" tabsequence=32766 border="0" color="0" x="18" y="20" height="64" width="1399" format="[generDAT* al]" html.valueishtml="0" name=county_name visible="1" edit.limit=50 edit.case=any edit.autoselect=yes edit.autohscroll=yes edit.imemode=0 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" ) line(band=header.4 x1="18" y1="100" x2="4407" y2="100" name=l_2 visible="1" pen.style="0" pen.width="5" pen.color="0" background.mode="1" background.color="536870912" ) column(band=header.4 id=5 aDAT* lignment="1" tabsequence=32766 border="0" color="0" x="1463" y="20" height="64" width="329" format="[general]" html.valueishtml="0" name=latitude_data visible="1" edit.limit=0 edit.case=any edit.autoselect=yes edit.autohscroll=yes edit.imemode=0 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=header.4 id=6 alignment="1" tabsequence=32766 border="0" color="0" x="1829" y="20" heigDAT* ht="64" width="329" format="[general]" html.valueishtml="0" name=longitude_data visible="1" edit.limit=0 edit.case=any edit.autoselect=yes edit.autohscroll=yes edit.imemode=0 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=header.4 id=7 alignment="1" tabsequence=32766 border="0" color="0" x="2213" y="20" height="64" width="329" format="[general]" html.valueishtml="0" name=zone_DAT* no visible="1" edit.limit=0 edit.case=any edit.autoselect=yes edit.autohscroll=yes edit.imemode=0 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=header.4 id=8 alignment="1" tabsequence=32766 border="0" color="0" x="2578" y="20" height="64" width="325" format="[general]" html.valueishtml="0" name=northing_km_data visible="1" edit.limit=0 edit.case=any edit.autoselect=yes edit.auDAT* tohscroll=yes edit.imemode=0 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=header.4 id=9 alignment="1" tabsequence=32766 border="0" color="0" x="2944" y="20" height="64" width="329" format="[general]" html.valueishtml="0" name=easting_km_data visible="1" edit.limit=0 edit.case=any edit.autoselect=yes edit.autohscroll=yes edit.imemode=0 font.face="Arial" font.height="-10" fontDAT* .weight="400" font.family="2" font.pitch="2" font.charset="0" background.mode="1" background.color="536870912" ) column(band=header.4 id=4 alignment="0" tabsequence=32766 border="0" color="0" x="3310" y="20" height="64" width="402" format="[general]" html.valueishtml="0" name=coordinate_level_type visible="1" edit.limit=8 edit.case=any edit.autoselect=yes edit.autohscroll=yes edit.imemode=0 font.face="Arial" font.height="-10" font.weight="400" font.family="2" font.pitch="2" font.charset="0" bDAT* ackground.mode="1" background.color="536870912" ) column(band=header.5 id=12 alignment="0" tabsequence=32766 border="0" color="0" x="219" y="20" height="64" width="494" format="[general]" html.valueishtml="0" name=summary_category visible="1" edit.limit=8 edit.case=any edit.autoselect=yes edit.autohscroll=yes edit.imemode=0 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=hDAT* eader.5 alignment="0" text=":" border="0" color="0" x="713" y="20" height="64" width="37" html.valueishtml="0" name=t_6 visible="1" slideleft=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=header.5 id=13 alignment="0" tabsequence=32766 border="0" color="0" x="786" y="20" height="64" width="731" format="[general]" html.valueishtml="0" name=summary_category_code visiDAT* ble="1" slideleft=yes edit.limit=10 edit.case=any edit.autoselect=yes edit.autohscroll=yes edit.imemode=0 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=14 alignment="0" tabsequence=32766 border="0" color="0" x="457" y="20" height="64" width="640" format="[general]" html.valueishtml="0" name=material_code visible="1" edit.limit=12 edit.case=any edit.autoselectDAT*R=yes edit.autohscroll=yes edit.imemode=0 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=16 alignment="1" tabsequence=32766 border="0" color="0" x="1152" y="20" height="64" width="800" format="0.00E+00" html.valueishtml="0" name=rollup_amt visible="1" edit.limit=0 edit.case=any edit.autoselect=yes edit.autohscroll=yes edit.imemode=0 font.face="Arial" font.heighDAT* PDW0800pdwPlZ(````7 F$nn``DAT*  @xn%DAT*  # compute_1$1<  $ 0%  MS Sans SerifMS Sans Serif$2$-8$400$ 536870912$DAT* 18$20$@64$421& dd-mmm-yyyy dd-mmm-yyyy()!"today()"$0`7&' ,.025t_1< ( *$)DAT* -12$+700$-T84$/P80$1%4389%34County Emissions by SIC CodeCounty Emissions by SIC Code"60nM%89;=@Kpage$:3767$<640DAT* &>? [general] [general]%AB('Page ' + page() + ' of ' + pageCount() ^CJ ^DH ^EGF Page I  of "L0`[7NOPRTVYt_2<  *$Q7823$SDAT* 212$U[347%WX Start Date: Start Date:"Z0`fM\O]R_adt_3$^71847$`507%bcReference Code:Reference Code:"e0`o[gODAT* PhTjmt_4$i$292%kl End Date: End Date:"n0`xfpO]hqsvt_5$r512%tuUnits:Units:"w0oyzh;= DAT*  unit_code<{ ~ %|}ArialArial$-10$ 553648127$7 2359"0xzR;=( reference_code"DAT* 0zR(start_date_time$1170$[603"0zh(end_date_time"0PDAT* l_1$5$t372$74407@@XO;=( material_codeDAT* $457"0z( rollup_amt$1152$ 800& 0.00E+00 0.00E+00"0z=DAT* ( unit_code_1$2007$%549"0z=(confidential_flag$2 2610"0@4DAT* @@%reference_code ()start_date_time ()end_date_time ,@DAT* @% nation_name ,@XO=(2 nation_name$ 2981$4$DAT* 1426"0O=(2 state_name$w1399"0@% state_name ,401@h'DAT* O=(2 county_name"0Pl_2$d100 z(DAT* latitude_data$1463$I329& [general] [general]"0 z ( longitude_data$ %1829"0 zDAT* (zone_no$2213"0 z(northing_km_data$ 2578$E325"0'!zDAT* " (%$easting_km_data$# 2944"&0 (z)+=(.-coordinate_level_type$* 3310$,402"/0@DAT* %23 county_name 05STW@h6J?75O8:= (=<summary_category$9219$;494">0`J6DAT* @5OACEHt_6$B713$D%37%FG::"I0?K5OLN= (QP summary_category_code$M786$O731DAT* "R0@%UVsummary_category  %XYsummary_category_code  [w|DAT* 333'     DAT*        6 J  x DAT*     DAT*    L \i_behetkn qc.st . %]^reference_code ()`astart_date_time ()DAT* cdend_date_time %fg nation_name %ij state_name %lm county_name %opsummary_category  %rssummary_category_code  %uvmaterial_code $ x yz{ :refCode :fromDateDAT* :toDate :matCodel }~al_nationArrayal_stateArrayal_countyArrayal_sourceArrayal_sourceSub1Arrayal_sourceSub2Array fromDatetoDateas_nullas_ro unitCoderefCodematCode7 nation_namerap_geographic_locations.name state_namerap_geographic_locations.name DAT* county_name!rap_dm_geographic_locations.namecoordinate_level_type1rap_dm_geographic_locations.location_coord_level'latitude_data*rap_dm_geographic_locations.latitude_datalongitude_data+rap_dm_geographic_locations.longitude_data zone_no$rap_dm_geographic_locations.zone_nonorthing_km_data-rap_dm_geographic_locations.northing_km_dataDAT* easting_km_data,rap_dm_geographic_locations.easting_km_data  rollup_levelrap_dm_emissions.rollup_levelrollup_ref_rid rap_dm_emissions.rollup_ref_ridsummary_category"rap_dm_emissions.summary_category6summary_category_code'rap_dm_emissions.summary_category_codeJmaterial_coderap_dm_emissions.material_code unit_coderap_dm_emissions.unit_codeDAT* x rollup_amtrap_dm_emissions.rollup_amtreference_code rap_dm_emissions.reference_codestart_date_time!rap_dm_emissions.start_date_timeend_date_timerap_dm_emissions.end_date_timerap_dm_emissions_data_coderap_dm_emissions.data_coderap_dm_emissions_value_typerap_dm_emissions.value_type rap_dm_emissions_reference_type rap_dm_emissions.reference_tDAT* yperap_dm_emissions_method_typerap_dm_emissions.method_typeconfidential_flag#rap_dm_emissions.confidential_flag county_rid'rap_dm_geographic_locations.county_rid state_rid#rap_geographic_locations.state_rid nation_rid$rap_geographic_locations.nation_rid PBSELECT( VERSION(400) TABLE(NAME="rap_dm_emissions" ) TABLE(NAME="rap_dm_geographic_locations" ALIAS="rap_dm_geographic_locations_a" ) TABLE(NAME="rap_geographic_locations" ALIASDAT* ="rap_dm_geographic_locations_b" ) TABLE(NAME="rap_geographic_locations" ALIAS="rap_dm_geographic_locations_c" ) COLUMN(NAME="rap_dm_geographic_locations_c.name") COLUMN(NAME="rap_dm_geographic_locations_b.name") COLUMN(NAME="rap_dm_geographic_locations_a.name") COLUMN(NAME="rap_dm_geographic_locations_a.location_coord_level") COLUMN(NAME="rap_dm_geographic_locations_a.latitude_data") COLUMN(NAME="rap_dm_geographic_locations_a.longitude_data") COLUMN(NAME="rap_dm_geographic_locations_a.zone_no") DAT* COLUMN(NAME="rap_dm_geographic_locations_a.northing_km_data") COLUMN(NAME="rap_dm_geographic_locations_a.easting_km_data") COLUMN(NAME="rap_dm_emissions.rollup_level") COLUMN(NAME="rap_dm_emissions.rollup_ref_rid") COLUMN(NAME="rap_dm_emissions.summary_category") COLUMN(NAME="rap_dm_emissions.summary_category_code") COLUMN(NAME="rap_dm_emissions.material_code") COLUMN(NAME="rap_dm_emissions.unit_code") COLUMN(NAME="rap_dm_emissions.rollup_amt") COLUMN(NAME="rap_dm_emissions.reference_code") COLUMNDAT* (NAME="rap_dm_emissions.start_date_time") COLUMN(NAME="rap_dm_emissions.end_date_time") COLUMN(NAME="rap_dm_emissions.data_code") COLUMN(NAME="rap_dm_emissions.value_type") COLUMN(NAME="rap_dm_emissions.reference_type") COLUMN(NAME="rap_dm_emissions.method_type") COLUMN(NAME="rap_dm_emissions.confidential_flag") COMPUTE(NAME="rap_dm_geographic_locations_a.rid ~"county_rid~"") COMPUTE(NAME="rap_dm_geographic_locations_b.rid ~"state_rid~"") COMPUTE(NAME="rap_dm_geographic_locations_c.rid ~"nation_riDAT* d~"") JOIN (LEFT="rap_dm_emissions.rollup_ref_rid" OP ="="RIGHT="rap_dm_geographic_locations_a.rid" ) JOIN (LEFT="rap_dm_geographic_locations_a.parent_rid" OP ="="RIGHT="rap_dm_geographic_locations_b.rid" ) JOIN (LEFT="rap_dm_geographic_locations_b.parent_rid" OP ="="RIGHT="rap_dm_geographic_locations_c.rid" )WHERE( EXP1 ="( ( rap_dm_geographic_locations_a.type" OP ="=" EXP2 ="'COUNTY' )" LOGIC ="and" ) WHERE( EXP1 ="( rap_dm_geographic_locations_b.type" OP ="=" DAT* EXP2 ="'STATE' )" LOGIC ="and" ) WHERE( EXP1 ="( rap_dm_geographic_locations_c.type" OP ="=" EXP2 ="'NATION' )" LOGIC ="and" ) WHERE( EXP1 ="( rap_dm_emissions.summary_category" OP ="=" EXP2 ="'SIC' ) )" LOGIC ="and" ) WHERE( EXP1 ="rap_dm_emissions.reference_code" OP ="=" EXP2 ="" LOGIC ="and" ) WHERE( EXP1 ="rap_dm_emissions.start_date_time" OP =">=" EXP2 ="" LOGIC ="and" ) WHERE( EXP1 ="rap_dm_emissions.end_date_time" OP ="<=" EXP2 =""DAT* release 8; datawindow(units=0 timer_interval=0 color=16777215 processing=0 HTMLDW=no print.documentname="" print.orientation = 1 print.margin.left = 110 print.margin.right = 110 print.margin.top = 96 print.margin.bottom = 96 print.paper.source = 0 print.paper.size = 0 print.prompt=no print.buttons=no print.preview.buttons=no ) header(height=376 color="536870912" ) summary(height=0 color="536870912" ) footer(height=0 color="536870912" ) detail(height=88 color="536870912" ) table(column=(type=DAT* char(50) updatewhereclause=yes name=nation_name dbname="rap_geographic_locations.name" ) column=(type=char(50) updatewhereclause=yes name=state_name dbname="rap_geographic_locations.name" ) column=(type=char(50) updatewhereclause=yes name=county_name dbname="rap_dm_geographic_locations.name" ) column=(type=char(8) updatewhereclause=yes name=coordinate_level_type dbname="rap_dm_geographic_locations.location_coord_level" ) column=(type=decimal(4) updatewhereclause=yes name=latitude_data dbnaDAT* me="rap_dm_geographic_locations.latitude_data" ) column=(type=decimal(4) updatewhereclause=yes name=longitude_data dbname="rap_dm_geographic_locations.longitude_data" ) column=(type=decimal(0) updatewhereclause=yes name=zone_no dbname="rap_dm_geographic_locations.zone_no" ) column=(type=decimal(2) updatewhereclause=yes name=northing_km_data dbname="rap_dm_geographic_locations.northing_km_data" ) column=(type=decimal(2) updatewhereclause=yes name=easting_km_data dbname="rap_dm_geographic_loDAT*" cations.easting_km_data" ) column=(type=char(8) updatewhereclause=yes name=rollup_level dbname="rap_dm_emissions.rollup_level" ) column=(type=decimal(0) updatewhereclause=yes name=rollup_ref_rid dbname="rap_dm_emissions.rollup_ref_rid" ) column=(type=char(8) updatewhereclause=yes name=summary_category dbname="rap_dm_emissions.summary_category" ) column=(type=char(10) updatewhereclause=yes name=summary_category_code dbname="rap_dm_emissions.summary_category_code" ) column=(type=char(12) uDAT*$ pdatewhereclause=yes name=material_code dbname="rap_dm_emissions.material_code" ) column=(type=char(8) updatewhereclause=yes name=unit_code dbname="rap_dm_emissions.unit_code" ) column=(type=decimal(11) updatewhereclause=yes name=rollup_amt dbname="rap_dm_emissions.rollup_amt" ) column=(type=char(12) updatewhereclause=yes name=reference_code dbname="rap_dm_emissions.reference_code" ) column=(type=datetime updatewhereclause=yes name=start_date_time dbname="rap_dm_emissions.start_date_time" DAT*& ) column=(type=datetime updatewhereclause=yes name=end_date_time dbname="rap_dm_emissions.end_date_time" ) column=(type=char(4) updatewhereclause=yes name=rap_dm_emissions_data_code dbname="rap_dm_emissions.data_code" ) column=(type=char(3) updatewhereclause=yes name=rap_dm_emissions_value_type dbname="rap_dm_emissions.value_type" ) column=(type=char(6) updatewhereclause=yes name=rap_dm_emissions_reference_type dbname="rap_dm_emissions.reference_type" ) column=(type=char(2) updatewhereclDAT*( ause=yes name=rap_dm_emissions_method_type dbname="rap_dm_emissions.method_type" ) column=(type=char(1) updatewhereclause=yes name=confidential_flag dbname="rap_dm_emissions.confidential_flag" ) column=(type=decimal(0) updatewhereclause=yes name=county_rid dbname="rap_dm_geographic_locations.county_rid" ) column=(type=decimal(0) updatewhereclause=yes name=state_rid dbname="rap_geographic_locations.state_rid" ) column=(type=decimal(0) updatewhereclause=yes name=nation_rid dbname="rap_geograDAT** phic_locations.nation_rid" ) retrieve="PBSELECT( VERSION(400) TABLE(NAME=~"rap_dm_emissions~" ) TABLE(NAME=~"rap_dm_geographic_locations~" ALIAS=~"rap_dm_geographic_locations_a~" ) TABLE(NAME=~"rap_geographic_locations~" ALIAS=~"rap_dm_geographic_locations_b~" ) TABLE(NAME=~"rap_geographic_locations~" ALIAS=~"rap_dm_geographic_locations_c~" ) COLUMN(NAME=~"rap_dm_geographic_locations_c.name~") COLUMN(NAME=~"rap_dm_geographic_locations_b.name~") COLUMN(NAME=~"rap_dm_geographic_locations_a.nameDAT*, ~") COLUMN(NAME=~"rap_dm_geographic_locations_a.location_coord_level~") COLUMN(NAME=~"rap_dm_geographic_locations_a.latitude_data~") COLUMN(NAME=~"rap_dm_geographic_locations_a.longitude_data~") COLUMN(NAME=~"rap_dm_geographic_locations_a.zone_no~") COLUMN(NAME=~"rap_dm_geographic_locations_a.northing_km_data~") COLUMN(NAME=~"rap_dm_geographic_locations_a.easting_km_data~") COLUMN(NAME=~"rap_dm_emissions.rollup_level~") COLUMN(NAME=~"rap_dm_emissions.rollup_ref_rid~") COLUMN(NAME=~"rap_dm_emissionDAT*. s.summary_category~") COLUMN(NAME=~"rap_dm_emissions.summary_category_code~") COLUMN(NAME=~"rap_dm_emissions.material_code~") COLUMN(NAME=~"rap_dm_emissions.unit_code~") COLUMN(NAME=~"rap_dm_emissions.rollup_amt~") COLUMN(NAME=~"rap_dm_emissions.reference_code~") COLUMN(NAME=~"rap_dm_emissions.start_date_time~") COLUMN(NAME=~"rap_dm_emissions.end_date_time~") COLUMN(NAME=~"rap_dm_emissions.data_code~") COLUMN(NAME=~"rap_dm_emissions.value_type~") COLUMN(NAME=~"rap_dm_emissions.reference_type~") CODAT*0 LUMN(NAME=~"rap_dm_emissions.method_type~") COLUMN(NAME=~"rap_dm_emissions.confidential_flag~") COMPUTE(NAME=~"rap_dm_geographic_locations_a.rid ~~~"county_rid~~~"~") COMPUTE(NAME=~"rap_dm_geographic_locations_b.rid ~~~"state_rid~~~"~") COMPUTE(NAME=~"rap_dm_geographic_locations_c.rid ~~~"nation_rid~~~"~") JOIN (LEFT=~"rap_dm_emissions.rollup_ref_rid~" OP =~"=~"RIGHT=~"rap_dm_geographic_locations_a.rid~" ) JOIN (LEFT=~"rap_dm_geographic_locations_a.parent_rid~" OP =~"=~"RIGHT=~"rap_dm_DAT*2 geographic_locations_b.rid~" ) JOIN (LEFT=~"rap_dm_geographic_locations_b.parent_rid~" OP =~"=~"RIGHT=~"rap_dm_geographic_locations_c.rid~" )WHERE( EXP1 =~"( ( rap_dm_geographic_locations_a.type~" OP =~"=~" EXP2 =~"'COUNTY' )~" LOGIC =~"and~" ) WHERE( EXP1 =~"( rap_dm_geographic_locations_b.type~" OP =~"=~" EXP2 =~"'STATE' )~" LOGIC =~"and~" ) WHERE( EXP1 =~"( rap_dm_geographic_locations_c.type~" OP =~"=~" EXP2 =~"'NATION' )~" LOGIC =~"and~" ) WHERE( EXP1 DAT*4 =~"( rap_dm_emissions.summary_category~" OP =~"=~" EXP2 =~"'SIC' ) )~" LOGIC =~"and~" ) WHERE( EXP1 =~"rap_dm_emissions.reference_code~" OP =~"=~" EXP2 =~":refCode~" LOGIC =~"and~" ) WHERE( EXP1 =~"rap_dm_emissions.start_date_time~" OP =~">=~" EXP2 =~":fromDate~" LOGIC =~"and~" ) WHERE( EXP1 =~"rap_dm_emissions.end_date_time~" OP =~"<=~" EXP2 =~":toDate~" LOGIC =~"and~" ) WHERE( EXP1 =~"rap_dm_emissions.material_code~" OP =~"in~" EXP2 =~":matCode~" DAT*6 ) ) 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 = ~"fromDate~" TYPE = datetime) ARG(NAME = ~"toDate~" TYPE = datetime) ARG(NAME = ~"as_null~" TYPE = string) ARG(NAME = ~"as_ro~" TYPE = string) ARG(NAME = ~"unitCode~" TYPE = stDAT*8 ring) ARG(NAME = ~"refCode~" TYPE = string) ARG(NAME = ~"matCode~" TYPE = stringlist) " arguments=(("al_nationArray", numberlist),("al_stateArray", numberlist),("al_countyArray", numberlist),("al_sourceArray", numberlist),("al_sourceSub1Array", numberlist),("al_sourceSub2Array", numberlist),("fromDate", datetime),("toDate", datetime),("as_null", string),("as_ro", string),("unitCode", string),("refCode", string),("matCode", stringlist)) sort="reference_code A start_date_time A end_date_time A naDAT*: tion_name A state_name A county_name A summary_category A summary_category_code A material_code A " ) group(level=1 header.height=0 trailer.height=0 by=("reference_code" , "start_date_time" , "end_date_time" ) header.color="553648127" trailer.color="536870912" ) group(level=2 header.height=0 trailer.height=0 by=("nation_name" ) header.color="553648127" trailer.color="536870912" ) group(level=3 header.height=88 trailer.height=0 by=("state_name" ) header.color="553648127" trailer.color="536870912DAT*< " ) group(level=4 header.height=104 trailer.height=0 by=("county_name" ) header.color="553648127" trailer.color="553648127" ) group(level=5 header.height=104 trailer.height=0 by=("summary_category" , "summary_category_code" ) header.color="553648127" trailer.color="553648127" ) compute(band=header alignment="0" expression="today()"border="0" color="0" x="18" y="20" height="64" width="421" format="dd-mmm-yyyy" html.valueishtml="0" name=compute_1 visible="1" font.face="MS Sans Serif" font.heighDAT*> t="-8" 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 Emissions by SIC Code" border="0" color="0" x="18" y="84" height="80" width="4389" html.valueishtml="0" name=t_1 visible="1" font.face="MS Sans Serif" font.height="-12" font.weight="700" font.family="2" font.pitch="2" font.charset="0" font.underline="1" background.mode="1" background.color="536870912" ) compute(band=header aliDAT*@ gnment="1" expression="'Page ' + page() + ' of ' + pageCount()"border="0" color="0" x="3767" y="20" height="64" width="640" format="[general]" html.valueishtml="0" name=page visible="1" 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" ) text(band=header alignment="0" text="Start Date:" border="0" color="0" x="823" y="212" height="64" width="347" html.valueishtml="0" name=t_2 visible="1DAT*B " 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="Reference Code:" border="0" color="0" x="1847" y="212" height="64" width="507" html.valueishtml="0" name=t_3 visible="1" 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=headeDAT*D r alignment="0" text="End Date:" border="0" color="0" x="823" y="292" height="64" width="347" html.valueishtml="0" name=t_4 visible="1" 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="Units:" border="0" color="0" x="1847" y="292" height="64" width="512" html.valueishtml="0" name=t_5 visible="1" font.face="MS Sans Serif" font.height="-8" font.weiDAT*F ght="700" font.family="2" font.pitch="2" font.charset="0" background.mode="1" background.color="536870912" ) column(band=header id=15 alignment="0" tabsequence=32766 border="0" color="0" x="2359" y="292" height="64" width="640" format="[general]" html.valueishtml="0" name=unit_code visible="1" edit.limit=0 edit.case=any edit.autoselect=yes edit.imemode=0 font.face="Arial" font.height="-10" font.weight="400" font.family="2" font.pitch="2" font.charset="0" background.mode="1" background.color="DAT*H 553648127" ) column(band=header id=17 alignment="0" tabsequence=32766 border="0" color="0" x="2359" y="212" height="64" width="640" format="[general]" html.valueishtml="0" name=reference_code visible="1" edit.limit=12 edit.case=any edit.focusrectangle=no edit.autoselect=yes edit.autohscroll=yes edit.imemode=0 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=header id=18 alignmenDAT*J t="0" tabsequence=32766 border="0" color="0" x="1170" y="212" height="64" width="603" format="dd-mmm-yyyy" html.valueishtml="0" name=start_date_time visible="1" edit.limit=0 edit.case=any edit.autoselect=yes edit.autohscroll=yes edit.imemode=0 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=header id=19 alignment="0" tabsequence=32766 border="0" color="0" x="1170" y="292" heightDAT*L ="64" width="603" format="dd-mmm-yyyy" html.valueishtml="0" name=end_date_time visible="1" edit.limit=0 edit.case=any edit.autoselect=yes edit.autohscroll=yes edit.imemode=0 font.face="Arial" font.height="-10" font.weight="400" font.family="2" font.pitch="2" font.charset="0" background.mode="1" background.color="536870912" ) line(band=header x1="18" y1="372" x2="4407" y2="372" name=l_1 visible="1" pen.style="0" pen.width="5" pen.color="0" background.mode="1" background.color="536870912" ) cDAT*N olumn(band=header.3 id=1 alignment="1" tabsequence=32766 border="0" color="0" x="2981" y="4" height="64" width="1426" format="[general]" html.valueishtml="0" name=nation_name visible="1" edit.limit=50 edit.case=any edit.autoselect=yes edit.autohscroll=yes edit.imemode=0 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=header.3 id=2 alignment="0" tabsequence=32766 border="0DAT*P " color="0" x="18" y="4" height="64" width="1399" format="[general]" html.valueishtml="0" name=state_name visible="1" edit.limit=50 edit.case=any edit.autoselect=yes edit.autohscroll=yes edit.imemode=0 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=header.4 id=3 alignment="0" tabsequence=32766 border="0" color="0" x="18" y="20" height="64" width="1399" format="[general]"DAT*R  html.valueishtml="0" name=county_name visible="1" edit.limit=50 edit.case=any edit.autoselect=yes edit.autohscroll=yes edit.imemode=0 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" ) line(band=header.4 x1="18" y1="100" x2="4407" y2="100" name=l_2 visible="1" pen.style="0" pen.width="5" pen.color="0" background.mode="1" background.color="536870912" ) column(band=header.4 id=5 alignDAT*T ment="1" tabsequence=32766 border="0" color="0" x="1463" y="20" height="64" width="329" format="[general]" html.valueishtml="0" name=latitude_data visible="1" edit.limit=0 edit.case=any edit.autoselect=yes edit.autohscroll=yes edit.imemode=0 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=header.4 id=6 alignment="1" tabsequence=32766 border="0" color="0" x="1829" y="20" height="DAT*V 64" width="329" format="[general]" html.valueishtml="0" name=longitude_data visible="1" edit.limit=0 edit.case=any edit.autoselect=yes edit.autohscroll=yes edit.imemode=0 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=header.4 id=7 alignment="1" tabsequence=32766 border="0" color="0" x="2213" y="20" height="64" width="329" format="[general]" html.valueishtml="0" name=zone_no vDAT*X isible="1" edit.limit=0 edit.case=any edit.autoselect=yes edit.autohscroll=yes edit.imemode=0 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=header.4 id=8 alignment="1" tabsequence=32766 border="0" color="0" x="2578" y="20" height="64" width="325" format="[general]" html.valueishtml="0" name=northing_km_data visible="1" edit.limit=0 edit.case=any edit.autoselect=yes edit.autohsDAT*Z croll=yes edit.imemode=0 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=header.4 id=9 alignment="1" tabsequence=32766 border="0" color="0" x="2944" y="20" height="64" width="329" format="[general]" html.valueishtml="0" name=easting_km_data visible="1" edit.limit=0 edit.case=any edit.autoselect=yes edit.autohscroll=yes edit.imemode=0 font.face="Arial" font.height="-10" font.weiDAT*\ ght="400" font.family="2" font.pitch="2" font.charset="0" background.mode="1" background.color="536870912" ) column(band=header.4 id=4 alignment="0" tabsequence=32766 border="0" color="0" x="3310" y="20" height="64" width="402" format="[general]" html.valueishtml="0" name=coordinate_level_type visible="1" edit.limit=8 edit.case=any edit.autoselect=yes edit.autohscroll=yes edit.imemode=0 font.face="Arial" font.height="-10" font.weight="400" font.family="2" font.pitch="2" font.charset="0" backgDAT*^ round.mode="1" background.color="536870912" ) column(band=header.5 id=12 alignment="0" tabsequence=32766 border="0" color="0" x="219" y="20" height="64" width="494" format="[general]" html.valueishtml="0" name=summary_category visible="1" edit.limit=8 edit.case=any edit.autoselect=yes edit.autohscroll=yes edit.imemode=0 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=headeDAT*` r.5 alignment="0" text=":" border="0" color="0" x="713" y="20" height="64" width="37" html.valueishtml="0" name=t_6 visible="1" slideleft=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=header.5 id=13 alignment="0" tabsequence=32766 border="0" color="0" x="786" y="20" height="64" width="731" format="[general]" html.valueishtml="0" name=summary_category_code visible=DAT*b "1" slideleft=yes edit.limit=10 edit.case=any edit.autoselect=yes edit.autohscroll=yes edit.imemode=0 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=14 alignment="0" tabsequence=32766 border="0" color="0" x="457" y="20" height="64" width="640" format="[general]" html.valueishtml="0" name=material_code visible="1" edit.limit=12 edit.case=any edit.autoselect=yesDAT*D edit.autohscroll=yes edit.imemode=0 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=16 alignment="1" tabsequence=32766 border="0" color="0" x="1152" y="20" height="64" width="800" format="0.00E+00" html.valueishtml="0" name=rollup_amt visible="1" edit.limit=0 edit.case=any edit.autoselect=yes edit.autohscroll=yes edit.imemode=0 font.face="Arial" font.height="-DAT*f PDW0800pdwPlZ(````7 F$nn``DAT*h  @xn%DAT*j  # compute_1$1<  $ 0%  MS Sans SerifMS Sans Serif$2$-8$400$ 536870912$DAT*l 18$20$@64$421& dd-mmm-yyyy dd-mmm-yyyy()!"today()"$0`7&' ,.025t_1< ( *$)DAT*n -12$+700$-T84$/P80$1%4389%34County Emissions TotalsCounty Emissions Totals"60nM%89;=@Kpage$:3767$<640&>DAT*p ? [general] [general]%AB('Page ' + page() + ' of ' + pageCount() ^CJ ^DH ^EGF Page I  of "L0`[7NOPRTVYt_2<  *$Q7823$SDAT*r 212$U[347%WX Start Date: Start Date:"Z0`fM\O]R_adt_3$^71847$`507%bcReference Code:Reference Code:"e0`o[gOPhDAT*t Tjmt_4$i$292%kl End Date: End Date:"n0`xfpO]hqsvt_5$r512%tuUnits:Units:"w0oyzh;= DAT*v  unit_code<{ ~ %|}ArialArial$-10$ 553648127$7 2359"0xzR;=( reference_code"DAT*x 0zR(start_date_time$1170$[603"0zh(end_date_time"0PDAT*z l_1$5$t372$74407@@XO;=( material_code$DAT*| 457"0z( rollup_amt$1152$ 800& 0.00E+00 0.00E+00"0z=(DAT*~  unit_code_1$2007$%549"0z=(confidential_flag$2 2610"0@4DAT* @@%reference_code ()start_date_time ()end_date_time ,@DAT* @% nation_name ,@XO=(2 nation_name$ 2981$4$DAT* 1426"0O=(2 state_name$w1399"0@% state_name ,401@h'DAT* O=(2 county_name"0Pl_2$d100 z(latitudDAT* e_data$1463$I329& [general] [general]"0 z ( longitude_data$ %1829"0 zDAT* (zone_no$2213"0 z(northing_km_data$ 2578$E325"0'!z"DAT*  (%$easting_km_data$# 2944"&0 (z)+=(.-coordinate_level_type$* 3310$,402"/0@DAT* %23 county_name 05STW@h6J?75O8:= (=<summary_category$9219$;494">0`J6@DAT* 5OACEHt_6$B713$D%37%FG::"I0?K5OLN= (QP summary_category_code$M786$O731"RDAT* 0@%UVsummary_category  %XYsummary_category_code  [w|DAT* 333'     DAT*        6 J  x DAT*     DAT*    L \i_= behkn qtalt) .%]^reference_code ()`astart_date_time ()cdDAT* end_date_time %fg nation_name %ij state_name %lm county_name %opsummary_category  %rssummary_category_code  %uvmaterial_code $x yz{ :refCode :fromDate:toDateDAT*  :matCodel }~al_nationArrayal_stateArrayal_countyArrayal_sourceArrayal_sourceSub1Arrayal_sourceSub2Array fromDatetoDateas_nullas_ro unitCoderefCodematCode7 nation_namerap_geographic_locations.name state_namerap_geographic_locations.name county_namDAT* e!rap_dm_geographic_locations.namecoordinate_level_type1rap_dm_geographic_locations.location_coord_level'latitude_data*rap_dm_geographic_locations.latitude_datalongitude_data+rap_dm_geographic_locations.longitude_data zone_no$rap_dm_geographic_locations.zone_nonorthing_km_data-rap_dm_geographic_locations.northing_km_dataeasting_DAT* km_data,rap_dm_geographic_locations.easting_km_data  rollup_levelrap_dm_emissions.rollup_levelrollup_ref_rid rap_dm_emissions.rollup_ref_ridsummary_category"rap_dm_emissions.summary_category6summary_category_code'rap_dm_emissions.summary_category_codeJmaterial_coderap_dm_emissions.material_code unit_coderap_dm_emissions.unit_codexDAT*  rollup_amtrap_dm_emissions.rollup_amtreference_code rap_dm_emissions.reference_codestart_date_time!rap_dm_emissions.start_date_timeend_date_timerap_dm_emissions.end_date_timerap_dm_emissions_data_coderap_dm_emissions.data_coderap_dm_emissions_value_typerap_dm_emissions.value_type rap_dm_emissions_reference_type rap_dm_emissions.reference_typeraDAT* p_dm_emissions_method_typerap_dm_emissions.method_typeconfidential_flag#rap_dm_emissions.confidential_flag nation_rid$rap_geographic_locations.nation_rid county_rid'rap_dm_geographic_locations.county_rid state_rid#rap_geographic_locations.state_rid PBSELECT( VERSION(400) TABLE(NAME="rap_dm_emissions" ) TABLE(NAME="rap_dm_geographic_locations" ALIAS="rap_dm_geographic_locations_a" ) TABLE(NAME="rap_geographic_locations" ALIAS="rap_dm_gDAT* eographic_locations_b" ) TABLE(NAME="rap_geographic_locations" ALIAS="rap_dm_geographic_locations_c" ) COLUMN(NAME="rap_dm_geographic_locations_c.name") COLUMN(NAME="rap_dm_geographic_locations_b.name") COLUMN(NAME="rap_dm_geographic_locations_a.name") COLUMN(NAME="rap_dm_geographic_locations_a.location_coord_level") COLUMN(NAME="rap_dm_geographic_locations_a.latitude_data") COLUMN(NAME="rap_dm_geographic_locations_a.longitude_data") COLUMN(NAME="rap_dm_geographic_locations_a.zone_no") COLUMN(NAMDAT* E="rap_dm_geographic_locations_a.northing_km_data") COLUMN(NAME="rap_dm_geographic_locations_a.easting_km_data") COLUMN(NAME="rap_dm_emissions.rollup_level") COLUMN(NAME="rap_dm_emissions.rollup_ref_rid") COLUMN(NAME="rap_dm_emissions.summary_category") COLUMN(NAME="rap_dm_emissions.summary_category_code") COLUMN(NAME="rap_dm_emissions.material_code") COLUMN(NAME="rap_dm_emissions.unit_code") COLUMN(NAME="rap_dm_emissions.rollup_amt") COLUMN(NAME="rap_dm_emissions.reference_code") COLUMN(NAME="rapDAT* _dm_emissions.start_date_time") COLUMN(NAME="rap_dm_emissions.end_date_time") COLUMN(NAME="rap_dm_emissions.data_code") COLUMN(NAME="rap_dm_emissions.value_type") COLUMN(NAME="rap_dm_emissions.reference_type") COLUMN(NAME="rap_dm_emissions.method_type") COLUMN(NAME="rap_dm_emissions.confidential_flag") COMPUTE(NAME="rap_dm_geographic_locations_c.rid as nation_rid") COMPUTE(NAME="rap_dm_geographic_locations_a.rid as county_rid") COMPUTE(NAME="rap_dm_geographic_locations_b.rid as state_rid") JOINDAT*  (LEFT="rap_dm_emissions.rollup_ref_rid" OP ="="RIGHT="rap_dm_geographic_locations_a.rid" ) JOIN (LEFT="rap_dm_geographic_locations_a.parent_rid" OP ="="RIGHT="rap_dm_geographic_locations_b.rid" ) JOIN (LEFT="rap_dm_geographic_locations_b.parent_rid" OP ="="RIGHT="rap_dm_geographic_locations_c.rid" )WHERE( EXP1 ="( ( rap_dm_geographic_locations_a.type" OP ="=" EXP2 ="'COUNTY' )" LOGIC ="and" ) WHERE( EXP1 ="( rap_dm_geographic_locations_b.type" OP ="=" EXP2 ="'STADAT* TE' )" LOGIC ="and" ) WHERE( EXP1 ="( rap_dm_geographic_locations_c.type" OP ="=" EXP2 ="'NATION' )" LOGIC ="and" ) WHERE( EXP1 ="( rap_dm_emissions.summary_category" OP ="=" EXP2 ="'TOTAL' ) )" LOGIC ="and" ) WHERE( EXP1 ="rap_dm_emissions.reference_code" OP ="=" EXP2 ="" LOGIC ="and" ) WHERE( EXP1 ="rap_dm_emissions.start_date_time" OP =">=" EXP2 ="" LOGIC ="and" ) WHERE( EXP1 ="rap_dm_emissions.end_date_time" OP ="<=" EXP2 ="" LOGIC =DAT* "and" ) WHERE( EXP1 ="rap_dm_emissions.material_code" OP ="in" EXP2 ="()" ) ) 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 = "fromDate" TYPE = datetime) ARG(NAME = "toDate" TYPE = datetime) ARG(NAME = "as_null" TYPE = string) ARG(NDAT* AME = "as_ro" TYPE = string) ARG(NAME = "unitCode" TYPE = string) ARG(NAME = "refCode" TYPE = string) ARG(NAME = "matCode" TYPE = stringlist) \"1"1"1"1"0"0"0DAT*kx7DAT* release 8; datawindow(units=0 timer_interval=0 color=16777215 processing=0 HTMLDW=no print.documentname="" print.orientation = 1 print.margin.left = 110 print.margin.right = 110 print.margin.top = 96 print.margin.bottom = 96 print.paper.source = 0 print.paper.size = 0 print.prompt=no print.buttons=no print.preview.buttons=no ) header(height=376 color="536870912" ) summary(height=0 color="536870912" ) footer(height=0 color="536870912" ) detail(height=88 color="536870912" ) table(column=(type=DAT* char(50) updatewhereclause=yes name=nation_name dbname="rap_geographic_locations.name" ) column=(type=char(50) updatewhereclause=yes name=state_name dbname="rap_geographic_locations.name" ) column=(type=char(50) updatewhereclause=yes name=county_name dbname="rap_dm_geographic_locations.name" ) column=(type=char(8) updatewhereclause=yes name=coordinate_level_type dbname="rap_dm_geographic_locations.location_coord_level" ) column=(type=decimal(4) updatewhereclause=yes name=latitude_data dbnaDAT* me="rap_dm_geographic_locations.latitude_data" ) column=(type=decimal(4) updatewhereclause=yes name=longitude_data dbname="rap_dm_geographic_locations.longitude_data" ) column=(type=decimal(0) updatewhereclause=yes name=zone_no dbname="rap_dm_geographic_locations.zone_no" ) column=(type=decimal(2) updatewhereclause=yes name=northing_km_data dbname="rap_dm_geographic_locations.northing_km_data" ) column=(type=decimal(2) updatewhereclause=yes name=easting_km_data dbname="rap_dm_geographic_loDAT* cations.easting_km_data" ) column=(type=char(8) updatewhereclause=yes name=rollup_level dbname="rap_dm_emissions.rollup_level" ) column=(type=decimal(0) updatewhereclause=yes name=rollup_ref_rid dbname="rap_dm_emissions.rollup_ref_rid" ) column=(type=char(8) updatewhereclause=yes name=summary_category dbname="rap_dm_emissions.summary_category" ) column=(type=char(10) updatewhereclause=yes name=summary_category_code dbname="rap_dm_emissions.summary_category_code" ) column=(type=char(12) uDAT* pdatewhereclause=yes name=material_code dbname="rap_dm_emissions.material_code" ) column=(type=char(8) updatewhereclause=yes name=unit_code dbname="rap_dm_emissions.unit_code" ) column=(type=decimal(11) updatewhereclause=yes name=rollup_amt dbname="rap_dm_emissions.rollup_amt" ) column=(type=char(12) updatewhereclause=yes name=reference_code dbname="rap_dm_emissions.reference_code" ) column=(type=datetime updatewhereclause=yes name=start_date_time dbname="rap_dm_emissions.start_date_time" DAT* ) column=(type=datetime updatewhereclause=yes name=end_date_time dbname="rap_dm_emissions.end_date_time" ) column=(type=char(4) updatewhereclause=yes name=rap_dm_emissions_data_code dbname="rap_dm_emissions.data_code" ) column=(type=char(3) updatewhereclause=yes name=rap_dm_emissions_value_type dbname="rap_dm_emissions.value_type" ) column=(type=char(6) updatewhereclause=yes name=rap_dm_emissions_reference_type dbname="rap_dm_emissions.reference_type" ) column=(type=char(2) updatewhereclDAT* ause=yes name=rap_dm_emissions_method_type dbname="rap_dm_emissions.method_type" ) column=(type=char(1) updatewhereclause=yes name=confidential_flag dbname="rap_dm_emissions.confidential_flag" ) column=(type=decimal(0) updatewhereclause=yes name=nation_rid dbname="rap_geographic_locations.nation_rid" ) column=(type=decimal(0) updatewhereclause=yes name=county_rid dbname="rap_dm_geographic_locations.county_rid" ) column=(type=decimal(0) updatewhereclause=yes name=state_rid dbname="rap_geogrDAT* aphic_locations.state_rid" ) retrieve="PBSELECT( VERSION(400) TABLE(NAME=~"rap_dm_emissions~" ) TABLE(NAME=~"rap_dm_geographic_locations~" ALIAS=~"rap_dm_geographic_locations_a~" ) TABLE(NAME=~"rap_geographic_locations~" ALIAS=~"rap_dm_geographic_locations_b~" ) TABLE(NAME=~"rap_geographic_locations~" ALIAS=~"rap_dm_geographic_locations_c~" ) COLUMN(NAME=~"rap_dm_geographic_locations_c.name~") COLUMN(NAME=~"rap_dm_geographic_locations_b.name~") COLUMN(NAME=~"rap_dm_geographic_locations_a.nameDAT* ~") COLUMN(NAME=~"rap_dm_geographic_locations_a.location_coord_level~") COLUMN(NAME=~"rap_dm_geographic_locations_a.latitude_data~") COLUMN(NAME=~"rap_dm_geographic_locations_a.longitude_data~") COLUMN(NAME=~"rap_dm_geographic_locations_a.zone_no~") COLUMN(NAME=~"rap_dm_geographic_locations_a.northing_km_data~") COLUMN(NAME=~"rap_dm_geographic_locations_a.easting_km_data~") COLUMN(NAME=~"rap_dm_emissions.rollup_level~") COLUMN(NAME=~"rap_dm_emissions.rollup_ref_rid~") COLUMN(NAME=~"rap_dm_emissionDAT* s.summary_category~") COLUMN(NAME=~"rap_dm_emissions.summary_category_code~") COLUMN(NAME=~"rap_dm_emissions.material_code~") COLUMN(NAME=~"rap_dm_emissions.unit_code~") COLUMN(NAME=~"rap_dm_emissions.rollup_amt~") COLUMN(NAME=~"rap_dm_emissions.reference_code~") COLUMN(NAME=~"rap_dm_emissions.start_date_time~") COLUMN(NAME=~"rap_dm_emissions.end_date_time~") COLUMN(NAME=~"rap_dm_emissions.data_code~") COLUMN(NAME=~"rap_dm_emissions.value_type~") COLUMN(NAME=~"rap_dm_emissions.reference_type~") CODAT* LUMN(NAME=~"rap_dm_emissions.method_type~") COLUMN(NAME=~"rap_dm_emissions.confidential_flag~") COMPUTE(NAME=~"rap_dm_geographic_locations_c.rid as nation_rid~") COMPUTE(NAME=~"rap_dm_geographic_locations_a.rid as county_rid~") COMPUTE(NAME=~"rap_dm_geographic_locations_b.rid as state_rid~") JOIN (LEFT=~"rap_dm_emissions.rollup_ref_rid~" OP =~"=~"RIGHT=~"rap_dm_geographic_locations_a.rid~" ) JOIN (LEFT=~"rap_dm_geographic_locations_a.parent_rid~" OP =~"=~"RIGHT=~"rap_dm_geographic_locaDAT* tions_b.rid~" ) JOIN (LEFT=~"rap_dm_geographic_locations_b.parent_rid~" OP =~"=~"RIGHT=~"rap_dm_geographic_locations_c.rid~" )WHERE( EXP1 =~"( ( rap_dm_geographic_locations_a.type~" OP =~"=~" EXP2 =~"'COUNTY' )~" LOGIC =~"and~" ) WHERE( EXP1 =~"( rap_dm_geographic_locations_b.type~" OP =~"=~" EXP2 =~"'STATE' )~" LOGIC =~"and~" ) WHERE( EXP1 =~"( rap_dm_geographic_locations_c.type~" OP =~"=~" EXP2 =~"'NATION' )~" LOGIC =~"and~" ) WHERE( EXP1 =~"( rap_dm_emiDAT* ssions.summary_category~" OP =~"=~" EXP2 =~"'TOTAL' ) )~" LOGIC =~"and~" ) WHERE( EXP1 =~"rap_dm_emissions.reference_code~" OP =~"=~" EXP2 =~":refCode~" LOGIC =~"and~" ) WHERE( EXP1 =~"rap_dm_emissions.start_date_time~" OP =~">=~" EXP2 =~":fromDate~" LOGIC =~"and~" ) WHERE( EXP1 =~"rap_dm_emissions.end_date_time~" OP =~"<=~" EXP2 =~":toDate~" LOGIC =~"and~" ) WHERE( EXP1 =~"rap_dm_emissions.material_code~" OP =~"in~" EXP2 =~"(:matCode)~" ) ) ARG(NAMDAT* E = ~"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 = ~"fromDate~" TYPE = datetime) ARG(NAME = ~"toDate~" TYPE = datetime) ARG(NAME = ~"as_null~" TYPE = string) ARG(NAME = ~"as_ro~" TYPE = string) ARG(NAME = ~"unitCode~" TYPE = string) ARG(DAT* NAME = ~"refCode~" TYPE = string) ARG(NAME = ~"matCode~" TYPE = stringlist) " arguments=(("al_nationArray", numberlist),("al_stateArray", numberlist),("al_countyArray", numberlist),("al_sourceArray", numberlist),("al_sourceSub1Array", numberlist),("al_sourceSub2Array", numberlist),("fromDate", datetime),("toDate", datetime),("as_null", string),("as_ro", string),("unitCode", string),("refCode", string),("matCode", stringlist)) sort="reference_code A start_date_time A end_date_time A nation_name ADAT*  state_name A county_name A summary_category A summary_category_code A material_code A " ) group(level=1 header.height=0 trailer.height=0 by=("reference_code" , "start_date_time" , "end_date_time" ) header.color="553648127" trailer.color="536870912" ) group(level=2 header.height=0 trailer.height=0 by=("nation_name" ) header.color="553648127" trailer.color="536870912" ) group(level=3 header.height=88 trailer.height=0 by=("state_name" ) header.color="553648127" trailer.color="536870912" ) group(DAT* level=4 header.height=104 trailer.height=0 by=("county_name" ) header.color="553648127" trailer.color="553648127" ) group(level=5 header.height=104 trailer.height=0 by=("summary_category" , "summary_category_code" ) header.color="553648127" trailer.color="553648127" ) compute(band=header alignment="0" expression="today()"border="0" color="0" x="18" y="20" height="64" width="421" format="dd-mmm-yyyy" html.valueishtml="0" name=compute_1 visible="1" font.face="MS Sans Serif" font.height="-8" fontDAT* .weight="400" font.family="2" font.pitch="2" font.charset="0" background.mode="1" background.color="536870912" ) text(band=header alignment="2" text="County Emissions Totals" border="0" color="0" x="18" y="84" height="80" width="4389" html.valueishtml="0" name=t_1 visible="1" font.face="MS Sans Serif" font.height="-12" font.weight="700" font.family="2" font.pitch="2" font.charset="0" font.underline="1" background.mode="1" background.color="536870912" ) compute(band=header alignment="1" expreDAT* ssion="'Page ' + page() + ' of ' + pageCount()"border="0" color="0" x="3767" y="20" height="64" width="640" format="[general]" html.valueishtml="0" name=page visible="1" 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" ) text(band=header alignment="0" text="Start Date:" border="0" color="0" x="823" y="212" height="64" width="347" html.valueishtml="0" name=t_2 visible="1" font.face="MSDAT*  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="Reference Code:" border="0" color="0" x="1847" y="212" height="64" width="507" html.valueishtml="0" name=t_3 visible="1" 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" DAT* text="End Date:" border="0" color="0" x="823" y="292" height="64" width="347" html.valueishtml="0" name=t_4 visible="1" 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="Units:" border="0" color="0" x="1847" y="292" height="64" width="512" html.valueishtml="0" name=t_5 visible="1" font.face="MS Sans Serif" font.height="-8" font.weight="700" font.DAT* family="2" font.pitch="2" font.charset="0" background.mode="1" background.color="536870912" ) column(band=header id=15 alignment="0" tabsequence=32766 border="0" color="0" x="2359" y="292" height="64" width="640" format="[general]" html.valueishtml="0" name=unit_code visible="1" edit.limit=0 edit.case=any edit.autoselect=yes edit.imemode=0 font.face="Arial" font.height="-10" font.weight="400" font.family="2" font.pitch="2" font.charset="0" background.mode="1" background.color="553648127" ) coDAT* lumn(band=header id=17 alignment="0" tabsequence=32766 border="0" color="0" x="2359" y="212" height="64" width="640" format="[general]" html.valueishtml="0" name=reference_code visible="1" edit.limit=12 edit.case=any edit.focusrectangle=no edit.autoselect=yes edit.autohscroll=yes edit.imemode=0 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=header id=18 alignment="0" tabsequencDAT* e=32766 border="0" color="0" x="1170" y="212" height="64" width="603" format="dd-mmm-yyyy" html.valueishtml="0" name=start_date_time visible="1" edit.limit=0 edit.case=any edit.autoselect=yes edit.autohscroll=yes edit.imemode=0 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=header id=19 alignment="0" tabsequence=32766 border="0" color="0" x="1170" y="292" height="64" width="603DAT* " format="dd-mmm-yyyy" html.valueishtml="0" name=end_date_time visible="1" edit.limit=0 edit.case=any edit.autoselect=yes edit.autohscroll=yes edit.imemode=0 font.face="Arial" font.height="-10" font.weight="400" font.family="2" font.pitch="2" font.charset="0" background.mode="1" background.color="536870912" ) line(band=header x1="18" y1="372" x2="4407" y2="372" name=l_1 visible="1" pen.style="0" pen.width="5" pen.color="0" background.mode="1" background.color="536870912" ) column(band=headeDAT* r.3 id=1 alignment="1" tabsequence=32766 border="0" color="0" x="2981" y="4" height="64" width="1426" format="[general]" html.valueishtml="0" name=nation_name visible="1" edit.limit=50 edit.case=any edit.autoselect=yes edit.autohscroll=yes edit.imemode=0 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=header.3 id=2 alignment="0" tabsequence=32766 border="0" color="0" x="1DAT* 8" y="4" height="64" width="1399" format="[general]" html.valueishtml="0" name=state_name visible="1" edit.limit=50 edit.case=any edit.autoselect=yes edit.autohscroll=yes edit.imemode=0 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=header.4 id=3 alignment="0" tabsequence=32766 border="0" color="0" x="18" y="20" height="64" width="1399" format="[general]" html.valueishtmDAT* l="0" name=county_name visible="1" edit.limit=50 edit.case=any edit.autoselect=yes edit.autohscroll=yes edit.imemode=0 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" ) line(band=header.4 x1="18" y1="100" x2="4407" y2="100" name=l_2 visible="1" pen.style="0" pen.width="5" pen.color="0" background.mode="1" background.color="536870912" ) column(band=header.4 id=5 alignment="1" tabsequDAT* ence=32766 border="0" color="0" x="1463" y="20" height="64" width="329" format="[general]" html.valueishtml="0" name=latitude_data visible="1" edit.limit=0 edit.case=any edit.autoselect=yes edit.autohscroll=yes edit.imemode=0 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=header.4 id=6 alignment="1" tabsequence=32766 border="0" color="0" x="1829" y="20" height="64" width="329" DAT* format="[general]" html.valueishtml="0" name=longitude_data visible="1" edit.limit=0 edit.case=any edit.autoselect=yes edit.autohscroll=yes edit.imemode=0 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=header.4 id=7 alignment="1" tabsequence=32766 border="0" color="0" x="2213" y="20" height="64" width="329" format="[general]" html.valueishtml="0" name=zone_no visible="1" edit.DAT* limit=0 edit.case=any edit.autoselect=yes edit.autohscroll=yes edit.imemode=0 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=header.4 id=8 alignment="1" tabsequence=32766 border="0" color="0" x="2578" y="20" height="64" width="325" format="[general]" html.valueishtml="0" name=northing_km_data visible="1" edit.limit=0 edit.case=any edit.autoselect=yes edit.autohscroll=yes edit.iDAT* memode=0 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=header.4 id=9 alignment="1" tabsequence=32766 border="0" color="0" x="2944" y="20" height="64" width="329" format="[general]" html.valueishtml="0" name=easting_km_data visible="1" edit.limit=0 edit.case=any edit.autoselect=yes edit.autohscroll=yes edit.imemode=0 font.face="Arial" font.height="-10" font.weight="400" font.DAT* family="2" font.pitch="2" font.charset="0" background.mode="1" background.color="536870912" ) column(band=header.4 id=4 alignment="0" tabsequence=32766 border="0" color="0" x="3310" y="20" height="64" width="402" format="[general]" html.valueishtml="0" name=coordinate_level_type visible="1" edit.limit=8 edit.case=any edit.autoselect=yes edit.autohscroll=yes edit.imemode=0 font.face="Arial" font.height="-10" font.weight="400" font.family="2" font.pitch="2" font.charset="0" background.mode="1" bDAT* ackground.color="536870912" ) column(band=header.5 id=12 alignment="0" tabsequence=32766 border="0" color="0" x="219" y="20" height="64" width="494" format="[general]" html.valueishtml="0" name=summary_category visible="1" edit.limit=8 edit.case=any edit.autoselect=yes edit.autohscroll=yes edit.imemode=0 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.5 alignment="0DAT* " text=":" border="0" color="0" x="713" y="20" height="64" width="37" html.valueishtml="0" name=t_6 visible="1" slideleft=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=header.5 id=13 alignment="0" tabsequence=32766 border="0" color="0" x="786" y="20" height="64" width="731" format="[general]" html.valueishtml="0" name=summary_category_code visible="1" slideleft=yDAT* es edit.limit=10 edit.case=any edit.autoselect=yes edit.autohscroll=yes edit.imemode=0 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=14 alignment="0" tabsequence=32766 border="0" color="0" x="457" y="20" height="64" width="640" format="[general]" html.valueishtml="0" name=material_code visible="1" edit.limit=12 edit.case=any edit.autoselect=yes edit.autohscrolDAT* l=yes edit.imemode=0 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=16 alignment="1" tabsequence=32766 border="0" color="0" x="1152" y="20" height="64" width="800" format="0.00E+00" html.valueishtml="0" name=rollup_amt visible="1" edit.limit=0 edit.case=any edit.autoselect=yes edit.autohscroll=yes edit.imemode=0 font.face="Arial" font.height="-10" font.weight=DAT* "400" font.family="2" font.pitch="2" font.charset="0" background.mode="1" background.color="536870912" ) column(band=detail id=15 alignment="0" tabsequence=32766 border="0" color="0" x="2007" y="20" height="64" width="549" format="[general]" html.valueishtml="0" name=unit_code_1 visible="1" edit.limit=8 edit.case=any edit.autoselect=yes edit.autohscroll=yes edit.imemode=0 font.face="Arial" font.height="-10" font.weight="400" font.family="2" font.pitch="2" font.charset="0" background.mode="1" DAT* background.color="536870912" ) column(band=detail id=24 alignment="0" tabsequence=32766 border="0" color="0" x="2610" y="20" height="64" width="457" format="[general]" html.valueishtml="0" name=confidential_flag visible="1" edit.limit=1 edit.case=any edit.autoselect=yes edit.autohscroll=yes edit.imemode=0 font.face="Arial" font.height="-10" font.weight="400" font.family="2" font.pitch="2" font.charset="0" background.mode="1" background.color="536870912" ) htmltable(border="1" ) htmlgen(clienDAT*tevents="1" clientvalidation="1" clientcomputedfields="1" clientformatting="0" clientscriptable="0" generatejavascript="1" netscapelayers="0" ) DAT* PDW0800pdwPlQ````7 F$nn``DAT*  @xn%DAT*  # compute_1$1<  $ 0%  MS Sans SerifMS Sans Serif$2$-8$400$ 536870912$DAT* 18$20$@64$421& dd-mmm-yyyy dd-mmm-yyyy()!"today()"$0`7&' ,.025t_1< ( *$)DAT* -12$+700$-T84$/P80$1%4389%34 State Emissions by SCC/AMS Code State Emissions by SCC/AMS Code"60nM%89;=@Kpage$:3767$<6DAT* 40&>? [general] [general]%AB('Page ' + page() + ' of ' + pageCount() ^CJ ^DH ^EGF Page I  of "L0`[7NOPRTVYt_2<  *$Q7823$SDAT* 212$U[347%WX Start Date: Start Date:"Z0`fM\O]R_adt_3$^71847$`507%bcReference Code:Reference Code:"e0`o[gODAT* PhTjmt_4$i$292%kl End Date: End Date:"n0`xfpO]hqsvt_5$r512%tuUnits:Units:"w0oyzh;=DAT*  unit_code<{ ~ %|}ArialArial$-10$ 553648127$7 2359"0xzR;=( reference_codeDAT* "0zR(start_date_time$1170$[603"0zh(end_date_time"DAT* 0Pl_1$5$t372$74407@@XO;= ( material_coDAT* de$457"0z( rollup_amt$1152$ 800& 0.00E+00 0.00E+00"0z=DAT* ( unit_code_1$2007$%549"0z=(confidential_flag$2 2610"0@4DAT*" @@%reference_code ()start_date_time ()end_date_time ,@\DAT*$ O=(2 nation_name$16$1426"0@% nation_name ,+'(@XDAT*& P..l_2$14$24402O= state_name$4$w1399"0DAT*( z(latitude_data$1463$I329& [general] [general]"0z(longitude_data$%DAT** 1829"0z (  zone_no$ 2194" 0z(northing_km_data$ 2560$EDAT*, 325"0z(easting_km_data$i 2921"0z "=(%$coordinate_level_type$! 3287DAT*. $#402"&0@%)* state_name 0,JKN@h-A6.,O/1= (43summary_category$0DAT*0 219$2494"50`A-7,O8:<?t_6$9713$;%37%=>::"@06B,OCE= (HG summaDAT*2 ry_category_code$D786$F731"I0@%LMsummary_category  %OPsummary_category_code  Rkp~DAT*4 33   DAT*6       - A  DAT*8 x     DAT*:     DSVY\_e Nbe h.sr%TUreference_coDAT*< de ()WXstart_date_time ()Z[end_date_time %]^ nation_name %`a state_name %cdsummary_category  %fgsummary_category_code  %ijmaterial_code  $l mnDAT*> o :refCode :fromDate:toDate :matCodel qrstuvwxyz{|}al_nationArrayal_stateArrayal_countyArrayal_sourceArrayal_sourceSub1Arrayal_sourceSub2Array fromDatetoDateas_nullas_ro unitCoderefCodematCode7 nation_namerap_geographic_locations.name state_name!rap_dm_geoDAT*@ graphic_locations.namecoordinate_level_type1rap_dm_geographic_locations.location_coord_levellatitude_data*rap_dm_geographic_locations.latitude_datalongitude_data+rap_dm_geographic_locations.longitude_datazone_no$rap_dm_geographic_locations.zone_nonorthing_km_data-rap_dm_geographic_locations.northing_km_dataeasting_km_data,rap_DAT*B dm_geographic_locations.easting_km_data rollup_levelrap_dm_emissions.rollup_levelrollup_ref_rid rap_dm_emissions.rollup_ref_ridsummary_category"rap_dm_emissions.summary_category-summary_category_code'rap_dm_emissions.summary_category_codeAmaterial_coderap_dm_emissions.material_code unit_coderap_dm_emissions.unit_codex rollupDAT*D _amtrap_dm_emissions.rollup_amtreference_code rap_dm_emissions.reference_codestart_date_time!rap_dm_emissions.start_date_timeend_date_timerap_dm_emissions.end_date_timerap_dm_emissions_data_coderap_dm_emissions.data_coderap_dm_emissions_value_typerap_dm_emissions.value_type rap_dm_emissions_reference_type rap_dm_emissions.reference_typerap_dm_emissions_mDAT*F ethod_typerap_dm_emissions.method_typeconfidential_flag#rap_dm_emissions.confidential_flag rap_dm_geographic_locations_rid rap_dm_geographic_locations.ridrap_geographic_locations_ridrap_geographic_locations.rid state_rid&rap_dm_geographic_locations.state_rid nation_rid$rap_geographic_locations.nation_rid PBSELECT( VERSION(400) TABLE(NAME="rap_dm_emissions" ) TABLE(NAME="rap_dm_geographic_locations" ALIAS="rap_dm_geographic_loDAT*H cations_a" ) TABLE(NAME="rap_geographic_locations" ALIAS="rap_dm_geographic_locations_b" ) COLUMN(NAME="rap_dm_geographic_locations_b.name") COLUMN(NAME="rap_dm_geographic_locations_a.name") COLUMN(NAME="rap_dm_geographic_locations_a.location_coord_level") COLUMN(NAME="rap_dm_geographic_locations_a.latitude_data") COLUMN(NAME="rap_dm_geographic_locations_a.longitude_data") COLUMN(NAME="rap_dm_geographic_locations_a.zone_no") COLUMN(NAME="rap_dm_geographic_locations_a.northing_km_data") COLUMN(NAMDAT*J E="rap_dm_geographic_locations_a.easting_km_data") COLUMN(NAME="rap_dm_emissions.rollup_level") COLUMN(NAME="rap_dm_emissions.rollup_ref_rid") COLUMN(NAME="rap_dm_emissions.summary_category") COLUMN(NAME="rap_dm_emissions.summary_category_code") COLUMN(NAME="rap_dm_emissions.material_code") COLUMN(NAME="rap_dm_emissions.unit_code") COLUMN(NAME="rap_dm_emissions.rollup_amt") COLUMN(NAME="rap_dm_emissions.reference_code") COLUMN(NAME="rap_dm_emissions.start_date_time") COLUMN(NAME="rap_dm_emissions.DAT*L end_date_time") COLUMN(NAME="rap_dm_emissions.data_code") COLUMN(NAME="rap_dm_emissions.value_type") COLUMN(NAME="rap_dm_emissions.reference_type") COLUMN(NAME="rap_dm_emissions.method_type") COLUMN(NAME="rap_dm_emissions.confidential_flag") COLUMN(NAME="rap_dm_geographic_locations_a.rid") COLUMN(NAME="rap_dm_geographic_locations_b.rid") COMPUTE(NAME="rap_dm_geographic_locations_a.rid as state_rid") COMPUTE(NAME="rap_dm_geographic_locations_b.rid as nation_rid") JOIN (LEFT="rap_dm_emissions.rolDAT*N lup_ref_rid" OP ="="RIGHT="rap_dm_geographic_locations_a.rid" ) JOIN (LEFT="rap_dm_geographic_locations_a.parent_rid" OP ="="RIGHT="rap_dm_geographic_locations_b.rid" )WHERE( EXP1 ="( ( rap_dm_geographic_locations_a.type" OP ="=" EXP2 ="'STATE' )" LOGIC ="and" ) WHERE( EXP1 ="( rap_dm_geographic_locations_b.type" OP ="=" EXP2 ="'NATION' )" LOGIC ="and" ) WHERE( EXP1 ="( rap_dm_emissions.summary_category" OP ="=" EXP2 ="'SCC' ) )" LOGIC ="and" ) WHERE( EDAT*P XP1 ="rap_dm_emissions.reference_code" OP ="=" EXP2 ="" LOGIC ="and" ) WHERE( EXP1 ="rap_dm_emissions.start_date_time" OP =">=" EXP2 ="" LOGIC ="and" ) WHERE( EXP1 ="rap_dm_emissions.end_date_time" OP ="<=" EXP2 ="" LOGIC ="and" ) WHERE( EXP1 ="rap_dm_emissions.material_code" OP ="in" EXP2 ="()" ) ) ARG(NAME = "al_nationArray" TYPE = numberlist) ARG(NAME = "al_stateArray" TYPE = numberlist) ARG(NAME = "al_countyArray" TYPE = numberlist) ARG(NAME = "al_sDAT*R ourceArray" TYPE = numberlist) ARG(NAME = "al_sourceSub1Array" TYPE = numberlist) ARG(NAME = "al_sourceSub2Array" TYPE = numberlist) ARG(NAME = "fromDate" TYPE = datetime) ARG(NAME = "toDate" TYPE = datetime) ARG(NAME = "as_null" TYPE = string) ARG(NAME = "as_ro" TYPE = string) ARG(NAME = "unitCode" TYPE = string) ARG(NAME = "refCode" TYPE = string) ARG(NAME = "matCode" TYPE = stringlist) \DAT*k"1"1"1"1"0"0"0x7DAT*V release 8; datawindow(units=0 timer_interval=0 color=16777215 processing=0 HTMLDW=no print.documentname="" print.orientation = 1 print.margin.left = 110 print.margin.right = 110 print.margin.top = 96 print.margin.bottom = 96 print.paper.source = 0 print.paper.size = 0 print.prompt=no print.buttons=no print.preview.buttons=no ) header(height=376 color="536870912" ) summary(height=0 color="536870912" ) footer(height=0 color="536870912" ) detail(height=88 color="536870912" ) table(column=(type=DAT*X char(50) updatewhereclause=yes name=nation_name dbname="rap_geographic_locations.name" ) column=(type=char(50) updatewhereclause=yes name=state_name dbname="rap_dm_geographic_locations.name" ) column=(type=char(8) updatewhereclause=yes name=coordinate_level_type dbname="rap_dm_geographic_locations.location_coord_level" ) column=(type=decimal(4) updatewhereclause=yes name=latitude_data dbname="rap_dm_geographic_locations.latitude_data" ) column=(type=decimal(4) updatewhereclause=yes name=loDAT*Z ngitude_data dbname="rap_dm_geographic_locations.longitude_data" ) column=(type=decimal(0) updatewhereclause=yes name=zone_no dbname="rap_dm_geographic_locations.zone_no" ) column=(type=decimal(2) updatewhereclause=yes name=northing_km_data dbname="rap_dm_geographic_locations.northing_km_data" ) column=(type=decimal(2) updatewhereclause=yes name=easting_km_data dbname="rap_dm_geographic_locations.easting_km_data" ) column=(type=char(8) updatewhereclause=yes name=rollup_level dbname="rap_dmDAT*\ _emissions.rollup_level" ) column=(type=decimal(0) updatewhereclause=yes name=rollup_ref_rid dbname="rap_dm_emissions.rollup_ref_rid" ) column=(type=char(8) updatewhereclause=yes name=summary_category dbname="rap_dm_emissions.summary_category" ) column=(type=char(10) updatewhereclause=yes name=summary_category_code dbname="rap_dm_emissions.summary_category_code" ) column=(type=char(12) updatewhereclause=yes name=material_code dbname="rap_dm_emissions.material_code" ) column=(type=char(8)DAT*^  updatewhereclause=yes name=unit_code dbname="rap_dm_emissions.unit_code" ) column=(type=decimal(11) updatewhereclause=yes name=rollup_amt dbname="rap_dm_emissions.rollup_amt" ) column=(type=char(12) updatewhereclause=yes name=reference_code dbname="rap_dm_emissions.reference_code" ) column=(type=datetime updatewhereclause=yes name=start_date_time dbname="rap_dm_emissions.start_date_time" ) column=(type=datetime updatewhereclause=yes name=end_date_time dbname="rap_dm_emissions.end_date_timDAT*` e" ) column=(type=char(4) updatewhereclause=yes name=rap_dm_emissions_data_code dbname="rap_dm_emissions.data_code" ) column=(type=char(3) updatewhereclause=yes name=rap_dm_emissions_value_type dbname="rap_dm_emissions.value_type" ) column=(type=char(6) updatewhereclause=yes name=rap_dm_emissions_reference_type dbname="rap_dm_emissions.reference_type" ) column=(type=char(2) updatewhereclause=yes name=rap_dm_emissions_method_type dbname="rap_dm_emissions.method_type" ) column=(type=char(1DAT*b ) updatewhereclause=yes name=confidential_flag dbname="rap_dm_emissions.confidential_flag" ) column=(type=decimal(0) updatewhereclause=yes name=rap_dm_geographic_locations_rid dbname="rap_dm_geographic_locations.rid" ) column=(type=decimal(0) updatewhereclause=yes name=rap_geographic_locations_rid dbname="rap_geographic_locations.rid" ) column=(type=decimal(0) updatewhereclause=yes name=state_rid dbname="rap_dm_geographic_locations.state_rid" ) column=(type=decimal(0) updatewhereclause=yesDAT*d  name=nation_rid dbname="rap_geographic_locations.nation_rid" ) retrieve="PBSELECT( VERSION(400) TABLE(NAME=~"rap_dm_emissions~" ) TABLE(NAME=~"rap_dm_geographic_locations~" ALIAS=~"rap_dm_geographic_locations_a~" ) TABLE(NAME=~"rap_geographic_locations~" ALIAS=~"rap_dm_geographic_locations_b~" ) COLUMN(NAME=~"rap_dm_geographic_locations_b.name~") COLUMN(NAME=~"rap_dm_geographic_locations_a.name~") COLUMN(NAME=~"rap_dm_geographic_locations_a.location_coord_level~") COLUMN(NAME=~"rap_dm_geograpDAT*f hic_locations_a.latitude_data~") COLUMN(NAME=~"rap_dm_geographic_locations_a.longitude_data~") COLUMN(NAME=~"rap_dm_geographic_locations_a.zone_no~") COLUMN(NAME=~"rap_dm_geographic_locations_a.northing_km_data~") COLUMN(NAME=~"rap_dm_geographic_locations_a.easting_km_data~") COLUMN(NAME=~"rap_dm_emissions.rollup_level~") COLUMN(NAME=~"rap_dm_emissions.rollup_ref_rid~") COLUMN(NAME=~"rap_dm_emissions.summary_category~") COLUMN(NAME=~"rap_dm_emissions.summary_category_code~") COLUMN(NAME=~"rap_dm_eDAT*h missions.material_code~") COLUMN(NAME=~"rap_dm_emissions.unit_code~") COLUMN(NAME=~"rap_dm_emissions.rollup_amt~") COLUMN(NAME=~"rap_dm_emissions.reference_code~") COLUMN(NAME=~"rap_dm_emissions.start_date_time~") COLUMN(NAME=~"rap_dm_emissions.end_date_time~") COLUMN(NAME=~"rap_dm_emissions.data_code~") COLUMN(NAME=~"rap_dm_emissions.value_type~") COLUMN(NAME=~"rap_dm_emissions.reference_type~") COLUMN(NAME=~"rap_dm_emissions.method_type~") COLUMN(NAME=~"rap_dm_emissions.confidential_flag~") COLUDAT*j MN(NAME=~"rap_dm_geographic_locations_a.rid~") COLUMN(NAME=~"rap_dm_geographic_locations_b.rid~") COMPUTE(NAME=~"rap_dm_geographic_locations_a.rid as state_rid~") COMPUTE(NAME=~"rap_dm_geographic_locations_b.rid as nation_rid~") JOIN (LEFT=~"rap_dm_emissions.rollup_ref_rid~" OP =~"=~"RIGHT=~"rap_dm_geographic_locations_a.rid~" ) JOIN (LEFT=~"rap_dm_geographic_locations_a.parent_rid~" OP =~"=~"RIGHT=~"rap_dm_geographic_locations_b.rid~" )WHERE( EXP1 =~"( ( rap_dm_geographic_locationsDAT*l _a.type~" OP =~"=~" EXP2 =~"'STATE' )~" LOGIC =~"and~" ) WHERE( EXP1 =~"( rap_dm_geographic_locations_b.type~" OP =~"=~" EXP2 =~"'NATION' )~" LOGIC =~"and~" ) WHERE( EXP1 =~"( rap_dm_emissions.summary_category~" OP =~"=~" EXP2 =~"'SCC' ) )~" LOGIC =~"and~" ) WHERE( EXP1 =~"rap_dm_emissions.reference_code~" OP =~"=~" EXP2 =~":refCode~" LOGIC =~"and~" ) WHERE( EXP1 =~"rap_dm_emissions.start_date_time~" OP =~">=~" EXP2 =~":fromDate~" LOGIC =~"and~" DAT*n ) WHERE( EXP1 =~"rap_dm_emissions.end_date_time~" OP =~"<=~" EXP2 =~":toDate~" LOGIC =~"and~" ) WHERE( EXP1 =~"rap_dm_emissions.material_code~" OP =~"in~" EXP2 =~"(:matCode)~" ) ) 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 = numberlisDAT*p t) ARG(NAME = ~"fromDate~" TYPE = datetime) ARG(NAME = ~"toDate~" TYPE = datetime) ARG(NAME = ~"as_null~" TYPE = string) ARG(NAME = ~"as_ro~" TYPE = string) ARG(NAME = ~"unitCode~" TYPE = string) ARG(NAME = ~"refCode~" TYPE = string) ARG(NAME = ~"matCode~" TYPE = stringlist) " arguments=(("al_nationArray", numberlist),("al_stateArray", numberlist),("al_countyArray", numberlist),("al_sourceArray", numberlist),("al_sourceSub1Array", numberlist),("al_sourceSub2Array", numberlist),("fromDate", DAT*r datetime),("toDate", datetime),("as_null", string),("as_ro", string),("unitCode", string),("refCode", string),("matCode", stringlist)) sort="reference_code A start_date_time A end_date_time A nation_name A state_name A summary_category A summary_category_code A material_code A " ) group(level=1 header.height=0 trailer.height=0 by=("reference_code" , "start_date_time" , "end_date_time" ) header.color="553648127" trailer.color="536870912" ) group(level=2 header.height=92 trailer.height=0 by=("natDAT*t ion_name" ) header.color="553648127" trailer.color="536870912" ) group(level=3 header.height=88 trailer.height=0 by=("state_name" ) header.color="553648127" trailer.color="536870912" ) group(level=4 header.height=104 trailer.height=0 by=("summary_category" , "summary_category_code" ) header.color="553648127" trailer.color="553648127" ) compute(band=header alignment="0" expression="today()"border="0" color="0" x="18" y="20" height="64" width="421" format="dd-mmm-yyyy" html.valueishtml="0" name=DAT*v compute_1 visible="1" 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" ) text(band=header alignment="2" text="State Emissions by SCC/AMS Code" border="0" color="0" x="18" y="84" height="80" width="4389" html.valueishtml="0" name=t_1 visible="1" font.face="MS Sans Serif" font.height="-12" font.weight="700" font.family="2" font.pitch="2" font.charset="0" font.underline="1" background.moDAT*x de="1" background.color="536870912" ) compute(band=header alignment="1" expression="'Page ' + page() + ' of ' + pageCount()"border="0" color="0" x="3767" y="20" height="64" width="640" format="[general]" html.valueishtml="0" name=page visible="1" 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" ) text(band=header alignment="0" text="Start Date:" border="0" color="0" x="823" y="212" heiDAT*z ght="64" width="347" html.valueishtml="0" name=t_2 visible="1" 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="Reference Code:" border="0" color="0" x="1847" y="212" height="64" width="507" html.valueishtml="0" name=t_3 visible="1" font.face="MS Sans Serif" font.height="-8" font.weight="700" font.family="2" font.pitch="2" font.charset="0" backgDAT*| round.mode="1" background.color="536870912" ) text(band=header alignment="0" text="End Date:" border="0" color="0" x="823" y="292" height="64" width="347" html.valueishtml="0" name=t_4 visible="1" 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="Units:" border="0" color="0" x="1847" y="292" height="64" width="512" html.valueishtml="0" name=t_5 viDAT*~ sible="1" 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=header id=14 alignment="0" tabsequence=32766 border="0" color="0" x="2359" y="292" height="64" width="640" format="[general]" html.valueishtml="0" name=unit_code visible="1" edit.limit=0 edit.case=any edit.autoselect=yes edit.imemode=0 font.face="Arial" font.height="-10" font.weight="400" font.family="2" font.pitDAT* ch="2" font.charset="0" background.mode="1" background.color="553648127" ) column(band=header id=16 alignment="0" tabsequence=32766 border="0" color="0" x="2359" y="212" height="64" width="640" format="[general]" html.valueishtml="0" name=reference_code visible="1" edit.limit=12 edit.case=any edit.focusrectangle=no edit.autoselect=yes edit.autohscroll=yes edit.imemode=0 font.face="Arial" font.height="-10" font.weight="400" font.family="2" font.pitch="2" font.charset="0" background.mode="1" bacDAT* kground.color="553648127" ) column(band=header id=17 alignment="0" tabsequence=32766 border="0" color="0" x="1170" y="212" height="64" width="603" format="dd-mmm-yyyy" html.valueishtml="0" name=start_date_time visible="1" edit.limit=0 edit.case=any edit.autoselect=yes edit.autohscroll=yes edit.imemode=0 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=header id=18 alignment="0" DAT* tabsequence=32766 border="0" color="0" x="1170" y="292" height="64" width="603" format="dd-mmm-yyyy" html.valueishtml="0" name=end_date_time visible="1" edit.limit=0 edit.case=any edit.autoselect=yes edit.autohscroll=yes edit.imemode=0 font.face="Arial" font.height="-10" font.weight="400" font.family="2" font.pitch="2" font.charset="0" background.mode="1" background.color="536870912" ) line(band=header x1="18" y1="372" x2="4407" y2="372" name=l_1 visible="1" pen.style="0" pen.width="5" pen.coDAT* lor="0" background.mode="1" background.color="536870912" ) column(band=header.2 id=1 alignment="1" tabsequence=32766 border="0" color="0" x="18" y="16" height="64" width="1426" format="[general]" html.valueishtml="0" name=nation_name visible="1" edit.limit=50 edit.case=any edit.autoselect=yes edit.autohscroll=yes edit.imemode=0 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" ) line(bDAT* and=header.3 x1="14" y1="80" x2="4402" y2="80" name=l_2 visible="1" pen.style="0" pen.width="5" pen.color="0" background.mode="1" background.color="536870912" ) column(band=header.3 id=2 alignment="0" tabsequence=32766 border="0" color="0" x="18" y="4" height="64" width="1399" format="[general]" html.valueishtml="0" name=state_name visible="1" edit.limit=0 edit.case=any edit.autoselect=yes edit.imemode=0 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" ) column(band=header.3 id=4 alignment="1" tabsequence=32766 border="0" color="0" x="1463" y="4" height="64" width="329" format="[general]" html.valueishtml="0" name=latitude_data visible="1" edit.limit=0 edit.case=any edit.autoselect=yes edit.autohscroll=yes edit.imemode=0 font.face="Arial" font.height="-10" font.weight="400" font.family="2" font.pitch="2" font.charset="0" background.mode="1" background.color="536870912" ) DAT* column(band=header.3 id=5 alignment="1" tabsequence=32766 border="0" color="0" x="1829" y="4" height="64" width="329" format="[general]" html.valueishtml="0" name=longitude_data visible="1" edit.limit=0 edit.case=any edit.autoselect=yes edit.autohscroll=yes edit.imemode=0 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=header.3 id=6 alignment="1" tabsequence=32766 border="0" colDAT* or="0" x="2194" y="4" height="64" width="329" format="[general]" html.valueishtml="0" name=zone_no visible="1" edit.limit=0 edit.case=any edit.autoselect=yes edit.autohscroll=yes edit.imemode=0 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=header.3 id=7 alignment="1" tabsequence=32766 border="0" color="0" x="2560" y="4" height="64" width="325" format="[general]" html.valueishtDAT* ml="0" name=northing_km_data visible="1" edit.limit=0 edit.case=any edit.autoselect=yes edit.autohscroll=yes edit.imemode=0 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=header.3 id=8 alignment="1" tabsequence=32766 border="0" color="0" x="2921" y="4" height="64" width="329" format="[general]" html.valueishtml="0" name=easting_km_data visible="1" edit.limit=0 edit.case=any edDAT* it.autoselect=yes edit.autohscroll=yes edit.imemode=0 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=header.3 id=3 alignment="0" tabsequence=32766 border="0" color="0" x="3287" y="4" height="64" width="402" format="[general]" html.valueishtml="0" name=coordinate_level_type visible="1" edit.limit=8 edit.case=any edit.autoselect=yes edit.autohscroll=yes edit.imemode=0 font.face=DAT* "Arial" font.height="-10" font.weight="400" font.family="2" font.pitch="2" font.charset="0" background.mode="1" background.color="536870912" ) column(band=header.4 id=11 alignment="0" tabsequence=32766 border="0" color="0" x="219" y="20" height="64" width="494" format="[general]" html.valueishtml="0" name=summary_category visible="1" edit.limit=8 edit.case=any edit.autoselect=yes edit.autohscroll=yes edit.imemode=0 font.face="MS Sans Serif" font.height="-8" font.weight="700" font.family="2" fDAT* ont.pitch="2" font.charset="0" background.mode="1" background.color="536870912" ) text(band=header.4 alignment="0" text=":" border="0" color="0" x="713" y="20" height="64" width="37" html.valueishtml="0" name=t_6 visible="1" slideleft=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=header.4 id=12 alignment="0" tabsequence=32766 border="0" color="0" x="786" y="20" heDAT* ight="64" width="731" format="[general]" html.valueishtml="0" name=summary_category_code visible="1" slideleft=yes edit.limit=10 edit.case=any edit.autoselect=yes edit.autohscroll=yes edit.imemode=0 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=13 alignment="0" tabsequence=32766 border="0" color="0" x="457" y="20" height="64" width="640" format="[general]" htDAT* ml.valueishtml="0" name=material_code visible="1" edit.limit=12 edit.case=any edit.autoselect=yes edit.autohscroll=yes edit.imemode=0 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=15 alignment="1" tabsequence=32766 border="0" color="0" x="1152" y="20" height="64" width="800" format="0.00E+00" html.valueishtml="0" name=rollup_amt visible="1" edit.limit=0 edit.DAT* case=any edit.autoselect=yes edit.autohscroll=yes edit.imemode=0 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=14 alignment="0" tabsequence=32766 border="0" color="0" x="2007" y="20" height="64" width="549" format="[general]" html.valueishtml="0" name=unit_code_1 visible="1" edit.limit=8 edit.case=any edit.autoselect=yes edit.autohscroll=yes edit.imemode=0 font.faceDAT* ="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=23 alignment="0" tabsequence=32766 border="0" color="0" x="2610" y="20" height="64" width="457" format="[general]" html.valueishtml="0" name=confidential_flag visible="1" edit.limit=1 edit.case=any edit.autoselect=yes edit.autohscroll=yes edit.imemode=0 font.face="Arial" font.height="-10" font.weight="400" font.family="2" font.piDAT*tch="2" font.charset="0" background.mode="1" background.color="536870912" ) htmltable(border="1" ) htmlgen(clientevents="1" clientvalidation="1" clientcomputedfields="1" clientformatting="0" clientscriptable="0" generatejavascript="1" netscapelayers="0" ) DAT* PDW0800pdwPlQ````7 F$nn``DAT*  @xn%DAT*  # compute_1$1<  $ 0%  MS Sans SerifMS Sans Serif$2$-8$400$ 536870912$DAT* 18$20$@64$421& dd-mmm-yyyy dd-mmm-yyyy()!"today()"$0`9&' ,.0247t_1< ( *$)DAT* -12$+700$-14$/T84$1P80$3%4389%56State Emissions by SIC CodeState Emissions by SIC Code"80nO%:;=?BMpage$<3767$DAT* >640&@A [general] [general]%CD('Page ' + page() + ' of ' + pageCount() ^EL ^FJ ^GIH Page K  of "N0`]9PQRTVX[t_2<  *$SDAT* 7823$U212$W[347%YZ Start Date: Start Date:"\0`hO^Q_Tacft_3$`71847$b507%deReference Code:Reference Code:"g0`q]iDAT* QRjVlot_4$k$292%mn End Date: End Date:"p0`zhrQ_jsuxt_5$t512%vwUnits:Units:"y0q{|jDAT* =? unit_code<} %~ArialArial$-10$ 553648127$7 2359"0z|T=?( DAT* reference_code"0|T(start_date_time$1170$[603"0|j(end_date_timeDAT* "0Pl_1$5$t372$74407@@XQ=? (DAT*  material_code$457"0|( rollup_amt$1152$ 800& 0.00E+00 0.00E+00"0|DAT* ?( unit_code_1$2007$%549"0|?(confidential_flag$2 2610"0@DAT* 4@@%reference_code ()start_date_time ()end_date_time ,@\DAT* Q?(2 nation_name$16$1426"0@% nation_name ,+'(@DAT* XP,00l_2$24402Q? state_name$4$w1399"0DAT* |(latitude_data$1463$I329& [general] [general]"0|(longitude_data$%1829DAT* "0| (  zone_no$ 2194" 0|(northing_km_data$ 2560$EDAT* 325"0|(easting_km_data$i 2921"0| "?(%$coordinate_level_type$! 3287$#DAT* 402"&0@%)* state_name 0,JKN@h-A6.,Q/1? (43summary_category$0DAT* 219$2494"50`A-7,Q8:<?t_6$9713$;%37%=>::"@06B,QCE? (HG summary_categDAT* ory_code$D786$F731"I0@%LMsummary_category  %OPsummary_category_code  Rkp~DAT* 33   DAT*       - A  zDAT*      DAT*     DSVY\_edbe h.sr%TUreference_code DAT* ()WXstart_date_time ()Z[end_date_time %]^ nation_name %`a state_name %cdsummary_category  %fgsummary_category_code  %ijmaterial_code  $l mnoDAT*  :refCode :fromDate:toDate :matCodel qrstuvwxyz{|}al_nationArrayal_stateArrayal_countyArrayal_sourceArrayal_sourceSub1Arrayal_sourceSub2Array fromDatetoDateas_nullas_ro unitCoderefCodematCode9 nation_namerap_geographic_locations.name state_name!rap_dm_geographic_DAT* locations.namecoordinate_level_type1rap_dm_geographic_locations.location_coord_levellatitude_data*rap_dm_geographic_locations.latitude_datalongitude_data+rap_dm_geographic_locations.longitude_datazone_no$rap_dm_geographic_locations.zone_nonorthing_km_data-rap_dm_geographic_locations.northing_km_dataeasting_km_data,rap_dm_geogrDAT* aphic_locations.easting_km_data rollup_levelrap_dm_emissions.rollup_levelrollup_ref_rid rap_dm_emissions.rollup_ref_ridsummary_category"rap_dm_emissions.summary_category-summary_category_code'rap_dm_emissions.summary_category_codeAmaterial_coderap_dm_emissions.material_code unit_coderap_dm_emissions.unit_codez rollup_amtDAT* rap_dm_emissions.rollup_amtreference_code rap_dm_emissions.reference_codestart_date_time!rap_dm_emissions.start_date_timeend_date_timerap_dm_emissions.end_date_timerap_dm_emissions_data_coderap_dm_emissions.data_coderap_dm_emissions_value_typerap_dm_emissions.value_type rap_dm_emissions_reference_type rap_dm_emissions.reference_typerap_dm_emissions_method_tyDAT* perap_dm_emissions.method_typeconfidential_flag#rap_dm_emissions.confidential_flag rap_dm_geographic_locations_rid rap_dm_geographic_locations.ridrap_geographic_locations_ridrap_geographic_locations.rid state_rid&rap_dm_geographic_locations.state_rid nation_rid$rap_geographic_locations.nation_rid PBSELECT( VERSION(400) TABLE(NAME="rap_dm_emissions" ) TABLE(NAME="rap_dm_geographic_locations" ALIAS="rap_dm_geographic_locations_DAT* a" ) TABLE(NAME="rap_geographic_locations" ALIAS="rap_dm_geographic_locations_b" ) COLUMN(NAME="rap_dm_geographic_locations_b.name") COLUMN(NAME="rap_dm_geographic_locations_a.name") COLUMN(NAME="rap_dm_geographic_locations_a.location_coord_level") COLUMN(NAME="rap_dm_geographic_locations_a.latitude_data") COLUMN(NAME="rap_dm_geographic_locations_a.longitude_data") COLUMN(NAME="rap_dm_geographic_locations_a.zone_no") COLUMN(NAME="rap_dm_geographic_locations_a.northing_km_data") COLUMN(NAME="rap_dDAT* m_geographic_locations_a.easting_km_data") COLUMN(NAME="rap_dm_emissions.rollup_level") COLUMN(NAME="rap_dm_emissions.rollup_ref_rid") COLUMN(NAME="rap_dm_emissions.summary_category") COLUMN(NAME="rap_dm_emissions.summary_category_code") COLUMN(NAME="rap_dm_emissions.material_code") COLUMN(NAME="rap_dm_emissions.unit_code") COLUMN(NAME="rap_dm_emissions.rollup_amt") COLUMN(NAME="rap_dm_emissions.reference_code") COLUMN(NAME="rap_dm_emissions.start_date_time") COLUMN(NAME="rap_dm_emissions.end_dateDAT* _time") COLUMN(NAME="rap_dm_emissions.data_code") COLUMN(NAME="rap_dm_emissions.value_type") COLUMN(NAME="rap_dm_emissions.reference_type") COLUMN(NAME="rap_dm_emissions.method_type") COLUMN(NAME="rap_dm_emissions.confidential_flag") COLUMN(NAME="rap_dm_geographic_locations_a.rid") COLUMN(NAME="rap_dm_geographic_locations_b.rid") COMPUTE(NAME="rap_dm_geographic_locations_a.rid as state_rid") COMPUTE(NAME="rap_dm_geographic_locations_b.rid as nation_rid") JOIN (LEFT="rap_dm_emissions.rollup_ref_DAT* rid" OP ="="RIGHT="rap_dm_geographic_locations_a.rid" ) JOIN (LEFT="rap_dm_geographic_locations_a.parent_rid" OP ="="RIGHT="rap_dm_geographic_locations_b.rid" )WHERE( EXP1 ="( ( rap_dm_geographic_locations_a.type" OP ="=" EXP2 ="'STATE' )" LOGIC ="and" ) WHERE( EXP1 ="( rap_dm_geographic_locations_b.type" OP ="=" EXP2 ="'NATION' )" LOGIC ="and" ) WHERE( EXP1 ="( rap_dm_emissions.summary_category" OP ="=" EXP2 ="'SIC' ) )" LOGIC ="and" ) WHERE( EXP1 ="raDAT* p_dm_emissions.reference_code" OP ="=" EXP2 ="" LOGIC ="and" ) WHERE( EXP1 ="rap_dm_emissions.start_date_time" OP =">=" EXP2 ="" LOGIC ="and" ) WHERE( EXP1 ="rap_dm_emissions.end_date_time" OP ="<=" EXP2 ="" LOGIC ="and" ) WHERE( EXP1 ="rap_dm_emissions.material_code" OP ="in" EXP2 ="()" ) ) ARG(NAME = "al_nationArray" TYPE = numberlist) ARG(NAME = "al_stateArray" TYPE = numberlist) ARG(NAME = "al_countyArray" TYPE = numberlist) ARG(NAME = "al_sourceArrDAT* ay" TYPE = numberlist) ARG(NAME = "al_sourceSub1Array" TYPE = numberlist) ARG(NAME = "al_sourceSub2Array" TYPE = numberlist) ARG(NAME = "fromDate" TYPE = datetime) ARG(NAME = "toDate" TYPE = datetime) ARG(NAME = "as_null" TYPE = string) ARG(NAME = "as_ro" TYPE = string) ARG(NAME = "unitCode" TYPE = string) ARG(NAME = "refCode" TYPE = string) ARG(NAME = "matCode" TYPE = stringlist) \DAT*c"1"1"1"1"0"0"0z9DAT* release 8; datawindow(units=0 timer_interval=0 color=16777215 processing=0 HTMLDW=no print.documentname="" print.orientation = 1 print.margin.left = 110 print.margin.right = 110 print.margin.top = 96 print.margin.bottom = 96 print.paper.source = 0 print.paper.size = 0 print.prompt=no print.buttons=no print.preview.buttons=no ) header(height=376 color="536870912" ) summary(height=0 color="536870912" ) footer(height=0 color="536870912" ) detail(height=88 color="536870912" ) table(column=(type=DAT* char(50) updatewhereclause=yes name=nation_name dbname="rap_geographic_locations.name" ) column=(type=char(50) updatewhereclause=yes name=state_name dbname="rap_dm_geographic_locations.name" ) column=(type=char(8) updatewhereclause=yes name=coordinate_level_type dbname="rap_dm_geographic_locations.location_coord_level" ) column=(type=decimal(4) updatewhereclause=yes name=latitude_data dbname="rap_dm_geographic_locations.latitude_data" ) column=(type=decimal(4) updatewhereclause=yes name=loDAT* ngitude_data dbname="rap_dm_geographic_locations.longitude_data" ) column=(type=decimal(0) updatewhereclause=yes name=zone_no dbname="rap_dm_geographic_locations.zone_no" ) column=(type=decimal(2) updatewhereclause=yes name=northing_km_data dbname="rap_dm_geographic_locations.northing_km_data" ) column=(type=decimal(2) updatewhereclause=yes name=easting_km_data dbname="rap_dm_geographic_locations.easting_km_data" ) column=(type=char(8) updatewhereclause=yes name=rollup_level dbname="rap_dmDAT* _emissions.rollup_level" ) column=(type=decimal(0) updatewhereclause=yes name=rollup_ref_rid dbname="rap_dm_emissions.rollup_ref_rid" ) column=(type=char(8) updatewhereclause=yes name=summary_category dbname="rap_dm_emissions.summary_category" ) column=(type=char(10) updatewhereclause=yes name=summary_category_code dbname="rap_dm_emissions.summary_category_code" ) column=(type=char(12) updatewhereclause=yes name=material_code dbname="rap_dm_emissions.material_code" ) column=(type=char(8)DAT*  updatewhereclause=yes name=unit_code dbname="rap_dm_emissions.unit_code" ) column=(type=decimal(11) updatewhereclause=yes name=rollup_amt dbname="rap_dm_emissions.rollup_amt" ) column=(type=char(12) updatewhereclause=yes name=reference_code dbname="rap_dm_emissions.reference_code" ) column=(type=datetime updatewhereclause=yes name=start_date_time dbname="rap_dm_emissions.start_date_time" ) column=(type=datetime updatewhereclause=yes name=end_date_time dbname="rap_dm_emissions.end_date_timDAT* e" ) column=(type=char(4) updatewhereclause=yes name=rap_dm_emissions_data_code dbname="rap_dm_emissions.data_code" ) column=(type=char(3) updatewhereclause=yes name=rap_dm_emissions_value_type dbname="rap_dm_emissions.value_type" ) column=(type=char(6) updatewhereclause=yes name=rap_dm_emissions_reference_type dbname="rap_dm_emissions.reference_type" ) column=(type=char(2) updatewhereclause=yes name=rap_dm_emissions_method_type dbname="rap_dm_emissions.method_type" ) column=(type=char(1DAT* ) updatewhereclause=yes name=confidential_flag dbname="rap_dm_emissions.confidential_flag" ) column=(type=decimal(0) updatewhereclause=yes name=rap_dm_geographic_locations_rid dbname="rap_dm_geographic_locations.rid" ) column=(type=decimal(0) updatewhereclause=yes name=rap_geographic_locations_rid dbname="rap_geographic_locations.rid" ) column=(type=decimal(0) updatewhereclause=yes name=state_rid dbname="rap_dm_geographic_locations.state_rid" ) column=(type=decimal(0) updatewhereclause=yesDAT*  name=nation_rid dbname="rap_geographic_locations.nation_rid" ) retrieve="PBSELECT( VERSION(400) TABLE(NAME=~"rap_dm_emissions~" ) TABLE(NAME=~"rap_dm_geographic_locations~" ALIAS=~"rap_dm_geographic_locations_a~" ) TABLE(NAME=~"rap_geographic_locations~" ALIAS=~"rap_dm_geographic_locations_b~" ) COLUMN(NAME=~"rap_dm_geographic_locations_b.name~") COLUMN(NAME=~"rap_dm_geographic_locations_a.name~") COLUMN(NAME=~"rap_dm_geographic_locations_a.location_coord_level~") COLUMN(NAME=~"rap_dm_geograpDAT* hic_locations_a.latitude_data~") COLUMN(NAME=~"rap_dm_geographic_locations_a.longitude_data~") COLUMN(NAME=~"rap_dm_geographic_locations_a.zone_no~") COLUMN(NAME=~"rap_dm_geographic_locations_a.northing_km_data~") COLUMN(NAME=~"rap_dm_geographic_locations_a.easting_km_data~") COLUMN(NAME=~"rap_dm_emissions.rollup_level~") COLUMN(NAME=~"rap_dm_emissions.rollup_ref_rid~") COLUMN(NAME=~"rap_dm_emissions.summary_category~") COLUMN(NAME=~"rap_dm_emissions.summary_category_code~") COLUMN(NAME=~"rap_dm_eDAT* missions.material_code~") COLUMN(NAME=~"rap_dm_emissions.unit_code~") COLUMN(NAME=~"rap_dm_emissions.rollup_amt~") COLUMN(NAME=~"rap_dm_emissions.reference_code~") COLUMN(NAME=~"rap_dm_emissions.start_date_time~") COLUMN(NAME=~"rap_dm_emissions.end_date_time~") COLUMN(NAME=~"rap_dm_emissions.data_code~") COLUMN(NAME=~"rap_dm_emissions.value_type~") COLUMN(NAME=~"rap_dm_emissions.reference_type~") COLUMN(NAME=~"rap_dm_emissions.method_type~") COLUMN(NAME=~"rap_dm_emissions.confidential_flag~") COLUDAT* MN(NAME=~"rap_dm_geographic_locations_a.rid~") COLUMN(NAME=~"rap_dm_geographic_locations_b.rid~") COMPUTE(NAME=~"rap_dm_geographic_locations_a.rid as state_rid~") COMPUTE(NAME=~"rap_dm_geographic_locations_b.rid as nation_rid~") JOIN (LEFT=~"rap_dm_emissions.rollup_ref_rid~" OP =~"=~"RIGHT=~"rap_dm_geographic_locations_a.rid~" ) JOIN (LEFT=~"rap_dm_geographic_locations_a.parent_rid~" OP =~"=~"RIGHT=~"rap_dm_geographic_locations_b.rid~" )WHERE( EXP1 =~"( ( rap_dm_geographic_locationsDAT* _a.type~" OP =~"=~" EXP2 =~"'STATE' )~" LOGIC =~"and~" ) WHERE( EXP1 =~"( rap_dm_geographic_locations_b.type~" OP =~"=~" EXP2 =~"'NATION' )~" LOGIC =~"and~" ) WHERE( EXP1 =~"( rap_dm_emissions.summary_category~" OP =~"=~" EXP2 =~"'SIC' ) )~" LOGIC =~"and~" ) WHERE( EXP1 =~"rap_dm_emissions.reference_code~" OP =~"=~" EXP2 =~":refCode~" LOGIC =~"and~" ) WHERE( EXP1 =~"rap_dm_emissions.start_date_time~" OP =~">=~" EXP2 =~":fromDate~" LOGIC =~"and~" DAT* ) WHERE( EXP1 =~"rap_dm_emissions.end_date_time~" OP =~"<=~" EXP2 =~":toDate~" LOGIC =~"and~" ) WHERE( EXP1 =~"rap_dm_emissions.material_code~" OP =~"in~" EXP2 =~"(:matCode)~" ) ) 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 = numberlisDAT* t) ARG(NAME = ~"fromDate~" TYPE = datetime) ARG(NAME = ~"toDate~" TYPE = datetime) ARG(NAME = ~"as_null~" TYPE = string) ARG(NAME = ~"as_ro~" TYPE = string) ARG(NAME = ~"unitCode~" TYPE = string) ARG(NAME = ~"refCode~" TYPE = string) ARG(NAME = ~"matCode~" TYPE = stringlist) " arguments=(("al_nationArray", numberlist),("al_stateArray", numberlist),("al_countyArray", numberlist),("al_sourceArray", numberlist),("al_sourceSub1Array", numberlist),("al_sourceSub2Array", numberlist),("fromDate", DAT* datetime),("toDate", datetime),("as_null", string),("as_ro", string),("unitCode", string),("refCode", string),("matCode", stringlist)) sort="reference_code A start_date_time A end_date_time A nation_name A state_name A summary_category A summary_category_code A material_code A " ) group(level=1 header.height=0 trailer.height=0 by=("reference_code" , "start_date_time" , "end_date_time" ) header.color="553648127" trailer.color="536870912" ) group(level=2 header.height=92 trailer.height=0 by=("natDAT* ion_name" ) header.color="553648127" trailer.color="536870912" ) group(level=3 header.height=88 trailer.height=0 by=("state_name" ) header.color="553648127" trailer.color="536870912" ) group(level=4 header.height=104 trailer.height=0 by=("summary_category" , "summary_category_code" ) header.color="553648127" trailer.color="553648127" ) compute(band=header alignment="0" expression="today()"border="0" color="0" x="18" y="20" height="64" width="421" format="dd-mmm-yyyy" html.valueishtml="0" name=DAT* compute_1 visible="1" 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" ) text(band=header alignment="2" text="State Emissions by SIC Code" border="0" color="0" x="14" y="84" height="80" width="4389" html.valueishtml="0" name=t_1 visible="1" font.face="MS Sans Serif" font.height="-12" font.weight="700" font.family="2" font.pitch="2" font.charset="0" font.underline="1" background.mode="DAT* 1" background.color="536870912" ) compute(band=header alignment="1" expression="'Page ' + page() + ' of ' + pageCount()"border="0" color="0" x="3767" y="20" height="64" width="640" format="[general]" html.valueishtml="0" name=page visible="1" 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" ) text(band=header alignment="0" text="Start Date:" border="0" color="0" x="823" y="212" height=DAT* "64" width="347" html.valueishtml="0" name=t_2 visible="1" 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="Reference Code:" border="0" color="0" x="1847" y="212" height="64" width="507" html.valueishtml="0" name=t_3 visible="1" font.face="MS Sans Serif" font.height="-8" font.weight="700" font.family="2" font.pitch="2" font.charset="0" backgrounDAT* d.mode="1" background.color="536870912" ) text(band=header alignment="0" text="End Date:" border="0" color="0" x="823" y="292" height="64" width="347" html.valueishtml="0" name=t_4 visible="1" 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="Units:" border="0" color="0" x="1847" y="292" height="64" width="512" html.valueishtml="0" name=t_5 visiblDAT* e="1" 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=header id=14 alignment="0" tabsequence=32766 border="0" color="0" x="2359" y="292" height="64" width="640" format="[general]" html.valueishtml="0" name=unit_code visible="1" edit.limit=0 edit.case=any edit.autoselect=yes edit.imemode=0 font.face="Arial" font.height="-10" font.weight="400" font.family="2" font.pitch="DAT* 2" font.charset="0" background.mode="1" background.color="553648127" ) column(band=header id=16 alignment="0" tabsequence=32766 border="0" color="0" x="2359" y="212" height="64" width="640" format="[general]" html.valueishtml="0" name=reference_code visible="1" edit.limit=12 edit.case=any edit.focusrectangle=no edit.autoselect=yes edit.autohscroll=yes edit.imemode=0 font.face="Arial" font.height="-10" font.weight="400" font.family="2" font.pitch="2" font.charset="0" background.mode="1" backgroDAT* und.color="553648127" ) column(band=header id=17 alignment="0" tabsequence=32766 border="0" color="0" x="1170" y="212" height="64" width="603" format="dd-mmm-yyyy" html.valueishtml="0" name=start_date_time visible="1" edit.limit=0 edit.case=any edit.autoselect=yes edit.autohscroll=yes edit.imemode=0 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=header id=18 alignment="0" tabsDAT* equence=32766 border="0" color="0" x="1170" y="292" height="64" width="603" format="dd-mmm-yyyy" html.valueishtml="0" name=end_date_time visible="1" edit.limit=0 edit.case=any edit.autoselect=yes edit.autohscroll=yes edit.imemode=0 font.face="Arial" font.height="-10" font.weight="400" font.family="2" font.pitch="2" font.charset="0" background.mode="1" background.color="536870912" ) line(band=header x1="18" y1="372" x2="4407" y2="372" name=l_1 visible="1" pen.style="0" pen.width="5" pen.color=DAT* "0" background.mode="1" background.color="536870912" ) column(band=header.2 id=1 alignment="1" tabsequence=32766 border="0" color="0" x="18" y="16" height="64" width="1426" format="[general]" html.valueishtml="0" name=nation_name visible="1" edit.limit=50 edit.case=any edit.autoselect=yes edit.autohscroll=yes edit.imemode=0 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" ) line(band=DAT*" header.3 x1="14" y1="80" x2="4402" y2="80" name=l_2 visible="1" pen.style="0" pen.width="5" pen.color="0" background.mode="1" background.color="536870912" ) column(band=header.3 id=2 alignment="0" tabsequence=32766 border="0" color="0" x="18" y="4" height="64" width="1399" format="[general]" html.valueishtml="0" name=state_name visible="1" edit.limit=0 edit.case=any edit.autoselect=yes edit.imemode=0 font.face="MS Sans Serif" font.height="-8" font.weight="700" font.family="2" font.pitch="2" DAT*$ font.charset="0" background.mode="1" background.color="536870912" ) column(band=header.3 id=4 alignment="1" tabsequence=32766 border="0" color="0" x="1463" y="4" height="64" width="329" format="[general]" html.valueishtml="0" name=latitude_data visible="1" edit.limit=0 edit.case=any edit.autoselect=yes edit.autohscroll=yes edit.imemode=0 font.face="Arial" font.height="-10" font.weight="400" font.family="2" font.pitch="2" font.charset="0" background.mode="1" background.color="536870912" ) coluDAT*& mn(band=header.3 id=5 alignment="1" tabsequence=32766 border="0" color="0" x="1829" y="4" height="64" width="329" format="[general]" html.valueishtml="0" name=longitude_data visible="1" edit.limit=0 edit.case=any edit.autoselect=yes edit.autohscroll=yes edit.imemode=0 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=header.3 id=6 alignment="1" tabsequence=32766 border="0" color="DAT*( 0" x="2194" y="4" height="64" width="329" format="[general]" html.valueishtml="0" name=zone_no visible="1" edit.limit=0 edit.case=any edit.autoselect=yes edit.autohscroll=yes edit.imemode=0 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=header.3 id=7 alignment="1" tabsequence=32766 border="0" color="0" x="2560" y="4" height="64" width="325" format="[general]" html.valueishtml="DAT** 0" name=northing_km_data visible="1" edit.limit=0 edit.case=any edit.autoselect=yes edit.autohscroll=yes edit.imemode=0 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=header.3 id=8 alignment="1" tabsequence=32766 border="0" color="0" x="2921" y="4" height="64" width="329" format="[general]" html.valueishtml="0" name=easting_km_data visible="1" edit.limit=0 edit.case=any edit.aDAT*, utoselect=yes edit.autohscroll=yes edit.imemode=0 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=header.3 id=3 alignment="0" tabsequence=32766 border="0" color="0" x="3287" y="4" height="64" width="402" format="[general]" html.valueishtml="0" name=coordinate_level_type visible="1" edit.limit=8 edit.case=any edit.autoselect=yes edit.autohscroll=yes edit.imemode=0 font.face="AriDAT*. al" font.height="-10" font.weight="400" font.family="2" font.pitch="2" font.charset="0" background.mode="1" background.color="536870912" ) column(band=header.4 id=11 alignment="0" tabsequence=32766 border="0" color="0" x="219" y="20" height="64" width="494" format="[general]" html.valueishtml="0" name=summary_category visible="1" edit.limit=8 edit.case=any edit.autoselect=yes edit.autohscroll=yes edit.imemode=0 font.face="MS Sans Serif" font.height="-8" font.weight="700" font.family="2" font.DAT*0 pitch="2" font.charset="0" background.mode="1" background.color="536870912" ) text(band=header.4 alignment="0" text=":" border="0" color="0" x="713" y="20" height="64" width="37" html.valueishtml="0" name=t_6 visible="1" slideleft=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=header.4 id=12 alignment="0" tabsequence=32766 border="0" color="0" x="786" y="20" heightDAT*2 ="64" width="731" format="[general]" html.valueishtml="0" name=summary_category_code visible="1" slideleft=yes edit.limit=10 edit.case=any edit.autoselect=yes edit.autohscroll=yes edit.imemode=0 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=13 alignment="0" tabsequence=32766 border="0" color="0" x="457" y="20" height="64" width="640" format="[general]" html.vDAT*4 alueishtml="0" name=material_code visible="1" edit.limit=12 edit.case=any edit.autoselect=yes edit.autohscroll=yes edit.imemode=0 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=15 alignment="1" tabsequence=32766 border="0" color="0" x="1152" y="20" height="64" width="800" format="0.00E+00" html.valueishtml="0" name=rollup_amt visible="1" edit.limit=0 edit.caseDAT*6 =any edit.autoselect=yes edit.autohscroll=yes edit.imemode=0 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=14 alignment="0" tabsequence=32766 border="0" color="0" x="2007" y="20" height="64" width="549" format="[general]" html.valueishtml="0" name=unit_code_1 visible="1" edit.limit=8 edit.case=any edit.autoselect=yes edit.autohscroll=yes edit.imemode=0 font.face="ArDAT*8 ial" 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=23 alignment="0" tabsequence=32766 border="0" color="0" x="2610" y="20" height="64" width="457" format="[general]" html.valueishtml="0" name=confidential_flag visible="1" edit.limit=1 edit.case=any edit.autoselect=yes edit.autohscroll=yes edit.imemode=0 font.face="Arial" font.height="-10" font.weight="400" font.family="2" font.pitch=DAT*"2" font.charset="0" background.mode="1" background.color="536870912" ) htmltable(border="1" ) htmlgen(clientevents="1" clientvalidation="1" clientcomputedfields="1" clientformatting="0" clientscriptable="0" generatejavascript="1" netscapelayers="0" ) DAT*< PDW0800pdwPlQ````7 F$nn``DAT*>  @xn%DAT*@  # compute_1$1<  $ 0%  MS Sans SerifMS Sans Serif$2$-8$400$ 536870912$DAT*B 18$20$@64$421& dd-mmm-yyyy dd-mmm-yyyy()!"today()"$0`7&' ,.025t_1< ( *$)DAT*D -12$+700$-T84$/P80$1%4389%34State Emissions TotalsState Emissions Totals"60nM%89;=@Kpage$:3767$<640&>DAT*F ? [general] [general]%AB('Page ' + page() + ' of ' + pageCount() ^CJ ^DH ^EGF Page I  of "L0`[7NOPRTVYt_2<  *$Q7823$SDAT*H 212$U[347%WX Start Date: Start Date:"Z0`fM\O]R_adt_3$^71847$`507%bcReference Code:Reference Code:"e0`o[gOPhDAT*J Tjmt_4$i$292%kl End Date: End Date:"n0`xfpO]hqsvt_5$r512%tuUnits:Units:"w0oyzh;= DAT*L  unit_code<{ ~ %|}ArialArial$-10$ 553648127$7 2359"0xzR;=( reference_code"DAT*N 0zR(start_date_time$1170$[603"0zh(end_date_time"0PDAT*P l_1$5$t372$74407@@XO;= ( material_code$DAT*R 457"0z( rollup_amt$1152$ 800& 0.00E+00 0.00E+00"0z=(DAT*T  unit_code_1$2007$%549"0z=(confidential_flag$2 2610"0@4DAT*V @@%reference_code ()start_date_time ()end_date_time ,@\DAT*X O=(2 nation_name$16$1426"0@% nation_name ,+'(@XDAT*Z P..l_2$14$24402O= state_name$4$w1399"0zDAT*\ (latitude_data$1463$I329& [general] [general]"0z(longitude_data$%1829DAT*^ "0z (  zone_no$ 2194" 0z(northing_km_data$ 2560$E325DAT*` "0z(easting_km_data$i 2921"0z "=(%$coordinate_level_type$! 3287$#DAT*b 402"&0@%)* state_name 0,JKN@h-A6.,O/1= (43summary_category$0219DAT*d $2494"50`A-7,O8:<?t_6$9713$;%37%=>::"@06B,OCE= (HG summary_category_codeDAT*f $D786$F731"I0@%LMsummary_category  %OPsummary_category_code  Rkp~DAT*h 33   DAT*j       - A  xDAT*l      DAT*n     D S\VY\_ebe hals%TUreference_code (DAT*p )WXstart_date_time ()Z[end_date_time %]^ nation_name %`a state_name %cdsummary_category  %fgsummary_category_code  %ijmaterial_code  $l mno DAT*r :refCode :fromDate:toDate :matCodel qrstuvwxyz{|}al_nationArrayal_stateArrayal_countyArrayal_sourceArrayal_sourceSub1Arrayal_sourceSub2Array fromDatetoDateas_nullas_ro unitCoderefCodematCode7 nation_namerap_geographic_locations.name state_name!rap_dm_geographic_locations.DAT*t namecoordinate_level_type1rap_dm_geographic_locations.location_coord_levellatitude_data*rap_dm_geographic_locations.latitude_datalongitude_data+rap_dm_geographic_locations.longitude_datazone_no$rap_dm_geographic_locations.zone_nonorthing_km_data-rap_dm_geographic_locations.northing_km_dataeasting_km_data,rap_dm_geographic_locaDAT*v tions.easting_km_data rollup_levelrap_dm_emissions.rollup_levelrollup_ref_rid rap_dm_emissions.rollup_ref_ridsummary_category"rap_dm_emissions.summary_category-summary_category_code'rap_dm_emissions.summary_category_codeAmaterial_coderap_dm_emissions.material_code unit_coderap_dm_emissions.unit_codex rollup_amtrap_dm_emDAT*x issions.rollup_amtreference_code rap_dm_emissions.reference_codestart_date_time!rap_dm_emissions.start_date_timeend_date_timerap_dm_emissions.end_date_timerap_dm_emissions_data_coderap_dm_emissions.data_coderap_dm_emissions_value_typerap_dm_emissions.value_type rap_dm_emissions_reference_type rap_dm_emissions.reference_typerap_dm_emissions_method_typerapDAT*z _dm_emissions.method_typeconfidential_flag#rap_dm_emissions.confidential_flag rap_dm_geographic_locations_rid rap_dm_geographic_locations.ridrap_geographic_locations_ridrap_geographic_locations.rid state_rid&rap_dm_geographic_locations.state_rid nation_rid$rap_geographic_locations.nation_rid PBSELECT( VERSION(400) TABLE(NAME="rap_dm_emissions" ) TABLE(NAME="rap_dm_geographic_locations" ALIAS="rap_dm_geographic_locations_a" ) TABLDAT*| E(NAME="rap_geographic_locations" ALIAS="rap_dm_geographic_locations_b" ) COLUMN(NAME="rap_dm_geographic_locations_b.name") COLUMN(NAME="rap_dm_geographic_locations_a.name") COLUMN(NAME="rap_dm_geographic_locations_a.location_coord_level") COLUMN(NAME="rap_dm_geographic_locations_a.latitude_data") COLUMN(NAME="rap_dm_geographic_locations_a.longitude_data") COLUMN(NAME="rap_dm_geographic_locations_a.zone_no") COLUMN(NAME="rap_dm_geographic_locations_a.northing_km_data") COLUMN(NAME="rap_dm_geographDAT*~ ic_locations_a.easting_km_data") COLUMN(NAME="rap_dm_emissions.rollup_level") COLUMN(NAME="rap_dm_emissions.rollup_ref_rid") COLUMN(NAME="rap_dm_emissions.summary_category") COLUMN(NAME="rap_dm_emissions.summary_category_code") COLUMN(NAME="rap_dm_emissions.material_code") COLUMN(NAME="rap_dm_emissions.unit_code") COLUMN(NAME="rap_dm_emissions.rollup_amt") COLUMN(NAME="rap_dm_emissions.reference_code") COLUMN(NAME="rap_dm_emissions.start_date_time") COLUMN(NAME="rap_dm_emissions.end_date_time") CODAT* LUMN(NAME="rap_dm_emissions.data_code") COLUMN(NAME="rap_dm_emissions.value_type") COLUMN(NAME="rap_dm_emissions.reference_type") COLUMN(NAME="rap_dm_emissions.method_type") COLUMN(NAME="rap_dm_emissions.confidential_flag") COLUMN(NAME="rap_dm_geographic_locations_a.rid") COLUMN(NAME="rap_dm_geographic_locations_b.rid") COMPUTE(NAME="rap_dm_geographic_locations_a.rid as state_rid") COMPUTE(NAME="rap_dm_geographic_locations_b.rid as nation_rid") JOIN (LEFT="rap_dm_emissions.rollup_ref_rid" OPDAT*  ="="RIGHT="rap_dm_geographic_locations_a.rid" ) JOIN (LEFT="rap_dm_geographic_locations_a.parent_rid" OP ="="RIGHT="rap_dm_geographic_locations_b.rid" )WHERE( EXP1 ="( ( rap_dm_geographic_locations_a.type" OP ="=" EXP2 ="'STATE' )" LOGIC ="and" ) WHERE( EXP1 ="( rap_dm_geographic_locations_b.type" OP ="=" EXP2 ="'NATION' )" LOGIC ="and" ) WHERE( EXP1 ="( rap_dm_emissions.summary_category" OP ="=" EXP2 ="'TOTAL' ) )" LOGIC ="and" ) WHERE( EXP1 ="rap_dm_emiDAT* ssions.reference_code" OP ="=" EXP2 ="" LOGIC ="and" ) WHERE( EXP1 ="rap_dm_emissions.start_date_time" OP =">=" EXP2 ="" LOGIC ="and" ) WHERE( EXP1 ="rap_dm_emissions.end_date_time" OP ="<=" EXP2 ="" LOGIC ="and" ) WHERE( EXP1 ="rap_dm_emissions.material_code" OP ="in" EXP2 ="()" ) ) ARG(NAME = "al_nationArray" TYPE = numberlist) ARG(NAME = "al_stateArray" TYPE = numberlist) ARG(NAME = "al_countyArray" TYPE = numberlist) ARG(NAME = "al_sourceArray" TYPEDAT*  = numberlist) ARG(NAME = "al_sourceSub1Array" TYPE = numberlist) ARG(NAME = "al_sourceSub2Array" TYPE = numberlist) ARG(NAME = "fromDate" TYPE = datetime) ARG(NAME = "toDate" TYPE = datetime) ARG(NAME = "as_null" TYPE = string) ARG(NAME = "as_ro" TYPE = string) ARG(NAME = "unitCode" TYPE = string) ARG(NAME = "refCode" TYPE = string) ARG(NAME = "matCode" TYPE = stringlist) \DAT*["1"1"1"1"0"0"0x7DAT* release 8; datawindow(units=0 timer_interval=0 color=16777215 processing=0 HTMLDW=no print.documentname="" print.orientation = 1 print.margin.left = 110 print.margin.right = 110 print.margin.top = 96 print.margin.bottom = 96 print.paper.source = 0 print.paper.size = 0 print.prompt=no print.buttons=no print.preview.buttons=no ) header(height=376 color="536870912" ) summary(height=0 color="536870912" ) footer(height=0 color="536870912" ) detail(height=88 color="536870912" ) table(column=(type=DAT* char(50) updatewhereclause=yes name=nation_name dbname="rap_geographic_locations.name" ) column=(type=char(50) updatewhereclause=yes name=state_name dbname="rap_dm_geographic_locations.name" ) column=(type=char(8) updatewhereclause=yes name=coordinate_level_type dbname="rap_dm_geographic_locations.location_coord_level" ) column=(type=decimal(4) updatewhereclause=yes name=latitude_data dbname="rap_dm_geographic_locations.latitude_data" ) column=(type=decimal(4) updatewhereclause=yes name=loDAT* ngitude_data dbname="rap_dm_geographic_locations.longitude_data" ) column=(type=decimal(0) updatewhereclause=yes name=zone_no dbname="rap_dm_geographic_locations.zone_no" ) column=(type=decimal(2) updatewhereclause=yes name=northing_km_data dbname="rap_dm_geographic_locations.northing_km_data" ) column=(type=decimal(2) updatewhereclause=yes name=easting_km_data dbname="rap_dm_geographic_locations.easting_km_data" ) column=(type=char(8) updatewhereclause=yes name=rollup_level dbname="rap_dmDAT* _emissions.rollup_level" ) column=(type=decimal(0) updatewhereclause=yes name=rollup_ref_rid dbname="rap_dm_emissions.rollup_ref_rid" ) column=(type=char(8) updatewhereclause=yes name=summary_category dbname="rap_dm_emissions.summary_category" ) column=(type=char(10) updatewhereclause=yes name=summary_category_code dbname="rap_dm_emissions.summary_category_code" ) column=(type=char(12) updatewhereclause=yes name=material_code dbname="rap_dm_emissions.material_code" ) column=(type=char(8)DAT*  updatewhereclause=yes name=unit_code dbname="rap_dm_emissions.unit_code" ) column=(type=decimal(11) updatewhereclause=yes name=rollup_amt dbname="rap_dm_emissions.rollup_amt" ) column=(type=char(12) updatewhereclause=yes name=reference_code dbname="rap_dm_emissions.reference_code" ) column=(type=datetime updatewhereclause=yes name=start_date_time dbname="rap_dm_emissions.start_date_time" ) column=(type=datetime updatewhereclause=yes name=end_date_time dbname="rap_dm_emissions.end_date_timDAT* e" ) column=(type=char(4) updatewhereclause=yes name=rap_dm_emissions_data_code dbname="rap_dm_emissions.data_code" ) column=(type=char(3) updatewhereclause=yes name=rap_dm_emissions_value_type dbname="rap_dm_emissions.value_type" ) column=(type=char(6) updatewhereclause=yes name=rap_dm_emissions_reference_type dbname="rap_dm_emissions.reference_type" ) column=(type=char(2) updatewhereclause=yes name=rap_dm_emissions_method_type dbname="rap_dm_emissions.method_type" ) column=(type=char(1DAT* ) updatewhereclause=yes name=confidential_flag dbname="rap_dm_emissions.confidential_flag" ) column=(type=decimal(0) updatewhereclause=yes name=rap_dm_geographic_locations_rid dbname="rap_dm_geographic_locations.rid" ) column=(type=decimal(0) updatewhereclause=yes name=rap_geographic_locations_rid dbname="rap_geographic_locations.rid" ) column=(type=decimal(0) updatewhereclause=yes name=state_rid dbname="rap_dm_geographic_locations.state_rid" ) column=(type=decimal(0) updatewhereclause=yesDAT*  name=nation_rid dbname="rap_geographic_locations.nation_rid" ) retrieve="PBSELECT( VERSION(400) TABLE(NAME=~"rap_dm_emissions~" ) TABLE(NAME=~"rap_dm_geographic_locations~" ALIAS=~"rap_dm_geographic_locations_a~" ) TABLE(NAME=~"rap_geographic_locations~" ALIAS=~"rap_dm_geographic_locations_b~" ) COLUMN(NAME=~"rap_dm_geographic_locations_b.name~") COLUMN(NAME=~"rap_dm_geographic_locations_a.name~") COLUMN(NAME=~"rap_dm_geographic_locations_a.location_coord_level~") COLUMN(NAME=~"rap_dm_geograpDAT* hic_locations_a.latitude_data~") COLUMN(NAME=~"rap_dm_geographic_locations_a.longitude_data~") COLUMN(NAME=~"rap_dm_geographic_locations_a.zone_no~") COLUMN(NAME=~"rap_dm_geographic_locations_a.northing_km_data~") COLUMN(NAME=~"rap_dm_geographic_locations_a.easting_km_data~") COLUMN(NAME=~"rap_dm_emissions.rollup_level~") COLUMN(NAME=~"rap_dm_emissions.rollup_ref_rid~") COLUMN(NAME=~"rap_dm_emissions.summary_category~") COLUMN(NAME=~"rap_dm_emissions.summary_category_code~") COLUMN(NAME=~"rap_dm_eDAT* missions.material_code~") COLUMN(NAME=~"rap_dm_emissions.unit_code~") COLUMN(NAME=~"rap_dm_emissions.rollup_amt~") COLUMN(NAME=~"rap_dm_emissions.reference_code~") COLUMN(NAME=~"rap_dm_emissions.start_date_time~") COLUMN(NAME=~"rap_dm_emissions.end_date_time~") COLUMN(NAME=~"rap_dm_emissions.data_code~") COLUMN(NAME=~"rap_dm_emissions.value_type~") COLUMN(NAME=~"rap_dm_emissions.reference_type~") COLUMN(NAME=~"rap_dm_emissions.method_type~") COLUMN(NAME=~"rap_dm_emissions.confidential_flag~") COLUDAT* MN(NAME=~"rap_dm_geographic_locations_a.rid~") COLUMN(NAME=~"rap_dm_geographic_locations_b.rid~") COMPUTE(NAME=~"rap_dm_geographic_locations_a.rid as state_rid~") COMPUTE(NAME=~"rap_dm_geographic_locations_b.rid as nation_rid~") JOIN (LEFT=~"rap_dm_emissions.rollup_ref_rid~" OP =~"=~"RIGHT=~"rap_dm_geographic_locations_a.rid~" ) JOIN (LEFT=~"rap_dm_geographic_locations_a.parent_rid~" OP =~"=~"RIGHT=~"rap_dm_geographic_locations_b.rid~" )WHERE( EXP1 =~"( ( rap_dm_geographic_locationsDAT* _a.type~" OP =~"=~" EXP2 =~"'STATE' )~" LOGIC =~"and~" ) WHERE( EXP1 =~"( rap_dm_geographic_locations_b.type~" OP =~"=~" EXP2 =~"'NATION' )~" LOGIC =~"and~" ) WHERE( EXP1 =~"( rap_dm_emissions.summary_category~" OP =~"=~" EXP2 =~"'TOTAL' ) )~" LOGIC =~"and~" ) WHERE( EXP1 =~"rap_dm_emissions.reference_code~" OP =~"=~" EXP2 =~":refCode~" LOGIC =~"and~" ) WHERE( EXP1 =~"rap_dm_emissions.start_date_time~" OP =~">=~" EXP2 =~":fromDate~" LOGIC =~"and~DAT* " ) WHERE( EXP1 =~"rap_dm_emissions.end_date_time~" OP =~"<=~" EXP2 =~":toDate~" LOGIC =~"and~" ) WHERE( EXP1 =~"rap_dm_emissions.material_code~" OP =~"in~" EXP2 =~"(:matCode)~" ) ) 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 = numberlDAT* ist) ARG(NAME = ~"fromDate~" TYPE = datetime) ARG(NAME = ~"toDate~" TYPE = datetime) ARG(NAME = ~"as_null~" TYPE = string) ARG(NAME = ~"as_ro~" TYPE = string) ARG(NAME = ~"unitCode~" TYPE = string) ARG(NAME = ~"refCode~" TYPE = string) ARG(NAME = ~"matCode~" TYPE = stringlist) " arguments=(("al_nationArray", numberlist),("al_stateArray", numberlist),("al_countyArray", numberlist),("al_sourceArray", numberlist),("al_sourceSub1Array", numberlist),("al_sourceSub2Array", numberlist),("fromDate"DAT* , datetime),("toDate", datetime),("as_null", string),("as_ro", string),("unitCode", string),("refCode", string),("matCode", stringlist)) sort="reference_code A start_date_time A end_date_time A nation_name A state_name A summary_category A summary_category_code A material_code A " ) group(level=1 header.height=0 trailer.height=0 by=("reference_code" , "start_date_time" , "end_date_time" ) header.color="553648127" trailer.color="536870912" ) group(level=2 header.height=92 trailer.height=0 by=("nDAT* ation_name" ) header.color="553648127" trailer.color="536870912" ) group(level=3 header.height=88 trailer.height=0 by=("state_name" ) header.color="553648127" trailer.color="536870912" ) group(level=4 header.height=104 trailer.height=0 by=("summary_category" , "summary_category_code" ) header.color="553648127" trailer.color="553648127" ) compute(band=header alignment="0" expression="today()"border="0" color="0" x="18" y="20" height="64" width="421" format="dd-mmm-yyyy" html.valueishtml="0" namDAT* e=compute_1 visible="1" 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" ) text(band=header alignment="2" text="State Emissions Totals" border="0" color="0" x="18" y="84" height="80" width="4389" html.valueishtml="0" name=t_1 visible="1" font.face="MS Sans Serif" font.height="-12" font.weight="700" font.family="2" font.pitch="2" font.charset="0" font.underline="1" background.mode="1" DAT* background.color="536870912" ) compute(band=header alignment="1" expression="'Page ' + page() + ' of ' + pageCount()"border="0" color="0" x="3767" y="20" height="64" width="640" format="[general]" html.valueishtml="0" name=page visible="1" 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" ) text(band=header alignment="0" text="Start Date:" border="0" color="0" x="823" y="212" height="64DAT* " width="347" html.valueishtml="0" name=t_2 visible="1" 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="Reference Code:" border="0" color="0" x="1847" y="212" height="64" width="507" html.valueishtml="0" name=t_3 visible="1" 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="End Date:" border="0" color="0" x="823" y="292" height="64" width="347" html.valueishtml="0" name=t_4 visible="1" 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="Units:" border="0" color="0" x="1847" y="292" height="64" width="512" html.valueishtml="0" name=t_5 visible="DAT* 1" 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=header id=14 alignment="0" tabsequence=32766 border="0" color="0" x="2359" y="292" height="64" width="640" format="[general]" html.valueishtml="0" name=unit_code visible="1" edit.limit=0 edit.case=any edit.autoselect=yes edit.imemode=0 font.face="Arial" font.height="-10" font.weight="400" font.family="2" font.pitch="2" DAT* font.charset="0" background.mode="1" background.color="553648127" ) column(band=header id=16 alignment="0" tabsequence=32766 border="0" color="0" x="2359" y="212" height="64" width="640" format="[general]" html.valueishtml="0" name=reference_code visible="1" edit.limit=12 edit.case=any edit.focusrectangle=no edit.autoselect=yes edit.autohscroll=yes edit.imemode=0 font.face="Arial" font.height="-10" font.weight="400" font.family="2" font.pitch="2" font.charset="0" background.mode="1" backgroundDAT* .color="553648127" ) column(band=header id=17 alignment="0" tabsequence=32766 border="0" color="0" x="1170" y="212" height="64" width="603" format="dd-mmm-yyyy" html.valueishtml="0" name=start_date_time visible="1" edit.limit=0 edit.case=any edit.autoselect=yes edit.autohscroll=yes edit.imemode=0 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=header id=18 alignment="0" tabsequDAT* ence=32766 border="0" color="0" x="1170" y="292" height="64" width="603" format="dd-mmm-yyyy" html.valueishtml="0" name=end_date_time visible="1" edit.limit=0 edit.case=any edit.autoselect=yes edit.autohscroll=yes edit.imemode=0 font.face="Arial" font.height="-10" font.weight="400" font.family="2" font.pitch="2" font.charset="0" background.mode="1" background.color="536870912" ) line(band=header x1="18" y1="372" x2="4407" y2="372" name=l_1 visible="1" pen.style="0" pen.width="5" pen.color="0"DAT*  background.mode="1" background.color="536870912" ) column(band=header.2 id=1 alignment="1" tabsequence=32766 border="0" color="0" x="18" y="16" height="64" width="1426" format="[general]" html.valueishtml="0" name=nation_name visible="1" edit.limit=50 edit.case=any edit.autoselect=yes edit.autohscroll=yes edit.imemode=0 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" ) line(band=heaDAT* der.3 x1="14" y1="80" x2="4402" y2="80" name=l_2 visible="1" pen.style="0" pen.width="5" pen.color="0" background.mode="1" background.color="536870912" ) column(band=header.3 id=2 alignment="0" tabsequence=32766 border="0" color="0" x="18" y="4" height="64" width="1399" format="[general]" html.valueishtml="0" name=state_name visible="1" edit.limit=0 edit.case=any edit.autoselect=yes edit.imemode=0 font.face="MS Sans Serif" font.height="-8" font.weight="700" font.family="2" font.pitch="2" fonDAT* t.charset="0" background.mode="1" background.color="536870912" ) column(band=header.3 id=4 alignment="1" tabsequence=32766 border="0" color="0" x="1463" y="4" height="64" width="329" format="[general]" html.valueishtml="0" name=latitude_data visible="1" edit.limit=0 edit.case=any edit.autoselect=yes edit.autohscroll=yes edit.imemode=0 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(DAT* band=header.3 id=5 alignment="1" tabsequence=32766 border="0" color="0" x="1829" y="4" height="64" width="329" format="[general]" html.valueishtml="0" name=longitude_data visible="1" edit.limit=0 edit.case=any edit.autoselect=yes edit.autohscroll=yes edit.imemode=0 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=header.3 id=6 alignment="1" tabsequence=32766 border="0" color="0" DAT* x="2194" y="4" height="64" width="329" format="[general]" html.valueishtml="0" name=zone_no visible="1" edit.limit=0 edit.case=any edit.autoselect=yes edit.autohscroll=yes edit.imemode=0 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=header.3 id=7 alignment="1" tabsequence=32766 border="0" color="0" x="2560" y="4" height="64" width="325" format="[general]" html.valueishtml="0" DAT*  name=northing_km_data visible="1" edit.limit=0 edit.case=any edit.autoselect=yes edit.autohscroll=yes edit.imemode=0 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=header.3 id=8 alignment="1" tabsequence=32766 border="0" color="0" x="2921" y="4" height="64" width="329" format="[general]" html.valueishtml="0" name=easting_km_data visible="1" edit.limit=0 edit.case=any edit.autoDAT* select=yes edit.autohscroll=yes edit.imemode=0 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=header.3 id=3 alignment="0" tabsequence=32766 border="0" color="0" x="3287" y="4" height="64" width="402" format="[general]" html.valueishtml="0" name=coordinate_level_type visible="1" edit.limit=8 edit.case=any edit.autoselect=yes edit.autohscroll=yes edit.imemode=0 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" ) column(band=header.4 id=11 alignment="0" tabsequence=32766 border="0" color="0" x="219" y="20" height="64" width="494" format="[general]" html.valueishtml="0" name=summary_category visible="1" edit.limit=8 edit.case=any edit.autoselect=yes edit.autohscroll=yes edit.imemode=0 font.face="MS Sans Serif" font.height="-8" font.weight="700" font.family="2" font.pitDAT* ch="2" font.charset="0" background.mode="1" background.color="536870912" ) text(band=header.4 alignment="0" text=":" border="0" color="0" x="713" y="20" height="64" width="37" html.valueishtml="0" name=t_6 visible="1" slideleft=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=header.4 id=12 alignment="0" tabsequence=32766 border="0" color="0" x="786" y="20" height="6DAT* 4" width="731" format="[general]" html.valueishtml="0" name=summary_category_code visible="1" slideleft=yes edit.limit=10 edit.case=any edit.autoselect=yes edit.autohscroll=yes edit.imemode=0 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=13 alignment="0" tabsequence=32766 border="0" color="0" x="457" y="20" height="64" width="640" format="[general]" html.valuDAT* eishtml="0" name=material_code visible="1" edit.limit=12 edit.case=any edit.autoselect=yes edit.autohscroll=yes edit.imemode=0 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=15 alignment="1" tabsequence=32766 border="0" color="0" x="1152" y="20" height="64" width="800" format="0.00E+00" html.valueishtml="0" name=rollup_amt visible="1" edit.limit=0 edit.case=anDAT* y edit.autoselect=yes edit.autohscroll=yes edit.imemode=0 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=14 alignment="0" tabsequence=32766 border="0" color="0" x="2007" y="20" height="64" width="549" format="[general]" html.valueishtml="0" name=unit_code_1 visible="1" edit.limit=8 edit.case=any edit.autoselect=yes edit.autohscroll=yes edit.imemode=0 font.face="ArialDAT* " 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=23 alignment="0" tabsequence=32766 border="0" color="0" x="2610" y="20" height="64" width="457" format="[general]" html.valueishtml="0" name=confidential_flag visible="1" edit.limit=1 edit.case=any edit.autoselect=yes edit.autohscroll=yes edit.imemode=0 font.face="Arial" font.height="-10" font.weight="400" font.family="2" font.pitch="2"DAT* font.charset="0" background.mode="1" background.color="536870912" ) htmltable(border="1" ) htmlgen(clientevents="1" clientvalidation="1" clientcomputedfields="1" clientformatting="0" clientscriptable="0" generatejavascript="1" netscapelayers="0" ) DAT* forward global type u_data_mart_export from userobject end type type st_status from statictext within u_data_mart_export end type type cb_export from commandbutton within u_data_mart_export end type type cb_select from commandbutton within u_data_mart_export end type type sle_dir from singlelineedit within u_data_mart_export end type type st_1 from statictext within u_data_mart_export end type type st_2 from statictext within u_data_mart_export end type type sle_name from singlelineDAT* edit within u_data_mart_export end type type rb_append from radiobutton within u_data_mart_export end type type rb_over from radiobutton within u_data_mart_export end type type rb_prompt from radiobutton within u_data_mart_export end type type gb_1 from groupbox within u_data_mart_export end type end forward global type u_data_mart_export from userobject integer width = 2386 integer height = 448 long backcolor = 67108864 string text = "none" long tabtextcolor = 33554432 long picDAT* turemaskcolor = 536870912 st_status st_status cb_export cb_export cb_select cb_select sle_dir sle_dir st_1 st_1 st_2 st_2 sle_name sle_name rb_append rb_append rb_over rb_over rb_prompt rb_prompt gb_1 gb_1 end type global u_data_mart_export u_data_mart_export on u_data_mart_export.create this.st_status=create st_status this.cb_export=create cb_export this.cb_select=create cb_select this.sle_dir=create sle_dir this.st_1=create st_1 this.st_2=create st_2 this.sle_name=create sDAT* le_name this.rb_append=create rb_append this.rb_over=create rb_over this.rb_prompt=create rb_prompt this.gb_1=create gb_1 this.Control[]={this.st_status,& this.cb_export,& this.cb_select,& this.sle_dir,& this.st_1,& this.st_2,& this.sle_name,& this.rb_append,& this.rb_over,& this.rb_prompt,& this.gb_1} end on on u_data_mart_export.destroy destroy(this.st_status) destroy(this.cb_export) destroy(this.cb_select) destroy(this.sle_dir) destroy(this.st_1) destroy(this.st_2) desDAT* troy(this.sle_name) destroy(this.rb_append) destroy(this.rb_over) destroy(this.rb_prompt) destroy(this.gb_1) end on type st_status from statictext within u_data_mart_export integer x = 1618 integer y = 208 integer width = 700 integer height = 80 integer textsize = -8 integer weight = 700 fontcharset fontcharset = ansi! fontpitch fontpitch = variable! fontfamily fontfamily = swiss! string facename = "Arial" long textcolor = 33554432 long backcolor = 80269524 alignment alignmentDAT*  = right! boolean border = true borderstyle borderstyle = StyleLowered! boolean focusrectangle = false end type type cb_export from commandbutton within u_data_mart_export integer x = 1614 integer y = 88 integer width = 700 integer height = 92 integer taborder = 110 integer textsize = -8 integer weight = 700 fontcharset fontcharset = ansi! fontpitch fontpitch = variable! fontfamily fontfamily = swiss! string facename = "MS Sans Serif" string text = "Export" end type type cb_DAT* select from commandbutton within u_data_mart_export integer x = 1202 integer y = 204 integer width = 370 integer height = 84 integer taborder = 20 integer textsize = -8 integer weight = 700 fontpitch fontpitch = variable! fontfamily fontfamily = swiss! string facename = "MS Sans Serif" string text = "Select..." end type event clicked;//int li_Start, li_Index //string ls_Dir //string ls_FullFile, ls_file_ext, ls_file_filter // //ls_fullfile = is_filename // //// Based on exportDAT*  type selected, variable is set and types of files //// to export are set to variables //choose case is_file_system // //***SDJ 10-28-97 Added RAPIDS - GLNPO Tables to end of line // case 'RAPIDS - Data Tables', 'RAPIDS - Reference Tables', 'RAPIDS - GLNPO Tables' // ls_file_ext = '' // ls_file_filter = "All Files (*.*),*.*" // case 'RAPIDS - NEI Export' // ls_file_ext = 'LOG' // ls_file_filter = "Log Files (*.LOG),*.LOG" // case 'GEMAP Area Sources' // ls_file_ext = 'AR' // lsDAT* _file_filter = "Output Files (*.AR),*.AR" // case 'GEMAP Point Sources' // ls_file_ext = 'PT' // ls_file_filter = "Output Files (*.PT),*.PT" //end choose // //if GetFileSaveName("Select Export Directory And File", ls_FullFile, & // is_FileName, ls_file_ext, ls_file_filter) = 1 then // // if is_file_system = "RAPIDS - NEI Export" then // if fileExists(ls_FullFile) then // cb_show_nei_log.enabled = true // else // cb_show_nei_log.enabled = false // end if // end if // // /DAT* / Parse out the directory name // li_Index = 0 // DO // li_Start = li_Index // li_Index = Pos(ls_FullFile, is_FileName, li_Start+1) // LOOP WHILE li_Index > 0 // ls_Dir = LEFT(ls_FullFile, li_Start - 1) // sle_dir.Text = trim(ls_Dir) // is_directory = trim(ls_Dir) // setProfileString(gs_iniFile, "export", "dir", is_directory) // // // Get rid of the file extension // li_Start = Pos(is_FileName, ".") // if li_Start > 1 then // is_FileName = LEFT(is_FileName, li_Start - 1) /DAT* / end if // sle_Name.Text = is_FileName // // // Update the export list with the new file names // lb_ExportList.TriggerEvent("SetList") // //end if end event type sle_dir from singlelineedit within u_data_mart_export integer x = 544 integer y = 92 integer width = 1033 integer height = 76 integer taborder = 10 integer textsize = -8 integer weight = 700 fontpitch fontpitch = variable! fontfamily fontfamily = swiss! string facename = "MS Sans Serif" long textcolor = 33554432 longDAT*  backcolor = 16777215 boolean enabled = false boolean displayonly = true borderstyle borderstyle = stylelowered! end type event constructor; //// Get export directory from ini file //This.Text = trim(ProfileString(gs_iniFile, "export", "dir", "")) //is_directory = This.Text // //if is_directory <> "" then // if not fileExists(is_directory) then // this.text = "" // is_directory = "" // end if //end if // end event type st_1 from statictext within u_data_mart_export integer xDAT*  = 82 integer y = 100 integer width = 453 integer height = 68 integer textsize = -8 integer weight = 700 fontpitch fontpitch = variable! fontfamily fontfamily = swiss! string facename = "MS Sans Serif" long backcolor = 80269524 boolean enabled = false string text = "Export Directory:" alignment alignment = right! boolean focusrectangle = false end type type st_2 from statictext within u_data_mart_export integer x = 55 integer y = 216 integer width = 457 integer height = 68 inDAT* teger textsize = -8 integer weight = 700 fontpitch fontpitch = variable! fontfamily fontfamily = swiss! string facename = "MS Sans Serif" long backcolor = 80269524 boolean enabled = false string text = "File Name Prefix:" alignment alignment = right! boolean focusrectangle = false end type type sle_name from singlelineedit within u_data_mart_export integer x = 544 integer y = 204 integer width = 489 integer height = 76 integer taborder = 10 integer textsize = -8 integer weight DAT* = 700 fontpitch fontpitch = variable! fontfamily fontfamily = swiss! string facename = "MS Sans Serif" long textcolor = 33554432 boolean enabled = false boolean autohscroll = false boolean displayonly = true borderstyle borderstyle = stylelowered! end type event constructor;//this.Text = is_FileName end event type rb_append from radiobutton within u_data_mart_export integer x = 334 integer y = 328 integer width = 302 integer height = 68 integer taborder = 70 integer textsize = DAT* -8 integer weight = 700 fontpitch fontpitch = variable! fontfamily fontfamily = swiss! string facename = "MS Sans Serif" long backcolor = 80269524 string text = "Append" end type type rb_over from radiobutton within u_data_mart_export integer x = 795 integer y = 328 integer width = 352 integer height = 68 integer taborder = 90 integer textsize = -8 integer weight = 700 fontpitch fontpitch = variable! fontfamily fontfamily = swiss! string facename = "MS Sans Serif" long backcolDAT* or = 80269524 string text = "Overwrite" boolean checked = true end type type rb_prompt from radiobutton within u_data_mart_export integer x = 1303 integer y = 328 integer width = 288 integer height = 76 integer taborder = 100 integer textsize = -8 integer weight = 700 fontpitch fontpitch = variable! fontfamily fontfamily = swiss! string facename = "MS Sans Serif" long backcolor = 80269524 string text = "Prompt" end type type gb_1 from groupbox within u_data_mart_export integDAT*er x = 18 integer y = 16 integer width = 2322 integer height = 404 integer taborder = 10 integer textsize = -8 integer weight = 700 fontcharset fontcharset = ansi! fontpitch fontpitch = variable! fontfamily fontfamily = swiss! string facename = "MS Sans Serif" long textcolor = 8388608 long backcolor = 80269524 string text = "Export Data Mart tables to tab-delimited files" end type DAT* y$1 B L V ` h m r { ! " # %] oR  @@1   yDAT* @           ! " # %2  2 xywidthheighttextsizeweightfontcharsetfontpitchfontfamilyfacenametextcolorbackcoloralignmentborderborderstylefocusrectangle@R DAT*  P")5?JS]gqx] oRP  @ DAT* 2  2 a xywidthheighttabordertextsizeweightfontcharsetfontpitchfontfamilyfacenametextN X \n"+2>HS\] oNX\n DAT*  @4,1(,$:d ::message@'  ""2  +clicked2 U xywidthheighttabordertextsizeweightfontpitchfontfamilyfacenametext  rTDAT* "+2<GP] orT @ @ "4,1(,$ d ::message@'DAT*   $L$2  +constructor2 xywidthheighttabordertextsizeweightfontpitchfontfamilyfacenametextcolorbackcolorenableddisplayonlyborderstyle,  \ L "+2<GPZdDAT* lx] o \ L  E@  @@@" $L2  2 w xywidthheighttextsizeweightfontpitchfontfamilyfacenamebackcolorenabledtextalDAT* ignmentfocusrectangleR d D")3>GQY^h] oRdD @ DAT* @2  2 w xywidthheighttextsizeweightfontpitchfontfamilyfacenamebackcolorenabledtextalignmentfocusrectangle7  D")3>GQY^hDAT* ] o7D @ @4,1(,$d ::message@'  $L$2  +constructor2 xywDAT*&idthheighttabordertextsizeweightfontpitchfontfamilyfacenametextcolorenabledautohscrolldisplayonlyborderstyle,   L "+2<GPZbnz] o L  DAT* !metric_codeDM CLRP!metric_level_typeDMP!creation_date_timeO!start_date_timeO!user_idP!comment_textNot PopulatedP!updated 4 < P X l t           0 8 H P t |  *,#8\,! ,!81DAT* X1L8,!,!81180,!,!8118P,!,!8118r,!,!81T18,!,!8118,!,!8118,!,!8118,!,! 81DAT* L14$18<8H0)X8`$18h8z0)8$183@3$@$@8)8$183@3$@$@8)8$183@3$@$@8)8$18,"1o@o8)8$18 80)(DAT* 80$11:@:@)H8P$)`8<,!,!!8111  & HX\h !""D%T&`'*+,/01456<<L=~>? @dABC4DlFGHMd> ll_rcgs_databasesqlcaora_cleardatamartgs_user_idd#@!@% DAT* >3"@h ORACLEtruncate table rap_dm_activitiestruncate table rap_dm_emissionstruncate table rap_dm_throughputstruncate table rap_dm_processestruncate table rap_dm_devicestruncate table rap_dm_source_geo_groupstruncate table rap_dm_sourcestruncate table rap_dm_geographic_locationsdw_data_mart_date!!metric_codeDM CLRsetitemPO!!metric_level_typeDMPO!!creation_date_timeOO!!start_date_timeOO!!eDAT* nd_date_timeOO!!user_idPO!!comment_textNot PopulatedPO!!setitemstatus8!!updatedX4 X `           ( 0 H P ` h%$$$6j@T8\0,!)8:F@@8)818080:)@@DAT* 8111j80,!)8)8<11180)$8,$48<z%)L8(@(8z(8Tz&)`8<1,!808h0:)@@8,!,!"8DAT* 1,!808|0:)@@81"2$6 "0Ld~!"$#@'X()-136F7d8t9z<=>?@EFI"J,M2OTd` lds_primarylds_targetls_exclude ll_rcll_rowll_copyrowls_statussqlca, " ",-8DAT*" >EP Z!@% st_statusnc#text_dmn_ds_dm_transfere r,"dataobjectHd_dm_geo_locationssettransobjectoretrieveErrorData retrieval failed.,"Hd_dm_geo_locations_outoof_dscopyEtransfer_post_copyof_processdata?# [+rowcountrra@]updateVData update failed.Database commit failed.DAT*# $ @T      $ , 4 L `   $$$68$:F@@8jTh8p0,!)8)8<111d$8z%80)8$8DAT*& g@?@PA,-g@g@g@8X@X@Dc@c@Q@@]`@`@gj@j@uk@k@l@l@m@m@@@@@@@@@q^@^@an@n@@@$@@2@@>@@H@@S@@^@@h@@t@@1o@o@o@o@o@o@o@q@q@%%+6 cF@F@!o@`olDAT*( au@u@d@d@v@v@*P u_data_mart_population_interface_olduserobjectuserobjectswindowobjectborderstylestructuremailrecipientenvironmentmailfiledescriptionmailmessagedatawindowchildlistviewitemtreeviewitemconnectioninfopowerobject |Hdatawindowdwobjectcommandbuttonfontcharsetfontpitchfontfamilystatictextalignmentfillpatterngroupboxof DKn_ds_cache_basen_DAT** ds_cache_unitsn_ds_dm_emissions DٷXDٷXDٷn_ds_conversion_basedatastoren_ds_dm_transferd_dm_population_dateMS Sans SerifRefresh Data MartArialData Marttransactionsqlcags_user_idgs_database,!execute CLEAR_DATA_MART ora_cleardatamarteLBPADAT*, f_sqlcheckpointeru_ds_basef_elapsedtimeextobjectdragobjectmessage,T|B Hx 2- u_data_mart_population_interface_old ` of_initializeof_cleardatamartof_transfergeoof_transfersourceof_transferdeviceof_transferprocessof_getrunof_mainof_resetblockof_getnextblockas_primarydataobjectas_targetdataobjectry_gas_excludeof_transferdataof_transferemissioDAT*. nscountyof_getgeoridsof_transferemissionsstateads_primaryads_targetidatataas_mapfrom+taas_maptoof_dscopymapas_operationof_processdatataal_ridarrayof_retrievetaof_dscopyof_updateof_loademissionsof_transferemissions_old2of_transferemissions     +create+destroy+constructor+destructor+clickedLXp4@LDAT*<Xdp0 IBLdtLSSS[]o2">#LdX|pIRCn_ds_conversion_base.RCdatastore.S[]S[]S[]yd2$>$LSRCn_ds_dm_transfer.RCn_ds_dm_transfer.2#LRCdatastore.L[]2">#IRCn_ds_conversion_base.RCdatastore.S[]>#LRCdatastore.Q<$p x) _iniDAT*2 forward global type u_data_mart_population_interface from userobject end type type dw_data_mart_date from datawindow within u_data_mart_population_interface end type type cb_1 from commandbutton within u_data_mart_population_interface end type type st_status from statictext within u_data_mart_population_interface end type type dw_error from datawindow within u_data_mart_population_interface end type type gb_1 from groupbox within u_data_mart_population_interface end type end forward DAT*4  global type u_data_mart_population_interface from userobject integer width = 2386 integer height = 360 boolean border = true long backcolor = 67108864 long tabtextcolor = 33554432 long picturemaskcolor = 536870912 dw_data_mart_date dw_data_mart_date cb_1 cb_1 st_status st_status dw_error dw_error gb_1 gb_1 end type global u_data_mart_population_interface u_data_mart_population_interface type variables datetime idt_startDateTime boolean ib_run = false long il_yieldBlock = 200DAT*6  n_ds_cache_base ids_sources n_ds_cache_units inv_units n_ds_cache_base ids_loccords n_ds_dm_emissions ids_primary n_ds_dm_emissions ids_target integer ii_blockSize = 50 integer ii_updateblocksize = 10 long il_block = 0 long il_startRow long il_endRow long il_sourceRidArray[] long il_nationRidArray[] long il_stateRidArray[] long il_countyRidArray[] //emissions special variable string is_exclude[] string is_rollupRidColumn string is_scanname end variables forward pDAT*8 rototypes public function integer of_initialize () public function integer of_cleardatamart () public function integer of_transfergeo () public function integer of_transfersource () public function integer of_transferdevice () public function integer of_transferprocess () public function boolean of_getrun () public function integer of_main () public function integer of_resetblock () public function long of_getnextblock () public function long of_transferdata (string as_primarydataobjectDAT*: , string as_targetdataobject, string as_exclude[]) public function integer of_transferemissionscounty () public function long of_getgeorids () public function integer of_transferemissionsstate () public function long of_processdata (string as_operation, ref n_ds_dm_transfer ads_primary, ref n_ds_dm_transfer ads_target) public function long of_retrieve (ref datastore ads_primary, long al_ridarray[]) public function long of_update (ref datastore ads_target) public function integer of_loademisDAT*< sions () public function integer of_transferemissions_old () public function integer of_transferemissions () public function integer of_dscopy (ref n_ds_conversion_base ads_primary, ref datastore ads_target, string as_exclude[]) public function integer of_dscopymap (ref n_ds_conversion_base ads_primary, ref datastore ads_target, string as_exclude[], string as_mapfrom[], string as_mapto[]) public function integer of_dscopyemissions (ref n_ds_conversion_base ads_primary, ref n_ds_dm_emissions aDAT*> ds_target, string as_exclude[], string as_scanname) public function integer of_dscopymapemissions (ref n_ds_conversion_base ads_primary, ref n_ds_dm_emissions ads_target, string as_exclude[], string as_mapfrom[], string as_mapto[], string as_scanname) end prototypes public function integer of_initialize (); long ll_rc string ls_metricCode ll_rc = dw_data_mart_date.setTransObject(sqlca) ll_rc = dw_data_mart_date.retrieve() if ll_rc < 0 then return -1 end if if ll_rc = 0 then DAT*@  ll_rc = dw_data_mart_date.insertRow(0) dw_data_mart_date.setItem(1, "rid", -1) dw_data_mart_date.setItem(1, "ref_rid", -1) dw_data_mart_date.setItem(1, "metric_code", "DM CLR") dw_data_mart_date.setItem(1, "metric_level_type", "DM") dw_data_mart_date.setItem(1, "creation_date_time", datetime(today(), now())) dw_data_mart_date.setItem(1, "start_date_time", datetime(today(), now())) dw_data_mart_date.setItem(1, "user_id", left(gs_user_id, 4)) dw_data_mart_date.setItem(1, "commDAT*B ent_text", "Not Populated") ll_rc = dw_data_mart_date.update() end if return 1 end function public function integer of_cleardatamart (); long ll_rc if gs_database = "ORACLE" then //oracle clear data mart procedure DECLARE ora_clearDataMart PROCEDURE FOR CLEAR_DATA_MART USING SQLCA ; EXECUTE ora_clearDataMart ; if f_sqlCheck(sqlca) < 0 then return -1 end if else // sql anywhere clear data mart procedure execute immediate "truncate table rap_dm_activDAT*D ities" using sqlca; if f_sqlCheck(sqlca) < 0 then return -1 end if execute immediate "truncate table rap_dm_emissions" using sqlca; if f_sqlCheck(sqlca) < 0 then return -1 end if execute immediate "truncate table rap_dm_throughputs" using sqlca; if f_sqlCheck(sqlca) < 0 then return -1 end if execute immediate "truncate table rap_dm_processes" using sqlca; if f_sqlCheck(sqlca) < 0 then return -1 end if execute immediate "truncate table rap_dm_devices"DAT*F  using sqlca; if f_sqlCheck(sqlca) < 0 then return -1 end if execute immediate "truncate table rap_dm_source_geo_groups" using sqlca; if f_sqlCheck(sqlca) < 0 then return -1 end if execute immediate "truncate table rap_dm_sources" using sqlca; if f_sqlCheck(sqlca) < 0 then return -1 end if execute immediate "truncate table rap_dm_geographic_locations" using sqlca; if f_sqlCheck(sqlca) < 0 then return -1 end if end if //load the data mart date/statuDAT*H s record back into activities table dw_data_mart_date.setItem(1, "metric_code", "DM CLR") dw_data_mart_date.setItem(1, "metric_level_type", "DM") dw_data_mart_date.setItem(1, "creation_date_time", datetime(today(), now())) dw_data_mart_date.setItem(1, "start_date_time", datetime(today(), now())) dw_data_mart_date.setItem(1, "end_date_time", datetime(today(), now())) dw_data_mart_date.setItem(1, "user_id", left(gs_user_id, 4)) dw_data_mart_date.setItem(1, "comment_text", "Not Populated") dwDAT*J _data_mart_date.setItemStatus(1, 0, primary!, newModified! ) ll_rc = dw_data_mart_date.update() COMMIT USING SQLCA; if f_sqlCheck(sqlca) < 0 then return -1 end if return 1 end function public function integer of_transfergeo (); //Transfer geographic information to the data mart n_ds_dm_transfer lds_primary n_ds_dm_transfer lds_target string ls_exclude[] long ll_rc long ll_row long ll_copyRow string ls_status ls_status = st_status.text //primary datastore lds_pDAT*L rimary = create n_ds_dm_transfer lds_primary.dataObject = "d_dm_geo_locations" lds_primary.setTransObject(sqlca) setPointer(hourglass!) ll_rc = lds_primary.retrieve() if ll_rc < 0 then messageBox("Error", "Data retrieval failed.", exclamation!) destroy lds_primary return -1 elseif ll_rc = 0 then destroy lds_primary return 1 //return normal status for no rows end if //target datastore lds_target = create n_ds_dm_transfer lds_target.dataObject = "d_dm_geo_locations_out" ldDAT*N s_target.setTransObject(sqlca) //copy data from primary datastore to target datastore ll_rc = this.of_dsCopy(lds_primary, lds_target, ls_exclude) if ll_rc = -2 then ll_rc = 0 //cancel return code for the driver function end if if ll_rc > 0 then //lookup coordinates for geographic items //do any post-copy processing on target ll_rc = this.of_processData("transfer_post_copy", lds_primary, lds_target) st_status.text = ls_status + " [+" + string(lds_target.rowCount()) + "]DAT*P " //update target datastore ll_rc = lds_target.update() if ll_rc < 0 then ROLLBACK USING SQLCA; messageBox("Error", "Data update failed.", exclamation!) end if COMMIT USING SQLCA; if f_sqlCheck(SQLCA) < 0 then ROLLBACK USING SQLCA; messageBox("Error", "Database commit failed.", exclamation!) ll_rc = -1 end if end if if isValid(lds_primary) then destroy lds_primary end if if isValid(lds_target) then destroy lds_target end if st_status.text = ls_DAT*R status return ll_rc end function public function integer of_transfersource (); //Transfer source information to the data mart n_ds_cache_base lds_primary n_ds_dm_transfer lds_target string ls_exclude[] long ll_rc long ll_row long ll_copyRow string ls_status ls_status = st_status.text //primary datastore lds_primary = ids_sources //the source datastore will be kept in memory //lds_primary = create u_ds_base //lds_primary.dataObject = "d_dm_sources" //lds_primary.setTranDAT*T sObject(sqlca) setPointer(hourglass!) //ll_rc = lds_primary.retrieve() //if ll_rc < 0 then // messageBox("Error", "Data retrieval failed.", exclamation!) // setNull(lds_primary) // destroy lds_primary // return -1 //elseif ll_rc = 0 then // setNull(lds_primary) // destroy lds_primary // return 1 //return normal status for no rows //end if //target datastore lds_target = create n_ds_dm_transfer lds_target.dataObject = "d_dm_sources_out" lds_target.setTransObject(sqlca) //DAT*V copy data from primary datastore to target datastore ll_rc = this.of_dsCopy(lds_primary, lds_target, ls_exclude) if ll_rc = -2 then ll_rc = 0 //cancel return code for the driver function end if if ll_rc > 0 then //lookup coordinates for geographic items //do any post-copy processing on target st_status.text = ls_status + " [Adding GIS Data...]" lds_target.of_scan("POPULATE GIS DATA") st_status.text = ls_status + " [+" + string(lds_target.rowCount()) + "]" //updDAT*X ate target datastore ll_rc = lds_target.update() if ll_rc < 0 then ROLLBACK USING SQLCA; messageBox("Error", "Data update failed.", exclamation!) else COMMIT USING SQLCA; if f_sqlCheck(SQLCA) < 0 then ROLLBACK USING SQLCA; messageBox("Error", "Database commit failed.", exclamation!) ll_rc = -1 end if end if end if if isValid(lds_primary) then setNull(lds_primary) destroy lds_primary end if if isValid(lds_target) then destroy lds_target enDAT*Z d if st_status.text = ls_status return ll_rc end function public function integer of_transferdevice (); //Transfer device information to the data mart n_ds_conversion_base lds_primary u_ds_base lds_target string ls_exclude[] long ll_rc //define columns to exclued from copy ls_exclude = {"sic_code"} ll_rc = this.of_transferData("d_dm_devices", "d_dm_devices_out", ls_exclude) return ll_rc //************************************** //primary datastore lds_primary =DAT*\  create n_ds_conversion_base lds_primary.dataObject = "d_dm_devices" lds_primary.setTransObject(sqlca) setPointer(hourglass!) ll_rc = this.of_retrieve(lds_primary, il_sourceRidArray) if ll_rc < 0 then destroy lds_primary return -1 elseif ll_rc = 0 then destroy lds_primary return 1 //return normal status for no rows end if //target datastore lds_target = create u_ds_base lds_target.dataObject = "d_dm_devices_out" lds_target.setTransObject(sqlca) //copy data from primarDAT*^ y datastore to target datastore ll_rc = this.of_dsCopy(lds_primary, lds_target, ls_exclude) if ll_rc = -2 then ll_rc = 0 //cancel return code for the driver function end if if ll_rc > 0 then //lookup coordinates for devices //update target datastore ll_rc = this.of_update(lds_target) end if if isValid(lds_primary) then destroy lds_primary end if if isValid(lds_target) then destroy lds_target end if return ll_rc end function public function integer of_trDAT*` ansferprocess (); //Transfer process information to the data mart n_ds_conversion_base lds_primary u_ds_base lds_target string ls_exclude[] long ll_rc long ll_row long ll_copyRow string ls_status ll_rc = this.of_transferData("d_dm_processes", "d_dm_processes_out", ls_exclude) return ll_rc //********************************************************************** ls_status = st_status.text //primary datastore lds_primary = create n_ds_conversion_base lds_primary.dataObjDAT*b ect = "d_dm_processes" lds_primary.setTransObject(sqlca) setPointer(hourglass!) ll_rc = lds_primary.retrieve(il_sourceRidArray) if ll_rc < 0 then messageBox("Error", "Data retrieval failed.", exclamation!) destroy lds_primary return -1 elseif ll_rc = 0 then destroy lds_primary return 1 //return normal status for no rows end if //target datastore lds_target = create u_ds_base lds_target.dataObject = "d_dm_processes_out" lds_target.setTransObject(sqlca) //copy data from DAT*d primary datastore to target datastore ll_rc = this.of_dsCopy(lds_primary, lds_target, ls_exclude) if ll_rc = -2 then ll_rc = 0 //cancel return code for the driver function end if if ll_rc > 0 then //lookup coordinates for geographic items st_status.text = ls_status + " [+" + string(lds_target.rowCount()) + "]" //update target datastore ll_rc = lds_target.update() if ll_rc < 0 then ROLLBACK USING SQLCA; messageBox("Error", "Data update failed.", exclamation!) DAT*f  end if COMMIT USING SQLCA; if f_sqlCheck(SQLCA) < 0 then ROLLBACK USING SQLCA; messageBox("Error", "Database commit failed.", exclamation!) ll_rc = -1 end if end if if isValid(lds_primary) then destroy lds_primary end if if isValid(lds_target) then destroy lds_target end if st_status.text = ls_status return ll_rc end function public function boolean of_getrun (); do while yield() //process any waiting mouse clicks, etc. loop if ib_run then reDAT*h turn true else return false end if end function public function integer of_main (); long ll_rc long ll_xfer datetime ldt_null long ll_oldtime long ll_newtime = 1 setNull(ldt_null) idt_startDateTime = datetime(today(), now()) st_status.text = "Starting..." ib_run = true ll_oldtime = GarbageCollectSetTimeLimit(ll_newtime) if this.of_getRun() then setPointer(hourglass!) //load unit conversion cache if inv_units.rowCount() <= 0 then ll_xfer = inv_units.retrieveDAT*j () if ll_xfer < 0 then messageBox("Error", "Units cache failed.", exclamation!) ib_run = false end if end if end if dw_data_mart_date.setItem(1, "metric_code", "DM UPD") dw_data_mart_date.setItem(1, "creation_date_time", datetime(today(), now())) dw_data_mart_date.setItem(1, "start_date_time", datetime(today(), now())) dw_data_mart_date.setItem(1, "end_date_time", ldt_null) dw_data_mart_date.setItem(1, "user_id", left(gs_user_id, 4)) dw_data_mart_date.setItem(1, "comment_tDAT*l ext", "Updating") ll_rc = dw_data_mart_date.update() if this.of_getRun() then setPointer(hourglass!) st_status.text = "Clearing Data Mart..." ll_xfer = this.of_clearDataMart() if ll_xfer < 0 then ib_run = false end if end if dw_data_mart_date.setItem(1, "metric_code", "DM UPD") dw_data_mart_date.setItem(1, "creation_date_time", datetime(today(), now())) dw_data_mart_date.setItem(1, "start_date_time", datetime(today(), now())) dw_data_mart_date.setItem(1, "end_date_tiDAT*n me", ldt_null) dw_data_mart_date.setItem(1, "user_id", left(gs_user_id, 4)) dw_data_mart_date.setItem(1, "comment_text", "Updating") ll_rc = dw_data_mart_date.update() //GEOGRAPHIC data if this.of_getRun() then setPointer(hourglass!) st_status.text = "Transferring Geo. Data..." ll_xfer = this.of_transferGeo() if ll_xfer < 0 then ib_run = false end if end if //SOURCE data if this.of_getRun() then setPointer(hourglass!) st_status.text = "Transferring Source DaDAT*p ta..." //retrieve the source primary datastore ll_xfer = ids_sources.retrieve() if ll_xfer < 0 then messageBox("Error", "Data retrieval failed.", exclamation!) ib_run = false end if if this.of_getRun() then ll_xfer = ids_sources.of_sort("geographic_county_rid") if ll_xfer < 0 then ib_run = false end if end if setPointer(hourglass!) if this.of_getRun() then ll_xfer = this.of_transferSource() if ll_xfer < 0 then ib_run = false end if end DAT*r if end if //DEVICE data this.of_resetBlock() if this.of_getRun() then ii_blockSize = 50 st_status.text = "Transferring Device Data..." do while true this.of_getNextBlock() if il_block = 0 then exit end if if this.of_getRun() then ll_xfer = this.of_transferDevice() if ll_xfer < 0 then ib_run = false exit end if end if loop end if //PROCESS data this.of_resetBlock() if this.of_getRun() then ii_blockSize =DAT*t  50 st_status.text = "Transferring Process Data..." do while true this.of_getNextBlock() if il_block = 0 then exit end if if this.of_getRun() then ll_xfer = this.of_transferProcess() if ll_xfer < 0 then ib_run = false exit end if end if loop end if //EMISSIONS data (rollup to source level) this.of_resetBlock() if this.of_getRun() then st_status.text = "Transferring Emissions Data..." ii_blockSize = 10 do whileDAT*v  true this.of_getNextBlock() if il_block = 0 then exit end if if this.of_getRun() then ll_xfer = this.of_transferEmissions() commit; garbagecollect() if ll_xfer < 0 then ib_run = false exit end if end if loop end if //GEOGRAPHIC rids if this.of_getRun() then //load the geographic rids into arrays ll_xfer = this.of_getGeoRids() if ll_xfer < 0 then ib_run = false end if end if //EMISSIONS data (roDAT*x llup to county level) if this.of_getRun() then st_status.text = "Transferring County Emissions Data..." ll_xfer = this.of_transferEmissionsCounty() if ll_xfer < 0 then ib_run = false end if end if //EMISSIONS data (rollup to county level) if this.of_getRun() then st_status.text = "Transferring State Emissions Data..." ll_xfer = this.of_transferEmissionsState() if ll_xfer < 0 then ib_run = false end if end if dw_data_mart_date.setItem(1, "end_DAT*z date_time", datetime(today(), now())) if ll_xfer < 0 then dw_data_mart_date.setItem(1, "metric_code", "DM ERR") dw_data_mart_date.setItem(1, "comment_text", "Error") st_status.text = "Transfer Error (" + f_elapsedTime(idt_startDateTime) + ")" elseif not this.of_getRun() then dw_data_mart_date.setItem(1, "metric_code", "DM CAN") dw_data_mart_date.setItem(1, "comment_text", "Cancelled") st_status.text = "Transfer Cancelled (" + f_elapsedTime(idt_startDateTime) + ")" else dw_data_marDAT*| t_date.setItem(1, "metric_code", "DM POP") dw_data_mart_date.setItem(1, "comment_text", "Populated") st_status.text = "Transfer Complete (" + f_elapsedTime(idt_startDateTime) + ")" end if ll_rc = dw_data_mart_date.update() COMMIT USING SQLCA; if f_sqlCheck(SQLCA) < 0 then ROLLBACK USING SQLCA; messageBox("Error", "Database commit failed.", exclamation!) ll_rc = -1 end if ib_run = false cb_1.text = "Refresh Data Mart" cb_1.enabled = true GarbageCollectSetTimeLimit(ll_oDAT*~ ldtime) return 1 end function public function integer of_resetblock ();long ll_empty[] //reset counters il_block = 0 il_startRow = 0 il_endRow = 0 //reset the source rid array il_sourceRidArray = ll_empty return 1 end function public function long of_getnextblock ();long ll_rc long ll_rowCount long ll_row long ll_index long ll_empty[] long ll_countyRid, ll_prevCountyRid //increment block indicator il_block ++ //determine start row for next block ll_rowCount DAT* = ids_sources.rowCount() il_startRow = il_endRow + 1 if il_startRow > ll_rowCount then //start row past the end of the buffer this.of_resetBlock() return il_block end if //determine the end row for the next block if il_startRow = ll_rowCount then //only one row left il_endRow = il_startRow elseif ii_blockSize = 0 then //block sources by county ll_prevCountyRid = ids_sources.object.geographic_county_rid[il_startRow] for ll_row = il_startRow + 1 to ll_rowCount ll_countyDAT* Rid = ids_sources.object.geographic_county_rid[ll_row] if ll_prevCountyRid <> ll_countyRid then il_endRow = ll_row - 1 exit end if ll_prevCountyRid = ll_countyRid next else //use fixed block size il_endRow += ii_blockSize end if if il_endRow > ll_rowCount then //end row past the end of the buffer il_endRow = ll_rowCount end if //reset the source rid array il_sourceRidArray = ll_empty //load the source rid array with values for current block if il_bDAT* lock > 0 then for ll_row = il_startRow to il_endRow ll_index ++ il_sourceRidArray[ll_index] = ids_sources.object.rid[ll_row] next end if return il_block end function public function long of_transferdata (string as_primarydataobject, string as_targetdataobject, string as_exclude[]); //Transfer information to the data mart n_ds_dm_transfer lds_primary n_ds_dm_transfer lds_target long ll_rc //primary datastore lds_primary = create n_ds_dm_transfer if not isValDAT* id(lds_primary) then messageBox("Error", "Failed creating primary datastore.", exclamation!) return -1 end if lds_primary.of_setDataType("", as_primaryDataObject) lds_primary.inv_units = this.inv_units setPointer(hourglass!) ll_rc = this.of_retrieve(lds_primary, il_sourceRidArray) if ll_rc < 0 then //retrieval error destroy lds_primary return -1 elseif ll_rc = 0 then //no rows destroy lds_primary return 1 //return normal status for no rows end if //do any post-retrieDAT* val processing on primary datastore ll_rc = this.of_processData("transfer_post_retrieve", lds_primary, lds_target) if ll_rc < 0 then //post-processing error destroy lds_primary return -1 elseif ll_rc = -2 then //operation cancelled destroy lds_primary return 0 //cancel return code for the driver function elseif lds_primary.rowCount() <= 0 then //no rows destroy lds_primary return 1 //return normal status for no rows end if //target datastore lds_target = create n_ds_dmDAT* _transfer if not isValid(lds_target) then messageBox("Error", "Failed creating target datastore.", exclamation!) destroy lds_primary return -1 end if lds_target.of_setDataType("", as_targetDataObject) //copy data from primary datastore to target datastore ll_rc = this.of_dsCopy(lds_primary, lds_target, as_exclude) if ll_rc = -2 then ll_rc = 0 //cancel return code for the driver function end if if ll_rc > 0 then //do any post-copy processing on target ll_rc = this.of_prDAT* ocessData("transfer_post_copy", lds_primary, lds_target) if ll_rc < 0 then //post-processing error destroy lds_primary destroy lds_target return -1 elseif ll_rc = -2 then //operation cancelled destroy lds_primary destroy lds_target return 0 //cancel return code for the driver function elseif lds_primary.rowCount() <= 0 then //no rows destroy lds_primary destroy lds_target return 1 //return normal status for no rows end if //update target datastore (bDAT* lock update does commit every 1000 rows, by default) ll_rc = lds_target.of_blockUpdate() end if if isValid(lds_primary) then destroy lds_primary end if if isValid(lds_target) then destroy lds_target end if return ll_rc end function public function integer of_transferemissionscounty (); //Transfer emissions information to the data mart n_ds_dm_emissions lds_primary n_ds_dm_emissions lds_target string ls_exclude[] string ls_empty[] long ll_rc long ll_row, ll_countyCoDAT* unt long ll_countyRid string ls_status string ls_statusMid string ls_rollupRidColumn n_ds_nei_cache_base lds_rollup string ls_scanname ls_status = st_status.text //primary datastore lds_primary = create n_ds_dm_emissions lds_primary.of_setDataType("", "d_dm_emissions_county") lds_primary.inv_units = this.inv_units lds_rollup = create n_ds_nei_cache_base lds_rollup.of_setDataType("", lds_primary.dataObject) lds_primary.ids_rollup = lds_rollup //target datastore lds_target = DAT* create n_ds_dm_emissions lds_target.of_setDataType("", "d_dm_emissions_out") ll_countyCount = upperBound(il_countyRidArray) for ll_row = 1 to ll_countyCount setPointer(hourglass!) ll_rc = lds_primary.retrieve(il_countyRidArray[ll_row], 'TOTAL') if ll_rc < 0 then messageBox("Error", "Data retrieval failed.", exclamation!) destroy lds_primary destroy lds_target return -1 elseif ll_rc = 0 then continue end if ls_rollupRidColumn = "county_rid" ls_scanname = "PDAT* OST_COPY_ROLLUP_" + upper(ls_rollupRidColumn) lds_primary.is_scanname = ls_scanname //set the null sic codes to NONE ll_rc = lds_primary.of_scan("PRE_COPY_ROLLUP_" + upper(ls_rollupRidColumn)) if ll_rc < 0 then destroy lds_primary destroy lds_target return ll_rc end if //COUNTY TOTALS ROLLUP // //set filter to get totals only // ll_rc = lds_primary.of_filter("summary_category = 'TOTAL'") // if ll_rc < 0 then // destroy lds_primary // destroy lds_target // reDAT* turn -1 // end if //reset the rollup datastore lds_primary.of_resetRollup() //set the sort keys for the current rollup lds_primary.of_resetBlockSortKeys() lds_primary.of_addBlockSortKey("reference_code a") lds_primary.of_addBlockSortKey("start_date_time a") lds_primary.of_addBlockSortKey(ls_rollupRidColumn + " a") lds_primary.of_addBlockSortKey("material_code a") //run block processing using the curent keys to sum the emissions for the block ll_rc = lds_primary.of_scDAT* anBlocks("SUM_ROLLUP_AMT", 0) if ll_rc < 0 then messageBox("Error", "County rollup failed.", exclamation!) destroy lds_primary destroy lds_target return -1 end if ls_exclude = {"sic_code"} //copy data from primary rollup datastore to target datastore ll_rc = this.of_dscopymapemissions(lds_primary.ids_rollup, lds_target, ls_exclude, {ls_rollupRidColumn}, {"rollup_ref_rid"},ls_scanname) if ll_rc = -2 then destroy lds_primary destroy lds_target return 0 //cancelDAT*  return code for the driver function end if //set the rollup level information in the target datastore ll_rc = lds_target.of_scan(ls_scanname) if ll_rc < 0 then destroy lds_primary destroy lds_target return ll_rc end if //save the target datastore if lds_target.rowCount() > 0 then st_status.text = ls_status + " [+" + string(lds_target.rowCount()) + "]" //update target datastore // //*** debug // lds_primary.saveAs("c:\lds_primary.txt", text!, trueDAT* ) // lds_primary.ids_rollup.saveAs("c:\ids_rollup.txt", text!, true) // lds_target.saveAs("c:\lds_target.txt", text!, true) ll_rc = lds_target.of_blockUpdate() if ll_rc < 0 then lds_target.is_sourceDataObject = lds_primary.dataObject messageBox("Error", "Data update failed.", exclamation!) destroy lds_primary destroy lds_target return -1 else commit; if f_sqlCheck(SQLCA) < 0 then ROLLBACK USING SQLCA; messageBox("Error", "Database commiDAT* t failed.", exclamation!) return -1 end if end if end if //release target datastore if isValid(lds_target) then lds_target.of_reset() end if //COUNTY SIC ROLLUP ls_scanname = "POST_COPY_ROLLUP_SIC_" + upper(ls_rollupRidColumn) lds_primary.is_scanname = ls_scanname // //set filter to get totals only // ll_rc = lds_primary.of_filter("summary_category = 'TOTAL'") // if ll_rc < 0 then // destroy lds_primary // destroy lds_target // return DAT* -1 // end if //reset the rollup datastore lds_primary.of_resetRollup() //set the sort keys for the current rollup lds_primary.of_resetBlockSortKeys() lds_primary.of_addBlockSortKey("reference_code a") lds_primary.of_addBlockSortKey("start_date_time a") lds_primary.of_addBlockSortKey(ls_rollupRidColumn + " a") lds_primary.of_addBlockSortKey("sic_code a") lds_primary.of_addBlockSortKey("material_code a") //run block processing using the curent keys to sum the emissionsDAT*  for the block ll_rc = lds_primary.of_scanBlocks("SUM_ROLLUP_AMT", 0) if ll_rc < 0 then messageBox("Error", "County SIC rollup failed.", exclamation!) destroy lds_primary destroy lds_target return -1 end if ls_exclude = ls_empty //copy data from primary rollup datastore to target datastore ll_rc = this.of_dscopymapemissions(lds_primary.ids_rollup, lds_target, ls_exclude, {ls_rollupRidColumn, "sic_code"}, {"rollup_ref_rid", "summary_category_code"},ls_scanname) if llDAT* _rc = -2 then destroy lds_primary destroy lds_target return 0 //cancel return code for the driver function end if //set the rollup level information in the target datastore ll_rc = lds_target.of_scan(ls_scanname) if ll_rc < 0 then destroy lds_primary destroy lds_target return ll_rc end if //save the target datastore if lds_target.rowCount() > 0 then st_status.text = ls_status + " [+" + string(lds_target.rowCount()) + "]" //update target datastoreDAT*  //*** debug // lds_primary.saveAs("c:\lds_primary.txt", text!, true) // lds_primary.ids_rollup.saveAs("c:\ids_rollup.txt", text!, true) // lds_target.saveAs("c:\lds_target.txt", text!, true) // ll_rc = lds_target.of_blockUpdate() if ll_rc < 0 then lds_target.is_sourceDataObject = lds_primary.dataObject messageBox("Error", "Data update failed.", exclamation!) destroy lds_primary destroy lds_target return -1 else commit; if f_sqlCheck(SQLCADAT* ) < 0 then ROLLBACK USING SQLCA; messageBox("Error", "Database commit failed.", exclamation!) return -1 end if end if end if //release target datastore if isValid(lds_target) then lds_target.of_reset() end if //COUNTY SCC ROLLUP ls_scanname = "POST_COPY_ROLLUP_SCC_" + upper(ls_rollupRidColumn) lds_primary.is_scanname = ls_scanname setPointer(hourglass!) ll_rc = lds_primary.retrieve(il_countyRidArray[ll_row], 'SCC') if ll_rc < 0 thDAT* en messageBox("Error", "Data retrieval failed.", exclamation!) destroy lds_primary destroy lds_target return -1 elseif ll_rc = 0 then continue end if // //set filter to get scc totals only // ll_rc = lds_primary.of_filter("summary_category = 'SCC'") // if ll_rc < 0 then // destroy lds_primary // destroy lds_target // return -1 // end if //reset the rollup datastore lds_primary.of_resetRollup() //set the sort keys for the current rollup lds_primary.of_DAT* resetBlockSortKeys() lds_primary.of_addBlockSortKey("reference_code a") lds_primary.of_addBlockSortKey("start_date_time a") lds_primary.of_addBlockSortKey(ls_rollupRidColumn + " a") lds_primary.of_addBlockSortKey("summary_category_code a") //contains the scc code lds_primary.of_addBlockSortKey("material_code a") //run block processing using the curent keys to sum the emissions for the block ll_rc = lds_primary.of_scanBlocks("SUM_ROLLUP_AMT", 0) if ll_rc < 0 then messageBox("EDAT* rror", "County SCC rollup failed.", exclamation!) destroy lds_primary destroy lds_target return -1 end if ls_exclude = {"sic_code"} //copy data from primary rollup datastore to target datastore ll_rc = this.of_dscopymapemissions(lds_primary.ids_rollup, lds_target, ls_exclude, {ls_rollupRidColumn}, {"rollup_ref_rid"},ls_scanname) if ll_rc = -2 then destroy lds_primary destroy lds_target return 0 //cancel return code for the driver function end if //set the rDAT* ollup level information in the target datastore ll_rc = lds_target.of_scan(ls_scanname) if ll_rc < 0 then destroy lds_primary destroy lds_target return ll_rc end if //save the target datastore if lds_target.rowCount() > 0 then st_status.text = ls_status + " [+" + string(lds_target.rowCount()) + "]" //update target datastore //*** debug // lds_primary.saveAs("c:\lds_primary.txt", text!, true) // lds_primary.ids_rollup.saveAs("c:\ids_rollup.txt", text!,DAT*  true) // lds_target.saveAs("c:\lds_target.txt", text!, true) ll_rc = lds_target.of_blockUpdate() if ll_rc < 0 then lds_target.is_sourceDataObject = lds_primary.dataObject messageBox("Error", "Data update failed.", exclamation!) destroy lds_primary destroy lds_target return -1 else commit; if f_sqlCheck(SQLCA) < 0 then ROLLBACK USING SQLCA; messageBox("Error", "Database commit failed.", exclamation!) return -1 end if end if DAT*  end if //release target datastore if isValid(lds_target) then lds_target.of_reset() end if next //county //release target datastore if isValid(lds_target) then lds_target.reset() end if commit; if isValid(lds_primary) then setnull(lds_primary) destroy lds_primary garbagecollect() end if if isValid(lds_rollup) then setnull(lds_rollup) destroy lds_rollup garbagecollect() end if if isValid(lds_target) then setnull(lds_target) destroy ldsDAT* _target garbagecollect() end if st_status.text = ls_status return ll_rc // // // ////***** ////primary datastore //lds_primary = create n_ds_dm_emissions //lds_primary.of_setDataType("", "d_dm_emissions_source") // //setPointer(hourglass!) //ll_rc = lds_primary.retrieve(il_sourceRidArray) //if ll_rc < 0 then // messageBox("Error", "Data retrieval failed.", exclamation!) // destroy lds_primary // return -1 //elseif ll_rc = 0 then // destroy lds_primary // return 1 //returnDAT*  normal status for no rows //end if // ////set filter to get totals only //ll_rc = lds_primary.of_filter("summary_category = 'TOTAL'") //if ll_rc < 0 then // destroy lds_primary // return -1 //end if // ////ll_rc = lds_primary.of_totals(ll_countyRid) //if ll_rc < 0 then // destroy lds_primary // return -1 //end if // // ////make sure we have rows //if lds_primary.rowCount() = 0 then // destroy lds_primary // return 1 //return normal status for no rows //end if // ////*** DAT*  //RETURN 1 // ////target datastore //lds_target = create n_ds_dm_emissions //lds_target.of_setDataType("", "d_dm_emissions_out") // //ls_exclude = {"metric_code", "metric_level_type", "process_rid", "device_rid", "source_rid", "county_rid", "scc_ams_code", "sic_code"} // ////copy data from primary datastore to target datastore //ll_rc = this.of_dsCopyemissions(lds_primary, lds_target, ls_exclude, "POST_COPY_ROLLUP_COUNTY_RID") //if ll_rc = -2 then // destroy lds_primary // destroy ldsDAT* _target // return 0 //cancel return code for the driver function //end if // ////set the rollup level information in the target datastore //ll_rc = lds_target.of_scan("POST_COPY_ROLLUP_COUNTY_RID") //if ll_rc < 0 then // destroy lds_primary // destroy lds_target // return ll_rc //end if // ////save the target datastore //if lds_target.rowCount() > 0 then // // st_status.text = ls_status + " [+" + string(lds_target.rowCount()) + "]" // // //update target datastore // ll_rc = ldsDAT* _target.update() // if ll_rc < 0 then // ROLLBACK USING SQLCA; // lds_target.is_sourceDataObject = lds_primary.dataObject // messageBox("Error", "Data update failed.", exclamation!) // destroy lds_primary // destroy lds_target // return -1 // end if // // COMMIT USING SQLCA; // if f_sqlCheck(SQLCA) < 0 then // ROLLBACK USING SQLCA; // messageBox("Error", "Database commit failed.", exclamation!) // destroy lds_primary // destroy lds_target // return -1 // end if // /DAT* /end if // // ////release target datastore //if isValid(lds_target) then // lds_target.reset() //end if // //commit; // // //if isValid(lds_primary) then // setnull(lds_primary) // destroy lds_primary // garbagecollect() //end if // //if isValid(lds_rollup) then // setnull(lds_rollup) // destroy lds_rollup // garbagecollect() //end if // //if isValid(lds_target) then // setnull(lds_target) // destroy lds_target // garbagecollect() //end if // // // //st_status.text =DAT*  ls_status // //return ll_rc end function public function long of_getgeorids (); long ll_rc long ll_row, ll_rowCount long ll_nationRid, ll_prevNationRid long ll_stateRid, ll_prevStateRid long ll_countyRid, ll_prevCountyRid long ll_arrayIndex n_ds_conversion_base lds_geo lds_geo = create n_ds_conversion_base lds_geo.of_setDataType("", "d_dm_geo_with_sources") ll_rc = lds_geo.retrieve() if ll_rc < 0 then messageBox("Error", "Failed retrieving geographic rids.", exclamation!)DAT*  destroy lds_geo return -1 end if ll_rc = lds_geo.of_sort("nation_rid a, state_rid a, county_rid a") if ll_rc < 0 then destroy lds_geo return -1 end if ll_rowCount = lds_geo.rowCount() for ll_row = 1 to ll_rowCount ll_nationRid = lds_geo.object.nation_rid[ll_row] ll_stateRid = lds_geo.object.state_rid[ll_row] ll_countyRid = lds_geo.object.county_rid[ll_row] if ll_nationRid <> ll_prevNationRid then ll_arrayIndex = upperbound(il_nationRidArray) + 1 il_nationRidDAT* Array[ll_arrayIndex] = ll_nationRid end if if ll_stateRid <> ll_prevStateRid then ll_arrayIndex = upperbound(il_stateRidArray) + 1 il_stateRidArray[ll_arrayIndex] = ll_stateRid end if if ll_countyRid <> ll_prevCountyRid then ll_arrayIndex = upperbound(il_countyRidArray) + 1 il_countyRidArray[ll_arrayIndex] = ll_countyRid end if ll_prevNationRid = ll_nationRid ll_prevStateRid = ll_stateRid ll_prevCountyRid = ll_countyRid next if isValid(lds_geo) then dDAT* estroy lds_geo end if return 1 end function public function integer of_transferemissionsstate (); //Transfer emissions information to the data mart n_ds_dm_emissions lds_primary n_ds_dm_emissions lds_target string ls_exclude[] string ls_empty[] long ll_rc long ll_row, ll_stateCount long ll_stateRid string ls_status string ls_statusMid string ls_rollupRidColumn n_ds_nei_cache_base lds_rollup string ls_scanname ls_status = st_status.text //primary datastore lds_primarDAT* y = create n_ds_dm_emissions lds_primary.of_setDataType("", "d_dm_emissions_state") lds_primary.inv_units = this.inv_units lds_rollup = create n_ds_nei_cache_base lds_rollup.of_setDataType("", lds_primary.dataObject) lds_primary.ids_rollup = lds_rollup //target datastore lds_target = create n_ds_dm_emissions lds_target.of_setDataType("", "d_dm_emissions_out") ll_stateCount = upperBound(il_stateRidArray) for ll_row = 1 to ll_stateCount setPointer(hourglass!) ll_rc = lds_primaDAT* ry.retrieve(il_stateRidArray[ll_row], 'TOTAL') if ll_rc < 0 then messageBox("Error", "Data retrieval failed.", exclamation!) destroy lds_primary destroy lds_target return -1 elseif ll_rc = 0 then continue end if ls_rollupRidColumn = "state_rid" //set the null sic codes to NONE ll_rc = lds_primary.of_scan("PRE_COPY_ROLLUP_" + upper(ls_rollupRidColumn)) if ll_rc < 0 then destroy lds_primary destroy lds_target return ll_rc end if //STATE TOTALDAT* S ROLLUP ls_scanname = "POST_COPY_ROLLUP_" + upper(ls_rollupRidColumn) lds_primary.is_scanname = ls_scanname // //set filter to get totals only // ll_rc = lds_primary.of_filter("summary_category = 'TOTAL'") // if ll_rc < 0 then // destroy lds_primary // destroy lds_target // return -1 // end if //reset the rollup datastore lds_primary.of_resetRollup() //set the sort keys for the current rollup lds_primary.of_resetBlockSortKeys() lds_primary.of_addBlockSortKey("refDAT* erence_code a") lds_primary.of_addBlockSortKey("start_date_time a") lds_primary.of_addBlockSortKey(ls_rollupRidColumn + " a") lds_primary.of_addBlockSortKey("material_code a") //run block processing using the curent keys to sum the emissions for the block ll_rc = lds_primary.of_scanBlocks("SUM_ROLLUP_AMT", 0) if ll_rc < 0 then messageBox("Error", "State rollup failed.", exclamation!) destroy lds_primary destroy lds_target return -1 end if ls_exclude = {"sic_code"}DAT*  //copy data from primary rollup datastore to target datastore ll_rc = this.of_dscopymapemissions(lds_primary.ids_rollup, lds_target, ls_exclude, {ls_rollupRidColumn}, {"rollup_ref_rid"},ls_scanname) if ll_rc = -2 then destroy lds_primary destroy lds_target return 0 //cancel return code for the driver function end if //set the rollup level information in the target datastore ll_rc = lds_target.of_scan(ls_scanname) if ll_rc < 0 then destroy lds_primary destroy ldsDAT* _target return ll_rc end if //save the target datastore if lds_target.rowCount() > 0 then st_status.text = ls_status + " [+" + string(lds_target.rowCount()) + "]" //update target datastore // //*** debug // lds_primary.saveAs("c:\lds_primary.txt", text!, true) // lds_primary.ids_rollup.saveAs("c:\ids_rollup.txt", text!, true) // lds_target.saveAs("c:\lds_target.txt", text!, true) ll_rc = lds_target.of_blockUpdate() if ll_rc < 0 then lds_tarDAT* get.is_sourceDataObject = lds_primary.dataObject messageBox("Error", "Data update failed.", exclamation!) destroy lds_primary destroy lds_target return -1 else commit; if f_sqlCheck(SQLCA) < 0 then ROLLBACK USING SQLCA; messageBox("Error", "Database commit failed.", exclamation!) return -1 end if end if end if //release target datastore if isValid(lds_target) then lds_target.of_reset() end if //STATE SIC ROLLUP ls_sDAT* canname = "POST_COPY_ROLLUP_SIC_" + upper(ls_rollupRidColumn) lds_primary.is_scanname = ls_scanname // //set filter to get totals only // ll_rc = lds_primary.of_filter("summary_category = 'TOTAL'") // if ll_rc < 0 then // destroy lds_primary // destroy lds_target // return -1 // end if //reset the rollup datastore lds_primary.of_resetRollup() //set the sort keys for the current rollup lds_primary.of_resetBlockSortKeys() lds_primary.of_addBlockSortKey("reference_coDAT* de a") lds_primary.of_addBlockSortKey("start_date_time a") lds_primary.of_addBlockSortKey(ls_rollupRidColumn + " a") lds_primary.of_addBlockSortKey("sic_code a") lds_primary.of_addBlockSortKey("material_code a") //run block processing using the curent keys to sum the emissions for the block ll_rc = lds_primary.of_scanBlocks("SUM_ROLLUP_AMT", 0) if ll_rc < 0 then messageBox("Error", "State SIC rollup failed.", exclamation!) destroy lds_primary destroy lds_target return DAT* -1 end if ls_exclude = ls_empty //copy data from primary rollup datastore to target datastore ll_rc = this.of_dscopymapemissions(lds_primary.ids_rollup, lds_target, ls_exclude, {ls_rollupRidColumn, "sic_code"}, {"rollup_ref_rid", "summary_category_code"},ls_scanname) if ll_rc = -2 then destroy lds_primary destroy lds_target return 0 //cancel return code for the driver function end if //set the rollup level information in the target datastore ll_rc = lds_target.of_DAT* scan(ls_scanname) if ll_rc < 0 then destroy lds_primary destroy lds_target return ll_rc end if //save the target datastore if lds_target.rowCount() > 0 then st_status.text = ls_status + " [+" + string(lds_target.rowCount()) + "]" //update target datastore // //*** debug // lds_primary.saveAs("c:\lds_primary.txt", text!, true) // lds_primary.ids_rollup.saveAs("c:\ids_rollup.txt", text!, true) // lds_target.saveAs("c:\lds_target.txt", text!, true) DAT*  ll_rc = lds_target.of_blockUpdate() if ll_rc < 0 then lds_target.is_sourceDataObject = lds_primary.dataObject messageBox("Error", "Data update failed.", exclamation!) destroy lds_primary destroy lds_target return -1 else commit; if f_sqlCheck(SQLCA) < 0 then ROLLBACK USING SQLCA; messageBox("Error", "Database commit failed.", exclamation!) return -1 end if end if end if //release target datastore if isValid(lds_target) tDAT* hen lds_target.of_reset() end if //STATE SCC ROLLUP ls_scanname = "POST_COPY_ROLLUP_SCC_" + upper(ls_rollupRidColumn) lds_primary.is_scanname = ls_scanname setPointer(hourglass!) ll_rc = lds_primary.retrieve(il_stateRidArray[ll_row], 'SCC') if ll_rc < 0 then messageBox("Error", "Data retrieval failed.", exclamation!) destroy lds_primary destroy lds_target return -1 elseif ll_rc = 0 then continue end if // //set filter to get scc totals only DAT* // ll_rc = lds_primary.of_filter("summary_category = 'SCC'") // if ll_rc < 0 then // destroy lds_primary // destroy lds_target // return -1 // end if //reset the rollup datastore lds_primary.of_resetRollup() //set the sort keys for the current rollup lds_primary.of_resetBlockSortKeys() lds_primary.of_addBlockSortKey("reference_code a") lds_primary.of_addBlockSortKey("start_date_time a") lds_primary.of_addBlockSortKey(ls_rollupRidColumn + " a") lds_primary.of_addBlockSDAT* ortKey("summary_category_code a") //contains the scc code lds_primary.of_addBlockSortKey("material_code a") //run block processing using the curent keys to sum the emissions for the block ll_rc = lds_primary.of_scanBlocks("SUM_ROLLUP_AMT", 0) if ll_rc < 0 then messageBox("Error", "State SCC rollup failed.", exclamation!) destroy lds_primary destroy lds_target return -1 end if ls_exclude = {"sic_code"} //copy data from primary rollup datastore to target datastore DAT*  ll_rc = this.of_dscopymapemissions(lds_primary.ids_rollup, lds_target, ls_exclude, {ls_rollupRidColumn}, {"rollup_ref_rid"},ls_scanname) if ll_rc = -2 then destroy lds_primary destroy lds_target return 0 //cancel return code for the driver function end if //set the rollup level information in the target datastore ll_rc = lds_target.of_scan(ls_scanname) if ll_rc < 0 then destroy lds_primary destroy lds_target return ll_rc end if //save the target datastore DAT*  if lds_target.rowCount() > 0 then st_status.text = ls_status + " [+" + string(lds_target.rowCount()) + "]" //update target datastore // //*** debug // lds_primary.saveAs("c:\lds_primary.txt", text!, true) // lds_primary.ids_rollup.saveAs("c:\ids_rollup.txt", text!, true) // lds_target.saveAs("c:\lds_target.txt", text!, true) ll_rc = lds_target.of_blockUpdate() if ll_rc < 0 then lds_target.is_sourceDataObject = lds_primary.dataObject messageBox("EDAT* rror", "Data update failed.", exclamation!) destroy lds_primary destroy lds_target return -1 else commit; if f_sqlCheck(SQLCA) < 0 then ROLLBACK USING SQLCA; messageBox("Error", "Database commit failed.", exclamation!) return -1 end if end if end if //release target datastore if isValid(lds_target) then lds_target.of_reset() end if next //state if isValid(lds_primary) then setnull(lds_primary) destroy lds_primary garDAT* bagecollect() end if if isValid(lds_rollup) then setnull(lds_rollup) destroy lds_rollup garbagecollect() end if if isValid(lds_target) then setnull(lds_target) destroy lds_target garbagecollect() end if st_status.text = ls_status return ll_rc // // ////***** ////primary datastore //lds_primary = create n_ds_dm_emissions //lds_primary.of_setDataType("", "d_dm_emissions_source") // //setPointer(hourglass!) //ll_rc = lds_primary.retrieve(il_sourceRidArray) //iDAT* f ll_rc < 0 then // messageBox("Error", "Data retrieval failed.", exclamation!) // destroy lds_primary // return -1 //elseif ll_rc = 0 then // destroy lds_primary // return 1 //return normal status for no rows //end if // ////set filter to get totals only //ll_rc = lds_primary.of_filter("summary_category = 'TOTAL'") //if ll_rc < 0 then // destroy lds_primary // return -1 //end if // ////ll_rc = lds_primary.of_totals(ll_stateRid) //if ll_rc < 0 then // destroy lds_primary // retDAT* urn -1 //end if // // ////make sure we have rows //if lds_primary.rowCount() = 0 then // destroy lds_primary // return 1 //return normal status for no rows //end if // ////*** //RETURN 1 // ////target datastore //lds_target = create n_ds_dm_emissions //lds_target.of_setDataType("", "d_dm_emissions_out") // //ls_exclude = {"metric_code", "metric_level_type", "process_rid", "device_rid", "source_rid", "county_rid", "state_rid", "scc_ams_code", "sic_code"} // ////copy data from pDAT* rimary datastore to target datastore //ll_rc = this.of_dsCopyemissions(lds_primary, lds_target, ls_exclude,"POST_COPY_ROLLUP_STATE_RID") //if ll_rc = -2 then // destroy lds_primary // destroy lds_target // return 0 //cancel return code for the driver function //end if // ////set the rollup level information in the target datastore //ll_rc = lds_target.of_scan("POST_COPY_ROLLUP_STATE_RID") //if ll_rc < 0 then // destroy lds_primary // destroy lds_target // return ll_rc //end if // /DAT* ///save the target datastore //if lds_target.rowCount() > 0 then // // st_status.text = ls_status + " [+" + string(lds_target.rowCount()) + "]" // // //update target datastore // ll_rc = lds_target.update() // // if ll_rc < 0 then // ROLLBACK USING SQLCA; // lds_target.is_sourceDataObject = lds_primary.dataObject // messageBox("Error", "Data update failed.", exclamation!) // destroy lds_primary // destroy lds_target // return -1 // end if // // COMMIT USING SQLCA; // ifDAT*  f_sqlCheck(SQLCA) < 0 then // ROLLBACK USING SQLCA; // messageBox("Error", "Database commit failed.", exclamation!) // destroy lds_primary // destroy lds_target // return -1 // end if // //end if // ////release target datastore //if isValid(lds_target) then // lds_target.reset() //end if // //commit; // //if isValid(lds_primary) then // setnull(lds_primary) // destroy lds_primary // garbagecollect() //end if // //if isValid(lds_rollup) then // setnull(lds_rollup) /DAT* / destroy lds_rollup // garbagecollect() //end if // //if isValid(lds_target) then // setnull(lds_target) // destroy lds_target // garbagecollect() //end if // //st_status.text = ls_status // //return ll_rc end function public function long of_processdata (string as_operation, ref n_ds_dm_transfer ads_primary, ref n_ds_dm_transfer ads_target); string as_dataobject, ls_status choose case as_operation case "transfer_post_copy" as_dataobject = lower(ads_target.dataobject) DAT*  choose case as_dataobject case "d_dm_devices_out", "d_dm_sources_out", "d_dm_geo_locations_out" ls_status = st_status.text st_status.text = ls_status + " [Adding GIS Data...]" ads_target.of_scan("POPULATE GIS DATA") end choose end choose return 1 end function public function long of_retrieve (ref datastore ads_primary, long al_ridarray[]); long ll_rc string ls_status ls_status = st_status.text st_status.text = ls_status + " [retrieving]" setPointeDAT* r(hourglass!) ll_rc = ads_primary.retrieve(al_ridArray) if ll_rc < 0 then messageBox("Error", "Data retrieval failed.", exclamation!) st_status.text = ls_status + " [error]" return -1 end if st_status.text = ls_status return ll_rc end function public function long of_update (ref datastore ads_target); long ll_rc string ls_status ls_status = st_status.text st_status.text = ls_status + " [+" + string(ads_target.rowCount()) + "]" //update target datastore ll_rc = adDAT*s_target.update() if ll_rc < 0 then ROLLBACK USING SQLCA; messageBox("Error", "Data update failed.", exclamation!) st_status.text = ls_status + " [error]" return ll_rc end if //commit updates to database COMMIT USING SQLCA; if f_sqlCheck(SQLCA) < 0 then ROLLBACK USING SQLCA; messageBox("Error", "Database commit failed.", exclamation!) st_status.text = ls_status + " [error]" return ll_rc end if st_status.text = ls_status return 1 end function public function intDAT*eger of_loademissions (); //n_ds_dm_emissions lds_primaryCopy string ls_exclude[] long ll_rc //primary datastore //lds_primary.inv_units = this.inv_units setPointer(hourglass!) //ll_rc = lds_primary.retrieve() ll_rc = ids_primary.of_retrieveappend(il_sourceRidArray) if ll_rc < 0 then messageBox("Error", "Data retrieval failed.", exclamation!) return -1 end if st_status.text = "Loading Emissions Data...[" + string(ids_primary.rowCount()) + "]" garbagecollect() return DAT*ll_rc end function public function integer of_transferemissions_old (); //Transfer emissions information to the data mart // //n_ds_dm_emissions ids_primaryCopy string ls_exclude[] long ll_rc long ll_rowCount string ls_status string ls_statusMid string ls_rollupRidColumn ls_status = st_status.text ls_exclude = {"metric_code", "metric_level_type", "process_rid", "device_rid", "source_rid", "scc_ams_code", "sic_code"} setPointer(hourglass!) ids_target.reset() //make sure weDAT* still have rows if ids_primary.rowCount() = 0 then return 1 //return normal status for no rows end if st_status.text = ls_status + " [Normalize...]" //normalize the emissions data //(handles start/end dates, value types, scc codes, sic codes, data codes) ll_rc = ids_primary.of_scan("NORMALIZE") if ll_rc < 0 then messageBox("Error", "Data normalization failed.", exclamation!) return -1 end if //*** debug // ids_primary.saveAs("c:\ids_primary_norm.txt", text!, true) // ids_prDAT*imary.ids_rollup.saveAs("c:\ids_rollup_norm.txt", text!, true) // ids_target.saveAs("c:\ids_target_norm.txt", text!, true) //make sure we still have rows if ids_primary.rowCount() = 0 then return 1 //return normal status for no rows end if if this.of_getRun() then return 0 st_status.text = ls_status + " [Prioritization...]" //prioritize records by data code and value type //we should end up with one record per //reference_code/start_date_time/process_rid/material_code combinationDAT*  ll_rc = ids_primary.of_prioritize() if ll_rc < 0 then messageBox("Error", "Data prioritization failed.", exclamation!) return -1 end if //*** debug //ids_primary.saveAs("c:\ids_primary_prio.txt", text!, true) //make sure we still have rows if ids_primary.rowCount() = 0 then return 1 //return normal status for no rows end if //target datastore ls_exclude = {"metric_code", "metric_level_type", "process_rid", "device_rid", "source_rid", "county_rid", "scc_ams_code", "sic_codDAT* e"} st_status.text = ls_status + " [Copy...]" //copy data from primary datastore to target datastore ll_rc = this.of_dsCopy(ids_primary, ids_target, ls_exclude) if ll_rc = -2 then return 0 //cancel return code for the driver function end if if this.of_getRun() then return 0 st_status.text = ls_status + " [Rollup...]" //set the rollup level information in the target datastore ll_rc = ids_target.of_scan("POST_COPY_ROLLUP_PROCESS_RID") if ll_rc < 0 then return ll_rc end if //savDAT*e the target datastore if ids_target.rowCount() > 0 then st_status.text = ls_status + " [+" + string(ids_target.rowCount()) + "]" //update target datastore ll_rc = ids_target.of_blockUpdate() //ll_rc = ids_target.update() if ll_rc < 0 then //ROLLBACK USING SQLCA; ids_target.is_sourceDataObject = ids_primary.dataObject messageBox("Error", "Data update failed.", exclamation!) return -1 end if // COMMIT USING SQLCA; // if f_sqlCheck(SQLCA) < 0 then // ROLLBACK UDAT*SING SQLCA; // messageBox("Error", "Database commit failed.", exclamation!) // return -1 // end if end if //release target datastore if isValid(ids_target) then ids_target.of_reset() end if if this.of_getRun() then return 0 ls_exclude = {"metric_code", "metric_level_type", "process_rid", "device_rid", "source_rid", "county_rid", "scc_ams_code", "sic_code", "data_code", "value_type", "method_type", "reference_type"} st_status.text = ls_status + " [SCC Rollup...]" //SOURCE LEVDAT*EL SCC ROLLUP ls_rollupRidColumn = "source_rid" //reset the rollup datastore ids_primary.of_resetRollup() //set the sort keys for the current rollup ids_primary.of_resetBlockSortKeys() ids_primary.of_addBlockSortKey("reference_code a") ids_primary.of_addBlockSortKey("start_date_time a") ids_primary.of_addBlockSortKey(ls_rollupRidColumn + " a") ids_primary.of_addBlockSortKey("scc_ams_code a") ids_primary.of_addBlockSortKey("material_code a") //run block processing using the curenDAT*t keys to sum the emissions for the block ll_rc = ids_primary.of_scanBlocks("SUM_ROLLUP_AMT", 0) if ll_rc < 0 then messageBox("Error", "Source SCC rollup failed.", exclamation!) return -1 end if if this.of_getRun() then return 0 st_status.text = ls_status + " [Copy...]" //copy data from primary rollup datastore to target datastore ll_rc = this.of_dsCopyMap(ids_primary.ids_rollup, ids_target, ls_exclude, {ls_rollupRidColumn, "scc_ams_code"}, {"rollup_ref_rid", "summary_category_code"}DAT*) if ll_rc = -2 then return 0 //cancel return code for the driver function end if //set the rollup level information in the target datastore ll_rc = ids_target.of_scan("POST_COPY_ROLLUP_SCC_" + upper(ls_rollupRidColumn)) if ll_rc < 0 then return ll_rc end if //save the target datastore if ids_target.rowCount() > 0 then st_status.text = ls_status + " [+" + string(ids_target.rowCount()) + "]" //update target datastore // //*** debug // ids_primary.saveAs("c:\ids_primarDAT*y.txt", text!, true) // ids_primary.ids_rollup.saveAs("c:\ids_rollup.txt", text!, true) // ids_target.saveAs("c:\ids_target.txt", text!, true) if this.of_getRun() then return 0 ll_rc = ids_target.of_blockUpdate() if ll_rc < 0 then ids_target.is_sourceDataObject = ids_primary.dataObject messageBox("Error", "Data update failed.", exclamation!) return -1 end if end if //release target datastore if isValid(ids_target) then ids_target.of_reset() end if //DEVICE ROLLDAT*UP //debug //ids_primary.saveAs("c:\ids_primary_inidev.txt", text!, true) st_status.text = ls_status + " [Device Rollup...]" ls_rollupRidColumn = "device_rid" //reset the rollup datastore ids_primary.of_resetRollup() //set the sort keys for the current rollup ids_primary.of_resetBlockSortKeys() ids_primary.of_addBlockSortKey("reference_code a") ids_primary.of_addBlockSortKey("start_date_time a") ids_primary.of_addBlockSortKey(ls_rollupRidColumn + " a") ids_primary.of_addBlockSortKeDAT*y("material_code a") //run block processing using the curent keys to sum the emissions for the block ll_rc = ids_primary.of_scanBlocks("SUM_ROLLUP_AMT", 0) if ll_rc < 0 then messageBox("Error", "Device rollup failed.", exclamation!) return -1 end if ////debug //ids_primary.saveAs("c:\ids_primary_sumrollup.txt", text!, true) //ids_primary.ids_rollup.saveAs("c:\ids_rollup_sumrollup.txt", text!, true) // //copy data from primary rollup datastore to target datastore if this.of_getRunDAT*() then return 0 st_status.text = ls_status + " [Copy...]" ll_rc = this.of_dsCopyMap(ids_primary.ids_rollup, ids_target, ls_exclude, {ls_rollupRidColumn}, {"rollup_ref_rid"}) if ll_rc = -2 then return 0 //cancel return code for the driver function end if //set the rollup level information in the target datastore ll_rc = ids_target.of_scan("POST_COPY_ROLLUP_" + upper(ls_rollupRidColumn)) if ll_rc < 0 then return ll_rc end if //save the target datastore if ids_target.rowCount() > 0DAT*  then if this.of_getRun() then return 0 st_status.text = ls_status + " [+" + string(ids_target.rowCount()) + "]" //update target datastore // //*** debug // ids_primary.saveAs("c:\ids_primary.txt", text!, true) // ids_primary.ids_rollup.saveAs("c:\ids_rollup.txt", text!, true) // ids_target.saveAs("c:\ids_target.txt", text!, true) ll_rc = ids_target.of_blockUpdate() if ll_rc < 0 then ids_target.is_sourceDataObject = ids_primary.dataObject messageBox("Error", "Data updaDAT*"te failed.", exclamation!) return -1 end if end if //release target datastore if isValid(ids_target) then ids_target.of_reset() end if if this.of_getRun() then return 0 st_status.text = ls_status + " [Rollup...]" //shift the data from the primary rollup datastore to the primary datastore ll_rc = ids_primary.of_reset() ll_rowCount = ids_primary.ids_rollup.rowCount() if ll_rowCount > 0 then ll_rc = ids_primary.ids_rollup.rowsMove(1, ll_rowCount, primary!, ids_primary, 1, primDAT*$ary!) end if ll_rowCount = ids_primary.rowCount() //SOURCE ROLLUP st_status.text = ls_status + " [Source...]" ls_rollupRidColumn = "source_rid" //reset the rollup datastore ids_primary.of_resetRollup() //set the sort keys for the current rollup ids_primary.of_resetBlockSortKeys() ids_primary.of_addBlockSortKey("reference_code a") ids_primary.of_addBlockSortKey("start_date_time a") ids_primary.of_addBlockSortKey(ls_rollupRidColumn + " a") ids_primary.of_addBlockSortKey("materiaDAT*&l_code a") //run block processing using the curent keys to sum the emissions for the block ll_rc = ids_primary.of_scanBlocks("SUM_ROLLUP_AMT", 0) if ll_rc < 0 then messageBox("Error", "Source rollup failed.", exclamation!) return -1 end if if this.of_getRun() then return 0 st_status.text = ls_status + " [Copy...]" //copy data from primary rollup datastore to target datastore ll_rc = this.of_dsCopyMap(ids_primary.ids_rollup, ids_target, ls_exclude, {ls_rollupRidColumn}, {"rollup_ref_rDAT*(id"}) if ll_rc = -2 then return 0 //cancel return code for the driver function end if //set the rollup level information in the target datastore ll_rc = ids_target.of_scan("POST_COPY_ROLLUP_" + upper(ls_rollupRidColumn)) if ll_rc < 0 then return ll_rc end if //save the target datastore if ids_target.rowCount() > 0 then if this.of_getRun() then return 0 st_status.text = ls_status + " [+" + string(ids_target.rowCount()) + "]" //update target datastore // //*** debug // DAT**ids_primary.saveAs("c:\ids_primary.txt", text!, true) // ids_primary.ids_rollup.saveAs("c:\ids_rollup.txt", text!, true) // ids_target.saveAs("c:\ids_target.txt", text!, true) if this.of_getRun() then return 0 ll_rc = ids_target.of_blockUpdate() if ll_rc < 0 then ids_target.is_sourceDataObject = ids_primary.dataObject messageBox("Error", "Data update failed.", exclamation!) return -1 end if end if commit; st_status.text = ls_status ids_target.reset() ids_primary.reseDAT*,t() garbagecollect() return ll_rc end function public function integer of_transferemissions (); //Transfer emissions information to the data mart n_ds_dm_emissions lds_primary n_ds_dm_emissions lds_target //n_ds_dm_emissions lds_primaryCopy string ls_exclude[] long ll_rc long ll_rowCount string ls_status string ls_statusMid string ls_rollupRidColumn string ls_scanname n_ds_nei_cache_base lds_rollup ls_status = st_status.text ls_exclude = {"metric_code", "metric_level_DAT*.type", "process_rid", "device_rid", "source_rid", "scc_ams_code", "sic_code"} //primary datastore lds_primary = create n_ds_dm_emissions lds_primary.inv_units = this.inv_units lds_rollup = create n_ds_nei_cache_base lds_rollup.of_setDataType("", lds_primary.dataObject) lds_primary.ids_rollup = lds_rollup setPointer(hourglass!) //ll_rc = lds_primary.retrieve() ll_rc = lds_primary.retrieve(il_sourceRidArray) if ll_rc < 0 then messageBox("Error", "Data retrieval failed.", exclamation!DAT*) destroy lds_primary return -1 elseif ll_rc = 0 then destroy lds_primary return 1 //return normal status for no rows end if //*** debug // lds_primary.saveAs("c:\lds_primary_ini.txt", text!, true) // lds_primary.ids_rollup.saveAs("c:\ids_rollup_ini.txt", text!, true) //lds_target.saveAs("c:\lds_target_ini.txt", text!, true) //throw out records without downstream discharge metric ll_rc = lds_primary.of_discardByStringArray("metric_code", {"DOWNSTRMDIS"}) if ll_rc < 0 then DAT*2uence=32766 border="0" color="0" x="10025" y="0" height="64" width="430" format="[general]" html.valueishtml="0" name=scc_ams_code visible="1" edit.limit=0 edit.case=any edit.autoselect=yes edit.imemode=0 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=19 alignment="0" tabsequence=32766 border="0" color="0" x="10464" y="0" height="64" width="165" format="[generaDAT*l]" html.valueishtml="0" name=sic_code visible="1" edit.limit=0 edit.case=any edit.autoselect=yes edit.imemode=0 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" ) htmlgen(clientevents="1" clientvalidation="1" clientcomputedfields="1" clientformatting="0" clientscriptable="0" generatejavascript="1" netscapelayers="0" ) DAT*6_processes" ) TABLE(NAME="rap_devices" ) TABLE(NAME="rap_sources" ) COLUMN(NAME="rap_activities.metric_code") COLUMN(NAME="rap_activities.metric_level_type") COLUMN(NAME="rap_activities.ref_rid") COLUMN(NAME="rap_activities.start_date_time") COLUMN(NAME="rap_activities.confidential_flag") COLUMN(NAME="rap_activities.data_code") COLUMN(NAME="rap_activities.end_date_time") COLUMN(NAME="rap_activities.material_code") COLUMN(NAME="rap_activities.method_type") COLUMN(NAME="rap_activities.reference_coDAT*8de") COLUMN(NAME="rap_activities.reference_type") COLUMN(NAME="rap_activities.value_amt") COLUMN(NAME="rap_activities.value_type") COLUMN(NAME="rap_activities.value_unit_code") COLUMN(NAME="rap_processes.rid") COLUMN(NAME="rap_devices.rid") COLUMN(NAME="rap_sources.rid") COLUMN(NAME="rap_processes.scc_ams_code") COLUMN(NAME="rap_sources.sic_code") JOIN (LEFT="rap_activities.ref_rid" OP ="="RIGHT="rap_streams.rid" ) JOIN (LEFT="rap_processes.rid" OP ="="RIGHT="rap_streams.from_process_rDAT*:id" ) JOIN (LEFT="rap_devices.rid" OP ="="RIGHT="rap_processes.device_rid" ) JOIN (LEFT="rap_devices.source_rid" OP ="="RIGHT="rap_sources.rid" )WHERE( EXP1 ="rap_sources.rid" OP ="in" EXP2 ="" LOGIC ="and" ) WHERE( EXP1 ="rap_activities.metric_code" OP ="=" EXP2 ="'DOWNSTRMDIS'" ) ) ARG(NAME = "an_sourceRidArray" TYPE = numberlist) \"DAT*1"1"1"1"0"0"0DAT*>tsrcuserobjectu_data_mart_population_interface_olduserobjectswindowobjectborderstylestructuremailrecipientenvironmentmailfiledescriptionmailmessagedatawindowchildlistviewitemtreeviewitemconnectioninfopowerobjectdatawindowdw_data_mart_datedwobjectcommandbuttoncb_1fontcharsetfontpitchfontfamilystatictextst_statusalignmentfillpatterndw_errorgroupboxgb_1n_ds_cache_basen_ds_cache_unitsn_ds_dm_emissionsn_ds_conversion_basedatastoren_ds_dm_transfertransactionpointerDAT*@u_ds_baseextobjectdragobjectmessage\@A@M@Z@f@p@~@@ @ @ @trow i@urce @io@arra@il_say _c@yrid@#n(lu@colu4na@uDAT*Bffe>@I@T!^@h@t!}@<@j1@@Rowsed@ne eo@@P se@%8@&@ (@$)z@z!*@ DAT*G< 6!y%-. y%%     $,!)48<<$)P81l11X$1)l8DAT*Fg@ @OA-1g@g@g@<X@X@Hc@c@U@@a`@`@kj@j@yk@k@l@l@m@m@@@@@A@@@@^@^@n@n@@@(@@@6@@B@@L@@W@@b@@l@@Ax@@@o@o@Ao@o@o@@q@q@# _iligedF@F@qo@po@nafo@DAT*Ho@u@u@d@d@ v@v@ 8+P u_data_mart_population_interface_originauserobjectuserobjectswindowobjectborderstylestructuremailrecipientenvironmentmailfiledescriptionmailmessagedatawindowchildlistviewitemtreeviewitemconnectioninfopowerobjectv@  datawindowdwobjectcommandbuttonfontcharsetfontpitchfontfamilystatictextalignmentfillpatterngroupbox ,n_DAT*Jds_cache_basen_ds_cache_units @@datastoren_ds_dm_transferd_dm_population_dateMS Sans SerifRefresh Data MartArialData Marttransactionsqlcags_user_idgs_database,execute CLEAR_DATA_MART ora_cleardatamartE,"OAf_sqlcheckpointeruDAT*L_ds_basen_ds_conversion_basef_elapsedtimen_ds_dm_emissionsn_ds_nei_cache_baseextobjectdragobjectmessage Hp" (X 21 u_data_mart_population_interface_origina k` of_initializeof_cleardatamartof_transfergeoof_transfersourceof_transferdeviceof_transferprocessof_getrunof_mainof_resetblockof_getnextblockof_transferemissionsads_primaryads_targetstataDAT*Nas_excludeof_dscopyof_updatetaal_ridarrayof_retrieveas_primarydataobjectas_targetdataobjectrid_rof_transferdataas_operationof_processdatatataas_mapfromtaas_maptoof_dscopymapof_transferemissionscountyof_getgeorids     +create+destroy+constructor+destructor+clickedH ,kDAT*P0 IBLdt!!ICdatastore.Cdatastore.S[]i!LCdatastore.!LCdatastore.L[]1HLSSS[]_d""LSCn_ds_dm_transfer.Cn_ds_dm_transfer.t!!ICdatastore.Cdatastore.S[]S[]S[]QPl  xA _initsrcuserobjectu_data_mart_population_interface_originauDAT*Rserobjectswindowobjectborderstylestructuremailrecipientenvironmentmailfiledescriptionmailmessagedatawindowchildlistviewitemtreeviewitemconnectioninfopowerobjectdatawindowdw_data_mart_datedwobjectcommandbuttoncb_1fontcharsetfontpitchfontfamilystatictextst_statusalignmentfillpatterndw_errorgroupboxgb_1n_ds_cache_basen_ds_cache_unitsdatastoren_ds_dm_transfertransactionpointeru_ds_basen_ds_conversion_basen_ds_dm_emissionsn_ds_nei_cache_baseextobjectdragobjectmesDAT*jsagep@E@Q@^@j@t@@@ @ @ @tch a@ment rn@mandex@cb_gl@eeditesesle@erarb@end'_ptgr,1@obje8@RB@ngarMDAT*Va$@8@8zt1@@up_rbloc@@ z@+@@f# @8g.!8@z&8"@+D#@P1]8{BY1<$B@BDAT*X  N'!:"+creO#oydbcof$exlsyny%rdber&ru+de%@'<()&@)<(@8)@*@ -)@p/@      DAT*Z  ! " # $ % & '  (! )" *#-03: ;9 <9 =9 >9 ?9 @9 A 9C DB EB FB GB HB IB J!BLDAT*\MOwW G*I> :!4( 1!,z%/{- (2. 95* +!B2' (!K-K-NG7%%r * 0*8T*\t*|DAT*^*****0*8HP$X$`$h$p$x$$$$$ |,BXn d  uo_data_mart*uo_ss(+(dw_reference_codes@,-@-dw_unit_measd-0d0st_seDAT*`lect_report.33uo_pollutantndo/::uo_emis_period@0CCcb_close1LLcb_preview 2MMddlb_reportname 3O Ocontrol@c@*(+@,-d-0.3/:0C1L2M 3O  0 8T \t |     0 8H P X ` h p x  DAT*b    $($D$\$x$$$$$$*8FT b p ~d P uo_data_mart*uo_ss +dw_reference_codesr0,-dw_unit_meas-L-0st_select_reportd.3uo_pollutant/:uo_emis_period0Ccb_close1Lcb_preview2Mddlb_reportname3O ( DAT*dD \ x      0 $($l800880:)@@8,+`118h08w0:)@:@@81<,@8@8,+1,+1$,+$H` l d" messagegs_filt::message<+@R,DAT*f@+@R( uo_data_mart*ib_run 'WarningData Mart transfer is still running.Exit ReportingAre you sure you want to exit Reporting? ( `   P$)08,+61D,+8$d ::message+@R@ uo_data_mart*of_initialize1  0 8 DAT*h&G&2 + +create+destroy+closequery+openP%2  xywidthheighttitlebartitlecontrolmenuminboxmaxboxresizablebackcoloriconuo_data_martuo_ssdw_reference_codesdw_unit_measst_select_reportuo_pollutantuo_emis_periodcb_closecb_previewddlb_reportnameii_levelis_headeril_device_ridil_process_ridil_nation_ridil_state_ridil_county_ridil_city_ridilDAT*j_source_ridis_geo_levelidt_startidt_endis_ref_codeis_emittantsia_emmittantblocksistr_rpt_parmsis_reportnameib_enable_objectsib_rollup_report4W , P"X(4;BLVg[ h n -DAT*l 0 3 : C L Md@ O!*8DRid_MEiq8}/ /ntPedp@ODAT*n] oW, PX  1g @@@   - 0 3 : C L M ODAT*p33P xG% &8d  destroyL"#2  +destroy2 3 xywidthheighttaborderborderbackcolorDAT*r  I PF")] oI PF @@ 1    @         2DAT*` H3p33338d  destroyL"#2  +destroy2 5 xywidthheighttaborderborderborderstyle%  @<")DAT*vforward global type u_data_mart_population_interface_origina from userobject end type type dw_data_mart_date from datawindow within u_data_mart_population_interface_origina end type type cb_1 from commandbutton within u_data_mart_population_interface_origina end type type st_status from statictext within u_data_mart_population_interface_origina end type type dw_error from datawindow within u_data_mart_population_interface_origina end type type gb_1 from groupbox within u_data_mart_populDAT*xation_interface_origina end type end forward global type u_data_mart_population_interface_origina from userobject integer width = 2386 integer height = 360 boolean border = true long backcolor = 67108864 long tabtextcolor = 33554432 long picturemaskcolor = 536870912 dw_data_mart_date dw_data_mart_date cb_1 cb_1 st_status st_status dw_error dw_error gb_1 gb_1 end type global u_data_mart_population_interface_origina u_data_mart_population_interface_origina type variables datetiDAT*zme idt_startDateTime boolean ib_run = false long il_yieldBlock = 200 n_ds_cache_base ids_sources n_ds_cache_units inv_units integer ii_blockSize = 50 long il_block = 0 long il_startRow long il_endRow long il_sourceRidArray[] long il_nationRidArray[] long il_stateRidArray[] long il_countyRidArray[] end variables forward prototypes public function integer of_initialize () public function integer of_cleardatamart () public function integer of_transfergeo () public funcDAT*|tion integer of_transfersource () public function integer of_transferdevice () public function integer of_transferprocess () public function boolean of_getrun () public function integer of_main () public function integer of_resetblock () public function long of_getnextblock () public function integer of_transferemissions () public function integer of_dscopy (datastore ads_primary, datastore ads_target, string as_exclude[]) public function long of_update (datastore ads_target) public funcDAT*~tion long of_retrieve (datastore ads_primary, long al_ridArray[]) public function long of_transferdata (string as_primarydataobject, string as_targetdataobject, string as_exclude[]) public function long of_processdata (string as_operation, n_ds_dm_transfer ads_primary, n_ds_dm_transfer ads_target) public function integer of_dscopymap (datastore ads_primary, datastore ads_target, string as_exclude[], string as_mapfrom[], string as_mapto[]) public function integer of_transferemissionscounty () DAT*public function long of_getgeorids () end prototypes public function integer of_initialize (); long ll_rc string ls_metricCode ll_rc = dw_data_mart_date.setTransObject(sqlca) ll_rc = dw_data_mart_date.retrieve() if ll_rc < 0 then return -1 end if if ll_rc = 0 then ll_rc = dw_data_mart_date.insertRow(0) dw_data_mart_date.setItem(1, "rid", -1) dw_data_mart_date.setItem(1, "ref_rid", -1) dw_data_mart_date.setItem(1, "metric_code", "DM CLR") dw_data_mart_date.setItDAT*em(1, "metric_level_type", "DM") dw_data_mart_date.setItem(1, "creation_date_time", datetime(today(), now())) dw_data_mart_date.setItem(1, "start_date_time", datetime(today(), now())) dw_data_mart_date.setItem(1, "user_id", left(gs_user_id, 4)) dw_data_mart_date.setItem(1, "comment_text", "Not Populated") ll_rc = dw_data_mart_date.update() end if return 1 end function public function integer of_cleardatamart (); long ll_rc if gs_database = "ORACLE" then //oracle cleDAT*ar data mart procedure DECLARE ora_clearDataMart PROCEDURE FOR CLEAR_DATA_MART USING SQLCA ; EXECUTE ora_clearDataMart ; if f_sqlCheck(sqlca) < 0 then return -1 end if else //sql anywhere clear data mart procedure execute immediate "truncate table rap_dm_activities" using sqlca; if f_sqlCheck(sqlca) < 0 then return -1 end if execute immediate "truncate table rap_dm_emissions" using sqlca; if f_sqlCheck(sqlca) < 0 then return -1 end if execute immeDAT*diate "truncate table rap_dm_throughputs" using sqlca; if f_sqlCheck(sqlca) < 0 then return -1 end if execute immediate "truncate table rap_dm_processes" using sqlca; if f_sqlCheck(sqlca) < 0 then return -1 end if execute immediate "truncate table rap_dm_devices" using sqlca; if f_sqlCheck(sqlca) < 0 then return -1 end if execute immediate "truncate table rap_dm_source_geo_groups" using sqlca; if f_sqlCheck(sqlca) < 0 then return -1 end if execute imDAT*mediate "truncate table rap_dm_sources" using sqlca; if f_sqlCheck(sqlca) < 0 then return -1 end if execute immediate "truncate table rap_dm_geographic_locations" using sqlca; if f_sqlCheck(sqlca) < 0 then return -1 end if end if //load the data mart date/status record back into activities table dw_data_mart_date.setItem(1, "metric_code", "DM CLR") dw_data_mart_date.setItem(1, "metric_level_type", "DM") dw_data_mart_date.setItem(1, "creation_date_time", datetime(today(DAT*), now())) dw_data_mart_date.setItem(1, "start_date_time", datetime(today(), now())) dw_data_mart_date.setItem(1, "end_date_time", datetime(today(), now())) dw_data_mart_date.setItem(1, "user_id", left(gs_user_id, 4)) dw_data_mart_date.setItem(1, "comment_text", "Not Populated") dw_data_mart_date.setItemStatus(1, 0, primary!, newModified! ) ll_rc = dw_data_mart_date.update() COMMIT USING SQLCA; if f_sqlCheck(sqlca) < 0 then return -1 end if return 1 end function public funcDAT*tion integer of_transfergeo (); //Transfer geographic information to the data mart n_ds_dm_transfer lds_primary n_ds_dm_transfer lds_target string ls_exclude[] long ll_rc long ll_row long ll_copyRow string ls_status ls_status = st_status.text //primary datastore lds_primary = create n_ds_dm_transfer lds_primary.dataObject = "d_dm_geo_locations" lds_primary.setTransObject(sqlca) setPointer(hourglass!) ll_rc = lds_primary.retrieve() if ll_rc < 0 then messageBox("Error", "DAT*Data retrieval failed.", exclamation!) destroy lds_primary return -1 elseif ll_rc = 0 then destroy lds_primary return 1 //return normal status for no rows end if //target datastore lds_target = create n_ds_dm_transfer lds_target.dataObject = "d_dm_geo_locations_out" lds_target.setTransObject(sqlca) //copy data from primary datastore to target datastore ll_rc = this.of_dsCopy(lds_primary, lds_target, ls_exclude) if ll_rc = -2 then ll_rc = 0 //cancel return code for the drDAT*iver function end if if ll_rc > 0 then //lookup coordinates for geographic items ll_rc = this.of_processData("transfer_post_copy", lds_primary, lds_target) st_status.text = ls_status + " [+" + string(lds_target.rowCount()) + "]" //update target datastore ll_rc = lds_target.update() if ll_rc < 0 then ROLLBACK USING SQLCA; messageBox("Error", "Data update failed.", exclamation!) end if COMMIT USING SQLCA; if f_sqlCheck(SQLCA) < 0 then ROLLBACK USING SQLCDAT*A; messageBox("Error", "Database commit failed.", exclamation!) ll_rc = -1 end if end if if isValid(lds_primary) then destroy lds_primary end if if isValid(lds_target) then destroy lds_target end if st_status.text = ls_status return ll_rc end function public function integer of_transfersource (); //Transfer source information to the data mart n_ds_cache_base lds_primary n_ds_dm_transfer lds_target string ls_exclude[] long ll_rc long ll_row long ll_copyRow sDAT*tring ls_status ls_status = st_status.text //primary datastore lds_primary = ids_sources //the source datastore will be kept in memory //lds_primary = create u_ds_base //lds_primary.dataObject = "d_dm_sources" //lds_primary.setTransObject(sqlca) setPointer(hourglass!) //ll_rc = lds_primary.retrieve() //if ll_rc < 0 then // messageBox("Error", "Data retrieval failed.", exclamation!) // setNull(lds_primary) // destroy lds_primary // return -1 //elseif ll_rc = 0 then // setNullDAT*(lds_primary) // destroy lds_primary // return 1 //return normal status for no rows //end if //target datastore lds_target = create n_ds_dm_transfer lds_target.dataObject = "d_dm_sources_out" lds_target.setTransObject(sqlca) //copy data from primary datastore to target datastore ll_rc = this.of_dsCopy(lds_primary, lds_target, ls_exclude) if ll_rc = -2 then ll_rc = 0 //cancel return code for the driver function end if if ll_rc > 0 then //lookup coordinates for geographiDAT*c items ll_rc = this.of_processData("transfer_post_copy", lds_primary, lds_target) st_status.text = ls_status + " [+" + string(lds_target.rowCount()) + "]" //update target datastore ll_rc = lds_target.update() if ll_rc < 0 then ROLLBACK USING SQLCA; messageBox("Error", "Data update failed.", exclamation!) else COMMIT USING SQLCA; if f_sqlCheck(SQLCA) < 0 then ROLLBACK USING SQLCA; messageBox("Error", "Database commit failed.", exclamation!) ll_rc = -1 DAT* end if end if end if if isValid(lds_primary) then setNull(lds_primary) destroy lds_primary end if if isValid(lds_target) then destroy lds_target end if st_status.text = ls_status return ll_rc end function public function integer of_transferdevice (); //Transfer device information to the data mart u_ds_base lds_primary u_ds_base lds_target string ls_exclude[] long ll_rc //define columns to exclued from copy ls_exclude = {"sic_code"} ll_rc = this.of_DAT*transferData("d_dm_devices", "d_dm_devices_out", ls_exclude) return ll_rc //************************************** //primary datastore lds_primary = create u_ds_base lds_primary.dataObject = "d_dm_devices" lds_primary.setTransObject(sqlca) setPointer(hourglass!) ll_rc = this.of_retrieve(lds_primary, il_sourceRidArray) if ll_rc < 0 then destroy lds_primary return -1 elseif ll_rc = 0 then destroy lds_primary return 1 //return normal status for no rows end if //targeDAT*t datastore lds_target = create u_ds_base lds_target.dataObject = "d_dm_devices_out" lds_target.setTransObject(sqlca) //copy data from primary datastore to target datastore ll_rc = this.of_dsCopy(lds_primary, lds_target, ls_exclude) if ll_rc = -2 then ll_rc = 0 //cancel return code for the driver function end if if ll_rc > 0 then //lookup coordinates for devices //update target datastore ll_rc = this.of_update(lds_target) end if if isValid(lds_primary) then dDAT*estroy lds_primary end if if isValid(lds_target) then destroy lds_target end if return ll_rc end function public function integer of_transferprocess (); //Transfer process information to the data mart u_ds_base lds_primary u_ds_base lds_target string ls_exclude[] long ll_rc long ll_row long ll_copyRow string ls_status ll_rc = this.of_transferData("d_dm_processes", "d_dm_processes_out", ls_exclude) return ll_rc //***********************************************DAT************************ ls_status = st_status.text //primary datastore lds_primary = create u_ds_base lds_primary.dataObject = "d_dm_processes" lds_primary.setTransObject(sqlca) setPointer(hourglass!) ll_rc = lds_primary.retrieve(il_sourceRidArray) if ll_rc < 0 then messageBox("Error", "Data retrieval failed.", exclamation!) destroy lds_primary return -1 elseif ll_rc = 0 then destroy lds_primary return 1 //return normal status for no rows end if //target datastore lds_tDAT*arget = create u_ds_base lds_target.dataObject = "d_dm_processes_out" lds_target.setTransObject(sqlca) //copy data from primary datastore to target datastore ll_rc = this.of_dsCopy(lds_primary, lds_target, ls_exclude) if ll_rc = -2 then ll_rc = 0 //cancel return code for the driver function end if if ll_rc > 0 then //lookup coordinates for geographic items st_status.text = ls_status + " [+" + string(lds_target.rowCount()) + "]" //update target datastore ll_rc =DAT* lds_target.update() if ll_rc < 0 then ROLLBACK USING SQLCA; messageBox("Error", "Data update failed.", exclamation!) end if COMMIT USING SQLCA; if f_sqlCheck(SQLCA) < 0 then ROLLBACK USING SQLCA; messageBox("Error", "Database commit failed.", exclamation!) ll_rc = -1 end if end if if isValid(lds_primary) then destroy lds_primary end if if isValid(lds_target) then destroy lds_target end if st_status.text = ls_status return ll_rc end function puDAT*blic function boolean of_getrun (); do while yield() //process any waiting mouse clicks, etc. loop if ib_run then return true else return false end if end function public function integer of_main (); long ll_rc long ll_xfer datetime ldt_null setNull(ldt_null) idt_startDateTime = datetime(today(), now()) st_status.text = "Starting..." ib_run = true if this.of_getRun() then setPointer(hourglass!) //load unit conversion cache if inv_units.rowCount() <= 0 DAT*then ll_xfer = inv_units.retrieve() if ll_xfer < 0 then messageBox("Error", "Units cache failed.", exclamation!) ib_run = false end if end if end if dw_data_mart_date.setItem(1, "metric_code", "DM UPD") dw_data_mart_date.setItem(1, "creation_date_time", datetime(today(), now())) dw_data_mart_date.setItem(1, "start_date_time", datetime(today(), now())) dw_data_mart_date.setItem(1, "end_date_time", ldt_null) dw_data_mart_date.setItem(1, "user_id", left(gs_user_id, 4)) dw_DAT*data_mart_date.setItem(1, "comment_text", "Updating") ll_rc = dw_data_mart_date.update() if this.of_getRun() then setPointer(hourglass!) st_status.text = "Clearing Data Mart..." ll_xfer = this.of_clearDataMart() if ll_xfer < 0 then ib_run = false end if end if dw_data_mart_date.setItem(1, "metric_code", "DM UPD") dw_data_mart_date.setItem(1, "creation_date_time", datetime(today(), now())) dw_data_mart_date.setItem(1, "start_date_time", datetime(today(), now())) dw_daDAT*ta_mart_date.setItem(1, "end_date_time", ldt_null) dw_data_mart_date.setItem(1, "user_id", left(gs_user_id, 4)) dw_data_mart_date.setItem(1, "comment_text", "Updating") ll_rc = dw_data_mart_date.update() //GEOGRAPHIC data if this.of_getRun() then setPointer(hourglass!) st_status.text = "Transferring Geographic Data..." ll_xfer = this.of_transferGeo() if ll_xfer < 0 then ib_run = false end if end if //SOURCE data if this.of_getRun() then setPointer(hourglass!) DAT* st_status.text = "Transferring Source Data..." //retrieve the source primary datastore ll_xfer = ids_sources.retrieve() if ll_xfer < 0 then messageBox("Error", "Data retrieval failed.", exclamation!) ib_run = false end if if this.of_getRun() then ll_xfer = ids_sources.of_sort("geographic_county_rid") if ll_xfer < 0 then ib_run = false end if end if setPointer(hourglass!) if this.of_getRun() then ll_xfer = this.of_transferSource() if ll_xfer < DAT*0 then ib_run = false end if end if end if //DEVICE data this.of_resetBlock() if this.of_getRun() then ii_blockSize = 50 st_status.text = "Transferring Device Data..." do while true this.of_getNextBlock() if il_block = 0 then exit end if if this.of_getRun() then ll_xfer = this.of_transferDevice() if ll_xfer < 0 then ib_run = false exit end if end if loop end if //PROCESS data this.of_resetBlock() ifDAT* this.of_getRun() then ii_blockSize = 50 st_status.text = "Transferring Process Data..." do while true this.of_getNextBlock() if il_block = 0 then exit end if if this.of_getRun() then ll_xfer = this.of_transferProcess() if ll_xfer < 0 then ib_run = false exit end if end if loop end if //EMISSIONS data (rollup to source level) this.of_resetBlock() if this.of_getRun() then ii_blockSize = 20 st_status.text = "DAT*Transferring Emissions Data..." do while true this.of_getNextBlock() if il_block = 0 then exit end if if this.of_getRun() then ll_xfer = this.of_transferEmissions() if ll_xfer < 0 then ib_run = false exit end if end if loop end if //GEOGRAPHIC rids if this.of_getRun() then //load the geographic rids into arrays ll_xfer = this.of_getGeoRids() if ll_xfer < 0 then ib_run = false end if end if //EMIDAT*SSIONS data (rollup to county level) if this.of_getRun() then st_status.text = "Transferring County Emissions Data..." ll_xfer = this.of_transferEmissionsCounty() if ll_xfer < 0 then ib_run = false end if end if dw_data_mart_date.setItem(1, "end_date_time", datetime(today(), now())) if ll_xfer < 0 then dw_data_mart_date.setItem(1, "metric_code", "DM ERR") dw_data_mart_date.setItem(1, "comment_text", "Error") st_status.text = "Transfer Error (" + f_elapsedTime(idDAT*t_startDateTime) + ")" elseif not this.of_getRun() then dw_data_mart_date.setItem(1, "metric_code", "DM CAN") dw_data_mart_date.setItem(1, "comment_text", "Cancelled") st_status.text = "Transfer Cancelled (" + f_elapsedTime(idt_startDateTime) + ")" else dw_data_mart_date.setItem(1, "metric_code", "DM POP") dw_data_mart_date.setItem(1, "comment_text", "Populated") st_status.text = "Transfer Complete (" + f_elapsedTime(idt_startDateTime) + ")" end if ll_rc = dw_data_mart_date.update(DAT*) COMMIT USING SQLCA; if f_sqlCheck(SQLCA) < 0 then ROLLBACK USING SQLCA; messageBox("Error", "Database commit failed.", exclamation!) ll_rc = -1 end if ib_run = false cb_1.text = "Refresh Data Mart" cb_1.enabled = true return 1 end function public function integer of_resetblock ();long ll_empty[] //reset counters il_block = 0 il_startRow = 0 il_endRow = 0 //reset the source rid array il_sourceRidArray = ll_empty return 1 end function public function DAT*long of_getnextblock ();long ll_rc long ll_rowCount long ll_row long ll_index long ll_empty[] long ll_countyRid, ll_prevCountyRid //increment block indicator il_block ++ //determine start row for next block ll_rowCount = ids_sources.rowCount() il_startRow = il_endRow + 1 if il_startRow > ll_rowCount then //start row past the end of the buffer this.of_resetBlock() return il_block end if //determine the end row for the next block if il_startRow = ll_rowCount then //onDAT*ly one row left il_endRow = il_startRow elseif ii_blockSize = 0 then //block sources by county ll_prevCountyRid = ids_sources.object.geographic_county_rid[il_startRow] for ll_row = il_startRow + 1 to ll_rowCount ll_countyRid = ids_sources.object.geographic_county_rid[ll_row] if ll_prevCountyRid <> ll_countyRid then il_endRow = ll_row - 1 exit end if ll_prevCountyRid = ll_countyRid next else //use fixed block size il_endRow += ii_blockSize end if if il_endDAT*Row > ll_rowCount then //end row past the end of the buffer il_endRow = ll_rowCount end if //reset the source rid array il_sourceRidArray = ll_empty //load the source rid array with values for current block if il_block > 0 then for ll_row = il_startRow to il_endRow ll_index ++ il_sourceRidArray[ll_index] = ids_sources.object.rid[ll_row] next end if return il_block end function public function integer of_transferemissions (); //Transfer emissions infoDAT*rmation to the data mart n_ds_dm_emissions lds_primary n_ds_dm_emissions lds_target //n_ds_dm_emissions lds_primaryCopy string ls_exclude[] long ll_rc long ll_rowCount string ls_status string ls_statusMid string ls_rollupRidColumn ls_status = st_status.text ls_exclude = {"metric_code", "metric_level_type", "process_rid", "device_rid", "source_rid", "scc_ams_code", "sic_code"} //primary datastore lds_primary = create n_ds_dm_emissions lds_primary.inv_units = this.inv_units DAT*setPointer(hourglass!) ll_rc = lds_primary.retrieve(il_sourceRidArray) if ll_rc < 0 then messageBox("Error", "Data retrieval failed.", exclamation!) destroy lds_primary return -1 elseif ll_rc = 0 then destroy lds_primary return 1 //return normal status for no rows end if //throw out records without downstream discharge metric ll_rc = lds_primary.of_discardByStringArray("metric_code", {"DOWNSTRMDIS"}) if ll_rc < 0 then messageBox("Error", "Data discard failed.", exclamation!) DAT* destroy lds_primary return -1 end if //make sure we still have rows if lds_primary.rowCount() = 0 then destroy lds_primary return 1 //return normal status for no rows end if //normalize the emissions data //(handles start/end dates, value types, scc codes, sic codes, data codes) ll_rc = lds_primary.of_scan("NORMALIZE") if ll_rc < 0 then messageBox("Error", "Data normalization failed.", exclamation!) destroy lds_primary return -1 end if //throw out records without downsDAT*tream discharge metric //(some records may have had metric code changed to DISCARD during normalization ll_rc = lds_primary.of_discardByStringArray("metric_code", {"DOWNSTRMDIS"}) if ll_rc < 0 then messageBox("Error", "Data discard failed.", exclamation!) destroy lds_primary return -1 end if //make sure we still have rows if lds_primary.rowCount() = 0 then destroy lds_primary return 1 //return normal status for no rows end if //prioritize records by data code and value type DAT*//we should end up with one record per //reference_code/start_date_time/process_rid/material_code combination ll_rc = lds_primary.of_prioritize() if ll_rc < 0 then messageBox("Error", "Data prioritization failed.", exclamation!) destroy lds_primary return -1 end if //make sure we still have rows if lds_primary.rowCount() = 0 then destroy lds_primary return 1 //return normal status for no rows end if //target datastore lds_target = create n_ds_dm_emissions lds_target.of_DAT*setDataType("", "d_dm_emissions_out") ls_exclude = {"metric_code", "metric_level_type", "process_rid", "device_rid", "source_rid", "county_rid", "scc_ams_code", "sic_code"} //copy data from primary datastore to target datastore ll_rc = this.of_dsCopy(lds_primary, lds_target, ls_exclude) if ll_rc = -2 then destroy lds_primary destroy lds_target return 0 //cancel return code for the driver function end if //set the rollup level information in the target datastore ll_rc = lds_targeDAT*t.of_scan("POST_COPY_ROLLUP_PROCESS_RID") if ll_rc < 0 then destroy lds_primary destroy lds_target return ll_rc end if //save the target datastore if lds_target.rowCount() > 0 then st_status.text = ls_status + " [+" + string(lds_target.rowCount()) + "]" //update target datastore ll_rc = lds_target.of_blockUpdate() //ll_rc = lds_target.update() if ll_rc < 0 then //ROLLBACK USING SQLCA; messageBox("Error", "Data update failed.", exclamation!) destroy lds_primary DAT* destroy lds_target return -1 end if // COMMIT USING SQLCA; // if f_sqlCheck(SQLCA) < 0 then // ROLLBACK USING SQLCA; // messageBox("Error", "Database commit failed.", exclamation!) // destroy lds_primary // destroy lds_target // return -1 // end if end if //release target datastore if isValid(lds_target) then lds_target.of_reset() end if ////SOURCE LEVEL SCC ROLLUP //lds_primaryCopy = create n_ds_dm_emissions //ll_rc = lds_primary.rowsCopy(1, lds_primary.rDAT*owCount(), primary!, lds_primaryCopy, 1, primary!) // ////rollup primary datastore by source rid and scc //ll_rc = lds_primaryCopy.of_rollupByRidScc("source_rid") //if ll_rc < 0 then // destroy lds_primary // destroy lds_primaryCopy // destroy lds_target // return ll_rc //end if // ////copy data from primary datastore to target datastore //ll_rc = this.of_dsCopyMap(lds_primaryCopy, lds_target, ls_exclude, {"scc_ams_code"}, {"summary_category_code"}) //if ll_rc = -2 then // destroy ldDAT*s_primary // destroy lds_primaryCopy // destroy lds_target // return 0 //cancel return code for the driver function //end if // ////destroy the copy //if isValid(lds_primaryCopy) then // destroy lds_primaryCopy //end if // ////set the rollup level information in the target datastore //ll_rc = lds_target.of_scan("POST_COPY_ROLLUP_SOURCE_RID_SCC") //if ll_rc < 0 then // destroy lds_primary // destroy lds_target // return ll_rc //end if // ////save the target datastore //if lds_taDAT*rget.rowCount() > 0 then // // st_status.text = ls_status + " [+" + string(lds_target.rowCount()) + "]" // // //update target datastore // ll_rc = lds_target.update() // if ll_rc < 0 then // ROLLBACK USING SQLCA; // messageBox("Error", "Data update failed.", exclamation!) // destroy lds_primary // destroy lds_target // return -1 // end if // // COMMIT USING SQLCA; // if f_sqlCheck(SQLCA) < 0 then // ROLLBACK USING SQLCA; // messageBox("Error", "Database commit failed.",DAT* exclamation!) // destroy lds_primary // destroy lds_target // return -1 // end if // //end if // ////release target datastore //if isValid(lds_target) then // lds_target.of_reset() //end if ls_exclude = {"metric_code", "metric_level_type", "process_rid", "device_rid", "source_rid", "county_rid", "scc_ams_code", "sic_code", "data_code", "value_type", "method_type", "reference_type"} //SOURCE LEVEL SCC ROLLUP ls_rollupRidColumn = "source_rid" //reset the rollup datastoDAT*re lds_primary.of_resetRollup() //set the sort keys for the current rollup lds_primary.of_resetBlockSortKeys() lds_primary.of_addBlockSortKey("reference_code a") lds_primary.of_addBlockSortKey("start_date_time a") lds_primary.of_addBlockSortKey(ls_rollupRidColumn + " a") lds_primary.of_addBlockSortKey("scc_ams_code a") lds_primary.of_addBlockSortKey("material_code a") //run block processing using the curent keys to sum the emissions for the block ll_rc = lds_primary.of_scanBlocks("SUDAT*M_ROLLUP_AMT", 0) if ll_rc < 0 then messageBox("Error", "Source SCC rollup failed.", exclamation!) destroy lds_primary destroy lds_target return -1 end if //copy data from primary rollup datastore to target datastore ll_rc = this.of_dsCopyMap(lds_primary.ids_rollup, lds_target, ls_exclude, {ls_rollupRidColumn, "scc_ams_code"}, {"rollup_ref_rid", "summary_category_code"}) if ll_rc = -2 then destroy lds_primary destroy lds_target return 0 //cancel return code for the driver funDAT*ction end if //set the rollup level information in the target datastore ll_rc = lds_target.of_scan("POST_COPY_ROLLUP_SCC_" + upper(ls_rollupRidColumn)) if ll_rc < 0 then destroy lds_primary destroy lds_target return ll_rc end if //save the target datastore if lds_target.rowCount() > 0 then st_status.text = ls_status + " [+" + string(lds_target.rowCount()) + "]" //update target datastore // //*** debug // lds_primary.saveAs("c:\lds_primary.txt", text!, true) // lds_DAT*primary.ids_rollup.saveAs("c:\ids_rollup.txt", text!, true) // lds_target.saveAs("c:\lds_target.txt", text!, true) ll_rc = lds_target.of_blockUpdate() if ll_rc < 0 then messageBox("Error", "Data update failed.", exclamation!) destroy lds_primary destroy lds_target return -1 end if end if //release target datastore if isValid(lds_target) then lds_target.of_reset() end if //DEVICE ROLLUP ls_rollupRidColumn = "device_rid" //reset the rollup datastore lds_pDAT*rimary.of_resetRollup() //set the sort keys for the current rollup lds_primary.of_resetBlockSortKeys() lds_primary.of_addBlockSortKey("reference_code a") lds_primary.of_addBlockSortKey("start_date_time a") lds_primary.of_addBlockSortKey(ls_rollupRidColumn + " a") lds_primary.of_addBlockSortKey("material_code a") //run block processing using the curent keys to sum the emissions for the block ll_rc = lds_primary.of_scanBlocks("SUM_ROLLUP_AMT", 0) if ll_rc < 0 then messageBox("Error", DAT*"Device rollup failed.", exclamation!) destroy lds_primary destroy lds_target return -1 end if //copy data from primary rollup datastore to target datastore ll_rc = this.of_dsCopyMap(lds_primary.ids_rollup, lds_target, ls_exclude, {ls_rollupRidColumn}, {"rollup_ref_rid"}) if ll_rc = -2 then destroy lds_primary destroy lds_target return 0 //cancel return code for the driver function end if //set the rollup level information in the target datastore ll_rc = lds_target.of_scan("DAT*POST_COPY_ROLLUP_" + upper(ls_rollupRidColumn)) if ll_rc < 0 then destroy lds_primary destroy lds_target return ll_rc end if //save the target datastore if lds_target.rowCount() > 0 then st_status.text = ls_status + " [+" + string(lds_target.rowCount()) + "]" //update target datastore // //*** debug // lds_primary.saveAs("c:\lds_primary.txt", text!, true) // lds_primary.ids_rollup.saveAs("c:\ids_rollup.txt", text!, true) // lds_target.saveAs("c:\lds_target.txt", text!,DAT* true) ll_rc = lds_target.of_blockUpdate() if ll_rc < 0 then messageBox("Error", "Data update failed.", exclamation!) destroy lds_primary destroy lds_target return -1 end if end if //release target datastore if isValid(lds_target) then lds_target.of_reset() end if //shift the data from the primary rollup datastore to the primary datastore ll_rc = lds_primary.of_reset() ll_rowCount = lds_primary.ids_rollup.rowCount() if ll_rowCount > 0 then ll_rc = lds_primDAT*ary.ids_rollup.rowsMove(1, ll_rowCount, primary!, lds_primary, 1, primary!) end if ll_rowCount = lds_primary.rowCount() //SOURCE ROLLUP ls_rollupRidColumn = "source_rid" //reset the rollup datastore lds_primary.of_resetRollup() //set the sort keys for the current rollup lds_primary.of_resetBlockSortKeys() lds_primary.of_addBlockSortKey("reference_code a") lds_primary.of_addBlockSortKey("start_date_time a") lds_primary.of_addBlockSortKey(ls_rollupRidColumn + " a") lds_primary.DAT*of_addBlockSortKey("material_code a") //run block processing using the curent keys to sum the emissions for the block ll_rc = lds_primary.of_scanBlocks("SUM_ROLLUP_AMT", 0) if ll_rc < 0 then messageBox("Error", "Source rollup failed.", exclamation!) destroy lds_primary destroy lds_target return -1 end if //copy data from primary rollup datastore to target datastore ll_rc = this.of_dsCopyMap(lds_primary.ids_rollup, lds_target, ls_exclude, {ls_rollupRidColumn}, {"rollup_ref_rid"}) DAT* if ll_rc = -2 then destroy lds_primary destroy lds_target return 0 //cancel return code for the driver function end if //set the rollup level information in the target datastore ll_rc = lds_target.of_scan("POST_COPY_ROLLUP_" + upper(ls_rollupRidColumn)) if ll_rc < 0 then destroy lds_primary destroy lds_target return ll_rc end if //save the target datastore if lds_target.rowCount() > 0 then st_status.text = ls_status + " [+" + string(lds_target.rowCount()) + "]" //DAT*update target datastore // //*** debug // lds_primary.saveAs("c:\lds_primary.txt", text!, true) // lds_primary.ids_rollup.saveAs("c:\ids_rollup.txt", text!, true) // lds_target.saveAs("c:\lds_target.txt", text!, true) ll_rc = lds_target.of_blockUpdate() if ll_rc < 0 then messageBox("Error", "Data update failed.", exclamation!) destroy lds_primary destroy lds_target return -1 end if end if //release target datastore if isValid(lds_target) then lds_target.of_resDAT*et() end if ////rollup primary datastore by source rid //ll_rc = lds_primary.of_rollupByRid("source_rid") //if ll_rc < 0 then // destroy lds_primary // destroy lds_target // return ll_rc //end if // ////copy data from primary datastore to target datastore //ll_rc = this.of_dsCopy(lds_primary, lds_target, ls_exclude) //if ll_rc = -2 then // destroy lds_primary // destroy lds_target // return 0 //cancel return code for the driver function //end if // ////set the rollup level infoDAT*rmation in the target datastore //ll_rc = lds_target.of_scan("POST_COPY_ROLLUP_SOURCE_RID") //if ll_rc < 0 then // destroy lds_primary // destroy lds_target // return ll_rc //end if // ////save the target datastore //if lds_target.rowCount() > 0 then // // st_status.text = ls_status + " [+" + string(lds_target.rowCount()) + "]" // // //update target datastore // ll_rc = lds_target.update() // if ll_rc < 0 then // ROLLBACK USING SQLCA; // messageBox("Error", "Data update failedDAT*.", exclamation!) // destroy lds_primary // destroy lds_target // return -1 // end if // // COMMIT USING SQLCA; // if f_sqlCheck(SQLCA) < 0 then // ROLLBACK USING SQLCA; // messageBox("Error", "Database commit failed.", exclamation!) // destroy lds_primary // destroy lds_target // return -1 // end if // //end if // ////release target datastore //if isValid(lds_target) then // lds_target.of_reset() //end if if isValid(lds_primary) then destroy lds_primary endDAT* if if isValid(lds_target) then destroy lds_target end if st_status.text = ls_status return ll_rc end function public function integer of_dscopy (datastore ads_primary, datastore ads_target, string as_exclude[]); //Copy data from one datastore to another. //NOTE: Column names must match in the two datastores //RETURN: 1; normal // 0; no rows copied // -1; error // -2; operation cancelled long ll_rc long ll_row, ll_rowCount long ll_col, ll_colCount long ll_DAT*exc, ll_excCount string ls_status string ls_columnName boolean lb_exclude ls_status = st_status.text //grab the number of columns to exclude from the copy ll_excCount = upperBound(as_exclude) //grab rows and column counts for the primary datastore ll_rowCount = ads_primary.rowCount() if ll_rowCount < 0 then messageBox("Error", "Row count failed.", exclamation!) return -1 elseif ll_rowCount = 0 then return 0 end if ll_colCount = long(ads_primary.object.datawindow.column.coDAT*unt) if ll_colCount <= 0 then messageBox("Error", "Colum count failed.", exclamation!) return -1 end if setPointer(hourglass!) //loop through the rows in the primary datastore for ll_row = 1 to ll_rowCount //check for operation cancelled if ll_row = 1 or mod(ll_row, il_yieldBlock) = 0 then if not this.of_getRun() then return -2 //cancel return code end if st_status.text = ls_status + " [" + string(ll_row) + "]" setPointer(hourglass!) end if //aDAT*dd a row to the target datastore ll_rc = ads_target.insertRow(0) if ll_rc < 0 then messageBox("Error", "Row insert failed.", exclamation!) return -1 end if //loops through the columns in the primary datastore for ll_col = 1 to ll_colCount ls_columnName = lower(trim(ads_primary.describe("#"+string(ll_col)+".name"))) if ls_columnName = "?" or isNull(ls_columnName) then continue end if //check to see if we are skipping this column lb_exclude = false fDAT*or ll_exc = 1 to ll_excCount if ls_columnName = lower(trim(as_exclude[ll_exc])) then lb_exclude = true exit end if next if lb_exclude then continue end if //copy data element from primary datastore to target datastore //***this requires that both datastores use the same column name*** ll_rc = ads_target.setitem(ll_row, ls_columnName, ads_primary.object.data[ll_row, ll_col]) if ll_rc < 0 then messageBox("Error", "Failed writing data value to coluDAT*mn: " + ls_columnName, exclamation!) return -1 end if next //column next //row st_status.text = ls_status return 1 end function public function long of_update (datastore ads_target); long ll_rc string ls_status ls_status = st_status.text st_status.text = ls_status + " [+" + string(ads_target.rowCount()) + "]" //update target datastore ll_rc = ads_target.update() if ll_rc < 0 then ROLLBACK USING SQLCA; messageBox("Error", "Data update failed.", exclamatiDAT*on!) st_status.text = ls_status + " [error]" return ll_rc end if //commit updates to database COMMIT USING SQLCA; if f_sqlCheck(SQLCA) < 0 then ROLLBACK USING SQLCA; messageBox("Error", "Database commit failed.", exclamation!) st_status.text = ls_status + " [error]" return ll_rc end if st_status.text = ls_status return 1 end function public function long of_retrieve (datastore ads_primary, long al_ridArray[]); long ll_rc string ls_status ls_status = st_status.tDAT*ext st_status.text = ls_status + " [retrieving]" setPointer(hourglass!) ll_rc = ads_primary.retrieve(al_ridArray) if ll_rc < 0 then messageBox("Error", "Data retrieval failed.", exclamation!) st_status.text = ls_status + " [error]" return -1 end if st_status.text = ls_status return ll_rc end function public function long of_transferdata (string as_primarydataobject, string as_targetdataobject, string as_exclude[]); //Transfer information to the data mart n_ds_dm_tranDAT* sfer lds_primary n_ds_dm_transfer lds_target long ll_rc //primary datastore lds_primary = create n_ds_dm_transfer if not isValid(lds_primary) then messageBox("Error", "Failed creating primary datastore.", exclamation!) return -1 end if lds_primary.of_setDataType("", as_primaryDataObject) lds_primary.inv_units = this.inv_units setPointer(hourglass!) ll_rc = this.of_retrieve(lds_primary, il_sourceRidArray) if ll_rc < 0 then //retrieval error destroy lds_primary return -1DAT*  elseif ll_rc = 0 then //no rows destroy lds_primary return 1 //return normal status for no rows end if //do any post-retrieval processing on primary datastore ll_rc = this.of_processData("transfer_post_retrieve", lds_primary, lds_target) if ll_rc < 0 then //post-processing error destroy lds_primary return -1 elseif ll_rc = -2 then //operation cancelled destroy lds_primary return 0 //cancel return code for the driver function elseif lds_primary.rowCount() <= 0 then //nDAT*o rows destroy lds_primary return 1 //return normal status for no rows end if //target datastore lds_target = create n_ds_dm_transfer if not isValid(lds_target) then messageBox("Error", "Failed creating target datastore.", exclamation!) destroy lds_primary return -1 end if lds_target.of_setDataType("", as_targetDataObject) //copy data from primary datastore to target datastore ll_rc = this.of_dsCopy(lds_primary, lds_target, as_exclude) if ll_rc = -2 then ll_rc = 0 //caDAT*ncel return code for the driver function end if if ll_rc > 0 then //do any post-copy processing on target ll_rc = this.of_processData("transfer_post_copy", lds_primary, lds_target) if ll_rc < 0 then //post-processing error destroy lds_primary destroy lds_target return -1 elseif ll_rc = -2 then //operation cancelled destroy lds_primary destroy lds_target return 0 //cancel return code for the driver function elseif lds_primary.rowCount() <= 0 then //no rowDAT*s destroy lds_primary destroy lds_target return 1 //return normal status for no rows end if //update target datastore (block update does commit every 1000 rows, by default) ll_rc = lds_target.of_blockUpdate() end if if isValid(lds_primary) then destroy lds_primary end if if isValid(lds_target) then destroy lds_target end if return ll_rc end function public function long of_processdata (string as_operation, n_ds_dm_transfer ads_primary, n_ds_dm_transfer ads_taDAT*rget);string as_dataobject choose case as_operation case "transfer_post_copy" as_dataobject = lower(ads_target.dataobject) choose case as_dataobject case "d_dm_devices_out", "d_dm_sources_out", "d_dm_geo_locations_out" //lookup coordinates for geographic items ads_target.of_scan("POPULATE GIS DATA") end choose end choose return 1 end function public function integer of_dscopymap (datastore ads_primary, datastore ads_target, string as_exclude[], string as_DAT*mapfrom[], string as_mapto[]); //Copy data from one datastore to another. //NOTE: Column names must match in the two datastores //RETURN: 1; normal // 0; no rows copied // -1; error // -2; operation cancelled long ll_rc long ll_row, ll_rowCount long ll_col, ll_colCount long ll_exc, ll_excCount long ll_map, ll_mapCount string ls_status string ls_columnName boolean lb_exclude boolean lb_map ls_status = st_status.text //grab the number of columns to exclude fromDAT* the copy ll_excCount = upperBound(as_exclude) //grab the number of columns to exclude from the copy ll_mapCount = upperBound(as_mapFrom) if ll_mapCount <> upperBound(as_mapTo) then messageBox("Error", "Mapping arrays must be the same size.", exclamation!) return -1 end if //grab rows and column counts for the primary datastore ll_rowCount = ads_primary.rowCount() if ll_rowCount < 0 then messageBox("Error", "Row count failed.", exclamation!) return -1 elseif ll_rowCount = 0 thDAT*en return 0 end if ll_colCount = long(ads_primary.object.datawindow.column.count) if ll_colCount <= 0 then messageBox("Error", "Colum count failed.", exclamation!) return -1 end if setPointer(hourglass!) //loop through the rows in the primary datastore for ll_row = 1 to ll_rowCount //check for operation cancelled if ll_row = 1 or mod(ll_row, il_yieldBlock) = 0 then if not this.of_getRun() then return -2 //cancel return code end if st_status.text = ls_statDAT*us + " [" + string(ll_row) + "]" setPointer(hourglass!) end if //add a row to the target datastore ll_rc = ads_target.insertRow(0) if ll_rc < 0 then messageBox("Error", "Row insert failed.", exclamation!) return -1 end if //loops through the columns in the primary datastore for ll_col = 1 to ll_colCount ls_columnName = lower(trim(ads_primary.describe("#"+string(ll_col)+".name"))) if ls_columnName = "?" or isNull(ls_columnName) then continue end iDAT*f //check to see if we are mapping this column lb_map = false for ll_map = 1 to ll_mapCount if ls_columnName = lower(trim(as_mapFrom[ll_map])) then lb_map = true exit end if next if lb_map then ls_columnName = as_mapTo[ll_map] end if if not lb_map then //check to see if we are skipping this column lb_exclude = false for ll_exc = 1 to ll_excCount if ls_columnName = lower(trim(as_exclude[ll_exc])) then lb_exclude = true DAT* exit end if next if lb_exclude then continue end if end if //copy data element from primary datastore to target datastore //***this requires that both datastores use the same column name*** ll_rc = ads_target.setitem(ll_row, ls_columnName, ads_primary.object.data[ll_row, ll_col]) if ll_rc < 0 then messageBox("Error", "Failed writing data value to column: " + ls_columnName, exclamation!) return -1 end if next //column next //row stDAT*"_status.text = ls_status return 1 end function public function integer of_transferemissionscounty (); //Transfer emissions information to the data mart n_ds_dm_emissions lds_primary n_ds_dm_emissions lds_target string ls_exclude[] string ls_empty[] long ll_rc long ll_row, ll_countyCount long ll_countyRid string ls_status string ls_statusMid string ls_rollupRidColumn ls_status = st_status.text //primary datastore lds_primary = create n_ds_dm_emissions lds_primary.of_seDAT*$tDataType("", "d_dm_emissions_county") //target datastore lds_target = create n_ds_dm_emissions lds_target.of_setDataType("", "d_dm_emissions_out") ll_countyCount = upperBound(il_countyRidArray) for ll_row = 1 to ll_countyCount setPointer(hourglass!) ll_rc = lds_primary.retrieve(il_countyRidArray[ll_row], 'TOTAL') if ll_rc < 0 then messageBox("Error", "Data retrieval failed.", exclamation!) destroy lds_primary destroy lds_target return -1 elseif ll_rc = 0 then DAT*&continue end if ls_rollupRidColumn = "county_rid" //set the null sic codes to NONE ll_rc = lds_primary.of_scan("PRE_COPY_ROLLUP_" + upper(ls_rollupRidColumn)) if ll_rc < 0 then destroy lds_primary destroy lds_target return ll_rc end if //COUNTY TOTALS ROLLUP // //set filter to get totals only // ll_rc = lds_primary.of_filter("summary_category = 'TOTAL'") // if ll_rc < 0 then // destroy lds_primary // destroy lds_target // return -1 // end if //reDAT*(set the rollup datastore lds_primary.of_resetRollup() //set the sort keys for the current rollup lds_primary.of_resetBlockSortKeys() lds_primary.of_addBlockSortKey("reference_code a") lds_primary.of_addBlockSortKey("start_date_time a") lds_primary.of_addBlockSortKey(ls_rollupRidColumn + " a") lds_primary.of_addBlockSortKey("material_code a") //run block processing using the curent keys to sum the emissions for the block ll_rc = lds_primary.of_scanBlocks("SUM_ROLLUP_AMT", 0)DAT** if ll_rc < 0 then messageBox("Error", "County rollup failed.", exclamation!) destroy lds_primary destroy lds_target return -1 end if ls_exclude = {"sic_code"} //copy data from primary rollup datastore to target datastore ll_rc = this.of_dsCopyMap(lds_primary.ids_rollup, lds_target, ls_exclude, {ls_rollupRidColumn}, {"rollup_ref_rid"}) if ll_rc = -2 then destroy lds_primary destroy lds_target return 0 //cancel return code for the driver function end if DAT*, //set the rollup level information in the target datastore ll_rc = lds_target.of_scan("POST_COPY_ROLLUP_" + upper(ls_rollupRidColumn)) if ll_rc < 0 then destroy lds_primary destroy lds_target return ll_rc end if //save the target datastore if lds_target.rowCount() > 0 then st_status.text = ls_status + " [+" + string(lds_target.rowCount()) + "]" //update target datastore // //*** debug // lds_primary.saveAs("c:\lds_primary.txt", text!, true) // lds_priDAT*.mary.ids_rollup.saveAs("c:\ids_rollup.txt", text!, true) // lds_target.saveAs("c:\lds_target.txt", text!, true) ll_rc = lds_target.of_blockUpdate() if ll_rc < 0 then messageBox("Error", "Data update failed.", exclamation!) destroy lds_primary destroy lds_target return -1 end if end if //release target datastore if isValid(lds_target) then lds_target.of_reset() end if //COUNTY SIC ROLLUP // //set filter to get totals only // ll_rc = lds_DAT*0primary.of_filter("summary_category = 'TOTAL'") // if ll_rc < 0 then // destroy lds_primary // destroy lds_target // return -1 // end if //reset the rollup datastore lds_primary.of_resetRollup() //set the sort keys for the current rollup lds_primary.of_resetBlockSortKeys() lds_primary.of_addBlockSortKey("reference_code a") lds_primary.of_addBlockSortKey("start_date_time a") lds_primary.of_addBlockSortKey(ls_rollupRidColumn + " a") lds_primary.of_addBlockSortKey("sic_cDAT*2ode a") lds_primary.of_addBlockSortKey("material_code a") //run block processing using the curent keys to sum the emissions for the block ll_rc = lds_primary.of_scanBlocks("SUM_ROLLUP_AMT", 0) if ll_rc < 0 then messageBox("Error", "County SIC rollup failed.", exclamation!) destroy lds_primary destroy lds_target return -1 end if ls_exclude = ls_empty //copy data from primary rollup datastore to target datastore ll_rc = this.of_dsCopyMap(lds_primary.ids_rollup, lDAT*4ds_target, ls_exclude, {ls_rollupRidColumn, "sic_code"}, {"rollup_ref_rid", "summary_category_code"}) if ll_rc = -2 then destroy lds_primary destroy lds_target return 0 //cancel return code for the driver function end if //set the rollup level information in the target datastore ll_rc = lds_target.of_scan("POST_COPY_ROLLUP_SIC_" + upper(ls_rollupRidColumn)) if ll_rc < 0 then destroy lds_primary destroy lds_target return ll_rc end if //save the target datastoreDAT*6 if lds_target.rowCount() > 0 then st_status.text = ls_status + " [+" + string(lds_target.rowCount()) + "]" //update target datastore // //*** debug // lds_primary.saveAs("c:\lds_primary.txt", text!, true) // lds_primary.ids_rollup.saveAs("c:\ids_rollup.txt", text!, true) // lds_target.saveAs("c:\lds_target.txt", text!, true) ll_rc = lds_target.of_blockUpdate() if ll_rc < 0 then messageBox("Error", "Data update failed.", exclamation!) destroy lds_primaDAT*8ry destroy lds_target return -1 end if end if //release target datastore if isValid(lds_target) then lds_target.of_reset() end if //COUNTY SCC ROLLUP setPointer(hourglass!) ll_rc = lds_primary.retrieve(il_countyRidArray[ll_row], 'SCC') if ll_rc < 0 then messageBox("Error", "Data retrieval failed.", exclamation!) destroy lds_primary destroy lds_target return -1 elseif ll_rc = 0 then continue end if // //set filter to get scc totalDAT*:s only // ll_rc = lds_primary.of_filter("summary_category = 'SCC'") // if ll_rc < 0 then // destroy lds_primary // destroy lds_target // return -1 // end if //reset the rollup datastore lds_primary.of_resetRollup() //set the sort keys for the current rollup lds_primary.of_resetBlockSortKeys() lds_primary.of_addBlockSortKey("reference_code a") lds_primary.of_addBlockSortKey("start_date_time a") lds_primary.of_addBlockSortKey(ls_rollupRidColumn + " a") lds_primary.of_aDAT*<ddBlockSortKey("summary_category_code a") //contains the scc code lds_primary.of_addBlockSortKey("material_code a") //run block processing using the curent keys to sum the emissions for the block ll_rc = lds_primary.of_scanBlocks("SUM_ROLLUP_AMT", 0) if ll_rc < 0 then messageBox("Error", "County SCC rollup failed.", exclamation!) destroy lds_primary destroy lds_target return -1 end if ls_exclude = {"sic_code"} //copy data from primary rollup datastore to target dDAT*>atastore ll_rc = this.of_dsCopyMap(lds_primary.ids_rollup, lds_target, ls_exclude, {ls_rollupRidColumn}, {"rollup_ref_rid"}) if ll_rc = -2 then destroy lds_primary destroy lds_target return 0 //cancel return code for the driver function end if //set the rollup level information in the target datastore ll_rc = lds_target.of_scan("POST_COPY_ROLLUP_SCC_" + upper(ls_rollupRidColumn)) if ll_rc < 0 then destroy lds_primary destroy lds_target return ll_rc end if //DAT*@save the target datastore if lds_target.rowCount() > 0 then st_status.text = ls_status + " [+" + string(lds_target.rowCount()) + "]" //update target datastore // //*** debug // lds_primary.saveAs("c:\lds_primary.txt", text!, true) // lds_primary.ids_rollup.saveAs("c:\ids_rollup.txt", text!, true) // lds_target.saveAs("c:\lds_target.txt", text!, true) ll_rc = lds_target.of_blockUpdate() if ll_rc < 0 then messageBox("Error", "Data update failed.", exclamatioDAT*Bn!) destroy lds_primary destroy lds_target return -1 end if end if //release target datastore if isValid(lds_target) then lds_target.of_reset() end if next //county if isValid(lds_primary) then destroy lds_primary end if if isValid(lds_target) then destroy lds_target end if st_status.text = ls_status return ll_rc //***** //primary datastore lds_primary = create n_ds_dm_emissions lds_primary.of_setDataType("", "d_dm_emissions_source")DAT*D setPointer(hourglass!) ll_rc = lds_primary.retrieve(il_sourceRidArray) if ll_rc < 0 then messageBox("Error", "Data retrieval failed.", exclamation!) destroy lds_primary return -1 elseif ll_rc = 0 then destroy lds_primary return 1 //return normal status for no rows end if //set filter to get totals only ll_rc = lds_primary.of_filter("summary_category = 'TOTAL'") if ll_rc < 0 then destroy lds_primary return -1 end if //ll_rc = lds_primary.of_totals(ll_countyRid) if lDAT*Fl_rc < 0 then destroy lds_primary return -1 end if //make sure we have rows if lds_primary.rowCount() = 0 then destroy lds_primary return 1 //return normal status for no rows end if //*** RETURN 1 //target datastore lds_target = create n_ds_dm_emissions lds_target.of_setDataType("", "d_dm_emissions_out") ls_exclude = {"metric_code", "metric_level_type", "process_rid", "device_rid", "source_rid", "county_rid", "scc_ams_code", "sic_code"} //copy data from primary datDAT*Hastore to target datastore ll_rc = this.of_dsCopy(lds_primary, lds_target, ls_exclude) if ll_rc = -2 then destroy lds_primary destroy lds_target return 0 //cancel return code for the driver function end if //set the rollup level information in the target datastore ll_rc = lds_target.of_scan("POST_COPY_ROLLUP_COUNTY_RID") if ll_rc < 0 then destroy lds_primary destroy lds_target return ll_rc end if //save the target datastore if lds_target.rowCount() > 0 then st_status.DAT*Jtext = ls_status + " [+" + string(lds_target.rowCount()) + "]" //update target datastore ll_rc = lds_target.update() if ll_rc < 0 then ROLLBACK USING SQLCA; messageBox("Error", "Data update failed.", exclamation!) destroy lds_primary destroy lds_target return -1 end if COMMIT USING SQLCA; if f_sqlCheck(SQLCA) < 0 then ROLLBACK USING SQLCA; messageBox("Error", "Database commit failed.", exclamation!) destroy lds_primary destroy lds_target return -1 DAT*L end if end if //release target datastore if isValid(lds_target) then lds_target.reset() end if if isValid(lds_primary) then destroy lds_primary end if if isValid(lds_target) then destroy lds_target end if st_status.text = ls_status return ll_rc end function public function long of_getgeorids (); long ll_rc long ll_row, ll_rowCount long ll_nationRid, ll_prevNationRid long ll_stateRid, ll_prevStateRid long ll_countyRid, ll_prevCountyRid long ll_arrayIndDAT*Nex n_ds_conversion_base lds_geo lds_geo = create n_ds_conversion_base lds_geo.of_setDataType("", "d_dm_geo_with_sources") ll_rc = lds_geo.retrieve() if ll_rc < 0 then messageBox("Error", "Failed retrieving geographic rids.", exclamation!) destroy lds_geo return -1 end if ll_rc = lds_geo.of_sort("nation_rid a, state_rid a, county_rid a") if ll_rc < 0 then destroy lds_geo return -1 end if ll_rowCount = lds_geo.rowCount() for ll_row = 1 to ll_rowCount ll_nationRid DAT*P= lds_geo.object.nation_rid[ll_row] ll_stateRid = lds_geo.object.state_rid[ll_row] ll_countyRid = lds_geo.object.county_rid[ll_row] if ll_nationRid <> ll_prevNationRid then ll_arrayIndex = upperbound(il_nationRidArray) + 1 il_nationRidArray[ll_arrayIndex] = ll_nationRid end if if ll_stateRid <> ll_prevStateRid then ll_arrayIndex = upperbound(il_stateRidArray) + 1 il_stateRidArray[ll_arrayIndex] = ll_stateRid end if if ll_countyRid <> ll_prevCountyRid then ll_DAT*RarrayIndex = upperbound(il_countyRidArray) + 1 il_countyRidArray[ll_arrayIndex] = ll_countyRid end if ll_prevNationRid = ll_nationRid ll_prevStateRid = ll_stateRid ll_prevCountyRid = ll_countyRid next if isValid(lds_geo) then destroy lds_geo end if return 1 end function on u_data_mart_population_interface_origina.create this.dw_data_mart_date=create dw_data_mart_date this.cb_1=create cb_1 this.st_status=create st_status this.dw_error=create dw_error this.gb_1=cDAT*Treate gb_1 this.Control[]={this.dw_data_mart_date,& this.cb_1,& this.st_status,& this.dw_error,& this.gb_1} end on on u_data_mart_population_interface_origina.destroy destroy(this.dw_data_mart_date) destroy(this.cb_1) destroy(this.st_status) destroy(this.dw_error) destroy(this.gb_1) end on event constructor; ids_sources = create n_ds_cache_base ids_sources.of_setBasePathName("","") ids_sources.of_setDataType("","d_dm_sources") inv_units = create n_ds_cache_units end evenDAT*Vt event destructor; if isValid(ids_sources) then destroy ids_sources end if if isValid(inv_units) then destroy inv_units end if end event type dw_data_mart_date from datawindow within u_data_mart_population_interface_origina integer x = 55 integer y = 80 integer width = 914 integer height = 208 integer taborder = 20 string dataobject = "d_dm_population_date" boolean border = false boolean livescroll = true end type type cb_1 from commandbutton within u_data_mart_poDAT*Xpulation_interface_origina integer x = 987 integer y = 80 integer width = 1298 integer height = 96 integer taborder = 10 integer textsize = -8 integer weight = 700 fontcharset fontcharset = ansi! fontpitch fontpitch = variable! fontfamily fontfamily = swiss! string facename = "MS Sans Serif" string text = "Refresh Data Mart" end type event clicked;long ll_rc if this.text = "Cancel" then ib_run = false this.enabled = false this.text = "Cancelling..." else ll_rc = messDAT*ZageBox("Data Mart Refresh", "Confirm Data Mart Refresh: click OK to continue.~r~n~r~n" +& "WARNING: the Data Mart refresh process will clear all data from the Data Mart, refresh all core data and re-calculate all rollups. This process can be time consuming.", & question!, okCancel!) if ll_rc = 2 then return end if this.text = "Cancel" parent.of_main() end if end event type st_status from statictext within u_data_mart_population_interface_origina integer x = 987 iDAT*\nteger y = 192 integer width = 1298 integer height = 80 integer textsize = -10 integer weight = 400 fontcharset fontcharset = ansi! fontpitch fontpitch = variable! fontfamily fontfamily = swiss! string facename = "Arial" long textcolor = 33554432 long backcolor = 67108864 boolean enabled = false boolean border = true borderstyle borderstyle = stylelowered! boolean focusrectangle = false end type type dw_error from datawindow within u_data_mart_population_interface_origina booleaDAT*^n visible = false integer x = 55 integer y = 224 integer width = 73 integer height = 64 integer taborder = 30 boolean livescroll = true borderstyle borderstyle = stylelowered! end type type gb_1 from groupbox within u_data_mart_population_interface_origina integer x = 18 integer y = 16 integer width = 2322 integer height = 304 integer taborder = 10 integer textsize = -8 integer weight = 700 fontcharset fontcharset = ansi! fontpitch fontpitch = variable! fontfamily fontfamily =DAT* swiss! string facename = "MS Sans Serif" long textcolor = 8388608 long backcolor = 80269524 string text = "Data Mart" end type DAT*b] o% @< @@1        ! " # $ % & ' ( ) *+L%2  2 * visibleDAT*xywidthheighttaborderx7p!] 7p @   @ .L%OP'-/10.2  2 * visiblexywidthheigDAT*f_@f)b?NA _@_@_@q&`@`@a0j@j@q>k@k@aJl@l@q^m@m@qj@@z@@@@A@@^@^@ f_elapsedtimefunction_objectstructuremailrecipientenvironmentmailfiledescriptionmailmessagedatawindowchildlistviewitemtreeviewitemconnectioninfopowerobject2 ( adt_startdatetimef_elapsedtime SW x DAT*xfunction_objectf_elapsedtimestructuremailrecipientenvironmentmailfiledescriptionmailmessagedatawindowchildlistviewitemtreeviewitemconnectioninfopowerobject dt@ighttiback&ro@umi0x@zabl>at@_groJ_2@1dw^_r@tdwj_f@rcbzli@dw_s @ @ @ 3DAT*no@@NAo@o@.@@7 a@M@@XI@I@ca@to@^@^@7o@o@p@i l v@v@| @@0 n_ds_dm_emissionsn_ds_nei_cache_basedwobjectn_cst_conversion_basefileaccesssaveastypen_cst_nei_exportn_ds_cache_basepowerobject?liDAT*l@8XB!b@l@x!@<@@@8@8@ #@P$se@%8@'@(@$$)z@z.*@9+$@ DAT*D9 3!y%-. y%%     $,)48<<$)P81l11X$1)l8t$18|1DAT*zLBn_ds_cache_unitsf@In_ds_conversion_basew_reportgs_inifilemessagedwbuffer Hp2 n_ds_dm_emissions T as_rollupridcolumnof_rollupbyridof_rollupbysccof_rollupbyridsccal_refridof_totalsof_resetrollupof_rollupbyblockof_prioritizeads_unitsof_resetunitsoDAT*ro@g)b?NA"o@o@6@@? a@U@@`I@I@ka@|o@^@^@?o@`o@`o@o@ib gv@v@eb @@a0 n_ds_dm_emissions_orginaln_ds_nei_cache_basedwobjectn_cst_conversion_basefileaccesssaveastypen_cst_nei_exportn_ds_cache_basepowerobject?n_0Yh0YDAT*hLBn_ds_cache_unitsHRn_ds_conversion_basedatastoregs_inifilemessagedwbufferPx2" n_ds_dm_emissions_orginal 3 of_prioritizeas_rollupridcolumnof_rollupbyridof_rollupbysccof_rollupbyridsccal_refridof_totalsof_resetrollupof_rollupbyblock+create+destroy+coDAT*vo@#@OAo@o@-@@6 a@L@@WI@I@ba@so@^@^@J7o@o@@ v@v@A 0 n_ds_dm_transfern_ds_nei_cache_basedwobjectn_cst_conversion_basefileaccesssaveastypen_cst_nei_exportn_ds_cache_basepowerobject?tSsDAT*LBn_ds_cache_units4dn_ds_conversion_basegs_inifilemessage Hp2 n_ds_dm_transfer  of_prioritizeas_rollupridcolumnof_rollupbyrid+create+destroy+constructoral_rowas_actionaa_data+ue_scanrow+destructorI IloISQLiV]gLLSA DAT*@3$@$5@85.@.833#@#844 @ 81Q`R5Ik1P1Q` (@(88z&5 Ik11`  (@(8z'8(z&50Ik1<1DAT*|f_reset+create+destroy+constructoral_rowas_actionaa_data+ue_scanrowal_startrowal_endrow+ue_scanblock+destructorsqldbcodesqlerrtextsqlsyntaxbufferrow+dberror$H ISdKILIt_ ICn_ds_cache_units.QLLLSALLLSAh@!+6@GLLSSCdwbuffer.L$0DAT*~DPt x _initsrcn_ds_nei_cache_basen_ds_dm_emissionsdwobjectn_cst_conversion_basefileaccesssaveastypen_cst_nei_exportn_ds_cache_basepowerobjectn_ds_cache_unitsn_ds_conversion_basew_reportmessagedwbuffer,@%7@@@V@a@l@}@@ @DAT* @ @@0@  R75     ^>@880)81808"0:)@@8186z%8\z&)x818080:)@@DAT*t$18|1)8$181)8$1880)8$1880)8$183@3$@$@8)8$18 3@3$@$@8)088$18@,"1o@o8)H8P$18X8e0)t8|$DAT*81111)81|| 9}$809n98^ $809n98c J8$8 09n098^ 9}B  "  "DAT*"BB1Y 9} !<111Y<1IB8$8@09nL98]L5XL"0>LL5`h$8@0L)98$808)981RDAT*nstructoral_rowas_actionaa_data+ue_scanrowal_startrowal_endrow+ue_scanblock+destructorsqldbcodesqlerrtextsqlsyntaxbufferrow+dberror@ IdwISdYILpQLLLSA LLLSAct &LLSSCdwbuffer.L (4DT x _iDAT****Main reporting window.***forward global type w_report from window end type type uo_data_mart from u_data_mart_population_interface within w_report end type type uo_ss from u_class_ss_client within w_report end type type dw_reference_codes from u_dw_reference_code within w_report end type type dw_unit_meas from u_dw_unit_code within w_report end type type st_select_report from statictext within w_report end type type uo_pollutant from u_pollutant within w_report end type type uo_eDAT*mis_period from u_emis_period within w_report end type type cb_close from commandbutton within w_report end type type cb_preview from commandbutton within w_report end type type ddlb_reportname from dropdownlistbox within w_report end type end forward global type w_report from window integer x = 87 integer y = 300 integer width = 2789 integer height = 1616 boolean titlebar = true string title = "RAPIDS Reports" boolean controlmenu = true boolean minbox = true boolean maxbox = tDAT*rue boolean resizable = true long backcolor = 79741120 string icon = "Rpt.ico" uo_data_mart uo_data_mart uo_ss uo_ss dw_reference_codes dw_reference_codes dw_unit_meas dw_unit_meas st_select_report st_select_report uo_pollutant uo_pollutant uo_emis_period uo_emis_period cb_close cb_close cb_preview cb_preview ddlb_reportname ddlb_reportname end type global w_report w_report type variables int ii_level // Source, device, process, etc string is_header long il_devDAT*ice_rid long il_process_rid long il_nation_rid long il_state_rid long il_county_rid long il_city_rid long il_source_rid string is_geo_level datetime idt_start datetime idt_end string is_ref_code string is_emittants[] any ia_emmittantblocks[] str_rpt_parms istr_rpt_parms; // structure which stores report name and parameters string is_reportname boolean ib_enable_objects boolean ib_rollup_report end variables on w_report.create this.uo_data_mart=create uo_data_mart thDAT*is.uo_ss=create uo_ss this.dw_reference_codes=create dw_reference_codes this.dw_unit_meas=create dw_unit_meas this.st_select_report=create st_select_report this.uo_pollutant=create uo_pollutant this.uo_emis_period=create uo_emis_period this.cb_close=create cb_close this.cb_preview=create cb_preview this.ddlb_reportname=create ddlb_reportname this.Control[]={this.uo_data_mart,& this.uo_ss,& this.dw_reference_codes,& this.dw_unit_meas,& this.st_select_report,& this.uo_pollutant,& thisDAT*.uo_emis_period,& this.cb_close,& this.cb_preview,& this.ddlb_reportname} end on on w_report.destroy destroy(this.uo_data_mart) destroy(this.uo_ss) destroy(this.dw_reference_codes) destroy(this.dw_unit_meas) destroy(this.st_select_report) destroy(this.uo_pollutant) destroy(this.uo_emis_period) destroy(this.cb_close) destroy(this.cb_preview) destroy(this.ddlb_reportname) end on event closequery; if uo_data_mart.ib_run then messageBox("Warning", "Data Mart transfer is still rDAT*unning.", exclamation!) message.returnValue = 1 return 1 end if If MessageBox('Exit Reporting', 'Are you sure you want to exit Reporting?', & Question!, YesNo!) = 1 then SetNull(gs_filt) Close(This) else Message.ReturnValue = 1 end if end event event open; uo_data_mart.post of_initialize() end event type uo_data_mart from u_data_mart_population_interface within w_report integer x = 18 integer y = 1152 integer width = 2377 integer height = 336 integer taborder = 70DAT* boolean border = false long backcolor = 80269524 end type on uo_data_mart.destroy call u_data_mart_population_interface::destroy end on type uo_ss from u_class_ss_client within w_report integer x = 37 integer y = 32 integer width = 1088 integer height = 416 integer taborder = 60 boolean border = true borderstyle borderstyle = stylelowered! end type on uo_ss.destroy call u_class_ss_client::destroy end on type dw_reference_codes from u_dw_reference_code within w_report bDAT*oolean visible = false integer x = 1335 integer y = 672 integer width = 1280 integer height = 112 integer taborder = 30 end type type dw_unit_meas from u_dw_unit_code within w_report boolean visible = false integer x = 1371 integer y = 800 integer width = 1243 integer height = 112 integer taborder = 40 end type type st_select_report from statictext within w_report integer x = 37 integer y = 480 integer width = 466 integer height = 64 integer textsize = -8 integer weight = DAT*700 fontcharset fontcharset = ansi! fontpitch fontpitch = variable! fontfamily fontfamily = swiss! string facename = "MS Sans Serif" long textcolor = 8388608 long backcolor = 80269524 boolean enabled = false string text = "Select Report:" boolean focusrectangle = false end type type uo_pollutant from u_pollutant within w_report boolean visible = false integer x = 1234 integer taborder = 10 boolean border = false end type on uo_pollutant.destroy call u_pollutant::destroy end DAT*on type uo_emis_period from u_emis_period within w_report boolean visible = false integer x = 37 integer y = 672 integer taborder = 50 boolean border = false end type on uo_emis_period.destroy call u_emis_period::destroy end on type cb_close from commandbutton within w_report integer x = 2414 integer y = 1376 integer width = 293 integer height = 96 integer taborder = 80 integer textsize = -8 integer weight = 700 fontpitch fontpitch = variable! fontfamily fontfamily = swisDAT*s! string facename = "MS Sans Serif" string text = "Exit" end type event clicked;//SDJ 11/20/97 Close w_report window close(Parent) end event type cb_preview from commandbutton within w_report integer x = 2414 integer y = 1248 integer width = 293 integer height = 96 integer taborder = 70 integer textsize = -8 integer weight = 700 fontpitch fontpitch = variable! fontfamily fontfamily = swiss! string facename = "MS Sans Serif" string text = "Preview" end type event clicked;DAT*integer li_num_emittants string ls_temp_emittants[] long ll_sourceRid long ll_sourceSub1Rid long ll_countyrid string ls_tempcounty, ls_tempstate, ls_tempnation, ls_tempsource SetPointer(Hourglass!) // Build the list of emittants as a temporary array, then overwrite the instance array uo_pollutant.uf_get_emittants(ls_temp_emittants, li_num_emittants) if li_num_emittants <= 0 and ib_enable_objects = TRUE then messageBox("Required Parameter Missing", "Please select emittants.", exclamDAT*ation!) return -1 end if is_emittants = ls_temp_emittants ia_emmittantblocks = uo_pollutant.ia_emittantblocks // Check to ensure report, reference code, and unit of measure were selected // and objects are enabled. IF ddlb_reportname.text = '' then messageBox("Required Parameter Missing", "Please select a report.", exclamation!) return -1 end if IF not uo_ss.of_hasData() and ib_enable_objects = TRUE then MessageBox("Source Selector", "Please select information from Source SeDAT*lector.", exclamation!) return -1 end if IF dw_reference_codes.uf_get_reference_codes() = FALSE and ib_enable_objects = TRUE then MessageBox('Reference Code', 'Please select a Reference Code.', exclamation!) return -1 end if IF ib_enable_objects = TRUE then IF dw_unit_meas.uf_check_required("Unit of Measure Missing") = FALSE then return -1 end if // If Device Connections report or Source Detail report // is selected, check to ensure a single source is selected. // If more thanDAT* one source is selected, a message box appears and will not allow user // to proceed until a single source is selected. IF (is_reportname = 'd_device_connections' or & is_reportname = 'd_device_connections_ora' or & is_reportname = 'd_source_detail') then ll_sourceRid = uo_ss.iclass_group.ids_resultSet.getItemNumber(1, uo_ss.iclass_group.is_sourceRid) ll_sourceSub1Rid = uo_ss.iclass_group.ids_resultSet.getItemNumber(1, uo_ss.iclass_group.is_sourceSub1Rid) if ll_sourcerid < 0 or ll_soDAT*urceSub1Rid < 0 then MessageBox('Error', 'cb_preview::clicked(); error in call to getItemNumber().', exclamation!) return -1 end if if not (not isNull(ll_sourceRid) and isNull(ll_sourceSub1Rid)) or & uo_ss.iclass_group.ids_resultSet.rowCount() > 1 then MessageBox('Report Input', 'Select only ONE source for this report to run.', exclamation!) return -1 end if end if // SDJ 11/24/97 Sets all variables from w_report // to structure that is passed to w_report_body istr_rpDAT*t_parms.rptname = is_reportname istr_rpt_parms.fromdate = DateTime(Date(uo_emis_period.em_start.Text)) istr_rpt_parms.todate = DateTime(Date(uo_emis_period.em_end.Text)) istr_rpt_parms.refcode = dw_reference_codes.GetItemString(1, 1) istr_rpt_parms.unitcode = dw_unit_meas.GetItemString(1, 1) istr_rpt_parms.as_null = ProfileString(gs_iniFile, 'data code priority', 'null', & 'not found') IF istr_rpt_parms.as_null = 'not found' THEN // Do this in case that rapids.ini does not have this kDAT*ey istr_rpt_parms.as_null = '99' SetProfileString(gs_iniFile, 'data code priority', 'null', istr_rpt_parms.as_null) END IF istr_rpt_parms.as_ro = ProfileString(gs_iniFile, 'data code priority', 'RO', & 'not found') IF istr_rpt_parms.as_ro = 'not found' THEN // Do this in case that rapids.ini does not have this key istr_rpt_parms.as_ro = '00' SetProfileString(gs_iniFile, 'data code priority', 'RO', istr_rpt_parms.as_ro) END IF istr_rpt_parms.matcode = is_emittants istrDAT*_rpt_parms.matcode_blocks = ia_emmittantblocks istr_rpt_parms.source_group = uo_ss.iclass_group istr_rpt_parms.rollup_report = ib_rollup_report //If the device connections report is selected, we must change the name that //the source group object uses to represent the source_rid column in the SQL //substitution. The rap_devices tables that are joined in use the same name //for source_rid as the v_rap_ss_sic view which is also joined in. To avoid //ambiguous column name problems, we maDAT*nually set the name that the source group object //will use to represent this column. We want the view source rid, so we fully //qualify the name. The source selector always resets this name to the default //when the source selector window opens, but since we can run multiple different //reports without re-opening the source selector window, we have to manage this //value here on a report by report basis. //MDY 8/99//rewrote //get original value mkc 09/03 choose case lower(is_reportnamDAT*e) case "d_device_connections","d_device_connections_ora" uo_ss.iclass_group.is_sourceRidName = "v_rap_ss_sic.source_rid" uo_ss.iclass_group.is_countyridname = "county_rid" uo_ss.iclass_group.is_stateridname = "state_rid" uo_ss.iclass_group.is_nationridname = "nation_rid" case "r_dm_county_totals","r_dm_county_sic","r_dm_county_scc" ll_sourceRid = uo_ss.iclass_group.ids_resultSet.getItemNumber(1, uo_ss.iclass_group.is_sourceRid) ll_sourceSub1Rid = uo_ss.iclass_group.ids_resultSetDAT*.getItemNumber(1, uo_ss.iclass_group.is_sourceSub1Rid) if ll_sourcerid < 0 or ll_sourceSub1Rid < 0 then MessageBox('Error', 'cb_preview::clicked(); error in call to getItemNumber().', exclamation!) return -1 end if if not (not isNull(ll_sourceRid) and isNull(ll_sourceSub1Rid)) then else MessageBox('Report Input', 'Select only Nation, State or County level for this report to run.', exclamation!) return -1 end if uo_ss.iclass_group.is_countyridname = "rap_dm_geographic_locaDAT*tions_a.rid" uo_ss.iclass_group.is_stateridname = "rap_dm_geographic_locations_b.rid" uo_ss.iclass_group.is_nationridname = "rap_dm_geographic_locations_c.rid" uo_ss.iclass_group.is_sourceridname ="source_rid" case "r_dm_state_totals","r_dm_state_sic","r_dm_state_scc" ll_sourceRid = uo_ss.iclass_group.ids_resultSet.getItemNumber(1, uo_ss.iclass_group.is_sourceRid) ll_sourceSub1Rid = uo_ss.iclass_group.ids_resultSet.getItemNumber(1, uo_ss.iclass_group.is_sourceSub1Rid) ll_countyrid = DAT*uo_ss.iclass_group.ids_resultset.getItemNumber(1, uo_ss.iclass_group.is_countyridname) if ll_sourcerid < 0 or ll_sourceSub1Rid < 0 or ll_countyrid < 0 then MessageBox('Error', 'cb_preview::clicked(); error in call to getItemNumber().', exclamation!) return -1 end if if not (isNull(ll_sourceRid) and isNull(ll_sourceSub1Rid) and isnull(ll_countyrid)) then MessageBox('Report Input', 'Select only Nation, State for this report to run.', exclamation!) return -1 end if uo_ss.iclassDAT*_group.is_countyridname = "county_rid" uo_ss.iclass_group.is_stateridname = "rap_dm_geographic_locations_a.rid" uo_ss.iclass_group.is_nationridname = "rap_dm_geographic_locations_b.rid" uo_ss.iclass_group.is_sourceridname ="source_rid" case else //set the defaults uo_ss.iclass_group.is_countyridname = "county_rid" uo_ss.iclass_group.is_stateridname = "state_rid" uo_ss.iclass_group.is_nationridname = "nation_rid" uo_ss.iclass_group.is_sourceridname ="source_rid" end choose DAT*//if is_reportname = "d_device_connections" or is_reportname = "d_device_connections_ora" then // //use report-specific fully qualified name for source_rid column in SQL // uo_ss.iclass_group.is_sourceRidName = "v_rap_ss_sic.source_rid" //else // //use default "generic" name for source_rid column in SQL // uo_ss.iclass_group.is_sourceRidName = "source_rid" //end if // Opens w_report_body and passes structure // Structure opens correct datawindow and passes variables OpenWithParm(wDAT*_report_body, istr_rpt_parms) end event type ddlb_reportname from dropdownlistbox within w_report integer x = 37 integer y = 544 integer width = 1097 integer height = 944 integer taborder = 20 boolean bringtotop = true integer textsize = -8 integer weight = 700 fontpitch fontpitch = variable! fontfamily fontfamily = swiss! string facename = "MS Sans Serif" boolean sorted = false boolean vscrollbar = true string item[] = {"Emissions by County","Emissions by Source","Emissions byDAT* Device","Emissions by Process","Source Emissions Summary","Source Detail Report","Source Device Connections","County Emissions Breakdown","Data Mart: State Totals Rollup","Data Mart: State SCC Rollup","Data Mart: State SIC Rollup","Data Mart: County Totals Rollup","Data Mart: County SCC Rollup","Data Mart: County SIC Rollup"} borderstyle borderstyle = stylelowered! end type event selectionchanged;// Sets report name drop down to instance variable is_reportName = ddlb_reportName.text(iDAT*ndex) // Assigns instance variable to a specific datawindow(report) choose case is_reportname case 'County Emissions Breakdown' is_reportname = 'd_county_breakdown' ib_rollup_report = TRUE ib_enable_objects = TRUE case 'Emissions by County' is_reportname = 'd_county_rollup' ib_rollup_report = TRUE ib_enable_objects = TRUE //test warehouse report case 'Emissions by County (Warehouse)' is_reportname = 'd_county_rollup_warehouse' ib_rollup_report = TRUE ibDAT*_enable_objects = TRUE case 'Emissions by Source' is_reportname = 'd_source_rollup' ib_rollup_report = TRUE ib_enable_objects = TRUE case 'Emissions by Device' is_reportname = 'd_device_rollup' ib_rollup_report = TRUE ib_enable_objects = TRUE case 'Emissions by Process' is_reportname = 'd_process_rollup' ib_rollup_report = TRUE ib_enable_objects = TRUE case 'Source Emissions Summary' is_reportname = 'd_source_summary' ib_rollup_report = TRUE ib_enable_obDAT*ljects = TRUE case 'Source Detail Report' is_reportname = 'd_source_detail' ib_rollup_report = FALSE ib_enable_objects = FALSE case 'Source Device Connections' if gs_database = 'ORACLE' then is_reportname = 'd_device_connections_ora' else is_reportname = 'd_device_connections' end if ib_rollup_report = FALSE ib_enable_objects = FALSE case 'Source Stream Tracing' is_reportname = 'd_stream_tracing' ib_rollup_report = FALSE ib_enable_objects = FALSE DAT*nitsrcn_ds_nei_cache_basen_ds_dm_emissions_orginaldwobjectn_cst_conversion_basefileaccesssaveastypen_cst_nei_exportn_ds_cache_basepowerobjectn_ds_cache_unitsn_ds_conversion_basedatastoremessagedwbuffer,@%?@H@^@i@t@@@ @ @ @@DAT*@ P5)     b@880)81808"0:)@@81860)818080:)@@81111)81DAT*VZ 9} $809n98^ $809n 98c ($8009n<98YD$8L09n\98^9}@   "  ""@@1Y9}DAT*   x _initsrcn_ds_nei_cache_basen_ds_dm_transferdwobjectn_cst_conversion_basefileaccesssaveastypen_cst_nei_exportn_ds_cache_basepowerobjectn_ds_cache_unitsn_ds_conversion_basemessage rcs_nese@s_dm%_oald6cs@nver?fi@cessUe@t_ne`_d@che_kob@n_d|it@ds_cba@atas ge@uffe v@@ @ DAT*)8$181)8$1880)8$1880)8$183@3$@$@8)8$18 3@3$@$@8)088$18@, 1o@o8)H8P$18X8e0)t8|$)8<1DAT** L \ l|2d\d- ll_rcls_metriccodesqlcags_user_idP @#" @ dw_data_mart_date!settransobject^$!retrieve1D!insertrow(`!ridsetitemO!ref_ridO!metric_codeDM CLRP!metric_level_typeDMtP!creation_date_tiDAT*meO!start_date_timeO!user_idP!comment_textNot PopulatedP!updatead 4 < P X l t           0 8 H P t |  *,!8\, ,81X1L8,,81180,,DAT*8118P,,8118r,,81T18,,8118,,8118,,8118,,81L14$18<8H0)X8`$18h8z0DAT*)8$183@3$@$@8)8$183@3$@$@8)8$183@3$@$@8)8$18, 1o@o8)8$18 80)(80$11:@:@)H8P$)`8<,DAT*,8111  & HX\h !""D%T&`'*+,/01456<<L=~>? @dABC4DlFGHMd> ll_rcgs_databasesqlcaora_cleardatamartgs_user_idd!@@# X>3 @h ORACLEtruncate table rap_dm_activitiestruncate table rap_dm_emDAT*issionstruncate table rap_dm_throughputstruncate table rap_dm_processestruncate table rap_dm_devicestruncate table rap_dm_source_geo_groupstruncate table rap_dm_sourcestruncate table rap_dm_geographic_locationsdw_data_mart_date!!metric_codeDM CLRsetitemPO!!metric_level_typeDMPO!!creation_date_timeOO!!start_date_timeOO!!end_date_timeOO!!user_idPO!!comment_textNot PopulatedPO!!setiteDAT*mstatus8!!updatedX4 X `           ( 0 H P ` X%$$$6j@T8\0,)8:F@@8)818080:)@@8111j8DAT*0,)8)8<11180)$8,$48<z%)L8(@(8z(8Tz&)`8<1,808h0:)@@8,,81,808|0:)@@81"$DAT*26 "0Ld~!"$#@'X()-02566T7d8j;<=>?DE HIL"NDd` lds_primarylds_targetls_exclude ll_rcll_rowll_copyrowls_statussqlca, " ",-8>EP Z@# st_statusncDAT*messageBox("Error", "Data discard failed.", exclamation!) destroy lds_primary return -1 end if //*** debug // lds_primary.saveAs("c:\lds_primary_dis_1.txt", text!, true) // lds_primary.ids_rollup.saveAs("c:\ids_rollup_dis_1.txt", text!, true) // lds_target.saveAs("c:\lds_target_dis_1.txt", text!, true) //make sure we still have rows if lds_primary.rowCount() = 0 then destroy lds_primary return 1 //return normal status for no rows end if //normalize the emissions data //(hanDAT*dles start/end dates, value types, scc codes, sic codes, data codes) ll_rc = lds_primary.of_scan("NORMALIZE") if ll_rc < 0 then messageBox("Error", "Data normalization failed.", exclamation!) destroy lds_primary return -1 end if //*** debug // lds_primary.saveAs("c:\lds_primary_norm.txt", text!, true) // lds_primary.ids_rollup.saveAs("c:\ids_rollup_norm.txt", text!, true) // lds_target.saveAs("c:\lds_target_norm.txt", text!, true) //throw out records without downstream discharge DAT*metric //(some records may have had metric code changed to DISCARD during normalization ll_rc = lds_primary.of_discardByStringArray("metric_code", {"DOWNSTRMDIS"}) if ll_rc < 0 then messageBox("Error", "Data discard failed.", exclamation!) destroy lds_primary return -1 end if //*** debug //lds_primary.saveAs("c:\lds_primary_dis_2.txt", text!, true) //lds_primary.ids_rollup.saveAs("c:\ids_rollup_dis_2.txt", text!, true) //lds_target.saveAs("c:\lds_target_dis_2.txt", text!, true) DAT*//make sure we still have rows if lds_primary.rowCount() = 0 then destroy lds_primary return 1 //return normal status for no rows end if //prioritize records by data code and value type //we should end up with one record per //reference_code/start_date_time/process_rid/material_code combination ll_rc = lds_primary.of_prioritize() if ll_rc < 0 then messageBox("Error", "Data prioritization failed.", exclamation!) destroy lds_primary return -1 end if //*** debug //lds_primaryDAT*.saveAs("c:\lds_primary_prio.txt", text!, true) //make sure we still have rows if lds_primary.rowCount() = 0 then destroy lds_primary return 1 //return normal status for no rows end if //target datastore lds_target = create n_ds_dm_emissions lds_target.of_setDataType("", "d_dm_emissions_out") ls_exclude = {"metric_code", "metric_level_type", "process_rid", "device_rid", "source_rid", "county_rid", "scc_ams_code", "sic_code"} //copy data from primary datastore to target datasDAT*tore ll_rc = this.of_dsCopyemissions(lds_primary, lds_target, ls_exclude,"POST_COPY_ROLLUP_PROCESS_RID") if ll_rc = -2 then destroy lds_primary destroy lds_target return 0 //cancel return code for the driver function end if //set the rollup level information in the target datastore ll_rc = lds_target.of_scan("POST_COPY_ROLLUP_PROCESS_RID") if ll_rc < 0 then destroy lds_primary destroy lds_target return ll_rc end if //save the target datastore if lds_target.rowCount() > 0 tDAT*hen st_status.text = ls_status + " [+" + string(lds_target.rowCount()) + "]" //update target datastore //ll_rc = lds_target.of_blockUpdate() ll_rc = lds_target.update() if ll_rc < 0 then //ROLLBACK USING SQLCA; lds_target.is_sourceDataObject = lds_primary.dataObject messageBox("Error", "Data update failed.", exclamation!) destroy lds_primary destroy lds_target return -1 else commit; if f_sqlCheck(SQLCA) < 0 then ROLLBACK USING SQLCA; messageBox("EDAT*rror", "Database commit failed.", exclamation!) return -1 end if end if // COMMIT USING SQLCA; // if f_sqlCheck(SQLCA) < 0 then // ROLLBACK USING SQLCA; // messageBox("Error", "Database commit failed.", exclamation!) // destroy lds_primary // destroy lds_target // return -1 // end if end if //release target datastore if isValid(lds_target) then lds_target.of_reset() destroy(lds_target) lds_target = create n_ds_dm_emissions lds_target.of_setDataType("", DAT*"d_dm_emissions_out") // lds_target.of_reset() end if ////SOURCE LEVEL SCC ROLLUP //lds_primaryCopy = create n_ds_dm_emissions //ll_rc = lds_primary.rowsCopy(1, lds_primary.rowCount(), primary!, lds_primaryCopy, 1, primary!) // ////rollup primary datastore by source rid and scc //ll_rc = lds_primaryCopy.of_rollupByRidScc("source_rid") //if ll_rc < 0 then // destroy lds_primary // destroy lds_primaryCopy // destroy lds_target // return ll_rc //end if // ////copy data from primary DAT*datastore to target datastore //ll_rc = this.of_dsCopyMap(lds_primaryCopy, lds_target, ls_exclude, {"scc_ams_code"}, {"summary_category_code"}) //if ll_rc = -2 then // destroy lds_primary // destroy lds_primaryCopy // destroy lds_target // return 0 //cancel return code for the driver function //end if // ////destroy the copy //if isValid(lds_primaryCopy) then // destroy lds_primaryCopy //end if // ////set the rollup level information in the target datastore //ll_rc = lds_target.of_sDAT*can("POST_COPY_ROLLUP_SOURCE_RID_SCC") //if ll_rc < 0 then // destroy lds_primary // destroy lds_target // return ll_rc //end if // ////save the target datastore //if lds_target.rowCount() > 0 then // // st_status.text = ls_status + " [+" + string(lds_target.rowCount()) + "]" // // //update target datastore // ll_rc = lds_target.update() // if ll_rc < 0 then // ROLLBACK USING SQLCA; // messageBox("Error", "Data update failed.", exclamation!) // destroy lds_primary // destroDAT*y lds_target // return -1 // end if // // COMMIT USING SQLCA; // if f_sqlCheck(SQLCA) < 0 then // ROLLBACK USING SQLCA; // messageBox("Error", "Database commit failed.", exclamation!) // destroy lds_primary // destroy lds_target // return -1 // end if // //end if // ////release target datastore //if isValid(lds_target) then // lds_target.of_reset() //end if ls_exclude = {"metric_code", "metric_level_type", "process_rid", "device_rid", "source_rid", "county_rid", "sDAT*cc_ams_code", "sic_code", "data_code", "value_type", "method_type", "reference_type"} //SOURCE LEVEL SCC ROLLUP ls_rollupRidColumn = "source_rid" ls_scanname = "POST_COPY_ROLLUP_SCC_" + upper(ls_rollupRidColumn) lds_primary.is_scanname = ls_scanname //reset the rollup datastore lds_primary.of_resetRollup() //set the sort keys for the current rollup lds_primary.of_resetBlockSortKeys() lds_primary.of_addBlockSortKey("reference_code a") lds_primary.of_addBlockSortKey("start_date_timDAT*e a") lds_primary.of_addBlockSortKey(ls_rollupRidColumn + " a") lds_primary.of_addBlockSortKey("scc_ams_code a") lds_primary.of_addBlockSortKey("material_code a") //run block processing using the curent keys to sum the emissions for the block ll_rc = lds_primary.of_scanBlocks("SUM_ROLLUP_AMT", 0) if ll_rc < 0 then messageBox("Error", "Source SCC rollup failed.", exclamation!) destroy lds_primary destroy lds_target return -1 end if //copy data from primary rollup datastore to taDAT*rget datastore ll_rc = this.of_dscopymapemissions(lds_primary.ids_rollup, lds_target, ls_exclude, {ls_rollupRidColumn, "scc_ams_code"}, {"rollup_ref_rid", "summary_category_code"},ls_scanname) if ll_rc = -2 then destroy lds_primary destroy lds_target return 0 //cancel return code for the driver function end if //set the rollup level information in the target datastore ll_rc = lds_target.of_scan(ls_scanname) if ll_rc < 0 then destroy lds_primary destroy lds_target return ll_rc DAT*h end if //save the target datastore if lds_target.rowCount() > 0 then st_status.text = ls_status + " [+" + string(lds_target.rowCount()) + "]" //update target datastore // //*** debug // lds_primary.saveAs("c:\lds_primary.txt", text!, true) // lds_primary.ids_rollup.saveAs("c:\ids_rollup.txt", text!, true) // lds_target.saveAs("c:\lds_target.txt", text!, true) //ll_rc = lds_target.of_blockUpdate() ll_rc = lds_target.update() if ll_rc < 0 then lds_target.is_sourceDaDAT* LOGIC ="and" ) WHERE( EXP1 ="rap_dm_emissions.material_code" OP ="in" EXP2 ="" ) ) 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 = "fromDate" TYPE = datetime) ARG(NAME = "toDate" TYPE = datetime) ARG(NAME = "as_null" TYPE = strinDAT*g) ARG(NAME = "as_ro" TYPE = string) ARG(NAME = "unitCode" TYPE = string) ARG(NAME = "refCode" TYPE = string) ARG(NAME = "matCode" TYPE = stringlist) \"1"1"1"1"0"0"0DAT*tx7DAT*  K0+z _@880)81808"0:)@@81860)818080:)@@81111)81Z 9}DAT* $809n98^ $809n 98c ($8009n<98YD$8L09n\98^9}@   "  ""@@1Y9}!` 1d$8l0DAT*)8<1* L \ l|2d\d- ll_rcls_metriccodesqlcags_user_idP !@%""@ dw_data_mart_date!settransobject^$!retrieve1D!insertrow(`!ridsetitemO!ref_ridO!metric_codeDM CLRP!metric_level_typeDMPDAT*!creation_date_timeO!start_date_timeO!user_idP!comment_textNot Populated P!update@d 4 < P X l t           0 8 H P t |  *,#8\,! ,!81X1L8,!,!811DAT*80,!,!8118P,!,!8118r,!,!81T18,!,!8118,!,!8118,!,!8118,!,!81L14$18<8H0)X8`DAT*$18h8z0)8$183@3$@$@8)8$183@3$@$@8)8$183@3$@$@8)8$18,"1o@o8)8$18 80)(80$11:@:@)H8P$DAT*)`8<,!,!8111  & HX\h !""D%T&`'*+,/01456<<L=~>? @dABC4DlFGHMd> ll_rcgs_databasesqlcaora_cleardatamartgs_user_idd#@!@% x>3"@h ORACLEtruncate table rap_dm_activitieDAT*struncate table rap_dm_emissionstruncate table rap_dm_throughputstruncate table rap_dm_processestruncate table rap_dm_devicestruncate table rap_dm_source_geo_groupstruncate table rap_dm_sourcestruncate table rap_dm_geographic_locationsdw_data_mart_date!!metric_codeDM CLRsetitemPO!!metric_level_typeDMgPO!!creation_date_timeOO!!start_date_timeOO!!end_date_timeOO!!user_idPO!!comment_textNot PopulatDAT*edPO!!setitemstatus8!!updatedX4 X `           ( 0 H P ` h%$$$6j@T8\0,!)8:F@@8)818080:)@@8111jDAT*80,!)8)8<11180)$8,$48<z%)L8(@(8z(8Tz&)`8<1,!808h0:)@@8,!,! 81,!808|0:)@@81DAT* "2$6 "0Ld~!"$#@'X()-136F7d8t9z<=>?@EFI"J,M2OTd` lds_primarylds_targetls_exclude ll_rcll_rowll_copyrowls_statussqlca, $ $,-8>EP DAT*Z!@% st_statusnc#text_dmn_ds_dm_transfere r,$dataobjectHd_dm_geo_locationssettransobjectoretrieveErrorData retrieval failed.,$Hd_dm_geo_locations_outoof_dscopyBtransfer_post_copyof_processdata@# [+rowcount@]update. VData update failed.Database commit failed.# $ @T    DAT*$_emissions.summary_category") COLUMN(NAME="rap_dm_emissions.summary_category_code") COLUMN(NAME="rap_dm_emissions.material_code") COLUMN(NAME="rap_dm_emissions.unit_code") COLUMN(NAME="rap_dm_emissions.rollup_amt") COLUMN(NAME="rap_dm_emissions.reference_code") COLUMN(NAME="rap_dm_emissions.start_date_time") COLUMN(NAME="rap_dm_emissions.end_date_time") COLUMN(NAME="rap_dm_emissions.data_code") COLUMN(NAME="rap_dm_emissions.value_type") COLUMN(NAME="rap_dm_emissions.reference_type") COLUMN(NAME="rDAT*ap_dm_emissions.method_type") COLUMN(NAME="rap_dm_emissions.confidential_flag")) \"1"1"1"1"0"0"0DAT*(PDW0800pdwPl````) F$&nn``DAT** @D`"DAT*,  metric_code_t$1<  $ 0%  MS Sans SerifMS Sans Serif$2$-8$700$ 536870912$DAT*. 9$8$452$x%549% Metric Code Metric Code"!0`-# $&(+metric_level_type_t$%|7567$'w 544%)*Metric Level TypeMetric Level TypeDAT*0",0`8". /136 ref_rid_t$0`1120$2;270%45Ref RidRef Rid"70`C-9 :<>Astart_date_time_t$;2w1399$=hDAT*2475%?@Start Date TimeStart Date Time"B0`N8D EGILconfidential_flag_t$F[1883$HOi361%JK Confidential Confidential"M0`YCO PRTW DAT*4data_code_t$Q2254$SE;315%UV Data Code Data Code"X0`dNZ []_bend_date_time_t$\4 2578$^x%549%`aEnd Date TimeEnd Date Time"c0`oYeDAT*6 fhjmmaterial_code_t$g@ 3136$ix%549%klMaterial CodeMaterial Code"n0`zdp qsuxmethod_type_t$r(n3694$tU389%vw MetDAT*8hod Type Method Type"y0`o{ |~reference_code_t$}4091$x%549%Reference CodeReference Code"0`z reference_type_t$)DAT*:4649$i480%Reference TypeReference Type"0`  value_amt_t$d5138$y)553% Value Amount Value Amount"0` DAT* value_type_t$E5701$JR338% Value Type Value Type"0` value_unit_code_t$+6048$j485%Value Unit CodeValue Unit Code"DAT*>release 8; datawindow(units=0 timer_interval=0 color=16777215 processing=1 HTMLDW=no print.documentname="" print.orientation = 0 print.margin.left = 110 print.margin.right = 110 print.margin.top = 96 print.margin.bottom = 96 print.paper.source = 0 print.paper.size = 0 print.prompt=no print.buttons=no print.preview.buttons=no grid.lines=0 ) header(height=68 color="536870912" ) summary(height=0 color="536870912" ) footer(height=0 color="536870912" ) detail(height=80 color="536870912" ) table(cDAT*@olumn=(type=char(12) update=yes updatewhereclause=yes name=metric_code dbname="rap_activities.metric_code" ) column=(type=char(3) update=yes updatewhereclause=yes name=metric_level_type dbname="rap_activities.metric_level_type" ) column=(type=decimal(0) update=yes updatewhereclause=yes name=rollup_ref_rid dbname="rap_activities.ref_rid" ) column=(type=datetime update=yes updatewhereclause=yes name=start_date_time dbname="rap_activities.start_date_time" ) column=(type=char(1) update=yes updDAT*Batewhereclause=yes name=confidential_flag dbname="rap_activities.confidential_flag" ) column=(type=char(4) update=yes updatewhereclause=yes name=data_code dbname="rap_activities.data_code" ) column=(type=datetime update=yes updatewhereclause=yes name=end_date_time dbname="rap_activities.end_date_time" ) column=(type=char(12) update=yes updatewhereclause=yes name=material_code dbname="rap_activities.material_code" ) column=(type=char(2) update=yes updatewhereclause=yes name=method_type dbnaDAT*Dme="rap_activities.method_type" ) column=(type=char(12) update=yes updatewhereclause=yes name=reference_code dbname="rap_activities.reference_code" ) column=(type=char(6) update=yes updatewhereclause=yes name=reference_type dbname="rap_activities.reference_type" ) column=(type=decimal(11) update=yes updatewhereclause=yes name=rollup_amt dbname="rap_activities.value_amt" ) column=(type=char(3) update=yes updatewhereclause=yes name=value_type dbname="rap_activities.value_type" ) column=(tyDAT*Fpe=char(8) update=yes updatewhereclause=yes name=unit_code dbname="rap_activities.value_unit_code" ) column=(type=decimal(0) updatewhereclause=yes name=process_rid dbname="rap_processes.rid" ) column=(type=decimal(0) updatewhereclause=yes name=device_rid dbname="rap_devices.rid" ) column=(type=decimal(0) updatewhereclause=yes name=source_rid dbname="rap_sources.rid" initial="null" ) column=(type=char(10) updatewhereclause=yes name=scc_ams_code dbname="rap_processes.scc_ams_code" ) columnDAT*H=(type=char(4) updatewhereclause=yes name=sic_code dbname="rap_sources.sic_code" ) retrieve="PBSELECT( VERSION(400) TABLE(NAME=~"rap_activities~" ) TABLE(NAME=~"rap_streams~" ) TABLE(NAME=~"rap_processes~" ) TABLE(NAME=~"rap_devices~" ) TABLE(NAME=~"rap_sources~" ) COLUMN(NAME=~"rap_activities.metric_code~") COLUMN(NAME=~"rap_activities.metric_level_type~") COLUMN(NAME=~"rap_activities.ref_rid~") COLUMN(NAME=~"rap_activities.start_date_time~") COLUMN(NAME=~"rap_activities.confidential_flag~"DAT*J) COLUMN(NAME=~"rap_activities.data_code~") COLUMN(NAME=~"rap_activities.end_date_time~") COLUMN(NAME=~"rap_activities.material_code~") COLUMN(NAME=~"rap_activities.method_type~") COLUMN(NAME=~"rap_activities.reference_code~") COLUMN(NAME=~"rap_activities.reference_type~") COLUMN(NAME=~"rap_activities.value_amt~") COLUMN(NAME=~"rap_activities.value_type~") COLUMN(NAME=~"rap_activities.value_unit_code~") COLUMN(NAME=~"rap_processes.rid~") COLUMN(NAME=~"rap_devices.rid~") COLUMN(NAME=~"rap_sources.rDAT*Lid~") COLUMN(NAME=~"rap_processes.scc_ams_code~") COLUMN(NAME=~"rap_sources.sic_code~") JOIN (LEFT=~"rap_activities.ref_rid~" OP =~"=~"RIGHT=~"rap_streams.rid~" ) JOIN (LEFT=~"rap_processes.rid~" OP =~"=~"RIGHT=~"rap_streams.from_process_rid~" ) JOIN (LEFT=~"rap_devices.rid~" OP =~"=~"RIGHT=~"rap_processes.device_rid~" ) JOIN (LEFT=~"rap_devices.source_rid~" OP =~"=~"RIGHT=~"rap_sources.rid~" )WHERE( EXP1 =~"rap_activities.metric_code~" OP =~"=~" EXP2 =~"'DOWNSTRMDIDAT*NS'~" ) ) ARG(NAME = ~"an_sourceRidArray~" TYPE = numberlist) " data.storage=disk arguments=(("an_sourceRidArray", numberlist)) ) text(band=header alignment="2" text="Metric Code" border="0" color="0" x="9" y="8" height="52" width="549" html.valueishtml="0" name=metric_code_t visible="1" 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="Metric LevelDAT*P Type" border="0" color="0" x="567" y="8" height="52" width="544" html.valueishtml="0" name=metric_level_type_t visible="1" 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="Ref Rid" border="0" color="0" x="1120" y="8" height="52" width="270" html.valueishtml="0" name=ref_rid_t visible="1" font.face="MS Sans Serif" font.height="-8" font.weight="70DAT*R0" font.family="2" font.pitch="2" font.charset="0" background.mode="1" background.color="536870912" ) text(band=header alignment="2" text="Start Date Time" border="0" color="0" x="1399" y="8" height="52" width="475" html.valueishtml="0" name=start_date_time_t visible="1" 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="Confidential" border="0" coDAT*Tlor="0" x="1883" y="8" height="52" width="361" html.valueishtml="0" name=confidential_flag_t visible="1" 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="Data Code" border="0" color="0" x="2254" y="8" height="52" width="315" html.valueishtml="0" name=data_code_t visible="1" font.face="MS Sans Serif" font.height="-8" font.weight="700" font.familyDAT*V="2" font.pitch="2" font.charset="0" background.mode="1" background.color="536870912" ) text(band=header alignment="2" text="End Date Time" border="0" color="0" x="2578" y="8" height="52" width="549" html.valueishtml="0" name=end_date_time_t visible="1" 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="Material Code" border="0" color="0" x="3136" yDAT*X="8" height="52" width="549" html.valueishtml="0" name=material_code_t visible="1" 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="Method Type" border="0" color="0" x="3694" y="8" height="52" width="389" html.valueishtml="0" name=method_type_t visible="1" font.face="MS Sans Serif" font.height="-8" font.weight="700" font.family="2" font.pitch="2DAT*Z" font.charset="0" background.mode="1" background.color="536870912" ) text(band=header alignment="2" text="Reference Code" border="0" color="0" x="4091" y="8" height="52" width="549" html.valueishtml="0" name=reference_code_t visible="1" 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="Reference Type" border="0" color="0" x="4649" y="8" height="52DAT*\" width="480" html.valueishtml="0" name=reference_type_t visible="1" 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="Value Amount" border="0" color="0" x="5138" y="8" height="52" width="553" html.valueishtml="0" name=value_amt_t visible="1" font.face="MS Sans Serif" font.height="-8" font.weight="700" font.family="2" font.pitch="2" font.charset=DAT*^"0" background.mode="1" background.color="536870912" ) text(band=header alignment="2" text="Value Type" border="0" color="0" x="5701" y="8" height="52" width="338" html.valueishtml="0" name=value_type_t visible="1" 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="Value Unit Code" border="0" color="0" x="6048" y="8" height="52" width="485" html.valDAT*`ueishtml="0" name=value_unit_code_t visible="1" 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="Rap Processes Rid" border="0" color="0" x="6542" y="4" height="76" width="1152" html.valueishtml="0" name=t_1 visible="1" font.face="Arial" font.height="-12" font.weight="400" font.family="2" font.pitch="2" font.charset="0" background.mode="2" backgrDAT*bound.color="16777215" ) text(band=header alignment="0" text="Rap Devices Rid" border="0" color="0" x="7703" y="4" height="76" width="1152" html.valueishtml="0" name=t_2 visible="1" 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="Rap Sources Rid" border="0" color="0" x="8864" y="4" height="76" width="1152" html.valueishtml="0" name=t_3 visible="1" font.DAT*dface="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="Rap Processes Scc Ams Code" border="0" color="0" x="10025" y="4" height="76" width="430" html.valueishtml="0" name=t_4 visible="1" 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="0DAT*f" text="Rap Sources Sic Code" border="0" color="0" x="10464" y="4" height="76" width="165" html.valueishtml="0" name=t_5 visible="1" 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=10 border="0" color="0" x="9" y="8" height="64" width="549" format="[general]" html.valueishtml="0" name=metric_code visible="1" edit.limit=12 edit.case=any edit.DAT*hfocusrectangle=no edit.autoselect=yes edit.autohscroll=yes edit.imemode=0 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=20 border="0" color="0" x="567" y="8" height="64" width="544" format="[general]" html.valueishtml="0" name=metric_level_type visible="1" edit.limit=3 edit.case=any edit.focusrectangle=no edit.autoselect=yes edit.auDAT*jtohscroll=yes edit.imemode=0 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="1" tabsequence=30 border="0" color="0" x="1120" y="8" height="64" width="270" format="[general]" html.valueishtml="0" name=rollup_ref_rid visible="1" edit.limit=0 edit.case=any edit.focusrectangle=no edit.autoselect=yes edit.autohscroll=yes edit.imemode=0 font.face="MS SanDAT*ls 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=40 border="0" color="0" x="1399" y="8" height="64" width="475" format="[shortdate] [time]" html.valueishtml="0" name=start_date_time visible="1" edit.limit=0 edit.case=any edit.focusrectangle=no edit.autoselect=yes edit.autohscroll=yes edit.imemode=0 font.face="MS Sans Serif" font.height="-8" font.weightDAT*n="700" font.family="2" font.pitch="2" font.charset="0" background.mode="1" background.color="536870912" ) column(band=detail id=5 alignment="0" tabsequence=50 border="0" color="0" x="1883" y="8" height="64" width="361" format="[general]" html.valueishtml="0" name=confidential_flag visible="1" edit.limit=1 edit.case=any edit.focusrectangle=no edit.autoselect=yes edit.autohscroll=yes edit.imemode=0 font.face="MS Sans Serif" font.height="-8" font.weight="700" font.family="2" font.pitch="2" font.DAT*pcharset="0" background.mode="1" background.color="536870912" ) column(band=detail id=6 alignment="0" tabsequence=60 border="0" color="0" x="2254" y="8" height="64" width="315" format="[general]" html.valueishtml="0" name=data_code visible="1" edit.limit=4 edit.case=any edit.focusrectangle=no edit.autoselect=yes edit.autohscroll=yes edit.imemode=0 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="53DAT*r6870912" ) column(band=detail id=7 alignment="0" tabsequence=70 border="0" color="0" x="2578" y="8" height="64" width="549" format="[shortdate] [time]" html.valueishtml="0" name=end_date_time visible="1" edit.limit=0 edit.case=any edit.focusrectangle=no edit.autoselect=yes edit.autohscroll=yes edit.imemode=0 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 aliDAT*tgnment="0" tabsequence=80 border="0" color="0" x="3136" y="8" height="64" width="549" format="[general]" html.valueishtml="0" name=material_code visible="1" edit.limit=12 edit.case=any edit.focusrectangle=no edit.autoselect=yes edit.autohscroll=yes edit.imemode=0 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=9 alignment="0" tabsequence=90 border="0" color="0" DAT*vx="3694" y="8" height="64" width="389" format="[general]" html.valueishtml="0" name=method_type visible="1" edit.limit=2 edit.case=any edit.focusrectangle=no edit.autoselect=yes edit.autohscroll=yes edit.imemode=0 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=100 border="0" color="0" x="4091" y="8" height="64" width="549" format="[DAT*xgeneral]" html.valueishtml="0" name=reference_code visible="1" edit.limit=12 edit.case=any edit.focusrectangle=no edit.autoselect=yes edit.autohscroll=yes edit.imemode=0 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=110 border="0" color="0" x="4649" y="8" height="64" width="480" format="[general]" html.valueishtml="0" name=referenDAT*zce_type visible="1" edit.limit=6 edit.case=any edit.focusrectangle=no edit.autoselect=yes edit.autohscroll=yes edit.imemode=0 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=12 alignment="1" tabsequence=120 border="0" color="0" x="5138" y="4" height="64" width="553" format="[general]" html.valueishtml="0" name=rollup_amt visible="1" edit.limit=0 edit.case=any edDAT*|it.focusrectangle=no edit.autoselect=yes edit.autohscroll=yes edit.imemode=0 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=13 alignment="0" tabsequence=130 border="0" color="0" x="5701" y="8" height="64" width="338" format="[general]" html.valueishtml="0" name=value_type visible="1" edit.limit=3 edit.case=any edit.focusrectangle=no edit.autoselect=yes edit.autDAT*~ohscroll=yes edit.imemode=0 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=14 alignment="0" tabsequence=140 border="0" color="0" x="6048" y="8" height="64" width="485" format="[general]" html.valueishtml="0" name=unit_code visible="1" edit.limit=8 edit.case=any edit.focusrectangle=no edit.autoselect=yes edit.autohscroll=yes edit.imemode=0 font.face="MS Sans SeDAT*rif" 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=15 alignment="0" tabsequence=32766 border="0" color="0" x="6542" y="0" height="64" width="1152" format="[general]" html.valueishtml="0" name=process_rid visible="1" edit.limit=0 edit.case=any edit.autoselect=yes edit.imemode=0 font.face="MS Sans Serif" font.height="-8" font.weight="700" font.family="2" font.pitch="2" font.charset="0" DAT*\background.mode="1" background.color="536870912" ) column(band=detail id=16 alignment="0" tabsequence=32766 border="0" color="0" x="7703" y="4" height="64" width="1152" format="[general]" html.valueishtml="0" name=device_rid visible="1" edit.limit=0 edit.case=any edit.autoselect=yes edit.imemode=0 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=17 alignment="0"DAT*0` t_1< %ArialArial$-12$400$ 16777215$6542$4$L76$DAT*1152%Rap Processes RidRap Processes Rid"0` t_2$7703$1152%Rap Devices RidRap Devices Rid"0` DAT*t_3$"8864$1152%Rap Sources RidRap Sources Rid"0` t_4$)'10025$^430%Rap Processes Scc Ams CodeRap Processes Scc Ams Code"DAT*0` t_5$(10464$$165%Rap Sources Sic CodeRap Sources Sic Code"0@@PDAT* ( metric_code$ 9$@64$x%549& [general] [general]"0 (  metric_level_type$ |7DAT*567$ w 544"0(rollup_ref_rid$`1120$;270& [general] [general]"0'DAT*!((%$start_date_time$2w1399$ h475&"#[shortdate] [time][shortdate] [time]"&00()+2(.-confidential_flag$*[1883$,ODAT*i361"/09'124<(76 data_code$32254$5E;315"80B0:;=!F(@?end_date_time$<DAT*4 2578$>x%549"A0K9CDFP(IH material_code$E@ 3136$Gx%549"J0TBLMO Z(RDAT*Q method_type$N(n3694$PU389"S0]KUVX d([Z reference_code$W4091$Yx%549"\0fT^_DAT*a n(dcreference_type$`)4649$bi480"e0o]ghj x(ml rollup_amt$id5138$ky)553"n0xfpDAT*qs (vu value_type$rE5701$tJR338"w0oyz|(~ unit_code${+6048$}j485DAT*"0x  process_rid$6542$0$1152"0  device_rid$DAT*7703$1152"0  source_rid$"8864$1152"0 DAT* scc_ams_code$)'10025$^430"0  sic_code$(10464$$165"0@DAT* @@DAT* @ @'@0@9 @B @K @T @]DAT* @f  @o @x @    DAT* an_sourceRidArray metric_coderap_activities.metric_codemetric_level_type!rap_activities.metric_level_typerollup_ref_ridrap_activities.ref_ridstart_date_timerap_activities.start_date_timeconfidential_flag!rap_activities.confidential_flag' data_coderap_activities.data_codeDAT*0end_date_timerap_activities.end_date_time9material_coderap_activities.material_codeB method_typerap_activities.method_typeKreference_coderap_activities.reference_codeTreference_typerap_activities.reference_type] rollup_amtrap_activities.value_amtf value_typerap_activities.value_typeo unit_cDAT*oderap_activities.value_unit_codex process_ridrap_processes.rid device_ridrap_devices.rid source_ridrap_sources.ridnull scc_ams_coderap_processes.scc_ams_code sic_coderap_sources.sic_codeqPBSELECT( VERSION(400) TABLE(NAME="rap_activities" ) TABLE(NAME="rap_streams" ) TABLE(NAME="rap_processes" ) TABLE(NAME="rap_devices"DAT* ) TABLE(NAME="rap_sources" ) COLUMN(NAME="rap_activities.metric_code") COLUMN(NAME="rap_activities.metric_level_type") COLUMN(NAME="rap_activities.ref_rid") COLUMN(NAME="rap_activities.start_date_time") COLUMN(NAME="rap_activities.confidential_flag") COLUMN(NAME="rap_activities.data_code") COLUMN(NAME="rap_activities.end_date_time") COLUMN(NAME="rap_activities.material_code") COLUMN(NAME="rap_activities.method_type") COLUMN(NAME="rap_activities.reference_code") COLUMN(NAME="rap_activities.refereDAT*nce_type") COLUMN(NAME="rap_activities.value_amt") COLUMN(NAME="rap_activities.value_type") COLUMN(NAME="rap_activities.value_unit_code") COLUMN(NAME="rap_processes.rid") COLUMN(NAME="rap_devices.rid") COLUMN(NAME="rap_sources.rid") COLUMN(NAME="rap_processes.scc_ams_code") COLUMN(NAME="rap_sources.sic_code") JOIN (LEFT="rap_activities.ref_rid" OP ="="RIGHT="rap_streams.rid" ) JOIN (LEFT="rap_processes.rid" OP ="="RIGHT="rap_streams.from_process_rid" ) JOIN (LEFT="rap_devices.rid" DAT* OP ="="RIGHT="rap_processes.device_rid" ) JOIN (LEFT="rap_devices.source_rid" OP ="="RIGHT="rap_sources.rid" )WHERE( EXP1 ="rap_activities.metric_code" OP ="=" EXP2 ="'DOWNSTRMDIS'" ) ) ARG(NAME = "an_sourceRidArray" TYPE = numberlist) \"1"1"1"1DAT*^"0"0"0DAT*XP2 ="" LOGIC ="and" ) WHERE( EXP1 ="rap_dm_emissions.material_code" OP ="in" EXP2 ="" ) ) 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 = "fromDate" TYPE = datetime) ARG(NAME = "toDate" TYPE = datetime) ARG(NAME = "as_null" TYPEDAT* = string) ARG(NAME = "as_ro" TYPE = string) ARG(NAME = "unitCode" TYPE = string) ARG(NAME = "refCode" TYPE = string) ARG(NAME = "matCode" TYPE = stringlist) \"1"1"1"1"0"0"0DAT*|x7DAT*<`  (@(8z'88z&  (@(8z'8:z& 60Rt( P!l"|#&'() ,<.ld adt_startdatetimeld_currentdaylt_currenttimeld_startdaylt_starttimell_elapseddaysll_elapsedhoursll_elapsedminutesll_elapsedsecondsls_elapsedtimeseconds_in_dayseconds_in_hourseconds_in_minute  ( DAT*7 C P_oQ<< \l@d(  @hT,lN@ms 02  f_elapsedtime2  DAT*<$808)986  5  6r8080 )818080:)@@818z') 81H110Rb$%&'*+,,:-H.`02367889\;=>?EFG*H6NBQVVdWtZDAT*\_bdf,i0k>mBpRrtxyz8<L\hx|(8HdM as_rollupridcolumnll_rcll_rowll_rowcountll_subrowll_discardrowll_startrowll_endrowll_nextstartrowib_processsubblockll_rollupridll_prevrollupridldt_startdatetimeldt_prevstartdatetimels_referencecodels_prevreferencecodels_materialcodels_prevmaterialcodels_nullld_valueamtld_blockvalueamtls_rollupridcolumn DAT*!(4>LXbr        ) : ( of_filter  ErrorData filter failed.reference_code a, start_date_time a, a, maDAT*terial_code aof_sort!pData sort failed.rowcountobject@reference_code__get_attribute_item@start_date_timegetitemnumber@material_code@rollup_amt@__set_attribute_itemp@DISCARDmetric_codep@pDOWNSTRMDISof_discardbystringarrayGData discard failed.PRE_COPY_ROLLUP_of_scan= x     DAT*   0 8 L X`h         x>@880)81808"0:)@@81860)818080:)@@81111)81nDAT* 9} $809n98^ $809n98c $809n$98^,$8409nD98^ 9}X    """XX1Y 9} DAT*!R111YR1IXL$8T09n`98]L5hL"FTLL5px$8T0L)98$808)981RR$808)98  6DAT*  566d8080 )818080:)@@818z')081b110Rb#$%&)*+,,:-R/|12567*8n:<=>DE,F@GLMXPlUzVY[^ac*eBhFjTlXohqswxyNRbrDAT*BRbdO as_rollupridcolumnll_rcll_rowll_rowcountll_subrowll_discardrowll_startrowll_endrowll_nextstartrowib_processsubblockldt_startdatetimeldt_prevstartdatetimels_referencecodels_prevreferencecodels_materialcodels_prevmaterialcodels_sccamscodels_prevsccamscodels_nullld_valueamtld_blockvalueamtls_rollupridcolumn !(4>DAT*LXbr          + < 8 of_filter  ErrorData filter failed.reference_code a, start_date_time a, scc_ams_code a, material_code aof_sort!{Data sort failed.rowcountDAT*object@reference_code__get_attribute_item@start_date_time@scc_ams_code@material_codeth@rollup_amt@__set_attribute_item9@DISCARDmetric_code@DOWNSTRMDISof_discardbystringarrayGData discard failed.PRE_COPY_ROLLUP_of_scan=&         $ , D L ` hDAT*px       0 C@880)81808"0:)@@8186z%8\z&)818080:)@@81111)81|6 9}DAT*$809n98^ $809n98c J 8($8009n@98^8H0P$800)p98x$809n98^d 9}  "  "DAT*""1Y 9} !1121Y1Il$809n98]L5L"LbL5:$80L)98v$808)981RDAT*$808)986  5  66r808 0 )08180880:)@@818Mz')h81110Rb $%&'*+,,:-H.`02367889\:;<>@:BHDAT*CTD`KLMNTW\]`2b@eRhzjloqsvz6|:v"26jzdm as_rollupridcolumnll_rcll_rowll_rowcountll_subrowll_discardrowll_startrowll_endrowll_nextstartrowib_processsubblockll_rollupridll_prevrollupridldt_startdatetimeldt_prevstartdatetimels_referencecodels_prevreferencecodels_sccamscodels_prevsccamscodels_materialcodels_prevmaterialcodels_nullld_valueamtldDAT*_blockvalueamtls_rollupridcolumn !(4>LXbr       ! 5 = I DAT*Z p of_filter  ErrorData filter failed.reference_code a, start_date_time a, a, scc_ams_code a, material_code aof_sort!Data sort failed.rowcountobject@reference_code__get_attribute_item@start_date_timegetitemnumber@scc_ams_codeUNKNOWN@__set_attribute_itemX@material_code@rollup_amt@X@DAT*DISCARDmetric_codeX@XDOWNSTRMDISof_discardbystringarrayGData discard failed.PRE_COPY_ROLLUP_of_scan =^         ( @ P p x          0 h X80)081B11"2 Bd al_refridll_rc(DAT*8 summary_category = 'TOTAL'of_filter fa #0 2$)$81d , ids_rollup(reset $ ,F@880)81808"0:)@@81)H8)h88p0)88DAT*0)88z%)880)8801)88z%8*z&)H81808P0:)@@81111)l81JJ 9}~|$809n98^ $80DAT*9n98c J8$809n98^ 9}  "  ""1Y 9} ! 11V1Y 1I$809nDAT*98]L5(L" LL50^8$80L)X98`$8p08h)|981R $8p08h)986  5  6@8p080 )818080:)@@81DAT*8z')81110Rb$'()*+.80`3n4569:;<=.?XAdBrE~FGH*JnL|MNTUVW]`$e2fBiVkdnvqsuxz | Z^ *6FJ~dM as_rollupridcolumnll_rcll_rowll_rowcountll_subrowll_discardrowll_startrowll_endrowll_nextsDAT*tartrowib_processsubblockll_rollupridll_prevrollupridldt_startdatetimeldt_prevstartdatetimels_referencecodels_prevreferencecodels_materialcodels_prevmaterialcodels_nullld_valueamtld_blockvalueamtls_rollupridcolumn !(4>LXbr DAT*       ) :  of_filter  ErrorData filter failed.of_resetrollupM6of_resetblocksortkeysPreference_code aof_addblocksortkeystart_date_time ans aimaterial_code asum_rollup_amtof_scanblocks&reference_code a, start_date_time a, a, material_code aof_sortDAT*!>Data sort failed.rowcountbobjectt@reference_code__get_attribute_itemt@start_date_timegetitemnumbert@material_codet@rollup_amtt@__set_attribute_item@t@DISCARDmetric_code@t@@DOWNSTRMDISof_discardbystringarrayGData discard failed.PRE_COPY_ROLLUP_of_scan= H h      H DAT*l |         (08 X ` |      b@880)81808"0:)@@81860)818080:)@@81111)81DAT*Z 9} $809n98^ $809n 98c ($8009n<98YD$8L09n\98^19}B   "  ""BB1Y9}DAT* 1Hd$8l09nx98^1R$8l09n98^V$808)98L6$809n98^1R"H1DAT*!PH$809n98^4H0$808)98H61l1Y1IP$809n98]$$8,09n898^LDAT*5@L"8""hL\$", t$$L16$6J8L58080:)@@81.LL5LLL5$80L)98$8,0$)98 $808)981DAT*R>   $808)(984  6  5  6P80800 )T81N 808\0:)@@818q0)81 11>N|"#$%() *+&,>.h0t14567Z:=>?EFG*H6NDAT*BQJSXXfY[]`0d<edfhlnqrt0vLyP{~,04DHXl~.dh".>LP` L  > N p d ll_rcll_rowll_rowcountll_subrowll_discardrowll_startrowll_endrowll_nextstartrowib_processsubblockll_processridll_prevprocessridldt_startdatetimeldt_prevstartdatetimels_referencecodels_prevrefDAT*erencecodels_materialcodels_prevmaterialcodels_datacodels_prevdatacodels_valuetypels_prevvaluetypels_valueunitcodels_nullld_valueamtld_newvalueamtld_blockvalueamtw_report!+9EO_r    DAT*      _- m> arO W c alr  @ x of_filter  ErrorData filter failed.reference_code a, start_date_time a, process_rid a, material_code a, data_code a, value_type aof_sorth!Data sort failed.rowcountobject@reference_code__get_attribute_itemDAT*@start_date_time@process_rid@material_codes_@data_code@@DISCARDmetric_code__set_attribute_item8@value_type@@@rollup_amt@unit_codeis_standardunitcodeH&uo_data_martd*inv_unitsY|* H&of_dm_convertunitsJUnit conversion failed.@@H&DAT* @@DOWNSTRMDISof_discardbystringarrayG<Data discard failed.PRE_COPY_ROLLUP_PROCESS_RIDof_scan=        ( < D \ d x             $ 8 @\ t            DAT*  ( T  $ $$j@H$8P0\$6)t8)811:@$1:@)81 6 n d ads_unitsll_rowcount( P inv_units' ' ' n_ds_cache_units, ' dataobjectQof_setdatatDAT*ypedrowcount)|' rowsmove  $ @H \ t    P)8),8@11$:d H resetitof_resetexception Cil_rowerror4 , @ 2$)$81d , inv_units' resetDAT* $ 8d  create8d  destroy 88080)48L,68T08g06@8l$t8|0,68T0806@8$:80DAT*j,j1x,$ >  :Pd: ancestorreturnvaluels_emptygs_inifile::messageP %@0@ P constructord_dm_emissionsof_setdatatype$is_datacodenull<$data code prioritynull<$<$99is_datacoderoads%roe%%00ids_rolluptr(n_ds_nei_cache_baseDAT*4 L l t       6o1868 0@$8H09nl98^t|$$$8"H$808)981$8H0$)98DAT*$809n 98c8@$8H09nX98c`$h$"p$808)x981$5@8C@C8}$5@8C@C8}$$z$808)981DAT*$(@(88z&@8@8$(@(88z&@8@8 $80$)98$$8H0,$)498LT$8\09nh98^p$2x80$8l80$8DAT*80$8$8"80$8480$8$8"80$808)981$$8\0,$)498LT$8\09nl98^t$|$DAT*8"$8\08)98$809n98^$$8"$808)98$809n98^$ $<$6P D$8LD Ph$6P 1p$80DAT*x$)981 8 @8$809n98$6zj $80$)98$809n98$6z $808L)98 $8\09n9880z~ $8\0DAT* $$),984$8\09n<9880z D$8\08)L98T$8\09n\9880z d$8\08)l98t$80|$809n98)9981 8 $80$80DAT*"9n98)9981 84$80$8$09n098)89981 8@\\d$809nl98^t$|$8"L$808)98$809n98^1DAT*$ 8$809n98^$$8"t$808)98$809n98^1 8\8$8D08@)T98\$8j08d)|98$808d)9DAT*&81 84$8D08)98$8j08d)98$808d)981 8 $8D08 )$98,$8j08d)498<$808d)D981 8Lh$8D0DAT*(8p)x98$8j08d)98$808d)981 8$8D08)98$8j08d)98$808d)981 8X $8D08 ) 98$ $8j08DAT**, )0 981 88 X $8D08p)` 98h $8j08, )p 981 8x  $8D08p) 98 $8j08 ) 981 8 , $8D08) 98 $8j08, ) 981DAT*, 8  $8D08)$ 98, $8j08 )4 981 18< z%8L z&+@+811 ( <L`!"#<%H)*-".D/347829n>z?B2CtHIJK.LNMhNOQRTU0WjXZ[_cd^ejklFruvw x y@ {D P ( j < DAT*.~  J   $0HLXp(tLXp$0H \4p    HTl !D#&)*,0(3@4|6<@AE d= al_rowas_actionaa_dataancestorreturnvaluecase11d !5 `  ue_scanrowNORMALDAT*0IZEis_materialcodeaty.objectd8@material_code__get_attribute_itemV....8@DISCARDmetric_code__set_attribute_item$8@.idt_startdatetime*8@start_date_timeVidt_enddatetime(+8@end_date_timeV*(+8@ii_startyear,*ii_endyear-(+,-8@*,-01-01(+--12-318DAT*2@*8@(+is_valuetype</8@value_typeV</</100</TOT</200</AVG</300</EXH</EVH</VOC</EXP</PMw</BW1</TW1</PM18@8@</is_sccamscode<08@scc_ams_code$V<0<08@NONEis_siccode18@sic_codeV118@is_datacode28DAT*4@data_codeV22is_datacodenull,$2RO2is_datacodero8X%8@2PRE_COPY_ROLLUP_PROCESS_RIDis_null38@V,$8@38@VX%8@8@V8@38@V8@8@V8@8@8@process_ridVrollup_ref_ridPRE_COPY_ROLLUP_DEVICE_RID8@8@device_ridVPREDAT*6_COPY_ROLLUP_SOURCE_RID8@8@source_ridVPRE_COPY_ROLLUP_COUNTY_RID18@V118@18@VPRE_COPY_ROLLUP_STATE_RID$18@V118@18@VPOST_COPY_ROLLUP_PROCESS_RID98@PROrollup_level8@TOTALsummary_category8@summary_category_codePOST_COPY_ROLLUP_DEVICE_RID8@DEV8@8DAT*8@POST_COPY_ROLLUP_SOURCE_RID8@SRC8@8@POST_COPY_ROLLUP_COUNTY_RID8@COUNTY8@8@POST_COPY_ROLLUP_STATE_RID8@STATE8@8@POST_COPY_ROLLUP_SCC_SOURCE_RID8@8@SCCPOST_COPY_ROLLUP_SCC_COUNTY_RID8@8@POST_COPY_ROLLUP_SIC_COUNTY_RID8@8@SICPOST_COPY_ROLLUP_SCC_STATE_RID8@DAT*:8@POST_COPY_ROLLUP_SIC_STATE_RID8@8@Unknow action '' for ue_scanRow().0 @ l t |            8 @ X ` h p x                 $ , 4 L T h p x    DAT*<           $ , 4 L T l t |              $ < D P h p x                  $ , 4 < D L T \DAT*> d l t |         0 8 \ d l t |                8 T \ |          $ , 4 < D h x         DAT*@    $ 0 X ` h p          $ , 4 6o868~ ,$8409nT98]L  1I L tL 5`t$)81RDAT*B:@$:@)8<18080:)@@81$$840L )9818.8"F8>^18Zz%8jz&+@+811, @ Pd #8$x%&*.17*=BCZG^HLd al_startrowDAT*Dal_endrowas_actionaa_dataancestorreturnvaluecase10ll_rcll_rowll_newrowld_rollupamtld_rolluptotal (0D LRYc p P ue_scanblockSUM_ROLLUP_AMTobject$@rollup_amt__get_attribute_item?ids_rolluph(rowcount|h(rowscopyDAT*FErrorCopy of row to rollup buffer failed.@h($@__set_attribute_itemSUM_ROLLUP_AMT_SOURCE_SCCSUM_ROLLUP_AMT_DEVICE_TOTALSUM_ROLLUP_AMT_SOURCE_TOTALUnknow action '' for ue_scanBlock()., T `t       L8,21@,$ d& ancestorreturnvalue::message(@  deDAT*Hstructor "668 :@ f80:@ 80:@ 8"08)081\$z%z&z'8d$z%z&z&z'8(@(8z'z&z'8z%z&z'8(@(8z'z&z'8z%zDAT*J&z'806:)@@814@ P b v (`dj sqldbcodesqlerrtextsqlsyntaxbufferrowancestorreturnvaluels_bufferls_messagels_crlfcase7  '.2F P [c dberror PrimaDAT*LryFilterDeleteUnknownSource Data Object: is_sourcedataobjectG)Target Data Object: dataobjectzRow: Buffer: SQL DB Code: SQL Error Text: DB Error: Emissions Transfer\     1 IJKLMNOPQ L2 of_rollupbyridof_rollupbysccof_rollupbyridsccof_totalsof_resetrollupof_rollupbyblockof_prioritizeof_resetunitsof_reset+create+destroy+constDAT*Nructor+ue_scanrow+ue_scanblock+destructor+dberrorT &8BQbp~3p     2 is_datacodenullis_datacoderois_standardunitcodeinv_unitsids_rollupis_sourcedataDAT*Pobjectidt_startdatetimeidt_enddatetimeii_startyearii_endyearis_materialcodeis_valuetypeis_sccamscodeis_siccodeis_datacodeis_nullis_scannameT&4: DOcuMDAT*R  H3p34 I*JDAT*T9$xKU<0L_?MnDN?O\PP??Q p p rDAT* Lt1 rKDAT*X~ 1Fd$8l09nx98^1R$8l09n98^T$808)98J6$809n98^1R F1DAT*Z!NF$809n98^2F.$808)98F61j1Y1IB$809n98]$$8,09n898^LDAT*\5@L"8""f>\$p$L16x$6J8L58080:)@@81 LL5>LL5$80L)98$8,0$)98 $808)981R0 DAT*^~ $808)98&  6  5  6P8080 )<81@ 808D0:)@@818Y0)81 11>N|"#$%() *+&,>.h0t14567Z9;<=CDE(F4L@OHQVVdDAT*`WY[^.b:cbdfjlopr.tJwNy|}~*.2BFVj|,bf 0>BR > z ~  0 @ b r d ll_rcll_rowll_rowcountll_subrowll_discardrowll_startrowll_endrowll_nextstartrowib_processsubblockll_processridll_prevprocessridldt_startdatetimeldt_prevstartdatetimels_referencecodels_prevreferencecodels_mDAT*baterialcodels_prevmaterialcodels_datacodels_prevdatacodels_valuetypels_prevvaluetypels_valueunitcodels_nullld_valueamtld_newvalueamtld_blockvalueamt!+9EO_r      DAT*d    - > phO leW rsc por p of_filter  ErrorData filter failed.reference_code a, start_date_time a, process_rid a, material_code a, data_code a, value_type aof_sort!Data sort failed.rowcountobject@reference_code__get_attribute_item@start_date_time@process_ridDAT*f@material_code @data_code@@DISCARDmetric_code__set_attribute_item@value_type@@@rollup_amt@unit_codeis_standardunitcodeH&inv_unitsd' H&of_dm_convertunitsJ$Unit conversion failed.@@H&@@DOWNSTRMDISof_discardbysDAT*htringarrayG$Data discard failed.PRE_COPY_ROLLUP_PROCESS_RIDof_scan=u        ( < D \ d x             $ 8 @\ p x           <  ^>@DAT*j880)81808"0:)@@8186z%8\z&)x818080:)@@81111)81|| 9}$809n98^ $809nDAT*l98c J8$8 09n098^ 9}B  "  ""BB1Y 9} !<111Y<1IB8$8@09nL98]LDAT*n5XL"0>LL5`h$8@0L)98$808)981R<$808)986  5  6r8080 )818080:)@@818DAT*pz') 81H110Rb$%&'*+,,:-H.`02367889\;=>?EFG*H6NBQVVdWtZ\_bdf,i0k>mBpRrtxyz8<L\hx|(8HdM as_rollupridcolumnll_rcll_rowll_rowcountll_subrowll_discardrowll_startrowll_endrowll_nextstartrowib_processsubblockll_rollupridll_prevrollDAT*rupridldt_startdatetimeldt_prevstartdatetimels_referencecodels_prevreferencecodels_materialcodels_prevmaterialcodels_nullld_valueamtld_blockvalueamtls_rollupridcolumn !(4>LXbr    DAT*t    ) : ( of_filter  ErrorData filter failed.reference_code a, start_date_time a, a, material_code aof_sort!pData sort failed.rowcountobject@reference_code__get_attribute_item@start_date_timegetitemnumber@material_code@rollup_amt@__set_attrDAT*vibute_itemp@DISCARDmetric_codep@pDOWNSTRMDISof_discardbystringarrayGData discard failed.PRE_COPY_ROLLUP_of_scan= x        0 8 L X`h         x>@880)81808"0:)@@81DAT*x860)818080:)@@81111)81n 9} $809n98^ $809n98c $809n$98^,$840DAT*z9nD98^ 9}X    """XX1Y 9} !R111YR1IXL$8T09n`98]L5hL"FTLL5px$8T0DAT*|L)98$808)981RR$808)98  6  566d8080 )818080:)@@818z')081b11DAT*~0Rb#$%&)*+,,:-R/|12567*8n:<=>DE,F@GLMXPlUzVY[^ac*eBhFjTlXohqswxyNRbrBRbdO as_rollupridcolumnll_rcll_rowll_rowcountll_subrowll_discardrowll_startrowll_endrowll_nextstartrowib_processsubblockldt_startdatetimeldt_prevstartdatetimels_referencecodels_prevreferencecodels_materialcodels_prevmaDAT*terialcodels_sccamscodels_prevsccamscodels_nullld_valueamtld_blockvalueamtls_rollupridcolumn !(4>LXbr          DAT*+ < 8 of_filter  ErrorData filter failed.reference_code a, start_date_time a, scc_ams_code a, material_code aof_sort!{Data sort failed.rowcountobject@reference_code__get_attribute_item@start_date_time@scc_ams_code@material_codeto@rollup_amtn@__set_attribute_item9@DISCARDmetric_codeDAT*@DOWNSTRMDISof_discardbystringarrayGData discard failed.PRE_COPY_ROLLUP_of_scan=&         $ , D L ` hpx       0 C@880)81808"0:)@@8186z%8\z&)DAT*818080:)@@81111)81|6 9}$809n98^ $809n98c J 8($8009n@98^8H0DAT*P$800)p98x$809n98^d 9}  "  """1Y 9} !1121Y1Il$809n98DAT*]L5L"LbL5:$80L)98v$808)981R$808)986  5  66r808 0 )08180880:)@@81DAT*8Mz')h81110Rb $%&'*+,,:-H.`02367889\:;<>@:BHCTD`KLMNTW\]`2b@eRhzjloqsvz6|:v"26jzdm as_rollupridcolumnll_rcll_rowll_rowcountll_subrowll_discardrowll_startrowll_endrowll_nextstarDAT*trowib_processsubblockll_rollupridll_prevrollupridldt_startdatetimeldt_prevstartdatetimels_referencecodels_prevreferencecodels_sccamscodels_prevsccamscodels_materialcodels_prevmaterialcodels_nullld_valueamtld_blockvalueamtls_rollupridcolumn !(4>LXbrDAT*       ! 5 = I Z p of_filter  ErrorData filter failed.reference_code a, start_date_time a, a, scc_ams_code a, material_code aof_sort!Data sort failed.rowcountTobjecti@reference_code__get_attribute_item@start_dateDAT*_timegetitemnumber@scc_ams_codeUNKNOWN@__set_attribute_itemX@material_code@rollup_amt@X@DISCARDmetric_codeX@XDOWNSTRMDISof_discardbystringarrayGData discard failed.PRE_COPY_ROLLUP_of_scan =^         ( @ P p x    DAT*      0 h X80)081B11"2 Bd al_refridll_rc(8 summary_category = 'TOTAL'of_filter fa #0 h$)$8,$840@$6)X81Rd `( ids_roDAT*llup(reset(dataobject5of_setdatatypeH $ , @ X ,F@880)81808"0:)@@81)H8)h88p0)880)88z%)880)8801)88DAT*z%8*z&)H81808P0:)@@81111)l81JJ 9}~|$809n98^ $809n98c J8$809n98^DAT* 9}  "  ""1Y 9} ! 11V1Y 1I$809n98]L5(L" LL50^8$80L)X98DAT*`$8p08h)|981R $8p08h)986  5  6@8p080 )818080:)@@818z')81110Rb$'()*DAT*+.80`3n4569:;<=.?XAdBrE~FGH*JnL|MNTUVW]`$e2fBiVkdnvqsuxz | Z^ *6FJ~dM as_rollupridcolumnll_rcll_rowll_rowcountll_subrowll_discardrowll_startrowll_endrowll_nextstartrowib_processsubblockll_rollupridll_prevrollupridldt_startdatetimeldt_prevstartdatetimels_referencecodels_prevreferencecodels_materialDAT*codels_prevmaterialcodels_nullld_valueamtld_blockvalueamtls_rollupridcolumn !(4>LXbr         ) DAT*kb:  of_filter  ErrorData filter failed.of_resetrollupN6of_resetblocksortkeysPreference_code aof_addblocksortkeystart_date_time ae aematerial_code asum_rollup_amtof_scanblocks&reference_code a, start_date_time a, a, material_code aof_sort+!>Data sort failed.rowcountbobjectt@reference_code__get_attribute_itemt@start_date_timegetitemnuDAT*mber}t@material_codet@rollup_amtt@__set_attribute_item@t@DISCARDmetric_code@t@@DOWNSTRMDISof_discardbystringarrayGData discard failed.PRE_COPY_ROLLUP_of_scand = H h      H l |         (08 X ` |   DAT*  4 880)(8d 0 createconstructortriggerevent ( 4 880)(8d 0 destroydestructortriggerevent (  88080)48L, 68T08g06@8l$tDAT*8|0, 68T0806@8$:80j,j1x,$ >  :Pd: ancestorreturnvaluels_emptygs_inifile::messageP % @0@ P constructord_dm_emissionsof_setdatatype$is_datacodenull<$DAT*data code prioritynull<$<$99is_datacodero"%ro%%00ids_rollup:(n_ds_nei_cache_base4 L l t      "p 6o1868$$8,09nT98c\$8d09nt98c"B|$8DAT*08)9815@8C@C8}5@8C@C8}$808)981(@(88z&@8@8(@(88z&@8@8$8,0)98$8d0)DAT*98 $809n 98^ p 80 8 80 8  8$0 8( 8," 800 84* 880 8; 8?"f 8C0H$808)P981X$80 )`98 h$DAT*8p09n98^  8"$8p08)98 $809n98^  8"($808)98 $809n98^  $6 8 $61 $80DAT* )(98180f  @8L$809nT98\$6zd$80 )l98t$809n|98$6zZ$808)98$809n9880z$80 )98DAT*$809n9880z` $808)98$809n988$0z $808 )98$8 0$8 09n98)0998188 T$8 0\$8d09np98)xDAT*99818 $8 0$809n98)99818  $809n98^  8" $808)98 $809n 98^18r 4$8@0DAT*8<)P98X$8f08`)x98$808`)9818J$8@08)98$8f08`)98$808`)9818"$8@08) 98($8f08`)0DAT*988$808`)@9818Hd$8@08l)t98|$8f08`)98$808`)9818$8@08)98$8f08)98182$8@DAT*08l)98$8f08)9818 @$8@08l)H98P$8f08X)\98118dz%8tz&+@+811 ( <L` !"6&B'v*+,12L56; <P=Z>l?@ABDEGH&JPKbMfNRVDAT*W,XL]^_e(hlivjklnrtx},HZ$ ` V b z  F & b n :F^6rJ".F  d al_rowas_actionaa_dataancestorreturnvaluecase11ldt_startdatetimeldt_enddatetimeli_startyearli_endyearls_valuetypels_sccamscodels_siccodels_datacodels_nullDAT* !5 = O _lw     ` ue_scanrowNORMALIZEobject@start_date_time__get_attribute_item<@end_date_time<@DISCARDmetric_code__set_attribute_item@-01-01-12-31h@DAT*@@@value_type<100TOT200AVG300EXHEVHVOCEXPPMBW1TW1PM1@@@scc_ams_code<@@NONE@sic_code<@@data_code<is_datacodenull$ROis_datacodero%@PRE_COPY_ROLLUP_PROCESS_RID@<$@@<%@@<@@<DAT*@@<@@@process_rid<rollup_ref_ridPRE_COPY_ROLLUP_DEVICE_RID@@device_rid<PRE_COPY_ROLLUP_SOURCE_RID@@source_rid<PRE_COPY_ROLLUP_COUNTY_RID@<@@<POST_COPY_ROLLUP_PROCESS_RID@PROrollup_level@TOTALsummary_category@summary_category_codePOST_COPY_ROLLUP_DEVICE_RIDDAT*@DEV@@POST_COPY_ROLLUP_SOURCE_RID@SRC@@POST_COPY_ROLLUP_COUNTY_RID@COUNTY@@POST_COPY_ROLLUP_SCC_SOURCE_RID@@SCCPOST_COPY_ROLLUP_SCC_COUNTY_RID@@POST_COPY_ROLLUP_SIC_COUNTY_RID@@SICUnknow action '' for ue_scanRow().$ T \ t |  DAT*         H P X ` h              ( L T \ d l t |                   0 T \ p x        DAT*    4 P X x            ( 0 8 @ d t |            @ H P \ 6o868~ ,$8409nTDAT*98]L  1I L tL 5`t$)81R:@$:@)8<18080:)@@81$$840L )9818.8"F8>^18Zz%8jz&+@+811DAT*, @ Pd #8$x%&*.17*=BCZG^HLd al_startrowal_endrowas_actionaa_dataancestorreturnvaluecase10ll_rcll_rowll_newrowld_rollupamtld_rolluptotal (0D LRYc p P ue_scanblockSUM_ROLLDAT*UP_AMTobject$@rollup_amt__get_attribute_item?ids_rolluph(rowcount|h(rowscopyErrorCopy of row to rollup buffer failed.@h($@__set_attribute_itemTSUM_ROLLUP_AMT_SOURCE_SCCSUM_ROLLUP_AMT_DEVICE_TOTALSUM_ROLLUP_AMT_SOURCE_TOTALUnknow action '' for ue_scanBlock()., T `t       l8 $8($,DAT*R1`,0$*8d& ancestorreturnvalue::message(@ 8 destructorids_rollupas(( ( 0 668180,@,8,v1,0$4\dP sqldbcodesqlerrtextsqlsyntaxbufferrowancestorreturnvalue::messageDAT*  '.2F@ 8 dberrorDBError for n_ds_dm_emissions0     1 IJKLMNOL2 of_prioritizeof_rollupbyridof_rollupbysccof_rollupbyridsccof_totalsof_resetrollupof_rollupbyblock+create+destroy+constructor+ue_scanrow+ue_scanblock+destructorDAT*+dberror %4FP_px3     2 O is_datacodenullis_datacoderois_standardunitcodeinv_unitsids_rollupd&<: DM DAT* P3x3< I) J8xKG(LDAT*c@4MmN|DOPPR LxT1  R * DAT*9nx98^1R$8l09n98^R$808)98H6$809n98^1RD1!LD$809nDAT*98^0D,$808)98D61h1Y` 1I$$809n98]$$8,09n898^L5@L"8""rDAT* T$L16p$6J8L58080:)@@81L5 LL5$80L)98$8,0$)98$808)981R ` $808)98 DAT* 6  5  6P8080 )481" 808<0:)@@818Q0)x81d 11>N|"#$%() *+&,>.h0t14567Z9;<=CDE(F4L@OTRbSUWZ,^8_``bfhkln,pHsLuxyz|(,DAT*0@DThv8nr $4n \ ` p  " D T d d ll_rcll_rowll_rowcountll_subrowll_discardrowll_startrowll_endrowll_nextstartrowib_processsubblockll_processridll_prevprocessridldt_startdatetimeldt_prevstartdatetimels_referencecodels_prevreferencecodels_materialcodels_prevmaterialcodels_datacodels_prevdatacodels_valuetypels_prevvaluetypels_valueunitcDAT*odels_nullld_valueamtld_newvalueamtld_blockvalueamt!+9EO_r          - > phDAT*O leW rsc por h of_filter  ErrorData filter failed.reference_code a, start_date_time a, process_rid a, material_code a, data_code a, value_type aof_sort!Data sort failed.rowcountobject@reference_code__get_attribute_item@start_date_time@process_rid@material_codegm@data_code@@DISCARDmeDAT*tric_code__set_attribute_item@value_type@@@rollup_amt@unit_codeinv_units8H' is_standardunitcode\&of_dm_convertunitsJxUnit conversion failed.@@\&@@DOWNSTRMDISof_discardbystringarrayGData discard failed.PRE_COPY_ROLLUP_PROCESS_RIDof_scan=m   DAT*     ( < D \ d x             $ 8 @T p           4 x ^>@880)81808"0:)@@81DAT*86z%8\z&)x818080:)@@81111)81|| 9}$809n98^ $809n98c J8$8 09n098DAT*^ 9}B  "  ""BB1Y 9} !<111Y<1IB8$8@09nL98]L5XL"0>LL5`h$8@0L)98DAT*$808)981R<$808)986  5  6r8080 )818080:)@@818z') 81H110R b!%&'DAT*(+,,-:.H/`1347898:\<>?@FGH*I6OBRVWdXt[]`ceg,j0l>nBqRsuyz{8<L\hx|(8Hdm as_rollupridcolumnll_rcll_rowll_rowcountll_subrowll_discardrowll_startrowll_endrowll_nextstartrowib_processsubblockll_rollupridll_prevrollupridldt_startdatetimeldt_prevstartdatetimels_referencecodels_prevreferencecodels_materialcodels_prevmaterialcodeDAT*ls_valueunitcodels_nullld_valueamtld_newvalueamtld_blockvalueamtls_rollupridcolumn !(4>LXbr       & .DAT* _c: e_I Z ( of_filter  ErrorData filter failed.reference_code a, start_date_time a, a, material_code aof_sort!pData sort failed.rowcountobject@reference_code__get_attribute_item@start_date_timegetitemnumber@material_code@rollup_amt@__set_attribute_itemp@DISCARDmetric_coDAT*dep@pDOWNSTRMDISof_discardbystringarrayGData discard failed.PRE_COPY_ROLLUP_of_scan= x        0 8 L X`h         8d  create8d  destroy 88DAT*080)48L, 68T08g06@8l$t8|0, 68T0806@8$:80j$8080)8$8080)8,1, $ >  :PDAT*d: ancestorreturnvaluels_emptygs_inifile::messageP % @0@ (p constructord_dm_emissionsof_setdatatype$is_datacodenull<$data code prioritynull<$<$99is_datacodero%ro%%00ids_loccords(n_ds_cache_base(of_setbasepathname(d_dm_loccordst($4 L l t  DAT*         b 68$4$8<09nX98]p$>1)8$1$80$$8019n98) 998$8,0$$$8,019n<DAT*98)D998L$8d0T$\$8d019nt98)|998$80$$8019n98)998$80$$8019n98)998$80$$8019nDAT*98) 9988( 4$8<09nL98cT$8\09nl98c"t$808|)9815@8C@C8}5@8C@C8}$808|)981(@(DAT*88z&@8@8(@(88z&@8@8$8<0)98$8\0)98$809n98^80088008F80088 "8008DAT*80088"8#00($808|)09818$80)@98 H$8P09n`98^  8h" l$8P08t)|98 $809n98^  8h" $80DAT* 8t)98 $809n98^   $6P  8D  $6P 1$80 )9818  @8,$809n498<$6zR D$80 )L98T$809nDAT* \98d$6z l$808)t98|$809n9880z^ $80 )98$809n9880z $808)98$809n9880zf $808)98$DAT*80$809n98)99818~4$80<$8D09nP98)X99818`|$80$809n98)99818$808)98DAT*$808) 98$808)49818<X$808`)d98l$808)t98|$808)9818$808)98$808)98$DAT*808)98118z%8z&+@+811 $8TPL-.&1j2|378;,<:=vBCFGTLMNOPQR0SBUlV~XY[\^_$c0gjhin oN pn v y z { |( }@ D P  R $ ^ * f nz(d<xDAT*Pd al_rowas_actionaa_datacase11ldt_startdatetimeldt_enddatetimeli_startyearli_endyearls_valuetypels_sccamscodels_siccodels_datacodels_null ! ) ; KXc p ~    POPULATE GIS DADAT*TAid_refrid*object,@rid__get_attribute_item@il_loccordrows`)ids_loccordstWix(*retrieveor`),@x(,@sub_type@location_coord_level__set_attribute_item,@x(,@latitude_datatr@,@x(,@longitude_data@,@x(,@zone_no@,@x(,@northing_km_data@,@x(,@eastiDAT*ng_km_data@NORMALIZE,@start_date_time@,@end_date_time@,@DISCARDmetric_code,@-01-01-12-31,@,@,@value_type@100TOT200AVG300EXHEVHVOCEXPPMBW1TW1PM1,@,@,@scc_ams_code8@,@NONE,@sic_code@,@,@data_code@is_datacodenull$ROis_datacodero%,DAT*@PRE_COPY_ROLLUP_PROCESS_RID,@@$,@,@@%,@,@@,@,@@,@,@@,@,@,@process_rid@rollup_ref_ridPRE_COPY_ROLLUP_DEVICE_RID,@,@device_rid@PRE_COPY_ROLLUP_SOURCE_RID,@,@source_rid@POST_COPY_ROLLUP_PROCESS_RID,@PROrollup_level,@TOTALDAT*summary_category,@summary_category_code8POST_COPY_ROLLUP_DEVICE_RID,@DEV,@,@POST_COPY_ROLLUP_SOURCE_RID,@SRC,@,@Unknow action '' for ue_scanRow().$ 4 X p             $ < D L T \ t |        DAT*         4 L T l t          ( 0 8 @ H ` l |           , 4 < D L T \ d l t |             DAT*    4 < P X |          4 X d l t |        ~8 $($#"J0$,d1r,8$<Jd& ancestorreturnvalue::message(@ @ destructoridDAT*"s_loccords((( ( 0 8 1IJL2 [ of_prioritizeof_rollupbyrid+create+destroy+constructor+ue_scanrow+destructor %-6CO2 j is_datacodenullis_datacoderois_standardunitcodeinv_unitsids_loccordsil_loccordrowsid_refridDAT*$&4: DQ`M  H3p34 IDAT*:) J8x@ILoD 1{DAT*(E@ @ @@" $L2  2 _ xywidthheighttabordertextsizeweightfontpitchfontfamilyfacenamebackcolortextN H .DF"DAT**+2<G@PZ] oNH.DF @ @@@2  2 g xywidthheighttabordertextsizeweightfontpitchfontfamilyfacenamebackcolortextcheckedDAT*, H `DZ"+2<GPZ_] oH`DZ @ @@@2 DAT*. 2 _ xywidthheighttabordertextsizeweightfontpitchfontfamilyfacenamebackcolortext H Ld"+2<GPZ] oH Ld @DAT*0 @@@2  2 u xywidthheighttabordertextsizeweightfontcharsetfontpitchfontfamilyfacenametextcolorbackcolortext    "+2>HS\DAT*fp ] o    @ @DAT*4#text_dmn_ds_dm_transfere r,"dataobjectHd_dm_geo_locationssettransobjectoretrieveetnErrorData retrieval failed.py,"Hd_dm_geo_locations_outfoof_dscopy<transfer_post_copyof_processdata@# [+rowcountily@]updateatuVData update failed.Database commit failed.# $ @T      $ , 4 DAT*6L `   $$$68$:F@@8jTh8p0,)8)8<111@80)8$8z%)8(@(8z(8z&) 8<1,8080:)@@8DAT*8@,,81@,808.0:)@@81l@8|H$P6 "6$P%^&z)*+/247p89:;=>?@A2H@IJJfMlNvQ|Sd` lds_primarylds_targetls_exclude ll_rcll_rowll_copyrowls_statussqlca,  "DAT*:,-8>EP Z@#Xp st_status#textids_sources,)n_ds_dm_transfer@"dataobject\d_dm_sources_outsettransobjectof_dscopy <transfer_post_copyof_processdata@# [+rowcountb]updatew_sErrorData update failed.Database commit failed.@# $ 8 TDAT*<h         H P  80 |8080)@8jTh80,)8:F@@8$)8114141j80,)8)8<DAT*>111)8  N\j  $%4&B'^+v,-06:;>?B dD lds_primarylds_targetls_exclude ll_rcsqlca,d % %,-8>@#X sic_coded_dm_devicesd_dm_devices_outof_transferdata@DAT*@?/u_ds_baseH%dataobject\settransobjectpil_sourceridarray/of_retrieve>H%\pof_dscopy<of_update=@ Th        &8080)<8P$`$6jt80,)8:F@@8$)DAT*B81B8080:)@@81h1h1j80,)8)8<111*$$,84z%)D8(@(8z(8Lz&)X8<1,808`0:)@@8,,DAT*D81*,808t0:)@@81:J$6 4Bdr( .!>"R#X'h(v)-./38;^<|=>ABCDEJ*K4N:ODRJTld` lds_primarylds_targetls_exclude_o ll_rcll_rowll_copyrowls_statussqlca, % %,-DAT*F8>EP Z@# d_dm_processesd_dm_processes_outof_transferdata?*st_statusD#textXu_ds_baseh%dataobject|settransobjectil_sourceridarray/retrieveErrorData retrieval failed.h%|of_dscopynd<D#X [+rowcount_re8]updateaycNData update failed.Database commit failedDAT*H.D#X< P ` t       $ , D X   FD@D$$69@9(2 6d  ib_run' @83@3$@$@80$@8H0\9})p8^DAT*J:F@@8$)81^$)81^8080:)@@89}$1880)8 $18(3@3$@$@8)<8D$18L3@3$@$@8)\8d$18l5)|8$18, 1o@oDAT*L8)8$1880)8$)8<)8:F@@8$80)8<1$9},$1880)48<$18(3@3$@$@8)D8L$18L3@3$@$@8)T8\$1DAT*N8l5)d8l$18, 1o@o8)t8|$1880)8$)8<)8:F@@8$80)8<19})8~:F@@8$8 04$)<81808D0:)@@DAT*P8\9})d8l$8t0)819}:F@@8)8~)8<1~9})8)8t12}$809t)D8X$1t)`8p)|8<1p9}t)8DAT*R)8j 12}$809j )8$1 j )8f )8<1f 9}j )8)8`  1}($08809` )X8`$1 ` )h8\ )8<1\ 9}`  )8 DAT*T)81 9})8( $80)8<1( $9},$18l3@3$@$@8)481J <$188D0)L8T$1880)\8d$l8t$5 8z'8z& )8# $1DAT*V880)8$1880)8$8$5!8z'8z& $1880)8$188 0),84$<8DX$5"8z'8z&`$)h8<,,#81\,808p0:)@@81DAT*X9}$80$9}1 ^  J^Dt !$%$'>(b)~*/01.2345.9T:h<=>?EFHK8LZMjNQRSTXZ*[>\Z]jd~egikmopst,uHvXwl{pt  " > N b f j |   4 D X \ ` t DAT*Z   ( F `   J |  N\pd0 ll_rcll_xferldt_nullgs_user_idsqlcad  @*@# idt_startdatetime&st_status$#text8Starting...ib_runT'of_getrun7dinv_units$x* rowcountx* retrieveF@ErrorUnits cache failed.geT'DAT*\dw_data_mart_date!metric_codeDM UPDsetitemP!creation_date_timeO!start_date_timeO!end_date_timeO!user_idP!comment_textUpdatingP!updated7d$#8Clearing Data Mart...of_cleardatamart2 T'!P!O!O!O!P!P!d7d$#8Transferring Geographic Data...ofDAT*^_transfergeo3T'7d$#8Transferring Source Data...ids_sources()Data retrieval failed.T'7d()geographic_county_ridof_sort!T'7dof_transfersource$4T'of_resetblock97dii_blocksize+$#8Transferring Device Data...of_getnextblock:4il_blockLL,7dof_transferdevice5hT'97d+$#8Transferring Process DatDAT*`a...:4L,7dof_transferprocess6T'97d+$#8Transferring Emissions Data...:4L,7dof_transferemissions;pT'7dof_getgeoridsCT'7d$#8Transferring County Emissions Data...of_transferemissionscountyF@BT'!O!DM ERRP!P$#8Transfer Error (&)7d!DM CANP!CancelDAT*bled9P$#8Transfer Cancelled (t&!DM POPP!PopulatedP$#8Transfer Complete (&!dDatabase commit failed.T'cb_1"8Refresh Data Mart"enabled 0 @ \ p          < D \ d |           $DAT*d , 4 < D L T \ d l t |            4 < \ d l           D X ` |                ( 0 X ` h   DAT*f       $ , 4 < L T \ d l             , 4 < X ` h      p1(1<1X|1, B Zd  ll_emptydatDAT*j-` il_block,il_startrow-il_endrow$0.il_sourceridarrayD/ ( < X :($)<8Pd$1Rl$)8$$$$$1<$$80$9n98Y$1RDAT*"taObject = lds_primary.dataObject messageBox("Error", "Data update failed.", exclamation!) destroy lds_primary destroy lds_target return -1 else commit; if f_sqlCheck(SQLCA) < 0 then ROLLBACK USING SQLCA; messageBox("Error", "Database commit failed.", exclamation!) return -1 end if end if end if //release target datastore if isValid(lds_target) then lds_target.of_reset() destroy(lds_target) lds_target = create n_ds_dm_emissions lds_target.oDAT*ld $($809n098Y81YZ$@H$<P$NXt||$1"$$"$ $$809n98Y$  4DAT*nXn:r "#%'*$-:2N5f6~8:<?"d^ ll_rcll_rowcountll_rowll_indexll_emptyll_countyridll_prevcountyrid4!4*-@M il_block,ids_sources)rowcount0il_startrowD-il_endrowX.D-of_resetblock9tDAT*p,D-X.D-ii_blocksize+)object@D-geographic_county_rid__get_attribute_itemsD-)@X.X.+X.X.il_sourceridarray`/,D-X.`/)@rid, ( < P d l              ( 0 8 @ H P DAT*rX t |        d $$$68,08808J08V08a08l08y0 |j$:F@@8$)81@8080:)@@81f1f18,080 ),8DAT*t180840:)@@81)T81$18\0)p81808x0:)@@818,080 )81&80840:)@@81)81Z1)8<1808DAT*v0:)@@81)811j8080) 88,08808J08V08a0808l08y0 |),8<11840)T81<)\81(d$l8tz%)xDAT*x8(@(8z(8z&)81(8080:)@@81F)88,08808J08V08a0808l08y080808080 |8a0)8)$88,0)P88X0)l88tz%)x880)8DAT*z80)8801)81&8080:)@@81$68l0 8080 )<8<118Dz')\81 )d81 l$t8tz%)|8(@(8DAT*|z(8z&)81 8080:)@@81 )88V0)8)88,0)88X0)88tz%)880)8801)81X 8080:)@@81$DAT*~6 80 )8<1 18z')812 )81 $ 8tz%)(8(@(8z(8z&)081 8080:)@@81< )88)@8<DAT*H$)P81 X$1:@1:@)l8<)t88a0)|8)88,0)88X0)88tz%)880)8801)81*8080:)@@81$6 DAT*80 )8<118z')81)81$8tz%)8(@(8z(8z&)818080:)@@81) 8.$6DAT*"x&,<PV"f#$%&*+,1$2H3X45:;<=>B&CDDJJZKxLMNRSTYZ\6_`abcghi"j(k.o<qZtvxy z{(2F&Df &   2          0 !D "X #v $ % ( ) * +< ,B -H 1X 2 3 4 5 9 : ;DAT* < =$ A2 CP L M N O P Q W X( ]< ^Z _~ ` b g jmn*oHpfqtuvwxy}*~"|(.Pdt lds_primarylds_targetls_exclude ll_rcll_rowcountls_statusls_statusmidls_rollupridcolumn, ' ',-8>J TDAT* a $ st_status#textourmetric_codemetric_level_typeprocess_riddevice_ridsource_ridscc_ams_codesic_coden_ds_dm_emissions'inv_units' * il_sourceridarray/retrieveErrorData retrieval failed.DOWNSTRMDISof_discardbystringarrayGData discard failed.rowcountINORMALIZEof_scan=fData normalization failed.iGIof_prioritize IOData prioritization failedDAT*.I'd_dm_emissions_outof_setdatatypecounty_ridof_dscopy<POST_COPY_ROLLUP_PROCESS_RID=fI# [+I]of_blockupdateData update failed.of_resetdata_codevalue_typemethod_typereference_typeof_resetrollupMof_resetblocksortkeys)@ reference_code aof_addblocksortkey=start_date_time a= a=scc_ams_code a=material_code a=SUM_ROLLUP_AMTof_scanblocksDAT*me&Source SCC rollup failed.ids_rollup(rollup_ref_ridsummary_category_codeof_dscopymapA-POST_COPY_ROLLUP_SCC_=fI#IM ====&Device rollup failed.(A-POST_COPY_ROLLUP_=fI#I(I(rowsmove`IM ====&Source rollup DAT*failed.co(A-=fI#I# $     , T p       , T \ d l x    $ P l x     < \ d l t |            DAT*     ( 0 8 @ H P X l t |                   +  $$$6 )8818@08F0:)@@8111X$8`9n|8g)89nDAT*8g)89n8~@~818@080:)@@81:F@@811$1")8#1$ 8z%(@(8z(8z&:F@@81)818@08 0:)@@81DAT*1 8(@(8z'8!z&)098 88 " 9}1  = 9}  <$8D09n`98)p8<18@08x z%:)@@81$ 61DAT*"2L\ :!J"x&),./12j789:>@AlBFGHIJLMNSThUxVY[]_d ads_primaryads_targetas_excludeN ll_rcll_rowll_rowcountll_colll_colcountll_excll_exccountls_statusls_columnnamelb_exclude, ! !,-8>EQDAT*Xdkw   st_status#textrowcount8,ErrorRow count failed.@datawindow__get_attributekcolumnkcountkColum count failed.il_yieldblock(of_getrun7# []insertrowRow insert failed.#.namedescribe`'?@data__get_attribute_itemIsetitemDAT*hFailed writing data value to column: # $ 8 X |        0 < ` p   $$$6,$48<z%)L8(@(8z(8Tz&)`8<1,8h08n0:)@@8$8z%,,$DAT*81,8h080:)@@8$8z%$61" | 8>ld) ads_targetll_rcls_statussqlcaP ! #@#` st_status@#text'# [+rowcount co@]update@VErrorData DAT*update failed.# [error]Database commit failed.## $ , 4 L `       * $$$6,$48<z%:F@@8)T818\08b0:)@@8|$8z%1$6DAT*" J d d< ads_primaryal_ridarrayll_rcls_status P ! -,2 H st_status#text# [retrieving]retrieveJErrorData retrieval failed.># [error]# $ , 4 T |    5j#T8$08*0DAT*:)@@818M06)`8t|$:F@@8$)811&1&180)81v111)811j#&8$080:)@@81DAT*8M06)$8)88<111x8@0)T811^1(1^)\81^1)t8   HTz &!P#`$f%r'()+,12345DAT*7&;L<x=@CDFGHIK LMN$PFQLRRV^Zx[^_bde as_primarydataobjectas_targetdataobjectas_exclude lds_primarylds_targetll_rc<x  <1-H "T "_|p n_ds_dm_transfer"ErrorFailed creating primary datastore.of_setdatatypeNinv_unitsh' h* il_sourceridarrayDAT*l/of_retrieve>transfer_post_retrieveof_processdata@rowcount"Failed creating target datastore.Nof_dscopy<,transfer_post_copy@of_blockupdated` t |     $ 8 T \ t 68($6808A"8R"8i0)DAT*81$>N dH as_operationads_primaryads_targetas_dataobjectcase3case7x  "! ", : A  transfer_post_copydataobjectrod_dm_devices_outd_dm_sources_outd_dm_geo_locations_outPOPULATE GIS DATAof_scan={(  8 $$$6  DAT* 8,0820:)@@81)d818,08l0:)@@8111 $89n8g)89n8g)89n8~@~8 18,080:)@@81:F@@811DAT*$1")8#~1 $8z%(@(8z(8z&:F@@81),81R8,0840:)@@811n 8G(@(8z'8Iz&)X988`"9} 1   X DAT*=T9}X x =6#9} 1    =9}d$8l09n98)8<18,08z%:)@@81d$61"2BT!"#$%&()DAT**+/25,7X8n:~;@ABCBGRI|JKOPQ"RDSPUTVXW`Zx\]^_`bcdjk^lnmprtvd ads_primaryads_targetas_exclude as_mapfromd as_maptoype ll_rcll_rowll_rowcountll_colll_colcountll_excll_exccountll_mapll_mapcountls_statusls_columnnamelb_excludelb_map,D\h ! !,-DAT*D8-\P-hnu   st_status8#textErrorMapping arrays must be the same size.rowcountXRow count failed.N@datawindow__get_attributecolumncountDAT*Colum count failed.il_yieldblock(of_getrun7# []insertrow!Row insert failed.#.namedescribe`O?@data__get_attribute_itemqsetitemFailed writing data value to column: # $ d          , X d      $$$6j@8H08I0)pDAT*8jx8H080)8$1| :F@@8$=80)818080:)@@811x  808 z')81)48)T88\0)8DAT*80)8 8z%)880)8801)81$8080:)@@8180 |$ 6 8$0 )@8<118H z')\81)p81DAT*x$8z%)8(@(8z(8z&)818080:)@@81")8)8)88\0)880)8 8z%)880) 880)8801)81h808$0DAT*:)@@81|@$ 680 8$08H0 )`8<118h z')81f)81R$8z%)8(@(8z(8z&)81R8080:)@DAT*@81p)8:F@@8$=80)81 8080:)@@814 14 x )8)88\0)880)8 8z%)880) 880)8801)8DAT*1z 808$0:)@@8180 |@$ 6 8$0 )H8<1 18P z')h81n )p81Z x$8z%)8(@(8z(8z&)81Z 8DAT*080:)@@81x )8  $6j8H080)8:F@@8$)81 8080:)@@81 1 180)$811DAT*141),81h11j48H080)<88D08P08b08n08y0808080 |)8<1f180)81)81"$8z%)DAT*8(@(8z(8z&)8<1,8080:)@@81,,%81",8080:)@@81@)8P` $(6"0Xf "!2"`#f$l%|&),-./0?BDAT*C$DBE`FIJKLMNQ$T>UVWX\]^_` df6opqrstz{"6JhLRXhx<LRXf6<BR\p   0 4 H \ z 0 ^ d j z    D T Z ` n     > D J Z d !x #| $ ' ( + - 3 4 6 7 8F 9V : ; < = DAT*> B C D E IJK$P4QRRXVhYxZ\_`:aJbPcVgfhijkoqt,uJvZw`xyz}~ ",@JPZ`d lds_primarylds_targetls_exclude ls_empty ll_rcll_rowll_countycountll_countyridls_statusls_statusmidls_rollupridcolumnsqlca,D ' ',-D8-PDAT*V]ly   @#0 st_status@#text'n_ds_dm_emissions,'d_dm_emissions_countyof_setdatatype_,'d_dm_emissions_out_il_countyridarray22TOTALretrieveErrorData retrieval failed.county_ridPRE_COPY_ROLLUP_of_scan=of_resetrollupM$of_resetblocksortkeys <reference_cDAT*ode aof_addblocksortkeymstart_date_time am ammaterial_code amSUM_ROLLUP_AMTof_scanblocks&County rollup failed.sic_codeids_rollup(rollup_ref_ridof_dscopymapA3POST_COPY_ROLLUP_=rowcountd# [+d]of_blockupdateData update failed.of_resetM$<mmmsic_code amm&County SIC rollup failed.8(summary_category_codeDAT*A3POST_COPY_ROLLUP_SIC_=d#d2SCCM$<mmmsummary_category_code amm&County SCC rollup failed.(A3POST_COPY_ROLLUP_SCC_:=d#d#,'d_dm_emissions_source)_il_sourceridarray/summary_category = 'TOTAL'of_filter d,'_metric_codemetDAT*ric_level_typeprocess_riddevice_ridsource_ridscc_ams_codeof_dscopy<POST_COPY_ROLLUP_COUNTY_RID=d#dupdateDatabase commit failed.reset# $ @p x     4 T       @ \ p x              @ `DAT*                   @ H h p x          $ , 4<           ( $  j  8(08)0)P8 )d818l08r0:)DAT*@@8 1 80)81 1 )81 $809n98Y $8$09n098Y 8$8@09nL98YF h$1Rp$   $1RDAT*$   $1R$    1 6P`*p "# $*'F(T)t,-.123578 ;d ll_rcll_rowll_rowcountll_nationridll_prevnationridll_stateridll_prevstateridll_countyridll_prevcountyridll_arrayindexlds_geoDAT*!.?K[hy & n_ds_conversion_base&d_dm_geo_with_sourcesof_setdatatypep?retrieveXErrorFailed retrieving geographic rids.nation_rid a, state_rid a, county_rid aof_sort!rowcountobject@nation_rid__get_attribute_item@state_ridDAT*@county_ridil_nationridarrayT0T0il_stateridarrayx1x1il_countyridarray22 P d      0 8 L h p     *$4*<P*Xl*t*$$$$$ |,BXDAT*nd dw_data_mart_date0!cb_18,",st_statusD#Ddw_errorr`$`gb_1ng |%|controlc@!,"D#`$|% $4 <P Xl t       L$,$@$T$d$*8d l(DAT* dw_data_mart_date0!cb_1$"st_status4#dw_errorH$gb_16\% , @ T d j,4$8<08<0)P8X$8<08`0)|8j,,1,,$Fvd ::message,@+H ids_sources)n_ds_cache_base)of_setbasepatDAT*hname=)d_dm_sourcesof_setdatatypeminv_units* n_ds_cache_units  ,4 P X |   t$ $0$@8$,,Z1h,,@$ 2 @d ::message,@+H( ids_sources))inv_units$* $*   0 8 @ DAT*"#123456789: ; < = > ?@ABCL"#2 j of_initializeof_cleardatamartof_transfergeoof_transfersourceof_transferdeviceof_transferprocessof_getrunof_mainof_resetblockof_getnextblockof_transferemissionsof_dscopyof_updateof_retrieveof_transferdataof_processdataof_dscopymapof_transferemissionscountyof_getgeoridsf_sqlcheckf_elapsedtime+create+destroy+consDAT*tructor+destructorHR '6HZ@mw       '"'"'"'"'"DAT*'"'"'"E='"od'"ap'""='") '"id2&ME2&2&wash_'"h'"'"@^HQp^^2 \ widthheightborderbackcolortabtextcolorpicturemaskcolordw_data_mart_datecb_1st_statusdw_errorgb_1idt_startdateDAT*timeib_runil_yieldblockids_sourcesinv_unitsii_blocksizeil_blockil_startrowil_endrowil_sourceridarrayil_nationridarrayil_stateridarrayil_countyridarray0PR h&3 D V [ e n sDAT*  2//or0/ P</] oR h @@1    @    DAT*      23 3H3p312'x364H5Z6m 7w8DAT*9 : ; 4< \P= l> T?q@H ABDAT* C8i&@i'I "(LV #)2  2 ? xywidthheighttaborderdataobjectborderlivescroll7 P "@-4DAT*] o7P @  @ D $8b(9}89}@8H08V08h8z%:)@:@@8<1,,1,,H$P80)`DAT*8,,*18,,h$0D^ b d ll_rc::message(,@+p@ textCancelib_run'enabled0Cancelling...Data Mart RefreshConfirm Data Mart Refresh: click OK to continue. WARNING: the Data Mart refresh process will clear all data from the Data Mart, refresh all core data and re-calculate all rollups. This process can be DAT*time consuming.of_main8X ( 8 @ H P ` h ""2  +clickedtypear2 a xywidthheighttabordertextsizeweightfontcharsetfontpitchfontfamilyfacenametext P ` "+2>HDAT*S\] oP`   @b "2  2 xywidthheighttextsizeweightfontcharsetfontpitchfontfamilyfacenametextcolorbackcolorenabledborderborderstylefocusrectangle@ DAT* P")5?JS]gov] oP   DAT*2  2 A visiblexywidthheighttaborderlivescrollborderstyle7I@!*5] 7I@ @  @ DAT* 2  2 u xywidthheighttabordertextsizeweightfontcharsetfontpitchfontfamilyfacenametextcolorbackcolortext   0 "+2>HS\fp] oDAT* 0   @@DAT*z%)8(@(8z(8z&)(8<1,!800860:)@@8d,!,!#81d,!8008J0:)@@81@8d$l6 "6$P%^&z*+,0579:<=>?@BCD"E(FVMdNnORSVXDAT*d` lds_primarylds_targetls_exclude ll_rcll_rowll_copyrowls_statussqlca,  ",-8>EP Z!@%t st_status#textids_sources,)n_ds_dm_transfer@"dataobject\d_dm_sources_outsettransobjectof_dscopyE# [Adding GIS Data...]POPDAT* ULATE GIS DATAof_scan=# [+rowcount]updateErrorData update failed.Database commit failed.# $ 8 Th         ( d l 080 |8080)@8j`t80,!)8:F@@8$DAT* )8118181j80,!)8)8<111)8  N\j" (%8&F'b+z,-06:;> ?BdD lds_primarylds_targeDAT*tls_exclude ll_rcsqlca,d $ ',-8>!@%X sic_coded_dm_devicesd_dm_devices_outof_transferdata@;/n_ds_conversion_baseH$dataobjecthsettransobjecto|il_sourceridarrayCd3of_retrieve@u_ds_baseac'h|of_dscopyEof_updateA@ `t      DAT*  &8080)<8P$`$6j80,!)8:F@@8$)81B8080:)@@81h1h1j 80,!)8)08<DAT*11128$@8Hz%)X8(@(8z(8`z&)l8<1,!808t0:)@@8,!,!$812,!8080:)@@81BR$6 4Bdr( .!>"R#X'h(v)-.DAT*/38 ;f<=>ABCDE$J2K<NBOLRRTtd` lds_primarylds_targetls_exclude_o ll_rcll_rowll_copyrowls_statussqlca, $ ',-8>EP Z!@% d_dm_processesd_dm_processes_outof_transferdata;*st_statusD#textXn_ds_conversion_baseh$dataoDAT*bjectsettransobjectil_sourceridarrayds3retrieveErrorData retrieval failed.u_ds_basee'of_dscopyldE$D#X [+rowcounteamL]updateumnbData update failed.Database commit failed.D#X< P `        0 8 @ X l   FD@D$$69@9DAT*(2 6d  ib_run' @83@3$@$@80$@8H0\9}E@E8)p8|:F@@8$)81|$)81|8080:)@@89}$18DAT*80)8 $18(3@3$@$@8)<8D$18L3@3$@$@8)\8d$18l5)|8$18,"1o@o8)8$1880)8$)8<)8:F@@8$80DAT*)8<1$9},$1880)48<$18(3@3$@$@8)D8L$18L3@3$@$@8)T8\$18l5)d8l$18,"1o@o8)t8|$1880)8$)8<)DAT*8:F@@8$80)8<19})8:F@@8$800$)881808@0:)@@8X9})`8.h$8p0)81.9}:F@@8)8)8 0 then st_status.text = ls_status + " [+" + string(lds_target.rowCount()) + "]" //update target datastore // //*** debug // lds_primary.saveAs("c:\lds_primary.txt", text!, true) // lds_primary.ids_rollup.saveAs("c:\ids_rollup.txt", text!, true) // lds_target.saveAs("c:\lds_target.txt", text!, true) ll_rcDAT*, = lds_target.update() // ll_rc = lds_target.of_blockUpdate() if ll_rc < 0 then lds_target.is_sourceDataObject = lds_primary.dataObject messageBox("Error", "Data update failed.", exclamation!) destroy lds_primary destroy lds_target return -1 else commit; if f_sqlCheck(SQLCA) < 0 then ROLLBACK USING SQLCA; messageBox("Error", "Database commit failed.", exclamation!) return -1 end if end if end if //release target datastore if isValid(lds_target) DAT*.then lds_target.of_reset() destroy(lds_target) lds_target = create n_ds_dm_emissions lds_target.of_setDataType("", "d_dm_emissions_out") // lds_target.of_reset() end if //shift the data from the primary rollup datastore to the primary datastore ll_rc = lds_primary.of_reset() ll_rowCount = lds_primary.ids_rollup.rowCount() if ll_rowCount > 0 then ll_rc = lds_primary.ids_rollup.rowsMove(1, ll_rowCount, primary!, lds_primary, 1, primary!) end if ll_rowCount = lds_primary.rowCDAT*0ount() //SOURCE ROLLUP ls_rollupRidColumn = "source_rid" ls_scanname = "POST_COPY_ROLLUP_" + upper(ls_rollupRidColumn) lds_primary.is_scanname = ls_scanname //reset the rollup datastore lds_primary.of_resetRollup() //set the sort keys for the current rollup lds_primary.of_resetBlockSortKeys() lds_primary.of_addBlockSortKey("reference_code a") lds_primary.of_addBlockSortKey("start_date_time a") lds_primary.of_addBlockSortKey(ls_rollupRidColumn + " a") lds_primary.of_addBlockSoDAT*2rtKey("material_code a") //run block processing using the curent keys to sum the emissions for the block ll_rc = lds_primary.of_scanBlocks("SUM_ROLLUP_AMT", 0) if ll_rc < 0 then messageBox("Error", "Source rollup failed.", exclamation!) destroy lds_primary destroy lds_target return -1 end if //copy data from primary rollup datastore to target datastore ll_rc = this.of_dscopymapemissions(lds_primary.ids_rollup, lds_target, ls_exclude, {ls_rollupRidColumn}, {"rollup_ref_rid"},ls_scDAT*4anname) if ll_rc = -2 then destroy lds_primary destroy lds_target return 0 //cancel return code for the driver function end if //set the rollup level information in the target datastore ll_rc = lds_target.of_scan(ls_scanname) if ll_rc < 0 then destroy lds_primary destroy lds_target return ll_rc end if //save the target datastore if lds_target.rowCount() > 0 then st_status.text = ls_status + " [+" + string(lds_target.rowCount()) + "]" //update target datastore DAT*N// //*** debug // lds_primary.saveAs("c:\lds_primary.txt", text!, true) // lds_primary.ids_rollup.saveAs("c:\ids_rollup.txt", text!, true) // lds_target.saveAs("c:\lds_target.txt", text!, true) ll_rc = lds_target.update() // ll_rc = lds_target.of_blockUpdate() if ll_rc < 0 then lds_target.is_sourceDataObject = lds_primary.dataObject messageBox("Error", "Data update failed.", exclamation!) destroy lds_primary destroy lds_target return -1 else commit; if f_sqlCheck(SQLDAT*8)(8 0$88@0)8<1 9}$18l3@3$@$@8)81 $1880)8$1880)8$8$5%8z'8z&z)8# $1880)8$18DAT*:8 0),84$<8D\$5&8z'8z&zd$188l0)t8|$1880)8$8$5'8z'8z&$)8<,!,!(81 ,!8080:)@@819}$8 0 DAT*<$09}E@E81  ^*:h| !b"#$'.(B*\+,-234L5678L<r=?@ABHIK2NVOxPQTUV W[.]H^\_x`ghjlnprs2v6wJxfyvz~ ( , @ \ l   " 6 R X j z  : J ^ DAT*>r 0 @ r  @ r *z B`xdF ll_rcll_xferldt_nullll_oldtimell_newtimegs_user_idsqlca *5"@@!@%88 idt_startdatetime&st_status$#text8Starting...ib_runT'of_getrun7dinv_units$x* rowcountDAT*@x* retrieveF@ErrorUnits cache failed.h@T'dw_data_mart_date!metric_codeDM UPDsetitemP!creation_date_timeO!start_date_timeO!end_date_timeO!user_idP!comment_textUpdatingP!updated7d$#8Clearing Data Mart...of_cleardatamart2 T'!P!O!O!O!P!P!DAT*Bd7d$#8Transferring Geo. Data...of_transfergeo3T'7d$#8Transferring Source Data...ids_sources$)Data retrieval failed.@T'7d$)geographic_county_ridof_sort!T'7dof_transfersource4T'of_resetblock,97dii_blocksize.$#8Transferring Device Data...of_getnextblock:0il_block)H07dof_transferdeviceL5dT'9DAT*J7d.$#8Transferring Process Data...8:0H07dof_transferprocess6T'97d$#8Transferring Emissions Data....:0H07dof_transferemissions<DlT'7dof_getgeorids=T'7d$#8Transferring County Emissions Data...of_transferemissionscounty<T'7d$#8Transferring State Emissions Data...of_transferemissionsstateDAT*F10" font.weight="400" font.family="2" font.pitch="2" font.charset="0" background.mode="1" background.color="536870912" ) column(band=detail id=15 alignment="0" tabsequence=32766 border="0" color="0" x="2007" y="20" height="64" width="549" format="[general]" html.valueishtml="0" name=unit_code_1 visible="1" edit.limit=8 edit.case=any edit.autoselect=yes edit.autohscroll=yes edit.imemode=0 font.face="Arial" font.height="-10" font.weight="400" font.family="2" font.pitch="2" font.charset="0" backDAT*Hground.mode="1" background.color="536870912" ) column(band=detail id=24 alignment="0" tabsequence=32766 border="0" color="0" x="2610" y="20" height="64" width="457" format="[general]" html.valueishtml="0" name=confidential_flag visible="1" edit.limit=1 edit.case=any edit.autoselect=yes edit.autohscroll=yes edit.imemode=0 font.face="Arial" font.height="-10" font.weight="400" font.family="2" font.pitch="2" font.charset="0" background.mode="1" background.color="536870912" ) htmltable(border="1" DAT*) htmlgen(clientevents="1" clientvalidation="1" clientcomputedfields="1" clientformatting="0" clientscriptable="0" generatejavascript="1" netscapelayers="0" ) DAT*L>eT'!O!DM ERRP!P$#8Transfer Error (}&)7d!DM CANP!CancelledP$#8Transfer Cancelled (F@&!DM POPP!PopulatedP$#8Transfer Complete (&!dDatabase commit failed.T'cb_1 "8Refresh Data Mart"enabled( 0 @ \ p    DAT*P      < D \ d |           $ , 4 < D L T \ d l t |            0 8 X ` h            @ T \ x DAT*RCA) < 0 then ROLLBACK USING SQLCA; messageBox("Error", "Database commit failed.", exclamation!) return -1 end if end if end if //release target datastore //if isValid(lds_target) then // destroy(lds_target) // lds_target = create n_ds_dm_emissions // lds_target.of_setDataType("", "d_dm_emissions_out") // //lds_target.of_reset() //end if ////rollup primary datastore by source rid //ll_rc = lds_primary.of_rollupByRid("source_rid") //if ll_rc < 0 then // destroyDAT*X               $ L T \ d            ( 0 8                , 4 < \ d t |           DAT*F lds_primary // destroy lds_target // return ll_rc //end if // ////copy data from primary datastore to target datastore //ll_rc = this.of_dsCopy(lds_primary, lds_target, ls_exclude) //if ll_rc = -2 then // destroy lds_primary // destroy lds_target // return 0 //cancel return code for the driver function //end if // ////set the rollup level information in the target datastore //ll_rc = lds_target.of_scan("POST_COPY_ROLLUP_SOURCE_RID") //if ll_rc < 0 then // destroy lds_primary // dDAT*Ve="1" edit.limit=2 edit.case=any edit.focusrectangle=no edit.autoselect=yes edit.autohscroll=yes edit.imemode=0 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=15 alignment="0" tabsequence=150 border="0" color="0" x="5920" y="8" height="76" width="439" format="[general]" html.valueishtml="0" name=confidential_flag visible="1" edit.limit=1 edit.case=any edit.focusrectanDAT*gle=no edit.autoselect=yes edit.autohscroll=yes edit.imemode=0 font.face="Arial" font.height="-10" font.weight="400" font.family="2" font.pitch="2" font.charset="0" background.mode="1" background.color="536870912" ) htmltable(border="1" ) htmlgen(clientevents="1" clientvalidation="1" clientcomputedfields="1" clientformatting="0" clientscriptable="0" generatejavascript="1" netscapelayers="0" ) DAT*Z 0 p1(1<1X|1, B Zd  ll_emptydat-` il_block0il_startrow1il_endrow$02il_sourceridarrayD3 ( < X :($)<8Pd$1Rl$)8DAT*b$$$$$1<$$80$9n98Y$1Rd $($809n098Y81YZ$@H$<P$NXt||$1DAT*^ tabsequence=32766 border="0" color="0" x="8864" y="0" height="64" width="1152" format="[general]" html.valueishtml="0" name=source_rid visible="1" edit.limit=0 edit.case=any edit.autoselect=yes edit.imemode=0 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=18 alignment="0" tabsequence=32766 border="0" color="0" x="10025" y="0" height="64" width="430" format="[gDAT*`eneral]" html.valueishtml="0" name=scc_ams_code visible="1" edit.limit=0 edit.case=any edit.autoselect=yes edit.imemode=0 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=19 alignment="0" tabsequence=32766 border="0" color="0" x="10464" y="0" height="64" width="165" format="[general]" html.valueishtml="0" name=sic_code visible="1" edit.limit=0 edit.case=any editDAT*y.autoselect=yes edit.imemode=0 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" ) htmlgen(clientevents="1" clientvalidation="1" clientcomputedfields="1" clientformatting="0" clientscriptable="0" generatejavascript="1" netscapelayers="0" ) DAT*d"$$"$ $$809n98Y$  4Xn:r "#%'*$-:2N5f6~8:<?"d^ ll_rcll_rowcountll_rowll_indexll_emptyll_countyridll_prevcountyrid4!DAT*f4*-@M il_block0ids_sources)rowcount0il_startrowD1il_endrowX2D1of_resetblock9t0D1X2D1ii_blocksize.)object@D1geographic_county_rid__get_attribute_itemsD1)@X2X2.X2X2il_sourceridarray`30D1X2`3)@ridDAT*h0 ( < P d l              ( 0 8 @ H P X t |        5j#T8$08*0:)@@818M06)`8t|$:F@@8$)DAT*j811*1*180)81111)811j#28$080:)@@818M06)$8)88<1118@0DAT*r)T811z1D1z)\81z1)t8   HTz *!\#l$r%~'()+,1234 5&72;X<=@CDFGHIK(L.M4N@PbQhRnVzZ[^_bde as_primarydataoDAT*ncase 'Data Mart: State Totals Rollup' is_reportname = 'r_dm_state_totals' ib_rollup_report = TRUE ib_enable_objects = TRUE case 'Data Mart: State SCC Rollup' is_reportname = 'r_dm_state_scc' ib_rollup_report = TRUE ib_enable_objects = TRUE case 'Data Mart: State SIC Rollup' is_reportname = 'r_dm_state_sic' ib_rollup_report = TRUE ib_enable_objects = TRUE case 'Data Mart: County Totals Rollup' is_reportname = 'r_dm_county_totals' ib_rollup_reporDAT*pt = TRUE ib_enable_objects = TRUE case 'Data Mart: County SCC Rollup' is_reportname = 'r_dm_county_scc' ib_rollup_report = TRUE ib_enable_objects = TRUE case 'Data Mart: County SIC Rollup' is_reportname = 'r_dm_county_sic' ib_rollup_report = TRUE ib_enable_objects = TRUE case '' //do nothing for no report selected case else messageBox("Error", "w_report::ddlb_reportName::selectionChanged(); " +& "invalid report name '" + is_reportName + "'", eDAT*xclamation!) return -1 end choose // Enables or disables objects on w_report based on report selected. if ib_enable_objects then uo_emis_period.visible = TRUE dw_reference_codes.visible = TRUE dw_unit_meas.visible = TRUE uo_pollutant.visible = TRUE else uo_emis_period.visible = FALSE dw_reference_codes.visible = FALSE dw_unit_meas.visible = FALSE uo_pollutant.visible = FALSE end if end event DAT*tbjectas_targetdataobjectas_exclude lds_primarylds_targetll_rc<x  <1-H "T "_|p n_ds_dm_transfer"ErrorFailed creating primary datastore.of_setdatatypedroNinv_unitsh' h* il_sourceridarray3of_retrieve@transfer_post_retrieveof_processdata?rowcount"Failed creating target datastoDAT*vre.Nof_dscopyE,transfer_post_copy?of_blockupdated` t |     $ 8 T \ t l$$$6j@8H08I0)p8$ j 8H0$6)8 j8H080)8$1DAT*x4X:F@@8 $=8(0)8818@08F0:)@@811T 8]0 8h z' 68 z')81)8)880)880),8 84z%DAT*z)888@0)P88X01)x818@080:)@@8180 | 6 80  6)8<1x1 6)81)81D$8z%)DAT*|8(@(8z(8z&)$81@H$68@08P0:)@@81D,!,!)81D,!8@08d0:)@@81b)8 8 z' 6)8)880)880)8 8DAT*~4z%)880)88@0)88X01)818@080:)@@81| 680 808 0  6)88<11 6)@81)H81DAT*` P$X8z%)`8(@(8z(8z&)h81 px$68@08P0:)@@81` ,!,!*81` ,!8@08d0:)@@81~ )8 8 z' 6:F@@8$=80DAT*)81b 8@08F0:)@@81v 1v T)8)880)880)8 84z%)880)88@0)88X01) 81 8@080:)@@8180 |0DAT* 6 80  6)88<1j 1 6)@81 )H816P$X8z%)`8(@(8z(8z&)h81px$68@08P0:)@@816,!,!+DAT*816,!8@08d0:)@@81T)8*v)8,!@8C@C$  @8 C@C$6@8C@C$$6"0Xv!"$B%\&'()*+,/0124L5x6DAT*78GJKLMN(QFRpSTUVY\]L^\_b`hdxefghlnw<yVzf{|}~4DNb|:Xhx~X r  " P ` j ~   B H N ^ r v       8 b r      > N T Z j ! " # $ ( * 3.5H6XDAT*7|89:;<=>?@&G6H@LTOXPbSvV|WXY\]^_bcde$h6jXd lds_primarylds_targetls_exclude ls_emptyz ll_rcll_rowll_countycountll_countyridls_statusls_statusmidls_rollupridcolumnlds_rollupls_scannamesqlca,D ! !,-D8-PV]lDAT*y    ( !@% st_statusan#textn_ds_dm_emissionsar,!d_dm_emissions_countyof_setdatatype_inv_unitsx' x* n_ds_nei_cache_base(dataobject_ids_rollup(,!d_dm_emissions_out_il_countyridarray66TOTALretrieve.ErrorData retrieval failed.county_ridPOST_COPY_RODAT*LLUP_is_scanname'.z4PRE_COPY_ROLLUP_of_scanrdS=of_resetrolluprMof_resetblocksortkeysolreference_code aof_addblocksortkeystart_date_time a amaterial_code aSUM_ROLLUP_AMTof_scanblocks&gCounty rollup failed.sic_code(rollup_ref_ridof_dscopymapemissionsH=rowcount # [+]of_blockupdateis_sourcedataobject,)Data update failed.DatabaDAT*se commit failed.of_reset8|POST_COPY_ROLLUP_SIC_z4Msic_code a&gCounty SIC rollup failed.(summary_category_code6H=#,)|POST_COPY_ROLLUP_SCC_z46SCC.Msummary_category_code a&gCounty SCC rollup failed.(H=#DAT*,)|reset# $ @p          8      , 8 P x        $ @ H            8 @ H P X ` h p x DAT*             0 8 @ H P X ` h p x     $  j  8(08)0)P8 )d818l08r0:)@@8 1 80)81 1 )81DAT* $809n98Y $8$09n098Y 8$8@09nL98YF h$1Rp$   $1R$   $1R$    1DAT* 6P`*p "# $*'F(T)t,-.123578 ;d ll_rcll_rowll_rowcountll_nationridll_prevnationridll_stateridll_prevstateridll_countyridll_prevcountyridll_arrayindexlds_geo!.?K[hyDAT* $ n_ds_conversion_base$d_dm_geo_with_sourcesof_setdatatypep?retrieveXErrorFailed retrieving geographic rids.nation_rid a, state_rid a, county_rid aof_sortt!rowcountobject@nation_rid__get_attribute_item@state_ridf@county_ridil_nationridarrayT4T4il_stateridarray x5x5il_countyridarray 66 P d DAT*     0 8 L h p     H$$$6j@8H08I0)p8$ j 8H0$6)8 j8H080)8$14X:F@@8 $=8(0DAT*)8818@08F0:)@@811T 8]08g z')81n 8 z' 6)8)880) 880)(8 80z%)488<0)L88T01)t81DAT*8@08|0:)@@8180 | 6 80  6)8<1x1 6)81)81D$8z%)8(@(8z(8 z&) 81ILMNOP(SFTpUVWX[^_L`\abbhfxghijnpy<{V|f}~DAT*4DNb|:Xhx~X r  " P ` j ~   B H N ^ r v       8 b r      > N T Z $j % & ' ( , . 7.9H:X;|<=>?@ABCD&K6L@PTRXSbT~UXYZ[^_`adf4d lDAT*ds_primarylds_targetls_exclude ls_empty& ll_rcll_rowll_statecountll_stateridls_statusls_statusmidls_rollupridcolumnlds_rollupls_scannamesqlca,D ! !,-D8-PV]kw    ( !@%x st_statDAT*us #textn_ds_dm_emissions,!d_dm_emissions_stateof_setdatatype^inv_unitsx' x* n_ds_nei_cache_base(dataobject^ids_rollup(,!d_dm_emissions_out^il_stateridarray55TOTALretrieve.ErrorData retrieval failed.state_ridPRE_COPY_ROLLUP_of_scan=xPOST_COPY_ROLLUP_is_scanname4of_resetrollupMof_resetblocksortkeysreference_code aof_addblocksDAT*ortkeystart_date_time a0 amaterial_code aSUM_ROLLUP_AMTof_scanblocks&cState rollup failed.sic_codez(rollup_ref_ridof_dscopymapemissionsH=xrowcountf# [+]of_blockupdateis_sourcedataobject()Data update failed.Database commit failed.of_resetxPOST_COPY_ROLLUP_SIC_4Msic_code a&cStaDAT*te SIC rollup failed.(summary_category_codeH=x#()xPOST_COPY_ROLLUP_SCC_45SCC.Msummary_category_code a&cState SCC rollup failed.$(H=x#()x# $ @p       DAT*   8       ( 4 L t          < D            4 < D L T \ d l t |            , 4 < D L T \ d lDAT* t |    68-($6808A"8R"t$$6$8z%-80)81$> N dR as_operationads_primaryads_targetas_dataobjectls_statuscase4case8  "! ",DAT* : D K 0 transfer_post_copydataobjectd_dm_devices_outd_dm_sources_outd_dm_geo_locations_outst_statusi#text|i#| [Adding GIS Data...]POPULATE GIS DATAof_scan=( t     * $$$6,$48<z%:F@@8-)T818\0DAT*8b0:)@@8|$8z%1$6" J d d< ads_primaryal_ridarrayll_rcls_status P # -,2 H st_status8#text# [retrieving]retrieveJErrorData retrieval failed.# [error]DAT*t# $ , 4 T |    $$$6,$48<z%-)L8(@(8z(8Tz&-)`8<1,!8h08n0:)@@8$8z%,!,!/81,!8h080:)@@8$8z%DAT*$61" | 8>ld) ads_targetll_rcls_statussqlcaP # #!@%` st_status#text# [+rowcount@]updateVErrorData update failed.# [error]Database commit failed.## $ DAT*, 4 L `       :F@@8$0$)L8<18T08Z0:)@@81|$8$)8(@(8z'8z&C@C$ P` d& ls_exclude ll_rc(- DAT*8 ids_primary,!il_sourceridarray3of_retrieveappend-8ErrorData retrieval failed.st_statusq#textLoading Emissions Data...[i,!rowcount] 0 L |     $$$68,08808J08V08a08l08y0 |:F@@8$)8$)811DAT*$8z%$80) 818080:)@@818$)@811)T81\$d8lz%$)8<1|8080:)@@81$)8118,08808J0DAT*8V08a0808l08y0 |$8z%)8<11)81$$,84z%D$8L0)l814t$)|81`$8z%$)8(@(8z(8z&$DAT*)81`$$$6808 0:)@@81 $($)<8)D818,08808J08V08a0808l08y08L08V08a08m0 ||$8z%8a0$)8$)8$80DAT*)8$8$0)88@$8Hz%)L8T$8\0)l8t$8|0)8$801)818080:)@@81)81$8z%$ 68l0 808+0 )P8DAT*<11X$8`z')x810 $)81 $8z%$)8(@(8z(8z&)8 1$)81 $$$6808 0:)@@81$ $)8DAT*$8z%8V0$$),84$)<8D$80)L8T$8$0)\8d$8Hz%)l8t$8|0)|8$801)81< 8080:)@@81)8` 1$8z%$DAT*6 80 )8<1 1$8z')81j $)81)8 1 $(8z%0$)88(@(8z(8z&@$)H81P$X`$h$6808 0:)@DAT*@81p$x$)8)8 1$84z%$)8<$$)81$$1:@$1:@)8<$)8$ 8z%8a0$$),84$)<8D$DAT*80)L8T$8$0)\8d$8Hz%)l8t$8|0)|8$801)818080:)@@81)81$8z%$6 80 )8<1z1DAT*$8z')81$)81@) 81 $ 8z% $)$ 8(@(8z(8z&), 814 $)< 81@D $L T $\ $6808 0:)@@81,!d $l 6t $)| DAT*8 $) 8C@C$ "x 8Hv)*,-23.4>5l<|=BDG:H~IKLNOP&T4VZY[]^"_Pl`mrpqr:vbyt|}~"Hn: " 0 V  B p  F l , < `   L \ j 8H| 4DAT*Z8J f    P`Zjz $%&.x/012308@:F;h<=@db ls_exclude ll_rcll_rowcountls_statusls_statusmidls_rollupridcolumnsqlca- &2 < I \!@%  st_statusy#texturcmetric_codemetric_level_typeprocDAT*ess_riddevice_ridsource_ridscc_ams_codesic_codeids_target-!resetids_primary,!rowcount# [Normalize...],!NORMALIZEof_scan)=ErrorData normalization failed.lap,!of_getrun7H# [Prioritization...],!of_prioritizeOData prioritization failed.,!county_rid# [Copy...],!-!of_dscopyzE7H# [Rollup...]DAT*-!POST_COPY_ROLLUP_PROCESS_RID)@=-!# [+-!]1-!of_blockupdate-!is_sourcedataobject),!dataobjectData update failed.-!-!of_reset07Hdata_codevalue_typemethod_typereference_type# [SCC Rollup...],!of_resetrollupM,!of_resetblocksortkeys,!reference_code aof_addblocksortkey,!start_date_time aDAT*,! a,!scc_ams_code a,!material_code a,!SUM_ROLLUP_AMTof_scanblocks&Source SCC rollup failed.7H#,!ids_rollup(-!rollup_ref_ridsummary_category_codeof_dscopymapFA-!POST_COPY_ROLLUP_SCC_=-!#-!7H-!-!),!-!-!0# [Device Rollup...],!MDAT*,!,!,!,!,!,!&Device rollup failed.07H#,!(-!FA-!POST_COPY_ROLLUP_=-!7H#-!-!-!),!-!-!07H#,!0,!(,!(,!rowsmove,!# [Source...]DAT*,!M,!,!,!,!,!,!&Source rollup failed.7H#,!(-!FA-!=-!7H#-!7H-!-!),!#-!,! $          8 @ T \ d   DAT*        $ , D l t |             ( < D |         8 @ L T l t           P X x         DAT*          $ , 4 < D L T \ d l t |                 ( 0 8 @ H P X ` h p x               DAT*    $ , 4 < D L T \ d l t |                  $ , 4 < D L T \ d l t |     $$$68,08808J08V08a08l08y0 |jDAT*$ j 80$6)8  :F@@8($)<818D08J0:)@@81118,08a0 )81D8D080:)@@81)81x1DAT*80)818D080:)@@818,08a0 )81z8D080:)@@81)811)8<1 8D080:)@@81)481T1j<80DAT*8D0)X88,08808J08V08a08`08l08y0 |8k0)8<1T18k0)81)81&$8z%)8(@(8z(8z&)8<1$6DAT*8D080:)@@81&,!,!081&,!8D080:)@@81)@8jH808D0)P88,08808J08V08a08`08l08y08X08b08m08y0 |8a08z'6)DAT*8)880)880),884z%)888@0)P88X0)h88p01)81 8D080:)@@8168l0 8080 6)8<1< 16)DAT*81 )81 $8z%) 8(@(8z(8z&)(8<1 08$68D080:)@@81 ,!,!181 ,!8D080:)@@81f )@8jH8DAT*08D0)P88V08Xz'l6)t8)|880)880)884z%)88X0)88p01)81 8D080:)@@816 80 6)8<DAT*1h16)81)818$8z%)8(@(8z(8z&)8<1 $68D080:)@@818,!,!2818,!8D080:)@@81DAT*)8j808D0)$8),8<4$)<81,D$1:@1:@)X8<)`88a08Xz'h6)p8)x880)880)884z%)88X0)DAT*88p01)818D080:)@@816 80 6)8<1H16)81)81$8z%)8(@(8z(8z&)8DAT*<1$68D080:)@@81,!,!381,!8D080:)@@81,!\@8C@C$  @8 C@C$@8C@C$C@C$$6DAT*"x<L z!"#$-./0.14:D;b<hAxBCDEOP&Q6RdSj\z]^defg ho p>qDvTwby|}(~8>DTx8Hl&0DJX4Nb v     : J x ~     & , !< "^ #n $t %z ) + 5 6 7. 8R 9 : ; < = > ? @ A H I J* DAT*L0 M> Vf Wx X [ ^ _ ` a b2 eP fz g h i j r s<tLuRvXzh{|}~,JZ~(8BV\j,FXr0Zj,28Hjz *:^9;<(=D>JA\BfCDHIJKNOQ d lds_primarylds_targetls_exclude DAT* ll_rcll_rowcountls_statusls_statusmidls_rollupridcolumnls_scannamelds_rollupsqlca, ! !,-8>J T a t  (!@% ( st_status#textmetric_codemetric_level_typeprocess_riddevice_ridsource_ridscc_ams_codesic_coden_ds_dm_emissions!inv_units' DAT* * n_ds_nei_cache_base(dataobjectof_setdatatypeids_rollup (il_sourceridarray 3retrieve 0ErrorData retrieval failed.DOWNSTRMDISof_discardbystringarray1GmData discard failed.rowcountNORMALIZEof_scan=Data normalization failed.Gmof_prioritizeOData prioritization failed.!d_dm_emissions_outcounty_ridPOST_COPY_ROLLUP_PROCESS_RIDof_dscopyemissionsG=DAT*# [+]update'is_sourcedataobject)Data update failed.Database commit failed.of_reset4!data_codevalue_typemethod_typereference_typePOST_COPY_ROLLUP_SCC_is_scanname@4of_resetrollupMof_resetblocksortkeysreference_code aof_addblocksortkeystart_date_time a ascc_ams_code amaterial_code aSUM_ROLLUP_AMTof_scanblocks&SouDAT*rce SCC rollup failed.(rollup_ref_ridsummary_category_codeof_dscopymapemissionsH=#)4!POST_COPY_ROLLUP_4M&Device rollup failed.(H=#)4!4((rowsmovezL4MDAT*&Source rollup failed.8(H=#)# $       ( <       4 <X          @ HP     , 8 P h      DAT*    ( 0 8 @ HP l t |                  $ , 4 < D X ` h p x                  , $$$6 DAT*-)8818@08F0:)@@8111-`$8h9n8g)89n8g)89n8~@~818@080:)@@81:F@@811$1")8#1DAT*$ 8z%(@(8z(8z&:F@@8-1) 818@080:)@@811 -8'(@(8z'8)z&)898 8@ " 9} 1     = 9} -D$8LDAT*09nh98V- o)x8<18@08 z%:)@@81$ 61"2L\!":#J$x'.13467j<=>?CEFlGKLMNOQRSXYL[v\]`bdfd ads_primaryads_targetas_excludeb ll_rcll_rowll_rowDAT*countll_targetrowll_colll_colcountll_excll_exccountls_statusls_columnnamelb_excludela_data,, $ #,-8>EQ^eqx   st_status#textrowcount8,ErrorRow count failDAT*ed.objectX@datawindow__get_attributeiscolumnvscounttisColum count failed.il_yieldblocksa(of_getrunH 7# []insertrowRow insert failed.#.namedescribe`/?pX@data__get_attribute_itemj QsetitempFailed writing data value to column: # $ 8 `          8 D h x   DAT* 9$$$6   8,0820:)@@81-)d818,08l0:)@@8111 -$89n8g)89n8g)89n8~@~8 18,080:)@@81:F@DAT*"@811$1") 8#~1$8$z%(@(8z(8'z&:F@@8-1)481R8,08<0:)@@811n -8O(@(8z'8Qz&)`988h"DAT*$9} 1   X =T9}X x =6#9} 1    =9}-l$8t09n98V-o)8<18,08z%:)@@81d$DAT*&61"2BT"#$%&')*+,047,9X:n<~=BCDEBIRK|LMQRS"TDUPWTXXY`\x^_`abdeflmBolp|qtvxzd ads_primaryads_targetas_excludeR as_mapfrom as_mapto ll_rcll_rowll_rowcountll_colll_colcountll_excll_exccountll_mapll_mapcountls_statusls_columnnamelb_excludelb_mapDAT*(la_data,D\| $ #,-D8-\P-hnu   st_status@#text'ErrorMapping arrays must be the samDAT**e size.rowcountXRow count failed.object~@datawindow__get_attributecolumncountLColum count failed.il_yieldblockH(of_getrunha7# []insertrow)Row insert failed.#.namedescribe`W? ~@data__get_attribute_itemysetitemFailed writing data value to column: # $ d          4 ` DAT*,l     V; $$$6 -)8818@08F0:)@@8111 -`$8h9n8g)89n8g)89n8~@~8 18@080:)@@81:F@@811DAT*.1$1")8#,1$ 8z%(@(8z(8z&:F@@8-1) 818@080:)@@811&  -8'(@(8z'8)z&)898 8@ "9} 1DAT*0     = 9}-D$8L09nh98V- o)x8<18@08 z%:)@@81-6)8$<11-)81<8@080:)@@81,!,!4DAT*281,!8@080:)@@81-)8 $( 61"2L\!":#J$x'+.1346,7x<=>?AC E4FGKLMNOQ RSXYd[\]`abc(d6eXfghijkloruw@d ads_primaryads_targetas_exclude as_scannamell_rcll_rowll_rowcDAT*4ountll_targetrowll_colll_colcountll_excll_exccountls_statusls_columnnamelb_excludela_datasqlca,T $ !,-8 DJQ]jq}  !@%0 st_status@#text'DAT*6rowcount,ErrorRow count failed.objecttX@datawindow__get_attributeGscolumnoscountrsColum count failed.il_yieldblock(of_getrun7# []insertrowaRow insert failed.#.namedescribe`/?X@data__get_attribute_item@QsetitempFailed writing data value to column: of_scan=ii_updateblocksize/updateData update failed.Database commit failed.reset)DAT*8# $ 8 `          8 D h x       ( >G$$$6 8,0820:)@@81-)d818,08l0:)@@8111 -$DAT*L89n8g)89n8g)89n8~@~8 18,080:)@@81:F@@811$1") 8#~1$8$z%(@(8z(8'z&:F@@8-1)481R8,08<NOD*] aENT*0600Q/3Ad_dm_devices.dwoENT*0600B1Yy=d_dm_devices.srdENT*0600S9@create_emission_copy.srpDAT*Hestroy lds_target // return ll_rc //end if // ////save the target datastore //if lds_target.rowCount() > 0 then // // st_status.text = ls_status + " [+" + string(lds_target.rowCount()) + "]" // // //update target datastore // ll_rc = lds_target.update() // if ll_rc < 0 then // ROLLBACK USING SQLCA; // messageBox("Error", "Data update failed.", exclamation!) // destroy lds_primary // destroy lds_target // return -1 // end if // // COMMIT USING SQLCA; // if f_sqlCheck(SQLDAT*JCA) < 0 then // ROLLBACK USING SQLCA; // messageBox("Error", "Database commit failed.", exclamation!) // destroy lds_primary // destroy lds_target // return -1 // end if // //end if // ////release target datastore //if isValid(lds_target) then // lds_target.of_reset() //end if commit; if isValid(lds_primary) then setnull(lds_primary) destroy lds_primary garbagecollect() end if if isValid(lds_rollup) then setnull(lds_rollup) destroy lds_rollup garbagecollectDAT*X() end if if isValid(lds_target) then setnull(lds_target) destroy lds_target garbagecollect() end if garbagecollect() st_status.text = ls_status return ll_rc end function public function integer of_dscopy (ref n_ds_conversion_base ads_primary, ref datastore ads_target, string as_exclude[]); //Copy data from one datastore to another. //NOTE: Column names must match in the two datastores //RETURN: 1; normal // 0; no rows copied // -1; error // -2; operatioDAT*N0:)@@81  1x   -8O (@(8z'8Qz&)`988h"9}1b=^9}b=6#9} 1    =9}-l$8tDAT*P0 9n98V- o)8<18,08z%:)@@81n$<1 1-6)8-)81<8,08 0:)@@81,!,!581,!8,08 0:)@@81-)@8H$DAT*RP61"2BT#$%&'(*+,-158,:X;n=~>CDEFBHRJ\LMNRST,UNVZX^YbZj]_`abcefgmnLpvqruvwyz{@|n}~~(d  ads_primaryads_targetas_excludeR as_mapfrom as_mapto as_scannamell_rcll_rowll_rowcountll_targetrowll_DAT*Tcolll_colcountll_excll_exccountll_mapll_mapcountls_statusls_columnnamelb_excludelb_mapla_datasqlca,D\ $ !,-D8-\P-h tz  DAT*V@!@%X st_status@#text'ErrorMapping arrays must be the same size.rowcountXRow count failed.object~@datawindow__get_attributecolumncountColum count failed.il_yieldblock(of_getrun7# []insertrow)Row insert failed.#.namedescribe`W?~@data__get_attribute_itemysetitemDAT*Failed writing data value to column: ii_updateblocksize1/of_scan=updateData update failed.Database commit failed.reset18# $ d          4 ` l      @ H P *$4*<P*Xl*t*$DAT*Zn cancelled long ll_rc long ll_row, ll_rowCount, ll_targetrow long ll_col, ll_colCount long ll_exc, ll_excCount string ls_status string ls_columnName boolean lb_exclude any la_data ls_status = st_status.text //grab the number of columns to exclude from the copy ll_excCount = upperBound(as_exclude) //grab rows and column counts for the primary datastore ll_rowCount = ads_primary.rowCount() if ll_rowCount < 0 then messageBox("Error", "Row count failed.", exclamation!) rDAT*\eturn -1 elseif ll_rowCount = 0 then return 0 end if ll_colCount = long(ads_primary.object.datawindow.column.count) if ll_colCount <= 0 then messageBox("Error", "Colum count failed.", exclamation!) return -1 end if setPointer(hourglass!) //ads_primary.of_populatecolumntypes() //loop through the rows in the primary datastore for ll_row = 1 to ll_rowCount //check for operation cancelled if ll_row = 1 or mod(ll_row, il_yieldBlock) = 0 then if not this.of_getRun(DAT*^) then return -2 //cancel return code end if st_status.text = ls_status + " [" + string(ll_row) + "]" setPointer(hourglass!) end if //add a row to the target datastore ll_rc = ads_target.insertRow(0) if ll_rc < 0 then messageBox("Error", "Row insert failed.", exclamation!) return -1 end if //loops through the columns in the primary datastore for ll_col = 1 to ll_colCount ls_columnName = lower(trim(ads_primary.describe("#"+string(ll_col)+".name"))DAT*`) if ls_columnName = "?" or isNull(ls_columnName) then continue end if //check to see if we are skipping this column lb_exclude = false for ll_exc = 1 to ll_excCount if ls_columnName = lower(trim(as_exclude[ll_exc])) then lb_exclude = true exit end if next if lb_exclude then continue end if //copy data element from primary datastore to target datastore //***this requires that both datastores use the same column name*** la_data = adDAT*bs_primary.object.data[ll_row, ll_col] ll_rc = ads_target.setitem(ll_row, ls_columnName, la_data) //ll_rc = ads_target.setitem(ll_row, ls_columnName, ads_primary.object.data[ll_row, ll_col]) if ll_rc < 0 then messageBox("Error", "Failed writing data value to column: " + ls_columnName, exclamation!) return -1 end if next //column next //row st_status.text = ls_status return 1 end function public function integer of_dscopymap (ref n_ds_conversion_base ads_prDAT*dimary, ref datastore ads_target, string as_exclude[], string as_mapfrom[], string as_mapto[]); //Copy data from one datastore to another. //NOTE: Column names must match in the two datastores //RETURN: 1; normal // 0; no rows copied // -1; error // -2; operation cancelled long ll_rc long ll_row, ll_rowCount long ll_col, ll_colCount long ll_exc, ll_excCount long ll_map, ll_mapCount string ls_status string ls_columnName boolean lb_exclude boolean lb_map any la_data DAT*f ls_status = st_status.text //grab the number of columns to exclude from the copy ll_excCount = upperBound(as_exclude) //grab the number of columns to exclude from the copy ll_mapCount = upperBound(as_mapFrom) if ll_mapCount <> upperBound(as_mapTo) then messageBox("Error", "Mapping arrays must be the same size.", exclamation!) return -1 end if //grab rows and column counts for the primary datastore ll_rowCount = ads_primary.rowCount() if ll_rowCount < 0 then messageBox("ErroDAT*hr", "Row count failed.", exclamation!) return -1 elseif ll_rowCount = 0 then return 0 end if ll_colCount = long(ads_primary.object.datawindow.column.count) if ll_colCount <= 0 then messageBox("Error", "Colum count failed.", exclamation!) return -1 end if setPointer(hourglass!) //ads_primary.of_populatecolumntypes() //loop through the rows in the primary datastore for ll_row = 1 to ll_rowCount //check for operation cancelled if ll_row = 1 or mod(ll_row, il_yieldBlock) DAT*j= 0 then if not this.of_getRun() then return -2 //cancel return code end if st_status.text = ls_status + " [" + string(ll_row) + "]" setPointer(hourglass!) end if //add a row to the target datastore ll_rc = ads_target.insertRow(0) if ll_rc < 0 then messageBox("Error", "Row insert failed.", exclamation!) return -1 end if //loops through the columns in the primary datastore for ll_col = 1 to ll_colCount ls_columnName = lower(trim(ads_primaryDAT*l.describe("#"+string(ll_col)+".name"))) if ls_columnName = "?" or isNull(ls_columnName) then continue end if //check to see if we are mapping this column lb_map = false for ll_map = 1 to ll_mapCount if ls_columnName = lower(trim(as_mapFrom[ll_map])) then lb_map = true exit end if next if lb_map then ls_columnName = as_mapTo[ll_map] end if if not lb_map then //check to see if we are skipping this column lb_exclude = false for DAT*nll_exc = 1 to ll_excCount if ls_columnName = lower(trim(as_exclude[ll_exc])) then lb_exclude = true exit end if next if lb_exclude then continue end if end if //copy data element from primary datastore to target datastore //***this requires that both datastores use the same column name*** la_data = ads_primary.object.data[ll_row, ll_col] ll_rc = ads_target.setitem(ll_row, ls_columnName, la_data) //ll_rc = ads_target.setitem(ll_row, ls_coDAT*plumnName, ads_primary.object.data[ll_row, ll_col]) if ll_rc < 0 then messageBox("Error", "Failed writing data value to column: " + ls_columnName, exclamation!) return -1 end if next //column next //row st_status.text = ls_status return 1 end function public function integer of_dscopyemissions (ref n_ds_conversion_base ads_primary, ref n_ds_dm_emissions ads_target, string as_exclude[], string as_scanname); //Copy data from one datastore to another. //NOTE: CoDAT*rlumn names must match in the two datastores //RETURN: 1; normal // 0; no rows copied // -1; error // -2; operation cancelled long ll_rc long ll_row, ll_rowCount, ll_targetrow long ll_col, ll_colCount long ll_exc, ll_excCount string ls_status string ls_columnName boolean lb_exclude any la_data ls_status = st_status.text //grab the number of columns to exclude from the copy ll_excCount = upperBound(as_exclude) //grab rows and column counts for the primary datDAT*tastore ll_rowCount = ads_primary.rowCount() if ll_rowCount < 0 then messageBox("Error", "Row count failed.", exclamation!) return -1 elseif ll_rowCount = 0 then return 0 end if ll_colCount = long(ads_primary.object.datawindow.column.count) if ll_colCount <= 0 then messageBox("Error", "Colum count failed.", exclamation!) return -1 end if setPointer(hourglass!) //ads_primary.of_populatecolumntypes() ll_targetrow = 0 //loop through the rows in the primary datastore for lDAT*vl_row = 1 to ll_rowCount //check for operation cancelled if ll_row = 1 or mod(ll_row, il_yieldBlock) = 0 then if not this.of_getRun() then return -2 //cancel return code end if st_status.text = ls_status + " [" + string(ll_row) + "]" setPointer(hourglass!) end if //add a row to the target datastore ll_rc = ads_target.insertRow(0) if ll_rc < 0 then messageBox("Error", "Row insert failed.", exclamation!) return -1 end if ll_targetrow++ //loops tDAT*xhrough the columns in the primary datastore for ll_col = 1 to ll_colCount ls_columnName = lower(trim(ads_primary.describe("#"+string(ll_col)+".name"))) if ls_columnName = "?" or isNull(ls_columnName) then continue end if //check to see if we are skipping this column lb_exclude = false for ll_exc = 1 to ll_excCount if ls_columnName = lower(trim(as_exclude[ll_exc])) then lb_exclude = true exit end if next if lb_exclude then continue endDAT*z if //copy data element from primary datastore to target datastore //***this requires that both datastores use the same column name*** la_data = ads_primary.object.data[ll_row, ll_col] ll_rc = ads_target.setitem(ll_targetrow, ls_columnName, la_data) //ll_rc = ads_target.setitem(ll_row, ls_columnName, ads_primary.object.data[ll_row, ll_col]) if ll_rc < 0 then messageBox("Error", "Failed writing data value to column: " + ls_columnName, exclamation!) return -1 end DAT*|if next //column ll_rc = ads_target.of_scan(as_scanname) if mod(ll_row, ii_updateblocksize) = 0 then ll_targetrow = 0 if ads_target.update() < 0 then messageBox("Error", "Data update failed.", exclamation!) return -1 else commit; if f_sqlCheck(SQLCA) < 0 then ROLLBACK USING SQLCA; messageBox("Error", "Database commit failed.", exclamation!) return -1 end if end if ads_target.reset() end if next //row st_status.text = ls_sDAT*~tatus return 1 end function public function integer of_dscopymapemissions (ref n_ds_conversion_base ads_primary, ref n_ds_dm_emissions ads_target, string as_exclude[], string as_mapfrom[], string as_mapto[], string as_scanname); //Copy data from one datastore to another. //NOTE: Column names must match in the two datastores //RETURN: 1; normal // 0; no rows copied // -1; error // -2; operation cancelled long ll_rc long ll_row, ll_rowCount, ll_targetrow long ll_col, DAT*ll_colCount long ll_exc, ll_excCount long ll_map, ll_mapCount string ls_status string ls_columnName boolean lb_exclude boolean lb_map any la_data ls_status = st_status.text //grab the number of columns to exclude from the copy ll_excCount = upperBound(as_exclude) //grab the number of columns to exclude from the copy ll_mapCount = upperBound(as_mapFrom) if ll_mapCount <> upperBound(as_mapTo) then messageBox("Error", "Mapping arrays must be the same size.", exclamation!) rDAT*eturn -1 end if //grab rows and column counts for the primary datastore ll_rowCount = ads_primary.rowCount() if ll_rowCount < 0 then messageBox("Error", "Row count failed.", exclamation!) return -1 elseif ll_rowCount = 0 then return 0 end if ll_colCount = long(ads_primary.object.datawindow.column.count) if ll_colCount <= 0 then messageBox("Error", "Colum count failed.", exclamation!) return -1 end if setPointer(hourglass!) //ads_primary.of_populatecolumntypes() //loopDAT* through the rows in the primary datastore for ll_row = 1 to ll_rowCount //check for operation cancelled if ll_row = 1 or mod(ll_row, il_yieldBlock) = 0 then if not this.of_getRun() then return -2 //cancel return code end if st_status.text = ls_status + " [" + string(ll_row) + "]" setPointer(hourglass!) end if //add a row to the target datastore ll_rc = ads_target.insertRow(0) if ll_rc < 0 then messageBox("Error", "Row insert failed.", exclamation!) DAT*^ return -1 end if ll_targetrow++ //loops through the columns in the primary datastore for ll_col = 1 to ll_colCount ls_columnName = lower(trim(ads_primary.describe("#"+string(ll_col)+".name"))) if ls_columnName = "?" or isNull(ls_columnName) then continue end if //check to see if we are mapping this column lb_map = false for ll_map = 1 to ll_mapCount if ls_columnName = lower(trim(as_mapFrom[ll_map])) then lb_map = true exit end if next DAT*$$$$ |,BXnd dw_data_mart_date!cb_1,",st_statusamD#Ddw_error`$`gb_1|%|controlc@!,"D#`$|% $4 <P Xl t       L$,$@$TDAT*$d$*8d l( dw_data_mart_date!cb_1$"st_status4#dw_errorH$gb_1\% , @ T d j,4$8<08<0)P8X$8<08`0)|8jjj,,1,,$Fv dDAT* ::message,@+h ids_sources)n_ds_cache_base)of_setbasepathname=)d_dm_sourcesof_setdatatypeminv_units* n_ds_cache_units ids_primary,!n_ds_dm_emissions!ids_target-!! ,4 P X |      $ $0$@8$LDAT*$`T$h$p$,,1,,x$ 2 @ R`rd ::message,@+H ids_sources))inv_units$* $* ids_primary@,!@,!ids_target\-!\-!  0 8 L T h p x "#123456789: ; < DAT*= > ?@ABCDEFGHL"#2  of_initializeof_cleardatamartof_transfergeoof_transfersourceof_transferdeviceof_transferprocessof_getrunof_mainof_resetblockof_getnextblockof_transferdataof_transferemissionscountyof_getgeoridsof_transferemissionsstateof_processdataof_retrieveof_updateof_loademissionsof_transferemissions_oldof_transferemissionsof_dscopyof_dscopymapof_dscopyemissionsof_dscopymapemissionsf_DAT*sqlcheckf_elapsedtime+create+destroy+constructor+destructorR '6HZ@mw        &?T(@^DAT*8(k5~$$$@$z8$ $z$& $id$ME$$zz$&z&$'nged' '|$ $$ $X$ $$DAT* $$$,$$80$:$812 ( widthheightborderbackcolortabtextcolorpicturemaskcolordw_data_mart_datecb_1st_statusdw_errorgb_1idt_startdatetimeib_runil_yieldblockids_sourcesinv_unitsids_loccordsids_primaryids_targetii_blocksizeii_updateblocksizeil_blockil_startrowDAT*il_endrowil_sourceridarrayil_nationridarrayil_stateridarray~il_countyridarrayis_excludenis_rollupridcolumnis_scanname(HhlR h&3 D V [ e n s DAT* !!2 _c@S ar(/isH4/OPhT/t/ l/ro] oR h @@1DAT*    @          !!2 3(3P3x3312'x364DAT*H5Z6m 7w89 : 4; <   = > V`<DAT*?@ABCDE)\ FPG8Ho6DAT* o7) "8L6 #92  2 ? xywidthheighttaborderdataobjectborderlivescroll7 P "@-4] o7P DAT*@  @ D $8b(9}89}@8H08V08h8z%:)@:@@8<1,,1,,H$P80)`8,,*18,,h$0D^ b DAT* d ll_rc::message(,@+p@ textourCancelib_runv_'enabled0Cancelling...Data Mart RefreshConfirm Data Mart Refresh: click OK to continue. WARNING: the Data Mart refresh process will clear all data from the Data Mart, refresh all core data and re-calculate all rollups. This process can be time consuming.fof_main8X ( 8 @DAT* H P ` h ""2  +clickedtypear2 a xywidthheighttabordertextsizeweightfontcharsetfontpitchfontfamilyfacenametext P ` "+2>HS \] oP`DAT*    @B "2  2 xywidthheighttextsizeweightfontcharsetfontpitchfontfamilyfacenametextcolorbackcolorenabledborderborderstylefocusrectangle@  P"DAT*)5?J-S]gov] oP -  2  2 A viDAT*siblexywidthheighttaborderlivescrollborderstyle7I@!*5] 7I@ @  @  2  2 u xywidthheiDAT*ghttabordertextsizeweightfontcharsetfontpitchfontfamilyfacenametextcolorbackcolortext   0 "+2>HS \fp3] o 0  DAT*T  @3@DAT*  $ , 4 L `   $$$68$:F@@8jTh8p0,!)8)8<111d$8z%80)8$8z%)8(@(8z(8z&)(DAT*8<1,!800860:)@@8d,!,!!81d,!8008J0:)@@81@8d$l6 "6$P%^&z*+,0579:<=>?@BCD"E(FVMdNnORSVXd` lds_primarylds_targetls_exclude ll_rcllDAT*_rowll_copyrowls_statussqlca,  $,-8>EP Z!@%t st_status#textids_sources,)n_ds_dm_transfer@$dataobject\d_dm_sources_outsettransobjectof_dscopyB# [Adding GIS Data...]POPULATE GIS DATAof_scan=# [+rowcount]updateDAT*ErrorData update failed.Database commit failed.# $ 8 Th         ( d l 080 |8080)@8j`t80,!)8:F@@8$)81181DAT*81j80,!)8)8<111)8  N\j" (%8&F'b+z,-06:;> ?BdD lds_primarylds_targetls_exclude ll_rcsqlca,d "DAT* ',-8>!@%X sic_coded_dm_devicesd_dm_devices_outof_transferdata@;/n_ds_conversion_baseH"dataobjecthsettransobjectb|il_sourceridarrayyd2of_retrieveAu_ds_basear'h|of_dscopyroBof_updateC@ `t        &8080)<8DAT*P$`$6j80,!)8:F@@8$)81B8080:)@@81h1h1j 80,!)8)08<11128$@8Hz%DAT*)X8(@(8z(8`z&)l8<1,!808t0:)@@8,!,!"812,!8080:)@@81BR$6 4Bdr( .!>"R#X'h(v)-./38 ;f<=>ABCDE$J2K<NBOLRRTtdDAT*` lds_primarylds_targetls_exclude_o ll_rcll_rowll_copyrowls_statussqlca, " ',-8>EP Z!@% d_dm_processesd_dm_processes_outof_transferdata;*st_statusD#textXn_ds_conversion_baseh"dataobjectsettransobjectil_sourceridarrayry2retrieveockDAT*ErrorData retrieval failed.u_ds_basei'of_dscopyB$D#X [+rowcountL]update bData update failed.Database commit failed.D#X< P `        0 8 @ X l   FD@D$$69@9(2 6d  ib_runDAT*' O@83@3$@$@80$@8H0\9}E@E8)p8|:F@@8$)81|$)81|8080:)@@89})8:F@@8$80 $DAT*)(81B80800:)@@8H9})P8X$8`0)819}:F@@8)8)81}9)8$16)8)8<,!C@C$19}1$9}),DAT*8)D81L9})T8\$d8l0)8<19})8$80)8<1 9}<$18D3@3$@$@8)\810d$18l8x0)8$1880DAT*)8$8$5#8z'8z&)8#$18l80)8$1880) 8$8$<$5$8z'8z&D$18l8L0)T8\$188d0)p8x$8$5%8z'8z&$DAT*)8<,!,!&81B,!8080:)@@819}$80$9}E@E81  ^*:hH|IKNOPQ.TBUVVW[26Jfl~ 2VrhxDAT*,Fx0b4BVzd; ll_rcll_xferldt_nullll_oldtimell_newtimesqlcax *5!@% H idt_startdatetime&st_status$#text8Starting...ib_runT'of_getrun7dinv_units$x* rowcountx* retrieveF@ErrorUnits cache failed.h@T'DAT*7d$#8Transferring Source Data...ids_sources)Data retrieval failed.T'7d)geographic_county_ridof_sort!vT'of_resetblock97dii_blocksize.of_getnextblock:il_block/7dof_transferemissions8FT'T'7dof_getgeorids=4T'7d$#8Transferring County Emissions Data...of_transferemissionscounty<T'7d$#8DAT*Transferring State Emissions Data...of_transferemissionsstate>T'dw_data_mart_date(!end_date_timesetitemOR(!metric_codeDM ERRPR(!comment_text1PR$#8Transfer Error (&)7d(!DM CANPR(!Cancelled)PR$#8Transfer Cancelled (9&(!DM POPPR(!Populated8PR$#8Transfer Complete (&(!updatedDatabase commitDAT* failed.T'cb_1"8Refresh Data Mart"enabled 0 @ \ p           ( H P X           $ , D L T \ d         < \ d        DAT*       < D T \ p x          p1(1<1X|1, B Zd  ll_emptydat-` il_block/il_startrow0il_endrow$01il_sourceridarrayD2 ( UVWX\]^_ `d f>oqrstuv |0}:Nbv:Jx~(.4Dp,<` * X ^ d t  0 N x L \ b DAT*h x       F ` p     % & * , - 0 1 4 6B <P =^ ? @ A B CDEF2G8KHLlM|NRSTYZ[_bc e2hijklpqr&s,t2x@z^}~>DJZ` 8d lds_primarylds_targetls_exclude ls_emptyz ll_rcll_rowll_countycountll_countyridls_statusls_statusmidls_rolDAT*lupridcolumnsqlca,D ! !,-D8-PV]ly   !@% st_statusan#textn_ds_dm_emissionsar,!d_dm_emissions_countyof_setdatatype_,!d_dm_emissions_out_il_countyridarray55TOTALretrieveEDAT*rrorData retrieval failed.county_ridPRE_COPY_ROLLUP_of_scanjec=of_resetrollupM$of_resetblocksortkeys<reference_code aof_addblocksortkeymstart_date_time am ammaterial_code amSUM_ROLLUP_AMTof_scanblocks&County rollup failed.sic_codeids_rollup(rollup_ref_ridof_dscopymap?3POST_COPY_ROLLUP_=rowcountd# [+d]of_blockupdateis_sourcedataobject)datDAT*aobjectData update failed.of_resetM$<mmmsic_code amm&County SIC rollup failed.$(summary_category_code ?3POST_COPY_ROLLUP_SIC_=d#d)5SCCM$<mmmsummary_category_code amm&County SCC rollup failed.(?3POST_COPY_ROLLUP_SCC_=d#DAT*d)#,!d_dm_emissions_source_il_sourceridarray)@(2summary_category = 'TOTAL'of_filter gd,!_metric_codemetric_level_typeprocess_riddevice_ridsource_ridscc_ams_codeof_dscopyBPOST_COPY_ROLLUP_COUNTY_RID=d#dupdate8)Database commit failed.resetp# $ @p xDAT*      4 T       @ \ p x            ( < D L p                 $ , L T \            DAT*     < D t |       ( 0 @ H P x   $  j  8(08)0)P8 )d818l08r0:)@@8 1 80)81 1 )81 $8DAT*09n98Y $8$09n098Y 8$8@09nL98YF h$1Rp$   $1R$   $1R$    1 6P`DAT**p "# $*'F(T)t,-.123578 ;d ll_rcll_rowll_rowcountll_nationridll_prevnationridll_stateridll_prevstateridll_countyridll_prevcountyridll_arrayindexlds_geo!.?K[hy " DAT* n_ds_conversion_base"d_dm_geo_with_sourcesof_setdatatypep?retrieveXErrorFailed retrieving geographic rids.nation_rid a, state_rid a, county_rid aof_sort!rowcount object@nation_rid__get_attribute_item@state_rid@county_ridil_nationridarray T3T3il_stateridarray x4x4il_countyridarray 55 P d     DAT* 0 8 L h p     V $$$6j@8H08I0)p8jx8H080)8$1 :F@@8$=80)818080:)@@811  80DAT*8 z')81)08)P88X0)|880)8 8z%)880)8801)81$8080:)@@8180 | 6 8 0 )<8<DAT*118D z')X81 )l810t$|8z%)8(@(8z(8z&)810$68080:)@@81N)8)8) 88X0)8DAT*80)8 8z%)$88,0)8880)@8801)H81808P0:)@@81|l 680 8 08t0 )8<1D18 z')81DAT*)81$8z%)8(@(8z(8z&)81$68080:)@@81)8:F@@8$=80)81x 8080:)@@81 DAT*1  )8)88X0)880) 8 8z%)(8800)H880)P8801)X81 808`0:)@@8180 || 6 8 0 )8<1x 1DAT* 8 z')81 )81 $8z%)8(@(8z(8z&)81 $68080:)@@81 )8  $6j8HDAT*"080)8:F@@88$)@81"8080:)@@81H1H18H0)p81111)x8111j8H080)880808080DAT*$8080808080 |)8<1180)81J) 81($08z%)88(@(8z(8z&)H8<1d,!PX$68080:)@@8DAT*&1,!,!(81,!808`0:)@@81)8,! $6"0Xf "!2"`#f$l%|&),-./0?BC$DBE`FIJKLMNQ$T>UVWX\]^_ `d f>oqrstuv |0}:NbvDAT*(:Jx~(.4Dp,<` * X ^ d t  0 N x L \ b h x       F ` p    ! ' ( , . / 2 3 6 8B >P ?^ A B C D EFGH2I8MHNlO|PTUV[\]ade g2jklmnrs t0u6v<zJ|hHNDAT**Tdj  Bd lds_primarylds_targetls_exclude ls_empty& ll_rcll_rowll_statecountll_stateridls_statusls_statusmidls_rollupridcolumnsqlca,D ! !,-D8-PV]kw   !@DAT*,% st_status #textn_ds_dm_emissions,!d_dm_emissions_stateof_setdatatype^,!d_dm_emissions_outt^il_stateridarrayans44TOTALretrieveErrorData retrieval failed.state_ridPRE_COPY_ROLLUP_of_scan=of_resetrollupM of_resetblocksortkeys8reference_code aof_addblocksortkeyistart_date_time ai aimaterial_code aiSUM_ROLLUP_AMTof_scanblocks&DAT*.State rollup failed.sic_codeids_rollup (rollup_ref_ridof_dscopymap?/POST_COPY_ROLLUP_=rowcount`# [+`]of_blockupdate)is_sourcedataobject)dataobjectData update failed.of_resetM 8iiisic_code aii&State SIC rollup failed. (summary_category_code+?/POST_COPY_ROLLUP_SIC_=`#`)DAT*04SCCM 8iiisummary_category_code aii&State SCC rollup failed. (?/POST_COPY_ROLLUP_SCC_=`#`)#,!d_dm_emissions_source6^il_sourceridarray:$2summary_category = 'TOTAL'of_filter c`,!^metric_codemetric_level_typeprocess_riddevice_ridsource_ridcounty_DAT*2ridscc_ams_codeof_dscopyonBPOST_COPY_ROLLUP_STATE_RID=`#`update@)Database commit failed.resetx# $ @p x     0 P |      < X l t |           $ 8 @ H l   DAT*4               ( H P X |              8 @ p x      ( 0 8 H P X    8 $$$6   8DAT*6,0820:)@@81-)d818,08l0:)@@8111 -$89n8g(89n8g(89n8~@~8 18,080:)@@81:F@@811$1DAT*8") 8#~1$8$z%(@(8z(8'z&:F@@8-1)481R8,08<0:)@@811n -8O(@(8z'8Qz&)`988h"9} 1   X =DAT*:T9}X x =6#9} 1    =9}--l$8t09n98)8<18,08z%:)@@81d$61"2BT"#$%&')*+,04DAT*<7,9X:n<~=BCDEBIRK|LMQRS"TDUPWTXXY`\x^_`abdefno^pnqtvxzd ads_primaryads_targetas_exclude@ as_mapfrom as_mapto ll_rcll_rowll_rowcountll_colll_colcountll_excll_exccountll_mapll_mapcountls_statusls_columnnamelb_excludelb_mapla_data,D\| " #,-D8DAT*>-\P-hnu   st_status#textErrorMapping arrays must be the same size.rowcountXRow count failed.object~@datawindow__get_attributecolumnDAT*@countAColum count failed.il_yieldblock(of_getrun7# []insertrow)Row insert failed.#.namedescribe`W?n~@data__get_attribute_itemysetitemFailed writing data value to column: # $ d          4 ` l      68-($DAT*B6808A"8R"t$$6$8z%-80)81$> N dR as_operationads_primaryads_targetas_dataobjectls_statuscase4case8  $! $, : D K 0 transfer_post_cDAT*DopydataobjectQd_dm_devices_outd_dm_sources_outd_dm_geo_locations_outst_statusi#textite|i#| [Adding GIS Data...]POPULATE GIS DATAof_scan=( t     * $$$6,$48<z%:F@@8-)T818\08b0:)@@8|$8z%1$DAT*F6" J d d< ads_primaryal_ridarrayll_rcls_status P # -,2 H st_status8#text# [retrieving]retrieveJErrorData retrieval failed.# [error]t# $ , 4 T |    +  DAT*H$$$6 -)8818@08F0:)@@8111-`$8h9n8g(89n8g(89n8~@~818@080:)@@81:F@@811$1")DAT*J8#1$ 8z%(@(8z(8z&:F@@8-1) 818@080:)@@811 -8'(@(8z'8)z&)898 8@ " 9}1  = 9}DAT*L - -D$8L09nh98)x8<18@08 z%:)@@81$ 61"2L\ !:"J#x&-02356j;<=>BDElFJKLMNPQRYZh[x\_aced ads_primaryads_targetas_exclude DAT*Nll_rcll_rowll_rowcountll_colll_colcountll_excll_exccountls_statusls_columnnamelb_excludela_data, " #,-8>EQXdkw   st_status#textrowcount$,ErrorRow count failed.objecDAT*PtX@datawindow__get_attributescolumnscountsColum count failed.il_yieldblock(of_getrunAa7# []insertrowRow insert failed.#.namedescribe`/?X@data__get_attribute_itemQsetitempFailed writing data value to column: # $ 8 `          8 D h x   DAT*R$$$6,$48<z%-)L8(@(8z(8Tz&-)`8<1,!8h08n0:)@@8$8z%,!,!)81,!8h080:)@@8$8z%$61" | DAT*T8>ld) ads_targetll_rcls_statussqlcaP # #!@%` st_status@#text'# [+rowcount co@]updatetVErrorData update failed.# [error]Database commit failed.## $ , 4 L `       :F@@DAT*V8$0$)L8<18T08Z0:)@@81|$8$)8(@(8z'8z&C@C$ P` d& ls_exclude@ ll_rc(- 8 ids_primary,!il_sourceridarray2of_retrieveappend-8ErrorDAT*XData retrieval failed.st_statusq#textLoading Emissions Data...[i,!rowcount] 0 L |     $$$68,08808J08V08a08l08y0 |:F@@8$)8$)811$8z%$80) 81DAT*Z8080:)@@818$)@811)T81\$d8lz%$)8<1|8080:)@@81$)8118,08808J08V08a0808l08y0 |$8z%DAT*\)8<11)81$$,84z%D$8L0)l814t$)|81`$8z%$)8(@(8z(8z&$)81`$$$6808 DAT*^0:)@@81 $($)<8)D818,08808J08V08a0808l08y08L08V08a08m0 ||$8z%8a0$)8$)8$80)8$8$0)88@$8Hz%)L8DAT*`T$8\0)l8t$8|0)8$801)818080:)@@81)81$8z%$ 68l0 808+0 )P8<11X$8`z')x81DAT*b0 $)81 $8z%$)8(@(8z(8z&)8 1$)81 $$$6808 0:)@@81$ $)8$8z%8V0$$),84$)DAT*d<8D$80)L8T$8$0)\8d$8Hz%)l8t$8|0)|8$801)81< 8080:)@@81)8` 1$8z%$6 80 )8<1 DAT*f1$8z')81j $)81)8 1 $(8z%0$)88(@(8z(8z&@$)H81P$X`$h$6808 0:)@@81p$x$)8)8 1DAT*h$84z%$)8<$$)81$$1:@$1:@)8<$)8$ 8z%8a0$$),84$)<8D$80)L8T$8$0)\8d$8Hz%)l8DAT*jt$8|0)|8$801)818080:)@@81)81$8z%$6 80 )8<1z1$8z')81$)81DAT*l@) 81 $ 8z% $)$ 8(@(8z(8z&), 814 $)< 81@D $L T $\ $6808 0:)@@81,!d $l 6t $)| 8 $) 8C@C$ "xDAT*n 8Hv)*,-23.4>5l<|=BDG:H~IKLNOP&T4VZY[]^"_Pl`mrpqr:vbyt|}~"Hn: " 0 V  B p  F l , < `   L \ j 8H| 4Z8J f    P`Zjz $%DAT*p&.x/012308@:F;h<=@db ls_exclude ll_rcll_rowcountls_statusls_statusmidls_rollupridcolumnsqlca- &2 < I \!@%  st_statusy#texturcmetric_codemetric_level_typeprocess_riddevice_ridsource_ridscc_ams_codesic_codeids_target-!resetids_primaryDAT*r,!rowcount# [Normalize...],!NORMALIZEof_scan=ErrorData normalization failed.,!of_getrun 7H# [Prioritization...],!of_prioritizeOData prioritization failed.,!county_ridm# [Copy...],!-!of_dscopyzB7H# [Rollup...]-!POST_COPY_ROLLUP_PROCESS_RID)@=-!# [+-!]DAT*t1-!of_blockupdate-!is_sourcedataobject),!dataobjectData update failed.-!-!of_reset07Hdata_codevalue_typemethod_typereference_type# [SCC Rollup...],!of_resetrollupM,!of_resetblocksortkeys,!reference_code aof_addblocksortkey,!start_date_time a,! a,!scc_ams_code a,!material_code a,!SUM_DAT*vROLLUP_AMTof_scanblocks&Source SCC rollup failed.7H#,!ids_rollup(-!rollup_ref_ridsummary_category_codeof_dscopymap?A-!POST_COPY_ROLLUP_SCC_=-!#-!7H-!-!),!-!-!0# [Device Rollup...],!M,!,!,!,!,!,!&DeDAT*xvice rollup failed.07H#,!(-!?A-!POST_COPY_ROLLUP_=-!7H#-!-!-!),!-!-!07H#,!0,!(,!(,!rowsmove,!# [Source...],!M,!,!,!,!,!,!DAT*z&Source rollup failed.7H#,!(-!?A-!=-!7H#-!7H-!-!),!#-!,! $          8 @ T \ d           $ , D l t DAT*||             ( < D |         8 @ L T l t           P X x                   $ , 4DAT*~ < D L T \ d l t |                 ( 0 8 @ H P X ` h p x                   $ , 4 < D L T \ d l tDAT* |                  $ , 4 < D L T \ d l t |    $$$68,08808J08V08a08l08y0 |j:F@@8$)81"808DAT*0:)@@81H1H1)81|180)818080:)@@81)481(1)L8<1808T0:)@@81)p811jxDAT*8080)88,08808J08V08a0808l08y0 |)8<1180)81)81"$8 z%)8(@(8z(8z&),81"H\$6DAT*808d0:)@@81@)88,08808J08V08a0808l08y080808080 |8a0)8)880)88 0)488<z%)@88H0)X88`0)p88x01)81DAT* 8080:)@@8168l0 8080 )8<118 z')$81),81& 4$<8 z%)D8(@(8z(8z&)L81& TDAT*\$6808d0:)@@81 )d8jl8080)t88V0)|8)880)88 0)88<z%)88`0)88x01)81 8080:)@@81DAT*6 80 )8<1F 18z')81 )81 $8 z%)8(@(8z(8z&)81  ($6808d0:)@@81DAT* )08j88080)@8)H8<P$)X81 `$1:@1:@)t8<)|88a0)8)880)88 0)88<z%)88`0)88x01)81DAT*8080:)@@816 80 )8<118z')81)81$8 z%)8(@(8z(8z&) 81$6DAT*808d0:)@@81$@8C@C$b@8C@C$,!C@C$$$,6"x285H6f7l<|=>?@WXY_(`FaVbcjklqrtwdxyz{0 ",@DAT* >`~     4&'()* + , 2& 30 4D 6J 7X @ C F G H I J M6 N` Op P Q R Z [ \* ]0 ^6 bF cr d e f j l u v. w> xb y z {       $ H X      0RpTdjpNhx $.JPb!h"z$dDAT*z lds_primarylds_targetls_exclude ll_rcll_rowcountls_statusls_statusmidls_rollupridcolumnsqlca, ! !,-8>J T a t!@%4 st_status#textmetric_codemetric_level_typeprocess_riddevice_ridsource_ridscc_ams_codesic_coden_ds_dm_emissions!il_sourceridarrayDAT*im2retrieveuntErrorData retrieval failed.rowcountNORMALIZEof_scan=Data normalization failed.of_prioritizeO<Data prioritization failed.!d_dm_emissions_outof_setdatatypecounty_ridof_dscopyBPOST_COPY_ROLLUP_PROCESS_RID=# [+]of_blockupdate1is_sourcedataobject4)dataobjectPData update failed.of_reset)@xdata_codevalue_typemetDAT*hod_typereference_typeof_resetrollupdMof_resetblocksortkeyscareference_code aof_addblocksortkeystart_date_time a ascc_ams_code amaterial_code aSUM_ROLLUP_AMTof_scanblocks&Source SCC rollup failed.ids_rollup(rollup_ref_ridsummary_category_codeof_dscopymap?POST_COPY_ROLLUP_SCC_=#4)Px!MDAT*&Device rollup failed.(?POST_COPY_ROLLUP_=#4)Px!x((rowsmovehM&Source rollup failed.(?=#4)P# $     4 L p xDAT*       , H \     4 @ X p    $ , 4 < D L T \ d lt |                 ( 0 8@ H P X ` t |      DAT*             $ , *$4*<P*Xl*t*$$$$$ |,BXnd dw_data_mart_date!cb_1,",st_status0D#Ddw_error`$`gb_1DAT*|%|controlc@!,"D#`$|% $4 <P Xl t       L$,$@$T$d$*8d l( dw_data_mart_date!cb_1$"st_status4#dw_errorH$gb_1\% , @ T d DAT*j,4$8<08<0)P8X$8<08`0)|8j,+1,+$Fv d ::message+@*H ids_sources)n_ds_cache_base)of_setbasepathname=)d_dm_sourcesof_setdatatypeminv_units* n_ds_cache_units  ,4 P X | DAT*   $ $0$@8$L$`T$h$p$,+1,+x$ 2 @ R`rd ::message+@*H ids_sources))inv_units$* $* ids_primary@,!@,!ids_target\-!\-!  0 8 L T h p x DAT*"#123456789: ; < = > ?@ABCDEFL"#2  of_initializeof_cleardatamartof_transfergeoof_transfersourceof_transferdeviceof_transferprocessof_getrunof_mainof_resetblockof_getnextblockof_transferdataof_transferemissionscountyof_getgeoridsof_transferemissionsstateof_dscopymapof_processdataof_retrieveof_dscopyof_updateof_loademissionsof_trDAT*ansferemissions_old2of_transferemissionsf_sqlcheckf_elapsedtime+create+destroy+constructor+destructorR '6HZ@mw        ",DAT*|i=_aWil$@l$il$l$il$cal$il$ail$il$l$il$zl$@l$elw'apykew'nkw'l$8l$l$$l$zz$8DAT*8z2  widthheightborderbackcolortabtextcolorpicturemaskcolordw_data_mart_datecb_1st_statusdw_errorgb_1idt_startdatetimeib_runil_yieldblockids_sourcesinv_unitsids_loccordsids_primaryids_targetii_blocksizeil_blockil_startrowil_endrowil_sourceridarraycoil_nationridarraykvil_stateridarrayil_countyridarray_c4TtR hDAT*&3 D V [ e n s  !!2  j  /^ 4 / T@/b t`/DAT*] oR h @@1    @          !!23,3T3|312DAT*'x364H5Z6m 7w89 : 4; <  DAT* = > x<?@AH$B|pCDEF|*DAT*+ ",L #-2  2 ? xywidthheighttaborderdataobjectborderlivescroll7 P "@-4] o7PDAT* @  @ D $8b(9}89}@8H08V08h8z%:)@:@@8<1,+1,+H$P80)`8,+*18,+h$DAT*0D^ b d ll_rc::message(+@*p@ textourCancelib_runv_'enabled0Cancelling...Data Mart RefreshConfirm Data Mart Refresh: click OK to continue. WARNING: the Data Mart refresh process will clear all data from the Data Mart, refresh all core data and re-calculate all rollups. This process can be time consuming.of_main8X (DAT* 8 @ H P ` h ""2  +clickedtypear2 a xywidthheighttabordertextsizeweightfontcharsetfontpitchfontfamilyfacenametext P ` "+2>HS\] oPDAT*`   @ "2  2 xywidthheighttextsizeweightfontcharsetfontpitchfontfamilyfacenametextcolorbackcolorenabledborderborderstylefocusrectangle@  P"DAT*)5?J S]gov] oP    2  2 ADAT* visiblexywidthheighttaborderlivescrollborderstyle7I@!*5] 7I@ @  @  2  2 u DAT* xywidthheighttabordertextsizeweightfontcharsetfontpitchfontfamilyfacenametextcolorbackcolortext   0 "+2>HS\fp] o 0  DAT*c @@DAT*httaborderx[ p!(] [ p( @   . 12  2 DAT*xywidthheighttextsizeweightfontcharsetfontpitchfontfamilyfacenametextcolorbackcolorenabledtextfocusrectangle,%  @")455?6J8S]goFt] o%@ DAT*] on %`F @4568 @+ "T0$)@8H$68Pl8t09}9}8809}9DAT*}8T8 0<9}D9}8L`8h0x9}9}8809}9}8b809}9}8$8,0@9}H9}8Ph8p0DAT*9}9}8,18\80v809}9}8 8(0<9}D9}8LVl8t09}9}8809}9}8 80DAT*9} 9}8(dL8T0h9}p9}8x809}9}8809}9}808 088@z%X$z&8`z&:)@@81d$|$9}$9DAT*}$9}$9}$9}$9}$ 9}($09},+1,+8$.F Z t (<Ph6 J!^"v#$%&'()**+>,X-\/v01234678*9>;R<j=>@ABCEFG8HLJ`KxLMODAT*PQRTV,W0Y~]^_`abcd4eRfpjd+ indexcase6gs_database::messageP  1@!+@R@@ is_reportnameDddlb_reportname 3OtextE8DCounty Emissions BreakdownDd_county_breakdownib_rollup_reportFib_enable_objectsEEmissions by CountyDd_county_rollupFEEmissions by County (Warehouse)DAT*Dd_county_rollup_warehousew FEEmissions by SourceDd_source_rollupFEEmissions by DeviceDd_device_rollupFEEmissions by ProcessDd_process_rollupFESource Emissions Summarys_pDd_source_summarydeFESource Detail ReportDd_source_detailFESource Device ConnectionsORACLE0Dd_device_connections_oraDd_device_connectionsFESourceDAT* Stream TracingDd_stream_tracingFEData Mart: State Totals RollupDr_dm_state_totalsFEData Mart: State SCC RollupDr_dm_state_sccFEData Mart: State SIC RollupDr_dm_state_sicFEData Mart: County Totals RollupDr_dm_county_totalsFEData Mart: County SCC RollupDr_dm_county_sccFEData Mart: County SIC RollupDr_dm_county_sicFDAT*XEErrorw_report::ddlb_reportName::selectionChanged(); invalid report name 'D'Euo_emis_periodl0Cvisibledw_reference_codess,-dw_unit_meas-0uo_pollutanttor/:l0C,--0/: 0 @ H l       < D ` x        $ @DAT*PIPELINE(source_connect=chun's database,destination_connect=chun's database,type=replace,commit=100000,errors=100,keyname="rap_activities_x") SOURCE(name="rap_activities/rap_streams/rap_processes/rap_devices/rap_sources",COLUMN(type=varchar,name="RAP_ACTIVITIES.metric_code",dbtype="VARCHAR2(12)",nulls_allowed=no) COLUMN(type=varchar,name="RAP_ACTIVITIES.metric_level_type",dbtype="VARCHAR2(3)",nulls_allowed=no) COLUMN(type=decimal,name="RAP_ACTIVITIES.ref_rid",dbtype="NUMBER(38,0)",nulls_allowDAT*4ed=no) COLUMN(type=datetime,name="RAP_ACTIVITIES.start_date_time",dbtype="DATE",nulls_allowed=no) COLUMN(type=varchar,name="RAP_ACTIVITIES.confidential_flag",dbtype="VARCHAR2(1)",nulls_allowed=yes) COLUMN(type=varchar,name="RAP_ACTIVITIES.data_code",dbtype="VARCHAR2(4)",nulls_allowed=yes) COLUMN(type=datetime,name="RAP_ACTIVITIES.end_date_time",dbtype="DATE",nulls_allowed=yes) COLUMN(type=varchar,name="RAP_ACTIVITIES.material_code",dbtype="VARCHAR2(12)",nulls_allowed=yes) COLUMN(type=vDAT*forward global type u_data_mart_population_interface_old from userobject end type type dw_data_mart_date from datawindow within u_data_mart_population_interface_old end type type cb_1 from commandbutton within u_data_mart_population_interface_old end type type st_status from statictext within u_data_mart_population_interface_old end type type dw_error from datawindow within u_data_mart_population_interface_old end type type gb_1 from groupbox within u_data_mart_population_interface_old DAT* end type end forward global type u_data_mart_population_interface_old from userobject integer width = 2386 integer height = 360 boolean border = true long backcolor = 67108864 long tabtextcolor = 33554432 long picturemaskcolor = 536870912 dw_data_mart_date dw_data_mart_date cb_1 cb_1 st_status st_status dw_error dw_error gb_1 gb_1 end type global u_data_mart_population_interface_old u_data_mart_population_interface_old type variables datetime idt_startDateTime boolean ib_rDAT*un = false long il_yieldBlock = 200 n_ds_cache_base ids_sources n_ds_cache_units inv_units n_ds_cache_base ids_loccords n_ds_dm_emissions ids_primary n_ds_dm_emissions ids_target integer ii_blockSize = 50 long il_block = 0 long il_startRow long il_endRow long il_sourceRidArray[] long il_nationRidArray[] long il_stateRidArray[] long il_countyRidArray[] end variables forward prototypes public function integer of_initialize () public function integer of_cleardatamart () DAT* public function integer of_transfergeo () public function integer of_transfersource () public function integer of_transferdevice () public function integer of_transferprocess () public function boolean of_getrun () public function integer of_main () public function integer of_resetblock () public function long of_getnextblock () public function long of_transferdata (string as_primarydataobject, string as_targetdataobject, string as_exclude[]) public function integer of_transferemissionscDAT*ounty () public function long of_getgeorids () public function integer of_transferemissionsstate () public function integer of_dscopymap (ref n_ds_conversion_base ads_primary, ref datastore ads_target, string as_exclude[], string as_mapfrom[], string as_mapto[]) public function long of_processdata (string as_operation, ref n_ds_dm_transfer ads_primary, ref n_ds_dm_transfer ads_target) public function long of_retrieve (ref datastore ads_primary, long al_ridarray[]) public function integer of_DAT*dscopy (ref n_ds_conversion_base ads_primary, ref datastore ads_target, string as_exclude[]) public function long of_update (ref datastore ads_target) public function integer of_loademissions () public function integer of_transferemissions_old2 () public function integer of_transferemissions () end prototypes public function integer of_initialize (); long ll_rc string ls_metricCode ll_rc = dw_data_mart_date.setTransObject(sqlca) ll_rc = dw_data_mart_date.retrieve() if ll_rc < 0 DAT*then return -1 end if if ll_rc = 0 then ll_rc = dw_data_mart_date.insertRow(0) dw_data_mart_date.setItem(1, "rid", -1) dw_data_mart_date.setItem(1, "ref_rid", -1) dw_data_mart_date.setItem(1, "metric_code", "DM CLR") dw_data_mart_date.setItem(1, "metric_level_type", "DM") dw_data_mart_date.setItem(1, "creation_date_time", datetime(today(), now())) dw_data_mart_date.setItem(1, "start_date_time", datetime(today(), now())) dw_data_mart_date.setItem(1, "user_id", left(gs_usDAT*er_id, 4)) dw_data_mart_date.setItem(1, "comment_text", "Not Populated") ll_rc = dw_data_mart_date.update() end if return 1 end function public function integer of_cleardatamart (); long ll_rc if gs_database = "ORACLE" then //oracle clear data mart procedure DECLARE ora_clearDataMart PROCEDURE FOR CLEAR_DATA_MART USING SQLCA ; EXECUTE ora_clearDataMart ; if f_sqlCheck(sqlca) < 0 then return -1 end if else // sql anywhere clear data mart procedure DAT* execute immediate "truncate table rap_dm_activities" using sqlca; if f_sqlCheck(sqlca) < 0 then return -1 end if execute immediate "truncate table rap_dm_emissions" using sqlca; if f_sqlCheck(sqlca) < 0 then return -1 end if execute immediate "truncate table rap_dm_throughputs" using sqlca; if f_sqlCheck(sqlca) < 0 then return -1 end if execute immediate "truncate table rap_dm_processes" using sqlca; if f_sqlCheck(sqlca) < 0 then return -1 end if exDAT*ecute immediate "truncate table rap_dm_devices" using sqlca; if f_sqlCheck(sqlca) < 0 then return -1 end if execute immediate "truncate table rap_dm_source_geo_groups" using sqlca; if f_sqlCheck(sqlca) < 0 then return -1 end if execute immediate "truncate table rap_dm_sources" using sqlca; if f_sqlCheck(sqlca) < 0 then return -1 end if execute immediate "truncate table rap_dm_geographic_locations" using sqlca; if f_sqlCheck(sqlca) < 0 then return -1 end iDAT*f end if //load the data mart date/status record back into activities table dw_data_mart_date.setItem(1, "metric_code", "DM CLR") dw_data_mart_date.setItem(1, "metric_level_type", "DM") dw_data_mart_date.setItem(1, "creation_date_time", datetime(today(), now())) dw_data_mart_date.setItem(1, "start_date_time", datetime(today(), now())) dw_data_mart_date.setItem(1, "end_date_time", datetime(today(), now())) dw_data_mart_date.setItem(1, "user_id", left(gs_user_id, 4)) dw_data_mart_date.DAT*setItem(1, "comment_text", "Not Populated") dw_data_mart_date.setItemStatus(1, 0, primary!, newModified! ) ll_rc = dw_data_mart_date.update() COMMIT USING SQLCA; if f_sqlCheck(sqlca) < 0 then return -1 end if return 1 end function public function integer of_transfergeo (); //Transfer geographic information to the data mart n_ds_dm_transfer lds_primary n_ds_dm_transfer lds_target string ls_exclude[] long ll_rc long ll_row long ll_copyRow string ls_status ls_statusDAT* = st_status.text //primary datastore lds_primary = create n_ds_dm_transfer lds_primary.dataObject = "d_dm_geo_locations" lds_primary.setTransObject(sqlca) setPointer(hourglass!) ll_rc = lds_primary.retrieve() if ll_rc < 0 then messageBox("Error", "Data retrieval failed.", exclamation!) destroy lds_primary return -1 elseif ll_rc = 0 then destroy lds_primary return 1 //return normal status for no rows end if //target datastore lds_target = create n_ds_dm_transfer lds_tDAT*arget.dataObject = "d_dm_geo_locations_out" lds_target.setTransObject(sqlca) //copy data from primary datastore to target datastore ll_rc = this.of_dsCopy(lds_primary, lds_target, ls_exclude) if ll_rc = -2 then ll_rc = 0 //cancel return code for the driver function end if if ll_rc > 0 then //lookup coordinates for geographic items //do any post-copy processing on target ll_rc = this.of_processData("transfer_post_copy", lds_primary, lds_target) st_status.text = ls_statDAT*us + " [+" + string(lds_target.rowCount()) + "]" //update target datastore ll_rc = lds_target.update() if ll_rc < 0 then ROLLBACK USING SQLCA; messageBox("Error", "Data update failed.", exclamation!) end if COMMIT USING SQLCA; if f_sqlCheck(SQLCA) < 0 then ROLLBACK USING SQLCA; messageBox("Error", "Database commit failed.", exclamation!) ll_rc = -1 end if end if if isValid(lds_primary) then destroy lds_primary end if if isValid(lds_target) then desDAT*troy lds_target end if st_status.text = ls_status return ll_rc end function public function integer of_transfersource (); //Transfer source information to the data mart n_ds_cache_base lds_primary n_ds_dm_transfer lds_target string ls_exclude[] long ll_rc long ll_row long ll_copyRow string ls_status ls_status = st_status.text //primary datastore lds_primary = ids_sources //the source datastore will be kept in memory //lds_primary = create u_ds_base //lds_primary.datDAT*aObject = "d_dm_sources" //lds_primary.setTransObject(sqlca) setPointer(hourglass!) //ll_rc = lds_primary.retrieve() //if ll_rc < 0 then // messageBox("Error", "Data retrieval failed.", exclamation!) // setNull(lds_primary) // destroy lds_primary // return -1 //elseif ll_rc = 0 then // setNull(lds_primary) // destroy lds_primary // return 1 //return normal status for no rows //end if //target datastore lds_target = create n_ds_dm_transfer lds_target.dataObject = "d_dm_sourcesDAT*_out" lds_target.setTransObject(sqlca) //copy data from primary datastore to target datastore ll_rc = this.of_dsCopy(lds_primary, lds_target, ls_exclude) if ll_rc = -2 then ll_rc = 0 //cancel return code for the driver function end if if ll_rc > 0 then //lookup coordinates for geographic items //do any post-copy processing on target st_status.text = ls_status + " [Adding GIS Data...]" lds_target.of_scan("POPULATE GIS DATA") st_status.text = ls_status + " [+" +DAT* string(lds_target.rowCount()) + "]" //update target datastore ll_rc = lds_target.update() if ll_rc < 0 then ROLLBACK USING SQLCA; messageBox("Error", "Data update failed.", exclamation!) else COMMIT USING SQLCA; if f_sqlCheck(SQLCA) < 0 then ROLLBACK USING SQLCA; messageBox("Error", "Database commit failed.", exclamation!) ll_rc = -1 end if end if end if if isValid(lds_primary) then setNull(lds_primary) destroy lds_primary end if if isDAT* Valid(lds_target) then destroy lds_target end if st_status.text = ls_status return ll_rc end function public function integer of_transferdevice (); //Transfer device information to the data mart n_ds_conversion_base lds_primary u_ds_base lds_target string ls_exclude[] long ll_rc //define columns to exclued from copy ls_exclude = {"sic_code"} ll_rc = this.of_transferData("d_dm_devices", "d_dm_devices_out", ls_exclude) return ll_rc //***************************DAT* *********** //primary datastore lds_primary = create n_ds_conversion_base lds_primary.dataObject = "d_dm_devices" lds_primary.setTransObject(sqlca) setPointer(hourglass!) ll_rc = this.of_retrieve(lds_primary, il_sourceRidArray) if ll_rc < 0 then destroy lds_primary return -1 elseif ll_rc = 0 then destroy lds_primary return 1 //return normal status for no rows end if //target datastore lds_target = create u_ds_base lds_target.dataObject = "d_dm_devices_out" lds_target.setDAT*TransObject(sqlca) //copy data from primary datastore to target datastore ll_rc = this.of_dsCopy(lds_primary, lds_target, ls_exclude) if ll_rc = -2 then ll_rc = 0 //cancel return code for the driver function end if if ll_rc > 0 then //lookup coordinates for devices //update target datastore ll_rc = this.of_update(lds_target) end if if isValid(lds_primary) then destroy lds_primary end if if isValid(lds_target) then destroy lds_target end if return ll_rcDAT* end function public function integer of_transferprocess (); //Transfer process information to the data mart n_ds_conversion_base lds_primary u_ds_base lds_target string ls_exclude[] long ll_rc long ll_row long ll_copyRow string ls_status ll_rc = this.of_transferData("d_dm_processes", "d_dm_processes_out", ls_exclude) return ll_rc //********************************************************************** ls_status = st_status.text //primary datastore lds_primary = cDAT*reate n_ds_conversion_base lds_primary.dataObject = "d_dm_processes" lds_primary.setTransObject(sqlca) setPointer(hourglass!) ll_rc = lds_primary.retrieve(il_sourceRidArray) if ll_rc < 0 then messageBox("Error", "Data retrieval failed.", exclamation!) destroy lds_primary return -1 elseif ll_rc = 0 then destroy lds_primary return 1 //return normal status for no rows end if //target datastore lds_target = create u_ds_base lds_target.dataObject = "d_dm_processes_out" lds_targDAT*et.setTransObject(sqlca) //copy data from primary datastore to target datastore ll_rc = this.of_dsCopy(lds_primary, lds_target, ls_exclude) if ll_rc = -2 then ll_rc = 0 //cancel return code for the driver function end if if ll_rc > 0 then //lookup coordinates for geographic items st_status.text = ls_status + " [+" + string(lds_target.rowCount()) + "]" //update target datastore ll_rc = lds_target.update() if ll_rc < 0 then ROLLBACK USING SQLCA; messageBox(DAT*"Error", "Data update failed.", exclamation!) end if COMMIT USING SQLCA; if f_sqlCheck(SQLCA) < 0 then ROLLBACK USING SQLCA; messageBox("Error", "Database commit failed.", exclamation!) ll_rc = -1 end if end if if isValid(lds_primary) then destroy lds_primary end if if isValid(lds_target) then destroy lds_target end if st_status.text = ls_status return ll_rc end function public function boolean of_getrun (); do while yield() //process any waiting moDAT*use clicks, etc. loop if ib_run then return true else return false end if end function public function integer of_main (); long ll_rc long ll_xfer datetime ldt_null long ll_oldtime long ll_newtime = 1 setNull(ldt_null) idt_startDateTime = datetime(today(), now()) st_status.text = "Starting..." ib_run = true ll_oldtime = GarbageCollectSetTimeLimit(ll_newtime) if this.of_getRun() then setPointer(hourglass!) //load unit conversion cache if inv_units.rowCoDAT*unt() <= 0 then ll_xfer = inv_units.retrieve() if ll_xfer < 0 then messageBox("Error", "Units cache failed.", exclamation!) ib_run = false end if end if end if //dw_data_mart_date.setItem(1, "metric_code", "DM UPD") //dw_data_mart_date.setItem(1, "creation_date_time", datetime(today(), now())) //dw_data_mart_date.setItem(1, "start_date_time", datetime(today(), now())) //dw_data_mart_date.setItem(1, "end_date_time", ldt_null) //dw_data_mart_date.setItem(1, "user_id", leftDAT*(gs_user_id, 4)) //dw_data_mart_date.setItem(1, "comment_text", "Updating") //ll_rc = dw_data_mart_date.update() // // //if this.of_getRun() then // setPointer(hourglass!) // // st_status.text = "Clearing Data Mart..." // ll_xfer = this.of_clearDataMart() // if ll_xfer < 0 then // ib_run = false // end if //end if // // //dw_data_mart_date.setItem(1, "metric_code", "DM UPD") //dw_data_mart_date.setItem(1, "creation_date_time", datetime(today(), now())) //dw_data_mart_date.setItDAT*em(1, "start_date_time", datetime(today(), now())) //dw_data_mart_date.setItem(1, "end_date_time", ldt_null) //dw_data_mart_date.setItem(1, "user_id", left(gs_user_id, 4)) //dw_data_mart_date.setItem(1, "comment_text", "Updating") //ll_rc = dw_data_mart_date.update() ////GEOGRAPHIC data //if this.of_getRun() then // setPointer(hourglass!) // // st_status.text = "Transferring Geo. Data..." // ll_xfer = this.of_transferGeo() // if ll_xfer < 0 then // ib_run = false // end if // DAT*  //end if //SOURCE data if this.of_getRun() then setPointer(hourglass!) st_status.text = "Transferring Source Data..." //retrieve the source primary datastore ll_xfer = ids_sources.retrieve() if ll_xfer < 0 then messageBox("Error", "Data retrieval failed.", exclamation!) ib_run = false end if if this.of_getRun() then ll_xfer = ids_sources.of_sort("geographic_county_rid") if ll_xfer < 0 then ib_run = false end if end if setPointer(hourglass!) /DAT*"/ if this.of_getRun() then // ll_xfer = this.of_transferSource() // if ll_xfer < 0 then // ib_run = false // end if // end if end if ////DEVICE data //this.of_resetBlock() //if this.of_getRun() then // // ii_blockSize = 50 // st_status.text = "Transferring Device Data..." // // do while true // // this.of_getNextBlock() // // if il_block = 0 then // exit // end if // // if this.of_getRun() then // ll_xfer = this.of_transferDevice() // if ll_xDAT*$fer < 0 then // ib_run = false // exit // end if // end if // // loop // //end if // ////PROCESS data //this.of_resetBlock() //if this.of_getRun() then // // ii_blockSize = 50 // // st_status.text = "Transferring Process Data..." // // do while true // // this.of_getNextBlock() // // if il_block = 0 then // exit // end if // // if this.of_getRun() then // ll_xfer = this.of_transferProcess() // if ll_xfer < 0 then // ib_run = false // DAT*& exit // end if // end if // // loop // //end if //EMISSIONS data (rollup to source level) this.of_resetBlock() if this.of_getRun() then //primary datastore ii_blockSize = 20 do while true this.of_getNextBlock() if il_block = 0 then exit end if if this.of_getRun() then ll_xfer = this.of_transferEmissions() commit; garbagecollect() if ll_xfer < 0 then ib_run = false exit end if end if loop ifDAT*( ll_xfer < 0 then ib_run = false end if end if //GEOGRAPHIC rids if this.of_getRun() then //load the geographic rids into arrays ll_xfer = this.of_getGeoRids() if ll_xfer < 0 then ib_run = false end if end if //EMISSIONS data (rollup to county level) if this.of_getRun() then st_status.text = "Transferring County Emissions Data..." ll_xfer = this.of_transferEmissionsCounty() if ll_xfer < 0 then ib_run = false end if end if //EMISSIODAT**NS data (rollup to county level) if this.of_getRun() then st_status.text = "Transferring State Emissions Data..." ll_xfer = this.of_transferEmissionsState() if ll_xfer < 0 then ib_run = false end if end if dw_data_mart_date.setItem(1, "end_date_time", datetime(today(), now())) if ll_xfer < 0 then dw_data_mart_date.setItem(1, "metric_code", "DM ERR") dw_data_mart_date.setItem(1, "comment_text", "Error") st_status.text = "Transfer Error (" + f_elapsedTime(idt_starDAT*,tDateTime) + ")" elseif not this.of_getRun() then dw_data_mart_date.setItem(1, "metric_code", "DM CAN") dw_data_mart_date.setItem(1, "comment_text", "Cancelled") st_status.text = "Transfer Cancelled (" + f_elapsedTime(idt_startDateTime) + ")" else dw_data_mart_date.setItem(1, "metric_code", "DM POP") dw_data_mart_date.setItem(1, "comment_text", "Populated") st_status.text = "Transfer Complete (" + f_elapsedTime(idt_startDateTime) + ")" end if ll_rc = dw_data_mart_date.update() DAT*. COMMIT USING SQLCA; if f_sqlCheck(SQLCA) < 0 then ROLLBACK USING SQLCA; messageBox("Error", "Database commit failed.", exclamation!) ll_rc = -1 end if ib_run = false cb_1.text = "Refresh Data Mart" cb_1.enabled = true GarbageCollectSetTimeLimit(ll_oldtime) return 1 end function public function integer of_resetblock ();long ll_empty[] //reset counters il_block = 0 il_startRow = 0 il_endRow = 0 //reset the source rid array il_sourceRidArray = ll_empty returnDAT*0 1 end function public function long of_getnextblock ();long ll_rc long ll_rowCount long ll_row long ll_index long ll_empty[] long ll_countyRid, ll_prevCountyRid //increment block indicator il_block ++ //determine start row for next block ll_rowCount = ids_sources.rowCount() il_startRow = il_endRow + 1 if il_startRow > ll_rowCount then //start row past the end of the buffer this.of_resetBlock() return il_block end if //determine the end row for the next block if iDAT*2l_startRow = ll_rowCount then //only one row left il_endRow = il_startRow elseif ii_blockSize = 0 then //block sources by county ll_prevCountyRid = ids_sources.object.geographic_county_rid[il_startRow] for ll_row = il_startRow + 1 to ll_rowCount ll_countyRid = ids_sources.object.geographic_county_rid[ll_row] if ll_prevCountyRid <> ll_countyRid then il_endRow = ll_row - 1 exit end if ll_prevCountyRid = ll_countyRid next else //use fixed block size il_endRow DAT*4+= ii_blockSize end if if il_endRow > ll_rowCount then //end row past the end of the buffer il_endRow = ll_rowCount end if //reset the source rid array il_sourceRidArray = ll_empty //load the source rid array with values for current block if il_block > 0 then for ll_row = il_startRow to il_endRow ll_index ++ il_sourceRidArray[ll_index] = ids_sources.object.rid[ll_row] next end if return il_block end function public function long of_transferdata (sDAT*6tring as_primarydataobject, string as_targetdataobject, string as_exclude[]); //Transfer information to the data mart n_ds_dm_transfer lds_primary n_ds_dm_transfer lds_target long ll_rc //primary datastore lds_primary = create n_ds_dm_transfer if not isValid(lds_primary) then messageBox("Error", "Failed creating primary datastore.", exclamation!) return -1 end if lds_primary.of_setDataType("", as_primaryDataObject) lds_primary.inv_units = this.inv_units setPointer(hourglasDAT*8s!) ll_rc = this.of_retrieve(lds_primary, il_sourceRidArray) if ll_rc < 0 then //retrieval error destroy lds_primary return -1 elseif ll_rc = 0 then //no rows destroy lds_primary return 1 //return normal status for no rows end if //do any post-retrieval processing on primary datastore ll_rc = this.of_processData("transfer_post_retrieve", lds_primary, lds_target) if ll_rc < 0 then //post-processing error destroy lds_primary return -1 elseif ll_rc = -2 then //operation DAT*:cancelled destroy lds_primary return 0 //cancel return code for the driver function elseif lds_primary.rowCount() <= 0 then //no rows destroy lds_primary return 1 //return normal status for no rows end if //target datastore lds_target = create n_ds_dm_transfer if not isValid(lds_target) then messageBox("Error", "Failed creating target datastore.", exclamation!) destroy lds_primary return -1 end if lds_target.of_setDataType("", as_targetDataObject) //copy data from pDAT*<rimary datastore to target datastore ll_rc = this.of_dsCopy(lds_primary, lds_target, as_exclude) if ll_rc = -2 then ll_rc = 0 //cancel return code for the driver function end if if ll_rc > 0 then //do any post-copy processing on target ll_rc = this.of_processData("transfer_post_copy", lds_primary, lds_target) if ll_rc < 0 then //post-processing error destroy lds_primary destroy lds_target return -1 elseif ll_rc = -2 then //operation cancelled destroy lds_primarDAT*>y destroy lds_target return 0 //cancel return code for the driver function elseif lds_primary.rowCount() <= 0 then //no rows destroy lds_primary destroy lds_target return 1 //return normal status for no rows end if //update target datastore (block update does commit every 1000 rows, by default) ll_rc = lds_target.of_blockUpdate() end if if isValid(lds_primary) then destroy lds_primary end if if isValid(lds_target) then destroy lds_target end if return DAT*@ll_rc end function public function integer of_transferemissionscounty (); //Transfer emissions information to the data mart n_ds_dm_emissions lds_primary n_ds_dm_emissions lds_target string ls_exclude[] string ls_empty[] long ll_rc long ll_row, ll_countyCount long ll_countyRid string ls_status string ls_statusMid string ls_rollupRidColumn ls_status = st_status.text //primary datastore lds_primary = create n_ds_dm_emissions lds_primary.of_setDataType("", "d_dm_emissions_cDAT*Bounty") //target datastore lds_target = create n_ds_dm_emissions lds_target.of_setDataType("", "d_dm_emissions_out") ll_countyCount = upperBound(il_countyRidArray) for ll_row = 1 to ll_countyCount setPointer(hourglass!) ll_rc = lds_primary.retrieve(il_countyRidArray[ll_row], 'TOTAL') if ll_rc < 0 then messageBox("Error", "Data retrieval failed.", exclamation!) destroy lds_primary destroy lds_target return -1 elseif ll_rc = 0 then continue end if ls_rolluDAT*DpRidColumn = "county_rid" //set the null sic codes to NONE ll_rc = lds_primary.of_scan("PRE_COPY_ROLLUP_" + upper(ls_rollupRidColumn)) if ll_rc < 0 then destroy lds_primary destroy lds_target return ll_rc end if //COUNTY TOTALS ROLLUP // //set filter to get totals only // ll_rc = lds_primary.of_filter("summary_category = 'TOTAL'") // if ll_rc < 0 then // destroy lds_primary // destroy lds_target // return -1 // end if //reset the rollup datastore lds_DAT*Fprimary.of_resetRollup() //set the sort keys for the current rollup lds_primary.of_resetBlockSortKeys() lds_primary.of_addBlockSortKey("reference_code a") lds_primary.of_addBlockSortKey("start_date_time a") lds_primary.of_addBlockSortKey(ls_rollupRidColumn + " a") lds_primary.of_addBlockSortKey("material_code a") //run block processing using the curent keys to sum the emissions for the block ll_rc = lds_primary.of_scanBlocks("SUM_ROLLUP_AMT", 0) if ll_rc < 0 then messagDAT*HeBox("Error", "County rollup failed.", exclamation!) destroy lds_primary destroy lds_target return -1 end if ls_exclude = {"sic_code"} //copy data from primary rollup datastore to target datastore ll_rc = this.of_dsCopyMap(lds_primary.ids_rollup, lds_target, ls_exclude, {ls_rollupRidColumn}, {"rollup_ref_rid"}) if ll_rc = -2 then destroy lds_primary destroy lds_target return 0 //cancel return code for the driver function end if //set the rollup level informDAT*Jation in the target datastore ll_rc = lds_target.of_scan("POST_COPY_ROLLUP_" + upper(ls_rollupRidColumn)) if ll_rc < 0 then destroy lds_primary destroy lds_target return ll_rc end if //save the target datastore if lds_target.rowCount() > 0 then st_status.text = ls_status + " [+" + string(lds_target.rowCount()) + "]" //update target datastore // //*** debug // lds_primary.saveAs("c:\lds_primary.txt", text!, true) // lds_primary.ids_rollup.saveAs("c:\idsDAT*L_rollup.txt", text!, true) // lds_target.saveAs("c:\lds_target.txt", text!, true) ll_rc = lds_target.of_blockUpdate() if ll_rc < 0 then lds_target.is_sourceDataObject = lds_primary.dataObject messageBox("Error", "Data update failed.", exclamation!) destroy lds_primary destroy lds_target return -1 end if end if //release target datastore if isValid(lds_target) then lds_target.of_reset() end if //COUNTY SIC ROLLUP // //set fDAT*Nilter to get totals only // ll_rc = lds_primary.of_filter("summary_category = 'TOTAL'") // if ll_rc < 0 then // destroy lds_primary // destroy lds_target // return -1 // end if //reset the rollup datastore lds_primary.of_resetRollup() //set the sort keys for the current rollup lds_primary.of_resetBlockSortKeys() lds_primary.of_addBlockSortKey("reference_code a") lds_primary.of_addBlockSortKey("start_date_time a") lds_primary.of_addBlockSortKey(ls_rollupRidColumn + " aDAT*P") lds_primary.of_addBlockSortKey("sic_code a") lds_primary.of_addBlockSortKey("material_code a") //run block processing using the curent keys to sum the emissions for the block ll_rc = lds_primary.of_scanBlocks("SUM_ROLLUP_AMT", 0) if ll_rc < 0 then messageBox("Error", "County SIC rollup failed.", exclamation!) destroy lds_primary destroy lds_target return -1 end if ls_exclude = ls_empty //copy data from primary rollup datastore to target datastore ll_rc = tDAT*Rhis.of_dsCopyMap(lds_primary.ids_rollup, lds_target, ls_exclude, {ls_rollupRidColumn, "sic_code"}, {"rollup_ref_rid", "summary_category_code"}) if ll_rc = -2 then destroy lds_primary destroy lds_target return 0 //cancel return code for the driver function end if //set the rollup level information in the target datastore ll_rc = lds_target.of_scan("POST_COPY_ROLLUP_SIC_" + upper(ls_rollupRidColumn)) if ll_rc < 0 then destroy lds_primary destroy lds_target return ll_rcDAT*T end if //save the target datastore if lds_target.rowCount() > 0 then st_status.text = ls_status + " [+" + string(lds_target.rowCount()) + "]" //update target datastore //*** debug // lds_primary.saveAs("c:\lds_primary.txt", text!, true) // lds_primary.ids_rollup.saveAs("c:\ids_rollup.txt", text!, true) // lds_target.saveAs("c:\lds_target.txt", text!, true) // ll_rc = lds_target.of_blockUpdate() if ll_rc < 0 then lds_target.is_sourceDataObjectDAT*V = lds_primary.dataObject messageBox("Error", "Data update failed.", exclamation!) destroy lds_primary destroy lds_target return -1 end if end if //release target datastore if isValid(lds_target) then lds_target.of_reset() end if //COUNTY SCC ROLLUP setPointer(hourglass!) ll_rc = lds_primary.retrieve(il_countyRidArray[ll_row], 'SCC') if ll_rc < 0 then messageBox("Error", "Data retrieval failed.", exclamation!) destroy lds_primary DAT*Xdestroy lds_target return -1 elseif ll_rc = 0 then continue end if // //set filter to get scc totals only // ll_rc = lds_primary.of_filter("summary_category = 'SCC'") // if ll_rc < 0 then // destroy lds_primary // destroy lds_target // return -1 // end if //reset the rollup datastore lds_primary.of_resetRollup() //set the sort keys for the current rollup lds_primary.of_resetBlockSortKeys() lds_primary.of_addBlockSortKey("reference_code a") lds_primary.of_aDAT*ZddBlockSortKey("start_date_time a") lds_primary.of_addBlockSortKey(ls_rollupRidColumn + " a") lds_primary.of_addBlockSortKey("summary_category_code a") //contains the scc code lds_primary.of_addBlockSortKey("material_code a") //run block processing using the curent keys to sum the emissions for the block ll_rc = lds_primary.of_scanBlocks("SUM_ROLLUP_AMT", 0) if ll_rc < 0 then messageBox("Error", "County SCC rollup failed.", exclamation!) destroy lds_primary destroy lds_targDAT*\et return -1 end if ls_exclude = {"sic_code"} //copy data from primary rollup datastore to target datastore ll_rc = this.of_dsCopyMap(lds_primary.ids_rollup, lds_target, ls_exclude, {ls_rollupRidColumn}, {"rollup_ref_rid"}) if ll_rc = -2 then destroy lds_primary destroy lds_target return 0 //cancel return code for the driver function end if //set the rollup level information in the target datastore ll_rc = lds_target.of_scan("POST_COPY_ROLLUP_SCC_" + upper(ls_rDAT*^ollupRidColumn)) if ll_rc < 0 then destroy lds_primary destroy lds_target return ll_rc end if //save the target datastore if lds_target.rowCount() > 0 then st_status.text = ls_status + " [+" + string(lds_target.rowCount()) + "]" //update target datastore //*** debug // lds_primary.saveAs("c:\lds_primary.txt", text!, true) // lds_primary.ids_rollup.saveAs("c:\ids_rollup.txt", text!, true) // lds_target.saveAs("c:\lds_target.txt", text!, true) llDAT*`_rc = lds_target.of_blockUpdate() if ll_rc < 0 then lds_target.is_sourceDataObject = lds_primary.dataObject messageBox("Error", "Data update failed.", exclamation!) destroy lds_primary destroy lds_target return -1 end if end if //release target datastore if isValid(lds_target) then lds_target.of_reset() end if next //county if isValid(lds_primary) then destroy lds_primary end if if isValid(lds_target) then destroy lds_target endDAT*b if st_status.text = ls_status return ll_rc //***** //primary datastore lds_primary = create n_ds_dm_emissions lds_primary.of_setDataType("", "d_dm_emissions_source") setPointer(hourglass!) ll_rc = lds_primary.retrieve(il_sourceRidArray) if ll_rc < 0 then messageBox("Error", "Data retrieval failed.", exclamation!) destroy lds_primary return -1 elseif ll_rc = 0 then destroy lds_primary return 1 //return normal status for no rows end if //set filter to get totals DAT*donly ll_rc = lds_primary.of_filter("summary_category = 'TOTAL'") if ll_rc < 0 then destroy lds_primary return -1 end if //ll_rc = lds_primary.of_totals(ll_countyRid) if ll_rc < 0 then destroy lds_primary return -1 end if //make sure we have rows if lds_primary.rowCount() = 0 then destroy lds_primary return 1 //return normal status for no rows end if //*** RETURN 1 //target datastore lds_target = create n_ds_dm_emissions lds_target.of_setDataType("", "d_dm_emiDAT*fssions_out") ls_exclude = {"metric_code", "metric_level_type", "process_rid", "device_rid", "source_rid", "county_rid", "scc_ams_code", "sic_code"} //copy data from primary datastore to target datastore ll_rc = this.of_dsCopy(lds_primary, lds_target, ls_exclude) if ll_rc = -2 then destroy lds_primary destroy lds_target return 0 //cancel return code for the driver function end if //set the rollup level information in the target datastore ll_rc = lds_target.of_scan("POST_COPY_ROLLDAT*hUP_COUNTY_RID") if ll_rc < 0 then destroy lds_primary destroy lds_target return ll_rc end if //save the target datastore if lds_target.rowCount() > 0 then st_status.text = ls_status + " [+" + string(lds_target.rowCount()) + "]" //update target datastore ll_rc = lds_target.update() if ll_rc < 0 then ROLLBACK USING SQLCA; lds_target.is_sourceDataObject = lds_primary.dataObject messageBox("Error", "Data update failed.", exclamation!) destroy lds_primary destroDAT*jy lds_target return -1 end if COMMIT USING SQLCA; if f_sqlCheck(SQLCA) < 0 then ROLLBACK USING SQLCA; messageBox("Error", "Database commit failed.", exclamation!) destroy lds_primary destroy lds_target return -1 end if end if //release target datastore if isValid(lds_target) then lds_target.reset() end if if isValid(lds_primary) then destroy lds_primary end if if isValid(lds_target) then destroy lds_target end if commit; st_status.tDAT*lext = ls_status return ll_rc end function public function long of_getgeorids (); long ll_rc long ll_row, ll_rowCount long ll_nationRid, ll_prevNationRid long ll_stateRid, ll_prevStateRid long ll_countyRid, ll_prevCountyRid long ll_arrayIndex n_ds_conversion_base lds_geo lds_geo = create n_ds_conversion_base lds_geo.of_setDataType("", "d_dm_geo_with_sources") ll_rc = lds_geo.retrieve() if ll_rc < 0 then messageBox("Error", "Failed retrieving geographic rids.", exclamation!DAT*n) destroy lds_geo return -1 end if ll_rc = lds_geo.of_sort("nation_rid a, state_rid a, county_rid a") if ll_rc < 0 then destroy lds_geo return -1 end if ll_rowCount = lds_geo.rowCount() for ll_row = 1 to ll_rowCount ll_nationRid = lds_geo.object.nation_rid[ll_row] ll_stateRid = lds_geo.object.state_rid[ll_row] ll_countyRid = lds_geo.object.county_rid[ll_row] if ll_nationRid <> ll_prevNationRid then ll_arrayIndex = upperbound(il_nationRidArray) + 1 il_nationRiDAT*pdArray[ll_arrayIndex] = ll_nationRid end if if ll_stateRid <> ll_prevStateRid then ll_arrayIndex = upperbound(il_stateRidArray) + 1 il_stateRidArray[ll_arrayIndex] = ll_stateRid end if if ll_countyRid <> ll_prevCountyRid then ll_arrayIndex = upperbound(il_countyRidArray) + 1 il_countyRidArray[ll_arrayIndex] = ll_countyRid end if ll_prevNationRid = ll_nationRid ll_prevStateRid = ll_stateRid ll_prevCountyRid = ll_countyRid next if isValid(lds_geo) then DAT*rdestroy lds_geo end if return 1 end function public function integer of_transferemissionsstate (); //Transfer emissions information to the data mart n_ds_dm_emissions lds_primary n_ds_dm_emissions lds_target string ls_exclude[] string ls_empty[] long ll_rc long ll_row, ll_stateCount long ll_stateRid string ls_status string ls_statusMid string ls_rollupRidColumn ls_status = st_status.text //primary datastore lds_primary = create n_ds_dm_emissions lds_primary.of_setDatDAT*taType("", "d_dm_emissions_state") //target datastore lds_target = create n_ds_dm_emissions lds_target.of_setDataType("", "d_dm_emissions_out") ll_stateCount = upperBound(il_stateRidArray) for ll_row = 1 to ll_stateCount setPointer(hourglass!) ll_rc = lds_primary.retrieve(il_stateRidArray[ll_row], 'TOTAL') if ll_rc < 0 then messageBox("Error", "Data retrieval failed.", exclamation!) destroy lds_primary destroy lds_target return -1 elseif ll_rc = 0 then continue DAT*v end if ls_rollupRidColumn = "state_rid" //set the null sic codes to NONE ll_rc = lds_primary.of_scan("PRE_COPY_ROLLUP_" + upper(ls_rollupRidColumn)) if ll_rc < 0 then destroy lds_primary destroy lds_target return ll_rc end if //STATE TOTALS ROLLUP // //set filter to get totals only // ll_rc = lds_primary.of_filter("summary_category = 'TOTAL'") // if ll_rc < 0 then // destroy lds_primary // destroy lds_target // return -1 // end if //reset the rolDAT*xlup datastore lds_primary.of_resetRollup() //set the sort keys for the current rollup lds_primary.of_resetBlockSortKeys() lds_primary.of_addBlockSortKey("reference_code a") lds_primary.of_addBlockSortKey("start_date_time a") lds_primary.of_addBlockSortKey(ls_rollupRidColumn + " a") lds_primary.of_addBlockSortKey("material_code a") //run block processing using the curent keys to sum the emissions for the block ll_rc = lds_primary.of_scanBlocks("SUM_ROLLUP_AMT", 0) if ll_rcDAT*z < 0 then messageBox("Error", "State rollup failed.", exclamation!) destroy lds_primary destroy lds_target return -1 end if ls_exclude = {"sic_code"} //copy data from primary rollup datastore to target datastore ll_rc = this.of_dsCopyMap(lds_primary.ids_rollup, lds_target, ls_exclude, {ls_rollupRidColumn}, {"rollup_ref_rid"}) if ll_rc = -2 then destroy lds_primary destroy lds_target return 0 //cancel return code for the driver function end if //set the rDAT*|ollup level information in the target datastore ll_rc = lds_target.of_scan("POST_COPY_ROLLUP_" + upper(ls_rollupRidColumn)) if ll_rc < 0 then destroy lds_primary destroy lds_target return ll_rc end if //save the target datastore if lds_target.rowCount() > 0 then st_status.text = ls_status + " [+" + string(lds_target.rowCount()) + "]" //update target datastore // //*** debug // lds_primary.saveAs("c:\lds_primary.txt", text!, true) // lds_primary.ids_rolDAT*~lup.saveAs("c:\ids_rollup.txt", text!, true) // lds_target.saveAs("c:\lds_target.txt", text!, true) ll_rc = lds_target.of_blockUpdate() if ll_rc < 0 then lds_target.is_sourceDataObject = lds_primary.dataObject messageBox("Error", "Data update failed.", exclamation!) destroy lds_primary destroy lds_target return -1 end if end if //release target datastore if isValid(lds_target) then lds_target.of_reset() end if //STATE SIC ROLLUDAT*P // //set filter to get totals only // ll_rc = lds_primary.of_filter("summary_category = 'TOTAL'") // if ll_rc < 0 then // destroy lds_primary // destroy lds_target // return -1 // end if //reset the rollup datastore lds_primary.of_resetRollup() //set the sort keys for the current rollup lds_primary.of_resetBlockSortKeys() lds_primary.of_addBlockSortKey("reference_code a") lds_primary.of_addBlockSortKey("start_date_time a") lds_primary.of_addBlockSortKey(ls_rolDAT*lupRidColumn + " a") lds_primary.of_addBlockSortKey("sic_code a") lds_primary.of_addBlockSortKey("material_code a") //run block processing using the curent keys to sum the emissions for the block ll_rc = lds_primary.of_scanBlocks("SUM_ROLLUP_AMT", 0) if ll_rc < 0 then messageBox("Error", "State SIC rollup failed.", exclamation!) destroy lds_primary destroy lds_target return -1 end if ls_exclude = ls_empty //copy data from primary rollup datastore to target dataDAT*store ll_rc = this.of_dsCopyMap(lds_primary.ids_rollup, lds_target, ls_exclude, {ls_rollupRidColumn, "sic_code"}, {"rollup_ref_rid", "summary_category_code"}) if ll_rc = -2 then destroy lds_primary destroy lds_target return 0 //cancel return code for the driver function end if //set the rollup level information in the target datastore ll_rc = lds_target.of_scan("POST_COPY_ROLLUP_SIC_" + upper(ls_rollupRidColumn)) if ll_rc < 0 then destroy lds_primary destroy lds_targeDAT*t return ll_rc end if //save the target datastore if lds_target.rowCount() > 0 then st_status.text = ls_status + " [+" + string(lds_target.rowCount()) + "]" //update target datastore // //*** debug // lds_primary.saveAs("c:\lds_primary.txt", text!, true) // lds_primary.ids_rollup.saveAs("c:\ids_rollup.txt", text!, true) // lds_target.saveAs("c:\lds_target.txt", text!, true) ll_rc = lds_target.of_blockUpdate() if ll_rc < 0 then lds_target.isDAT*_sourceDataObject = lds_primary.dataObject messageBox("Error", "Data update failed.", exclamation!) destroy lds_primary destroy lds_target return -1 end if end if //release target datastore if isValid(lds_target) then lds_target.of_reset() end if //STATE SCC ROLLUP setPointer(hourglass!) ll_rc = lds_primary.retrieve(il_stateRidArray[ll_row], 'SCC') if ll_rc < 0 then messageBox("Error", "Data retrieval failed.", exclamation!) destroy lDAT*ds_primary destroy lds_target return -1 elseif ll_rc = 0 then continue end if // //set filter to get scc totals only // ll_rc = lds_primary.of_filter("summary_category = 'SCC'") // if ll_rc < 0 then // destroy lds_primary // destroy lds_target // return -1 // end if //reset the rollup datastore lds_primary.of_resetRollup() //set the sort keys for the current rollup lds_primary.of_resetBlockSortKeys() lds_primary.of_addBlockSortKey("reference_code a") ldsDAT*_primary.of_addBlockSortKey("start_date_time a") lds_primary.of_addBlockSortKey(ls_rollupRidColumn + " a") lds_primary.of_addBlockSortKey("summary_category_code a") //contains the scc code lds_primary.of_addBlockSortKey("material_code a") //run block processing using the curent keys to sum the emissions for the block ll_rc = lds_primary.of_scanBlocks("SUM_ROLLUP_AMT", 0) if ll_rc < 0 then messageBox("Error", "State SCC rollup failed.", exclamation!) destroy lds_primary destDAT*roy lds_target return -1 end if ls_exclude = {"sic_code"} //copy data from primary rollup datastore to target datastore ll_rc = this.of_dsCopyMap(lds_primary.ids_rollup, lds_target, ls_exclude, {ls_rollupRidColumn}, {"rollup_ref_rid"}) if ll_rc = -2 then destroy lds_primary destroy lds_target return 0 //cancel return code for the driver function end if //set the rollup level information in the target datastore ll_rc = lds_target.of_scan("POST_COPY_ROLLUP_SCC_DAT*" + upper(ls_rollupRidColumn)) if ll_rc < 0 then destroy lds_primary destroy lds_target return ll_rc end if //save the target datastore if lds_target.rowCount() > 0 then st_status.text = ls_status + " [+" + string(lds_target.rowCount()) + "]" //update target datastore // //*** debug // lds_primary.saveAs("c:\lds_primary.txt", text!, true) // lds_primary.ids_rollup.saveAs("c:\ids_rollup.txt", text!, true) // lds_target.saveAs("c:\lds_target.txt", text!,DAT* true) ll_rc = lds_target.of_blockUpdate() if ll_rc < 0 then lds_target.is_sourceDataObject = lds_primary.dataObject messageBox("Error", "Data update failed.", exclamation!) destroy lds_primary destroy lds_target return -1 end if end if //release target datastore if isValid(lds_target) then lds_target.of_reset() end if next //state if isValid(lds_primary) then destroy lds_primary end if if isValid(lds_target) then destroy DAT*lds_target end if st_status.text = ls_status return ll_rc //***** //primary datastore lds_primary = create n_ds_dm_emissions lds_primary.of_setDataType("", "d_dm_emissions_source") setPointer(hourglass!) ll_rc = lds_primary.retrieve(il_sourceRidArray) if ll_rc < 0 then messageBox("Error", "Data retrieval failed.", exclamation!) destroy lds_primary return -1 elseif ll_rc = 0 then destroy lds_primary return 1 //return normal status for no rows end if //set filterDAT* to get totals only ll_rc = lds_primary.of_filter("summary_category = 'TOTAL'") if ll_rc < 0 then destroy lds_primary return -1 end if //ll_rc = lds_primary.of_totals(ll_stateRid) if ll_rc < 0 then destroy lds_primary return -1 end if //make sure we have rows if lds_primary.rowCount() = 0 then destroy lds_primary return 1 //return normal status for no rows end if //*** RETURN 1 //target datastore lds_target = create n_ds_dm_emissions lds_target.of_setDataTypeDAT*("", "d_dm_emissions_out") ls_exclude = {"metric_code", "metric_level_type", "process_rid", "device_rid", "source_rid", "county_rid", "state_rid", "scc_ams_code", "sic_code"} //copy data from primary datastore to target datastore ll_rc = this.of_dsCopy(lds_primary, lds_target, ls_exclude) if ll_rc = -2 then destroy lds_primary destroy lds_target return 0 //cancel return code for the driver function end if //set the rollup level information in the target datastore ll_rc = lds_tarDAT*get.of_scan("POST_COPY_ROLLUP_STATE_RID") if ll_rc < 0 then destroy lds_primary destroy lds_target return ll_rc end if //save the target datastore if lds_target.rowCount() > 0 then st_status.text = ls_status + " [+" + string(lds_target.rowCount()) + "]" //update target datastore ll_rc = lds_target.update() if ll_rc < 0 then ROLLBACK USING SQLCA; lds_target.is_sourceDataObject = lds_primary.dataObject messageBox("Error", "Data update failed.", exclamation!) DAT*destroy lds_primary destroy lds_target return -1 end if COMMIT USING SQLCA; if f_sqlCheck(SQLCA) < 0 then ROLLBACK USING SQLCA; messageBox("Error", "Database commit failed.", exclamation!) destroy lds_primary destroy lds_target return -1 end if end if //release target datastore if isValid(lds_target) then lds_target.reset() end if commit; if isValid(lds_primary) then destroy lds_primary end if if isValid(lds_target) then destroy lds_targDAT*et end if st_status.text = ls_status return ll_rc end function public function integer of_dscopymap (ref n_ds_conversion_base ads_primary, ref datastore ads_target, string as_exclude[], string as_mapfrom[], string as_mapto[]); //Copy data from one datastore to another. //NOTE: Column names must match in the two datastores //RETURN: 1; normal // 0; no rows copied // -1; error // -2; operation cancelled long ll_rc long ll_row, ll_rowCount long ll_col, ll_colCountDAT* long ll_exc, ll_excCount long ll_map, ll_mapCount string ls_status string ls_columnName boolean lb_exclude boolean lb_map any la_data ls_status = st_status.text //grab the number of columns to exclude from the copy ll_excCount = upperBound(as_exclude) //grab the number of columns to exclude from the copy ll_mapCount = upperBound(as_mapFrom) if ll_mapCount <> upperBound(as_mapTo) then messageBox("Error", "Mapping arrays must be the same size.", exclamation!) return -1 endDAT* if //grab rows and column counts for the primary datastore ll_rowCount = ads_primary.rowCount() if ll_rowCount < 0 then messageBox("Error", "Row count failed.", exclamation!) return -1 elseif ll_rowCount = 0 then return 0 end if ll_colCount = long(ads_primary.object.datawindow.column.count) if ll_colCount <= 0 then messageBox("Error", "Colum count failed.", exclamation!) return -1 end if setPointer(hourglass!) //ads_primary.of_populatecolumntypes() //loop through the DAT*rows in the primary datastore for ll_row = 1 to ll_rowCount //check for operation cancelled if ll_row = 1 or mod(ll_row, il_yieldBlock) = 0 then if not this.of_getRun() then return -2 //cancel return code end if st_status.text = ls_status + " [" + string(ll_row) + "]" setPointer(hourglass!) end if //add a row to the target datastore ll_rc = ads_target.insertRow(0) if ll_rc < 0 then messageBox("Error", "Row insert failed.", exclamation!) return -1 DAT* end if //loops through the columns in the primary datastore for ll_col = 1 to ll_colCount ls_columnName = lower(trim(ads_primary.describe("#"+string(ll_col)+".name"))) if ls_columnName = "?" or isNull(ls_columnName) then continue end if //check to see if we are mapping this column lb_map = false for ll_map = 1 to ll_mapCount if ls_columnName = lower(trim(as_mapFrom[ll_map])) then lb_map = true exit end if next if lb_map then ls_colDAT*umnName = as_mapTo[ll_map] end if if not lb_map then //check to see if we are skipping this column lb_exclude = false for ll_exc = 1 to ll_excCount if ls_columnName = lower(trim(as_exclude[ll_exc])) then lb_exclude = true exit end if next if lb_exclude then continue end if end if //copy data element from primary datastore to target datastore //***this requires that both datastores use the same column name*** //la_data = aDAT*ds_primary.of_trimdata(ll_row, ll_col) //ll_rc = ads_target.setitem(ll_row, ls_columnName, la_data) ll_rc = ads_target.setitem(ll_row, ls_columnName, ads_primary.object.data[ll_row, ll_col]) if ll_rc < 0 then messageBox("Error", "Failed writing data value to column: " + ls_columnName, exclamation!) return -1 end if next //column next //row st_status.text = ls_status return 1 end function public function long of_processdata (string as_operation, ref n_ds_dDAT*m_transfer ads_primary, ref n_ds_dm_transfer ads_target); string as_dataobject, ls_status choose case as_operation case "transfer_post_copy" as_dataobject = lower(ads_target.dataobject) choose case as_dataobject case "d_dm_devices_out", "d_dm_sources_out", "d_dm_geo_locations_out" ls_status = st_status.text st_status.text = ls_status + " [Adding GIS Data...]" ads_target.of_scan("POPULATE GIS DATA") end choose end choose return 1 end function publiDAT*c function long of_retrieve (ref datastore ads_primary, long al_ridarray[]); long ll_rc string ls_status ls_status = st_status.text st_status.text = ls_status + " [retrieving]" setPointer(hourglass!) ll_rc = ads_primary.retrieve(al_ridArray) if ll_rc < 0 then messageBox("Error", "Data retrieval failed.", exclamation!) st_status.text = ls_status + " [error]" return -1 end if st_status.text = ls_status return ll_rc end function public function integer of_dscopy (refDAT* n_ds_conversion_base ads_primary, ref datastore ads_target, string as_exclude[]); //Copy data from one datastore to another. //NOTE: Column names must match in the two datastores //RETURN: 1; normal // 0; no rows copied // -1; error // -2; operation cancelled long ll_rc long ll_row, ll_rowCount long ll_col, ll_colCount long ll_exc, ll_excCount string ls_status string ls_columnName boolean lb_exclude any la_data ls_status = st_status.text //grab the number of DAT*columns to exclude from the copy ll_excCount = upperBound(as_exclude) //grab rows and column counts for the primary datastore ll_rowCount = ads_primary.rowCount() if ll_rowCount < 0 then messageBox("Error", "Row count failed.", exclamation!) return -1 elseif ll_rowCount = 0 then return 0 end if ll_colCount = long(ads_primary.object.datawindow.column.count) if ll_colCount <= 0 then messageBox("Error", "Colum count failed.", exclamation!) return -1 end if setPointer(hourglassDAT*!) //ads_primary.of_populatecolumntypes() //loop through the rows in the primary datastore for ll_row = 1 to ll_rowCount //check for operation cancelled if ll_row = 1 or mod(ll_row, il_yieldBlock) = 0 then if not this.of_getRun() then return -2 //cancel return code end if st_status.text = ls_status + " [" + string(ll_row) + "]" setPointer(hourglass!) end if //add a row to the target datastore ll_rc = ads_target.insertRow(0) if ll_rc < 0 then DAT* messageBox("Error", "Row insert failed.", exclamation!) return -1 end if //loops through the columns in the primary datastore for ll_col = 1 to ll_colCount ls_columnName = lower(trim(ads_primary.describe("#"+string(ll_col)+".name"))) if ls_columnName = "?" or isNull(ls_columnName) then continue end if //check to see if we are skipping this column lb_exclude = false for ll_exc = 1 to ll_excCount if ls_columnName = lower(trim(as_exclude[ll_exc])) then DAT* lb_exclude = true exit end if next if lb_exclude then continue end if //copy data element from primary datastore to target datastore //***this requires that both datastores use the same column name*** //la_data = ads_primary.of_trimdata(ll_row, ll_col) //ll_rc = ads_target.setitem(ll_row, ls_columnName, la_data) ll_rc = ads_target.setitem(ll_row, ls_columnName, ads_primary.object.data[ll_row, ll_col]) if ll_rc < 0 then messageBox("Error", "FaiDAT*led writing data value to column: " + ls_columnName, exclamation!) return -1 end if next //column next //row st_status.text = ls_status return 1 end function public function long of_update (ref datastore ads_target); long ll_rc string ls_status ls_status = st_status.text st_status.text = ls_status + " [+" + string(ads_target.rowCount()) + "]" //update target datastore ll_rc = ads_target.update() if ll_rc < 0 then ROLLBACK USING SQLCA; messageBox("ErroDAT*r", "Data update failed.", exclamation!) st_status.text = ls_status + " [error]" return ll_rc end if //commit updates to database COMMIT USING SQLCA; if f_sqlCheck(SQLCA) < 0 then ROLLBACK USING SQLCA; messageBox("Error", "Database commit failed.", exclamation!) st_status.text = ls_status + " [error]" return ll_rc end if st_status.text = ls_status return 1 end function public function integer of_loademissions (); //n_ds_dm_emissions lds_primaryCopy string ls_excluDAT*de[] long ll_rc //primary datastore //lds_primary.inv_units = this.inv_units setPointer(hourglass!) //ll_rc = lds_primary.retrieve() ll_rc = ids_primary.of_retrieveappend(il_sourceRidArray) if ll_rc < 0 then messageBox("Error", "Data retrieval failed.", exclamation!) return -1 end if st_status.text = "Loading Emissions Data...[" + string(ids_primary.rowCount()) + "]" garbagecollect() return ll_rc end function public function integer of_transferemissions_old2 (); //TDAT*ransfer emissions information to the data mart // //n_ds_dm_emissions ids_primaryCopy string ls_exclude[] long ll_rc long ll_rowCount string ls_status string ls_statusMid string ls_rollupRidColumn ls_status = st_status.text ls_exclude = {"metric_code", "metric_level_type", "process_rid", "device_rid", "source_rid", "scc_ams_code", "sic_code"} setPointer(hourglass!) ids_target.reset() //make sure we still have rows if ids_primary.rowCount() = 0 then return 1 //return normal DAT*status for no rows end if st_status.text = ls_status + " [Normalize...]" //normalize the emissions data //(handles start/end dates, value types, scc codes, sic codes, data codes) ll_rc = ids_primary.of_scan("NORMALIZE") if ll_rc < 0 then messageBox("Error", "Data normalization failed.", exclamation!) return -1 end if //*** debug // ids_primary.saveAs("c:\ids_primary_norm.txt", text!, true) // ids_primary.ids_rollup.saveAs("c:\ids_rollup_norm.txt", text!, true) // ids_target.saDAT*veAs("c:\ids_target_norm.txt", text!, true) //make sure we still have rows if ids_primary.rowCount() = 0 then return 1 //return normal status for no rows end if if this.of_getRun() then return 0 st_status.text = ls_status + " [Prioritization...]" //prioritize records by data code and value type //we should end up with one record per //reference_code/start_date_time/process_rid/material_code combination ll_rc = ids_primary.of_prioritize() if ll_rc < 0 then messageBox("Error", "DAT*Data prioritization failed.", exclamation!) return -1 end if //*** debug //ids_primary.saveAs("c:\ids_primary_prio.txt", text!, true) //make sure we still have rows if ids_primary.rowCount() = 0 then return 1 //return normal status for no rows end if //target datastore ls_exclude = {"metric_code", "metric_level_type", "process_rid", "device_rid", "source_rid", "county_rid", "scc_ams_code", "sic_code"} st_status.text = ls_status + " [Copy...]" //copy data from primary datDAT*astore to target datastore ll_rc = this.of_dsCopy(ids_primary, ids_target, ls_exclude) if ll_rc = -2 then return 0 //cancel return code for the driver function end if if this.of_getRun() then return 0 st_status.text = ls_status + " [Rollup...]" //set the rollup level information in the target datastore ll_rc = ids_target.of_scan("POST_COPY_ROLLUP_PROCESS_RID") if ll_rc < 0 then return ll_rc end if //save the target datastore if ids_target.rowCount() > 0 then st_status.text = DAT*ls_status + " [+" + string(ids_target.rowCount()) + "]" //update target datastore ll_rc = ids_target.of_blockUpdate() //ll_rc = ids_target.update() if ll_rc < 0 then //ROLLBACK USING SQLCA; ids_target.is_sourceDataObject = ids_primary.dataObject messageBox("Error", "Data update failed.", exclamation!) return -1 end if // COMMIT USING SQLCA; // if f_sqlCheck(SQLCA) < 0 then // ROLLBACK USING SQLCA; // messageBox("Error", "Database commit failed.", exclamation!) /DAT*/ return -1 // end if end if //release target datastore if isValid(ids_target) then ids_target.of_reset() end if if this.of_getRun() then return 0 ls_exclude = {"metric_code", "metric_level_type", "process_rid", "device_rid", "source_rid", "county_rid", "scc_ams_code", "sic_code", "data_code", "value_type", "method_type", "reference_type"} st_status.text = ls_status + " [SCC Rollup...]" //SOURCE LEVEL SCC ROLLUP ls_rollupRidColumn = "source_rid" //reset the rollup datastoDAT*re ids_primary.of_resetRollup() //set the sort keys for the current rollup ids_primary.of_resetBlockSortKeys() ids_primary.of_addBlockSortKey("reference_code a") ids_primary.of_addBlockSortKey("start_date_time a") ids_primary.of_addBlockSortKey(ls_rollupRidColumn + " a") ids_primary.of_addBlockSortKey("scc_ams_code a") ids_primary.of_addBlockSortKey("material_code a") //run block processing using the curent keys to sum the emissions for the block ll_rc = ids_primary.of_scanBlocks("SUDAT*M_ROLLUP_AMT", 0) if ll_rc < 0 then messageBox("Error", "Source SCC rollup failed.", exclamation!) return -1 end if if this.of_getRun() then return 0 st_status.text = ls_status + " [Copy...]" //copy data from primary rollup datastore to target datastore ll_rc = this.of_dsCopyMap(ids_primary.ids_rollup, ids_target, ls_exclude, {ls_rollupRidColumn, "scc_ams_code"}, {"rollup_ref_rid", "summary_category_code"}) if ll_rc = -2 then return 0 //cancel return code for the driver function eDAT*nd if //set the rollup level information in the target datastore ll_rc = ids_target.of_scan("POST_COPY_ROLLUP_SCC_" + upper(ls_rollupRidColumn)) if ll_rc < 0 then return ll_rc end if //save the target datastore if ids_target.rowCount() > 0 then st_status.text = ls_status + " [+" + string(ids_target.rowCount()) + "]" //update target datastore // //*** debug // ids_primary.saveAs("c:\ids_primary.txt", text!, true) // ids_primary.ids_rollup.saveAs("c:\ids_rollup.txt", textDAT*!, true) // ids_target.saveAs("c:\ids_target.txt", text!, true) if this.of_getRun() then return 0 ll_rc = ids_target.of_blockUpdate() if ll_rc < 0 then ids_target.is_sourceDataObject = ids_primary.dataObject messageBox("Error", "Data update failed.", exclamation!) return -1 end if end if //release target datastore if isValid(ids_target) then ids_target.of_reset() end if //DEVICE ROLLUP //debug //ids_primary.saveAs("c:\ids_primary_inidev.txt", text!, true) st_DAT*status.text = ls_status + " [Device Rollup...]" ls_rollupRidColumn = "device_rid" //reset the rollup datastore ids_primary.of_resetRollup() //set the sort keys for the current rollup ids_primary.of_resetBlockSortKeys() ids_primary.of_addBlockSortKey("reference_code a") ids_primary.of_addBlockSortKey("start_date_time a") ids_primary.of_addBlockSortKey(ls_rollupRidColumn + " a") ids_primary.of_addBlockSortKey("material_code a") //run block processing using the curent keys to sum the DAT*emissions for the block ll_rc = ids_primary.of_scanBlocks("SUM_ROLLUP_AMT", 0) if ll_rc < 0 then messageBox("Error", "Device rollup failed.", exclamation!) return -1 end if ////debug //ids_primary.saveAs("c:\ids_primary_sumrollup.txt", text!, true) //ids_primary.ids_rollup.saveAs("c:\ids_rollup_sumrollup.txt", text!, true) // //copy data from primary rollup datastore to target datastore if this.of_getRun() then return 0 st_status.text = ls_status + " [Copy...]" ll_rc = this.of_dsCDAT*opyMap(ids_primary.ids_rollup, ids_target, ls_exclude, {ls_rollupRidColumn}, {"rollup_ref_rid"}) if ll_rc = -2 then return 0 //cancel return code for the driver function end if //set the rollup level information in the target datastore ll_rc = ids_target.of_scan("POST_COPY_ROLLUP_" + upper(ls_rollupRidColumn)) if ll_rc < 0 then return ll_rc end if //save the target datastore if ids_target.rowCount() > 0 then if this.of_getRun() then return 0 st_status.text = ls_status + " [+" +DAT* string(ids_target.rowCount()) + "]" //update target datastore // //*** debug // ids_primary.saveAs("c:\ids_primary.txt", text!, true) // ids_primary.ids_rollup.saveAs("c:\ids_rollup.txt", text!, true) // ids_target.saveAs("c:\ids_target.txt", text!, true) ll_rc = ids_target.of_blockUpdate() if ll_rc < 0 then ids_target.is_sourceDataObject = ids_primary.dataObject messageBox("Error", "Data update failed.", exclamation!) return -1 end if end if //release target DAT*datastore if isValid(ids_target) then ids_target.of_reset() end if if this.of_getRun() then return 0 st_status.text = ls_status + " [Rollup...]" //shift the data from the primary rollup datastore to the primary datastore ll_rc = ids_primary.of_reset() ll_rowCount = ids_primary.ids_rollup.rowCount() if ll_rowCount > 0 then ll_rc = ids_primary.ids_rollup.rowsMove(1, ll_rowCount, primary!, ids_primary, 1, primary!) end if ll_rowCount = ids_primary.rowCount() //SOURCE ROLLUP st_staDAT*tus.text = ls_status + " [Source...]" ls_rollupRidColumn = "source_rid" //reset the rollup datastore ids_primary.of_resetRollup() //set the sort keys for the current rollup ids_primary.of_resetBlockSortKeys() ids_primary.of_addBlockSortKey("reference_code a") ids_primary.of_addBlockSortKey("start_date_time a") ids_primary.of_addBlockSortKey(ls_rollupRidColumn + " a") ids_primary.of_addBlockSortKey("material_code a") //run block processing using the curent keys to sum the emissions DAT*for the block ll_rc = ids_primary.of_scanBlocks("SUM_ROLLUP_AMT", 0) if ll_rc < 0 then messageBox("Error", "Source rollup failed.", exclamation!) return -1 end if if this.of_getRun() then return 0 st_status.text = ls_status + " [Copy...]" //copy data from primary rollup datastore to target datastore ll_rc = this.of_dsCopyMap(ids_primary.ids_rollup, ids_target, ls_exclude, {ls_rollupRidColumn}, {"rollup_ref_rid"}) if ll_rc = -2 then return 0 //cancel return code for the driver functioDAT*n end if //set the rollup level information in the target datastore ll_rc = ids_target.of_scan("POST_COPY_ROLLUP_" + upper(ls_rollupRidColumn)) if ll_rc < 0 then return ll_rc end if //save the target datastore if ids_target.rowCount() > 0 then if this.of_getRun() then return 0 st_status.text = ls_status + " [+" + string(ids_target.rowCount()) + "]" //update target datastore // //*** debug // ids_primary.saveAs("c:\ids_primary.txt", text!, true) // ids_primary.ids_rollupDAT*.saveAs("c:\ids_rollup.txt", text!, true) // ids_target.saveAs("c:\ids_target.txt", text!, true) if this.of_getRun() then return 0 ll_rc = ids_target.of_blockUpdate() if ll_rc < 0 then ids_target.is_sourceDataObject = ids_primary.dataObject messageBox("Error", "Data update failed.", exclamation!) return -1 end if end if commit; st_status.text = ls_status ids_target.reset() ids_primary.reset() garbagecollect() return ll_rc end function public function integerDAT* of_transferemissions (); //Transfer emissions information to the data mart n_ds_dm_emissions lds_primary n_ds_dm_emissions lds_target //n_ds_dm_emissions lds_primaryCopy string ls_exclude[] long ll_rc long ll_rowCount string ls_status string ls_statusMid string ls_rollupRidColumn ls_status = st_status.text ls_exclude = {"metric_code", "metric_level_type", "process_rid", "device_rid", "source_rid", "scc_ams_code", "sic_code"} //primary datastore lds_primary = create n_ds_dm_eDAT*missions //lds_primary.inv_units = this.inv_units setPointer(hourglass!) //ll_rc = lds_primary.retrieve() ll_rc = lds_primary.retrieve(il_sourceRidArray) if ll_rc < 0 then messageBox("Error", "Data retrieval failed.", exclamation!) destroy lds_primary return -1 elseif ll_rc = 0 then destroy lds_primary return 1 //return normal status for no rows end if //*** debug // lds_primary.saveAs("c:\lds_primary_ini.txt", text!, true) // lds_primary.ids_rollup.saveAs("c:\ids_rollup_inDAT*i.txt", text!, true) //lds_target.saveAs("c:\lds_target_ini.txt", text!, true) //throw out records without downstream discharge metric //ll_rc = lds_primary.of_discardByStringArray("metric_code", {"DOWNSTRMDIS"}) //if ll_rc < 0 then // messageBox("Error", "Data discard failed.", exclamation!) // destroy lds_primary // return -1 //end if //*** debug // lds_primary.saveAs("c:\lds_primary_dis_1.txt", text!, true) // lds_primary.ids_rollup.saveAs("c:\ids_rollup_dis_1.txt", text!, trueDAT*) // lds_target.saveAs("c:\lds_target_dis_1.txt", text!, true) //make sure we still have rows if lds_primary.rowCount() = 0 then destroy lds_primary return 1 //return normal status for no rows end if //normalize the emissions data //(handles start/end dates, value types, scc codes, sic codes, data codes) ll_rc = lds_primary.of_scan("NORMALIZE") if ll_rc < 0 then messageBox("Error", "Data normalization failed.", exclamation!) destroy lds_primary return -1 end if //*** debuDAT*g // lds_primary.saveAs("c:\lds_primary_norm.txt", text!, true) // lds_primary.ids_rollup.saveAs("c:\ids_rollup_norm.txt", text!, true) // lds_target.saveAs("c:\lds_target_norm.txt", text!, true) //throw out records without downstream discharge metric //(some records may have had metric code changed to DISCARD during normalization //ll_rc = lds_primary.of_discardByStringArray("metric_code", {"DOWNSTRMDIS"}) //if ll_rc < 0 then // messageBox("Error", "Data discard failed.", exclamation!) DAT* // destroy lds_primary // return -1 //end if //*** debug //lds_primary.saveAs("c:\lds_primary_dis_2.txt", text!, true) //lds_primary.ids_rollup.saveAs("c:\ids_rollup_dis_2.txt", text!, true) //lds_target.saveAs("c:\lds_target_dis_2.txt", text!, true) //make sure we still have rows if lds_primary.rowCount() = 0 then destroy lds_primary return 1 //return normal status for no rows end if //prioritize records by data code and value type //we should end up with one record per //DAT*reference_code/start_date_time/process_rid/material_code combination ll_rc = lds_primary.of_prioritize() if ll_rc < 0 then messageBox("Error", "Data prioritization failed.", exclamation!) destroy lds_primary return -1 end if //*** debug //lds_primary.saveAs("c:\lds_primary_prio.txt", text!, true) //make sure we still have rows if lds_primary.rowCount() = 0 then destroy lds_primary return 1 //return normal status for no rows end if //target datastore lds_target = createDAT* n_ds_dm_emissions lds_target.of_setDataType("", "d_dm_emissions_out") ls_exclude = {"metric_code", "metric_level_type", "process_rid", "device_rid", "source_rid", "county_rid", "scc_ams_code", "sic_code"} //copy data from primary datastore to target datastore ll_rc = this.of_dsCopy(lds_primary, lds_target, ls_exclude) if ll_rc = -2 then destroy lds_primary destroy lds_target return 0 //cancel return code for the driver function end if //set the rollup level information in the tDAT*arget datastore ll_rc = lds_target.of_scan("POST_COPY_ROLLUP_PROCESS_RID") if ll_rc < 0 then destroy lds_primary destroy lds_target return ll_rc end if //save the target datastore if lds_target.rowCount() > 0 then st_status.text = ls_status + " [+" + string(lds_target.rowCount()) + "]" //update target datastore ll_rc = lds_target.of_blockUpdate() //ll_rc = lds_target.update() if ll_rc < 0 then //ROLLBACK USING SQLCA; lds_target.is_sourceDataObject = lds_primary.dDAT*ataObject messageBox("Error", "Data update failed.", exclamation!) destroy lds_primary destroy lds_target return -1 end if // COMMIT USING SQLCA; // if f_sqlCheck(SQLCA) < 0 then // ROLLBACK USING SQLCA; // messageBox("Error", "Database commit failed.", exclamation!) // destroy lds_primary // destroy lds_target // return -1 // end if end if //release target datastore if isValid(lds_target) then lds_target.of_reset() // destroy(lds_target) // lds_target DAT*= create n_ds_dm_emissions // lds_target.of_setDataType("", "d_dm_emissions_out") // lds_target.of_reset() end if ////SOURCE LEVEL SCC ROLLUP //lds_primaryCopy = create n_ds_dm_emissions //ll_rc = lds_primary.rowsCopy(1, lds_primary.rowCount(), primary!, lds_primaryCopy, 1, primary!) // ////rollup primary datastore by source rid and scc //ll_rc = lds_primaryCopy.of_rollupByRidScc("source_rid") //if ll_rc < 0 then // destroy lds_primary // destroy lds_primaryCopy // destroy lds_targeDAT*t // return ll_rc //end if // ////copy data from primary datastore to target datastore //ll_rc = this.of_dsCopyMap(lds_primaryCopy, lds_target, ls_exclude, {"scc_ams_code"}, {"summary_category_code"}) //if ll_rc = -2 then // destroy lds_primary // destroy lds_primaryCopy // destroy lds_target // return 0 //cancel return code for the driver function //end if // ////destroy the copy //if isValid(lds_primaryCopy) then // destroy lds_primaryCopy //end if // ////set the rollup level iDAT*nformation in the target datastore //ll_rc = lds_target.of_scan("POST_COPY_ROLLUP_SOURCE_RID_SCC") //if ll_rc < 0 then // destroy lds_primary // destroy lds_target // return ll_rc //end if // ////save the target datastore //if lds_target.rowCount() > 0 then // // st_status.text = ls_status + " [+" + string(lds_target.rowCount()) + "]" // // //update target datastore // ll_rc = lds_target.update() // if ll_rc < 0 then // ROLLBACK USING SQLCA; // messageBox("Error", "Data updateDAT* failed.", exclamation!) // destroy lds_primary // destroy lds_target // return -1 // end if // // COMMIT USING SQLCA; // if f_sqlCheck(SQLCA) < 0 then // ROLLBACK USING SQLCA; // messageBox("Error", "Database commit failed.", exclamation!) // destroy lds_primary // destroy lds_target // return -1 // end if // //end if // ////release target datastore //if isValid(lds_target) then // lds_target.of_reset() //end if ls_exclude = {"metric_code", "metric_level_type"DAT*, "process_rid", "device_rid", "source_rid", "county_rid", "scc_ams_code", "sic_code", "data_code", "value_type", "method_type", "reference_type"} //SOURCE LEVEL SCC ROLLUP ls_rollupRidColumn = "source_rid" //reset the rollup datastore lds_primary.of_resetRollup() //set the sort keys for the current rollup lds_primary.of_resetBlockSortKeys() lds_primary.of_addBlockSortKey("reference_code a") lds_primary.of_addBlockSortKey("start_date_time a") lds_primary.of_addBlockSortKey(ls_rollDAT*upRidColumn + " a") lds_primary.of_addBlockSortKey("scc_ams_code a") lds_primary.of_addBlockSortKey("material_code a") //run block processing using the curent keys to sum the emissions for the block ll_rc = lds_primary.of_scanBlocks("SUM_ROLLUP_AMT", 0) if ll_rc < 0 then messageBox("Error", "Source SCC rollup failed.", exclamation!) destroy lds_primary destroy lds_target return -1 end if //copy data from primary rollup datastore to target datastore ll_rc = this.of_dsCopyMap(ldDAT*s_primary.ids_rollup, lds_target, ls_exclude, {ls_rollupRidColumn, "scc_ams_code"}, {"rollup_ref_rid", "summary_category_code"}) if ll_rc = -2 then destroy lds_primary destroy lds_target return 0 //cancel return code for the driver function end if //set the rollup level information in the target datastore ll_rc = lds_target.of_scan("POST_COPY_ROLLUP_SCC_" + upper(ls_rollupRidColumn)) if ll_rc < 0 then destroy lds_primary destroy lds_target return ll_rc end if //save the targDAT* et datastore if lds_target.rowCount() > 0 then st_status.text = ls_status + " [+" + string(lds_target.rowCount()) + "]" //update target datastore // //*** debug // lds_primary.saveAs("c:\lds_primary.txt", text!, true) // lds_primary.ids_rollup.saveAs("c:\ids_rollup.txt", text!, true) // lds_target.saveAs("c:\lds_target.txt", text!, true) ll_rc = lds_target.of_blockUpdate() if ll_rc < 0 then lds_target.is_sourceDataObject = lds_primary.dataObject messageBox("Error", "DAT* Data update failed.", exclamation!) destroy lds_primary destroy lds_target return -1 end if end if //release target datastore if isValid(lds_target) then lds_target.of_reset() destroy(lds_target) lds_target = create n_ds_dm_emissions lds_target.of_setDataType("", "d_dm_emissions_out") //lds_target.of_reset() end if //DEVICE ROLLUP //debug //lds_primary.saveAs("c:\lds_primary_inidev.txt", text!, true) ls_rollupRidColumn = "device_rid" //reset the rollupDAT* datastore lds_primary.of_resetRollup() //set the sort keys for the current rollup lds_primary.of_resetBlockSortKeys() lds_primary.of_addBlockSortKey("reference_code a") lds_primary.of_addBlockSortKey("start_date_time a") lds_primary.of_addBlockSortKey(ls_rollupRidColumn + " a") lds_primary.of_addBlockSortKey("material_code a") //run block processing using the curent keys to sum the emissions for the block ll_rc = lds_primary.of_scanBlocks("SUM_ROLLUP_AMT", 0) if ll_rc < 0 then mesDAT*sageBox("Error", "Device rollup failed.", exclamation!) destroy lds_primary destroy lds_target return -1 end if ////debug //lds_primary.saveAs("c:\lds_primary_sumrollup.txt", text!, true) //lds_primary.ids_rollup.saveAs("c:\ids_rollup_sumrollup.txt", text!, true) // //copy data from primary rollup datastore to target datastore ll_rc = this.of_dsCopyMap(lds_primary.ids_rollup, lds_target, ls_exclude, {ls_rollupRidColumn}, {"rollup_ref_rid"}) if ll_rc = -2 then destroy lds_primary DAT* destroy lds_target return 0 //cancel return code for the driver function end if //set the rollup level information in the target datastore ll_rc = lds_target.of_scan("POST_COPY_ROLLUP_" + upper(ls_rollupRidColumn)) if ll_rc < 0 then destroy lds_primary destroy lds_target return ll_rc end if //save the target datastore if lds_target.rowCount() > 0 then st_status.text = ls_status + " [+" + string(lds_target.rowCount()) + "]" //update target datastore // //*** debugDAT* // lds_primary.saveAs("c:\lds_primary.txt", text!, true) // lds_primary.ids_rollup.saveAs("c:\ids_rollup.txt", text!, true) // lds_target.saveAs("c:\lds_target.txt", text!, true) ll_rc = lds_target.of_blockUpdate() if ll_rc < 0 then lds_target.is_sourceDataObject = lds_primary.dataObject messageBox("Error", "Data update failed.", exclamation!) destroy lds_primary destroy lds_target return -1 end if end if //release target datastore if isValid(lds_target) then DAT*lds_target.of_reset() destroy(lds_target) lds_target = create n_ds_dm_emissions lds_target.of_setDataType("", "d_dm_emissions_out") // lds_target.of_reset() end if //shift the data from the primary rollup datastore to the primary datastore ll_rc = lds_primary.of_reset() ll_rowCount = lds_primary.ids_rollup.rowCount() if ll_rowCount > 0 then ll_rc = lds_primary.ids_rollup.rowsMove(1, ll_rowCount, primary!, lds_primary, 1, primary!) end if ll_rowCount = lds_primary.rowCount() DAT* //SOURCE ROLLUP ls_rollupRidColumn = "source_rid" //reset the rollup datastore lds_primary.of_resetRollup() //set the sort keys for the current rollup lds_primary.of_resetBlockSortKeys() lds_primary.of_addBlockSortKey("reference_code a") lds_primary.of_addBlockSortKey("start_date_time a") lds_primary.of_addBlockSortKey(ls_rollupRidColumn + " a") lds_primary.of_addBlockSortKey("material_code a") //run block processing using the curent keys to sum the emissions for the block DAT*ll_rc = lds_primary.of_scanBlocks("SUM_ROLLUP_AMT", 0) if ll_rc < 0 then messageBox("Error", "Source rollup failed.", exclamation!) destroy lds_primary destroy lds_target return -1 end if //copy data from primary rollup datastore to target datastore ll_rc = this.of_dsCopyMap(lds_primary.ids_rollup, lds_target, ls_exclude, {ls_rollupRidColumn}, {"rollup_ref_rid"}) if ll_rc = -2 then destroy lds_primary destroy lds_target return 0 //cancel return code for the driver function enDAT*d if //set the rollup level information in the target datastore ll_rc = lds_target.of_scan("POST_COPY_ROLLUP_" + upper(ls_rollupRidColumn)) if ll_rc < 0 then destroy lds_primary destroy lds_target return ll_rc end if //save the target datastore if lds_target.rowCount() > 0 then st_status.text = ls_status + " [+" + string(lds_target.rowCount()) + "]" //update target datastore // //*** debug // lds_primary.saveAs("c:\lds_primary.txt", text!, true) // lds_primary.ids_rDAT*ollup.saveAs("c:\ids_rollup.txt", text!, true) // lds_target.saveAs("c:\lds_target.txt", text!, true) ll_rc = lds_target.of_blockUpdate() if ll_rc < 0 then lds_target.is_sourceDataObject = lds_primary.dataObject messageBox("Error", "Data update failed.", exclamation!) destroy lds_primary destroy lds_target return -1 end if end if //release target datastore //if isValid(lds_target) then // destroy(lds_target) // lds_target = create n_ds_dm_emissions // lds_targeDAT* t.of_setDataType("", "d_dm_emissions_out") // //lds_target.of_reset() //end if ////rollup primary datastore by source rid //ll_rc = lds_primary.of_rollupByRid("source_rid") //if ll_rc < 0 then // destroy lds_primary // destroy lds_target // return ll_rc //end if // ////copy data from primary datastore to target datastore //ll_rc = this.of_dsCopy(lds_primary, lds_target, ls_exclude) //if ll_rc = -2 then // destroy lds_primary // destroy lds_target // return 0 //cancel return code DAT*"for the driver function //end if // ////set the rollup level information in the target datastore //ll_rc = lds_target.of_scan("POST_COPY_ROLLUP_SOURCE_RID") //if ll_rc < 0 then // destroy lds_primary // destroy lds_target // return ll_rc //end if // ////save the target datastore //if lds_target.rowCount() > 0 then // // st_status.text = ls_status + " [+" + string(lds_target.rowCount()) + "]" // // //update target datastore // ll_rc = lds_target.update() // if ll_rc < 0 then //DAT*$ ROLLBACK USING SQLCA; // messageBox("Error", "Data update failed.", exclamation!) // destroy lds_primary // destroy lds_target // return -1 // end if // // COMMIT USING SQLCA; // if f_sqlCheck(SQLCA) < 0 then // ROLLBACK USING SQLCA; // messageBox("Error", "Database commit failed.", exclamation!) // destroy lds_primary // destroy lds_target // return -1 // end if // //end if // ////release target datastore //if isValid(lds_target) then // lds_target.of_reset() //eDAT*&nd if if isValid(lds_primary) then setnull(lds_primary) destroy lds_primary garbagecollect() end if if isValid(lds_target) then setnull(lds_target) destroy lds_target garbagecollect() end if commit; garbagecollect() st_status.text = ls_status return ll_rc end function on u_data_mart_population_interface_old.create this.dw_data_mart_date=create dw_data_mart_date this.cb_1=create cb_1 this.st_status=create st_status this.dw_error=create dw_error this.gb_1=cDAT*(reate gb_1 this.Control[]={this.dw_data_mart_date,& this.cb_1,& this.st_status,& this.dw_error,& this.gb_1} end on on u_data_mart_population_interface_old.destroy destroy(this.dw_data_mart_date) destroy(this.cb_1) destroy(this.st_status) destroy(this.dw_error) destroy(this.gb_1) end on event constructor; ids_sources = create n_ds_cache_base ids_sources.of_setBasePathName("","") ids_sources.of_setDataType("","d_dm_sources") inv_units = create n_ds_cache_units //ids_primarDAT**y = create n_ds_dm_emissions //ids_target = create n_ds_dm_emissions end event event destructor; if isValid(ids_sources) then destroy ids_sources end if if isValid(inv_units) then destroy inv_units end if if isValid(ids_primary) then destroy ids_primary end if if isValid(ids_target) then destroy ids_target end if end event type dw_data_mart_date from datawindow within u_data_mart_population_interface_old integer x = 55 integer y = 80 integer width = 914 iDAT*,nteger height = 208 integer taborder = 20 string dataobject = "d_dm_population_date" boolean border = false boolean livescroll = true end type type cb_1 from commandbutton within u_data_mart_population_interface_old integer x = 978 integer y = 80 integer width = 1307 integer height = 96 integer taborder = 10 integer textsize = -8 integer weight = 700 fontcharset fontcharset = ansi! fontpitch fontpitch = variable! fontfamily fontfamily = swiss! string facename = "MS Sans Serif" DAT*.string text = "Refresh Data Mart" end type event clicked;long ll_rc if this.text = "Cancel" then ib_run = false this.enabled = false this.text = "Cancelling..." else ll_rc = messageBox("Data Mart Refresh", "Confirm Data Mart Refresh: click OK to continue.~r~n~r~n" +& "WARNING: the Data Mart refresh process will clear all data from the Data Mart, refresh all core data and re-calculate all rollups. This process can be time consuming.", & question!, okCancel!) if ll_rcDAT*0 = 2 then return end if this.text = "Cancel" parent.of_main() end if end event type st_status from statictext within u_data_mart_population_interface_old integer x = 978 integer y = 192 integer width = 1307 integer height = 80 integer textsize = -10 integer weight = 400 fontcharset fontcharset = ansi! fontpitch fontpitch = variable! fontfamily fontfamily = swiss! string facename = "Arial" long textcolor = 33554432 long backcolor = 67108864 boolean enabled = false DAT*2boolean border = true borderstyle borderstyle = stylelowered! boolean focusrectangle = false end type type dw_error from datawindow within u_data_mart_population_interface_old boolean visible = false integer x = 55 integer y = 224 integer width = 73 integer height = 64 integer taborder = 30 boolean livescroll = true borderstyle borderstyle = stylelowered! end type type gb_1 from groupbox within u_data_mart_population_interface_old integer x = 18 integer y = 16 integer width = DAT*A2322 integer height = 304 integer taborder = 10 integer textsize = -8 integer weight = 700 fontcharset fontcharset = ansi! fontpitch fontpitch = variable! fontfamily fontfamily = swiss! string facename = "MS Sans Serif" long textcolor = 8388608 long backcolor = 80269524 string text = "Data Mart" end type DAT*6archar,name="RAP_ACTIVITIES.method_type",dbtype="VARCHAR2(2)",nulls_allowed=yes) COLUMN(type=varchar,name="RAP_ACTIVITIES.reference_code",dbtype="VARCHAR2(12)",nulls_allowed=yes) COLUMN(type=varchar,name="RAP_ACTIVITIES.reference_type",dbtype="VARCHAR2(6)",nulls_allowed=yes) COLUMN(type=decimal,name="RAP_ACTIVITIES.value_amt",dbtype="NUMBER(23,11)",nulls_allowed=yes) COLUMN(type=varchar,name="RAP_ACTIVITIES.value_type",dbtype="VARCHAR2(3)",nulls_allowed=yes) COLUMN(type=varchar,name="RAPDAT*D_ACTIVITIES.value_unit_code",dbtype="VARCHAR2(8)",nulls_allowed=yes) COLUMN(type=decimal,name="RAP_PROCESSES.rid",dbtype="NUMBER(38,0)",nulls_allowed=no) COLUMN(type=decimal,name="RAP_DEVICES.rid",dbtype="NUMBER(38,0)",nulls_allowed=no) COLUMN(type=decimal,name="RAP_SOURCES.rid",dbtype="NUMBER(38,0)",nulls_allowed=no,initial_value="null") COLUMN(type=varchar,name="RAP_PROCESSES.scc_ams_code",dbtype="VARCHAR2(10)",nulls_allowed=yes) COLUMN(type=varchar,name="RAP_SOURCES.sic_code",dbtype="NOD* 8]ENT*0600vPA w_report.winENT*0600YDy@ w_report.srwDAT*FVARCHAR2(4)",nulls_allowed=yes) COLUMN(type=decimal,name="RAP_ACTIVITIES.rid",dbtype="NUMBER(38,0)",key=yes,nulls_allowed=no)) RETRIEVE(statement="SELECT rap_activities.metric_code, rap_activities.metric_level_type, rap_activities.ref_rid, rap_activities.start_date_time, rap_activities.confidential_flag, rap_activities.data_code, rap_activities.end_date_time, rap_activities.material_code, rDAT*Hap_activities.method_type, rap_activities.reference_code, rap_activities.reference_type, rap_activities.value_amt, rap_activities.value_type, rap_activities.value_unit_code, rap_processes.rid, rap_devices.rid, rap_sources.rid, rap_processes.scc_ams_code, rap_sources.sic_code, rap_activities.rid FROM rap_activities, rap_streams, rap_proceDAT*Jsses, rap_devices, rap_sources WHERE ( rap_activities.ref_rid = rap_streams.rid ) and ( rap_processes.rid = rap_streams.from_process_rid ) and ( rap_devices.rid = rap_processes.device_rid ) and ( rap_devices.source_rid = rap_sources.rid ) and ( rap_activities.metric_code = 'DOWNSTRMDIS' )") DESTINATION(name="rap_dm_tmp_emissions",COLUMN(type=varchar,name="metric_code",dbtype="VARCHAR2(12)",nulls_allowed=no,initial_valDAT*Lue="spaces") COLUMN(type=varchar,name="metric_level_type",dbtype="VARCHAR2(3)",nulls_allowed=no,initial_value="spaces") COLUMN(type=decimal,name="ref_rid",dbtype="NUMBER(38,0)",nulls_allowed=no,initial_value="0") COLUMN(type=datetime,name="start_date_time",dbtype="DATE",nulls_allowed=no,initial_value="today") COLUMN(type=varchar,name="confidential_flag",dbtype="VARCHAR2(1)",nulls_allowed=no,initial_value="spaces") COLUMN(type=varchar,name="data_code",dbtype="VARCHAR2(4)",nulls_allowed=noDAT*N,initial_value="spaces") COLUMN(type=datetime,name="end_date_time",dbtype="DATE",nulls_allowed=no,initial_value="today") COLUMN(type=varchar,name="material_code",dbtype="VARCHAR2(12)",nulls_allowed=no,initial_value="spaces") COLUMN(type=varchar,name="method_type",dbtype="VARCHAR2(2)",nulls_allowed=no,initial_value="spaces") COLUMN(type=varchar,name="reference_code",dbtype="VARCHAR2(12)",nulls_allowed=no,initial_value="spaces") COLUMN(type=varchar,name="reference_type",dbtype="VARCHAR2(6)DAT*P",nulls_allowed=no,initial_value="spaces") COLUMN(type=decimal,name="value_amt",dbtype="NUMBER(23,11)",nulls_allowed=no,initial_value="0") COLUMN(type=varchar,name="value_type",dbtype="VARCHAR2(3)",nulls_allowed=no,initial_value="spaces") COLUMN(type=varchar,name="value_unit_code",dbtype="VARCHAR2(8)",nulls_allowed=no,initial_value="spaces") COLUMN(type=decimal,name="process_rid",dbtype="NUMBER(38,0)",nulls_allowed=no,initial_value="0") COLUMN(type=decimal,name="device_rid",dbtype="NUMBEDAT*R(38,0)",nulls_allowed=no,initial_value="0") COLUMN(type=decimal,name="source_rid",dbtype="NUMBER(38,0)",nulls_allowed=no,initial_value="null") COLUMN(type=varchar,name="scc_ams_code",dbtype="VARCHAR2(10)",nulls_allowed=no,initial_value="spaces") COLUMN(type=varchar,name="sic_code",dbtype="VARCHAR2(4)",nulls_allowed=yes) COLUMN(type=decimal,name="activity_rid",dbtype="NUMBER(38,0)",key=yes,nulls_allowed=no,initial_value="0")) DAT*Tt="-10" font.weight="400" font.family="2" font.pitch="2" font.charset="0" background.mode="1" background.color="536870912" ) column(band=detail id=15 alignment="0" tabsequence=32766 border="0" color="0" x="2007" y="20" height="64" width="549" format="[general]" html.valueishtml="0" name=unit_code_1 visible="1" edit.limit=8 edit.case=any edit.autoselect=yes edit.autohscroll=yes edit.imemode=0 font.face="Arial" font.height="-10" font.weight="400" font.family="2" font.pitch="2" font.charset="0" DAT*Vbackground.mode="1" background.color="536870912" ) column(band=detail id=24 alignment="0" tabsequence=32766 border="0" color="0" x="2610" y="20" height="64" width="457" format="[general]" html.valueishtml="0" name=confidential_flag visible="1" edit.limit=1 edit.case=any edit.autoselect=yes edit.autohscroll=yes edit.imemode=0 font.face="Arial" font.height="-10" font.weight="400" font.family="2" font.pitch="2" font.charset="0" background.mode="1" background.color="536870912" ) htmltable(border=DAT*"1" ) htmlgen(clientevents="1" clientvalidation="1" clientcomputedfields="1" clientformatting="0" clientscriptable="0" generatejavascript="1" netscapelayers="0" ) DAT*Z H h         < D l          L h p       X d |               ( 0 8 0O502  +selectionchanged$2  xywidthheighttDAT*\aborderbringtotoptextsizeweightfontpitchfontfamilyfacenamesortedvscrollbaritemdi borderstylet,%  I"-6=5G6R8[ b tm 1] o% I DAT* E@4568 @@ @  p1: 05DAT* if lb_map then ls_columnName = as_mapTo[ll_map] end if if not lb_map then //check to see if we are skipping this column lb_exclude = false for ll_exc = 1 to ll_excCount if ls_columnName = lower(trim(as_exclude[ll_exc])) then lb_exclude = true exit end if next if lb_exclude then continue end if end if //copy data element from primary datastore to target datastore //***this requires that both datastores use the same coluDAT*bnd if return 1 //go on to next row in scan // ************************************************************************* case "POST_COPY_ROLLUP_PROCESS_RID" // ************************************************************************* this.object.rollup_level[al_row] = "PRO" this.object.summary_category[al_row] = "TOTAL" this.object.summary_category_code[al_row] = "TOTAL" return 1 //go on to next row in scan // **********************************DAT*d*************************************** case "POST_COPY_ROLLUP_DEVICE_RID" // ************************************************************************* this.object.rollup_level[al_row] = "DEV" this.object.summary_category[al_row] = "TOTAL" this.object.summary_category_code[al_row] = "TOTAL" return 1 //go on to next row in scan // ************************************************************************* case "POST_COPY_ROLLUP_SOURCE_RID" // *************DAT*f************************************************************ this.object.rollup_level[al_row] = "SRC" this.object.summary_category[al_row] = "TOTAL" this.object.summary_category_code[al_row] = "TOTAL" return 1 //go on to next row in scan // ************************************************************************* case "POST_COPY_ROLLUP_COUNTY_RID" // ************************************************************************* this.object.rollup_level[al_roDAT*hw] = "COUNTY" this.object.summary_category[al_row] = "TOTAL" this.object.summary_category_code[al_row] = "TOTAL" return 1 //go on to next row in scan // ************************************************************************* case "POST_COPY_ROLLUP_STATE_RID" // ************************************************************************* this.object.rollup_level[al_row] = "STATE" this.object.summary_category[al_row] = "TOTAL" this.object.summDAT*jary_category_code[al_row] = "TOTAL" return 1 //go on to next row in scan // ************************************************************************* case "POST_COPY_ROLLUP_SCC_SOURCE_RID" // ************************************************************************* this.object.rollup_level[al_row] = "SRC" this.object.summary_category[al_row] = "SCC" return 1 //go on to next row in scan // ***************************************************************DAT*l********** case "POST_COPY_ROLLUP_SCC_COUNTY_RID" // ************************************************************************* this.object.rollup_level[al_row] = "COUNTY" this.object.summary_category[al_row] = "SCC" return 1 //go on to next row in scan // ************************************************************************* case "POST_COPY_ROLLUP_SIC_COUNTY_RID" // ************************************************************************* this.objeDAT*nct.rollup_level[al_row] = "COUNTY" this.object.summary_category[al_row] = "SIC" return 1 //go on to next row in scan // ************************************************************************* case "POST_COPY_ROLLUP_SCC_STATE_RID" // ************************************************************************* this.object.rollup_level[al_row] = "STATE" this.object.summary_category[al_row] = "SCC" return 1 //go on to next row in scan // *DAT*p************************************************************************ case "POST_COPY_ROLLUP_SIC_STATE_RID" // ************************************************************************* this.object.rollup_level[al_row] = "STATE" this.object.summary_category[al_row] = "SIC" return 1 //go on to next row in scan // ************************************************************************* case else // ******************************************************DAT*r******************* //default action or error signalError(-1, "Unknow action '" + as_action + "' for ue_scanRow().") return -1 end choose return 0 end event event ue_scanblock;call super::ue_scanblock;//Return NULL to stop the scanning process normally //(of_scanBlock() will return the row stopped on) //Return Negative Value to stop the scanning process with error status //(of_scanBlock() will return the Negative Value) //force argument to upper case as_action = upDAT*tper(trim(as_action)) choose case as_action // ************************************************************************* case "SUM_ROLLUP_AMT" // ************************************************************************* long ll_rc long ll_row, ll_newRow double ld_rollupAmt double ld_rollupTotal //sum the rollup_amt for the block for ll_row = al_startRow to al_endRow ld_rollupAmt = this.object.rollup_amt[ll_row] if isNull(ld_rollupAmt) then ld_rollDAT*vupAmt = 0 end if ld_rollupTotal += ld_rollupAmt next if ld_rollupTotal > 0 then ll_newRow = ids_rollup.rowCount() + 1 //add a new row to the rollup datastore based on a copy of the block start row ll_rc = this.rowsCopy(al_startRow, al_startRow, primary!, ids_rollup, ll_newRow, primary!) if ll_rc < 0 then messageBox("Error", "Copy of row to rollup buffer failed.", exclamation!) return -1 end if //write the block total into the rolluDAT*xp datastore ids_rollup.object.rollup_amt[ll_newRow] = ld_rollupTotal end if return 0 // ************************************************************************* case "SUM_ROLLUP_AMT_SOURCE_SCC" // ************************************************************************* // ************************************************************************* case "SUM_ROLLUP_AMT_DEVICE_TOTAL" // ************************************************************************* DAT*z // ************************************************************************* case "SUM_ROLLUP_AMT_SOURCE_TOTAL" // ************************************************************************* // ************************************************************************* case else // ************************************************************************* //default action or error signalError(-1, "Unknow action '" + as_action + "' for ue_scanBlock().") return -1 DAT*| end choose return 0 end event event destructor;call super::destructor; //if isValid(inv_units) then // destroy inv_units //end if //if isValid(ids_rollup) then // destroy ids_rollup //end if end event event dberror;call super::dberror; string ls_buffer string ls_message string ls_crlf = "~r~n" choose case buffer case primary! ls_buffer = "Primary" case filter! ls_buffer = "Filter" case delete! ls_buffer = "Delete" case else ls_buffer = "Unknown" DAT*~ end choose ls_message += "Source Data Object: " + is_sourceDataObject + ls_crlf ls_message += "Target Data Object: " + this.dataObject + ls_crlf + ls_crlf ls_message += "Row: " + string(row) + ls_crlf ls_message += "Buffer: " + ls_buffer + ls_crlf ls_message += "SQL DB Code: " + string(sqldbcode) + ls_crlf ls_message += "SQL Error Text: " + sqlerrtext + ls_crlf //ls_message += "SQL Syntax: " + sqlsyntax + ls_crlf messageBox("DBDAT*R Error: Emissions Transfer", ls_message, exclamation!) return 1 end event DAT*mn name*** la_data = ads_primary.object.data[ll_row, ll_col] ll_rc = ads_target.setitem(ll_targetrow, ls_columnName, la_data) //ll_rc = ads_target.setitem(ll_row, ls_columnName, ads_primary.object.data[ll_row, ll_col]) if ll_rc < 0 then messageBox("Error", "Failed writing data value to column: " + ls_columnName, exclamation!) return -1 end if next //column if mod(ll_row, ii_updateblocksize) = 0 then ll_targetrow = 0 ll_rc = ads_target.of_scan(as_scannameDAT*) if ads_target.update() < 0 then messageBox("Error", "Data update failed.", exclamation!) return -1 else commit; if f_sqlCheck(SQLCA) < 0 then ROLLBACK USING SQLCA; messageBox("Error", "Database commit failed.", exclamation!) return -1 end if end if ads_target.reset() end if next //row st_status.text = ls_status return 1 end function on u_data_mart_population_interface.create this.dw_data_mart_date=create dw_data_mart_date this.cbDAT*_1=create cb_1 this.st_status=create st_status this.dw_error=create dw_error this.gb_1=create gb_1 this.Control[]={this.dw_data_mart_date,& this.cb_1,& this.st_status,& this.dw_error,& this.gb_1} end on on u_data_mart_population_interface.destroy destroy(this.dw_data_mart_date) destroy(this.cb_1) destroy(this.st_status) destroy(this.dw_error) destroy(this.gb_1) end on event constructor; ids_sources = create n_ds_cache_base ids_sources.of_setBasePathName("","") ids_sources.oDAT*f_setDataType("","d_dm_sources") inv_units = create n_ds_cache_units ids_primary = create n_ds_dm_emissions ids_target = create n_ds_dm_emissions end event event destructor; if isValid(ids_sources) then destroy ids_sources end if if isValid(inv_units) then destroy inv_units end if if isValid(ids_primary) then destroy ids_primary end if if isValid(ids_target) then destroy ids_target end if end event type dw_data_mart_date from datawindow within u_data_maDAT*rt_population_interface integer x = 55 integer y = 80 integer width = 914 integer height = 208 integer taborder = 20 string dataobject = "d_dm_population_date" boolean border = false boolean livescroll = true end type type cb_1 from commandbutton within u_data_mart_population_interface integer x = 978 integer y = 80 integer width = 1307 integer height = 96 integer taborder = 10 integer textsize = -8 integer weight = 700 fontcharset fontcharset = ansi! fontpitch fontpitch = varDAT*iable! fontfamily fontfamily = swiss! string facename = "MS Sans Serif" string text = "Refresh Data Mart" end type event clicked;long ll_rc if this.text = "Cancel" then ib_run = false this.enabled = false this.text = "Cancelling..." else ll_rc = messageBox("Data Mart Refresh", "Confirm Data Mart Refresh: click OK to continue.~r~n~r~n" +& "WARNING: the Data Mart refresh process will clear all data from the Data Mart, refresh all core data and re-calculate all rollups. TDAT*his process can be time consuming.", & question!, okCancel!) if ll_rc = 2 then return end if this.text = "Cancel" parent.of_main() end if end event type st_status from statictext within u_data_mart_population_interface integer x = 978 integer y = 192 integer width = 1307 integer height = 80 integer textsize = -10 integer weight = 400 fontcharset fontcharset = ansi! fontpitch fontpitch = variable! fontfamily fontfamily = swiss! string facename = "Arial" long texDAT*tcolor = 33554432 long backcolor = 67108864 boolean enabled = false boolean border = true borderstyle borderstyle = stylelowered! boolean focusrectangle = false end type type dw_error from datawindow within u_data_mart_population_interface boolean visible = false integer x = 55 integer y = 224 integer width = 73 integer height = 64 integer taborder = 30 boolean livescroll = true borderstyle borderstyle = stylelowered! end type type gb_1 from groupbox within u_data_mart_populatDAT*ion_interface integer x = 18 integer y = 16 integer width = 2322 integer height = 304 integer taborder = 10 integer textsize = -8 integer weight = 700 fontcharset fontcharset = ansi! fontpitch fontpitch = variable! fontfamily fontfamily = swiss! string facename = "MS Sans Serif" long textcolor = 8388608 long backcolor = 80269524 string text = "Data Mart" end type DAT*4568 F78@98d  destroy:2  +destroy2 " visiblextaborderborderP ] eDAT*`  @@X1    @   ; < = > ? @ A33B8d  destroyC2  +destroy2 $DAT* visiblexytaborderborderd%2] %W2 @@1    @   D E F G H I JDAT*J@8,+01>,+$d ::message+@R  "L"2  +clicked2 U xywidthheighttabordertextsizeweightfontpitchfontfamilyfacenametextn  ` %`P"@+2DAT*5<6G8P] on `%`P @4568 @+ "U:F@@8$)481<P$9!8X08s0:)@@81DAT*|$$|$$8 J8X08 0:)@@81,$)@8#H$9!8P08`0:)@@81$)89$9!*8080:)@@81$9z$8$0)P89z1h$8p$8DAT*"$8"6$$$18 J(80$8$@$18XJh811"8p08v0:)@@81#!#$$$)81"68080:)@@81($8@$6H$\t$$$6DAT*@8@8$$$$6@8@8$$11)8$$$11),84$D,.68L08_08d0@8p$x$8d$80,.68L08_0$$6@8DAT*$,.68L0808d0@8$$8dx$80,.68L080$$6@8$ $|$,4$|<$T\$d$l$$} $8p 8 " $$80DAT*$$8 0,$4$L8T0`$h$808 8 "8 "H $$$18 J8$$ $18XJ$811"8 8p08v0:)@@81#!#R  808,0:)@@81DAT*p$x$80$$80$$8 0$ $, $4 8 08<  8N  "8]  " l $t $| $18 J 8 $ $ $18XJ 8 $ $ $1 $ $ $J 81DAT*1"1" 8p08v0:)@@81!!#( 808 0:)@@818 $@ $H 8 0P $X $` 80h $p $x 80 $ $ 8 0 $ $ 8 0 $ $ 8T0 $ $ 80DAT* $ $ 8 00 $*@8,+1,+ $  F n>J~ !"%*&@-z012V3t4689*?6@`AB$ChDFH$IHLNP Q.SxTUVe"g:h`ijkl mT n o p q, s8 tN uR v x y z { |D } ~  l  ( V @nd DAT* li_num_emittantsls_temp_emittants ll_sourceridll_sourcesub1ridll_countyridls_tempcountyls_tempstatels_tempnationls_tempsourcegs_inifilecase101w_report_body::message,,-8EVc q ~  .@ 0@T+@R H uo_pollutant/:DAT*uf_get_emittants2 ib_enable_objects<ERequired Parameter MissingPlease select emittants.is_emittantsleaAia_emmittantblockseB/:ia_emittantblocksty*ddlb_reportname3OtextPlease select a report.uo_ss%+of_hasdatar34<ESource SelectorPlease select information from Source Selector.dw_reference_codes,-uf_get_reference_codes<EReference CodePlease select a Reference Code.r<Edw_unit_mDAT*ease -0Unit of Measure Missinguf_check_requiredna<is_reportnameXDd_device_connectionsXDd_device_connections_oraXDd_source_detail%+iclass_group,$ids_resultsetss %+,$source_ridgetitemnumber_so%+,$ %+,$source_sub1_ridErrorcb_preview::clicked(); error in call to getItemNumber().%+,$ rowcountMReport InputSelect only ONE source for this reDAT*port to run.istr_rpt_parmsCPrptname0XDCPfromdatePuo_emis_periodd0Cem_start|$CPtodated0Cem_end#CPrefcode,-getitemstringCPunitcode -0CPas_null<data code prioritynullnot foundCP<CP<99CP<CPas_roROCPCP00CPCPmatcoDAT*deACPmatcode_blocks BCPsource_group1D %+,$CProllup_reportt ib_rollup_reportFXD%+,$is_sourceridnamev_rap_ss_sic.source_rid%+,$is_countyridnamecounty_rid%+,$is_stateridname<state_rid%+,$is_nationridnamepnation_ridr_dm_county_totalsr_dm_county_sicr_dm_county_scc8%+,$ %+,$DAT*%+,$ %+,$Select only Nation, State or County level for this report to run.%+,$rap_dm_geographic_locations_a.rid%+,$<rap_dm_geographic_locations_b.rid%+,$prap_dm_geographic_locations_c.rid%+,$r_dm_state_totalsr_dm_state_sicr_dm_state_scc%+,$ %+,$%+,$ %+,$%+,$ %+DAT*,$Select only Nation, State for this report to run.%+,$%+,$<%+,$p%+,$%+,$%+,$<%+,$p%+,$CP 4 P       , @ H      P h        ( 0DAT* 8 @ H P h     ( 8 @ H \ t              $ , 4 D p x                  , 4 < T \ d l      DAT*    , 4 L ` h              $ p x        $ , 4 l t |                 8 @ H P X ` h p x  DAT*                "M"2  +clicked2 U xywidthheighttabordertextsizeweightfontpitchfontfamilyfacenametextn   %`F"+25<6G8PDAT*] on %`F @4568 @+ "T0$)@8H$68Pl8t09}9}8809}9DAT*}8T8 0<9}D9}8L`8h0x9}9}8809}9}8b809}9}8$8,0@9}H9}8Ph8p0DAT*9}9}8,18\80v809}9}8 8(0<9}D9}8LVl8t09}9}8809}9}8 80DAT*9} 9}8(dL8T0h9}p9}8x809}9}8809}9}808 088@z%X$z&8`z&:)@@81d$|$9}$9DAT*}$9}$9}$9}$9}$ 9}($09},+1,+8$.F Z t (<Ph6 J!^"v#$%&'()**+>,X-\/v01234678*9>;R<j=>@ABCEFG8HLJ`KxLMODAT*PQRTV,W0Y~]^_`abcd4eRfpjd+ indexcase6gs_database::messageP 1@!+@R@@ is_reportnameDddlb_reportname 3OtextE8DCounty Emissions BreakdownDd_county_breakdownib_rollup_reportFib_enable_objectsriEEmissions by CountyDd_county_rollupFEEmissions by County (Warehouse)DAT*Dd_county_rollup_warehouseFEEmissions by SourceDd_source_rollupFEEmissions by DeviceDd_device_rollupFEEmissions by ProcessDd_process_rollupFESource Emissions SummaryoveDd_source_summaryFESource Detail ReportrstDd_source_detailFESource Device ConnectionsORACLE+roDd_device_connections_oraetrDd_device_connectionschaFESourceDAT* Stream TracingDd_stream_tracingFEData Mart: State Totals RollupDr_dm_state_totalsFEData Mart: State SCC RollupDr_dm_state_sccFEData Mart: State SIC RollupDr_dm_state_sicFEData Mart: County Totals RollupdDr_dm_county_totalsFEData Mart: County SCC RollupDr_dm_county_sccFEData Mart: County SIC RollupDr_dm_county_sicFDAT*EErrorw_report::ddlb_reportName::selectionChanged(); invalid report name 'D'Euo_emis_periodl0Cvisibledw_reference_codes,-dw_unit_measp-0uo_pollutant/:l0C,--0/: 0 @ H l       < D ` x        $ @DAT* H h         < D l          L h p       X d |               ( 0 8 0O502  +selectionchanged2  xywidthheighttDAT*aborderbringtotoptextsizeweightfontpitchfontfamilyfacenamesortedvscrollbaritem borderstylet,%  I"-6=5G6R8[ b tm 1] o% I DAT* E@4568 @@ @  p1: 05