Hello.
I have created a custom ArcGIS tool, and need to automate this tool so that it can be scheduled to run weekly outside of ArcMap.
Right now, I have a version of the tool that runs inside of an ArcMap session, with the input table and target feature class as user defined parameters.
Here is the code that I have so far.
My Try/Except block is commented out for testing purposes.
The goal is that the script will join an SDE view table to a GDB feature class, select based on some criteria, calculate some fields, than remove the join. Works great as a tool, but getting it to work outside of that has proven impossible so far.
Thanks for any help!
<SPAN class="keyword token">import</SPAN> arcpy<SPAN class="punctuation token">,</SPAN> sys<SPAN class="punctuation token">,</SPAN> string<SPAN class="punctuation token">,</SPAN> os<SPAN class="punctuation token">,</SPAN> subprocess
gca <SPAN class="operator token">=</SPAN> vca <SPAN class="operator token">=</SPAN> <SPAN class="string token">"Conservation_Area_Name"</SPAN>
gcn <SPAN class="operator token">=</SPAN> vcn <SPAN class="operator token">=</SPAN> <SPAN class="string token">"Conservation_Area_Number"</SPAN>
gn <SPAN class="operator token">=</SPAN> vn <SPAN class="operator token">=</SPAN> <SPAN class="string token">"Network"</SPAN>
gfi <SPAN class="operator token">=</SPAN> <SPAN class="string token">"Field_ID"</SPAN>
gai <SPAN class="operator token">=</SPAN> <SPAN class="string token">"Asset_ID"</SPAN>
gt1n <SPAN class="operator token">=</SPAN> <SPAN class="string token">"Tier_1_System_Name"</SPAN>
gt1t <SPAN class="operator token">=</SPAN> <SPAN class="string token">"Tier_1_System_Type"</SPAN>
gt2n <SPAN class="operator token">=</SPAN> <SPAN class="string token">"Tier_2_Major_Subsystem_Name"</SPAN>
gt2t <SPAN class="operator token">=</SPAN> <SPAN class="string token">"Tier_2_Major_Subsystem_Type"</SPAN>
gt3n <SPAN class="operator token">=</SPAN> <SPAN class="string token">"Tier_3_Minor_Subsystem_Name"</SPAN>
gt3t <SPAN class="operator token">=</SPAN> <SPAN class="string token">"Tier_3_Minor_Subsystem_Type"</SPAN>
gt4n <SPAN class="operator token">=</SPAN> <SPAN class="string token">"Asset_Name"</SPAN>
vfi <SPAN class="operator token">=</SPAN> <SPAN class="string token">"FieldID"</SPAN>
vai <SPAN class="operator token">=</SPAN> <SPAN class="string token">"AssetID"</SPAN>
vt1n <SPAN class="operator token">=</SPAN> <SPAN class="string token">"Tier_1_Name"</SPAN>
vt1t <SPAN class="operator token">=</SPAN> <SPAN class="string token">"Tier_1_Type"</SPAN>
vt2n <SPAN class="operator token">=</SPAN> <SPAN class="string token">"Tier_2_Name"</SPAN>
vt2t <SPAN class="operator token">=</SPAN> <SPAN class="string token">"Tier_2_Type"</SPAN>
vt3n <SPAN class="operator token">=</SPAN> <SPAN class="string token">"Tier_3_Name"</SPAN>
vt3t <SPAN class="operator token">=</SPAN> <SPAN class="string token">"Tier_3_Type"</SPAN>
vt4n <SPAN class="operator token">=</SPAN> <SPAN class="string token">"Tier_4_Name"</SPAN>
gdfcin <SPAN class="operator token">=</SPAN> r<SPAN class="string token">'C:\Projects\MDC\DataUpdate_20180315\MDC_PhysModel_FieldID_20180315.gdb\Exterior_Electrical\Phase_Converter_Exterior'</SPAN>
gdfc <SPAN class="operator token">=</SPAN> gdfcin<SPAN class="punctuation token">.</SPAN>split<SPAN class="punctuation token">(</SPAN><SPAN class="string token">'\\'</SPAN><SPAN class="punctuation token">)</SPAN><SPAN class="punctuation token">[</SPAN><SPAN class="operator token">-</SPAN><SPAN class="number token">1</SPAN><SPAN class="punctuation token">]</SPAN>
vwfcin <SPAN class="operator token">=</SPAN> r<SPAN class="string token">'C:\Users\rbasaria\AppData\Roaming\ESRI\Desktop10.4\ArcCatalog\MDCTest_1025.sde\MDCTest_1025.dbo.ViewETL_FacilityType_PhaseConverterExterior'</SPAN>
vwfc <SPAN class="operator token">=</SPAN> vwfcin<SPAN class="punctuation token">.</SPAN>split<SPAN class="punctuation token">(</SPAN><SPAN class="string token">'\\'</SPAN><SPAN class="punctuation token">)</SPAN><SPAN class="punctuation token">[</SPAN><SPAN class="operator token">-</SPAN><SPAN class="number token">1</SPAN><SPAN class="punctuation token">]</SPAN>
slct <SPAN class="operator token">=</SPAN> gdfc<SPAN class="operator token">+</SPAN><SPAN class="string token">"."</SPAN><SPAN class="operator token">+</SPAN>gai<SPAN class="operator token">+</SPAN><SPAN class="string token">" IS NULL OR ("</SPAN><SPAN class="operator token">+</SPAN>gdfc<SPAN class="operator token">+</SPAN><SPAN class="string token">"."</SPAN><SPAN class="operator token">+</SPAN>gai<SPAN class="operator token">+</SPAN><SPAN class="string token">" <> "</SPAN><SPAN class="operator token">+</SPAN>vwfc<SPAN class="operator token">+</SPAN><SPAN class="string token">"."</SPAN><SPAN class="operator token">+</SPAN>vai<SPAN class="operator token">+</SPAN><SPAN class="string token">")"</SPAN>
<SPAN class="comment token">#try:</SPAN>
arcpy<SPAN class="punctuation token">.</SPAN>AddJoin_management<SPAN class="punctuation token">(</SPAN>gdfcin<SPAN class="punctuation token">,</SPAN> gfi<SPAN class="punctuation token">,</SPAN> vwfcin<SPAN class="punctuation token">,</SPAN> vfi<SPAN class="punctuation token">)</SPAN>
arcpy<SPAN class="punctuation token">.</SPAN>SelectLayerByAttribute_management<SPAN class="punctuation token">(</SPAN>gdfcin<SPAN class="punctuation token">,</SPAN> <SPAN class="string token">"NEW_SELECTION"</SPAN><SPAN class="punctuation token">,</SPAN> slct<SPAN class="punctuation token">)</SPAN>
arcpy<SPAN class="punctuation token">.</SPAN>CalculateField_management<SPAN class="punctuation token">(</SPAN>gdfcin<SPAN class="punctuation token">,</SPAN> gdfc<SPAN class="operator token">+</SPAN><SPAN class="string token">"."</SPAN><SPAN class="operator token">+</SPAN>gai<SPAN class="punctuation token">,</SPAN> <SPAN class="string token">"["</SPAN><SPAN class="operator token">+</SPAN>vwfc<SPAN class="operator token">+</SPAN><SPAN class="string token">"."</SPAN><SPAN class="operator token">+</SPAN>vai<SPAN class="operator token">+</SPAN><SPAN class="string token">"]"</SPAN><SPAN class="punctuation token">,</SPAN> <SPAN class="string token">"VB"</SPAN><SPAN class="punctuation token">,</SPAN> <SPAN class="string token">""</SPAN><SPAN class="punctuation token">)</SPAN>
arcpy<SPAN class="punctuation token">.</SPAN>CalculateField_management<SPAN class="punctuation token">(</SPAN>gdfcin<SPAN class="punctuation token">,</SPAN> gdfc<SPAN class="operator token">+</SPAN><SPAN class="string token">"."</SPAN><SPAN class="operator token">+</SPAN>gca<SPAN class="punctuation token">,</SPAN> <SPAN class="string token">"["</SPAN><SPAN class="operator token">+</SPAN>vwfc<SPAN class="operator token">+</SPAN><SPAN class="string token">"."</SPAN><SPAN class="operator token">+</SPAN>vca<SPAN class="operator token">+</SPAN><SPAN class="string token">"]"</SPAN><SPAN class="punctuation token">,</SPAN> <SPAN class="string token">"VB"</SPAN><SPAN class="punctuation token">,</SPAN> <SPAN class="string token">""</SPAN><SPAN class="punctuation token">)</SPAN>
arcpy<SPAN class="punctuation token">.</SPAN>CalculateField_management<SPAN class="punctuation token">(</SPAN>gdfcin<SPAN class="punctuation token">,</SPAN> gdfc<SPAN class="operator token">+</SPAN><SPAN class="string token">"."</SPAN><SPAN class="operator token">+</SPAN>gcn<SPAN class="punctuation token">,</SPAN> <SPAN class="string token">"["</SPAN><SPAN class="operator token">+</SPAN>vwfc<SPAN class="operator token">+</SPAN><SPAN class="string token">"."</SPAN><SPAN class="operator token">+</SPAN>vcn<SPAN class="operator token">+</SPAN><SPAN class="string token">"]"</SPAN><SPAN class="punctuation token">,</SPAN> <SPAN class="string token">"VB"</SPAN><SPAN class="punctuation token">,</SPAN> <SPAN class="string token">""</SPAN><SPAN class="punctuation token">)</SPAN>
arcpy<SPAN class="punctuation token">.</SPAN>CalculateField_management<SPAN class="punctuation token">(</SPAN>gdfcin<SPAN class="punctuation token">,</SPAN> gdfc<SPAN class="operator token">+</SPAN><SPAN class="string token">"."</SPAN><SPAN class="operator token">+</SPAN>gn<SPAN class="punctuation token">,</SPAN> <SPAN class="string token">"["</SPAN><SPAN class="operator token">+</SPAN>vwfc<SPAN class="operator token">+</SPAN><SPAN class="string token">"."</SPAN><SPAN class="operator token">+</SPAN>vn<SPAN class="operator token">+</SPAN><SPAN class="string token">"]"</SPAN><SPAN class="punctuation token">,</SPAN> <SPAN class="string token">"VB"</SPAN><SPAN class="punctuation token">,</SPAN> <SPAN class="string token">""</SPAN><SPAN class="punctuation token">)</SPAN>
arcpy<SPAN class="punctuation token">.</SPAN>CalculateField_management<SPAN class="punctuation token">(</SPAN>gdfcin<SPAN class="punctuation token">,</SPAN> gdfc<SPAN class="operator token">+</SPAN><SPAN class="string token">"."</SPAN><SPAN class="operator token">+</SPAN>gt1n<SPAN class="punctuation token">,</SPAN> <SPAN class="string token">"["</SPAN><SPAN class="operator token">+</SPAN>vwfc<SPAN class="operator token">+</SPAN><SPAN class="string token">"."</SPAN><SPAN class="operator token">+</SPAN>vt1n<SPAN class="operator token">+</SPAN><SPAN class="string token">"]"</SPAN><SPAN class="punctuation token">,</SPAN> <SPAN class="string token">"VB"</SPAN><SPAN class="punctuation token">,</SPAN> <SPAN class="string token">""</SPAN><SPAN class="punctuation token">)</SPAN>
arcpy<SPAN class="punctuation token">.</SPAN>CalculateField_management<SPAN class="punctuation token">(</SPAN>gdfcin<SPAN class="punctuation token">,</SPAN> gdfc<SPAN class="operator token">+</SPAN><SPAN class="string token">"."</SPAN><SPAN class="operator token">+</SPAN>gt1t<SPAN class="punctuation token">,</SPAN> <SPAN class="string token">"["</SPAN><SPAN class="operator token">+</SPAN>vwfc<SPAN class="operator token">+</SPAN><SPAN class="string token">"."</SPAN><SPAN class="operator token">+</SPAN>vt1t<SPAN class="operator token">+</SPAN><SPAN class="string token">"]"</SPAN><SPAN class="punctuation token">,</SPAN> <SPAN class="string token">"VB"</SPAN><SPAN class="punctuation token">,</SPAN> <SPAN class="string token">""</SPAN><SPAN class="punctuation token">)</SPAN>
arcpy<SPAN class="punctuation token">.</SPAN>CalculateField_management<SPAN class="punctuation token">(</SPAN>gdfcin<SPAN class="punctuation token">,</SPAN> gdfc<SPAN class="operator token">+</SPAN><SPAN class="string token">"."</SPAN><SPAN class="operator token">+</SPAN>gt2n<SPAN class="punctuation token">,</SPAN> <SPAN class="string token">"["</SPAN><SPAN class="operator token">+</SPAN>vwfc<SPAN class="operator token">+</SPAN><SPAN class="string token">"."</SPAN><SPAN class="operator token">+</SPAN>vt2n<SPAN class="operator token">+</SPAN><SPAN class="string token">"]"</SPAN><SPAN class="punctuation token">,</SPAN> <SPAN class="string token">"VB"</SPAN><SPAN class="punctuation token">,</SPAN> <SPAN class="string token">""</SPAN><SPAN class="punctuation token">)</SPAN>
arcpy<SPAN class="punctuation token">.</SPAN>CalculateField_management<SPAN class="punctuation token">(</SPAN>gdfcin<SPAN class="punctuation token">,</SPAN> gdfc<SPAN class="operator token">+</SPAN><SPAN class="string token">"."</SPAN><SPAN class="operator token">+</SPAN>gt2t<SPAN class="punctuation token">,</SPAN> <SPAN class="string token">"["</SPAN><SPAN class="operator token">+</SPAN>vwfc<SPAN class="operator token">+</SPAN><SPAN class="string token">"."</SPAN><SPAN class="operator token">+</SPAN>vt2t<SPAN class="operator token">+</SPAN><SPAN class="string token">"]"</SPAN><SPAN class="punctuation token">,</SPAN> <SPAN class="string token">"VB"</SPAN><SPAN class="punctuation token">,</SPAN> <SPAN class="string token">""</SPAN><SPAN class="punctuation token">)</SPAN>
arcpy<SPAN class="punctuation token">.</SPAN>CalculateField_management<SPAN class="punctuation token">(</SPAN>gdfcin<SPAN class="punctuation token">,</SPAN> gdfc<SPAN class="operator token">+</SPAN><SPAN class="string token">"."</SPAN><SPAN class="operator token">+</SPAN>gt3n<SPAN class="punctuation token">,</SPAN> <SPAN class="string token">"["</SPAN><SPAN class="operator token">+</SPAN>vwfc<SPAN class="operator token">+</SPAN><SPAN class="string token">"."</SPAN><SPAN class="operator token">+</SPAN>vt3n<SPAN class="operator token">+</SPAN><SPAN class="string token">"]"</SPAN><SPAN class="punctuation token">,</SPAN> <SPAN class="string token">"VB"</SPAN><SPAN class="punctuation token">,</SPAN> <SPAN class="string token">""</SPAN><SPAN class="punctuation token">)</SPAN>
arcpy<SPAN class="punctuation token">.</SPAN>CalculateField_management<SPAN class="punctuation token">(</SPAN>gdfcin<SPAN class="punctuation token">,</SPAN> gdfc<SPAN class="operator token">+</SPAN><SPAN class="string token">"."</SPAN><SPAN class="operator token">+</SPAN>gt3t<SPAN class="punctuation token">,</SPAN> <SPAN class="string token">"["</SPAN><SPAN class="operator token">+</SPAN>vwfc<SPAN class="operator token">+</SPAN><SPAN class="string token">"."</SPAN><SPAN class="operator token">+</SPAN>vt3t<SPAN class="operator token">+</SPAN><SPAN class="string token">"]"</SPAN><SPAN class="punctuation token">,</SPAN> <SPAN class="string token">"VB"</SPAN><SPAN class="punctuation token">,</SPAN> <SPAN class="string token">""</SPAN><SPAN class="punctuation token">)</SPAN>
arcpy<SPAN class="punctuation token">.</SPAN>CalculateField_management<SPAN class="punctuation token">(</SPAN>gdfcin<SPAN class="punctuation token">,</SPAN> gdfc<SPAN class="operator token">+</SPAN><SPAN class="string token">"."</SPAN><SPAN class="operator token">+</SPAN>gt4n<SPAN class="punctuation token">,</SPAN> <SPAN class="string token">"["</SPAN><SPAN class="operator token">+</SPAN>vwfc<SPAN class="operator token">+</SPAN><SPAN class="string token">"."</SPAN><SPAN class="operator token">+</SPAN>vt4n<SPAN class="operator token">+</SPAN><SPAN class="string token">"]"</SPAN><SPAN class="punctuation token">,</SPAN> <SPAN class="string token">"VB"</SPAN><SPAN class="punctuation token">,</SPAN> <SPAN class="string token">""</SPAN><SPAN class="punctuation token">)</SPAN>
<SPAN class="comment token">#except:</SPAN>
<SPAN class="comment token"># print arcpy.GetMessages()</SPAN>
arcpy<SPAN class="punctuation token">.</SPAN>RemoveJoin_management<SPAN class="punctuation token">(</SPAN>gdfcin<SPAN class="punctuation token">)</SPAN>
arcpy<SPAN class="punctuation token">.</SPAN>SelectLayerByAttribute_management<SPAN class="punctuation token">(</SPAN>gdfcin<SPAN class="punctuation token">,</SPAN> <SPAN class="string token">"CLEAR_SELECTION"</SPAN><SPAN class="punctuation token">,</SPAN> <SPAN class="string token">""</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>