APO planning book shows stock quantities at plant level. It does not show stocks at storage location level unlike in ECC. Business wanted to exclude one of the storage location stock from APO planning book stock key figure.


This is a service industry client. One of their plant (e.g.0095) storage location (e.g. 4001) is entirely managed by their customer. Materials under this storage location are not planned in ECC as well as in APO. But materials under different storage locations (e.g. 0001, 0002 etc.) of this plant are planned in APO. Because of this stocks are getting transferred to APO and it was creating planning issues in APO. In APO stocks are shown at plant level. Therefore it is including 4001 stock also and business don’t want to have this stock in APO.


  • In ECC we can exclude the storage location from MRP through configuration. But similar functionality is not available for APO. Neither this ECC configuration will stop sending storage location inventory to APO.
  • Didn’t find any configuration in ECC that will exclude the specific storage location stocks being transferred to APO.


SMOD CIFSTK01 in ECC can be used to exclude stock for certain storage locations as per business requirement. This exit has been provided by SAP to transfer customer specific stock fields from ECC to APO. But this will work in order to exclude specific storage location stock.

This exit has been called in two SAP standard functions CIF_STOCK_APO001_MAP & CIF_STOCK_APO001_MAP_2. This exit has been called at end of these functions which means after this exit call, no standard code gets executed. Table ET_STOCK in this exit contains Stock data which we would like to NOT send to APO if storage location is 4001 and Plant is 0095.

We added logic within this exit to check for Storage Location = 4001 and Plant = 0095 and delete stock from table ET_STOCK for this condition. CIF will transfer all storage location stocks except 4001 stock. Going forward in future if we have similar kind of requirement for other plan/storage location then we’ll just add that plant/storage location in this logic. And system will exclude that stock as well.

Correcting stock quantities first time after exit install in production

When user exit is moved to production, system is automatically correcting stock quantities for the first time. So for the first time we need to do one time activity as below sequence.

1.    Delete the APO stock for respective plan (here it is 0095). Use APO program /SAPAPO/DELETE_STOCK.

2.    Select all APO relevant materials for plant 0095/storage location 4001 in ECC.

3.    Create new integration model in ECC and include all these 4001 storage location materials in it.

4.    Activate this new integration model. So that new integration model will exclude 4001 storage location stock based on SMOD – CIFSTK01 logic.

5.    Once this initial 4001 storage location stock correction is done then de-activate this new integration model and let regular CIF stock model run. This will take care of future stock changes.

       After user exit this is how stocks are getting displayed.

ECC – Stock quantities

APO – Stock is showing only 0951 storage location stock but not 4001.


Since this storage location stocks are managed by customer. There is no any planning in ECC as we as in APO. Ideally during implementation this scenario was supposed to be implemented as Customer consignment but it was not designed like that. And that was causing stock issues.



This enhancement was completed together with my colleague Jeffrey Beaudin (Sr. SAP APO Consultant).

New NetWeaver Information at

Very Helpfull



User Rating: Be the first one !