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 Production Date of Batch is 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 751392

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 

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, you will not be able 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 Dependencies

  • The shelf life dates to be sent to APO and assigned to the LOBM_APO* characteristics are calculated with dependencies
  • When the Date when Batch Was Produced is informed in the batches, dependencies should exist for the characteristics LOBM_VERAB and LOBM_VFDAT
  • 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 dependencies can be generated by running program RVBCOR08 in transaction SE38 


  • The logs can be seen once the report is successful


LOBM_VERAB (Optional)

  • In transaction CT04, for characteristic LOBM_VERAB, go to menu Extras -> Object Dependencies -> Assignments and verify that the dependency exists
  • The dependency must have Status 1 - Released


  • The dependency status can be maintained in transaction CU02, if necessary



  • In transaction CT04, for characteristic LOBM_VFDAT, go to menu Extras -> Object Dependencies -> Assignments, and verify that the dependency exists
  • The dependency must have Status 1 - Released


  • The dependency status can be maintained in transaction CU02, if necessary



  • In transaction CT04, for characteristic LOBM_HSDAT, go to menu Extras -> Object Dependencies -> Assignments, and verify that the dependency exists
  • The dependency must have Status 1 - Released

  • The dependency status can be maintained in transaction CU02, if necessary

Integrate the Class and Characteristics to APO

  • In transaction CFM1, create an Integration Model for Classes and Characteristics


  • Specify as selection criteria the Organizational Area


  • Press Execute to go to the next screen, then click Generate IM button


  • In transaction CFM2, activate this integration model

Assign the Batch Class To the Material And Make Batch Management Required

  • In transaction MM01, 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 and Total Shelf Life for the materials

Integrate the Master and Transactional Data to APO

Master Data

  • 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


  • In transaction /SAPAPO/MAT1, tab Properties, verify that flag Planning With Shelf Life is set and that the Minimum Required Shelf Life and Maximum Shelf Life were integrated
  • If Planning with Shelf Life flag is not set, shelf life will not be considered in dynamic pegging


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 Date of Manufacture and the Available From dates, then press enter. 
  • The Shelf Life or Best-Before Date will be calculated


  • 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 BATCH1
  • Also, notice that batch stock 1234/0001/CC does not have Shelf Life dates and that suffix 01.01.1970 is displayed - this generally means the batch in APO is not classified. It also means this stock element cannot be allocated to any requirements in pegging or planning


  • For example, a Forecast was created for 300 EA (total available quantity). The Forecast is dynamically pegged to BATCH1, but not to 1234 - this is expected, given no explicit shelf life dates were specified for 1234


  • Go to tab Versions. Specify Created From date earlier than the date the batches were created on and press Enter
  • Check that for BATCH1 the Shelf Life dates (Reference Timestamp of Batch, Maximum Shelf Life in Seconds) are shown, and that the Classification Status is green
  • Notice that batch 1234 does not have shelf life dates, and that the Classification Status is Not Classified (red X) - usually, it is necessary to reclassify the batch on ECC (for example, change the Production Date of Batch in transaction MSC2n) to trigger the dependencies which will recalculate the APO Shelf Life dates

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 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