<?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 Preserve GlobalID on Append  in ArcGIS Pro Ideas</title>
    <link>https://community.esri.com/t5/arcgis-pro-ideas/preserve-globalid-on-append/idi-p/924249</link>
    <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;In our environment we have several databases including a maintenance and a published environment that we replicate data to. Because or maintenance database has feature datasets (edit focused)&amp;nbsp;and our published database has different feature datasets (more consumer focused) we are unable to use geodatabase replication. If data resides in a feature dataset in the source the same feature dataset must exist in the target. Because of this we have been using our own custom replication. In our replication we still want to maintain GlobalIDs in both databases, we do not want them to be recalculated as they are when you append. To maintain the GlobalIDs we have had to add an additional GUID field to our published data that we can map the GlobalID to when we append new records. This works, but it involves extra logic, an extra column and more processing time.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;I recently stumbled across an environment setting in ArcGIS Pro called PreserveGlobalIDs that can be used during an append operation. This seemed quite useful as it could eliminate all the jiggery pokery we are doing now. I tried it out and there seem to be some limitations that make it pretty much useless.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;The documented usage notes are below:&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;(from: &lt;A href="http://pro.arcgis.com/en/pro-app/tool-reference/environment-settings/preserve-globalids.htm"&gt;http://pro.arcgis.com/en/pro-app/tool-reference/environment-settings/preserve-globalids.htm&lt;/A&gt;)&lt;/P&gt;&lt;UL&gt;&lt;LI&gt;&lt;EM&gt;This is useful for workflows where the Global ID value for the row is required to stay the same when exporting or appending data.&lt;/EM&gt;&lt;/LI&gt;&lt;LI&gt;&lt;EM&gt;For the Append tool, this environment only applies to enterprise geodatabase data and will only work on data that has a Global ID field with a unique index. If the Global ID field does not have a unique index, the tool may fail. To add a unique index to your Global ID field, you can use the &lt;A href="http://pro.arcgis.com/en/pro-app/tool-reference/data-management/add-attribute-index.htm"&gt;&lt;SPAN style="color: #0066cc; text-decoration: underline;"&gt;Add Attribute Index&lt;/SPAN&gt;&lt;/A&gt; geoprocessing tool.&lt;/EM&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;The problems I have found with this are:&lt;/P&gt;&lt;P&gt;1) Works only in ArcGIS Pro, this is not available in ArcGIS Desktop 10.5.&lt;/P&gt;&lt;P&gt;2) Requires a unique index on the GlobalID column.&lt;/P&gt;&lt;UL&gt;&lt;LI&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;When you create a layer in ArcGIS Pro or ArcCatalog and add a GlobalID column, the software automatically adds a non-unique index.&lt;/LI&gt;&lt;LI&gt;ArcGIS Desktop does not allow the user to remove the GlobalID index.&lt;/LI&gt;&lt;LI&gt;The GlobalID index is created as non-unique so that versioning can be supported.&lt;/LI&gt;&lt;LI&gt;A manual change to a system generated index is required to use this option. This manual change is in direct violation of rules enforced by other ESRI software.&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;I would like to see the preserveGlobalIDs setting supported in ArcGIS Desktop and to also be supported on GlobalID fields with a non-unique index as is created by the ESRI software.&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
    <pubDate>Thu, 23 Feb 2017 16:01:39 GMT</pubDate>
    <dc:creator>AllanBenvin</dc:creator>
    <dc:date>2017-02-23T16:01:39Z</dc:date>
    <item>
      <title>Preserve GlobalID on Append</title>
      <link>https://community.esri.com/t5/arcgis-pro-ideas/preserve-globalid-on-append/idi-p/924249</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;In our environment we have several databases including a maintenance and a published environment that we replicate data to. Because or maintenance database has feature datasets (edit focused)&amp;nbsp;and our published database has different feature datasets (more consumer focused) we are unable to use geodatabase replication. If data resides in a feature dataset in the source the same feature dataset must exist in the target. Because of this we have been using our own custom replication. In our replication we still want to maintain GlobalIDs in both databases, we do not want them to be recalculated as they are when you append. To maintain the GlobalIDs we have had to add an additional GUID field to our published data that we can map the GlobalID to when we append new records. This works, but it involves extra logic, an extra column and more processing time.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;I recently stumbled across an environment setting in ArcGIS Pro called PreserveGlobalIDs that can be used during an append operation. This seemed quite useful as it could eliminate all the jiggery pokery we are doing now. I tried it out and there seem to be some limitations that make it pretty much useless.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;The documented usage notes are below:&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;(from: &lt;A href="http://pro.arcgis.com/en/pro-app/tool-reference/environment-settings/preserve-globalids.htm"&gt;http://pro.arcgis.com/en/pro-app/tool-reference/environment-settings/preserve-globalids.htm&lt;/A&gt;)&lt;/P&gt;&lt;UL&gt;&lt;LI&gt;&lt;EM&gt;This is useful for workflows where the Global ID value for the row is required to stay the same when exporting or appending data.&lt;/EM&gt;&lt;/LI&gt;&lt;LI&gt;&lt;EM&gt;For the Append tool, this environment only applies to enterprise geodatabase data and will only work on data that has a Global ID field with a unique index. If the Global ID field does not have a unique index, the tool may fail. To add a unique index to your Global ID field, you can use the &lt;A href="http://pro.arcgis.com/en/pro-app/tool-reference/data-management/add-attribute-index.htm"&gt;&lt;SPAN style="color: #0066cc; text-decoration: underline;"&gt;Add Attribute Index&lt;/SPAN&gt;&lt;/A&gt; geoprocessing tool.&lt;/EM&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;The problems I have found with this are:&lt;/P&gt;&lt;P&gt;1) Works only in ArcGIS Pro, this is not available in ArcGIS Desktop 10.5.&lt;/P&gt;&lt;P&gt;2) Requires a unique index on the GlobalID column.&lt;/P&gt;&lt;UL&gt;&lt;LI&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;When you create a layer in ArcGIS Pro or ArcCatalog and add a GlobalID column, the software automatically adds a non-unique index.&lt;/LI&gt;&lt;LI&gt;ArcGIS Desktop does not allow the user to remove the GlobalID index.&lt;/LI&gt;&lt;LI&gt;The GlobalID index is created as non-unique so that versioning can be supported.&lt;/LI&gt;&lt;LI&gt;A manual change to a system generated index is required to use this option. This manual change is in direct violation of rules enforced by other ESRI software.&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;I would like to see the preserveGlobalIDs setting supported in ArcGIS Desktop and to also be supported on GlobalID fields with a non-unique index as is created by the ESRI software.&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Thu, 23 Feb 2017 16:01:39 GMT</pubDate>
      <guid>https://community.esri.com/t5/arcgis-pro-ideas/preserve-globalid-on-append/idi-p/924249</guid>
      <dc:creator>AllanBenvin</dc:creator>
      <dc:date>2017-02-23T16:01:39Z</dc:date>
    </item>
    <item>
      <title>Re: Preserve GlobalID on Append</title>
      <link>https://community.esri.com/t5/arcgis-pro-ideas/preserve-globalid-on-append/idc-p/924250#M895</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Second!&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Thu, 20 Apr 2017 21:31:57 GMT</pubDate>
      <guid>https://community.esri.com/t5/arcgis-pro-ideas/preserve-globalid-on-append/idc-p/924250#M895</guid>
      <dc:creator>SimonYoklic</dc:creator>
      <dc:date>2017-04-20T21:31:57Z</dc:date>
    </item>
    <item>
      <title>Re: Preserve GlobalID on Append</title>
      <link>https://community.esri.com/t5/arcgis-pro-ideas/preserve-globalid-on-append/idc-p/924251#M896</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;This would be extremely helpful for a workflow we are using. We have an append function copying over specific records from a field survey. However, we need another script just to properly take care of attachments. This involves a recalculating of the relationship ID in the attachments table to match the new globalid. Preserving the globalid with one environment setting (as the documentation claims) would be amazing. This really needs to work outside ArcGIS Pro, as many users have server scripts on a scheduler.&amp;nbsp;&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Wed, 02 Aug 2017 14:13:37 GMT</pubDate>
      <guid>https://community.esri.com/t5/arcgis-pro-ideas/preserve-globalid-on-append/idc-p/924251#M896</guid>
      <dc:creator>deleted-user-st4HsVxccxgs</dc:creator>
      <dc:date>2017-08-02T14:13:37Z</dc:date>
    </item>
    <item>
      <title>Re: Preserve GlobalID on Append</title>
      <link>https://community.esri.com/t5/arcgis-pro-ideas/preserve-globalid-on-append/idc-p/924252#M897</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Same here!&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Survey123 (which nicely supports 1:M relationships based on GlobalID) collected data has to be processed with scripts to take care of relationships. So,my vote also goes for an improvemnt in the "Preserve GlobalIDs".&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Btw, attachments are indeed loaded as expected (Maintain attachments environment variable).&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Sat, 03 Aug 2019 15:35:34 GMT</pubDate>
      <guid>https://community.esri.com/t5/arcgis-pro-ideas/preserve-globalid-on-append/idc-p/924252#M897</guid>
      <dc:creator>JuanPeralta1</dc:creator>
      <dc:date>2019-08-03T15:35:34Z</dc:date>
    </item>
    <item>
      <title>Re: Preserve GlobalID on Append</title>
      <link>https://community.esri.com/t5/arcgis-pro-ideas/preserve-globalid-on-append/idc-p/924253#M898</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;The inability to&amp;nbsp;preserve globalids&amp;nbsp;as data moves&amp;nbsp;from geodatabase to geodatabase seems like&amp;nbsp;a failure of imagination at Esri. Also 999999 errors are a bummer, at least add a human readable exception for the situation.&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Fri, 15 Nov 2019 19:21:16 GMT</pubDate>
      <guid>https://community.esri.com/t5/arcgis-pro-ideas/preserve-globalid-on-append/idc-p/924253#M898</guid>
      <dc:creator>PaulDziemiela2</dc:creator>
      <dc:date>2019-11-15T19:21:16Z</dc:date>
    </item>
    <item>
      <title>Re: Preserve GlobalID on Append</title>
      <link>https://community.esri.com/t5/arcgis-pro-ideas/preserve-globalid-on-append/idc-p/924254#M899</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;It is critical to be able to maintain GlobalIDs when transferring data from one feature class to another. As an example, we are moving ArcGIS Online accounts right now and I am re-building surveys and appending data. I am unable to run the Append tool with the "Maintain GlobalDIs" checked - I get the 999999 error. My input data is local, and the target is an editable ArcGIS Online feature layer with an exact schema match. There are 377 related records that depend on the GlobalID being maintained, and it's not possible. &lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Tue, 19 Nov 2019 15:19:44 GMT</pubDate>
      <guid>https://community.esri.com/t5/arcgis-pro-ideas/preserve-globalid-on-append/idc-p/924254#M899</guid>
      <dc:creator>erica_poisson</dc:creator>
      <dc:date>2019-11-19T15:19:44Z</dc:date>
    </item>
    <item>
      <title>Re: Preserve GlobalID on Append</title>
      <link>https://community.esri.com/t5/arcgis-pro-ideas/preserve-globalid-on-append/idc-p/924255#M900</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Erica, if you can use ArcGIS Pro, you might try this procedure to use the append tool to migrate data and preserve GlobalID's:&lt;/P&gt;&lt;P&gt;&lt;A href="https://community.esri.com/thread/202815-preserving-a-globalid-while-moving-data-between-feature-classes"&gt;https://community.esri.com/thread/202815-preserving-a-globalid-while-moving-data-between-feature-classes&lt;/A&gt;&amp;nbsp;&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Fri, 22 Nov 2019 21:08:14 GMT</pubDate>
      <guid>https://community.esri.com/t5/arcgis-pro-ideas/preserve-globalid-on-append/idc-p/924255#M900</guid>
      <dc:creator>alex_friant</dc:creator>
      <dc:date>2019-11-22T21:08:14Z</dc:date>
    </item>
    <item>
      <title>Re: Preserve GlobalID on Append</title>
      <link>https://community.esri.com/t5/arcgis-pro-ideas/preserve-globalid-on-append/idc-p/924256#M901</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Thanks Alex, I will give that a try. Do you happen to know if this works when appending data directly into an AGOL feature service?&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Mon, 25 Nov 2019 12:46:00 GMT</pubDate>
      <guid>https://community.esri.com/t5/arcgis-pro-ideas/preserve-globalid-on-append/idc-p/924256#M901</guid>
      <dc:creator>erica_poisson</dc:creator>
      <dc:date>2019-11-25T12:46:00Z</dc:date>
    </item>
    <item>
      <title>Re: Preserve GlobalID on Append</title>
      <link>https://community.esri.com/t5/arcgis-pro-ideas/preserve-globalid-on-append/idc-p/924257#M902</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;I would imagine it would if you have the agol hosted feature layer in Pro, but honestly never tried.&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Mon, 25 Nov 2019 21:16:19 GMT</pubDate>
      <guid>https://community.esri.com/t5/arcgis-pro-ideas/preserve-globalid-on-append/idc-p/924257#M902</guid>
      <dc:creator>alex_friant</dc:creator>
      <dc:date>2019-11-25T21:16:19Z</dc:date>
    </item>
    <item>
      <title>Re: Preserve GlobalID on Append</title>
      <link>https://community.esri.com/t5/arcgis-pro-ideas/preserve-globalid-on-append/idc-p/924258#M903</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Alex, your procedure works perfect....in ArcGIS Pro!!!&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Only I (and we) have some other problems and frustrations.&lt;/P&gt;&lt;P&gt;I have a datamodel with relational tables:&lt;/P&gt;&lt;UL style="padding-left: 60px;"&gt;&lt;LI&gt;In ArcMap 10.5 it is possible to reproject my data from AGOL (mercator) on the fly using the environment settings and set the output coordinates similar to the database (RDnew). I used it to append data to a sql-database but cannot preserve globalids and relations with related tables are lost and have try to fix them in workarounds.....&lt;/LI&gt;&lt;LI&gt;I have build a model in 10.5 to append datasets from several sources to a database which works perfectly, but cannot maintain globalIDs. I set the output coordinates for each append tool in the model to be sur&lt;/LI&gt;&lt;LI&gt;In ArcGIS Pro (2.41) the preserve GlobalID option is available, Perfect! and I can use my model.&lt;/LI&gt;&lt;LI&gt;&lt;STRONG&gt;BUT..&lt;/STRONG&gt;.now it is not possible to set the environment output coordinates for the append tools...soooo disappointing....&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;any smart suggestions ...without that I have to use project-tool&amp;nbsp; first and create all new datasets and have to rebuild my model???&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;regards,&lt;/P&gt;&lt;P&gt;Stefan&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Tue, 28 Jan 2020 16:33:43 GMT</pubDate>
      <guid>https://community.esri.com/t5/arcgis-pro-ideas/preserve-globalid-on-append/idc-p/924258#M903</guid>
      <dc:creator>StefanThorn2</dc:creator>
      <dc:date>2020-01-28T16:33:43Z</dc:date>
    </item>
    <item>
      <title>Re: Preserve GlobalID on Append</title>
      <link>https://community.esri.com/t5/arcgis-pro-ideas/preserve-globalid-on-append/idc-p/924259#M904</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;You can do it, I just did doing these steps:&lt;/P&gt;&lt;OL&gt;&lt;LI&gt;Add source FC to map with map coordinate system matching the source.&lt;/LI&gt;&lt;LI&gt;Add target FC (which has a different coordinate system from the source FC) to map, and make sure your Transformation gets set properly when you bring it in.&lt;/LI&gt;&lt;LI&gt;Open the Append tool, using the instructions above, and run it.&lt;/LI&gt;&lt;LI&gt;Create a new Model or open a pre-existing model&lt;/LI&gt;&lt;LI&gt;Drag-and-drop that Append you did from your Catalog History Pane into the Model&lt;/LI&gt;&lt;LI&gt;(&lt;STRONG&gt;IMPORTANT&lt;/STRONG&gt;) Open the Append step in your model, and reset the datatype Property to "Guid" for the GlobalID field for the output (as explained in my comment above. For some reason that setting gets reset back to "GlobalID" when you drag it from History into the Model. I have no idea why it does that.&lt;/LI&gt;&lt;LI&gt;Save your Model, and Run it.&lt;/LI&gt;&lt;/OL&gt;&lt;P&gt;Those steps resulted in the data not only being properly projected into the target FC, but it also preserved the GlobalID value. Hope that works for you too!&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Wed, 29 Jan 2020 20:08:58 GMT</pubDate>
      <guid>https://community.esri.com/t5/arcgis-pro-ideas/preserve-globalid-on-append/idc-p/924259#M904</guid>
      <dc:creator>alex_friant</dc:creator>
      <dc:date>2020-01-29T20:08:58Z</dc:date>
    </item>
    <item>
      <title>Re: Preserve GlobalID on Append</title>
      <link>https://community.esri.com/t5/arcgis-pro-ideas/preserve-globalid-on-append/idc-p/924260#M905</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hello Alex,&lt;/P&gt;&lt;P&gt;A late reply but I have managed a bit different. Because I had to keep GlobalIDs and have a transformation the same time.&lt;/P&gt;&lt;P&gt;- I imported the 10.5 model in ArcGIS Pro&lt;/P&gt;&lt;P&gt;- I did your step 6 for all FC in the model&lt;/P&gt;&lt;P&gt;Then I saved it as a python script and manually I have to make sure the local variables where correct written because this was not properly don by Pro (with some help from colleague with python experiences)&lt;/P&gt;&lt;P&gt;-&amp;nbsp;I added the pyhtonscipt to a new model and the nice thing about the model&amp;nbsp;are the geoprocessing environment settings. Here you can set the transformation of the coordinates.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;So i was able to import and transform from a FGDB to a ArcGIS Server database.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;# Set Geoprocessing environments&lt;BR /&gt;arcpy.env.outputCoordinateSystem = "PROJCS['RD_New',GEOGCS['GCS_Amersfoort',DATUM['D_Amersfoort',SPHEROID['Bessel_1841',6377397.155,299.1528128]],PRIMEM['Greenwich',0.0],UNIT['Degree',0.0174532925199433]],PROJECTION['Double_Stereographic'],PARAMETER['False_Easting',155000.0],PARAMETER['False_Northing',463000.0],PARAMETER['Central_Meridian',5.38763888888889],PARAMETER['Scale_Factor',0.9999079],PARAMETER['Latitude_Of_Origin',52.15616055555555],UNIT['Meter',1.0]]"&lt;BR /&gt;arcpy.env.transferGDBAttributeProperties = "true"&lt;BR /&gt;arcpy.env.transferDomains = "true"&lt;BR /&gt;arcpy.env.maintainAttachments = "true"&lt;BR /&gt;arcpy.env.qualifiedFieldNames = "false"&lt;BR /&gt;arcpy.env.parallelProcessingFactor = "3"&lt;BR /&gt;arcpy.env.geographicTransformations = "Amersfoort_To_WGS_1984_4X"&lt;BR /&gt;arcpy.env.preserveGlobalIds = "true"&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;regards,&lt;/P&gt;&lt;P&gt;Stefan&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Tue, 17 Mar 2020 23:13:37 GMT</pubDate>
      <guid>https://community.esri.com/t5/arcgis-pro-ideas/preserve-globalid-on-append/idc-p/924260#M905</guid>
      <dc:creator>StefanThorn2</dc:creator>
      <dc:date>2020-03-17T23:13:37Z</dc:date>
    </item>
    <item>
      <title>Re: Preserve GlobalID on Append</title>
      <link>https://community.esri.com/t5/arcgis-pro-ideas/preserve-globalid-on-append/idc-p/1107168#M17317</link>
      <description>&lt;P&gt;For FeatureLayer on ArcGIS Online, I managed to do it with the following step:&lt;/P&gt;&lt;P&gt;1. Take FeatureLayer offline -&amp;gt; local FileGeoDB will be created with a FeatureClass in it.&lt;/P&gt;&lt;P&gt;2. Append Features from a local featureclass into this FeatureClass with PreserveGlobalIds enabled&lt;/P&gt;&lt;P&gt;3. Sync FeatureLayer with ArcGIS Online&lt;/P&gt;</description>
      <pubDate>Wed, 13 Oct 2021 16:40:21 GMT</pubDate>
      <guid>https://community.esri.com/t5/arcgis-pro-ideas/preserve-globalid-on-append/idc-p/1107168#M17317</guid>
      <dc:creator>NicoleSulzberger</dc:creator>
      <dc:date>2021-10-13T16:40:21Z</dc:date>
    </item>
    <item>
      <title>Re: Preserve GlobalID on Append</title>
      <link>https://community.esri.com/t5/arcgis-pro-ideas/preserve-globalid-on-append/idc-p/1477946#M30369</link>
      <description>&lt;P&gt;As a follow up to this post I got an update on this from ESRI Support that I submitted in 2018. This is apparently "As Designed". The problem for us is that any objects created using 10.5 or earlier has a non-unique index. None of these layers are supported by the preserveGlobalIDs setting. Geodatabase upgrades do not update these indexes. The argument here is that ESRI does not update user data, of course the indexes are not user created, they were created by the software.&lt;/P&gt;&lt;P&gt;If you have preserveGlobalIDs set to True and the source data does not have a GlobalID it will fail in one of two ways:&amp;nbsp;&lt;/P&gt;&lt;DIV&gt;&lt;DIV&gt;&lt;SPAN&gt;Scenario&amp;nbsp;1: target&amp;nbsp;created&amp;nbsp;by&amp;nbsp;10.5 or earlier, has non-unique GlobalID index:&amp;nbsp;&lt;/SPAN&gt;&lt;/DIV&gt;&lt;DIV&gt;&lt;SPAN&gt;&amp;nbsp; Result: the&amp;nbsp;data&amp;nbsp;gets&amp;nbsp;appended&amp;nbsp;but&amp;nbsp;GLOBALIDs&amp;nbsp;are&amp;nbsp;all&amp;nbsp;set&amp;nbsp;to&amp;nbsp;'{00000000-0000-0000-0000-000000000000}'&amp;nbsp;so&amp;nbsp;the&amp;nbsp;data&amp;nbsp;is&amp;nbsp;bad&lt;/SPAN&gt;&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp;&lt;/DIV&gt;&lt;DIV&gt;&lt;SPAN&gt;Scenario&amp;nbsp;2:&amp;nbsp;target&amp;nbsp;created&amp;nbsp;by&amp;nbsp;Pro, has unique GlobalID index&lt;/SPAN&gt;&lt;/DIV&gt;&lt;DIV&gt;&lt;SPAN&gt;&amp;nbsp; Result:&amp;nbsp;data&amp;nbsp;fails&amp;nbsp;to&amp;nbsp;append&amp;nbsp;as&amp;nbsp;there&amp;nbsp;is&amp;nbsp;no&amp;nbsp;globalid&amp;nbsp;in&amp;nbsp;the&amp;nbsp;source,&amp;nbsp;it&amp;nbsp;tries&amp;nbsp;to&amp;nbsp;put&amp;nbsp;'{00000000-0000-0000-0000-000000000000}'&amp;nbsp;into&amp;nbsp;target&amp;nbsp;globalid&amp;nbsp;and&amp;nbsp;fails&amp;nbsp;due&amp;nbsp;to&amp;nbsp;unique&amp;nbsp;constraint&lt;/SPAN&gt;&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp;&lt;/DIV&gt;&lt;DIV&gt;&lt;SPAN&gt;We have over 4000 layers created over the last 20 years with different versions. We count on upgrades to modernize our databases. Apparently, the recommendation is just to recreate everything with the newest version of Pro or update the indexes using SQL, which is unsupported. The indexes on GlobalID get created differently depending if the data is branch or traditional versioned and archived. The base tables, delta tables and archive tables will all have different indexes and rules.&amp;nbsp;&lt;/SPAN&gt;&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp;&lt;/DIV&gt;&lt;DIV&gt;&lt;SPAN&gt;Below is a script I used in Oracle to update GlobalID indexes to unique for the required tables. The script takes a schema name and spools out an SQL script that will drop/create the indexes. It also includes the original index statement as a backup.&lt;/SPAN&gt;&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp;&lt;/DIV&gt;&lt;DIV&gt;&lt;P&gt;--Generates sql statements to make globalid UUID indexes unique.&lt;BR /&gt;-- code is for Oracle&lt;BR /&gt;ACCEPT OwnerName char prompt 'Enter owner of the source table : ';&lt;BR /&gt;&lt;BR /&gt;set echo on;&lt;BR /&gt;set serveroutput on size 1000000;&lt;/P&gt;&lt;P&gt;SET ECHO off&lt;BR /&gt;SET NEWPAGE 0&lt;BR /&gt;SET SPACE 0&lt;BR /&gt;SET LINESIZE 13000&lt;BR /&gt;SET PAGESIZE 0&lt;BR /&gt;SET FEEDBACK OFF&lt;BR /&gt;SET HEADING OFF&lt;BR /&gt;SET VERIFY OFF&lt;BR /&gt;SET TRIMSPOOL ON&lt;BR /&gt;set termout ON&lt;BR /&gt;EXECUTE DBMS_OUTPUT.ENABLE(1000000);&lt;/P&gt;&lt;P&gt;-- Retrieve the instance name and store it in a variable&lt;BR /&gt;COLUMN DB_NAME NEW_VALUE InstanceName&lt;BR /&gt;SELECT sys_context('USERENV', 'DB_NAME') AS DB_NAME FROM dual;&lt;/P&gt;&lt;P&gt;-- Dynamically name the spool file after the instance with "GLOBALID_IDX" and OwnerName in the name, and output to C:\TEMP folder&lt;BR /&gt;SPOOL C:\TEMP\&amp;amp;&amp;amp;InstanceName.GLOBALID_IDX.&amp;amp;&amp;amp;OwnerName..log&lt;/P&gt;&lt;P&gt;&lt;BR /&gt;DECLARE&lt;BR /&gt;vOwner VARCHAR2(50) := UPPER('&amp;amp;&amp;amp;OwnerName');&lt;BR /&gt;vTablespaceName VARCHAR2(80) := '';&lt;BR /&gt;cnt NUMBER := 0;&lt;BR /&gt;colName VARCHAR2(60) := '';&lt;BR /&gt;sqlCols VARCHAR2(4000) := ' ';&lt;BR /&gt;intStart NUMBER:=1;&lt;BR /&gt;intLast NUMBER :=0;&lt;BR /&gt;intTabIdxCount NUMBER := 1;&lt;BR /&gt;PrevTabName VARCHAR2(100) := '';&lt;BR /&gt;TYPE v_arr IS VARRAY(950) of VARCHAR2(50);&lt;BR /&gt;vCurrentCreateString VARCHAR2(4000) := '';&lt;BR /&gt;vDropString VARCHAR2(4000) := '';&lt;BR /&gt;vNewCreateUniqueString VARCHAR2(4000) := '';&lt;BR /&gt;colArr v_arr;&lt;BR /&gt;vIndName VARCHAR2(100) := '';&lt;/P&gt;&lt;P&gt;CURSOR Indcur IS&lt;BR /&gt;-- omit all delta and active archive tables.&lt;BR /&gt;SELECT DISTINCT AI.OWNER, AI.INDEX_NAME,AI.TABLE_NAME,&lt;BR /&gt;AI.TABLE_TYPE,AI.UNIQUENESS, AI.STATUS,&lt;BR /&gt;AI.PARAMETERS--,AI.TABLESPACE_NAME&lt;BR /&gt;FROM all_indexes AI&lt;BR /&gt;WHERE AI.OWNER = vOwner&lt;BR /&gt;--IGNORE ANY INDEXES THAT ARE ALREADY UNIQUE&lt;BR /&gt;AND AI.UNIQUENESS != 'UNIQUE'&lt;BR /&gt;AND AI.INDEX_NAME LIKE '%UUID%'&lt;BR /&gt;--IGNORE ANY OBJECTS THAT ARE ARCHIVE TABLES&lt;BR /&gt;AND AI.OWNER||'.'||AI.TABLE_NAME NOT IN (SELECT TR2.OWNER||'.'||TR2.TABLE_NAME&lt;BR /&gt;FROM SDE.TABLE_REGISTRY TR1,&lt;BR /&gt;SDE.SDE_ARCHIVES A,&lt;BR /&gt;SDE.TABLE_REGISTRY TR2&lt;BR /&gt;WHERE TR1.REGISTRATION_ID = A.ARCHIVING_REGID&lt;BR /&gt;AND TR2.REGISTRATION_ID = A.HISTORY_REGID&lt;BR /&gt;AND A.ARCHIVING_REGID &amp;lt;&amp;gt; A.HISTORY_REGID&lt;BR /&gt;AND UPPER(TR2.TABLE_NAME) = AI.TABLE_NAME&lt;BR /&gt;AND UPPER(TR2.OWNER) = AI.OWNER )&lt;BR /&gt;--IGNORE ANY OBJECTS THAT ARE delta tables&lt;BR /&gt;AND AI.OWNER||'.'||AI.TABLE_NAME NOT IN (SELECT TR.OWNER||'.A'||TR.REGISTRATION_ID&lt;BR /&gt;FROM SDE.TABLE_REGISTRY TR )&lt;BR /&gt;--Only include objects where that have a globalid that is defined as globalid&lt;BR /&gt;AND AI.OWNER||'.'||&lt;BR /&gt;AI.TABLE_NAME IN (SELECT DISTINCT CR.OWNER||'.'||CR.TABLE_NAME&lt;BR /&gt;FROM SDE.COLUMN_REGISTRY CR&lt;BR /&gt;WHERE CR.SDE_TYPE = 12&lt;BR /&gt;--AND COLUMN IS GLOBALIDFIELDNAME&lt;BR /&gt;AND UPPER(COLUMN_NAME) = (SELECT UPPER(&lt;BR /&gt;XMLCast (&lt;BR /&gt;XMLQUERY ('*/GlobalIDFieldName'&lt;BR /&gt;PASSING xmltype.createxml (GI.DEFINITION) RETURNING CONTENT) AS VARCHAR2 (50)&lt;BR /&gt;)) AS "GLOBALIDFIELDNAME"&lt;BR /&gt;FROM SDE.GDB_ITEMS_VW GI&lt;BR /&gt;WHERE GI.NAME = AI.OWNER||'.'||AI.TABLE_NAME&lt;BR /&gt;)&lt;BR /&gt;)&lt;BR /&gt;ORDER BY AI.TABLE_NAME,AI.INDEX_NAME&lt;BR /&gt;;&lt;BR /&gt;&lt;BR /&gt;CURSOR Colcur (IndexOwner IN VARCHAR2, IndexName IN VARCHAR2) IS&lt;BR /&gt;SELECT AIC.INDEX_OWNER, AIC.INDEX_NAME, AIC.COLUMN_NAME,AIC.COLUMN_POSITION,&lt;BR /&gt;AIC.DESCEND&lt;BR /&gt;FROM ALL_IND_COLUMNS AIC&lt;BR /&gt;WHERE AIC.INDEX_OWNER = IndexOwner&lt;BR /&gt;AND AIC.INDEX_NAME = IndexName&lt;BR /&gt;ORDER BY AIC.INDEX_NAME,AIC.COLUMN_POSITION&lt;BR /&gt;;&lt;BR /&gt;&lt;BR /&gt;ind_rec Indcur%ROWTYPE;&lt;BR /&gt;col_rec Colcur%ROWTYPE;&lt;/P&gt;&lt;P&gt;BEGIN&lt;BR /&gt;DBMS_OUTPUT.PUT_LINE('-- Export indexes on Non-SDE registered table where Owner = '||vOwner);&lt;BR /&gt;&lt;BR /&gt;OPEN Indcur;&lt;BR /&gt;LOOP&lt;BR /&gt;FETCH Indcur into ind_rec;&lt;BR /&gt;&lt;BR /&gt;EXIT WHEN Indcur%NOTFOUND;&lt;BR /&gt;&lt;BR /&gt;vCurrentCreateString := '';&lt;BR /&gt;--Initialize vars&lt;BR /&gt;sqlCols := '';&lt;BR /&gt;colName := '';&lt;BR /&gt;&lt;BR /&gt;--GET vIndName simply&lt;BR /&gt;vIndName := ind_rec.INDEX_NAME;&lt;BR /&gt;&lt;BR /&gt;--get cols from sub cursor&lt;BR /&gt;cnt := 1;&lt;BR /&gt;colArr := v_arr();&lt;BR /&gt;open Colcur(ind_rec.OWNER, ind_rec.INDEX_NAME);&lt;BR /&gt;LOOP&lt;BR /&gt;FETCH Colcur into col_rec;&lt;BR /&gt;EXIT WHEN Colcur%NOTFOUND;&lt;BR /&gt;colName := col_rec.COLUMN_NAME;&lt;BR /&gt;sqlCols := sqlCols||','||colName; --LINE 66&lt;BR /&gt;colArr.Extend(1);&lt;BR /&gt;colArr(cnt) := colName;&lt;BR /&gt;cnt := cnt + 1;&lt;BR /&gt;&lt;BR /&gt;END LOOP;&lt;BR /&gt;CLOSE Colcur;&lt;BR /&gt;--START OF WRITE OUT COLUMNS FOR TARGET TABLE;&lt;BR /&gt;vCurrentCreateString := 'CREATE ' ||&lt;BR /&gt;CASE&lt;BR /&gt;WHEN ind_rec.uniqueness = 'UNIQUE' THEN 'UNIQUE '&lt;BR /&gt;ELSE ''&lt;BR /&gt;END ||&lt;BR /&gt;'INDEX ' || ind_rec.OWNER || '.' || ind_rec.index_name ||&lt;BR /&gt;' ON ' || ind_rec.OWNER || '.' || ind_rec.table_name || ' (';&lt;BR /&gt;&lt;BR /&gt;vCurrentCreateString := vCurrentCreateString || ' ';&lt;BR /&gt;&lt;BR /&gt;FOR i in 1..colArr.Count&lt;BR /&gt;LOOP&lt;BR /&gt;IF i = colArr.Count THEN&lt;BR /&gt;vCurrentCreateString := vCurrentCreateString||''||colArr(i) ;&lt;BR /&gt;--dbms_output.put_line(' '||colArr(i) );&lt;BR /&gt;ELSE&lt;BR /&gt;--dbms_output.put_line(' '||colArr(i)||',');&lt;BR /&gt;vCurrentCreateString := vCurrentCreateString||''||colArr(i)||',';&lt;BR /&gt;END IF;&lt;BR /&gt;END LOOP;&lt;BR /&gt;-- END OF WRITE OUT COLUMNS&lt;BR /&gt;&lt;BR /&gt;--terminate the string&lt;BR /&gt;vCurrentCreateString := vCurrentCreateString||');';&lt;BR /&gt;&lt;BR /&gt;DBMS_OUTPUT.PUT_LINE('');&lt;BR /&gt;&lt;BR /&gt;--set the vCurrentCreateString by editing the current string&lt;BR /&gt;IF INSTR(vCurrentCreateString, 'UNIQUE') = 0 THEN&lt;BR /&gt;vNewCreateUniqueString := REPLACE(vCurrentCreateString,'CREATE INDEX','CREATE UNIQUE INDEX');&lt;BR /&gt;vDropString := 'DROP INDEX '|| ind_rec.OWNER||'.'||vIndName||';';&lt;BR /&gt;DBMS_OUTPUT.PUT_LINE('--REQUIRES UNIQUE INDEX');&lt;BR /&gt;ELSE&lt;BR /&gt;DBMS_OUTPUT.PUT_LINE('--NO CHANGES REQUIRED');&lt;BR /&gt;vNewCreateUniqueString:= '';&lt;BR /&gt;vDropString := '';&lt;BR /&gt;END IF;&lt;BR /&gt;&lt;BR /&gt;&lt;BR /&gt;DBMS_OUTPUT.PUT_LINE('--backup of current index: '||vCurrentCreateString);&lt;BR /&gt;DBMS_OUTPUT.PUT_LINE('/*drop index index */ '||vDropString);&lt;BR /&gt;DBMS_OUTPUT.PUT_LINE('/*create unique index */ '||vNewCreateUniqueString);&lt;BR /&gt;&lt;BR /&gt;&lt;BR /&gt;PrevTabName := ind_rec.TABLE_NAME;&lt;BR /&gt;cnt := cnt + 1;&lt;/P&gt;&lt;P&gt;END LOOP;&lt;BR /&gt;CLOSE Indcur;&lt;/P&gt;&lt;P&gt;END;&lt;/P&gt;&lt;P&gt;--spool off;&lt;/P&gt;&lt;/DIV&gt;&lt;DIV&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/SPAN&gt;&lt;SPAN&gt;&lt;BR /&gt;&lt;/SPAN&gt;&lt;/DIV&gt;&lt;/DIV&gt;</description>
      <pubDate>Thu, 23 May 2024 19:23:43 GMT</pubDate>
      <guid>https://community.esri.com/t5/arcgis-pro-ideas/preserve-globalid-on-append/idc-p/1477946#M30369</guid>
      <dc:creator>AllanBenvin_yyc</dc:creator>
      <dc:date>2024-05-23T19:23:43Z</dc:date>
    </item>
  </channel>
</rss>

