Select to view content in your preferred language

Preserving Global IDs with ArcPro 3.2 Append

1811
17
Jump to solution
01-10-2024 09:40 AM
ZachBodenner
MVP Regular Contributor

Hello,

I've been having some trouble using the updated append tool since upgrading to ArcPro 3.2. So I have  a feature class (A) that I am migrating to a new feature class (B).  A has global IDs enabled, which are required for photo attachments and a related table, and so B feature class must have them enabled as well. I set up Feature Class B and enabled Global IDs. 

Okay, so now when I go to append features from A and use the field mapper, GlobalID is one of the mappable field. If I run the append by filling out the GlobalID field, the correct Global ID does not get written in to dataset B - it's just a new GlobalID

ZachBodenner_0-1704907665984.pngZachBodenner_1-1704908156693.png

 

I discovered this after my initial workflow failed: I went into the environment settings and selected Preserve GlobalIDs and then left the field map option blank. But that results in the Global ID of feature class B being written as 000-...

ZachBodenner_2-1704908348400.png

Which, if I'm appending more than one feature, will fail on the second feature because it's trying to write the same value to all the records.

What am I missing? Prior to 3.2 I was able to do work like this with no issues at all.

Tags (3)
0 Kudos
17 Replies
LMedeirosUI
Frequent Contributor

@ZachBodenner Could you post a screenshot of your parameters and field mapping? I am having the same issue, but can't figure out the correct settings to make it work for me. 

Also - what type of portal are you using? AGOL? Enterprise? I am trying to use tables hosted on AGOL and wonder if that is an issue.

Thanks!

0 Kudos
ZachBodenner
MVP Regular Contributor

I just marked my comment on page 1 as the solution since that got it working for me. There are pictures to illustrate the parameters so hopefully that helps you.

These are all database feature classes in Pro, so if you're doing it online in some fashion, that'd be a different environment and might cause different behavior.

0 Kudos
LMedeirosUI
Frequent Contributor

@ZachBodenner  I saw the pictures, but I was hoping for a screenshot of what you did in the field mapping dialog box (see attached screenshot) to "set" GlobalID of B to be equal to the GlobalID of A. By default, that's what mine is set to but I wanted to see if I was missing something.

For the second question, I was asking if you were using a local FGDB or accessing the feature classes via a portal (e.g., accessing a database/feature class stored in AGOL).

I'm also trying to do this in a related table... which makes it different, but I think it should work the same? Who knows - appending data while preserving GlobalIDs and maintaining attachments seems to be an ongoing problem for esri.

I am currently using this workaround: https://mediaspace.esri.com/media/t/1_pnnrcvlp, but it's a pain --and-- I don't seem to be able to remove a join and keep the copied data (steps 6 and 7 in the text below the video) if using layers accessed via the portal. Instead, for me, the layer being copied from has to be local.

0 Kudos
ZachBodenner
MVP Regular Contributor

Ah I see what you're saying, no it looks like you have it set up correctly. Here's mine:

ZachBodenner_0-1712949196216.png

 

I've done mine in local FGDBs and also our primary Enterprise Geodatabase. Nothing online. When you say you're doing it in a related table, are you trying to migrate an entire parent AND child dataset (ie. feature class and related table)? Whether it's a table or a feature class shouldn't make a difference.

0 Kudos
LMedeirosUI
Frequent Contributor

@ZachBodenner Not an entire parent and child dataset - just a subset of each (separately) as new data is entered.

The "original" data is uploaded as a result of the entire sampling process, then I narrow it down and import data from another source for my experience page. The original data has pictures associated with it that I do want for the experience page, but the "preserve GlobalID" option not working has really made the process more difficult. It'd only have to work for the feature class, really. Then I could append the related table data from the "original" related table (without preserving the GlobalIDs from the "original" related table) and everything would/should work. 

The hosted layers not working for the workaround is just an extra pain. Doable, but exporting a new FGDB whenever I want to update the feature class and table for the experience page slows the process down as it's a big dataset with attachments.

Oh well, sounds like I wasn't missing anything. Thanks for your help.

0 Kudos
NguyenBang123
Emerging Contributor

Hi  ZachBodenner ,

Did you run append and keep GlobalID with FGDB or Enterprise Geo, because as I know File geodatabases don't support unique attribute indexes so can not run tool with Global ID check?

I try to use but get Error

0 Kudos
ZachBodenner
MVP Regular Contributor

I used an egdb. Do both of your feature classes here have GlobalIDs enabled? If they do but you're still getting that error, I'd check to be sure there is a unique index?

0 Kudos
NguyenBang123
Emerging Contributor

Hi, I run to append from FGDB to EGDB on oracle it work well, but if I run to append for FGDB to FGDB, it failed. 

Because I find some one ask some issue and reason is FGDB not support Unique Index

Unique and ascending indexes are not supported for shapefiles or file geodatabases. These parameters are ignored when the tool is run on a shapefile or on file geodatabase data

I try to Add attribute index to GlobalID field but it still set value is "NO", it make tool run failed
 

I run in ArcGIS Pro 3.3 and want to know did you test okie with FGDB or not, I really thankful for your feedback

0 Kudos