Shared Buffer for Goods Receipt Costing The cross-transaction application buffer ( shared buffer ) is a memory area of an application server that can be accessed by all processes. Application programs can store, read, and delete data in this buffer. Data is accessible to all transactions on that application server as soon as it is written to the shared buffer.
If you are costing goods receipts for make-to-order production, the formatted data for the material components is held in the buffer and retrieved from there, in order to speed up access. The advantage of this method over the database buffer is that the system does not have to reload data from the database and reformat it for every cost estimate in a different logical unit of work. The formatting consists of checking cost components for cost rollup, apportioning to the input quantities and (if applicable) converting units of measure. Only data applicable to goods receipt costing is written to the buffer, not the complete cost estimate for the components used.
If new data is written to the buffer when the buffer's capacity limit has been reached, the system overwrites unused data with the new data. It is therefore possible, that data that has been saved cannot be read again, because it has been overwritten by other data. For this reason it is recommended that you define the buffer with a sufficient capacity for your needs. If possible, you should try to minimize the number of other applications that run on the same application server as the goods receipt costing.
You change the buffer parameters in the system profile (transaction RZ11):
rsdb/obj/buffersize
(maximum size of the buffer)
rsdb/obj/max_objects
(maximum number of objects that can be contained within the buffer)
rsdb/obj/buffersize
(maximum size of an entry)
Note, that the defined size of the buffer is physically available on the application server. If this were not the case, the operating system would have to store some areas separately and it would take longer to access the entries.
The system stores an entry in the buffer for each component, plant, and costing variant (goods receipt costing If you are working with profit-center-costing and materials have been included from other profit centers, the entries are differentiated according to the receiving profit center and written to the buffer. One entry requires a maximum of 2 KB. That is, if approximately 20,000 components are included in the costing, you require 40 MB for each costing variant in the buffer.
When the first goods receipt cost estimate is created, the system retrieves the data for the material components from the database and writes it to the buffer. When the next cost estimate is created, the system reads only the data from the database that is not yet stored in the buffer.
If no valid cost estimate for the material components exists in the database, the system writes the valuation-relevant data from the material master to the buffer and provides it with a validity indicator for the current date. The entry becomes invalid on the following day.
The costing of components that have been determined to be sales order stock or components which have been transferred from another company code, are not written to the buffer.
Note
Note that changes to the material master are not automatically updated in the buffer data. This means that the earliest point at which changes can be written from the material master to the buffer is the following day, when the old entry becomes invalid. If you want the change to go immediately into the goods receipt cost estimate, you can use the administration tool.
Recommendation
At the start of the period, load the costing for the components that are used into the buffer.
The entry key ensures that the correct material components are accessed and that the entries remain current. If valuation is based on a cost component split, the validity must be checked through the costing type of the cost estimate saved in the buffer.
The system accesses only the cost estimates that were written to the buffer in the current period. If a check determines that data is no longer valid, such data is overwritten by new data retrieved from the database. An entry is no longer valid, if the following occurs:
Change of date, if the entries have been made as a result of the material price determination. That is, no costing was used for the valuation the components.
Change of period, if the entries occurred from the costing.
You can delete data either by using the administration tool or automatically when you perform the following functions:
Reorganization
Recosting with the same key
Marking or releasing the cost estimate
Start program SAPRCKBK_SB_ADMIN using transaction CKSBX.
You can use this program to display entries in, or delete them from, the buffer.