That error message indicates that the record we’re trying to save doesn’t have a value in the nwNateDisposition field. This is the field that tells the platform what state the record is in inside of the NATE Container, based on what modification operation(s) the user has performed on it. Options include:
PRISTINE - the version of the record is unchanged
INSERTED - this record is new
UPDATED - this record is pre-existing and is changed from the “live” (aka. PRISTINE) version
DELETED - this record is removed/deleted
Without knowing what exactly you’re calling to produce that error, I would review the input you’re passing to the API, if any and ensure that the nwNateDisposition field is populated. If the API does not take any input, this requires investigation from the owning team.
Root cause of the situation here seemed to be this
Temporary header and detail tables were passed to WriteGLTransaction and WriteGLTransaction did its thing including doing a Save HD of the implied HD Structure.
An after logic-block extension ‘WriteGLTransactionAfterExt’ called another logic block ‘DoDeriveGLWork’ passing along the GeneralLedgerHeader data source (not the H/D structure). I think the header record may have still been a temporary record based on what was originally passed to WriteGLTransaction even though WriteGLTransaction had executed a Save HD on the H/D structure.
DoDeriveGLWorkhad a Create Existing HD Structure statement from the passed in GeneralLedgerHeader and a later a Save HD. Somewhere in here probably from one of those two actions, it seems things went awry - there as no stack trace available.