I wrote a python script that creates a point feature class using the data from all of the related table information. The general work flow is creating a pole feature class and then updating the fields from any table that is related to each pole. For example if a transformer and light are attached to the pole in the field then the related table data for that pole is updated. It takes about 7 hours to complete. Can anyone provide tips on how to optimize the code so it runs faster? I read a post on Richard Fairhurst's Blog about performance improvements when using Dictionaries. I will try that as well, but any pointers in the mean time will be appreciated.
<SPAN class="comment token">#todo fix 'eSupportStructure_YEARMANUFACTU'</SPAN>
<SPAN class="keyword token">import</SPAN> arcpy<SPAN class="punctuation token">,</SPAN>time
startTime <SPAN class="operator token">=</SPAN> time<SPAN class="punctuation token">.</SPAN>time<SPAN class="punctuation token">(</SPAN><SPAN class="punctuation token">)</SPAN>
<SPAN class="comment token"># Poles use shape@ to create point feature for damage assessment</SPAN>
PoleFldsOrig <SPAN class="operator token">=</SPAN> <SPAN class="punctuation token">[</SPAN><SPAN class="string token">'GLOBALID'</SPAN><SPAN class="punctuation token">,</SPAN><SPAN class="string token">'SUBTYPE'</SPAN><SPAN class="punctuation token">,</SPAN><SPAN class="string token">'OWNER'</SPAN><SPAN class="punctuation token">,</SPAN><SPAN class="string token">'FACILITYID'</SPAN><SPAN class="punctuation token">,</SPAN><SPAN class="string token">'POLESIZE'</SPAN><SPAN class="punctuation token">,</SPAN><SPAN class="string token">'MATERIAL'</SPAN><SPAN class="punctuation token">,</SPAN><SPAN class="string token">'COLOR'</SPAN><SPAN class="punctuation token">,</SPAN><SPAN class="string token">'TREATMENTTYPE'</SPAN><SPAN class="punctuation token">,</SPAN><SPAN class="string token">'YEARMANUFACTURED'</SPAN><SPAN class="punctuation token">,</SPAN><SPAN class="string token">'STUBDATE'</SPAN><SPAN class="punctuation token">,</SPAN><SPAN class="string token">'BILLINGGROUP'</SPAN><SPAN class="punctuation token">,</SPAN><SPAN class="string token">'FEEDERIDS'</SPAN><SPAN class="punctuation token">,</SPAN><SPAN class="string token">'INSTALL_NUM'</SPAN><SPAN class="punctuation token">,</SPAN><SPAN class="string token">'UNIT_TYPE'</SPAN><SPAN class="punctuation token">,</SPAN><SPAN class="string token">'STREETADDRESS'</SPAN><SPAN class="punctuation token">,</SPAN><SPAN class="string token">'BACKBONEINDICATOR'</SPAN><SPAN class="punctuation token">,</SPAN><SPAN class="string token">'SHAPE@'</SPAN><SPAN class="punctuation token">]</SPAN>
PoleFldsDest <SPAN class="operator token">=</SPAN> <SPAN class="punctuation token">[</SPAN><SPAN class="string token">'eSupportStructure_GLOBALID'</SPAN><SPAN class="punctuation token">,</SPAN><SPAN class="string token">'eSupportStructure_SUBTYPE'</SPAN><SPAN class="punctuation token">,</SPAN><SPAN class="string token">'eSupportStructure_OWNER'</SPAN><SPAN class="punctuation token">,</SPAN><SPAN class="string token">'eSupportStructure_FACILITYID'</SPAN><SPAN class="punctuation token">,</SPAN><SPAN class="string token">'eSupportStructure_POLESIZE'</SPAN><SPAN class="punctuation token">,</SPAN><SPAN class="string token">'eSupportStructure_MATERIAL'</SPAN><SPAN class="punctuation token">,</SPAN><SPAN class="string token">'eSupportStructure_COLOR'</SPAN><SPAN class="punctuation token">,</SPAN><SPAN class="string token">'eSupportStructure_TREATMENTTYPE'</SPAN><SPAN class="punctuation token">,</SPAN><SPAN class="string token">'eSupportStructure_YEARMANUFACTURED'</SPAN><SPAN class="punctuation token">,</SPAN><SPAN class="string token">'eSupportStructure_STUBDATE'</SPAN><SPAN class="punctuation token">,</SPAN><SPAN class="string token">'eSupportStructure_BILLINGGROUP'</SPAN><SPAN class="punctuation token">,</SPAN><SPAN class="string token">'eSupportStructure_FEEDERIDS'</SPAN><SPAN class="punctuation token">,</SPAN><SPAN class="string token">'eSupportStructure_INSTALLNUM'</SPAN><SPAN class="punctuation token">,</SPAN><SPAN class="string token">'eSupportStructure_UNITTYPE'</SPAN><SPAN class="punctuation token">,</SPAN><SPAN class="string token">'eSupportStructure_STREETADDRESS'</SPAN><SPAN class="punctuation token">,</SPAN><SPAN class="string token">'eSupportStructure_BACKBONE'</SPAN><SPAN class="punctuation token">,</SPAN><SPAN class="string token">'SHAPE@'</SPAN><SPAN class="punctuation token">]</SPAN>
<SPAN class="comment token"># feature classes that have 1:1 relationship with poles</SPAN>
CapBankFldsOrig <SPAN class="operator token">=</SPAN> <SPAN class="punctuation token">[</SPAN><SPAN class="string token">'eSupportStructure_GLOBALID'</SPAN><SPAN class="punctuation token">,</SPAN><SPAN class="string token">'DEVICEID'</SPAN><SPAN class="punctuation token">,</SPAN><SPAN class="string token">'SUBTYPE'</SPAN><SPAN class="punctuation token">,</SPAN><SPAN class="string token">'STRUCTUREID'</SPAN><SPAN class="punctuation token">,</SPAN><SPAN class="string token">'GLOBALID'</SPAN><SPAN class="punctuation token">]</SPAN>
CapBankFldsDest <SPAN class="operator token">=</SPAN> <SPAN class="punctuation token">[</SPAN><SPAN class="string token">'eSupportStructure_GLOBALID'</SPAN><SPAN class="punctuation token">,</SPAN><SPAN class="string token">'eCapacitorBank_DEVICEID'</SPAN><SPAN class="punctuation token">,</SPAN><SPAN class="string token">'eCapacitorBank_SUBTYPE'</SPAN><SPAN class="punctuation token">,</SPAN><SPAN class="string token">'eCapacitorBank_STRUCTUREID'</SPAN><SPAN class="punctuation token">,</SPAN><SPAN class="string token">'eCapacitorBank_GLOBALID'</SPAN><SPAN class="punctuation token">]</SPAN>
RecloserFldsOrig <SPAN class="operator token">=</SPAN> <SPAN class="punctuation token">[</SPAN><SPAN class="string token">'eSupportStructure_GLOBALID'</SPAN><SPAN class="punctuation token">,</SPAN><SPAN class="string token">'DEVICEID'</SPAN><SPAN class="punctuation token">,</SPAN><SPAN class="string token">'FEEDERID'</SPAN><SPAN class="punctuation token">,</SPAN><SPAN class="string token">'FEEDERID2'</SPAN><SPAN class="punctuation token">,</SPAN><SPAN class="string token">'PHASEDESIGNATION'</SPAN><SPAN class="punctuation token">,</SPAN><SPAN class="string token">'SUBTYPE'</SPAN><SPAN class="punctuation token">,</SPAN><SPAN class="string token">'AMPRATING'</SPAN><SPAN class="punctuation token">,</SPAN><SPAN class="string token">'BACKBONEPASSTHRU'</SPAN><SPAN class="punctuation token">,</SPAN><SPAN class="string token">'CUSTOMERCOUNT'</SPAN><SPAN class="punctuation token">,</SPAN><SPAN class="string token">'STRUCTUREID'</SPAN><SPAN class="punctuation token">,</SPAN><SPAN class="string token">'INTERRUPTINGTYPE'</SPAN><SPAN class="punctuation token">,</SPAN><SPAN class="string token">'INTERRUPTRATING'</SPAN><SPAN class="punctuation token">,</SPAN><SPAN class="string token">'CONTROLLERTYPE'</SPAN><SPAN class="punctuation token">,</SPAN><SPAN class="string token">'BACKBONEINDICATOR'</SPAN><SPAN class="punctuation token">,</SPAN><SPAN class="string token">'GLOBALID'</SPAN><SPAN class="punctuation token">]</SPAN>
RecloserFldsDest <SPAN class="operator token">=</SPAN> <SPAN class="punctuation token">[</SPAN><SPAN class="string token">'eSupportStructure_GLOBALID'</SPAN><SPAN class="punctuation token">,</SPAN><SPAN class="string token">'eRecloser_DEVICEID'</SPAN><SPAN class="punctuation token">,</SPAN><SPAN class="string token">'eRecloser_FEEDERID'</SPAN><SPAN class="punctuation token">,</SPAN><SPAN class="string token">'eRecloser_FEEDERID2'</SPAN><SPAN class="punctuation token">,</SPAN><SPAN class="string token">'eRecloser_PHASE'</SPAN><SPAN class="punctuation token">,</SPAN><SPAN class="string token">'eRecloser_SUBTYPE'</SPAN><SPAN class="punctuation token">,</SPAN><SPAN class="string token">'eRecloser_AMPRATING'</SPAN><SPAN class="punctuation token">,</SPAN><SPAN class="string token">'eRecloser_BACKBONEPASSTHRU'</SPAN><SPAN class="punctuation token">,</SPAN><SPAN class="string token">'eRecloser_CUSTOMERCOUNT'</SPAN><SPAN class="punctuation token">,</SPAN><SPAN class="string token">'eRecloser_STRUCTUREID'</SPAN><SPAN class="punctuation token">,</SPAN><SPAN class="string token">'eRecloser_INTERRUPTINGTYPE'</SPAN><SPAN class="punctuation token">,</SPAN><SPAN class="string token">'eRecloser_INTERRUPTRATING'</SPAN><SPAN class="punctuation token">,</SPAN><SPAN class="string token">'eRecloser_CONTROLLERTYPE'</SPAN><SPAN class="punctuation token">,</SPAN><SPAN class="string token">'eRecloser_BACKBONE'</SPAN><SPAN class="punctuation token">,</SPAN><SPAN class="string token">'eRecloser_GLOBALID'</SPAN><SPAN class="punctuation token">]</SPAN>
SectionalizerFldsOrig <SPAN class="operator token">=</SPAN> <SPAN class="punctuation token">[</SPAN><SPAN class="string token">'eSupportStructure_GLOBALID'</SPAN><SPAN class="punctuation token">,</SPAN><SPAN class="string token">'DEVICEID'</SPAN><SPAN class="punctuation token">,</SPAN><SPAN class="string token">'FEEDERID'</SPAN><SPAN class="punctuation token">,</SPAN><SPAN class="string token">'FEEDERID2'</SPAN><SPAN class="punctuation token">,</SPAN><SPAN class="string token">'BACKBONEPASSTHRU'</SPAN><SPAN class="punctuation token">,</SPAN><SPAN class="string token">'CUSTOMERCOUNT'</SPAN><SPAN class="punctuation token">,</SPAN><SPAN class="string token">'STRUCTUREID'</SPAN><SPAN class="punctuation token">,</SPAN><SPAN class="string token">'GLOBALID'</SPAN><SPAN class="punctuation token">]</SPAN>
SectionalizerFldsDest <SPAN class="operator token">=</SPAN> <SPAN class="punctuation token">[</SPAN><SPAN class="string token">'eSupportStructure_GLOBALID'</SPAN><SPAN class="punctuation token">,</SPAN><SPAN class="string token">'eSectionalizer_DEVICEID'</SPAN><SPAN class="punctuation token">,</SPAN><SPAN class="string token">'eSectionalizer_FEEDERID'</SPAN><SPAN class="punctuation token">,</SPAN><SPAN class="string token">'eSectionalizer_FEEDERID2'</SPAN><SPAN class="punctuation token">,</SPAN><SPAN class="string token">'eSectionalize_BACKBONEPASSTHRU'</SPAN><SPAN class="punctuation token">,</SPAN><SPAN class="string token">'eSectionalizer_CUSTOMERCOUNT'</SPAN><SPAN class="punctuation token">,</SPAN><SPAN class="string token">'eSectionalizer_STRUCTUREID'</SPAN><SPAN class="punctuation token">,</SPAN><SPAN class="string token">'eSectionalizer_GLOBALID'</SPAN><SPAN class="punctuation token">]</SPAN>
VoltRegBankFldsOrig <SPAN class="operator token">=</SPAN> <SPAN class="punctuation token">[</SPAN><SPAN class="string token">'eSupportStructure_GLOBALID'</SPAN><SPAN class="punctuation token">,</SPAN><SPAN class="string token">'DEVICEID'</SPAN><SPAN class="punctuation token">,</SPAN><SPAN class="string token">'FEEDERID'</SPAN><SPAN class="punctuation token">,</SPAN><SPAN class="string token">'STRUCTUREID'</SPAN><SPAN class="punctuation token">,</SPAN><SPAN class="string token">'GLOBALID'</SPAN><SPAN class="punctuation token">]</SPAN>
VoltRegBankFldsDest <SPAN class="operator token">=</SPAN> <SPAN class="punctuation token">[</SPAN><SPAN class="string token">'eSupportStructure_GLOBALID'</SPAN><SPAN class="punctuation token">,</SPAN><SPAN class="string token">'eVoltRegBank_DEVICEID'</SPAN><SPAN class="punctuation token">,</SPAN><SPAN class="string token">'eVoltRegBank_FEEDERID'</SPAN><SPAN class="punctuation token">,</SPAN><SPAN class="string token">'eVoltRegBank_STRUCTUREID'</SPAN><SPAN class="punctuation token">,</SPAN><SPAN class="string token">'eVoltRegBank_GLOBALID'</SPAN><SPAN class="punctuation token">]</SPAN>
<SPAN class="comment token"># the following five feature classes have 1:n relationship with poles</SPAN>
<SPAN class="comment token"># Fuse</SPAN>
FuseFldsOrig <SPAN class="operator token">=</SPAN> <SPAN class="punctuation token">[</SPAN><SPAN class="string token">'eSupportStructure_GLOBALID'</SPAN><SPAN class="punctuation token">,</SPAN><SPAN class="string token">'DEVICEID'</SPAN><SPAN class="punctuation token">,</SPAN><SPAN class="string token">'FeederID'</SPAN><SPAN class="punctuation token">,</SPAN><SPAN class="string token">'FeederID2'</SPAN><SPAN class="punctuation token">,</SPAN><SPAN class="string token">'PhaseDesignation'</SPAN><SPAN class="punctuation token">,</SPAN><SPAN class="string token">'SUBTYPE'</SPAN><SPAN class="punctuation token">,</SPAN><SPAN class="string token">'RATING_A'</SPAN><SPAN class="punctuation token">,</SPAN><SPAN class="string token">'RATING_B'</SPAN><SPAN class="punctuation token">,</SPAN><SPAN class="string token">'RATING_C'</SPAN><SPAN class="punctuation token">,</SPAN><SPAN class="string token">'LOADBREAK'</SPAN><SPAN class="punctuation token">,</SPAN><SPAN class="string token">'BACKBONEEND'</SPAN><SPAN class="punctuation token">,</SPAN><SPAN class="string token">'BACKBONEPASSTHRU'</SPAN><SPAN class="punctuation token">,</SPAN><SPAN class="string token">'CUSTOMERCOUNT'</SPAN><SPAN class="punctuation token">,</SPAN><SPAN class="string token">'STRUCTUREID'</SPAN><SPAN class="punctuation token">,</SPAN><SPAN class="string token">'GLOBALID'</SPAN><SPAN class="punctuation token">]</SPAN>
FuseFldsDest <SPAN class="operator token">=</SPAN> <SPAN class="punctuation token">[</SPAN><SPAN class="string token">'eSupportStructure_GLOBALID'</SPAN><SPAN class="punctuation token">,</SPAN><SPAN class="string token">'eFuse_DEVICEID'</SPAN><SPAN class="punctuation token">,</SPAN><SPAN class="string token">'eFuse_FeederID'</SPAN><SPAN class="punctuation token">,</SPAN><SPAN class="string token">'eFuse_FeederID2'</SPAN><SPAN class="punctuation token">,</SPAN><SPAN class="string token">'eFuse_Phase'</SPAN><SPAN class="punctuation token">,</SPAN><SPAN class="string token">'eFuse_SUBTYPE'</SPAN><SPAN class="punctuation token">,</SPAN><SPAN class="string token">'eFuse_RATING_A'</SPAN><SPAN class="punctuation token">,</SPAN><SPAN class="string token">'eFuse_RATING_B'</SPAN><SPAN class="punctuation token">,</SPAN><SPAN class="string token">'eFuse_RATING_C'</SPAN><SPAN class="punctuation token">,</SPAN><SPAN class="string token">'eFuse_LOADBREAK'</SPAN><SPAN class="punctuation token">,</SPAN><SPAN class="string token">'eFuse_BACKBONEEND'</SPAN><SPAN class="punctuation token">,</SPAN><SPAN class="string token">'eFuse_BACKBONEPASSTHRU'</SPAN><SPAN class="punctuation token">,</SPAN><SPAN class="string token">'eFuse_CUSTOMERCOUNT'</SPAN><SPAN class="punctuation token">,</SPAN><SPAN class="string token">'eFuse_STRUCTUREID'</SPAN><SPAN class="punctuation token">,</SPAN><SPAN class="string token">'eFuse_GLOBALID'</SPAN><SPAN class="punctuation token">]</SPAN>
FuseFldsDest2 <SPAN class="operator token">=</SPAN> <SPAN class="punctuation token">[</SPAN><SPAN class="string token">'eSupportStructure_GLOBALID'</SPAN><SPAN class="punctuation token">,</SPAN><SPAN class="string token">'eFuse_DEVICEID2'</SPAN><SPAN class="punctuation token">,</SPAN><SPAN class="string token">'eFuse_FeederID_2'</SPAN><SPAN class="punctuation token">,</SPAN><SPAN class="string token">'eFuse_FeederID22'</SPAN><SPAN class="punctuation token">,</SPAN><SPAN class="string token">'eFuse_Phase2'</SPAN><SPAN class="punctuation token">,</SPAN><SPAN class="string token">'eFuse_SUBTYPE2'</SPAN><SPAN class="punctuation token">,</SPAN><SPAN class="string token">'eFuse_RATING_A2'</SPAN><SPAN class="punctuation token">,</SPAN><SPAN class="string token">'eFuse_RATING_B2'</SPAN><SPAN class="punctuation token">,</SPAN><SPAN class="string token">'eFuse_RATING_C2'</SPAN><SPAN class="punctuation token">,</SPAN><SPAN class="string token">'eFuse_LOADBREAK2'</SPAN><SPAN class="punctuation token">,</SPAN><SPAN class="string token">'eFuse_BACKBONEEND2'</SPAN><SPAN class="punctuation token">,</SPAN><SPAN class="string token">'eFuse_BACKBONEPASSTHRU2'</SPAN><SPAN class="punctuation token">,</SPAN><SPAN class="string token">'eFuse_CUSTOMERCOUNT2'</SPAN><SPAN class="punctuation token">,</SPAN><SPAN class="string token">'eFuse_STRUCTUREID'</SPAN><SPAN class="punctuation token">,</SPAN><SPAN class="string token">'eFuse_GLOBALID2'</SPAN><SPAN class="punctuation token">]</SPAN>
FuseFldsDest3 <SPAN class="operator token">=</SPAN> <SPAN class="punctuation token">[</SPAN><SPAN class="string token">'eSupportStructure_GLOBALID'</SPAN><SPAN class="punctuation token">,</SPAN><SPAN class="string token">'eFuse_DEVICEID3'</SPAN><SPAN class="punctuation token">,</SPAN><SPAN class="string token">'eFuse_FeederID3'</SPAN><SPAN class="punctuation token">,</SPAN><SPAN class="string token">'eFuse_FeederID23'</SPAN><SPAN class="punctuation token">,</SPAN><SPAN class="string token">'eFuse_Phase3'</SPAN><SPAN class="punctuation token">,</SPAN><SPAN class="string token">'eFuse_SUBTYPE3'</SPAN><SPAN class="punctuation token">,</SPAN><SPAN class="string token">'eFuse_RATING_A3'</SPAN><SPAN class="punctuation token">,</SPAN><SPAN class="string token">'eFuse_RATING_B3'</SPAN><SPAN class="punctuation token">,</SPAN><SPAN class="string token">'eFuse_RATING_C3'</SPAN><SPAN class="punctuation token">,</SPAN><SPAN class="string token">'eFuse_LOADBREAK3'</SPAN><SPAN class="punctuation token">,</SPAN><SPAN class="string token">'eFuse_BACKBONEEND3'</SPAN><SPAN class="punctuation token">,</SPAN><SPAN class="string token">'eFuse_BACKBONEPASSTHRU3'</SPAN><SPAN class="punctuation token">,</SPAN><SPAN class="string token">'eFuse_CUSTOMERCOUNT3'</SPAN><SPAN class="punctuation token">,</SPAN><SPAN class="string token">'eFuse_STRUCTUREID'</SPAN><SPAN class="punctuation token">,</SPAN><SPAN class="string token">'eFuse_GLOBALID3'</SPAN><SPAN class="punctuation token">]</SPAN>
FuseFldsDest4 <SPAN class="operator token">=</SPAN> <SPAN class="punctuation token">[</SPAN><SPAN class="string token">'eSupportStructure_GLOBALID'</SPAN><SPAN class="punctuation token">,</SPAN><SPAN class="string token">'eFuse_DEVICEID4'</SPAN><SPAN class="punctuation token">,</SPAN><SPAN class="string token">'eFuse_FeederID4'</SPAN><SPAN class="punctuation token">,</SPAN><SPAN class="string token">'eFuse_FeederID24'</SPAN><SPAN class="punctuation token">,</SPAN><SPAN class="string token">'eFuse_Phase4'</SPAN><SPAN class="punctuation token">,</SPAN><SPAN class="string token">'eFuse_SUBTYPE4'</SPAN><SPAN class="punctuation token">,</SPAN><SPAN class="string token">'eFuse_RATING_A4'</SPAN><SPAN class="punctuation token">,</SPAN><SPAN class="string token">'eFuse_RATING_B4'</SPAN><SPAN class="punctuation token">,</SPAN><SPAN class="string token">'eFuse_RATING_C4'</SPAN><SPAN class="punctuation token">,</SPAN><SPAN class="string token">'eFuse_LOADBREAK4'</SPAN><SPAN class="punctuation token">,</SPAN><SPAN class="string token">'eFuse_BACKBONEEND4'</SPAN><SPAN class="punctuation token">,</SPAN><SPAN class="string token">'eFuse_BACKBONEPASSTHRU4'</SPAN><SPAN class="punctuation token">,</SPAN><SPAN class="string token">'eFuse_CUSTOMERCOUNT4'</SPAN><SPAN class="punctuation token">,</SPAN><SPAN class="string token">'eFuse_STRUCTUREID'</SPAN><SPAN class="punctuation token">,</SPAN><SPAN class="string token">'eFuse_GLOBALID4'</SPAN><SPAN class="punctuation token">]</SPAN>
FuseFldsDest5 <SPAN class="operator token">=</SPAN> <SPAN class="punctuation token">[</SPAN><SPAN class="string token">'eSupportStructure_GLOBALID'</SPAN><SPAN class="punctuation token">,</SPAN><SPAN class="string token">'eFuse_DEVICEID5'</SPAN><SPAN class="punctuation token">,</SPAN><SPAN class="string token">'eFuse_FeederID5'</SPAN><SPAN class="punctuation token">,</SPAN><SPAN class="string token">'eFuse_FeederID25'</SPAN><SPAN class="punctuation token">,</SPAN><SPAN class="string token">'eFuse_Phase5'</SPAN><SPAN class="punctuation token">,</SPAN><SPAN class="string token">'eFuse_SUBTYPE5'</SPAN><SPAN class="punctuation token">,</SPAN><SPAN class="string token">'eFuse_RATING_A5'</SPAN><SPAN class="punctuation token">,</SPAN><SPAN class="string token">'eFuse_RATING_B5'</SPAN><SPAN class="punctuation token">,</SPAN><SPAN class="string token">'eFuse_RATING_C5'</SPAN><SPAN class="punctuation token">,</SPAN><SPAN class="string token">'eFuse_LOADBREAK5'</SPAN><SPAN class="punctuation token">,</SPAN><SPAN class="string token">'eFuse_BACKBONEEND5'</SPAN><SPAN class="punctuation token">,</SPAN><SPAN class="string token">'eFuse_BACKBONEPASSTHRU5'</SPAN><SPAN class="punctuation token">,</SPAN><SPAN class="string token">'eFuse_CUSTOMERCOUNT5'</SPAN><SPAN class="punctuation token">,</SPAN><SPAN class="string token">'eFuse_STRUCTUREID'</SPAN><SPAN class="punctuation token">,</SPAN><SPAN class="string token">'eFuse_GLOBALID5'</SPAN><SPAN class="punctuation token">]</SPAN>
FuseFldsDest6 <SPAN class="operator token">=</SPAN> <SPAN class="punctuation token">[</SPAN><SPAN class="string token">'eSupportStructure_GLOBALID'</SPAN><SPAN class="punctuation token">,</SPAN><SPAN class="string token">'eFuse_DEVICEID6'</SPAN><SPAN class="punctuation token">,</SPAN><SPAN class="string token">'eFuse_FeederID6'</SPAN><SPAN class="punctuation token">,</SPAN><SPAN class="string token">'eFuse_FeederID26'</SPAN><SPAN class="punctuation token">,</SPAN><SPAN class="string token">'eFuse_Phase6'</SPAN><SPAN class="punctuation token">,</SPAN><SPAN class="string token">'eFuse_SUBTYPE6'</SPAN><SPAN class="punctuation token">,</SPAN><SPAN class="string token">'eFuse_RATING_A6'</SPAN><SPAN class="punctuation token">,</SPAN><SPAN class="string token">'eFuse_RATING_B6'</SPAN><SPAN class="punctuation token">,</SPAN><SPAN class="string token">'eFuse_RATING_C6'</SPAN><SPAN class="punctuation token">,</SPAN><SPAN class="string token">'eFuse_LOADBREAK6'</SPAN><SPAN class="punctuation token">,</SPAN><SPAN class="string token">'eFuse_BACKBONEEND6'</SPAN><SPAN class="punctuation token">,</SPAN><SPAN class="string token">'eFuse_BACKBONEPASSTHRU6'</SPAN><SPAN class="punctuation token">,</SPAN><SPAN class="string token">'eFuse_CUSTOMERCOUNT6'</SPAN><SPAN class="punctuation token">,</SPAN><SPAN class="string token">'eFuse_STRUCTUREID'</SPAN><SPAN class="punctuation token">,</SPAN><SPAN class="string token">'eFuse_GLOBALID6'</SPAN><SPAN class="punctuation token">]</SPAN>
<SPAN class="comment token"># Lights</SPAN>
LightFldsOrig <SPAN class="operator token">=</SPAN> <SPAN class="punctuation token">[</SPAN><SPAN class="string token">'eSupportStructure_GLOBALID'</SPAN><SPAN class="punctuation token">,</SPAN><SPAN class="string token">'SUBTYPE'</SPAN><SPAN class="punctuation token">,</SPAN><SPAN class="string token">'LAMP'</SPAN><SPAN class="punctuation token">,</SPAN><SPAN class="string token">'COLOR'</SPAN><SPAN class="punctuation token">,</SPAN><SPAN class="string token">'ARMDIRECTION'</SPAN><SPAN class="punctuation token">,</SPAN><SPAN class="string token">'ARMLENGTH'</SPAN><SPAN class="punctuation token">,</SPAN><SPAN class="string token">'STRUCTUREID'</SPAN><SPAN class="punctuation token">,</SPAN><SPAN class="string token">'GLOBALID'</SPAN><SPAN class="punctuation token">]</SPAN>
LightFldsDest <SPAN class="operator token">=</SPAN> <SPAN class="punctuation token">[</SPAN><SPAN class="string token">'eSupportStructure_GLOBALID'</SPAN><SPAN class="punctuation token">,</SPAN><SPAN class="string token">'eLight_SUBTYPE'</SPAN><SPAN class="punctuation token">,</SPAN><SPAN class="string token">'eLIGHT_LAMP'</SPAN><SPAN class="punctuation token">,</SPAN><SPAN class="string token">'eLight_COLOR'</SPAN><SPAN class="punctuation token">,</SPAN><SPAN class="string token">'eLight_ARMDIRECTION'</SPAN><SPAN class="punctuation token">,</SPAN><SPAN class="string token">'eLight_ARMLENGTH'</SPAN><SPAN class="punctuation token">,</SPAN><SPAN class="string token">'eLight_STRUCTUREID'</SPAN><SPAN class="punctuation token">,</SPAN><SPAN class="string token">'eLight_GLOBALID'</SPAN><SPAN class="punctuation token">]</SPAN>
LightFldsDest2 <SPAN class="operator token">=</SPAN> <SPAN class="punctuation token">[</SPAN><SPAN class="string token">'eSupportStructure_GLOBALID'</SPAN><SPAN class="punctuation token">,</SPAN><SPAN class="string token">'eLight_SUBTYPE2'</SPAN><SPAN class="punctuation token">,</SPAN><SPAN class="string token">'eLIGHT_LAMP2'</SPAN><SPAN class="punctuation token">,</SPAN><SPAN class="string token">'eLight_COLOR2'</SPAN><SPAN class="punctuation token">,</SPAN><SPAN class="string token">'eLight_ARMDIRECTION2'</SPAN><SPAN class="punctuation token">,</SPAN><SPAN class="string token">'eLight_ARMLENGTH2'</SPAN><SPAN class="punctuation token">,</SPAN><SPAN class="string token">'eLight_STRUCTUREID'</SPAN><SPAN class="punctuation token">,</SPAN><SPAN class="string token">'eLight_GLOBALID2'</SPAN><SPAN class="punctuation token">]</SPAN>
LightFldsDest3 <SPAN class="operator token">=</SPAN> <SPAN class="punctuation token">[</SPAN><SPAN class="string token">'eSupportStructure_GLOBALID'</SPAN><SPAN class="punctuation token">,</SPAN><SPAN class="string token">'eLight_SUBTYPE3'</SPAN><SPAN class="punctuation token">,</SPAN><SPAN class="string token">'eLIGHT_LAMP3'</SPAN><SPAN class="punctuation token">,</SPAN><SPAN class="string token">'eLight_COLOR3'</SPAN><SPAN class="punctuation token">,</SPAN><SPAN class="string token">'eLight_ARMDIRECTION3'</SPAN><SPAN class="punctuation token">,</SPAN><SPAN class="string token">'eLight_ARMLENGTH3'</SPAN><SPAN class="punctuation token">,</SPAN><SPAN class="string token">'eLight_STRUCTUREID'</SPAN><SPAN class="punctuation token">,</SPAN><SPAN class="string token">'eLight_GLOBALID3'</SPAN><SPAN class="punctuation token">]</SPAN>
LightFldsDest4 <SPAN class="operator token">=</SPAN> <SPAN class="punctuation token">[</SPAN><SPAN class="string token">'eSupportStructure_GLOBALID'</SPAN><SPAN class="punctuation token">,</SPAN><SPAN class="string token">'eLight_SUBTYPE4'</SPAN><SPAN class="punctuation token">,</SPAN><SPAN class="string token">'eLIGHT_LAMP4'</SPAN><SPAN class="punctuation token">,</SPAN><SPAN class="string token">'eLight_COLOR4'</SPAN><SPAN class="punctuation token">,</SPAN><SPAN class="string token">'eLight_ARMDIRECTION4'</SPAN><SPAN class="punctuation token">,</SPAN><SPAN class="string token">'eLight_ARMLENGTH4'</SPAN><SPAN class="punctuation token">,</SPAN><SPAN class="string token">'eLight_STRUCTUREID'</SPAN><SPAN class="punctuation token">,</SPAN><SPAN class="string token">'eLight_GLOBALID4'</SPAN><SPAN class="punctuation token">]</SPAN>
<SPAN class="comment token"># Service Point</SPAN>
ServicePointFldsOrig <SPAN class="operator token">=</SPAN> <SPAN class="punctuation token">[</SPAN><SPAN class="string token">'eSupportStructure_GLOBALID'</SPAN><SPAN class="punctuation token">,</SPAN><SPAN class="string token">'SUBTYPE'</SPAN><SPAN class="punctuation token">,</SPAN><SPAN class="string token">'FEEDERID'</SPAN><SPAN class="punctuation token">,</SPAN><SPAN class="string token">'METERTYPE'</SPAN><SPAN class="punctuation token">,</SPAN><SPAN class="string token">'PHASEDESIGNATION'</SPAN><SPAN class="punctuation token">,</SPAN><SPAN class="string token">'CUSTOMERCOUNT'</SPAN><SPAN class="punctuation token">,</SPAN><SPAN class="string token">'STREETADDRESS'</SPAN><SPAN class="punctuation token">,</SPAN><SPAN class="string token">'PRIORITYREASON'</SPAN><SPAN class="punctuation token">,</SPAN><SPAN class="string token">'GLOBALID'</SPAN><SPAN class="punctuation token">]</SPAN>
ServicePointFldsDest <SPAN class="operator token">=</SPAN> <SPAN class="punctuation token">[</SPAN><SPAN class="string token">'eSupportStructure_GLOBALID'</SPAN><SPAN class="punctuation token">,</SPAN><SPAN class="string token">'eServicePoint_SUBTYPE'</SPAN><SPAN class="punctuation token">,</SPAN><SPAN class="string token">'eServicePoint_FEEDERID'</SPAN><SPAN class="punctuation token">,</SPAN><SPAN class="string token">'eServicePoint_METERTYPE'</SPAN><SPAN class="punctuation token">,</SPAN><SPAN class="string token">'eServicePoint_PHASE'</SPAN><SPAN class="punctuation token">,</SPAN><SPAN class="string token">'eServicePoint_CUSTOMERCOUNT'</SPAN><SPAN class="punctuation token">,</SPAN><SPAN class="string token">'eServicePoint_STREETADDRESS'</SPAN><SPAN class="punctuation token">,</SPAN><SPAN class="string token">'eServicePoint_PRIORITYREASON'</SPAN><SPAN class="punctuation token">,</SPAN><SPAN class="string token">'eServicePoint_GLOBALID'</SPAN><SPAN class="punctuation token">]</SPAN>
ServicePointFldsDest2 <SPAN class="operator token">=</SPAN> <SPAN class="punctuation token">[</SPAN><SPAN class="string token">'eSupportStructure_GLOBALID'</SPAN><SPAN class="punctuation token">,</SPAN><SPAN class="string token">'eServicePoint_SUBTYPE2'</SPAN><SPAN class="punctuation token">,</SPAN><SPAN class="string token">'eServicePoint_FEEDERID_2'</SPAN><SPAN class="punctuation token">,</SPAN><SPAN class="string token">'eServicePoint_METERTYPE2'</SPAN><SPAN class="punctuation token">,</SPAN><SPAN class="string token">'eServicePoint_PHASE2'</SPAN><SPAN class="punctuation token">,</SPAN><SPAN class="string token">'eServicePoint_CUSTOMERCOUNT2'</SPAN><SPAN class="punctuation token">,</SPAN><SPAN class="string token">'eServicePoint_STREETADDRESS2'</SPAN><SPAN class="punctuation token">,</SPAN><SPAN class="string token">'eServicePoint_PRIORITYREASON2'</SPAN><SPAN class="punctuation token">,</SPAN><SPAN class="string token">'eServicePoint_GLOBALID2'</SPAN><SPAN class="punctuation token">]</SPAN>
ServicePointFldsDest3 <SPAN class="operator token">=</SPAN> <SPAN class="punctuation token">[</SPAN><SPAN class="string token">'eSupportStructure_GLOBALID'</SPAN><SPAN class="punctuation token">,</SPAN><SPAN class="string token">'eServicePoint_SUBTYPE3'</SPAN><SPAN class="punctuation token">,</SPAN><SPAN class="string token">'eServicePoint_FEEDERID3'</SPAN><SPAN class="punctuation token">,</SPAN><SPAN class="string token">'eServicePoint_METERTYPE3'</SPAN><SPAN class="punctuation token">,</SPAN><SPAN class="string token">'eServicePoint_PHASE3'</SPAN><SPAN class="punctuation token">,</SPAN><SPAN class="string token">'eServicePoint_CUSTOMERCOUNT3'</SPAN><SPAN class="punctuation token">,</SPAN><SPAN class="string token">'eServicePoint_STREETADDRESS3'</SPAN><SPAN class="punctuation token">,</SPAN><SPAN class="string token">'eServicePoint_PRIORITYREASON3'</SPAN><SPAN class="punctuation token">,</SPAN><SPAN class="string token">'eServicePoint_GLOBALID3'</SPAN><SPAN class="punctuation token">]</SPAN>
ServicePointFldsDest4 <SPAN class="operator token">=</SPAN> <SPAN class="punctuation token">[</SPAN><SPAN class="string token">'eSupportStructure_GLOBALID'</SPAN><SPAN class="punctuation token">,</SPAN><SPAN class="string token">'eServicePoint_SUBTYPE4'</SPAN><SPAN class="punctuation token">,</SPAN><SPAN class="string token">'eServicePoint_FEEDERID4'</SPAN><SPAN class="punctuation token">,</SPAN><SPAN class="string token">'eServicePoint_METERTYPE4'</SPAN><SPAN class="punctuation token">,</SPAN><SPAN class="string token">'eServicePoint_PHASE4'</SPAN><SPAN class="punctuation token">,</SPAN><SPAN class="string token">'eServicePoint_CUSTOMERCOUNT4'</SPAN><SPAN class="punctuation token">,</SPAN><SPAN class="string token">'eServicePoint_STREETADDRESS4'</SPAN><SPAN class="punctuation token">,</SPAN><SPAN class="string token">'eServicePoint_PRIORITYREASON4'</SPAN><SPAN class="punctuation token">,</SPAN><SPAN class="string token">'eServicePoint_GLOBALID4'</SPAN><SPAN class="punctuation token">]</SPAN>
<SPAN class="comment token"># Switch</SPAN>
SwitchFldsOrig <SPAN class="operator token">=</SPAN> <SPAN class="punctuation token">[</SPAN><SPAN class="string token">'eSupportStructure_GLOBALID'</SPAN><SPAN class="punctuation token">,</SPAN><SPAN class="string token">'DEVICEID'</SPAN><SPAN class="punctuation token">,</SPAN><SPAN class="string token">'FEEDERID'</SPAN><SPAN class="punctuation token">,</SPAN><SPAN class="string token">'FEEDERID2'</SPAN><SPAN class="punctuation token">,</SPAN><SPAN class="string token">'PHASEDESIGNATION'</SPAN><SPAN class="punctuation token">,</SPAN><SPAN class="string token">'SUBTYPE'</SPAN><SPAN class="punctuation token">,</SPAN><SPAN class="string token">'GANGOPERATED'</SPAN><SPAN class="punctuation token">,</SPAN><SPAN class="string token">'LOADBREAK'</SPAN><SPAN class="punctuation token">,</SPAN><SPAN class="string token">'STRUCTUREID'</SPAN><SPAN class="punctuation token">,</SPAN><SPAN class="string token">'CUSTOMERCOUNT'</SPAN><SPAN class="punctuation token">,</SPAN><SPAN class="string token">'AUTOTRANSFER'</SPAN><SPAN class="punctuation token">,</SPAN><SPAN class="string token">'CONTROLLERTYPE'</SPAN><SPAN class="punctuation token">,</SPAN><SPAN class="string token">'MOTOROPERATED'</SPAN><SPAN class="punctuation token">,</SPAN><SPAN class="string token">'BACKBONEINDICATOR'</SPAN><SPAN class="punctuation token">,</SPAN><SPAN class="string token">'BYPASSINDICATOR'</SPAN><SPAN class="punctuation token">,</SPAN><SPAN class="string token">'GLOBALID'</SPAN><SPAN class="punctuation token">]</SPAN>
SwitchFldsDest <SPAN class="operator token">=</SPAN> <SPAN class="punctuation token">[</SPAN><SPAN class="string token">'eSupportStructure_GLOBALID'</SPAN><SPAN class="punctuation token">,</SPAN><SPAN class="string token">'eSwitch_DEVICEID'</SPAN><SPAN class="punctuation token">,</SPAN><SPAN class="string token">'eSwitch_FEEDERID'</SPAN><SPAN class="punctuation token">,</SPAN><SPAN class="string token">'eSwitch_FEEDERID2'</SPAN><SPAN class="punctuation token">,</SPAN><SPAN class="string token">'eSwitch_PHASE'</SPAN><SPAN class="punctuation token">,</SPAN><SPAN class="string token">'eSwitch_SUBTYPE'</SPAN><SPAN class="punctuation token">,</SPAN><SPAN class="string token">'eSwitch_GANGOPERATED'</SPAN><SPAN class="punctuation token">,</SPAN><SPAN class="string token">'eSwitch_LOADBREAK'</SPAN><SPAN class="punctuation token">,</SPAN><SPAN class="string token">'eSwitch_STRUCTUREID'</SPAN><SPAN class="punctuation token">,</SPAN><SPAN class="string token">'eSwitch_CUSTOMERCOUNT'</SPAN><SPAN class="punctuation token">,</SPAN><SPAN class="string token">'eSwitch_AUTOTRANSFER'</SPAN><SPAN class="punctuation token">,</SPAN><SPAN class="string token">'eSwitch_CONTROLLERTYPE'</SPAN><SPAN class="punctuation token">,</SPAN><SPAN class="string token">'eSwitch_MOTOROPERATED'</SPAN><SPAN class="punctuation token">,</SPAN><SPAN class="string token">'eSwitch_BACKBONE'</SPAN><SPAN class="punctuation token">,</SPAN><SPAN class="string token">'eSwitch_BYPASS'</SPAN><SPAN class="punctuation token">,</SPAN><SPAN class="string token">'eSwitch_GLOBALID'</SPAN><SPAN class="punctuation token">]</SPAN>
SwitchFldsDest2 <SPAN class="operator token">=</SPAN> <SPAN class="punctuation token">[</SPAN><SPAN class="string token">'eSupportStructure_GLOBALID'</SPAN><SPAN class="punctuation token">,</SPAN><SPAN class="string token">'eSwitch_DEVICEID2'</SPAN><SPAN class="punctuation token">,</SPAN><SPAN class="string token">'eSwitch_FEEDERID_2'</SPAN><SPAN class="punctuation token">,</SPAN><SPAN class="string token">'eSwitch_FEEDERID22'</SPAN><SPAN class="punctuation token">,</SPAN><SPAN class="string token">'eSwitch_PHASE2'</SPAN><SPAN class="punctuation token">,</SPAN><SPAN class="string token">'eSwitch_SUBTYPE2'</SPAN><SPAN class="punctuation token">,</SPAN><SPAN class="string token">'eSwitch_GANGOPERATED2'</SPAN><SPAN class="punctuation token">,</SPAN><SPAN class="string token">'eSwitch_LOADBREAK2'</SPAN><SPAN class="punctuation token">,</SPAN><SPAN class="string token">'eSwitch_STRUCTUREID'</SPAN><SPAN class="punctuation token">,</SPAN><SPAN class="string token">'eSwitch_CUSTOMERCOUNT2'</SPAN><SPAN class="punctuation token">,</SPAN><SPAN class="string token">'eSwitch_AUTOTRANSFER2'</SPAN><SPAN class="punctuation token">,</SPAN><SPAN class="string token">'eSwitch_CONTROLLERTYPE2'</SPAN><SPAN class="punctuation token">,</SPAN><SPAN class="string token">'eSwitch_MOTOROPERATED2'</SPAN><SPAN class="punctuation token">,</SPAN><SPAN class="string token">'eSwitch_BACKBONE2'</SPAN><SPAN class="punctuation token">,</SPAN><SPAN class="string token">'eSwitch_BYPASS2'</SPAN><SPAN class="punctuation token">,</SPAN><SPAN class="string token">'eSwitch_GLOBALID2'</SPAN><SPAN class="punctuation token">]</SPAN>
SwitchFldsDest3 <SPAN class="operator token">=</SPAN> <SPAN class="punctuation token">[</SPAN><SPAN class="string token">'eSupportStructure_GLOBALID'</SPAN><SPAN class="punctuation token">,</SPAN><SPAN class="string token">'eSwitch_DEVICEID3'</SPAN><SPAN class="punctuation token">,</SPAN><SPAN class="string token">'eSwitch_FEEDERID3'</SPAN><SPAN class="punctuation token">,</SPAN><SPAN class="string token">'eSwitch_FEEDERID23'</SPAN><SPAN class="punctuation token">,</SPAN><SPAN class="string token">'eSwitch_PHASE3'</SPAN><SPAN class="punctuation token">,</SPAN><SPAN class="string token">'eSwitch_SUBTYPE3'</SPAN><SPAN class="punctuation token">,</SPAN><SPAN class="string token">'eSwitch_GANGOPERATED3'</SPAN><SPAN class="punctuation token">,</SPAN><SPAN class="string token">'eSwitch_LOADBREAK3'</SPAN><SPAN class="punctuation token">,</SPAN><SPAN class="string token">'eSwitch_STRUCTUREID'</SPAN><SPAN class="punctuation token">,</SPAN><SPAN class="string token">'eSwitch_CUSTOMERCOUNT3'</SPAN><SPAN class="punctuation token">,</SPAN><SPAN class="string token">'eSwitch_AUTOTRANSFER3'</SPAN><SPAN class="punctuation token">,</SPAN><SPAN class="string token">'eSwitch_CONTROLLERTYPE3'</SPAN><SPAN class="punctuation token">,</SPAN><SPAN class="string token">'eSwitch_MOTOROPERATED3'</SPAN><SPAN class="punctuation token">,</SPAN><SPAN class="string token">'eSwitch_BACKBONE3'</SPAN><SPAN class="punctuation token">,</SPAN><SPAN class="string token">'eSwitch_BYPASS3'</SPAN><SPAN class="punctuation token">,</SPAN><SPAN class="string token">'eSwitch_GLOBALID3'</SPAN><SPAN class="punctuation token">]</SPAN>
<SPAN class="comment token"># Transformer Bank</SPAN>
TXFldsOrig <SPAN class="operator token">=</SPAN> <SPAN class="punctuation token">[</SPAN><SPAN class="string token">'eSupportStructure_GLOBALID'</SPAN><SPAN class="punctuation token">,</SPAN><SPAN class="string token">'DEVICEID'</SPAN><SPAN class="punctuation token">,</SPAN><SPAN class="string token">'FEEDERID'</SPAN><SPAN class="punctuation token">,</SPAN><SPAN class="string token">'FEEDERID2'</SPAN><SPAN class="punctuation token">,</SPAN><SPAN class="string token">'PHASEDESIGNATION'</SPAN><SPAN class="punctuation token">,</SPAN><SPAN class="string token">'SUBTYPE'</SPAN><SPAN class="punctuation token">,</SPAN><SPAN class="string token">'RATEDKVA_A'</SPAN><SPAN class="punctuation token">,</SPAN><SPAN class="string token">'RATEDKVA_B'</SPAN><SPAN class="punctuation token">,</SPAN><SPAN class="string token">'RATEDKVA_C'</SPAN><SPAN class="punctuation token">,</SPAN><SPAN class="string token">'CUSTOMERCOUNT'</SPAN><SPAN class="punctuation token">,</SPAN><SPAN class="string token">'STRUCTUREID'</SPAN><SPAN class="punctuation token">,</SPAN><SPAN class="string token">'PURPOSE'</SPAN><SPAN class="punctuation token">,</SPAN><SPAN class="string token">'GLOBALID'</SPAN><SPAN class="punctuation token">]</SPAN>
TXFldsDest <SPAN class="operator token">=</SPAN> <SPAN class="punctuation token">[</SPAN><SPAN class="string token">'eSupportStructure_GLOBALID'</SPAN><SPAN class="punctuation token">,</SPAN><SPAN class="string token">'eTX_DEVICEID'</SPAN><SPAN class="punctuation token">,</SPAN><SPAN class="string token">'eTX_FEEDERID'</SPAN><SPAN class="punctuation token">,</SPAN><SPAN class="string token">'eTX_FEEDERID2'</SPAN><SPAN class="punctuation token">,</SPAN><SPAN class="string token">'eTX_PHASE'</SPAN><SPAN class="punctuation token">,</SPAN><SPAN class="string token">'eTX_SUBTYPE'</SPAN><SPAN class="punctuation token">,</SPAN><SPAN class="string token">'eTX_RATEDKVA_A'</SPAN><SPAN class="punctuation token">,</SPAN><SPAN class="string token">'eTX_RATEDKVA_B'</SPAN><SPAN class="punctuation token">,</SPAN><SPAN class="string token">'eTX_RATEDKVA_C'</SPAN><SPAN class="punctuation token">,</SPAN><SPAN class="string token">'eTX_CUSTOMERCOUNT'</SPAN><SPAN class="punctuation token">,</SPAN><SPAN class="string token">'eTX_STRUCTUREID'</SPAN><SPAN class="punctuation token">,</SPAN><SPAN class="string token">'eTX_PURPOSE'</SPAN><SPAN class="punctuation token">,</SPAN><SPAN class="string token">'eTX_GLOBALID'</SPAN><SPAN class="punctuation token">]</SPAN>
TXFldsDest2 <SPAN class="operator token">=</SPAN> <SPAN class="punctuation token">[</SPAN><SPAN class="string token">'eSupportStructure_GLOBALID'</SPAN><SPAN class="punctuation token">,</SPAN><SPAN class="string token">'eTX_DEVICEID2'</SPAN><SPAN class="punctuation token">,</SPAN><SPAN class="string token">'eTX_FEEDERID_2'</SPAN><SPAN class="punctuation token">,</SPAN><SPAN class="string token">'eTX_FEEDERID22'</SPAN><SPAN class="punctuation token">,</SPAN><SPAN class="string token">'eTX_PHASE2'</SPAN><SPAN class="punctuation token">,</SPAN><SPAN class="string token">'eTX_SUBTYPE2'</SPAN><SPAN class="punctuation token">,</SPAN><SPAN class="string token">'eTX_RATEDKVA_A2'</SPAN><SPAN class="punctuation token">,</SPAN><SPAN class="string token">'eTX_RATEDKVA_B2'</SPAN><SPAN class="punctuation token">,</SPAN><SPAN class="string token">'eTX_RATEDKVA_C2'</SPAN><SPAN class="punctuation token">,</SPAN><SPAN class="string token">'eTX_CUSTOMERCOUNT2'</SPAN><SPAN class="punctuation token">,</SPAN><SPAN class="string token">'eTX_STRUCTUREID'</SPAN><SPAN class="punctuation token">,</SPAN><SPAN class="string token">'eTX_PURPOSE2'</SPAN><SPAN class="punctuation token">,</SPAN><SPAN class="string token">'eTX_GLOBALID2'</SPAN><SPAN class="punctuation token">]</SPAN>
<SPAN class="comment token"># place list of fields above into another list for loop processing below</SPAN>
fldsOrig <SPAN class="operator token">=</SPAN> <SPAN class="punctuation token">[</SPAN>CapBankFldsOrig<SPAN class="punctuation token">,</SPAN>RecloserFldsOrig<SPAN class="punctuation token">,</SPAN>SectionalizerFldsOrig<SPAN class="punctuation token">,</SPAN>VoltRegBankFldsOrig<SPAN class="punctuation token">]</SPAN>
fldsDest <SPAN class="operator token">=</SPAN> <SPAN class="punctuation token">[</SPAN>CapBankFldsDest<SPAN class="punctuation token">,</SPAN>RecloserFldsDest<SPAN class="punctuation token">,</SPAN>SectionalizerFldsDest<SPAN class="punctuation token">,</SPAN>VoltRegBankFldsDest<SPAN class="punctuation token">]</SPAN>
fldsDestFuse <SPAN class="operator token">=</SPAN> <SPAN class="punctuation token">[</SPAN>FuseFldsDest<SPAN class="punctuation token">,</SPAN>FuseFldsDest2<SPAN class="punctuation token">,</SPAN>FuseFldsDest3<SPAN class="punctuation token">,</SPAN>FuseFldsDest4<SPAN class="punctuation token">,</SPAN>FuseFldsDest5<SPAN class="punctuation token">,</SPAN>FuseFldsDest6<SPAN class="punctuation token">]</SPAN>
fldsDestLight <SPAN class="operator token">=</SPAN> <SPAN class="punctuation token">[</SPAN>LightFldsDest<SPAN class="punctuation token">,</SPAN>LightFldsDest2<SPAN class="punctuation token">,</SPAN>LightFldsDest3<SPAN class="punctuation token">,</SPAN>LightFldsDest4<SPAN class="punctuation token">]</SPAN>
fldsDestServicePoint <SPAN class="operator token">=</SPAN> <SPAN class="punctuation token">[</SPAN>ServicePointFldsDest<SPAN class="punctuation token">,</SPAN>ServicePointFldsDest2<SPAN class="punctuation token">,</SPAN>ServicePointFldsDest3<SPAN class="punctuation token">,</SPAN>ServicePointFldsDest4<SPAN class="punctuation token">]</SPAN>
fldsDestSwitch <SPAN class="operator token">=</SPAN> <SPAN class="punctuation token">[</SPAN>SwitchFldsDest<SPAN class="punctuation token">,</SPAN>SwitchFldsDest2<SPAN class="punctuation token">,</SPAN>SwitchFldsDest3<SPAN class="punctuation token">]</SPAN>
fldsDestTX <SPAN class="operator token">=</SPAN> <SPAN class="punctuation token">[</SPAN>TXFldsDest<SPAN class="punctuation token">,</SPAN>TXFldsDest2<SPAN class="punctuation token">]</SPAN>
<SPAN class="comment token"># fGDB variables</SPAN>
unitTable <SPAN class="operator token">=</SPAN> r<SPAN class="string token">'C:\arcdata\transfer\MIMS_Electric_Extract.gdb\MIMS\mmPoleEquipment'</SPAN>
<SPAN class="comment token">#unitTableSDE = r'Database Connections\grucwgisdv01_MapEDPR_OSAuth.sde\mapedpr.ARCFM_ED.MM_PoleEquipment'</SPAN>
connectionRoot <SPAN class="operator token">=</SPAN> r<SPAN class="string token">'C:\arcdata\transfer\MIMS_Electric_Extract.gdb\%s'</SPAN>
workspace <SPAN class="operator token">=</SPAN> r<SPAN class="string token">'C:\arcdata\transfer\MIMS_Electric_Extract.gdb'</SPAN>
<SPAN class="comment token"># feature classes</SPAN>
MM_POLEEQUIPMENT_XML <SPAN class="operator token">=</SPAN> <SPAN class="string token">"C:/arcdata/MIMSMobile/MIMS_DATASET.XML"</SPAN>
origFC <SPAN class="operator token">=</SPAN> <SPAN class="punctuation token">[</SPAN><SPAN class="string token">'eCapacitorBank'</SPAN><SPAN class="punctuation token">,</SPAN><SPAN class="string token">'eRecloser'</SPAN><SPAN class="punctuation token">,</SPAN><SPAN class="string token">'eSectionalizer'</SPAN><SPAN class="punctuation token">,</SPAN><SPAN class="string token">'eVoltageRegulatorBank'</SPAN><SPAN class="punctuation token">]</SPAN>
fuseFC <SPAN class="operator token">=</SPAN> <SPAN class="string token">'eFuse'</SPAN>
lightFC <SPAN class="operator token">=</SPAN> <SPAN class="string token">'eLight'</SPAN>
poleFC <SPAN class="operator token">=</SPAN> <SPAN class="string token">'eSupportStructure'</SPAN>
servicepointFC <SPAN class="operator token">=</SPAN> <SPAN class="string token">'eServicePoint'</SPAN>
switchFC <SPAN class="operator token">=</SPAN> <SPAN class="string token">'eSwitch'</SPAN>
transformerFC <SPAN class="operator token">=</SPAN> <SPAN class="string token">'eTransformerBank'</SPAN>
<SPAN class="comment token"># default field values</SPAN>
stormName <SPAN class="operator token">=</SPAN> <SPAN class="string token">'Storm Drill'</SPAN>
sapNetwork <SPAN class="operator token">=</SPAN> <SPAN class="number token">1111</SPAN>
<SPAN class="keyword token">def</SPAN> <SPAN class="token function">updateUnits</SPAN><SPAN class="punctuation token">(</SPAN>connection<SPAN class="punctuation token">,</SPAN>origFlds<SPAN class="punctuation token">,</SPAN>destFlds<SPAN class="punctuation token">,</SPAN>whereSQL<SPAN class="operator token">=</SPAN>None<SPAN class="punctuation token">)</SPAN><SPAN class="punctuation token">:</SPAN>
uc <SPAN class="operator token">=</SPAN> arcpy<SPAN class="punctuation token">.</SPAN>da<SPAN class="punctuation token">.</SPAN>UpdateCursor<SPAN class="punctuation token">(</SPAN>unitTable<SPAN class="punctuation token">,</SPAN>destFlds<SPAN class="punctuation token">)</SPAN>
<SPAN class="keyword token">with</SPAN> arcpy<SPAN class="punctuation token">.</SPAN>da<SPAN class="punctuation token">.</SPAN>SearchCursor<SPAN class="punctuation token">(</SPAN>connection<SPAN class="punctuation token">,</SPAN>origFlds<SPAN class="punctuation token">,</SPAN>whereSQL<SPAN class="punctuation token">)</SPAN> <SPAN class="keyword token">as</SPAN> sc<SPAN class="punctuation token">:</SPAN>
<SPAN class="keyword token">for</SPAN> scrow <SPAN class="keyword token">in</SPAN> sc<SPAN class="punctuation token">:</SPAN>
uc<SPAN class="punctuation token">.</SPAN>updateRow<SPAN class="punctuation token">(</SPAN>scrow<SPAN class="punctuation token">)</SPAN>
<SPAN class="keyword token">del</SPAN> uc
<SPAN class="keyword token">del</SPAN> sc
<SPAN class="keyword token">def</SPAN> <SPAN class="token function">insertPoles</SPAN><SPAN class="punctuation token">(</SPAN>connection<SPAN class="punctuation token">,</SPAN>origFlds<SPAN class="punctuation token">,</SPAN>destFlds<SPAN class="punctuation token">,</SPAN>whereSQL<SPAN class="operator token">=</SPAN>None<SPAN class="punctuation token">)</SPAN><SPAN class="punctuation token">:</SPAN>
ic <SPAN class="operator token">=</SPAN> arcpy<SPAN class="punctuation token">.</SPAN>da<SPAN class="punctuation token">.</SPAN>InsertCursor<SPAN class="punctuation token">(</SPAN>unitTable<SPAN class="punctuation token">,</SPAN>destFlds<SPAN class="punctuation token">)</SPAN>
<SPAN class="keyword token">with</SPAN> arcpy<SPAN class="punctuation token">.</SPAN>da<SPAN class="punctuation token">.</SPAN>SearchCursor<SPAN class="punctuation token">(</SPAN>connection<SPAN class="punctuation token">,</SPAN>origFlds<SPAN class="punctuation token">,</SPAN>whereSQL<SPAN class="punctuation token">)</SPAN> <SPAN class="keyword token">as</SPAN> sc<SPAN class="punctuation token">:</SPAN>
<SPAN class="keyword token">for</SPAN> scrow <SPAN class="keyword token">in</SPAN> sc<SPAN class="punctuation token">:</SPAN>
ic<SPAN class="punctuation token">.</SPAN>insertRow<SPAN class="punctuation token">(</SPAN>scrow<SPAN class="punctuation token">)</SPAN>
<SPAN class="keyword token">del</SPAN> ic
<SPAN class="keyword token">del</SPAN> sc
<SPAN class="keyword token">def</SPAN> <SPAN class="token function">getRowCount</SPAN><SPAN class="punctuation token">(</SPAN>tbl<SPAN class="punctuation token">,</SPAN>flds<SPAN class="punctuation token">,</SPAN>whereSQL<SPAN class="operator token">=</SPAN>None<SPAN class="punctuation token">)</SPAN><SPAN class="punctuation token">:</SPAN>
rows <SPAN class="operator token">=</SPAN> <SPAN class="punctuation token">[</SPAN>row <SPAN class="keyword token">for</SPAN> row <SPAN class="keyword token">in</SPAN> arcpy<SPAN class="punctuation token">.</SPAN>da<SPAN class="punctuation token">.</SPAN>SearchCursor<SPAN class="punctuation token">(</SPAN>tbl<SPAN class="punctuation token">,</SPAN>flds<SPAN class="punctuation token">,</SPAN>whereSQL<SPAN class="punctuation token">)</SPAN><SPAN class="punctuation token">]</SPAN>
<SPAN class="keyword token">if</SPAN> len<SPAN class="punctuation token">(</SPAN>rows<SPAN class="punctuation token">)</SPAN> <SPAN class="operator token">></SPAN> <SPAN class="number token">1</SPAN><SPAN class="punctuation token">:</SPAN>
<SPAN class="keyword token">print</SPAN><SPAN class="punctuation token">(</SPAN><SPAN class="string token">'Found %i in %s'</SPAN><SPAN class="punctuation token">)</SPAN> <SPAN class="operator token">%</SPAN> <SPAN class="punctuation token">(</SPAN>len<SPAN class="punctuation token">(</SPAN>rows<SPAN class="punctuation token">)</SPAN><SPAN class="punctuation token">,</SPAN>tbl<SPAN class="punctuation token">)</SPAN>
<SPAN class="keyword token">return</SPAN> len<SPAN class="punctuation token">(</SPAN>rows<SPAN class="punctuation token">)</SPAN>
<SPAN class="keyword token">def</SPAN> <SPAN class="token function">updateRelatedUnits</SPAN><SPAN class="punctuation token">(</SPAN>row<SPAN class="punctuation token">,</SPAN>destFlds<SPAN class="punctuation token">,</SPAN>guid<SPAN class="punctuation token">)</SPAN><SPAN class="punctuation token">:</SPAN>
<SPAN class="keyword token">with</SPAN> arcpy<SPAN class="punctuation token">.</SPAN>da<SPAN class="punctuation token">.</SPAN>UpdateCursor<SPAN class="punctuation token">(</SPAN>unitTable<SPAN class="punctuation token">,</SPAN>destFlds<SPAN class="punctuation token">,</SPAN>where_clause<SPAN class="operator token">=</SPAN><SPAN class="string token">"eSupportStructure_GLOBALID = "</SPAN> <SPAN class="operator token">+</SPAN> <SPAN class="string token">"'"</SPAN> <SPAN class="operator token">+</SPAN> guid <SPAN class="operator token">+</SPAN> <SPAN class="string token">"'"</SPAN><SPAN class="punctuation token">)</SPAN> <SPAN class="keyword token">as</SPAN> uc<SPAN class="punctuation token">:</SPAN>
<SPAN class="keyword token">for</SPAN> ucrow <SPAN class="keyword token">in</SPAN> uc<SPAN class="punctuation token">:</SPAN>
ucrow <SPAN class="operator token">=</SPAN> row
<SPAN class="comment token">#print('updating destflds %s') % x</SPAN>
uc<SPAN class="punctuation token">.</SPAN>updateRow<SPAN class="punctuation token">(</SPAN>ucrow<SPAN class="punctuation token">)</SPAN>
<SPAN class="comment token"># break and return out of the for loop so we dont update the entire row with same cursor object</SPAN>
<SPAN class="keyword token">break</SPAN>
<SPAN class="keyword token">return</SPAN>
<SPAN class="keyword token">del</SPAN> uc
<SPAN class="comment token"># prep unitTable</SPAN>
<SPAN class="keyword token">if</SPAN> <SPAN class="operator token">not</SPAN> arcpy<SPAN class="punctuation token">.</SPAN>Exists<SPAN class="punctuation token">(</SPAN>unitTable<SPAN class="punctuation token">)</SPAN><SPAN class="punctuation token">:</SPAN>
arcpy<SPAN class="punctuation token">.</SPAN>ImportXMLWorkspaceDocument_management<SPAN class="punctuation token">(</SPAN>workspace<SPAN class="punctuation token">,</SPAN> MM_POLEEQUIPMENT_XML<SPAN class="punctuation token">,</SPAN> <SPAN class="string token">"Schema_Only"</SPAN><SPAN class="punctuation token">)</SPAN>
<SPAN class="comment token">#print('Setting default values: %s %i') % (stormName,sapNetwork)</SPAN>
<SPAN class="comment token">#arcpy.AssignDefaultToField_management(unitTable,"StormName",stormName)</SPAN>
<SPAN class="comment token">#arcpy.AssignDefaultToField_management(unitTable,"SAPNetwork",sapNetwork)</SPAN>
<SPAN class="keyword token">else</SPAN><SPAN class="punctuation token">:</SPAN>
<SPAN class="keyword token">print</SPAN> <SPAN class="string token">'Truncating...'</SPAN><SPAN class="punctuation token">,</SPAN>unitTable
arcpy<SPAN class="punctuation token">.</SPAN>TruncateTable_management<SPAN class="punctuation token">(</SPAN>unitTable<SPAN class="punctuation token">)</SPAN>
<SPAN class="keyword token">print</SPAN> <SPAN class="string token">'Checking for index eSupportStructure_GLOABLID...'</SPAN>
indexes <SPAN class="operator token">=</SPAN> arcpy<SPAN class="punctuation token">.</SPAN>ListIndexes<SPAN class="punctuation token">(</SPAN>unitTable<SPAN class="punctuation token">)</SPAN>
indexNames <SPAN class="operator token">=</SPAN> <SPAN class="punctuation token">[</SPAN><SPAN class="punctuation token">]</SPAN>
<SPAN class="keyword token">for</SPAN> index <SPAN class="keyword token">in</SPAN> indexes<SPAN class="punctuation token">:</SPAN>
<SPAN class="keyword token">print</SPAN> index<SPAN class="punctuation token">.</SPAN>name
indexNames<SPAN class="punctuation token">.</SPAN>append<SPAN class="punctuation token">(</SPAN>index<SPAN class="punctuation token">.</SPAN>name<SPAN class="punctuation token">)</SPAN>
<SPAN class="keyword token">if</SPAN> <SPAN class="string token">"IDX_poleGUID"</SPAN> <SPAN class="operator token">not</SPAN> <SPAN class="keyword token">in</SPAN> indexNames<SPAN class="punctuation token">:</SPAN>
<SPAN class="keyword token">print</SPAN><SPAN class="string token">'You need to add the Index'</SPAN> <SPAN class="comment token">#arcpy.AddIndex_management (truncTable, "eSupportStructure_GLOBALID", "IDX_poleGUID", "UNIQUE", "ASCENDING")</SPAN>
<SPAN class="comment token"># truncate table to reload poles and relationships for damage assessments</SPAN>
<SPAN class="comment token">#with arcpy.da.UpdateCursor(unitTable,'StormName') as uc:</SPAN>
<SPAN class="comment token"># for row in uc:</SPAN>
<SPAN class="comment token"># row[0] = stormName</SPAN>
<SPAN class="comment token"># uc.updateRow(row)</SPAN>
<SPAN class="keyword token">print</SPAN> <SPAN class="string token">'Processing...you gotta wait now'</SPAN>
<SPAN class="comment token"># Start Main</SPAN>
<SPAN class="keyword token">with</SPAN> arcpy<SPAN class="punctuation token">.</SPAN>da<SPAN class="punctuation token">.</SPAN>Editor<SPAN class="punctuation token">(</SPAN>workspace<SPAN class="punctuation token">)</SPAN> <SPAN class="keyword token">as</SPAN> edit<SPAN class="punctuation token">:</SPAN>
<SPAN class="comment token">#print 'Inserting...',poleFC</SPAN>
ic <SPAN class="operator token">=</SPAN> arcpy<SPAN class="punctuation token">.</SPAN>da<SPAN class="punctuation token">.</SPAN>InsertCursor<SPAN class="punctuation token">(</SPAN>unitTable<SPAN class="punctuation token">,</SPAN>PoleFldsDest<SPAN class="punctuation token">)</SPAN>
<SPAN class="keyword token">with</SPAN> arcpy<SPAN class="punctuation token">.</SPAN>da<SPAN class="punctuation token">.</SPAN>SearchCursor<SPAN class="punctuation token">(</SPAN>connectionRoot<SPAN class="operator token">%</SPAN><SPAN class="punctuation token">(</SPAN>poleFC<SPAN class="punctuation token">)</SPAN><SPAN class="punctuation token">,</SPAN>PoleFldsOrig<SPAN class="punctuation token">)</SPAN> <SPAN class="keyword token">as</SPAN> sc<SPAN class="punctuation token">:</SPAN>
<SPAN class="keyword token">for</SPAN> scrow <SPAN class="keyword token">in</SPAN> sc<SPAN class="punctuation token">:</SPAN>
ic<SPAN class="punctuation token">.</SPAN>insertRow<SPAN class="punctuation token">(</SPAN>scrow<SPAN class="punctuation token">)</SPAN>
<SPAN class="keyword token">del</SPAN> ic
<SPAN class="keyword token">del</SPAN> sc
idx <SPAN class="operator token">=</SPAN> <SPAN class="operator token">-</SPAN><SPAN class="number token">1</SPAN>
<SPAN class="keyword token">for</SPAN> fc <SPAN class="keyword token">in</SPAN> origFC<SPAN class="punctuation token">:</SPAN>
idx <SPAN class="operator token">+=</SPAN><SPAN class="number token">1</SPAN>
<SPAN class="comment token">#print 'Updating...',fc</SPAN>
<SPAN class="keyword token">with</SPAN> arcpy<SPAN class="punctuation token">.</SPAN>da<SPAN class="punctuation token">.</SPAN>SearchCursor<SPAN class="punctuation token">(</SPAN>connectionRoot<SPAN class="operator token">%</SPAN><SPAN class="punctuation token">(</SPAN>fc<SPAN class="punctuation token">)</SPAN><SPAN class="punctuation token">,</SPAN>fldsOrig<SPAN class="punctuation token">[</SPAN>idx<SPAN class="punctuation token">]</SPAN><SPAN class="punctuation token">,</SPAN>where_clause<SPAN class="operator token">=</SPAN><SPAN class="string token">"eSupportStructure_GLOBALID IS NOT NULL"</SPAN><SPAN class="punctuation token">,</SPAN>sql_clause<SPAN class="operator token">=</SPAN><SPAN class="punctuation token">(</SPAN>None<SPAN class="punctuation token">,</SPAN><SPAN class="string token">"ORDER BY eSupportStructure_GLOBALID"</SPAN><SPAN class="punctuation token">)</SPAN><SPAN class="punctuation token">)</SPAN> <SPAN class="keyword token">as</SPAN> sCur<SPAN class="punctuation token">:</SPAN>
<SPAN class="keyword token">for</SPAN> sCurRow <SPAN class="keyword token">in</SPAN> sCur<SPAN class="punctuation token">:</SPAN>
<SPAN class="keyword token">with</SPAN> arcpy<SPAN class="punctuation token">.</SPAN>da<SPAN class="punctuation token">.</SPAN>UpdateCursor<SPAN class="punctuation token">(</SPAN>unitTable<SPAN class="punctuation token">,</SPAN>fldsDest<SPAN class="punctuation token">[</SPAN>idx<SPAN class="punctuation token">]</SPAN><SPAN class="punctuation token">,</SPAN>where_clause<SPAN class="operator token">=</SPAN><SPAN class="string token">"eSupportStructure_GLOBALID = "</SPAN> <SPAN class="operator token">+</SPAN> <SPAN class="string token">"'"</SPAN> <SPAN class="operator token">+</SPAN> sCurRow<SPAN class="punctuation token">[</SPAN><SPAN class="number token">0</SPAN><SPAN class="punctuation token">]</SPAN> <SPAN class="operator token">+</SPAN> <SPAN class="string token">"'"</SPAN><SPAN class="punctuation token">,</SPAN>sql_clause<SPAN class="operator token">=</SPAN><SPAN class="punctuation token">(</SPAN>None<SPAN class="punctuation token">,</SPAN><SPAN class="string token">"ORDER BY eSupportStructure_GLOBALID"</SPAN><SPAN class="punctuation token">)</SPAN><SPAN class="punctuation token">)</SPAN> <SPAN class="keyword token">as</SPAN> uCur<SPAN class="punctuation token">:</SPAN>
<SPAN class="keyword token">for</SPAN> uCurRow <SPAN class="keyword token">in</SPAN> uCur<SPAN class="punctuation token">:</SPAN>
uCur<SPAN class="punctuation token">.</SPAN>updateRow<SPAN class="punctuation token">(</SPAN>sCurRow<SPAN class="punctuation token">)</SPAN>
idx <SPAN class="operator token">=</SPAN> <SPAN class="operator token">-</SPAN><SPAN class="number token">1</SPAN>
count <SPAN class="operator token">=</SPAN> <SPAN class="number token">0</SPAN>
<SPAN class="keyword token">with</SPAN> arcpy<SPAN class="punctuation token">.</SPAN>da<SPAN class="punctuation token">.</SPAN>SearchCursor<SPAN class="punctuation token">(</SPAN>unitTable<SPAN class="punctuation token">,</SPAN><SPAN class="punctuation token">[</SPAN><SPAN class="string token">'eSupportStructure_GLOBALID'</SPAN><SPAN class="punctuation token">]</SPAN><SPAN class="punctuation token">,</SPAN>sql_clause<SPAN class="operator token">=</SPAN><SPAN class="punctuation token">(</SPAN>None<SPAN class="punctuation token">,</SPAN><SPAN class="string token">"ORDER BY eSupportStructure_GLOBALID"</SPAN><SPAN class="punctuation token">)</SPAN><SPAN class="punctuation token">)</SPAN> <SPAN class="keyword token">as</SPAN> unitCur<SPAN class="punctuation token">:</SPAN>
<SPAN class="keyword token">for</SPAN> unit <SPAN class="keyword token">in</SPAN> unitCur<SPAN class="punctuation token">:</SPAN>
count <SPAN class="operator token">+=</SPAN><SPAN class="number token">1</SPAN>
<SPAN class="comment token">#print(count)</SPAN>
<SPAN class="keyword token">with</SPAN> arcpy<SPAN class="punctuation token">.</SPAN>da<SPAN class="punctuation token">.</SPAN>SearchCursor<SPAN class="punctuation token">(</SPAN>connectionRoot<SPAN class="operator token">%</SPAN><SPAN class="punctuation token">(</SPAN>lightFC<SPAN class="punctuation token">)</SPAN><SPAN class="punctuation token">,</SPAN>LightFldsOrig<SPAN class="punctuation token">,</SPAN>where_clause<SPAN class="operator token">=</SPAN><SPAN class="string token">"eSupportStructure_GLOBALID = '"</SPAN> <SPAN class="operator token">+</SPAN> unit<SPAN class="punctuation token">[</SPAN><SPAN class="number token">0</SPAN><SPAN class="punctuation token">]</SPAN> <SPAN class="operator token">+</SPAN> <SPAN class="string token">"'"</SPAN><SPAN class="punctuation token">)</SPAN> <SPAN class="keyword token">as</SPAN> lghtCur<SPAN class="punctuation token">:</SPAN>
<SPAN class="keyword token">for</SPAN> lght <SPAN class="keyword token">in</SPAN> lghtCur<SPAN class="punctuation token">:</SPAN>
<SPAN class="comment token">#print 'Updating...',lightFC</SPAN>
idx <SPAN class="operator token">+=</SPAN><SPAN class="number token">1</SPAN>
updateRelatedUnits<SPAN class="punctuation token">(</SPAN>lght<SPAN class="punctuation token">,</SPAN>fldsDestLight<SPAN class="punctuation token">[</SPAN>idx<SPAN class="punctuation token">]</SPAN><SPAN class="punctuation token">,</SPAN>lght<SPAN class="punctuation token">[</SPAN><SPAN class="number token">0</SPAN><SPAN class="punctuation token">]</SPAN><SPAN class="punctuation token">)</SPAN>
idx <SPAN class="operator token">=</SPAN> <SPAN class="operator token">-</SPAN><SPAN class="number token">1</SPAN>
idx <SPAN class="operator token">=</SPAN> <SPAN class="operator token">-</SPAN><SPAN class="number token">1</SPAN>
<SPAN class="keyword token">with</SPAN> arcpy<SPAN class="punctuation token">.</SPAN>da<SPAN class="punctuation token">.</SPAN>SearchCursor<SPAN class="punctuation token">(</SPAN>connectionRoot<SPAN class="operator token">%</SPAN><SPAN class="punctuation token">(</SPAN>fuseFC<SPAN class="punctuation token">)</SPAN><SPAN class="punctuation token">,</SPAN>FuseFldsOrig<SPAN class="punctuation token">,</SPAN>where_clause<SPAN class="operator token">=</SPAN><SPAN class="string token">"eSupportStructure_GLOBALID = '"</SPAN> <SPAN class="operator token">+</SPAN> unit<SPAN class="punctuation token">[</SPAN><SPAN class="number token">0</SPAN><SPAN class="punctuation token">]</SPAN> <SPAN class="operator token">+</SPAN> <SPAN class="string token">"'"</SPAN><SPAN class="punctuation token">)</SPAN> <SPAN class="keyword token">as</SPAN> fxCur<SPAN class="punctuation token">:</SPAN>
<SPAN class="keyword token">for</SPAN> fx <SPAN class="keyword token">in</SPAN> fxCur<SPAN class="punctuation token">:</SPAN>
<SPAN class="comment token">#print 'Updating...',fuseFC</SPAN>
idx <SPAN class="operator token">+=</SPAN><SPAN class="number token">1</SPAN>
updateRelatedUnits<SPAN class="punctuation token">(</SPAN>fx<SPAN class="punctuation token">,</SPAN>fldsDestFuse<SPAN class="punctuation token">[</SPAN>idx<SPAN class="punctuation token">]</SPAN><SPAN class="punctuation token">,</SPAN>fx<SPAN class="punctuation token">[</SPAN><SPAN class="number token">0</SPAN><SPAN class="punctuation token">]</SPAN><SPAN class="punctuation token">)</SPAN>
idx <SPAN class="operator token">=</SPAN> <SPAN class="operator token">-</SPAN><SPAN class="number token">1</SPAN>
idx <SPAN class="operator token">=</SPAN> <SPAN class="operator token">-</SPAN><SPAN class="number token">1</SPAN>
<SPAN class="keyword token">with</SPAN> arcpy<SPAN class="punctuation token">.</SPAN>da<SPAN class="punctuation token">.</SPAN>SearchCursor<SPAN class="punctuation token">(</SPAN>connectionRoot<SPAN class="operator token">%</SPAN><SPAN class="punctuation token">(</SPAN>transformerFC<SPAN class="punctuation token">)</SPAN><SPAN class="punctuation token">,</SPAN>TXFldsOrig<SPAN class="punctuation token">,</SPAN>where_clause<SPAN class="operator token">=</SPAN><SPAN class="string token">"eSupportStructure_GLOBALID = '"</SPAN> <SPAN class="operator token">+</SPAN> unit<SPAN class="punctuation token">[</SPAN><SPAN class="number token">0</SPAN><SPAN class="punctuation token">]</SPAN> <SPAN class="operator token">+</SPAN> <SPAN class="string token">"'"</SPAN><SPAN class="punctuation token">)</SPAN> <SPAN class="keyword token">as</SPAN> xfrCur<SPAN class="punctuation token">:</SPAN>
<SPAN class="keyword token">for</SPAN> xfr <SPAN class="keyword token">in</SPAN> xfrCur<SPAN class="punctuation token">:</SPAN>
<SPAN class="comment token">#print 'Updating...',transformerFC</SPAN>
idx <SPAN class="operator token">+=</SPAN><SPAN class="number token">1</SPAN>
updateRelatedUnits<SPAN class="punctuation token">(</SPAN>xfr<SPAN class="punctuation token">,</SPAN>fldsDestTX<SPAN class="punctuation token">[</SPAN>idx<SPAN class="punctuation token">]</SPAN><SPAN class="punctuation token">,</SPAN>xfr<SPAN class="punctuation token">[</SPAN><SPAN class="number token">0</SPAN><SPAN class="punctuation token">]</SPAN><SPAN class="punctuation token">)</SPAN>
idx <SPAN class="operator token">=</SPAN> <SPAN class="operator token">-</SPAN><SPAN class="number token">1</SPAN>
idx <SPAN class="operator token">=</SPAN> <SPAN class="operator token">-</SPAN><SPAN class="number token">1</SPAN>
<SPAN class="keyword token">with</SPAN> arcpy<SPAN class="punctuation token">.</SPAN>da<SPAN class="punctuation token">.</SPAN>SearchCursor<SPAN class="punctuation token">(</SPAN>connectionRoot<SPAN class="operator token">%</SPAN><SPAN class="punctuation token">(</SPAN>switchFC<SPAN class="punctuation token">)</SPAN><SPAN class="punctuation token">,</SPAN>SwitchFldsOrig<SPAN class="punctuation token">,</SPAN>where_clause<SPAN class="operator token">=</SPAN><SPAN class="string token">"eSupportStructure_GLOBALID = '"</SPAN> <SPAN class="operator token">+</SPAN> unit<SPAN class="punctuation token">[</SPAN><SPAN class="number token">0</SPAN><SPAN class="punctuation token">]</SPAN> <SPAN class="operator token">+</SPAN> <SPAN class="string token">"' AND SUBTYPE IN (1,2,3,4)"</SPAN><SPAN class="punctuation token">)</SPAN> <SPAN class="keyword token">as</SPAN> swtCur<SPAN class="punctuation token">:</SPAN>
<SPAN class="keyword token">for</SPAN> swt <SPAN class="keyword token">in</SPAN> swtCur<SPAN class="punctuation token">:</SPAN>
<SPAN class="comment token">#print 'Updating...',switchFC</SPAN>
idx <SPAN class="operator token">+=</SPAN><SPAN class="number token">1</SPAN>
updateRelatedUnits<SPAN class="punctuation token">(</SPAN>swt<SPAN class="punctuation token">,</SPAN>fldsDestSwitch<SPAN class="punctuation token">[</SPAN>idx<SPAN class="punctuation token">]</SPAN><SPAN class="punctuation token">,</SPAN>swt<SPAN class="punctuation token">[</SPAN><SPAN class="number token">0</SPAN><SPAN class="punctuation token">]</SPAN><SPAN class="punctuation token">)</SPAN>
idx <SPAN class="operator token">=</SPAN> <SPAN class="operator token">-</SPAN><SPAN class="number token">1</SPAN>
idx <SPAN class="operator token">=</SPAN> <SPAN class="operator token">-</SPAN><SPAN class="number token">1</SPAN>
<SPAN class="keyword token">with</SPAN> arcpy<SPAN class="punctuation token">.</SPAN>da<SPAN class="punctuation token">.</SPAN>SearchCursor<SPAN class="punctuation token">(</SPAN>connectionRoot<SPAN class="operator token">%</SPAN><SPAN class="punctuation token">(</SPAN>servicepointFC<SPAN class="punctuation token">)</SPAN><SPAN class="punctuation token">,</SPAN>ServicePointFldsOrig<SPAN class="punctuation token">,</SPAN>where_clause<SPAN class="operator token">=</SPAN><SPAN class="string token">"eSupportStructure_GLOBALID = '"</SPAN> <SPAN class="operator token">+</SPAN> unit<SPAN class="punctuation token">[</SPAN><SPAN class="number token">0</SPAN><SPAN class="punctuation token">]</SPAN> <SPAN class="operator token">+</SPAN> <SPAN class="string token">"'"</SPAN><SPAN class="punctuation token">)</SPAN> <SPAN class="keyword token">as</SPAN> svcCur<SPAN class="punctuation token">:</SPAN>
<SPAN class="keyword token">for</SPAN> svc <SPAN class="keyword token">in</SPAN> svcCur<SPAN class="punctuation token">:</SPAN>
<SPAN class="comment token">#print 'Updating...',servicepointFC</SPAN>
idx <SPAN class="operator token">+=</SPAN><SPAN class="number token">1</SPAN>
updateRelatedUnits<SPAN class="punctuation token">(</SPAN>svc<SPAN class="punctuation token">,</SPAN>fldsDestServicePoint<SPAN class="punctuation token">[</SPAN>idx<SPAN class="punctuation token">]</SPAN><SPAN class="punctuation token">,</SPAN>svc<SPAN class="punctuation token">[</SPAN><SPAN class="number token">0</SPAN><SPAN class="punctuation token">]</SPAN><SPAN class="punctuation token">)</SPAN>
idx <SPAN class="operator token">=</SPAN> <SPAN class="operator token">-</SPAN><SPAN class="number token">1</SPAN>
<SPAN class="keyword token">print</SPAN> <SPAN class="punctuation token">(</SPAN><SPAN class="string token">'finished - elapsed time: '</SPAN><SPAN class="punctuation token">)</SPAN><SPAN class="punctuation token">,</SPAN>str<SPAN class="punctuation token">(</SPAN><SPAN class="punctuation token">(</SPAN>time<SPAN class="punctuation token">.</SPAN>time<SPAN class="punctuation token">(</SPAN><SPAN class="punctuation token">)</SPAN> <SPAN class="operator token">-</SPAN> startTime<SPAN class="punctuation token">)</SPAN><SPAN class="operator token">/</SPAN><SPAN class="number token">3600</SPAN><SPAN class="punctuation token">)</SPAN>
<SPAN class="line-numbers-rows"><SPAN></SPAN><SPAN></SPAN><SPAN></SPAN><SPAN></SPAN><SPAN></SPAN><SPAN></SPAN><SPAN></SPAN><SPAN></SPAN><SPAN></SPAN><SPAN></SPAN><SPAN></SPAN><SPAN></SPAN><SPAN></SPAN><SPAN></SPAN><SPAN></SPAN><SPAN></SPAN><SPAN></SPAN><SPAN></SPAN><SPAN></SPAN><SPAN></SPAN><SPAN></SPAN><SPAN></SPAN><SPAN></SPAN><SPAN></SPAN><SPAN></SPAN><SPAN></SPAN><SPAN></SPAN><SPAN></SPAN><SPAN></SPAN><SPAN></SPAN><SPAN></SPAN><SPAN></SPAN><SPAN></SPAN><SPAN></SPAN><SPAN></SPAN><SPAN></SPAN><SPAN></SPAN><SPAN></SPAN><SPAN></SPAN><SPAN></SPAN><SPAN></SPAN><SPAN></SPAN><SPAN></SPAN><SPAN></SPAN><SPAN></SPAN><SPAN></SPAN><SPAN></SPAN><SPAN></SPAN><SPAN></SPAN><SPAN></SPAN><SPAN></SPAN><SPAN></SPAN><SPAN></SPAN><SPAN></SPAN><SPAN></SPAN><SPAN></SPAN><SPAN></SPAN><SPAN></SPAN><SPAN></SPAN><SPAN></SPAN><SPAN></SPAN><SPAN></SPAN><SPAN></SPAN><SPAN></SPAN><SPAN></SPAN><SPAN></SPAN><SPAN></SPAN><SPAN></SPAN><SPAN></SPAN><SPAN></SPAN><SPAN></SPAN><SPAN></SPAN><SPAN></SPAN><SPAN></SPAN><SPAN></SPAN><SPAN></SPAN><SPAN></SPAN><SPAN></SPAN><SPAN></SPAN><SPAN></SPAN><SPAN></SPAN><SPAN></SPAN><SPAN></SPAN><SPAN></SPAN><SPAN></SPAN><SPAN></SPAN><SPAN></SPAN><SPAN></SPAN><SPAN></SPAN><SPAN></SPAN><SPAN></SPAN><SPAN></SPAN><SPAN></SPAN><SPAN></SPAN><SPAN></SPAN><SPAN></SPAN><SPAN></SPAN><SPAN></SPAN><SPAN></SPAN><SPAN></SPAN><SPAN></SPAN><SPAN></SPAN><SPAN></SPAN><SPAN></SPAN><SPAN></SPAN><SPAN></SPAN><SPAN></SPAN><SPAN></SPAN><SPAN></SPAN><SPAN></SPAN><SPAN></SPAN><SPAN></SPAN><SPAN></SPAN><SPAN></SPAN><SPAN></SPAN><SPAN></SPAN><SPAN></SPAN><SPAN></SPAN><SPAN></SPAN><SPAN></SPAN><SPAN></SPAN><SPAN></SPAN><SPAN></SPAN><SPAN></SPAN><SPAN></SPAN><SPAN></SPAN><SPAN></SPAN><SPAN></SPAN><SPAN></SPAN><SPAN></SPAN><SPAN></SPAN><SPAN></SPAN><SPAN></SPAN><SPAN></SPAN><SPAN></SPAN><SPAN></SPAN><SPAN></SPAN><SPAN></SPAN><SPAN></SPAN><SPAN></SPAN><SPAN></SPAN><SPAN></SPAN><SPAN></SPAN><SPAN></SPAN><SPAN></SPAN><SPAN></SPAN><SPAN></SPAN><SPAN></SPAN><SPAN></SPAN><SPAN></SPAN><SPAN></SPAN><SPAN></SPAN><SPAN></SPAN><SPAN></SPAN><SPAN></SPAN><SPAN></SPAN><SPAN></SPAN><SPAN></SPAN><SPAN></SPAN><SPAN></SPAN><SPAN></SPAN><SPAN></SPAN><SPAN></SPAN><SPAN></SPAN><SPAN></SPAN><SPAN></SPAN><SPAN></SPAN><SPAN></SPAN><SPAN></SPAN><SPAN></SPAN><SPAN></SPAN><SPAN></SPAN><SPAN></SPAN><SPAN></SPAN><SPAN></SPAN><SPAN></SPAN><SPAN></SPAN><SPAN></SPAN><SPAN></SPAN><SPAN></SPAN><SPAN></SPAN><SPAN></SPAN><SPAN></SPAN><SPAN></SPAN><SPAN></SPAN><SPAN></SPAN><SPAN></SPAN><SPAN></SPAN><SPAN></SPAN><SPAN></SPAN><SPAN></SPAN><SPAN></SPAN><SPAN></SPAN><SPAN></SPAN><SPAN></SPAN><SPAN></SPAN><SPAN></SPAN><SPAN></SPAN><SPAN></SPAN><SPAN></SPAN><SPAN></SPAN><SPAN></SPAN><SPAN></SPAN><SPAN></SPAN><SPAN></SPAN></SPAN>