<?xml version="1.0" encoding="UTF-8"?>
<rss xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:taxo="http://purl.org/rss/1.0/modules/taxonomy/" version="2.0">
  <channel>
    <title>topic lyr.symbology.reclassify() -&amp;nbsp; causes python crash in Python Questions</title>
    <link>https://community.esri.com/t5/python-questions/lyr-symbology-reclassify-nbsp-causes-python-crash/m-p/520491#M40802</link>
    <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;SPAN&gt;Hello All:&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;I've been trying to get a code to execute for a couple of days now and I have been unsuccessful, I've even started contacting ESRI about it. I'm a mid-level developer and know most of the basics of python and other programming languages. My script continues to crash on the same line of code over and over. I'm attempting to create 1,000+ maps using a template document that continues to be updated based upon different SQL queries. Everytime the code seems to crash on the 73rd iteration of lyr.symbology.reclassify()&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;I'm not exactly sure why this is happening as I cannot get a decent answer from this output in pyCharms &lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;Process finished with exit code -1073741819&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;I've tried running the program in three seperate IDE's and it still does not work.&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt; &lt;/SPAN&gt;&lt;PRE class="lia-code-sample line-numbers language-none"&gt;#-------------------------------------------------------------------------------
# Name:&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; module1
# Purpose:
#
# Author:&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; emeyers
#
# Created:&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 17/03/2014
# Copyright:&amp;nbsp;&amp;nbsp; (c) emeyers 2014
# Licence:&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;your licence&amp;gt;
#-------------------------------------------------------------------------------

import arcpy
import arcpy.mapping as am
import pyodbc
import datetime

def rpwSearchCursor():

&amp;nbsp;&amp;nbsp;&amp;nbsp; rpwRows = arcpy.SearchCursor("Database Connections\\DNAu_GIS_P.sde\\DNAu_GIS_P.EMeyers.RPW_ZONES", "", "", "WrapZone; FIRST_Name", "WrapZone A")

&amp;nbsp;&amp;nbsp;&amp;nbsp; for rpwRow in rpwRows:

&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; rpwZone = str(rpwRow.WrapZone)
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; rpwZoneName = str(rpwRow.FIRST_Name.replace("'", " "))

&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; con = pyodbc.connect('Trusted_Connection=yes', driver = '{SQL Server}',server = 'HIDDEN', database = 'DNAu_GIS_P')
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; cur = con.cursor()

&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; rpwUpdateQuery =\
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; """
&amp;nbsp;&amp;nbsp;&amp;nbsp; INSERT INTO DNAU_GIS_S.EMeyers.DT_RPW_STORE_PROFILES (SHAPE, Store_Num)
&amp;nbsp;&amp;nbsp;&amp;nbsp; SELECT DriveTime.SHAPE, DriveTime.Store
&amp;nbsp;&amp;nbsp;&amp;nbsp; FROM EMeyers.DRIVE_TIME DriveTime
&amp;nbsp;&amp;nbsp;&amp;nbsp; WHERE (SELECT EMeyers.RPW_ZONES.Shape FROM EMeyers.RPW_ZONES WHERE WrapZone = '""" + rpwZone +"""').STIntersects(DriveTime.SHAPE) = 1

&amp;nbsp;&amp;nbsp;&amp;nbsp; UPDATE DNAU_GIS_S.EMeyers.DT_RPW_STORE_PROFILES
&amp;nbsp;&amp;nbsp;&amp;nbsp; SET RPW = '""" + rpwZone + """', Name = '""" + rpwZoneName + """'
&amp;nbsp;&amp;nbsp;&amp;nbsp; FROM DNAU_GIS_S.EMeyers.DT_RPW_STORE_PROFILES
&amp;nbsp;&amp;nbsp;&amp;nbsp; WHERE DNAU_GIS_S.EMeyers.DT_RPW_STORE_PROFILES.RPW IS NULL
&amp;nbsp;&amp;nbsp;&amp;nbsp; """

&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; cur.execute(rpwUpdateQuery)
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; con.commit()



today = datetime.date.today()

firstOfMonth = datetime.date(day=1, month=today.month, year=today.year)

monthYear = datetime.datetime.strptime(str(firstOfMonth), '%Y-%m-%d')
monthYear = monthYear.strftime('%m-%Y')

salesQueryF = str(datetime.date(day=1, month=today.month, year=today.year - 1))

salesQueryT = str(firstOfMonth - datetime.timedelta(days=1))
salesQueryT = salesQueryT.replace(salesQueryT[len(salesQueryT)-2:], '01')

today = today.strftime('%m_%d_%Y')

DT_RPW_Profiles = "Z:\\Maps\\Base_GIS_Data\\Base_Data.gdb\\RedPlumWrap\\DT_RPW_StoreProfiles"
DT_RPW_Profiles_SQL = "Database Connections\\DNAu_GIS_S.sde\\DNAu_GIS_S.EMeyers.DT_RPW_STORE_PROFILES"
DT_RPW_Profiles_TEMP = "Database Connections\\DNAu_GIS_S.sde\\DNAu_GIS_S.EMeyers.DT_RPW_STORE_PROFILES_TEMP"
salesByZipSym = am.Layer("Z:\\Maps\\Base_GIS_Data\\DOCUMENTS\\RPW_Maps_JasonH\\Layers\\SalesByZip.lyr")
rpw_DT_List = []


arcpy.Delete_management(DT_RPW_Profiles)
arcpy.Delete_management(DT_RPW_Profiles_TEMP)
arcpy.TruncateTable_management(DT_RPW_Profiles_SQL)

rpwSearchCursor()

arcpy.Dissolve_management(DT_RPW_Profiles_SQL, DT_RPW_Profiles, "RPW", [["Name", "FIRST"]])
arcpy.CopyFeatures_management(DT_RPW_Profiles, DT_RPW_Profiles_TEMP)

mxd = am.MapDocument("Z:\\Maps\\Base_GIS_Data\\Maps\\RedPlumWraps_JasonH\\working.mxd")
df = am.ListDataFrames(mxd, "Layers")[0]
hftStoresLayer = am.ListLayers(mxd, "Stores", df)[0]
dissolvedDTLayer = am.ListLayers(mxd, "Affected Drive Times-L", df)[0]
dissolvedDTLayerOutline = am.ListLayers(mxd, "Affected Drive Times", df)[0]
RPW_CoverageLayer = am.ListLayers(mxd, "RPW ATZ Coverage", df)[0]

rpwRows = arcpy.SearchCursor(DT_RPW_Profiles_TEMP, "", "", "RPW; FIRST_Name", "RPW A")

for rpwRow in rpwRows:

&amp;nbsp;&amp;nbsp;&amp;nbsp; rpwZone = str(rpwRow.RPW)
&amp;nbsp;&amp;nbsp;&amp;nbsp; rpwZoneName = str(rpwRow.FIRST_Name.replace("'", " "))

&amp;nbsp;&amp;nbsp;&amp;nbsp; rpw_DT_Rows = arcpy.SearchCursor("Database Connections\\DNAu_GIS_S.sde\\DNAu_GIS_S.EMeyers.DT_RPW_STORE_PROFILES", "RPW = '" + rpwZone + "'", "", "Store_Num", "Store_Num A")

&amp;nbsp;&amp;nbsp;&amp;nbsp; for rpw_DT_Row in rpw_DT_Rows:

&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; rpw_DT_List.append(rpw_DT_Row.Store_Num)

&amp;nbsp;&amp;nbsp;&amp;nbsp; rpw_DT_ListESRI = ["%s" % value for value in rpw_DT_List]
&amp;nbsp;&amp;nbsp;&amp;nbsp; rpw_DT_ListSQL = ["'%s'" % value for value in rpw_DT_List]

&amp;nbsp;&amp;nbsp;&amp;nbsp; whereClause_STORES = "%s IN(%s)" % ("Str_Num", ', '.join(map(str, rpw_DT_ListESRI)))
&amp;nbsp;&amp;nbsp;&amp;nbsp; whereClause_ALL = "Date Between '" + str(salesQueryF) + "' AND '" + str(salesQueryT) + "' AND (source = 1) AND %s IN(%s)" % ("Store", ', '.join(map(str, rpw_DT_ListSQL)))

&amp;nbsp;&amp;nbsp;&amp;nbsp; con = pyodbc.connect('Trusted_Connection=yes', driver = '{SQL Server}',server = 'HIDDEN', database = 'DNAu_GIS_S')
&amp;nbsp;&amp;nbsp;&amp;nbsp; cur = con.cursor()

&amp;nbsp;&amp;nbsp;&amp;nbsp; salesUpdateQuery =\
&amp;nbsp;&amp;nbsp;&amp;nbsp; """
&amp;nbsp;&amp;nbsp;&amp;nbsp; UPDATE EMeyers.SALES_NEW_CUST_BY_ZIP
&amp;nbsp;&amp;nbsp;&amp;nbsp; SET StoreNumSales = 0, Total_Sales = 0

&amp;nbsp;&amp;nbsp;&amp;nbsp; UPDATE EMeyers.SALES_NEW_CUST_BY_ZIP
&amp;nbsp;&amp;nbsp;&amp;nbsp; SET Total_Sales = Annual_Sales.Total_Sales
&amp;nbsp;&amp;nbsp;&amp;nbsp; FROM
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; (SELECT MAX(Store) AS Store, MAX(Store_Name) AS Store_Name, Zipcode, SUM(Sales) AS Total_Sales
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; FROM SALES_BY_ZIP_062010_CURRENT
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; WHERE """ + whereClause_ALL + """
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; GROUP BY Zipcode) Annual_Sales

&amp;nbsp;&amp;nbsp;&amp;nbsp; Inner Join EMeyers.SALES_NEW_CUST_BY_ZIP
&amp;nbsp;&amp;nbsp;&amp;nbsp; ON Annual_Sales.Zipcode = EMeyers.SALES_NEW_CUST_BY_ZIP.Zip
&amp;nbsp;&amp;nbsp;&amp;nbsp; """

&amp;nbsp;&amp;nbsp;&amp;nbsp; # Execute SQL query and finalize edits by closing connection and removing 'schema lock'
&amp;nbsp;&amp;nbsp;&amp;nbsp; cur.execute(salesUpdateQuery)
&amp;nbsp;&amp;nbsp;&amp;nbsp; con.commit()

&amp;nbsp;&amp;nbsp;&amp;nbsp; hftStoresLayer.definitionQuery = ""
&amp;nbsp;&amp;nbsp;&amp;nbsp; dissolvedDTLayerOutline.definitionQuery = ""
&amp;nbsp;&amp;nbsp;&amp;nbsp; dissolvedDTLayer.definitionQuery = ""
&amp;nbsp;&amp;nbsp;&amp;nbsp; RPW_CoverageLayer.definitionQuery = ""

&amp;nbsp;&amp;nbsp;&amp;nbsp; hftStoresLayer.definitionQuery = whereClause_STORES
&amp;nbsp;&amp;nbsp;&amp;nbsp; dissolvedDTLayerOutline.definitionQuery = "RPW = '" + rpwZone + "'"
&amp;nbsp;&amp;nbsp;&amp;nbsp; dissolvedDTLayer.definitionQuery = "RPW = '" + rpwZone + "'"
&amp;nbsp;&amp;nbsp;&amp;nbsp; RPW_CoverageLayer.definitionQuery = "WrapZone = '" + rpwZone + "'"

&amp;nbsp;&amp;nbsp;&amp;nbsp; arcpy.SelectLayerByAttribute_management(dissolvedDTLayer, "NEW_SELECTION", "RPW = '" + rpwZone + "'")
&amp;nbsp;&amp;nbsp;&amp;nbsp; arcpy.SelectLayerByAttribute_management(RPW_CoverageLayer, "NEW_SELECTION", "WrapZone = '" + rpwZone + "'")

&amp;nbsp;&amp;nbsp;&amp;nbsp; df.zoomToSelectedFeatures()
&amp;nbsp;&amp;nbsp;&amp;nbsp; #df.scale = df.scale * 1.2

&amp;nbsp;&amp;nbsp;&amp;nbsp; arcpy.SelectLayerByAttribute_management(dissolvedDTLayer, "CLEAR_SELECTION")
&amp;nbsp;&amp;nbsp;&amp;nbsp; arcpy.SelectLayerByAttribute_management(RPW_CoverageLayer, "CLEAR_SELECTION")

&amp;nbsp;&amp;nbsp;&amp;nbsp; for lyr in am.ListLayers(mxd, "", df):

&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; if lyr.name == "Annual Sales By Zip":

&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; if lyr.symbologyType == "GRADUATED_COLORS":

&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;STRONG&gt; lyr.symbology.reclassify()&lt;/STRONG&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; arcpy.ApplySymbologyFromLayer_management(lyr, salesByZipSym)

&amp;nbsp;&amp;nbsp;&amp;nbsp; for name in am.ListLayoutElements(mxd, "TEXT_ELEMENT"):

&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; if name.name == "RPW":
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; name.text = rpwZone

&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; elif name.name == "RPW_Name":
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; name.text = rpwZoneName

&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; elif name.name == "Date":
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; name.text = monthYear

&amp;nbsp;&amp;nbsp;&amp;nbsp; arcpy.RefreshActiveView()
&amp;nbsp;&amp;nbsp;&amp;nbsp; arcpy.RefreshTOC()

&amp;nbsp;&amp;nbsp;&amp;nbsp; mxd.saveACopy("Z:\\Maps\\Base_GIS_Data\\Maps\\RedPlumWraps_JasonH\\RPW_Maps\\Audit\\" + rpwZone + ".mxd")

&amp;nbsp;&amp;nbsp;&amp;nbsp; am.ExportToPDF(mxd, "Z:\\Maps\\Base_GIS_Data\\PDFs\\RedPlumWrap_JasonH\\Audit\\" + rpwZone + ".PDF")

&amp;nbsp;&amp;nbsp;&amp;nbsp; rpw_DT_List[:] = []&lt;/PRE&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;The line that is bolded and in red is where the crash happens. I have hiddent the Server names for security reasons but believe me, they work. I've written code before to do similar things to what I have here for 400+ stores and don't have an issue. &lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;I also tested to make sure that it wasn't an issue with that particular record and sure enough, if I set the where clause to the individual record, the code works perfectly...&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;Any suggestions?&lt;/SPAN&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
    <pubDate>Sun, 12 Dec 2021 16:34:04 GMT</pubDate>
    <dc:creator>ericmeyers</dc:creator>
    <dc:date>2021-12-12T16:34:04Z</dc:date>
    <item>
      <title>lyr.symbology.reclassify() -  causes python crash</title>
      <link>https://community.esri.com/t5/python-questions/lyr-symbology-reclassify-nbsp-causes-python-crash/m-p/520491#M40802</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;SPAN&gt;Hello All:&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;I've been trying to get a code to execute for a couple of days now and I have been unsuccessful, I've even started contacting ESRI about it. I'm a mid-level developer and know most of the basics of python and other programming languages. My script continues to crash on the same line of code over and over. I'm attempting to create 1,000+ maps using a template document that continues to be updated based upon different SQL queries. Everytime the code seems to crash on the 73rd iteration of lyr.symbology.reclassify()&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;I'm not exactly sure why this is happening as I cannot get a decent answer from this output in pyCharms &lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;Process finished with exit code -1073741819&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;I've tried running the program in three seperate IDE's and it still does not work.&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt; &lt;/SPAN&gt;&lt;PRE class="lia-code-sample line-numbers language-none"&gt;#-------------------------------------------------------------------------------
# Name:&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; module1
# Purpose:
#
# Author:&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; emeyers
#
# Created:&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 17/03/2014
# Copyright:&amp;nbsp;&amp;nbsp; (c) emeyers 2014
# Licence:&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;your licence&amp;gt;
#-------------------------------------------------------------------------------

import arcpy
import arcpy.mapping as am
import pyodbc
import datetime

def rpwSearchCursor():

&amp;nbsp;&amp;nbsp;&amp;nbsp; rpwRows = arcpy.SearchCursor("Database Connections\\DNAu_GIS_P.sde\\DNAu_GIS_P.EMeyers.RPW_ZONES", "", "", "WrapZone; FIRST_Name", "WrapZone A")

&amp;nbsp;&amp;nbsp;&amp;nbsp; for rpwRow in rpwRows:

&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; rpwZone = str(rpwRow.WrapZone)
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; rpwZoneName = str(rpwRow.FIRST_Name.replace("'", " "))

&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; con = pyodbc.connect('Trusted_Connection=yes', driver = '{SQL Server}',server = 'HIDDEN', database = 'DNAu_GIS_P')
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; cur = con.cursor()

&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; rpwUpdateQuery =\
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; """
&amp;nbsp;&amp;nbsp;&amp;nbsp; INSERT INTO DNAU_GIS_S.EMeyers.DT_RPW_STORE_PROFILES (SHAPE, Store_Num)
&amp;nbsp;&amp;nbsp;&amp;nbsp; SELECT DriveTime.SHAPE, DriveTime.Store
&amp;nbsp;&amp;nbsp;&amp;nbsp; FROM EMeyers.DRIVE_TIME DriveTime
&amp;nbsp;&amp;nbsp;&amp;nbsp; WHERE (SELECT EMeyers.RPW_ZONES.Shape FROM EMeyers.RPW_ZONES WHERE WrapZone = '""" + rpwZone +"""').STIntersects(DriveTime.SHAPE) = 1

&amp;nbsp;&amp;nbsp;&amp;nbsp; UPDATE DNAU_GIS_S.EMeyers.DT_RPW_STORE_PROFILES
&amp;nbsp;&amp;nbsp;&amp;nbsp; SET RPW = '""" + rpwZone + """', Name = '""" + rpwZoneName + """'
&amp;nbsp;&amp;nbsp;&amp;nbsp; FROM DNAU_GIS_S.EMeyers.DT_RPW_STORE_PROFILES
&amp;nbsp;&amp;nbsp;&amp;nbsp; WHERE DNAU_GIS_S.EMeyers.DT_RPW_STORE_PROFILES.RPW IS NULL
&amp;nbsp;&amp;nbsp;&amp;nbsp; """

&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; cur.execute(rpwUpdateQuery)
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; con.commit()



today = datetime.date.today()

firstOfMonth = datetime.date(day=1, month=today.month, year=today.year)

monthYear = datetime.datetime.strptime(str(firstOfMonth), '%Y-%m-%d')
monthYear = monthYear.strftime('%m-%Y')

salesQueryF = str(datetime.date(day=1, month=today.month, year=today.year - 1))

salesQueryT = str(firstOfMonth - datetime.timedelta(days=1))
salesQueryT = salesQueryT.replace(salesQueryT[len(salesQueryT)-2:], '01')

today = today.strftime('%m_%d_%Y')

DT_RPW_Profiles = "Z:\\Maps\\Base_GIS_Data\\Base_Data.gdb\\RedPlumWrap\\DT_RPW_StoreProfiles"
DT_RPW_Profiles_SQL = "Database Connections\\DNAu_GIS_S.sde\\DNAu_GIS_S.EMeyers.DT_RPW_STORE_PROFILES"
DT_RPW_Profiles_TEMP = "Database Connections\\DNAu_GIS_S.sde\\DNAu_GIS_S.EMeyers.DT_RPW_STORE_PROFILES_TEMP"
salesByZipSym = am.Layer("Z:\\Maps\\Base_GIS_Data\\DOCUMENTS\\RPW_Maps_JasonH\\Layers\\SalesByZip.lyr")
rpw_DT_List = []


arcpy.Delete_management(DT_RPW_Profiles)
arcpy.Delete_management(DT_RPW_Profiles_TEMP)
arcpy.TruncateTable_management(DT_RPW_Profiles_SQL)

rpwSearchCursor()

arcpy.Dissolve_management(DT_RPW_Profiles_SQL, DT_RPW_Profiles, "RPW", [["Name", "FIRST"]])
arcpy.CopyFeatures_management(DT_RPW_Profiles, DT_RPW_Profiles_TEMP)

mxd = am.MapDocument("Z:\\Maps\\Base_GIS_Data\\Maps\\RedPlumWraps_JasonH\\working.mxd")
df = am.ListDataFrames(mxd, "Layers")[0]
hftStoresLayer = am.ListLayers(mxd, "Stores", df)[0]
dissolvedDTLayer = am.ListLayers(mxd, "Affected Drive Times-L", df)[0]
dissolvedDTLayerOutline = am.ListLayers(mxd, "Affected Drive Times", df)[0]
RPW_CoverageLayer = am.ListLayers(mxd, "RPW ATZ Coverage", df)[0]

rpwRows = arcpy.SearchCursor(DT_RPW_Profiles_TEMP, "", "", "RPW; FIRST_Name", "RPW A")

for rpwRow in rpwRows:

&amp;nbsp;&amp;nbsp;&amp;nbsp; rpwZone = str(rpwRow.RPW)
&amp;nbsp;&amp;nbsp;&amp;nbsp; rpwZoneName = str(rpwRow.FIRST_Name.replace("'", " "))

&amp;nbsp;&amp;nbsp;&amp;nbsp; rpw_DT_Rows = arcpy.SearchCursor("Database Connections\\DNAu_GIS_S.sde\\DNAu_GIS_S.EMeyers.DT_RPW_STORE_PROFILES", "RPW = '" + rpwZone + "'", "", "Store_Num", "Store_Num A")

&amp;nbsp;&amp;nbsp;&amp;nbsp; for rpw_DT_Row in rpw_DT_Rows:

&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; rpw_DT_List.append(rpw_DT_Row.Store_Num)

&amp;nbsp;&amp;nbsp;&amp;nbsp; rpw_DT_ListESRI = ["%s" % value for value in rpw_DT_List]
&amp;nbsp;&amp;nbsp;&amp;nbsp; rpw_DT_ListSQL = ["'%s'" % value for value in rpw_DT_List]

&amp;nbsp;&amp;nbsp;&amp;nbsp; whereClause_STORES = "%s IN(%s)" % ("Str_Num", ', '.join(map(str, rpw_DT_ListESRI)))
&amp;nbsp;&amp;nbsp;&amp;nbsp; whereClause_ALL = "Date Between '" + str(salesQueryF) + "' AND '" + str(salesQueryT) + "' AND (source = 1) AND %s IN(%s)" % ("Store", ', '.join(map(str, rpw_DT_ListSQL)))

&amp;nbsp;&amp;nbsp;&amp;nbsp; con = pyodbc.connect('Trusted_Connection=yes', driver = '{SQL Server}',server = 'HIDDEN', database = 'DNAu_GIS_S')
&amp;nbsp;&amp;nbsp;&amp;nbsp; cur = con.cursor()

&amp;nbsp;&amp;nbsp;&amp;nbsp; salesUpdateQuery =\
&amp;nbsp;&amp;nbsp;&amp;nbsp; """
&amp;nbsp;&amp;nbsp;&amp;nbsp; UPDATE EMeyers.SALES_NEW_CUST_BY_ZIP
&amp;nbsp;&amp;nbsp;&amp;nbsp; SET StoreNumSales = 0, Total_Sales = 0

&amp;nbsp;&amp;nbsp;&amp;nbsp; UPDATE EMeyers.SALES_NEW_CUST_BY_ZIP
&amp;nbsp;&amp;nbsp;&amp;nbsp; SET Total_Sales = Annual_Sales.Total_Sales
&amp;nbsp;&amp;nbsp;&amp;nbsp; FROM
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; (SELECT MAX(Store) AS Store, MAX(Store_Name) AS Store_Name, Zipcode, SUM(Sales) AS Total_Sales
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; FROM SALES_BY_ZIP_062010_CURRENT
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; WHERE """ + whereClause_ALL + """
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; GROUP BY Zipcode) Annual_Sales

&amp;nbsp;&amp;nbsp;&amp;nbsp; Inner Join EMeyers.SALES_NEW_CUST_BY_ZIP
&amp;nbsp;&amp;nbsp;&amp;nbsp; ON Annual_Sales.Zipcode = EMeyers.SALES_NEW_CUST_BY_ZIP.Zip
&amp;nbsp;&amp;nbsp;&amp;nbsp; """

&amp;nbsp;&amp;nbsp;&amp;nbsp; # Execute SQL query and finalize edits by closing connection and removing 'schema lock'
&amp;nbsp;&amp;nbsp;&amp;nbsp; cur.execute(salesUpdateQuery)
&amp;nbsp;&amp;nbsp;&amp;nbsp; con.commit()

&amp;nbsp;&amp;nbsp;&amp;nbsp; hftStoresLayer.definitionQuery = ""
&amp;nbsp;&amp;nbsp;&amp;nbsp; dissolvedDTLayerOutline.definitionQuery = ""
&amp;nbsp;&amp;nbsp;&amp;nbsp; dissolvedDTLayer.definitionQuery = ""
&amp;nbsp;&amp;nbsp;&amp;nbsp; RPW_CoverageLayer.definitionQuery = ""

&amp;nbsp;&amp;nbsp;&amp;nbsp; hftStoresLayer.definitionQuery = whereClause_STORES
&amp;nbsp;&amp;nbsp;&amp;nbsp; dissolvedDTLayerOutline.definitionQuery = "RPW = '" + rpwZone + "'"
&amp;nbsp;&amp;nbsp;&amp;nbsp; dissolvedDTLayer.definitionQuery = "RPW = '" + rpwZone + "'"
&amp;nbsp;&amp;nbsp;&amp;nbsp; RPW_CoverageLayer.definitionQuery = "WrapZone = '" + rpwZone + "'"

&amp;nbsp;&amp;nbsp;&amp;nbsp; arcpy.SelectLayerByAttribute_management(dissolvedDTLayer, "NEW_SELECTION", "RPW = '" + rpwZone + "'")
&amp;nbsp;&amp;nbsp;&amp;nbsp; arcpy.SelectLayerByAttribute_management(RPW_CoverageLayer, "NEW_SELECTION", "WrapZone = '" + rpwZone + "'")

&amp;nbsp;&amp;nbsp;&amp;nbsp; df.zoomToSelectedFeatures()
&amp;nbsp;&amp;nbsp;&amp;nbsp; #df.scale = df.scale * 1.2

&amp;nbsp;&amp;nbsp;&amp;nbsp; arcpy.SelectLayerByAttribute_management(dissolvedDTLayer, "CLEAR_SELECTION")
&amp;nbsp;&amp;nbsp;&amp;nbsp; arcpy.SelectLayerByAttribute_management(RPW_CoverageLayer, "CLEAR_SELECTION")

&amp;nbsp;&amp;nbsp;&amp;nbsp; for lyr in am.ListLayers(mxd, "", df):

&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; if lyr.name == "Annual Sales By Zip":

&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; if lyr.symbologyType == "GRADUATED_COLORS":

&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;STRONG&gt; lyr.symbology.reclassify()&lt;/STRONG&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; arcpy.ApplySymbologyFromLayer_management(lyr, salesByZipSym)

&amp;nbsp;&amp;nbsp;&amp;nbsp; for name in am.ListLayoutElements(mxd, "TEXT_ELEMENT"):

&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; if name.name == "RPW":
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; name.text = rpwZone

&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; elif name.name == "RPW_Name":
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; name.text = rpwZoneName

&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; elif name.name == "Date":
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; name.text = monthYear

&amp;nbsp;&amp;nbsp;&amp;nbsp; arcpy.RefreshActiveView()
&amp;nbsp;&amp;nbsp;&amp;nbsp; arcpy.RefreshTOC()

&amp;nbsp;&amp;nbsp;&amp;nbsp; mxd.saveACopy("Z:\\Maps\\Base_GIS_Data\\Maps\\RedPlumWraps_JasonH\\RPW_Maps\\Audit\\" + rpwZone + ".mxd")

&amp;nbsp;&amp;nbsp;&amp;nbsp; am.ExportToPDF(mxd, "Z:\\Maps\\Base_GIS_Data\\PDFs\\RedPlumWrap_JasonH\\Audit\\" + rpwZone + ".PDF")

&amp;nbsp;&amp;nbsp;&amp;nbsp; rpw_DT_List[:] = []&lt;/PRE&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;The line that is bolded and in red is where the crash happens. I have hiddent the Server names for security reasons but believe me, they work. I've written code before to do similar things to what I have here for 400+ stores and don't have an issue. &lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;I also tested to make sure that it wasn't an issue with that particular record and sure enough, if I set the where clause to the individual record, the code works perfectly...&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;Any suggestions?&lt;/SPAN&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Sun, 12 Dec 2021 16:34:04 GMT</pubDate>
      <guid>https://community.esri.com/t5/python-questions/lyr-symbology-reclassify-nbsp-causes-python-crash/m-p/520491#M40802</guid>
      <dc:creator>ericmeyers</dc:creator>
      <dc:date>2021-12-12T16:34:04Z</dc:date>
    </item>
  </channel>
</rss>

