TROUBLESHOOTING: Fix SSS_INVALID_SUBLIST_OPERATION error in NetSuite

Q: I'm getting an SSS_INVALID_SUBLIST_OPERATION error that it failed to update/transform record because of an invalid sublist or non-existent line item. How can I fix this?

A:

Note: This is using SuiteScript 1.0.

  1. In NetSuite, set your Celigo Realtime Import Restlet Runner log level to Debug. Go to Customization Tab > Scripting > Scripts.
  2. Look for Celigo Realtime Import Restlet Runner, then click the View link.
  3. Filter on Restlet type. Click the Deployments tab, then click the Celigo Realtime Import Restlet Runner again.
  4. Click the Edit link.
  5. Set log level to Debug, then Save.
  6. Click the Execution Log tab to view the debug log.
  7. In the Execution Log, click Remove All to clear the log, then re-run the flow for which you wanted to get the debug log to view it here.
  8. To try to reproduce errors you receive from nlapi debug logs, open Script debugger from Customization > Scripting. Click the here link to log in. This will help you track down invalid sublist errors within a large block of code - it will strip out lines of code and try to rerun it to track down which code is causing an issue. You can also step through the code.
  9. Select API version 1.0 in the Script Debugger.
  10. Paste your script in the top window, then click the Debug Existing button. This will execute the code server-side. Be very careful, as this will behave the same as if you ran the flow, but it’s very helpful for debugging.
  11. Alternately, you can enter r=nlapiCreateRecord(...) OR r=nlapiLoadRecord(...) in your browser, but note that this will run it client-side and not server-side, so not all errors may be reported.
  12. Try adding mappings for: celigo_nlobjTransformRecordType and celigo_nlobjTransformId. According to NetSuite, transformType is the internal ID name of the record you are transforming the existing record into. It is a required string data type. transformId is the internalId of the record, such as 555 or 78.