Dear SAP Community Member,
In order to fully benefit from what the SAP Community has to offer, please register at:
Thank you,
The SAP Community team.
Skip to end of metadata
Go to start of metadata


This page will provide an example on how to integrate shelf life dates for back stocks in PP/DS, when the Date of Manufacture of batch is not informed


The relevant characteristics and dependencies are shown, in APO and in ECC. Batches are created and integrated into APO, and the shelf life dates are shown. The example follows the steps described in note 810694

Table of Contents

Example Creation

Background Information

  • The example assumes the involved materials, BOMs, work centers, routings/recipes, and production versions are already maintained - no details will be provided on this
  • If you are extending an existing Batch Class instead of creating a new one and there are already some batches in the system, it is required to reclassify the batches 
  • If the batches are sent to APO without correct classification, they will have no Shelf Life dates in APO and suffix 01.01.1970 or 31.12.1969 will be added to the stock number. Furthermore, this batch stock will not be used to cover any demands in the system, be it via pegging or during heuristic planning - this can lead to unwanted exceess planned production, unexpected under coverage or product/receipt too late alerts, as well as unclear Days' Supply calculations

Batch Level Customizing

  • The Batch level on ECC side should be set to Unique at Material Level, such that Batch Class Type 023 is used, given Class Type 022 is not supported in APO
  • To make sure the setting is correct, execute transaction OCHA, then execute action "Specify Batch Level and Activate Status Management"


  • In the new screen, click Batch Level button. Then, select option Unique at Material Level if it is not already selected, and save


  • Press Back button to return to the previous screen. If you had to change the setting in the previous step, button Batch level -> conversion is now enabled and you need to run it to update the related database tables
  • Please, notice as soon as you execute the conversion, it is not possible to change the Batch Level back to "Unique at Plant Level" anymore

Organizational Areas in APO and ECC

  • The shelf life dates are integrated to APO as characteristics, therefore Organizational Areas must be defined in both environments for the class types to be integrated.
  • Firstly, on ECC side, execute transaction O1CL, select table MARA in the list and double click folder Organizational Areas. Then, create a new entry for Class Type 023


  • In APO side, also in transaction O1CL, select /SAPAPO/MATKEY entry in the list and double click Organizational Areas folder. Here, an entry should be created for Class Type 230 (or 232)

Create The Shelf Life Class with the Relevant Characteristics

  • In transaction CL01, create a class with Class Type 023 and specify the Organizational Area


  • Go to Characteristics tab and add the shelf life characteristics. Notice that only for the LOBM_APO* characteristics the Organizational Area must be specified, such that only them are integrated to APO - integration of the other LOBM* characteristics is not recommended in this scenario. Save!
  • Notice that, while LOBM_APO_SL_MAX and LOBM_APO_SL_UTC must be added to the class, LOBM_APO_SL_MIN is optional.

Generate and Check the Class Dependency

  • The shelf life dates to be sent to APO and assigned to the LOBM_APO* characteristics are calculated with dependency SL_UTCMINMAX_COMPUTE  
  • Notice that this step does not have to be executed everytime you create a new shelf life class. Rather, it's usually not necessary to run it more than once.
  • The dependency can be generated by running program RSL_UTCMINMAX_MAINTAIN in transaction SE38 

  • The logs can be seen once the report is successful

  • In transaction CU02, make sure that Dependency SL_UTCMINMAX_COMPUTE has status Released

  • In transaction CU66, make sure that Function SL_UTCMINMAX_COMPUTE has status Released

  • In transaction CU02, make sure that dependencies SL_UTC_COMPUTE, SL_MIN_COMPUTE and SL_MAX_COMPUTE have status Locked
  • This is done because in this scenario the shelf life dates will be calculated with the Class dependency SL_UTCMINMAX_COMPUTE, not with the characteristic dependencies. Example:

Assign the Dependency to the Batch Class

  • In transaction CL02 when changing the class in Basic data tab, go to menu Extras → Object Dependencies → Assignments


  • Then, assign SL_UTCMINMAX_COMPUTE and save

Assign the Batch Class to the Material and Make Batch Management Required

  • In transaction MM02, maintain the Batch Class in Classification View


  • In Work Scheduling view, set the flag Batch Management Required
  • If this flag is not set, batches will not be selected for integration later on


  • In Plant data / storage 1 view, maintain the Minimum Remaining Shelf Life and Total Shelf Life for the material

Integrate the Master and Transactional Data to APO

Master Data

  • In transaction CFM1, create an Integration Model for the Master Data
  • In this case, the involved Location-Products, PDS, and Work Centers are included in the selection


  • Activate the Integration Model in CFM2


Transactional Data

  • Create an Integration Model for the transactional data
  • In the example, Storage Location Stocks, Batches, and other data such as Planned and Production Order are selected


  • Activate the Integration Model in CFM2



Create and Classify a Batch, then Add Stock Quantity to It

  • For the purpose of this example, the batch and stock quantity will be created and posted manually

  • In transaction MSC1N, create a batch in the desired Plant and Storage Location (0001 and 0001, in this case)
  • Specify the expiry date (SLED) and Available From and press enter


  • Go to Classification tab. Check that characteristics are valuated, then save


  • In transaction MIGO, specify:
    • Transaction/Event: Goods Receipt
    • Reference Document: Other
    • Movement Type: 501 - Receipt w/o purchase order into unrestricted project
  • Press Enter
  • In tab Material, specify the Material Number


  • In tab quantity, type how much you'd like to post


  • In tab Where, type the Plant and Storage Location


  • In tab Batch, specify the batch number


  • Set flag Item Ok, then click Check button to verify whether there are any errors


  • If there are no errors, click Post button, and check that it was posted successfully


  • Execute transaction MMBE for the batch and check that it does contain the quantity


Verify the Availability Date and the Shelf Life Dates for the Batch Stocks at the Product View

  • Execute transaction /SAPAPO/RRP3


  • Notice that Versions tab appeared - this tab will be shown when there are classified batches in the system
  • Check that the Maximum Shelf Life Date/Time was successfully integrated to APO for batch YOG1


  • Go to tab Versions. Specify Created From date earlier than the date the batches were created on and press Enter
  • Check that for YOG1 the Shelf Life dates (Reference Timestamp of Batch, Maximum Shelf Life in Seconds) are shown, and that the Classification Status is green

Related Content

Related Documents

SAP Help Planning with Shelf Life Data in PP/DS
SAP Help Shelf Life Data
SAP Help Dynamic Pegging Considering Shelf Life Data
SAP Help Planning with Shelf Life Data in SNP

Related SAP Notes/KBAs

SAP Note 810694 - Shelf life with initial production date not transferred
SAP Note 751392 - Shelf life R/3 -> APO: Settings in R/3
SAP Note 563863 - Planning with shelf life as of APO 3.1
SAP Note 78235 - Revaluating ref. characterstcs in batch classifictn  

Recent Correction Notes

SAP Note 2303395 - /SAPAPO/RRP3: Surplus created during heuristic run for shelf life products usin
SAP Note 1640461 - Product heuristic ignores fixed receipt with shelf life
SAP Note 2150056 - SAP_PP_025: Shelf life value could not be propagated
SAP Note 2129709 - Shelf Life date is not displayed in the product view