Hello,
I'm currently building an immediate calculation (update) attribute rule in ArcGIS Pro (2.9x) that basically copies the updated row to a different feature class and adds a few attributes to the copied row from various other tables in the $datastore. I'm still somewhat new to arcade.
One of the table values that I need to grab and insert is not guaranteed to be populated, so I have accounted for this by using an IsEmpty condition before setting the field values to a variable.
The issue I'm having is that, the arcade editor box will not allow me to save and apply the code because the random(?) row that it's pulling to do the syntax validation had a null value before I added the null check. I added a conditional null check afterwards realizing that I had forgotten to do so, but it still does the same. As a last resort, just to get the rule saved, I calculated out any null values in the field of concern, also to no avail. It almost seems like pro is caching values somewhere or the validation is stuck, but I've cleared the project cache, created a new project, and re-added all the layers, so I don't think that is it.
Code is below. The offender is ggsFilter.GGS . I have also tried == null as well as the DefaultValue() commented out below it. Also probably worth noting that all the field values are coming in with the ggsFilter, so it's not that there's an empty object.
Any pointers or ideas would be greatly appreciated! Thanks in advance!

var geom = Geometry($feature);
//COMPANY TABLE
var companyFc = FeatureSetByName($datastore, "COMPANY", ["UNIQUE_ID", "COMPANY_NAME", "IS_OPERATOR"], false);
var companyFilter = First(Filter(companyFc, "UNIQUE_ID = '" + $feature.COMPANY_ID + "'"));
//GGS_DISTRICT
var ggsFc = FeatureSetByName($datastore, "PODS_GGS_DISTRICT", ["UNIQUE_ID", "STANDARD_NAME", "GGS", "FIELD_OFFICE"], false);
var ggsFilter = First(Filter(ggsFc, "UNIQUE_ID = '" + $feature.GGS_DISTRICT_ID + "'"));
if (IsEmpty(ggsFilter.GGS)) {
var ggsName = 'GGS data is null';
var ggsNumber = 'GGS data is null';
} else {
var ggsText = Split(Trim(ggsFilter.GGS), ' - ');
var ggsName = ggsText[0];
var ggsNumber = ggsText[1];
}
// var ggsName = DefaultValue(Split(Trim(ggsFilter.GGS), ' - ')[0], 'GGS data is null');
// var ggsNumber = DefaultValue(Split(Trim(ggsFilter.GGS), ' - ')[1], 'GGS data is null');
//OPERATING_AREA
var operatingAreaFc = FeatureSetByName($datastore, "PODS_OPERATING_AREA", ["STANDARD_NAME"]);
var operatingAreaIntersect = First(Intersects(operatingAreaFc, geom));
//OPERATING_GROUP
var operatingGroupFc = FeatureSetByName($datastore, "PODS_OPERATING_GROUP", ["STANDARD_NAME"]);
var operatingGroupIntersect = First(Intersects(operatingGroupFc, geom));
//FRANCHISE
var franchiseFc = FeatureSetByName($datastore, "PODS_FRANCHISE", ["STANDARD_NAME"]);
var franchiseIntersect = First(Intersects(franchiseFc, geom));
//DIVISION
var divisionFc = FeatureSetByName($datastore, "PODS_DIVISION", ["STANDARD_NAME"]);
var divisionIntersect = First(Intersects(divisionFc, geom));
if ($feature.EDIT_RESPONSE == 'Abandon') {
var fieldMap = [
{
"attributes": {
//from StructureBoundary
"COMMENTS": $feature.COMMENTS,
"DESCRIPTION": $feature.DESCRIPTION,
"SUBTYPE": $feature.SUBTYPE,
"UNIQUE_TERM_ID": $feature.UNIQUE_TERM_ID,
"SITE_NAME": $feature.SITE_NAME,
"SITE_ID": $feature.SITE_ID,
"BOUNDARY_TYPE": $feature.BOUNDARY_TYPE,
"SOURCE": $feature.SOURCE,
"NAME": $feature.NAME,
"UNIQUE_ID": $feature.UNIQUE_ID,
"WORKORDER": $feature.WORKORDER,
"ACREAGE": $feature.ACREAGE,
"COUNTY": $feature.COUNTY,
"TRANSMISSION_FACILITY": $feature.TRANSMISSION_FACILITY,
"HCA_DIAMETER": $feature.HCA_DIAMETER,
"HCA_FACILITY": $feature.HCA_FACILITY,
"BORN_ON_DATE": $feature.BORN_ON_DATE,
"PROGRAM_NAME": $feature.PROGRAM_NAME,
"PROJECT_NAME": $feature.PROJECT_NAME,
"FERC_REGULATED": $feature.FERC_REGULATED,
"OPERATOR_ID": $feature.OPERATOR_ID,
"HCA_TYPE": $feature.HCA_TYPE,
"PHYSICAL_STATE": $feature.STATE,
//from COMPANY
"COMPANY_NAME": companyFilter.COMPANY_NAME,
"OPERATOR": companyFilter.IS_OPERATOR,
//from OPERATING_AREA
"OPERATING_AREA": operatingAreaIntersect.STANDARD_NAME,
//from OPERATING_GROUP
"OPERATING_GROUP": operatingGroupIntersect.STANDARD_NAME,
//from FRANCHISE
"FRANCHISE": franchiseIntersect.STANDARD_NAME,
//from DIVISION
"DIVISION": divisionIntersect.STANDARD_NAME,
//from GGS_DISTRICT
"DISTRICT_GGS": ggsFilter.STANDARD_NAME,
"GGS_NAME": DefaultValue(Split(Trim(ggsFilter.GGS), ' - ')[0], 'GGS data is null'),
"GGS_NUMBER": DefaultValue(Split(Trim(ggsFilter.GGS), ' - ')[1], 'GGS data is null'),
"FIELD_OFFICE": ggsFilter.FIELD_OFFICE
},
"geometry": geom
}
]
return {
"edit": [{
"className": "Site_Abandoned",
"adds": fieldMap
}]
}
}
else if ($feature.EDIT_RESPONSE == 'Divest') {
//TODO LATER
var fieldMap = [
{
"attributes": {
"COMMENTS": $feature.COMMENTS,
"DESCRIPTION": $feature.DESCRIPTION,
"SUBTYPE": $feature.SUBTYPE,
"UNIQUE_TERM_ID": $feature.UNIQUE_TERM_ID,
"SITE_NAME": $feature.SITE_NAME,
"SITE_ID": $feature.SITE_ID,
"BOUNDARY_TYPE": $feature.BOUNDARY_TYPE,
"SOURCE": $feature.SOURCE,
"NAME": $feature.NAME,
"UNIQUE_ID": $feature.UNIQUE_ID,
"WORKORDER": $feature.WORKORDER,
"ACREAGE": $feature.ACREAGE,
"COUNTY": $feature.COUNTY,
"OPERATIONAL_STATUS": $feature.OPERATIONAL_STATUS,
"TRANSMISSION_FACILITY": $feature.TRANSMISSION_FACILITY,
"HCA_DIAMETER": $feature.HCA_DIAMETER,
"HCA_FACILITY": $feature.HCA_FACILITY,
"BORN_ON_DATE": $feature.BORN_ON_DATE,
"PROGRAM_NAME": $feature.PROGRAM_NAME,
"PROJECT_NAME": $feature.PROJECT_NAME,
"FERC_REGULATED": $feature.FERC_REGULATED,
"OPERATOR_ID": $feature.OPERATOR_ID,
"HCA_TYPE": $feature.HCA_TYPE,
"PHYSICAL_STATE": $feature.STATE,
"COMPANY_NAME": companyName,
"OPERATOR": operator
},
"geometry": geom
}
]
return {
"edit": [{
"className": "Site_Divested",
"adds": fieldMap
}]
}
}