We are not able to post documents with more than 13 length amount as BSEG-DMBTR and BSEG-WRBTR fields are restricted to 13 digits length (11 digits + 2 decimals). What to do ? And the maximum amount is 99,999,999,999.99. The posting program brings the error message 00 089 if you try to post a larger amount.
There are two main reasons for fields DMBTR and WRBTR are and remain defined as CURR data type with 13 digits in the table BSEG.
BSEG is the core table for the postings, which influences several other data and functions. You cannot change the data structures and all the involved programs to allow for larger amounts. Changing the amount fields on the database is not trivial and such modifications are not recommended. It will influence the behaviour of the whole SAP-system and not only one single program.
Another reason is that table BSEG is in cluster RFBLG. Field lengths of cluster cannot be changed. As of release 616 BSEG is a transparent table so this barrier disappears.
You can find detailed information about the field attributes like domain (WERT7), data type (CURR), field length (13) in transaction code SE11 (table BSEG).
It is the standard system design. It is not possible to change the technical definition of the field involved. Even if the field was changed in the entry mask it cannot be stored in the database.
The field size is fixed in 13 digits, only decimal places can be changed if it is inevitable.
There are two workarounds:
Split the document into additional line items or more documents with proper length of the amount field. It is the simpliest and most secure way.
Create and use an artificial currency. This workaround should only be implemented when many documents are affected and too many documents should be splitted. Define a new currency e.g. with name Thousand Vitnamese Dong (TVD) by T-code OY03, and maintain it in T-code OB08 (exchange rates) and in T-code OBBS (translation factors). You can only apply this solution if it doesn’t cause any rounding problems. The 835719 contains a short description about how to create an artificial currency and how to change the decimal places of currencies and also some important restrictions which have to be concidered when creating an artificial currency.
Example: Thousand Vitnamese Dong (TVD) would have Exchange rate of 19 TVD = 1 USD instead of 19000 VND = 1 USD.
IMPORTANT: to avoid inconsistencies the customizing tables should only be changed with new entries, the present values should not be changed.