We were performing Inventory data loading to BW PRD (BI 7.0) system from ECC 6.0 and I would like to share the pointers I prepared during the activity.
There are 3 DataSources for Inventory;
- 2LIS_03_BX (Stock Initialization for Inventory Management)
- 2LIS_03_BF (Goods Movements from Inventory Management)
- 2LIS_03_UM (Revaluations) – captures revaluation data.
We have used Un-serialized V3 as the update mode for inventory in LBWE.
Before starting with extraction, login to ECC PRD, check the number of records in the MKPF – Header: Material Document and BKPF – Accounting Document Header. MKPF is the source table for 2LIS_03_BF and BKPF is for 2LIS_03_UM. This will give you an idea of the time-window required for initialization. We have to have a downtime which is predefined. (We had a down time of 48 hours) Take care not to lock the user that performs the dataloading. (Ya…this still happens!) The whole data loading procedure was done by around 60 hrs.
Check all the relevant objects are transported correctly to PRD.
Step 1: Lock the users, all users who may do a posting to the stock will have to be locked.
Step 2: In ECC-PRD, in table TBE11 maintain entry for NDI and BW as active.
Step 3: Delete the setup tables in LBWG for inventory (Application 03).
Step 4: Initialize stock using Tcode MCNB. Give the name of run, a future termination date, and 2LIS_03_BX for transfer structure. F9- execute in background. In SM 37, check the status of job – RMCBINIT_BW. ( When the status became ‘Finished’, we had around 3.36 L records and it took around 13 minutes).
Step 5: Fetch these records to BI through infopackage for datasource 2LIS_03_BX. This infopackage will have ‘General Initial Status’ as update mode. Execute the DTP with ‘Initial Non-Cumulative for Non-Cumulative’ extraction mode and fetch the records to the InfoCube IC_C03. Once successful, compress the request without using the “No Marker Update” (checkbox empty).
Step 6: This step was started parallel to Step 5 after fetching the records to PSA. Initialize Material movements, Tcode OLI1BW for 2LIS_03_BF. Give the name of run, a future termination date; select ‘Based on posting date’ give 31.12.9999 in posting date, as it’s possible to make postings with a future date. Execute in background. In SM 37, check the job status for the job RMCBNEUA. (We had around 70 million records and it took around 12 hours for the job to finish).
Step 7: This step was run in parallel to initializing material movements. Initialize Revaluation in OLIZBW. Make similar selection as above. Give company code. Run in background; check in SM37 the status of job RMCBNERP. This setup table run has to be executed for every company code you have. (We had 5 Company Codes, so 5 times we executed the run selecting one after the other Company Code, Select 1 company code and execute. When it finishes, select the next company code and execute and so on. We had around 6 L records and it took around 6.5 hrs)
Step 8: Fetch these records to BI through InfoPackages. (We had Full and then INIT w/o data transfer. The Full infopackage was scheduled in background.)
Step 9: The users were unlocked after initialization. In theory after filling setup tables we can unlock users as we have used Unserialized V3 update. Execute DTP and fetch the records to InfoCube. Compress the request using the “No Marker Update” (checkbox checked).
Step 10: Schedule delta jobs. In LBWE, in job control, Give Start date as immediate, select periodic job as daily, give print parameter- select the printer, Select Schedule job. Check in SMQ1. Schedule delta infopackages.
Issues we faced:
1. The records added for Stock initialization in Inventory cube is almost double than the ‘records transferred’. This was due to ‘stock in transit’. Such movements really consist of two movements: (1) The goods issue from the ‘stock in transit’ and (2) the goods receipt in the storage location. To reflect this correctly, an additional line for BW is created. Refer SAP Note 415542.
2. While loading Revaluation records to Inventory cube we got an error as ‘Rough Fiscal year variant not processed’. This was rectified by maintaining fiscal year variant in SPRO->SAP Netweaver->Business Intelligence->Settings for BI Content->Retailing-> Set Fiscal Year Variant. Then reloaded the data to the Cube.
Hope its helpful