Using the qbo3 Batch Import, I am uploading a spreadsheet containing my enumerations, along these lines:
| ClassName | Operation | ObjectStatus | Object |
|---|---|---|---|
| ObjectStatus | Save | Option A | Resolution |
| ObjectStatus | Save | Option B | Resolution |
| ObjectStatus | Save | Option C | Resolution |
| ObjectStatus | Save | SubOption 1 | Resolution.Option A |
| ObjectStatus | Save | SubOption 2 | Resolution.Option B |
This incorrectly sets the ImportFileQueue.Object column to Resolution (or Resolution.Option A), instead of setting ObjectStatus.Object to Resolution.
Reviewing the Batch Engine documentation, I corrected this issue by changing the Object column as follows:
| ClassName | Operation | ObjectStatus | Parameters |
|---|---|---|---|
| ObjectStatus | Save | Option A | Object=Resolution |
| ObjectStatus | Save | Option B | Object=Resolution |
| ObjectStatus | Save | Option C | Object=Resolution |
| ObjectStatus | Save | SubOption 1 | Object=Resolution.Option A |
| ObjectStatus | Save | SubOption 2 | Object=Resolution.Option A |
| ObjectStatus | Save | SubOption 1 | Object=Resolution.Option B |
| ObjectStatus | Save | SubOption 2 | Object=Resolution.Option B |
This successfully bound Object to the ObjectStatus table, but for some reason, 2 of my SubOption rows were ignored by the import.
How do I fix this?
TLDR; add a column called
SetPropertiesLookupwith a value ofFALSEfor every row:This behavior is an artifact of
ImportFileQueue's build-in deduping logic: users frequently attempt to upload spreadsheets with duplicate rows, which can in turn cause invocation of unwanted API calls to third party systems or other such problems.Uniqueness is determined by a combination of:
ClassNameOperationParameterXml: an XML representation of all other columnsSince
Parametersis a known column, but is not considered part of the unique signature,ImportFileQueueconsidersSubOption 1andSubOption 2to be duplicates.Adding the
SetPropertiesLookupcausesImportFileQueueto ignore the deduplication checks.