<?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>idea Change &amp;quot;Split Policy&amp;quot; for all or many Domains at Once in ArcGIS Pro Ideas</title>
    <link>https://community.esri.com/t5/arcgis-pro-ideas/change-quot-split-policy-quot-for-all-or-many/idi-p/1401669</link>
    <description>&lt;P&gt;ESRI should implement a feature that allows the user to change the Split Policy for all of the domains in a feature class or geodatabase at the same time. Most often when splitting a shape feature, the original information from all or most fields is desired to be retained in both of the new records. Changing the split domain for all domains to "Duplicate" from "Default" one by one is cumbersome and time consuming. An ArcPy solution is shown in another thread, however this would be a useful feature to implement in the GUI to streamline workflows for many users.&lt;/P&gt;</description>
    <pubDate>Wed, 27 Mar 2024 20:15:33 GMT</pubDate>
    <dc:creator>EricPetersen</dc:creator>
    <dc:date>2024-03-27T20:15:33Z</dc:date>
    <item>
      <title>Change "Split Policy" for all or many Domains at Once</title>
      <link>https://community.esri.com/t5/arcgis-pro-ideas/change-quot-split-policy-quot-for-all-or-many/idi-p/1401669</link>
      <description>&lt;P&gt;ESRI should implement a feature that allows the user to change the Split Policy for all of the domains in a feature class or geodatabase at the same time. Most often when splitting a shape feature, the original information from all or most fields is desired to be retained in both of the new records. Changing the split domain for all domains to "Duplicate" from "Default" one by one is cumbersome and time consuming. An ArcPy solution is shown in another thread, however this would be a useful feature to implement in the GUI to streamline workflows for many users.&lt;/P&gt;</description>
      <pubDate>Wed, 27 Mar 2024 20:15:33 GMT</pubDate>
      <guid>https://community.esri.com/t5/arcgis-pro-ideas/change-quot-split-policy-quot-for-all-or-many/idi-p/1401669</guid>
      <dc:creator>EricPetersen</dc:creator>
      <dc:date>2024-03-27T20:15:33Z</dc:date>
    </item>
    <item>
      <title>Re: Change "Split Policy" for all or many Domains at Once</title>
      <link>https://community.esri.com/t5/arcgis-pro-ideas/change-quot-split-policy-quot-for-all-or-many/idc-p/1404947#M29179</link>
      <description>&lt;P&gt;Thanks for the Idea &lt;a href="https://community.esri.com/t5/user/viewprofilepage/user-id/780107"&gt;@EricPetersen&lt;/a&gt;&amp;nbsp;.&amp;nbsp; I can see how this would be a useful feature in the UI now that we've enabled multiselect in the domains view.&lt;/P&gt;&lt;P&gt;For those finding themselves here while this idea develops, the following python command can be used to achieve this.&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;LI-CODE lang="c"&gt;import arcpy

gdb = &amp;lt;path to your geodatabase&amp;gt;
split = "DEFAULT" # (DEFAULT/DUPLICATE/GEOMETRY_RATIO* - Range Domains Only ))

domains = arcpy.da.ListDomains(gdb)

for domain in domains:
    arcpy.management.AlterDomain(
        in_workspace=gdb, 
        domain_name=domain.name,  
        split_policy=split, 
    )&lt;/LI-CODE&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;For more information on the Alter Domain GP tool check out the documentation below.&lt;/P&gt;&lt;P&gt;&lt;A href="https://pro.arcgis.com/en/pro-app/latest/tool-reference/data-management/alter-domain.htm" target="_blank" rel="noopener"&gt;Alter Domain Geoprocessing Tool&lt;/A&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;</description>
      <pubDate>Tue, 02 Apr 2024 23:08:16 GMT</pubDate>
      <guid>https://community.esri.com/t5/arcgis-pro-ideas/change-quot-split-policy-quot-for-all-or-many/idc-p/1404947#M29179</guid>
      <dc:creator>SSWoodward</dc:creator>
      <dc:date>2024-04-02T23:08:16Z</dc:date>
    </item>
    <item>
      <title>Re: Change "Split Policy" for all or many Domains at Once</title>
      <link>https://community.esri.com/t5/arcgis-pro-ideas/change-quot-split-policy-quot-for-all-or-many/idc-p/1576605#M33512</link>
      <description>&lt;P&gt;Good Day&amp;nbsp;&lt;a href="https://community.esri.com/t5/user/viewprofilepage/user-id/604859"&gt;@SSWoodward&lt;/a&gt;&amp;nbsp;,&lt;/P&gt;&lt;P&gt;I presume that I still need to remove any locks on the EGDB before running the script?&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;Thank you&lt;/P&gt;&lt;P&gt;&lt;a href="https://community.esri.com/t5/user/viewprofilepage/user-id/559105"&gt;@SGTomlins&lt;/a&gt;&amp;nbsp;&lt;/P&gt;</description>
      <pubDate>Thu, 16 Jan 2025 21:14:07 GMT</pubDate>
      <guid>https://community.esri.com/t5/arcgis-pro-ideas/change-quot-split-policy-quot-for-all-or-many/idc-p/1576605#M33512</guid>
      <dc:creator>SGTomlins</dc:creator>
      <dc:date>2025-01-16T21:14:07Z</dc:date>
    </item>
    <item>
      <title>Re: Change "Split Policy" for all or many Domains at Once</title>
      <link>https://community.esri.com/t5/arcgis-pro-ideas/change-quot-split-policy-quot-for-all-or-many/idc-p/1576634#M33513</link>
      <description>&lt;P&gt;In general, schema changes do require an exclusive lock.&amp;nbsp;&lt;BR /&gt;&lt;BR /&gt;Trying to change the split policy of a domain while another user has the domains view open, for example, will&amp;nbsp; raise&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;LI-CODE lang="python"&gt;ERROR 160284: Cannot acquire a schema lock because of an existing lock.&lt;/LI-CODE&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;</description>
      <pubDate>Thu, 16 Jan 2025 22:25:25 GMT</pubDate>
      <guid>https://community.esri.com/t5/arcgis-pro-ideas/change-quot-split-policy-quot-for-all-or-many/idc-p/1576634#M33513</guid>
      <dc:creator>SSWoodward</dc:creator>
      <dc:date>2025-01-16T22:25:25Z</dc:date>
    </item>
    <item>
      <title>Re: Change "Split Policy" for all or many Domains at Once</title>
      <link>https://community.esri.com/t5/arcgis-pro-ideas/change-quot-split-policy-quot-for-all-or-many/idc-p/1577542#M33540</link>
      <description>&lt;DIV&gt;&lt;PRE&gt;&lt;SPAN&gt;&lt;a href="https://community.esri.com/t5/user/viewprofilepage/user-id/604859"&gt;@SSWoodward&lt;/a&gt;&amp;nbsp;I employed your code... worked like a champ...&lt;BR /&gt;&lt;BR /&gt;import &lt;/SPAN&gt;arcpy&lt;BR /&gt;&lt;SPAN&gt;import &lt;/SPAN&gt;os&lt;BR /&gt;&lt;SPAN&gt;from &lt;/SPAN&gt;datetime &lt;SPAN&gt;import &lt;/SPAN&gt;datetime&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;# Parameters&lt;BR /&gt;&lt;/SPAN&gt;server = &lt;SPAN&gt;r"udog"&lt;BR /&gt;&lt;/SPAN&gt;database = &lt;SPAN&gt;"gis_prod"&lt;BR /&gt;&lt;/SPAN&gt;username = &lt;SPAN&gt;"sde"&lt;BR /&gt;&lt;/SPAN&gt;password = &lt;SPAN&gt;"MPblahblahblah"&lt;/SPAN&gt;&lt;SPAN&gt; Add the password after creating the script&lt;BR /&gt;&lt;/SPAN&gt;log_file_path = &lt;SPAN&gt;r"c:\temp\SplitChangePolicy5_Log.txt"&lt;BR /&gt;&lt;/SPAN&gt;split_policy = &lt;SPAN&gt;"DUPLICATE"  &lt;/SPAN&gt;&lt;SPAN&gt;# Desired split policy&lt;BR /&gt;&lt;/SPAN&gt;&lt;SPAN&gt;&lt;BR /&gt;&lt;/SPAN&gt;&lt;SPAN&gt;&lt;BR /&gt;&lt;/SPAN&gt;&lt;SPAN&gt;# Function to write logs&lt;BR /&gt;&lt;/SPAN&gt;&lt;SPAN&gt;def &lt;/SPAN&gt;&lt;SPAN&gt;write_log&lt;/SPAN&gt;(message):&lt;BR /&gt;    &lt;SPAN&gt;try&lt;/SPAN&gt;:&lt;BR /&gt;        &lt;SPAN&gt;with &lt;/SPAN&gt;&lt;SPAN&gt;open&lt;/SPAN&gt;(log_file_path&lt;SPAN&gt;, &lt;/SPAN&gt;&lt;SPAN&gt;"a"&lt;/SPAN&gt;) &lt;SPAN&gt;as &lt;/SPAN&gt;log_file:&lt;BR /&gt;            timestamp = datetime.now().strftime(&lt;SPAN&gt;"%Y-%m-%d %H:%M:%S"&lt;/SPAN&gt;)&lt;BR /&gt;            log_file.write(&lt;SPAN&gt;f"&lt;/SPAN&gt;&lt;SPAN&gt;{&lt;/SPAN&gt;timestamp&lt;SPAN&gt;}&lt;/SPAN&gt;&lt;SPAN&gt; - &lt;/SPAN&gt;&lt;SPAN&gt;{&lt;/SPAN&gt;message&lt;SPAN&gt;}\n&lt;/SPAN&gt;&lt;SPAN&gt;"&lt;/SPAN&gt;)&lt;BR /&gt;        &lt;SPAN&gt;print&lt;/SPAN&gt;(message)&lt;BR /&gt;    &lt;SPAN&gt;except &lt;/SPAN&gt;&lt;SPAN&gt;Exception &lt;/SPAN&gt;&lt;SPAN&gt;as &lt;/SPAN&gt;e:&lt;BR /&gt;        &lt;SPAN&gt;print&lt;/SPAN&gt;(&lt;SPAN&gt;f"Error writing to log file: &lt;/SPAN&gt;&lt;SPAN&gt;{&lt;/SPAN&gt;e&lt;SPAN&gt;}&lt;/SPAN&gt;&lt;SPAN&gt;"&lt;/SPAN&gt;)&lt;BR /&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;# Initialize the log file&lt;BR /&gt;&lt;/SPAN&gt;&lt;SPAN&gt;def &lt;/SPAN&gt;&lt;SPAN&gt;initialize_log&lt;/SPAN&gt;():&lt;BR /&gt;    &lt;SPAN&gt;try&lt;/SPAN&gt;:&lt;BR /&gt;        &lt;SPAN&gt;if &lt;/SPAN&gt;os.path.exists(log_file_path):&lt;BR /&gt;            os.remove(log_file_path)&lt;BR /&gt;        write_log(&lt;SPAN&gt;"Log file initialized."&lt;/SPAN&gt;)&lt;BR /&gt;    &lt;SPAN&gt;except &lt;/SPAN&gt;&lt;SPAN&gt;Exception &lt;/SPAN&gt;&lt;SPAN&gt;as &lt;/SPAN&gt;e:&lt;BR /&gt;        &lt;SPAN&gt;print&lt;/SPAN&gt;(&lt;SPAN&gt;f"Error initializing log file: &lt;/SPAN&gt;&lt;SPAN&gt;{&lt;/SPAN&gt;e&lt;SPAN&gt;}&lt;/SPAN&gt;&lt;SPAN&gt;"&lt;/SPAN&gt;)&lt;BR /&gt;        &lt;SPAN&gt;exit&lt;/SPAN&gt;(&lt;SPAN&gt;1&lt;/SPAN&gt;)&lt;BR /&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;# Function to create a workspace connection&lt;BR /&gt;&lt;/SPAN&gt;&lt;SPAN&gt;def &lt;/SPAN&gt;&lt;SPAN&gt;create_workspace&lt;/SPAN&gt;():&lt;BR /&gt;    &lt;SPAN&gt;try&lt;/SPAN&gt;:&lt;BR /&gt;        connection_file = os.path.join(&lt;SPAN&gt;r"c:\temp"&lt;/SPAN&gt;&lt;SPAN&gt;, &lt;/SPAN&gt;&lt;SPAN&gt;"gis_prod_util_connection5.sde"&lt;/SPAN&gt;)&lt;BR /&gt;        &lt;SPAN&gt;if &lt;/SPAN&gt;os.path.exists(connection_file):&lt;BR /&gt;            os.remove(connection_file)&lt;BR /&gt;&lt;BR /&gt;        arcpy.CreateDatabaseConnection_management(&lt;BR /&gt;            &lt;SPAN&gt;out_folder_path&lt;/SPAN&gt;=&lt;SPAN&gt;r"c:\temp"&lt;/SPAN&gt;&lt;SPAN&gt;,&lt;BR /&gt;&lt;/SPAN&gt;            &lt;SPAN&gt;out_name&lt;/SPAN&gt;=&lt;SPAN&gt;"gis_prod_util_connection5.sde"&lt;/SPAN&gt;&lt;SPAN&gt;,&lt;BR /&gt;&lt;/SPAN&gt;            &lt;SPAN&gt;database_platform&lt;/SPAN&gt;=&lt;SPAN&gt;"SQL_SERVER"&lt;/SPAN&gt;&lt;SPAN&gt;,&lt;BR /&gt;&lt;/SPAN&gt;            &lt;SPAN&gt;instance&lt;/SPAN&gt;=server&lt;SPAN&gt;,&lt;BR /&gt;&lt;/SPAN&gt;            &lt;SPAN&gt;account_authentication&lt;/SPAN&gt;=&lt;SPAN&gt;"DATABASE_AUTH"&lt;/SPAN&gt;&lt;SPAN&gt;,&lt;BR /&gt;&lt;/SPAN&gt;            &lt;SPAN&gt;username&lt;/SPAN&gt;=username&lt;SPAN&gt;,&lt;BR /&gt;&lt;/SPAN&gt;            &lt;SPAN&gt;password&lt;/SPAN&gt;=password&lt;SPAN&gt;,&lt;BR /&gt;&lt;/SPAN&gt;            &lt;SPAN&gt;save_user_pass&lt;/SPAN&gt;=&lt;SPAN&gt;"SAVE_USERNAME"&lt;/SPAN&gt;&lt;SPAN&gt;,&lt;BR /&gt;&lt;/SPAN&gt;            &lt;SPAN&gt;database&lt;/SPAN&gt;=database&lt;BR /&gt;        )&lt;BR /&gt;        write_log(&lt;SPAN&gt;f"Workspace connection created: &lt;/SPAN&gt;&lt;SPAN&gt;{&lt;/SPAN&gt;connection_file&lt;SPAN&gt;}&lt;/SPAN&gt;&lt;SPAN&gt;"&lt;/SPAN&gt;)&lt;BR /&gt;        &lt;SPAN&gt;return &lt;/SPAN&gt;connection_file&lt;BR /&gt;    &lt;SPAN&gt;except &lt;/SPAN&gt;&lt;SPAN&gt;Exception &lt;/SPAN&gt;&lt;SPAN&gt;as &lt;/SPAN&gt;e:&lt;BR /&gt;        error_message = &lt;SPAN&gt;f"Error creating workspace connection: &lt;/SPAN&gt;&lt;SPAN&gt;{&lt;/SPAN&gt;e&lt;SPAN&gt;}&lt;/SPAN&gt;&lt;SPAN&gt;"&lt;BR /&gt;&lt;/SPAN&gt;        write_log(error_message)&lt;BR /&gt;        write_log(arcpy.GetMessages(&lt;SPAN&gt;2&lt;/SPAN&gt;))&lt;BR /&gt;        &lt;SPAN&gt;exit&lt;/SPAN&gt;(&lt;SPAN&gt;1&lt;/SPAN&gt;)&lt;BR /&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;# Function to update domains and check compatibility&lt;BR /&gt;&lt;/SPAN&gt;&lt;SPAN&gt;def &lt;/SPAN&gt;&lt;SPAN&gt;update_domains_and_check_geometry&lt;/SPAN&gt;(gdb):&lt;BR /&gt;    &lt;SPAN&gt;try&lt;/SPAN&gt;:&lt;BR /&gt;        domains = arcpy.da.ListDomains(gdb)&lt;BR /&gt;        &lt;SPAN&gt;if not &lt;/SPAN&gt;domains:&lt;BR /&gt;            write_log(&lt;SPAN&gt;"No domains found in the geodatabase."&lt;/SPAN&gt;)&lt;BR /&gt;            &lt;SPAN&gt;return&lt;BR /&gt;&lt;/SPAN&gt;&lt;SPAN&gt;&lt;BR /&gt;&lt;/SPAN&gt;        total_domains = &lt;SPAN&gt;len&lt;/SPAN&gt;(domains)&lt;BR /&gt;        write_log(&lt;SPAN&gt;f"Total domains in geodatabase: &lt;/SPAN&gt;&lt;SPAN&gt;{&lt;/SPAN&gt;total_domains&lt;SPAN&gt;}&lt;/SPAN&gt;&lt;SPAN&gt;"&lt;/SPAN&gt;)&lt;BR /&gt;&lt;BR /&gt;        &lt;SPAN&gt;for &lt;/SPAN&gt;domain &lt;SPAN&gt;in &lt;/SPAN&gt;domains:&lt;BR /&gt;            &lt;SPAN&gt;try&lt;/SPAN&gt;:&lt;BR /&gt;                &lt;SPAN&gt;# Log domain details&lt;BR /&gt;&lt;/SPAN&gt;                write_log(&lt;SPAN&gt;f"Processing domain: &lt;/SPAN&gt;&lt;SPAN&gt;{&lt;/SPAN&gt;domain.name&lt;SPAN&gt;}&lt;/SPAN&gt;&lt;SPAN&gt;"&lt;/SPAN&gt;)&lt;BR /&gt;&lt;BR /&gt;                &lt;SPAN&gt;# Get feature classes using the domain&lt;BR /&gt;&lt;/SPAN&gt;                associated_classes = get_feature_classes_using_domain(gdb&lt;SPAN&gt;, &lt;/SPAN&gt;domain.name)&lt;BR /&gt;                &lt;SPAN&gt;for &lt;/SPAN&gt;fc &lt;SPAN&gt;in &lt;/SPAN&gt;associated_classes:&lt;BR /&gt;                    &lt;SPAN&gt;# Check geometry type compatibility&lt;BR /&gt;&lt;/SPAN&gt;                    desc = arcpy.Describe(fc)&lt;BR /&gt;                    geometry_type = desc.shapeType&lt;BR /&gt;                    &lt;SPAN&gt;if &lt;/SPAN&gt;domain.split_policy == &lt;SPAN&gt;"GEOMETRY_RATIO" &lt;/SPAN&gt;&lt;SPAN&gt;and &lt;/SPAN&gt;geometry_type == &lt;SPAN&gt;"Point"&lt;/SPAN&gt;:&lt;BR /&gt;                        write_log(&lt;BR /&gt;                            &lt;SPAN&gt;f"Warning: Domain '&lt;/SPAN&gt;&lt;SPAN&gt;{&lt;/SPAN&gt;domain.name&lt;SPAN&gt;}&lt;/SPAN&gt;&lt;SPAN&gt;' with GEOMETRY_RATIO is applied to point feature class '&lt;/SPAN&gt;&lt;SPAN&gt;{&lt;/SPAN&gt;fc&lt;SPAN&gt;}&lt;/SPAN&gt;&lt;SPAN&gt;', which is not supported."&lt;/SPAN&gt;)&lt;BR /&gt;                    &lt;SPAN&gt;else&lt;/SPAN&gt;:&lt;BR /&gt;                        write_log(&lt;BR /&gt;                            &lt;SPAN&gt;f"Domain '&lt;/SPAN&gt;&lt;SPAN&gt;{&lt;/SPAN&gt;domain.name&lt;SPAN&gt;}&lt;/SPAN&gt;&lt;SPAN&gt;' is compatible with feature class '&lt;/SPAN&gt;&lt;SPAN&gt;{&lt;/SPAN&gt;fc&lt;SPAN&gt;}&lt;/SPAN&gt;&lt;SPAN&gt;' of type '&lt;/SPAN&gt;&lt;SPAN&gt;{&lt;/SPAN&gt;geometry_type&lt;SPAN&gt;}&lt;/SPAN&gt;&lt;SPAN&gt;'."&lt;/SPAN&gt;)&lt;BR /&gt;&lt;BR /&gt;                &lt;SPAN&gt;# Update the split policy for the domain&lt;BR /&gt;&lt;/SPAN&gt;                arcpy.management.AlterDomain(&lt;BR /&gt;                    &lt;SPAN&gt;in_workspace&lt;/SPAN&gt;=gdb&lt;SPAN&gt;,&lt;BR /&gt;&lt;/SPAN&gt;                    &lt;SPAN&gt;domain_name&lt;/SPAN&gt;=domain.name&lt;SPAN&gt;,&lt;BR /&gt;&lt;/SPAN&gt;                    &lt;SPAN&gt;split_policy&lt;/SPAN&gt;=split_policy&lt;BR /&gt;                )&lt;BR /&gt;                write_log(&lt;SPAN&gt;f"Domain '&lt;/SPAN&gt;&lt;SPAN&gt;{&lt;/SPAN&gt;domain.name&lt;SPAN&gt;}&lt;/SPAN&gt;&lt;SPAN&gt;' updated with split policy '&lt;/SPAN&gt;&lt;SPAN&gt;{&lt;/SPAN&gt;split_policy&lt;SPAN&gt;}&lt;/SPAN&gt;&lt;SPAN&gt;'."&lt;/SPAN&gt;)&lt;BR /&gt;            &lt;SPAN&gt;except &lt;/SPAN&gt;&lt;SPAN&gt;Exception &lt;/SPAN&gt;&lt;SPAN&gt;as &lt;/SPAN&gt;e:&lt;BR /&gt;                write_log(&lt;SPAN&gt;f"Error updating domain '&lt;/SPAN&gt;&lt;SPAN&gt;{&lt;/SPAN&gt;domain.name&lt;SPAN&gt;}&lt;/SPAN&gt;&lt;SPAN&gt;': &lt;/SPAN&gt;&lt;SPAN&gt;{&lt;/SPAN&gt;e&lt;SPAN&gt;}&lt;/SPAN&gt;&lt;SPAN&gt;"&lt;/SPAN&gt;)&lt;BR /&gt;                write_log(arcpy.GetMessages(&lt;SPAN&gt;2&lt;/SPAN&gt;))&lt;BR /&gt;    &lt;SPAN&gt;except &lt;/SPAN&gt;&lt;SPAN&gt;Exception &lt;/SPAN&gt;&lt;SPAN&gt;as &lt;/SPAN&gt;e:&lt;BR /&gt;        write_log(&lt;SPAN&gt;f"Error listing or updating domains: &lt;/SPAN&gt;&lt;SPAN&gt;{&lt;/SPAN&gt;e&lt;SPAN&gt;}&lt;/SPAN&gt;&lt;SPAN&gt;"&lt;/SPAN&gt;)&lt;BR /&gt;        write_log(arcpy.GetMessages(&lt;SPAN&gt;2&lt;/SPAN&gt;))&lt;BR /&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;# Function to get feature classes using a specific domain&lt;BR /&gt;&lt;/SPAN&gt;&lt;SPAN&gt;def &lt;/SPAN&gt;&lt;SPAN&gt;get_feature_classes_using_domain&lt;/SPAN&gt;(gdb&lt;SPAN&gt;, &lt;/SPAN&gt;domain_name):&lt;BR /&gt;    feature_classes = []&lt;BR /&gt;    arcpy.env.workspace = gdb&lt;BR /&gt;    &lt;SPAN&gt;for &lt;/SPAN&gt;fc &lt;SPAN&gt;in &lt;/SPAN&gt;arcpy.ListFeatureClasses():&lt;BR /&gt;        fields = arcpy.ListFields(fc)&lt;BR /&gt;        &lt;SPAN&gt;for &lt;/SPAN&gt;field &lt;SPAN&gt;in &lt;/SPAN&gt;fields:&lt;BR /&gt;            &lt;SPAN&gt;if &lt;/SPAN&gt;field.domain == domain_name:&lt;BR /&gt;                feature_classes.append(fc)&lt;BR /&gt;                &lt;SPAN&gt;break&lt;BR /&gt;&lt;/SPAN&gt;&lt;SPAN&gt;    return &lt;/SPAN&gt;feature_classes&lt;BR /&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;# Main script execution&lt;BR /&gt;&lt;/SPAN&gt;&lt;SPAN&gt;def &lt;/SPAN&gt;&lt;SPAN&gt;main&lt;/SPAN&gt;():&lt;BR /&gt;    start_time = datetime.now()&lt;BR /&gt;    initialize_log()&lt;BR /&gt;    write_log(&lt;SPAN&gt;f"Script started at &lt;/SPAN&gt;&lt;SPAN&gt;{&lt;/SPAN&gt;start_time.strftime(&lt;SPAN&gt;'%Y-%m-%d %H:%M:%S'&lt;/SPAN&gt;)&lt;SPAN&gt;}&lt;/SPAN&gt;&lt;SPAN&gt;."&lt;/SPAN&gt;)&lt;BR /&gt;&lt;BR /&gt;    &lt;SPAN&gt;try&lt;/SPAN&gt;:&lt;BR /&gt;        &lt;SPAN&gt;# Create workspace connection&lt;BR /&gt;&lt;/SPAN&gt;        workspace = create_workspace()&lt;BR /&gt;        arcpy.env.workspace = workspace&lt;BR /&gt;        arcpy.env.overwriteOutput = &lt;SPAN&gt;True&lt;BR /&gt;&lt;/SPAN&gt;&lt;SPAN&gt;&lt;BR /&gt;&lt;/SPAN&gt;        &lt;SPAN&gt;# Update domains and check compatibility with geometry types&lt;BR /&gt;&lt;/SPAN&gt;        update_domains_and_check_geometry(workspace)&lt;BR /&gt;&lt;BR /&gt;        end_time = datetime.now()&lt;BR /&gt;        elapsed_time = (end_time - start_time).total_seconds()&lt;BR /&gt;        hours&lt;SPAN&gt;, &lt;/SPAN&gt;remainder = &lt;SPAN&gt;divmod&lt;/SPAN&gt;(elapsed_time&lt;SPAN&gt;, &lt;/SPAN&gt;&lt;SPAN&gt;3600&lt;/SPAN&gt;)&lt;BR /&gt;        minutes&lt;SPAN&gt;, &lt;/SPAN&gt;seconds = &lt;SPAN&gt;divmod&lt;/SPAN&gt;(remainder&lt;SPAN&gt;, &lt;/SPAN&gt;&lt;SPAN&gt;60&lt;/SPAN&gt;)&lt;BR /&gt;&lt;BR /&gt;        write_log(&lt;SPAN&gt;f"Script completed successfully at &lt;/SPAN&gt;&lt;SPAN&gt;{&lt;/SPAN&gt;end_time.strftime(&lt;SPAN&gt;'%Y-%m-%d %H:%M:%S'&lt;/SPAN&gt;)&lt;SPAN&gt;}&lt;/SPAN&gt;&lt;SPAN&gt;."&lt;/SPAN&gt;)&lt;BR /&gt;        write_log(&lt;SPAN&gt;f"Elapsed time: &lt;/SPAN&gt;&lt;SPAN&gt;{&lt;/SPAN&gt;&lt;SPAN&gt;int&lt;/SPAN&gt;(hours)&lt;SPAN&gt;}&lt;/SPAN&gt;&lt;SPAN&gt; hours, &lt;/SPAN&gt;&lt;SPAN&gt;{&lt;/SPAN&gt;&lt;SPAN&gt;int&lt;/SPAN&gt;(minutes)&lt;SPAN&gt;}&lt;/SPAN&gt;&lt;SPAN&gt; minutes, &lt;/SPAN&gt;&lt;SPAN&gt;{&lt;/SPAN&gt;seconds&lt;SPAN&gt;:&lt;/SPAN&gt;&lt;SPAN&gt;.2f&lt;/SPAN&gt;&lt;SPAN&gt;}&lt;/SPAN&gt;&lt;SPAN&gt; seconds."&lt;/SPAN&gt;)&lt;BR /&gt;        &lt;SPAN&gt;print&lt;/SPAN&gt;(&lt;SPAN&gt;f"Script completed successfully in &lt;/SPAN&gt;&lt;SPAN&gt;{&lt;/SPAN&gt;&lt;SPAN&gt;int&lt;/SPAN&gt;(hours)&lt;SPAN&gt;}&lt;/SPAN&gt;&lt;SPAN&gt; hours, &lt;/SPAN&gt;&lt;SPAN&gt;{&lt;/SPAN&gt;&lt;SPAN&gt;int&lt;/SPAN&gt;(minutes)&lt;SPAN&gt;}&lt;/SPAN&gt;&lt;SPAN&gt; minutes, &lt;/SPAN&gt;&lt;SPAN&gt;{&lt;/SPAN&gt;seconds&lt;SPAN&gt;:&lt;/SPAN&gt;&lt;SPAN&gt;.2f&lt;/SPAN&gt;&lt;SPAN&gt;}&lt;/SPAN&gt;&lt;SPAN&gt; seconds."&lt;/SPAN&gt;)&lt;BR /&gt;&lt;BR /&gt;    &lt;SPAN&gt;except &lt;/SPAN&gt;&lt;SPAN&gt;Exception &lt;/SPAN&gt;&lt;SPAN&gt;as &lt;/SPAN&gt;e:&lt;BR /&gt;        write_log(&lt;SPAN&gt;f"An error occurred: &lt;/SPAN&gt;&lt;SPAN&gt;{&lt;/SPAN&gt;e&lt;SPAN&gt;}&lt;/SPAN&gt;&lt;SPAN&gt;"&lt;/SPAN&gt;)&lt;BR /&gt;        write_log(arcpy.GetMessages(&lt;SPAN&gt;2&lt;/SPAN&gt;))&lt;BR /&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;if &lt;/SPAN&gt;__name__ == &lt;SPAN&gt;"__main__"&lt;/SPAN&gt;:&lt;BR /&gt;    main()&lt;/PRE&gt;&lt;/DIV&gt;</description>
      <pubDate>Tue, 21 Jan 2025 19:10:06 GMT</pubDate>
      <guid>https://community.esri.com/t5/arcgis-pro-ideas/change-quot-split-policy-quot-for-all-or-many/idc-p/1577542#M33540</guid>
      <dc:creator>SGTomlins</dc:creator>
      <dc:date>2025-01-21T19:10:06Z</dc:date>
    </item>
    <item>
      <title>Re: Change "Split Policy" for all or many Domains at Once</title>
      <link>https://community.esri.com/t5/arcgis-pro-ideas/change-quot-split-policy-quot-for-all-or-many/idc-p/1577547#M33541</link>
      <description>&lt;P&gt;&lt;a href="https://community.esri.com/t5/user/viewprofilepage/user-id/604859"&gt;@SSWoodward&lt;/a&gt;&amp;nbsp; &amp;nbsp;I employed your code snippet and it worked like a champ...&lt;/P&gt;&lt;DIV&gt;&lt;PRE&gt;&lt;SPAN&gt;import &lt;/SPAN&gt;arcpy&lt;BR /&gt;&lt;SPAN&gt;import &lt;/SPAN&gt;os&lt;BR /&gt;&lt;SPAN&gt;from &lt;/SPAN&gt;datetime &lt;SPAN&gt;import &lt;/SPAN&gt;datetime&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;# Parameters&lt;BR /&gt;&lt;/SPAN&gt;server = &lt;SPAN&gt;r"un-az"&lt;BR /&gt;&lt;/SPAN&gt;database = &lt;SPAN&gt;"gis_prod"&lt;BR /&gt;&lt;/SPAN&gt;username = &lt;SPAN&gt;"sde"&lt;BR /&gt;&lt;/SPAN&gt;password = &lt;SPAN&gt;"MjunkjunkJunk"  &lt;/SPAN&gt;&lt;SPAN&gt;# Add the password after creating the script&lt;BR /&gt;&lt;/SPAN&gt;log_file_path = &lt;SPAN&gt;r"c:\temp\SplitChangePolicy5_Log.txt"&lt;BR /&gt;&lt;/SPAN&gt;split_policy = &lt;SPAN&gt;"DUPLICATE"  &lt;/SPAN&gt;&lt;SPAN&gt;# Desired split policy&lt;BR /&gt;&lt;/SPAN&gt;&lt;SPAN&gt;&lt;BR /&gt;&lt;/SPAN&gt;&lt;SPAN&gt;&lt;BR /&gt;&lt;/SPAN&gt;&lt;SPAN&gt;# Function to write logs&lt;BR /&gt;&lt;/SPAN&gt;&lt;SPAN&gt;def &lt;/SPAN&gt;&lt;SPAN&gt;write_log&lt;/SPAN&gt;(message):&lt;BR /&gt;    &lt;SPAN&gt;try&lt;/SPAN&gt;:&lt;BR /&gt;        &lt;SPAN&gt;with &lt;/SPAN&gt;&lt;SPAN&gt;open&lt;/SPAN&gt;(log_file_path&lt;SPAN&gt;, &lt;/SPAN&gt;&lt;SPAN&gt;"a"&lt;/SPAN&gt;) &lt;SPAN&gt;as &lt;/SPAN&gt;log_file:&lt;BR /&gt;            timestamp = datetime.now().strftime(&lt;SPAN&gt;"%Y-%m-%d %H:%M:%S"&lt;/SPAN&gt;)&lt;BR /&gt;            log_file.write(&lt;SPAN&gt;f"&lt;/SPAN&gt;&lt;SPAN&gt;{&lt;/SPAN&gt;timestamp&lt;SPAN&gt;}&lt;/SPAN&gt;&lt;SPAN&gt; - &lt;/SPAN&gt;&lt;SPAN&gt;{&lt;/SPAN&gt;message&lt;SPAN&gt;}\n&lt;/SPAN&gt;&lt;SPAN&gt;"&lt;/SPAN&gt;)&lt;BR /&gt;        &lt;SPAN&gt;print&lt;/SPAN&gt;(message)&lt;BR /&gt;    &lt;SPAN&gt;except &lt;/SPAN&gt;&lt;SPAN&gt;Exception &lt;/SPAN&gt;&lt;SPAN&gt;as &lt;/SPAN&gt;e:&lt;BR /&gt;        &lt;SPAN&gt;print&lt;/SPAN&gt;(&lt;SPAN&gt;f"Error writing to log file: &lt;/SPAN&gt;&lt;SPAN&gt;{&lt;/SPAN&gt;e&lt;SPAN&gt;}&lt;/SPAN&gt;&lt;SPAN&gt;"&lt;/SPAN&gt;)&lt;BR /&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;# Initialize the log file&lt;BR /&gt;&lt;/SPAN&gt;&lt;SPAN&gt;def &lt;/SPAN&gt;&lt;SPAN&gt;initialize_log&lt;/SPAN&gt;():&lt;BR /&gt;    &lt;SPAN&gt;try&lt;/SPAN&gt;:&lt;BR /&gt;        &lt;SPAN&gt;if &lt;/SPAN&gt;os.path.exists(log_file_path):&lt;BR /&gt;            os.remove(log_file_path)&lt;BR /&gt;        write_log(&lt;SPAN&gt;"Log file initialized."&lt;/SPAN&gt;)&lt;BR /&gt;    &lt;SPAN&gt;except &lt;/SPAN&gt;&lt;SPAN&gt;Exception &lt;/SPAN&gt;&lt;SPAN&gt;as &lt;/SPAN&gt;e:&lt;BR /&gt;        &lt;SPAN&gt;print&lt;/SPAN&gt;(&lt;SPAN&gt;f"Error initializing log file: &lt;/SPAN&gt;&lt;SPAN&gt;{&lt;/SPAN&gt;e&lt;SPAN&gt;}&lt;/SPAN&gt;&lt;SPAN&gt;"&lt;/SPAN&gt;)&lt;BR /&gt;        &lt;SPAN&gt;exit&lt;/SPAN&gt;(&lt;SPAN&gt;1&lt;/SPAN&gt;)&lt;BR /&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;# Function to create a workspace connection&lt;BR /&gt;&lt;/SPAN&gt;&lt;SPAN&gt;def &lt;/SPAN&gt;&lt;SPAN&gt;create_workspace&lt;/SPAN&gt;():&lt;BR /&gt;    &lt;SPAN&gt;try&lt;/SPAN&gt;:&lt;BR /&gt;        connection_file = os.path.join(&lt;SPAN&gt;r"c:\temp"&lt;/SPAN&gt;&lt;SPAN&gt;, &lt;/SPAN&gt;&lt;SPAN&gt;"gis_prod_util_connection5.sde"&lt;/SPAN&gt;)&lt;BR /&gt;        &lt;SPAN&gt;if &lt;/SPAN&gt;os.path.exists(connection_file):&lt;BR /&gt;            os.remove(connection_file)&lt;BR /&gt;&lt;BR /&gt;        arcpy.CreateDatabaseConnection_management(&lt;BR /&gt;            &lt;SPAN&gt;out_folder_path&lt;/SPAN&gt;=&lt;SPAN&gt;r"c:\temp"&lt;/SPAN&gt;&lt;SPAN&gt;,&lt;BR /&gt;&lt;/SPAN&gt;            &lt;SPAN&gt;out_name&lt;/SPAN&gt;=&lt;SPAN&gt;"gis_prod_util_connection5.sde"&lt;/SPAN&gt;&lt;SPAN&gt;,&lt;BR /&gt;&lt;/SPAN&gt;            &lt;SPAN&gt;database_platform&lt;/SPAN&gt;=&lt;SPAN&gt;"SQL_SERVER"&lt;/SPAN&gt;&lt;SPAN&gt;,&lt;BR /&gt;&lt;/SPAN&gt;            &lt;SPAN&gt;instance&lt;/SPAN&gt;=server&lt;SPAN&gt;,&lt;BR /&gt;&lt;/SPAN&gt;            &lt;SPAN&gt;account_authentication&lt;/SPAN&gt;=&lt;SPAN&gt;"DATABASE_AUTH"&lt;/SPAN&gt;&lt;SPAN&gt;,&lt;BR /&gt;&lt;/SPAN&gt;            &lt;SPAN&gt;username&lt;/SPAN&gt;=username&lt;SPAN&gt;,&lt;BR /&gt;&lt;/SPAN&gt;            &lt;SPAN&gt;password&lt;/SPAN&gt;=password&lt;SPAN&gt;,&lt;BR /&gt;&lt;/SPAN&gt;            &lt;SPAN&gt;save_user_pass&lt;/SPAN&gt;=&lt;SPAN&gt;"SAVE_USERNAME"&lt;/SPAN&gt;&lt;SPAN&gt;,&lt;BR /&gt;&lt;/SPAN&gt;            &lt;SPAN&gt;database&lt;/SPAN&gt;=database&lt;BR /&gt;        )&lt;BR /&gt;        write_log(&lt;SPAN&gt;f"Workspace connection created: &lt;/SPAN&gt;&lt;SPAN&gt;{&lt;/SPAN&gt;connection_file&lt;SPAN&gt;}&lt;/SPAN&gt;&lt;SPAN&gt;"&lt;/SPAN&gt;)&lt;BR /&gt;        &lt;SPAN&gt;return &lt;/SPAN&gt;connection_file&lt;BR /&gt;    &lt;SPAN&gt;except &lt;/SPAN&gt;&lt;SPAN&gt;Exception &lt;/SPAN&gt;&lt;SPAN&gt;as &lt;/SPAN&gt;e:&lt;BR /&gt;        error_message = &lt;SPAN&gt;f"Error creating workspace connection: &lt;/SPAN&gt;&lt;SPAN&gt;{&lt;/SPAN&gt;e&lt;SPAN&gt;}&lt;/SPAN&gt;&lt;SPAN&gt;"&lt;BR /&gt;&lt;/SPAN&gt;        write_log(error_message)&lt;BR /&gt;        write_log(arcpy.GetMessages(&lt;SPAN&gt;2&lt;/SPAN&gt;))&lt;BR /&gt;        &lt;SPAN&gt;exit&lt;/SPAN&gt;(&lt;SPAN&gt;1&lt;/SPAN&gt;)&lt;BR /&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;# Function to update domains and check compatibility&lt;BR /&gt;&lt;/SPAN&gt;&lt;SPAN&gt;def &lt;/SPAN&gt;&lt;SPAN&gt;update_domains_and_check_geometry&lt;/SPAN&gt;(gdb):&lt;BR /&gt;    &lt;SPAN&gt;try&lt;/SPAN&gt;:&lt;BR /&gt;        domains = arcpy.da.ListDomains(gdb)&lt;BR /&gt;        &lt;SPAN&gt;if not &lt;/SPAN&gt;domains:&lt;BR /&gt;            write_log(&lt;SPAN&gt;"No domains found in the geodatabase."&lt;/SPAN&gt;)&lt;BR /&gt;            &lt;SPAN&gt;return&lt;BR /&gt;&lt;/SPAN&gt;&lt;SPAN&gt;&lt;BR /&gt;&lt;/SPAN&gt;        total_domains = &lt;SPAN&gt;len&lt;/SPAN&gt;(domains)&lt;BR /&gt;        write_log(&lt;SPAN&gt;f"Total domains in geodatabase: &lt;/SPAN&gt;&lt;SPAN&gt;{&lt;/SPAN&gt;total_domains&lt;SPAN&gt;}&lt;/SPAN&gt;&lt;SPAN&gt;"&lt;/SPAN&gt;)&lt;BR /&gt;&lt;BR /&gt;        &lt;SPAN&gt;for &lt;/SPAN&gt;domain &lt;SPAN&gt;in &lt;/SPAN&gt;domains:&lt;BR /&gt;            &lt;SPAN&gt;try&lt;/SPAN&gt;:&lt;BR /&gt;                &lt;SPAN&gt;# Log domain details&lt;BR /&gt;&lt;/SPAN&gt;                write_log(&lt;SPAN&gt;f"Processing domain: &lt;/SPAN&gt;&lt;SPAN&gt;{&lt;/SPAN&gt;domain.name&lt;SPAN&gt;}&lt;/SPAN&gt;&lt;SPAN&gt;"&lt;/SPAN&gt;)&lt;BR /&gt;&lt;BR /&gt;                &lt;SPAN&gt;# Get feature classes using the domain&lt;BR /&gt;&lt;/SPAN&gt;                associated_classes = get_feature_classes_using_domain(gdb&lt;SPAN&gt;, &lt;/SPAN&gt;domain.name)&lt;BR /&gt;                &lt;SPAN&gt;for &lt;/SPAN&gt;fc &lt;SPAN&gt;in &lt;/SPAN&gt;associated_classes:&lt;BR /&gt;                    &lt;SPAN&gt;# Check geometry type compatibility&lt;BR /&gt;&lt;/SPAN&gt;                    desc = arcpy.Describe(fc)&lt;BR /&gt;                    geometry_type = desc.shapeType&lt;BR /&gt;                    &lt;SPAN&gt;if &lt;/SPAN&gt;domain.split_policy == &lt;SPAN&gt;"GEOMETRY_RATIO" &lt;/SPAN&gt;&lt;SPAN&gt;and &lt;/SPAN&gt;geometry_type == &lt;SPAN&gt;"Point"&lt;/SPAN&gt;:&lt;BR /&gt;                        write_log(&lt;BR /&gt;                            &lt;SPAN&gt;f"Warning: Domain '&lt;/SPAN&gt;&lt;SPAN&gt;{&lt;/SPAN&gt;domain.name&lt;SPAN&gt;}&lt;/SPAN&gt;&lt;SPAN&gt;' with GEOMETRY_RATIO is applied to point feature class '&lt;/SPAN&gt;&lt;SPAN&gt;{&lt;/SPAN&gt;fc&lt;SPAN&gt;}&lt;/SPAN&gt;&lt;SPAN&gt;', which is not supported."&lt;/SPAN&gt;)&lt;BR /&gt;                    &lt;SPAN&gt;else&lt;/SPAN&gt;:&lt;BR /&gt;                        write_log(&lt;BR /&gt;                            &lt;SPAN&gt;f"Domain '&lt;/SPAN&gt;&lt;SPAN&gt;{&lt;/SPAN&gt;domain.name&lt;SPAN&gt;}&lt;/SPAN&gt;&lt;SPAN&gt;' is compatible with feature class '&lt;/SPAN&gt;&lt;SPAN&gt;{&lt;/SPAN&gt;fc&lt;SPAN&gt;}&lt;/SPAN&gt;&lt;SPAN&gt;' of type '&lt;/SPAN&gt;&lt;SPAN&gt;{&lt;/SPAN&gt;geometry_type&lt;SPAN&gt;}&lt;/SPAN&gt;&lt;SPAN&gt;'."&lt;/SPAN&gt;)&lt;BR /&gt;&lt;BR /&gt;                &lt;SPAN&gt;# Update the split policy for the domain&lt;BR /&gt;&lt;/SPAN&gt;                arcpy.management.AlterDomain(&lt;BR /&gt;                    &lt;SPAN&gt;in_workspace&lt;/SPAN&gt;=gdb&lt;SPAN&gt;,&lt;BR /&gt;&lt;/SPAN&gt;                    &lt;SPAN&gt;domain_name&lt;/SPAN&gt;=domain.name&lt;SPAN&gt;,&lt;BR /&gt;&lt;/SPAN&gt;                    &lt;SPAN&gt;split_policy&lt;/SPAN&gt;=split_policy&lt;BR /&gt;                )&lt;BR /&gt;                write_log(&lt;SPAN&gt;f"Domain '&lt;/SPAN&gt;&lt;SPAN&gt;{&lt;/SPAN&gt;domain.name&lt;SPAN&gt;}&lt;/SPAN&gt;&lt;SPAN&gt;' updated with split policy '&lt;/SPAN&gt;&lt;SPAN&gt;{&lt;/SPAN&gt;split_policy&lt;SPAN&gt;}&lt;/SPAN&gt;&lt;SPAN&gt;'."&lt;/SPAN&gt;)&lt;BR /&gt;            &lt;SPAN&gt;except &lt;/SPAN&gt;&lt;SPAN&gt;Exception &lt;/SPAN&gt;&lt;SPAN&gt;as &lt;/SPAN&gt;e:&lt;BR /&gt;                write_log(&lt;SPAN&gt;f"Error updating domain '&lt;/SPAN&gt;&lt;SPAN&gt;{&lt;/SPAN&gt;domain.name&lt;SPAN&gt;}&lt;/SPAN&gt;&lt;SPAN&gt;': &lt;/SPAN&gt;&lt;SPAN&gt;{&lt;/SPAN&gt;e&lt;SPAN&gt;}&lt;/SPAN&gt;&lt;SPAN&gt;"&lt;/SPAN&gt;)&lt;BR /&gt;                write_log(arcpy.GetMessages(&lt;SPAN&gt;2&lt;/SPAN&gt;))&lt;BR /&gt;    &lt;SPAN&gt;except &lt;/SPAN&gt;&lt;SPAN&gt;Exception &lt;/SPAN&gt;&lt;SPAN&gt;as &lt;/SPAN&gt;e:&lt;BR /&gt;        write_log(&lt;SPAN&gt;f"Error listing or updating domains: &lt;/SPAN&gt;&lt;SPAN&gt;{&lt;/SPAN&gt;e&lt;SPAN&gt;}&lt;/SPAN&gt;&lt;SPAN&gt;"&lt;/SPAN&gt;)&lt;BR /&gt;        write_log(arcpy.GetMessages(&lt;SPAN&gt;2&lt;/SPAN&gt;))&lt;BR /&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;# Function to get feature classes using a specific domain&lt;BR /&gt;&lt;/SPAN&gt;&lt;SPAN&gt;def &lt;/SPAN&gt;&lt;SPAN&gt;get_feature_classes_using_domain&lt;/SPAN&gt;(gdb&lt;SPAN&gt;, &lt;/SPAN&gt;domain_name):&lt;BR /&gt;    feature_classes = []&lt;BR /&gt;    arcpy.env.workspace = gdb&lt;BR /&gt;    &lt;SPAN&gt;for &lt;/SPAN&gt;fc &lt;SPAN&gt;in &lt;/SPAN&gt;arcpy.ListFeatureClasses():&lt;BR /&gt;        fields = arcpy.ListFields(fc)&lt;BR /&gt;        &lt;SPAN&gt;for &lt;/SPAN&gt;field &lt;SPAN&gt;in &lt;/SPAN&gt;fields:&lt;BR /&gt;            &lt;SPAN&gt;if &lt;/SPAN&gt;field.domain == domain_name:&lt;BR /&gt;                feature_classes.append(fc)&lt;BR /&gt;                &lt;SPAN&gt;break&lt;BR /&gt;&lt;/SPAN&gt;&lt;SPAN&gt;    return &lt;/SPAN&gt;feature_classes&lt;BR /&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;# Main script execution&lt;BR /&gt;&lt;/SPAN&gt;&lt;SPAN&gt;def &lt;/SPAN&gt;&lt;SPAN&gt;main&lt;/SPAN&gt;():&lt;BR /&gt;    start_time = datetime.now()&lt;BR /&gt;    initialize_log()&lt;BR /&gt;    write_log(&lt;SPAN&gt;f"Script started at &lt;/SPAN&gt;&lt;SPAN&gt;{&lt;/SPAN&gt;start_time.strftime(&lt;SPAN&gt;'%Y-%m-%d %H:%M:%S'&lt;/SPAN&gt;)&lt;SPAN&gt;}&lt;/SPAN&gt;&lt;SPAN&gt;."&lt;/SPAN&gt;)&lt;BR /&gt;&lt;BR /&gt;    &lt;SPAN&gt;try&lt;/SPAN&gt;:&lt;BR /&gt;        &lt;SPAN&gt;# Create workspace connection&lt;BR /&gt;&lt;/SPAN&gt;        workspace = create_workspace()&lt;BR /&gt;        arcpy.env.workspace = workspace&lt;BR /&gt;        arcpy.env.overwriteOutput = &lt;SPAN&gt;True&lt;BR /&gt;&lt;/SPAN&gt;&lt;SPAN&gt;&lt;BR /&gt;&lt;/SPAN&gt;        &lt;SPAN&gt;# Update domains and check compatibility with geometry types&lt;BR /&gt;&lt;/SPAN&gt;        update_domains_and_check_geometry(workspace)&lt;BR /&gt;&lt;BR /&gt;        end_time = datetime.now()&lt;BR /&gt;        elapsed_time = (end_time - start_time).total_seconds()&lt;BR /&gt;        hours&lt;SPAN&gt;, &lt;/SPAN&gt;remainder = &lt;SPAN&gt;divmod&lt;/SPAN&gt;(elapsed_time&lt;SPAN&gt;, &lt;/SPAN&gt;&lt;SPAN&gt;3600&lt;/SPAN&gt;)&lt;BR /&gt;        minutes&lt;SPAN&gt;, &lt;/SPAN&gt;seconds = &lt;SPAN&gt;divmod&lt;/SPAN&gt;(remainder&lt;SPAN&gt;, &lt;/SPAN&gt;&lt;SPAN&gt;60&lt;/SPAN&gt;)&lt;BR /&gt;&lt;BR /&gt;        write_log(&lt;SPAN&gt;f"Script completed successfully at &lt;/SPAN&gt;&lt;SPAN&gt;{&lt;/SPAN&gt;end_time.strftime(&lt;SPAN&gt;'%Y-%m-%d %H:%M:%S'&lt;/SPAN&gt;)&lt;SPAN&gt;}&lt;/SPAN&gt;&lt;SPAN&gt;."&lt;/SPAN&gt;)&lt;BR /&gt;        write_log(&lt;SPAN&gt;f"Elapsed time: &lt;/SPAN&gt;&lt;SPAN&gt;{&lt;/SPAN&gt;&lt;SPAN&gt;int&lt;/SPAN&gt;(hours)&lt;SPAN&gt;}&lt;/SPAN&gt;&lt;SPAN&gt; hours, &lt;/SPAN&gt;&lt;SPAN&gt;{&lt;/SPAN&gt;&lt;SPAN&gt;int&lt;/SPAN&gt;(minutes)&lt;SPAN&gt;}&lt;/SPAN&gt;&lt;SPAN&gt; minutes, &lt;/SPAN&gt;&lt;SPAN&gt;{&lt;/SPAN&gt;seconds&lt;SPAN&gt;:&lt;/SPAN&gt;&lt;SPAN&gt;.2f&lt;/SPAN&gt;&lt;SPAN&gt;}&lt;/SPAN&gt;&lt;SPAN&gt; seconds."&lt;/SPAN&gt;)&lt;BR /&gt;        &lt;SPAN&gt;print&lt;/SPAN&gt;(&lt;SPAN&gt;f"Script completed successfully in &lt;/SPAN&gt;&lt;SPAN&gt;{&lt;/SPAN&gt;&lt;SPAN&gt;int&lt;/SPAN&gt;(hours)&lt;SPAN&gt;}&lt;/SPAN&gt;&lt;SPAN&gt; hours, &lt;/SPAN&gt;&lt;SPAN&gt;{&lt;/SPAN&gt;&lt;SPAN&gt;int&lt;/SPAN&gt;(minutes)&lt;SPAN&gt;}&lt;/SPAN&gt;&lt;SPAN&gt; minutes, &lt;/SPAN&gt;&lt;SPAN&gt;{&lt;/SPAN&gt;seconds&lt;SPAN&gt;:&lt;/SPAN&gt;&lt;SPAN&gt;.2f&lt;/SPAN&gt;&lt;SPAN&gt;}&lt;/SPAN&gt;&lt;SPAN&gt; seconds."&lt;/SPAN&gt;)&lt;BR /&gt;&lt;BR /&gt;    &lt;SPAN&gt;except &lt;/SPAN&gt;&lt;SPAN&gt;Exception &lt;/SPAN&gt;&lt;SPAN&gt;as &lt;/SPAN&gt;e:&lt;BR /&gt;        write_log(&lt;SPAN&gt;f"An error occurred: &lt;/SPAN&gt;&lt;SPAN&gt;{&lt;/SPAN&gt;e&lt;SPAN&gt;}&lt;/SPAN&gt;&lt;SPAN&gt;"&lt;/SPAN&gt;)&lt;BR /&gt;        write_log(arcpy.GetMessages(&lt;SPAN&gt;2&lt;/SPAN&gt;))&lt;BR /&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;if &lt;/SPAN&gt;__name__ == &lt;SPAN&gt;"__main__"&lt;/SPAN&gt;:&lt;BR /&gt;    main()&lt;/PRE&gt;&lt;/DIV&gt;</description>
      <pubDate>Tue, 21 Jan 2025 19:14:44 GMT</pubDate>
      <guid>https://community.esri.com/t5/arcgis-pro-ideas/change-quot-split-policy-quot-for-all-or-many/idc-p/1577547#M33541</guid>
      <dc:creator>SGTomlins</dc:creator>
      <dc:date>2025-01-21T19:14:44Z</dc:date>
    </item>
    <item>
      <title>Re: Change "Split Policy" for all or many Domains at Once</title>
      <link>https://community.esri.com/t5/arcgis-pro-ideas/change-quot-split-policy-quot-for-all-or-many/idc-p/1577943#M33547</link>
      <description>&lt;P&gt;Nice!&amp;nbsp; Love to hear it,&amp;nbsp;&lt;a href="https://community.esri.com/t5/user/viewprofilepage/user-id/559105"&gt;@SGTomlins&lt;/a&gt;.&amp;nbsp;Thanks for letting me know.&amp;nbsp;&lt;/P&gt;</description>
      <pubDate>Wed, 22 Jan 2025 19:44:23 GMT</pubDate>
      <guid>https://community.esri.com/t5/arcgis-pro-ideas/change-quot-split-policy-quot-for-all-or-many/idc-p/1577943#M33547</guid>
      <dc:creator>SSWoodward</dc:creator>
      <dc:date>2025-01-22T19:44:23Z</dc:date>
    </item>
    <item>
      <title>Re: Change "Split Policy" for all or many Domains at Once</title>
      <link>https://community.esri.com/t5/arcgis-pro-ideas/change-quot-split-policy-quot-for-all-or-many/idc-p/1665957#M36683</link>
      <description>&lt;P&gt;&lt;STRONG&gt;Very New on the admin side&lt;/STRONG&gt; but believe I need to change the split policy because once I try to split a feature, I lose the whole feature.&amp;nbsp;&amp;nbsp;&lt;/P&gt;&lt;P&gt;This is a map that has been created and is in current production so my fear try to modify this policy and screw up the whole map causing more issues to deal with.&amp;nbsp; Can I change the split policy to duplicate without fear of messing up the whole domain?&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;Any help would be good help.&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;Thanks&lt;/P&gt;</description>
      <pubDate>Fri, 14 Nov 2025 18:29:27 GMT</pubDate>
      <guid>https://community.esri.com/t5/arcgis-pro-ideas/change-quot-split-policy-quot-for-all-or-many/idc-p/1665957#M36683</guid>
      <dc:creator>JeffG</dc:creator>
      <dc:date>2025-11-14T18:29:27Z</dc:date>
    </item>
    <item>
      <title>Re: Change "Split Policy" for all or many Domains at Once</title>
      <link>https://community.esri.com/t5/arcgis-pro-ideas/change-quot-split-policy-quot-for-all-or-many/idc-p/1665988#M36685</link>
      <description>&lt;P&gt;Can you clarify what you mean by "&lt;SPAN&gt;I lose the whole feature." ?&lt;/SPAN&gt;&lt;SPAN&gt;&amp;nbsp;&lt;BR /&gt;&lt;BR /&gt;A &lt;A href="https://pro.arcgis.com/en/pro-app/latest/help/data/geodatabases/overview/an-overview-of-attribute-domains.htm#:~:text=and%20is%20irreversible.-,Split%20and%20merge%20policies,-Often%2C%20when%20editing" target="_blank" rel="noopener"&gt;domains' split &amp;amp; merge policies&lt;/A&gt; determine what attribute value should be written to the resulting feature(s) during each respective operation.&amp;nbsp; Having no features present after a split operation would be unexpected. Is that what is occurring?&lt;/SPAN&gt;&lt;/P&gt;</description>
      <pubDate>Fri, 14 Nov 2025 20:04:26 GMT</pubDate>
      <guid>https://community.esri.com/t5/arcgis-pro-ideas/change-quot-split-policy-quot-for-all-or-many/idc-p/1665988#M36685</guid>
      <dc:creator>SSWoodward</dc:creator>
      <dc:date>2025-11-14T20:04:26Z</dc:date>
    </item>
  </channel>
</rss>

