There're could be hundreds of reasons that lead to update termination issues during transaction-related document creation/modification. In this article, I try to wrap up the basic approach and procedures on how to deal with the 'Update was terminated' issue.
1. Overview of 'Update was terminated'
Once update termination happens, the system may popup the error window at SAP GUI.

And it'll send an email to the business workplace Inbox of the operator which can be check through TCODE SBWP.

The contents of the email list the key attributes like termination timestamp and update key. The error information at the bottom could point out the root directly especially along with a well-designed message handler at the standard program or customized enhancement. But most of the time, the error could be
very blurry like 'Error in spool C call: 8' because of the nesting errors among huge numbers of function modules and customized enhancement.
Please check
here for more info from SAP.
2. SM13-Administrate Update Records
Go to TCODE SM13 and execute with the user ID and termination timestamp:

Double click the update record to check the details. Notice the update key is 60A1F9920E047014E1000000A558A14B which will be used later.

Here this example is VF04 invoice creation failed when calling FM: RV_MESSAGE_UPDATE. And click the 'Display Update Data' button to verify the value of accordingly table and structure.

It's very helpful to compare with value for normal documents if an error caused by any value been wrongly modified by some enhancements. For this example, at the NAST table, you can even get the temporary document number that should be generated.

When an invoice been generated temporarily but hasn’t been saved yet, the system carries on output processing. Then update termination stops the whole invoice processing, meanwhile temporary invoice number been occupied but not been saved and can’t be used by the following invoice as well. This can explain why those document numbers are missing at tables like VBRK.

Debugging button is available at the update module screen, but don't need to rush jumping into debug pool. Sometimes t
hat's like looking for a needle in a
haystack without enough inputs. And better check below TCODE SM21 first.
3. SM21- system log Display
Run SM21 with the user ID and time range like 30 minutes ahead of termination timestamp:

Yes, there's the update key 60A1F9920E047014E1000000A558A14B and error ahead of the update termination which matches the message ID at SM13's update module logs.
Please check
here for more from SAP.

Here we can see the root cause of this update termination without debugging!

The whole picture of this update termination during my invoice creation process may like this:
- The Invoice been generated temporarily successfully at buffer but hasn’t been saved yet, system carries on output processing and encounters an access error when reading the file at path /usr/... (This may be caused by consistency check in Temporary sequential Data-TemSE).
- This denied access lead to update termination of the whole invoice processing. Meanwhile, this temporary invoice number been occupied but not been saved and can’t be used by the following invoice as well.
- The system left detail logs can be checked at SM21 and generate an update termination event can be checked at SM13. Btw this update termination makes the number broken at the table like VBRK.
If still no clue till now, you can start debug now
😄 Remember to use the update debugging, if not familiar with it please check
this.