Celigo NetSuite Restlet fails when DEBUG log exceeds NetSuite character limit

I encountered an issue where a Celigo NetSuite import failed while updating Item Fulfillment records.

NetSuite logged the following error for the Celigo IO Restlet Runner:

Level: ERROR
Title: Flow failed to run

JavaException: java.sql.SQLException:
ORA-12899: value too large for column
(actual: 4000, maximum: 3999)

Bind Variable #3: DEBUG
Bind Variable #4: Data In Received
Bind Variable #5: [Celigo inbound JSON]

From what I can see, Bind Variable #5 is the data Celigo was trying to write to the Data In Received DEBUG log.

The logged JSON included things such as:

  • Import configuration
  • Mapped Item Fulfillment data
  • preMapData
  • A relatively long packageInformation field

Example:

{
  "recordType": "itemfulfillment",
  "operation": "update",
  "data": [
    {
      "custbodyscurri_interface_status": "Processing",
      "internalid": "[REDACTED]"
    }
  ],
  "preMapData": [
    {
      "id": "[REDACTED]",
      "packageInformation": "#Package 1 ... #Package 2 ... #Package 3 ... #Package 4 ..."
    }
  ]
}

The important point is that this does not appear to be a NetSuite Item Fulfillment field-length error.

Instead, Celigo serialized the inbound object and attempted to write it to the NetSuite DEBUG log. The resulting log entry was 4,000 characters, while NetSuite allowed a maximum of 3,999 characters.

The same records processed successfully on a later run, which also suggests that the actual Item Fulfillment data was valid and the failure happened during logging.

Anyone who can advise?

Yeah, you have got it. The failure is on the debug log write, not on the Item Fulfillment data itself, which is why the same records went through fine on the next run.

We've logged this on our side to get it fixed properly. In the meantime, setting the Log Level
on the Celigo IO Restlet Runner deployment to Audit instead of Debug will stop it happening.

Thanks!