Error with Set Properties node

Hi ALLTEST20240501.zip (2.0 KB)

I am currently testing from OLC’s WF to NODE-RED, but an error occurs at Set Properties in the diagram.
The error message is as follows.

Neither msg.payload (number[]) nor msg.dataRecordId (integer greater than 0) was provided with a valid value and/or the correct type

In the OLC WF, I have set up the settings as shown in the diagram, but how do I set them up in Node-RED?

Best Regards,
Hontani

I understand that, in order to solve the error Incorrect property: msg.payload or msg.dataRecordId, you can add the data get node in between the data mapping and set properties nodes and apply the following settings to the data get node:

  • Server: OL Connect Server
  • Input type: Data set
  • Output Type: IDs
  • Details: Disabled
  • JSON: Disabled

Hi Hontani,

The Data Mapping node in OL Connect Automate returns the data set ID rather than the record information, which differs from the process in OL Connect Workflow where metadata is generated post the Data Mapping step.

This variance in approach is deliberate in OL Connect Automate to streamline operations and mitigate the overhead associated with data retrieval, considering that in many scenarios, the data is unnecessary within the flow.

In order to return the data record IDs you simply need to add the Data Get node as shown in the picture below.

Also noted you added the complete node. A quick tip, as you used the split node (which loops over the array and generates a msg for each element in the array) you can use the join node to continue the flow after the iterations are done.

Subsequently you can use the query items node to retrieve the items by property. In the 0.9.11 version this requires some scripting, in the oncoming 0.9.12 release we will introduce an elegant user interface.

Hope this helps,

Erik

// Contents of the Function node

// Flush the last data set id so that the paginated content node uses the retrieved data record IDs 
// over the data set,
delete msg.dataSetId 

// Create the query (for now)
let xComingleId = flow.get("xComingleId");
msg.query = {
   "entity": "DATARECORDS",
	"search": {
		"ruleType": "RULESET",
		"condition": "ALL",
		"rules": [
			{
				"ruleType": "PROPERTY",
				"property": "ComingleiD",
				"condition": "EQ",
				"value": xComingleId
			}
		]
	}
}
return msg;
1 Like

Sneak peek: The query items user interface in 0.9.12

Hi Erik and Marten

Thank you for your prompt response.
I was able to confirm that the process works without error.
Thank you also for creating the my function code.
I have stalled here and can continue the migration process.

Regards,
Hontani

2 Likes