Problem:
When a Survey123 is published in AGOL, the field which links the main feature class to child tables/layers is name parentglobalid. In contrast, publishing a survey in Enterprise names the equivalent field parentrowid. As a result, all tools within the Observations Toolbox which refer to parentglobalid fail.
Solution:
This will be fixed in a future release, however, in the meantime if you run into the problem (example error highlighted below), you can resolve it by editing the affected scripts and replacing parentglobalid with parentrowid. If you need assistance doing so, please submit a ticket to the Biotics Help Desk by emailing [email protected].
Example Error:
3. Prep Data for Bulk Load Prep Toolbox
=====================
Parameters
Working directory C:\Temp
Separation_Distance.csv C:\Temp\Separation_Distance.csv
Default Separation Distance (in km) to use when not defined 1
ONLY include records that have Passed QC
Include Observations with EO Track Status: 'Track all extant and selected historical EOs'
=====================
Messages
Start Time: Thursday, March 7, 2024 1:10:25 PM
qc_status_passed:
Include_EO_Track_Status: 'Track all extant and selected historical EOs'
exclude_records: ('Do not track', 'Track selected extant EOs (i.e., partial tracking)', 'Track on a watch list only')
header: ['work_dir', 'create_template_gdb', 'replace_template_gdb', 'zip_or_agol', 'zip_file', 'profile_name', 'formID', 'serviceItemId', 'creationDateAfter', 'creationDateBefore', 'editDateAfter', 'editDateBefore']
Adding EST_LUC field
Adding parentglobalid field
Spreadsheet of specimens: C:\Temp\specimens_collected.csv
Appended to existing layers list: point_projected
Appended to existing layers list: poly_projected
Appended to existing layers list: line_projected
fc: point_projected
Traceback (most recent call last):
File "C:\Temp\Observations_v1_4\Observations.atbx#PreBLPT_Observations.py", line 156, in <module>
File "C:\Program Files\ArcGIS\Pro\Resources\ArcPy\arcpy\management.py", line 9027, in JoinField
raise e
File "C:\Program Files\ArcGIS\Pro\Resources\ArcPy\arcpy\management.py", line 9024, in JoinField
retval = convertArcObjectToPythonObject(gp.JoinField_management(*gp_fixargs((in_data, in_field, join_table, join_field, fields, fm_option, field_mapping), True)))
File "C:\Program Files\ArcGIS\Pro\Resources\ArcPy\arcpy\geoprocessing\_base.py", line 512, in <lambda>
return lambda *args: val(*gp_fixargs(args, True))
arcgisscripting.ExecuteError: Failed to execute. Parameters are not valid.
ERROR 000728: Field parentglobalid does not exist within table
Failed to execute (JoinField).
Failed script (null)...
Failed to execute (PreBLPT).
Failed at Thursday, March 7, 2024 1:10:51 PM (Elapsed Time: 26.10 seconds)