For detailed information regarding the adjust of booking inventory during store opening hours, please review SAP online help available via following link: http://help.sap.com/erp2005_ehp_03/helpdata/en/56/430d66e65840419ced5f19a81e2263/frameset.htm
There are three ways:
1) Use Buffered Data for Receipt-Based POS Inbound
- This is for the WPUBON IDoc and when it’s feeding into ECC through the day. Most customers are not applicable to use this procedure now. How that work is when posting IDoc WPUBON, the article/store goods movement will be recorded into database table WSTI_POS_EVEN. This will be used to adjust sales to book inventory at count time.
For more information, see Inventory During Opening Hours (Receipt-Based POS Inbound).
2) Request POS Transactions From PIPE
- The inventory lookup using RFC module /POSDW/SALES_QUERY_RFC usually utilizes task 03 (Data transfer to inventory management). This assignment is fixed-defined in the relevant programs. Depending on the configuration, you can assign outbound task 3001 or another corresponding task in the customer namespace in the PIPE.
- Index/worklist: During online inventory lookup, POS transactions that have not yet been processed are read from an index that is updated as soon as the POS transactions are saved in the database. The index is deleted from the system as soon as the relevant aggregation task has been processed successfully.
- If you implement PIPE, then the system first transfers the POS transaction data to the PIPE, where it is aggregated and then transferred to the SAP ERP system. This has the advantage that is reduces significantly the data volume that is transferred to the SAP ERP system. In the case of a physical inventory during opening hours, the SAP ERP system requests transaction data from PIPE to enable calculation of the book inventory at count time. – So in this case does not depend on that all related IDocs sent to ERP already. It can proactively retrieve from PIPE using probably the /POSDW/SALES_QUERY_RFC
For more information, see Inventory During Opening Hours (PIPE).
3) Determine Transactions by BAdI
- This Business BAdI WSTI_BADI_POS_EVENTS is used to process physical inventory during opening hours in SAP Retail. The program Calculate Book Inventory (Transaction WSTI_R_PI_CALC) accesses the BAdI method GET_EVENTS to determine the POS transactions (sales or receipts) that are to be taken into account when calculating the book inventory for the count time from a non-SAP system. – This can be necessary if you do not use the POS inbound interface as per receipts or the PIPE.
o If you use the POS inbound interface as per receipts, you do not need to implement this BAdI, since in this case all the required data is already available in the ERP system.
o If you use the PIPE, you also do not need to implement the BAdI, since you can request the POS transactions from the PIPE when performing physical inventory during opening hours.
For more information, see Inventory During Opening Hours (BAdI).
====================================================================
Regarding the physical inventory adjust, there are some questions:
1. Is freeze book inventory account mandatory in order to adjust the sales and returns?
No.
In the table T159L field XBUIB, there are three options:
‘1’ would apply to goods movement after count, and should fit the case of no book inventory freeze??
‘2’ would apply to goods movement before count, and should fit book inventory freeze’s case.
Most of the cases, the ‘2’ is used.
It is configured in SPRO –> Material Management –> Inventory Management and Physical Inventory.
Allow Freezing of Book Inventory Balance in Storage Location
In this step, you determine whether the book inventory balances of items in a physical inventory document, which have not yet been counted, can be frozen in the storage location. The frozen inventory balance is recorded in the physical inventory document. It is relevant to calculating inventory differences.
Example
You have physically counted all items in a physical inventory document, but have not yet entered the count results in the system for all items. For one of these items, the book inventory balance is 100 pieces. 90 pieces were counted, corresponding to a difference of 10 pieces.
You freeze the book inventory balance of 100 pieces in the physical inventory document.
Before you enter the count, a goods receipt of 20 pieces is posted. The current book inventory balance is now 120 pieces. For the physical inventory document, however, the book inventory balance of 100 pieces continues to be relevant.
If the inventory balance had not been frozen, there would have been a difference of 30 pieces for the item.
2. When and using what t-code to freeze book inventory?
When:
Should be the time can the articles are being counted? However the standard online help say it’s frozen when the PID or PID list is created….
http://help.sap.com/erp2005_ehp_03/helpdata/en/56/430d66e65840419ced5f19a81e2263/frameset.htm
(But if it’s frozen when the PID is created, then the GR/GI between then and the count time is not considered. Then when posting difference even if sales/returns are considered, the GR is left out and will introduce problem.)
è 一般来说PID建好就数了,所以基本是数的时候。
How:
In PID, there is a filed ‘Freeze book inventory’. This indicator has the effect that the current book inventory balance is recorded in the physical inventory document. The system compares the counted stock with the frozen book inventory balance to determine any inventory differences. (Note this indicator is on header level.)
Besides, t-code MI33 – is used to freeze book inventory balance for physical inventory in Batch input session for multiple PID. This t-code can both freeze and reset the selected book inventory.
3. When calculate the book inventory at count time using WSTI_R_PI_CALC, does it also work with PIPE procedure? Or only with BadI procedure?
From the selection screen of t-code WSTI_R_PI_CALC, this transaction should be taking account of both PIPE way and BadI way of getting the sales and return data. Whether it go through PIPE or use the BadI depends on the configuration.
4. When posting difference, how is the current inventory changed?
The system always adjusts both values and quantities.
Quantity Correction
The difference posting leads to a correction of the stock quantity. The current stock level as per the book value is replaced by the quantity actually counted. Similar to the document created at goods receipt, the system creates an article document. This contains movement types defined especially for physical inventory postings to enable the stock quantity to be corrected
Value Correction
In addition to correcting the quantity, the system also corrects the value of the stock. The difference quantity determined is valuated at the moving average price of the article. Depending on the type of difference, the amount is posted as an inward or outward movement to the relevant stock account in Financial Accounting. The offsetting entry is normally posted to the "expenses from inventory differences" or "revenue from inventory differences" account. An accounting document is therefore created in addition to the article document.
No value correction is necessary if the stock is non-valuated (for example, vendor consignment stock). No accounting document is created.