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?