Issues with Using Attribute rules to assign parcel number in the Parcel Fabric Service

5109
21
06-24-2022 07:36 AM
JoeGuziStarkCountyOH
Occasional Contributor

Greetings Esri Community,

     I hope this post finds you well and that everything is awesome. I'm desperate. I am trying to write a rule that will generate a parcel number and calculate the Name field of the parcel parcel type in the fabric. I created a geodatabase sequence, written the calculation rule as a batch calculation rule, so I can run it manually at the appropriate time via the evaluate rules gp tool, and I get the dreaded 999999 error. This rule works in a file geodatabase, and in a feature service with the just the parcel fc and the validation fcs in the service. Therefore I am confident that expression works. I get the error when I run the evaluate gp tool on the parcel fabric service. Here are the details:

  • System
    • ArcGIS Pro 2.9.3, also tried 3.0
    • ArcGIS Enterprise 10.9.1
    • Windows Server 2019
    • SQL Server 2019
    • GDB Version 10.9.1.2.9
  • Attribute Rule on the Parcel FC in the fabric
    • Calculation Rule
    • Execution: Exclude from application evaluation, Batch
    • It should be noted that when I initially created the rule, I did not check the Exclude from application evaluation box, but it would not allow me to save the rule unless I checked it...
      • Error:  Error 002920: Exclude from Application Evaluation Must be enabled [ while using sequences. (RuleName: name of the rule)]. Error 002556: Attribute rule not found.
      • When I check the Exclude from application evaluation box, that error goes away and I can save the rule.
    • Expression: return nextsequencevalue("ParcelNumberAssignmentSequence");
    • Field: Name
  • Sequence:
    • sequence name: ParcelNumberAssignmentSequence
    • Start with: 10015314
    • Sequence increment value: 1
  • Implementation:
    • The Parcel fabric was already published as a service.
    • after I implemented the rule I overwrote the service
    • added the service to a new map
  • Parcel Fabric Service Settings
    • Service was published using the owner connetion
    • The owner connection is set to be Branch Versioned
    • all of the data in the service is Branch Versioned
    • The Parcel Fabric Service is a Feature Service
    • The Validation capability is checked
    • The Version Management capability is checked
    • The Parcel Fabric Capability is checked 
    • I have been able to edit the fabric through this service... everything about the service seems to be working fine
    • I just can't successfully run the Evaluate Rules GP Tool
  • testing workflow
    • selected a parcel
    • ran the Evaluate Rules GP Tool
      • Input workspace: my parcel fabric feature service url
      • Evaluation Type: Calculation Rules
      • Extent Default
      • Async Checked
    • Error: ERROR 999999: Something unexpected caused the tool to fail. Contact Esri Technical Support (http://esriurl.com/support) to Report a Bug, and refer to the error help for potential solutions or workarounds. Unidentified Error Failed to execute (EvaluateRules)
  • Troubleshooting:
    • I am able to run this tool with the same rule set up on a file gdb
    • I also published the parcel layer and the validation layers in a service by themselves, from the same fabric, and the tool ran successfully
    • Therefore, I am reasonably confident that the rule and expression are fine, the problem seems to be with the parcel fabric service and it's execution of the rule.  
    • When troubleshooting the parcel fabric service
      • I also tested on the default version, and a created version. 
      • I have tried specifying the parcel layer with in the feature server url
      • I have gotten the same error every way I have tried it

Ok I think that is everything. Thank you in advanced for any help you can provide. We're hoping to implement the pro parcel fabric in the upcoming weeks, and assigning parcel numbers is very important to our workflow. Thank you for everything and have a delightful day.

Sincerely,

Joe Guzi

0 Kudos
21 Replies
jcarlson
MVP Esteemed Contributor

Hello, Joe!

I haven't worked with database sequences extensively, but  would these potentially cause problems if a new feature was deleted? The sequence continues to increment, and you could end up with skipped numbers, I think.

We have a few workflows with other departments in which a new ID needs to be identified in a sequence. Part of the ID is text, however, and the numeric portion resets every calendar year, so we had to figure out an Arcade-based way of deriving the next ID. We have had good success using the Max function against the whole layer, then incrementing 1 on that.

It could still be prone to errors, but it's an idea.

- Josh Carlson
Kendall County GIS
0 Kudos
JoeGuziStarkCountyOH
Occasional Contributor

Greetings @jcarlson ,

That's an interesting thought. In the past, we have had luck with the arcmap equivalent of sequences, but you gave me something new to stew on. I might try something along those lines just to see if I can get something to work. Thank you for everything and have a delightful day.

Sincerely,

Joe Guzi 

0 Kudos
JohannesLindner
MVP Frequent Contributor

Have you tried


Have a great day!
Johannes
0 Kudos
JoeGuziStarkCountyOH
Occasional Contributor

Greetings @JohannesLindner ,

Thank you for your response. I like your train of thought. I did just try your suggestion and it failed with the same error. Thank you for everything and have a delightful day.

Sincerely,

Joe Guzi

0 Kudos
JoeGuziStarkCountyOH
Occasional Contributor

Quick update... I just upgraded to ArcGIS Pro 3.0. Ran into the same error.

0 Kudos
DrewDowling
Occasional Contributor III

I've run my nextsequencevalue rules as "immediate" rule type instead of batch. Does that make a difference?

Also have you checked the log files in ArcGIS server? Sometimes they record more details about the error than the edit window warning shows.

 

0 Kudos
JoeGuziStarkCountyOH
Occasional Contributor

Greetings @DrewDowling,

        Thank you for your response. I honestly cannot say that I have attempted to run the rule as the immediate rule type. In our workflow, we would ideally run the rule manually, and from what I have read, the rule would have to be the batch rule type in order to run the rule manually. If I have time in the coming days I will give that a shot. 

       The server logs aren't too helpful. I get a DeserializeEvaluateParams failure error in the server logs. I'm not really sure what that means, and I haven't found anything on Google about it. Thank you for everything and have a delightful day.

Sincerely,

Joe Guzi

JoeGuziStarkCountyOH
Occasional Contributor

Greetings @DrewDowling ,

     I did just test creating the rule as an 'immediate' rule type and it worked... So that further proves that the expression is fine, but unfortunately that doesn't help me too much because I a need to run the rule manually. That being said, I like where your head was at. If we can figure out a way to adjust our workflow, this might be a good back up plan. Thank you for everything and have a delightful day.

Sincerely,

Joe Guzi

HusseinNasser2
Esri Contributor

Hey Joel, 

what was causing is  DeserializeEvaluateParams is a bug in Pro causing Evaluate to send a very large payload when def queries or subtype group layers are in the map. 

This bug was fixed in Pro 3.1, ported back to 2.9.6 and will also be included in 3.0.4

for reference BUG-000153528