Select to view content in your preferred language

How to force subnetwork update

671
5
Jump to solution
04-02-2025 04:28 PM
PierreloupDucroix
Frequent Contributor

Hello,

some feature changes don't impact directly a subnetwork's topology, but sometime, we want to tell that the subnetwork has been modified in order to trigger an export.

Is there a way to set a subnet as "dirty," either manually or via an attribute rule? I know I can configure a network attribute, but I'm trying to avoid this option because the number of available bytes is limited, and I'm already approaching that limit.

 

 

CEO of MAGIS
0 Kudos
2 Solutions

Accepted Solutions
gis_KIWI4
Frequent Contributor

@PierreloupDucroix  - This is interesting.
So you don't want to add more network attributes but want to mark subnetwork dirty for say changing the "asset_id". 

Manual Methods - 
1) One way is to change geometry - location of the device, adding another vertex to the line, etc. 
Very grubby approach and I wouldn't recommend this. 

2) Toggle the existing network attributes. Eg - Change lifecycle status to unknown and back to the original status. That should trigger a validation and mark the subnetwork dirty. 

Attribute Rules
Attribute rule to change a network attribute like Lifecycle Status Field when updating attributes like AssetID etc. 

Note - 
Won't be able to change system managed field like subnetworkname, etc
Cannot change the network attribute and change it back in the same arcade expression. The expression executes once.

Below is an example of an attribute rule to set the lifecycle status = Unknown when the asset ID is updated. 
This triggers a validate which in turn marks the subnetwork dirty. 

gis_KIWI4_0-1743650170533.png

You can string to together attribute rules to
1)copy the original lifecyclestatus value into another field.
2)Set the lifecyclestatus = unknown
3)Change the lifecyclestatus back to the original value

 

==================================================================

This wasn't part of your question but the a scheduled export of subnetwork might work well. 
1) Filter all device where the lastupdated date on the device > lastupdated date of the respective subnetwork. 
2) Export the subnetwork that are related to the filtered dataset above. 

Schedule it frequent enough. 


View solution in original post

0 Kudos
RobertKrisher
Esri Regular Contributor

@PierreloupDucroixif you do create a new network attribute for this, make sure you don't store it in-line.

View solution in original post

5 Replies
gis_KIWI4
Frequent Contributor

@PierreloupDucroix  - This is interesting.
So you don't want to add more network attributes but want to mark subnetwork dirty for say changing the "asset_id". 

Manual Methods - 
1) One way is to change geometry - location of the device, adding another vertex to the line, etc. 
Very grubby approach and I wouldn't recommend this. 

2) Toggle the existing network attributes. Eg - Change lifecycle status to unknown and back to the original status. That should trigger a validation and mark the subnetwork dirty. 

Attribute Rules
Attribute rule to change a network attribute like Lifecycle Status Field when updating attributes like AssetID etc. 

Note - 
Won't be able to change system managed field like subnetworkname, etc
Cannot change the network attribute and change it back in the same arcade expression. The expression executes once.

Below is an example of an attribute rule to set the lifecycle status = Unknown when the asset ID is updated. 
This triggers a validate which in turn marks the subnetwork dirty. 

gis_KIWI4_0-1743650170533.png

You can string to together attribute rules to
1)copy the original lifecyclestatus value into another field.
2)Set the lifecyclestatus = unknown
3)Change the lifecyclestatus back to the original value

 

==================================================================

This wasn't part of your question but the a scheduled export of subnetwork might work well. 
1) Filter all device where the lastupdated date on the device > lastupdated date of the respective subnetwork. 
2) Export the subnetwork that are related to the filtered dataset above. 

Schedule it frequent enough. 


0 Kudos
PierreloupDucroix
Frequent Contributor

Thanks, @gis_KIWI4 

These are possible solutions I already had in mind, but I'd like to avoid unnecessary field updates (to limit the growth of the archive table) and geometry modifications.

Checking the last update date is also problematic, as I only want to export a subnetwork if some fields are updated, but not all.

I don't think there's a simpler solution than creating a network attribute, unfortunately...

CEO of MAGIS
0 Kudos
RobertKrisher
Esri Regular Contributor

@PierreloupDucroixif you do create a new network attribute for this, make sure you don't store it in-line.

PierreloupDucroix
Frequent Contributor

Thank you so much, I forgot that only Inline attributes have a limited number of bytes

CEO of MAGIS
0 Kudos
RobertKrisher
Esri Regular Contributor

If you need to see which features have changed, you can use the differences operation against sde.default for any arbitrary time range to get the set of modified features. There's a certain amount of filtering you'll need to do to remove any edits that you aren't interested in.

0 Kudos