Stock and valuation fields that refer to the previous period or those dating back even farther, are not stored in those tables in which the current stock data is stored MBEW, MARD, MCHB, and so on but in so-called history tables MBEWH, MARDH, MCHBH, and so on..
These history tables can have one entry per period. The values of such an entry refer to the end of the period. For the current period, there are no entries in the history tables. An entry is not written in this history table for every period. If stock-relevant or valuation-relevant data change, the system might generate an entry in the history table.
Furthermore, the fields LFMON ('Current Period (Booking period)') and LFGJA ('Fiscal Year of the Current Period') in the stock tables are no longer automatically set to the current period by the period closing program. The period is only transferred to the new period during the first movement. At the same time, the relevant history entries are also generated.
Example:
Material 4711 has a stock of 10 pieces at the end of period 01
In period 02, a goods receipt of 5 pieces occurs.
Now, an entry is added in the history table for period 01 with a stock of 10 pieces. Simultaneously, the current stock is increased to 15 pieces and the 'Current Period' field (LFMON) is set to 02.
In period 02, an additional goods receipt occurs with 2 pieces.
The history table is not affected by this operation since an entry already exists for period 01. The current stock is increased to 17 pieces.
In period 04, a goods issue of 4 pieces occurs.
Now, the system adds an entry for period 03 with a stock of 17 pieces in the history table. Simultaneously, the current stock is decreased to 13 pieces and the 'Current Period' field (LFMON) is changed from 02 to 04.
Since no goods movement has occurred in period 03, there is no entry for period 02 in the history table.
Thus, the following applies:
1. The stock in the stock table describes the situation since the last goods movement which changed this segment. The period of this movement appears in the fields LFMON and LFGJA. All stocks for periods which are earlier than the periods given in the fields LFMON and LFGJA relate to the current stocks and can be found in the stock tables.
2. If for a previous period n, no entry exists in the history table, then the values of this period correspond to the values of the period n+1.
Since the 2nd rule can be used recursively, under consideration of the two above rules the values can be determined for any periods of that period in which Release 4.5 or a higher release were implemented.
Please note: Since the history tables are not created retroactively, the history entries only exist in their completed form from the time from which users work with the new period closing program. The periods for which the period closing program has run for the first time with history records are listed in the table MARV for every company code in the fields GJA_40C and MON_40C. For technical reasons it is possible that there are also entries in the history tables with an older period. Nevertheless, these entries are not available without gaps for all stocks.
This algorithm is also implemented in function modules MBEW_EXTEND, MARD_EXTEND and so on. These function modules are used in the standard SAP programs in order to determine the values of the previous period and to extend tables with the reference structure MBEW, MARD and so on correspondingly.
If you have your own programs which use the prior-period values from the tables MARD, MBEW etc., you should call up the relevant EXTEND component after reading the data from the table. This then returns the data as though no change had taken place in the previous logic. You can then remove the prior-period values from the known fields.
The error occurs by new data design of the stock data and the valuation data in the material, batch and special stock tables.