Hello,
Scenario: A line feature class (Trails) is used in an asset management where unique IDs of specific segments tie the segment to past work orders. Sometime these trail segments need to be split into two separate lines. Down the road, I foresee the possibility of work orders getting 'lost' by retaining their relationship to only part of a line segment. Here's what I want to do:
Add a field to the dataset to hold a 'Parent ID' so that a child line segment created by splitting will retain at least a textual reference to a previous line. However, because I do not want two lines with the same ID, I want one line to maintain that original ID, and have the second line 1) inherit the ID to the 'Parent ID' field, and then get a new ID in the primary ID field.
I had the idea to use an calculation rule to run on insert, as splitting the line segment should trigger an Insert edit. Then, as a result of that edit I would A) Generate a new ID in the primary ID field of the new line and B) run an Intersect function and get the original ID from the parent line to populate into the Parent ID field. My concern (and I haven't tested this yet to be honest), is that this might get complicated by the fact that many times the resulting new trail line will intersect multiple other line segments. Any thoughts on how I could single out one specific line segment? There's no guarantee the 'Parent' trail segment is actually First() in the OBJECTIDs, so I'm reluctant to rely on First to do this.
@ZachBodenner If you are willing to change your primary key in your relationship from an OBJECTID to a GlobalID you can change the relationship class split policy to Duplicate Related Objects:
https://pro.arcgis.com/en/pro-app/latest/help/data/relationships/relationship-class-split-policy.htm
This would be a wonderful solution if the related work orders were contained in the same database. The AM system is a separate product and will create points based on the geometry of the egdb feature that hold the work order info. So unfortunately there isn't a table that I actually can work with.