I've implemented some attribute rules for a feature class to calculate immediately on insert and update. I know the rules work because when I manually edit the table, or use arcpy.UpdateCursor() to iterate through the table, the rules are enforced. The problem comes when I try to use Calculate Field(s) geoprocessing tool I get an Error 999999 and an "Arcade error: Field not found" for a field that definitely exists. I've attached one of the rules and the error message. Notably there's no GlobalID listed in the error message despite the fact that all the features have a GlobalID.
Any thoughts why this happens? For now I'm just disabling attribute rules but I'd like to figure out what's happening. I'm using ArcGIS Pro 2.4.3.
I have run into a similar problem with Calculate Fields. I wrote my expression in Arcade but never changed the expression type from Python (it is Python by default). Once I changed the expression type to Arcade it fixed the problem. Just a thought of something to check.
are you still running into this problem? We would like to take a closer look and reproduce in the latest software. Can you send us file gdb of a sample data that repro ? would appreciate it
It is ok to use PYTHON to calculate your expressions because that will eventually trigger an update on the row which will execute the attribute rule.