Enterprise Resource Planning Blogs by SAP
Get insights and updates about cloud ERP and RISE with SAP, SAP S/4HANA and SAP S/4HANA Cloud, and more enterprise management capabilities with SAP blog posts.
Showing results for 
Search instead for 
Did you mean: 
Product and Topic Expert
Product and Topic Expert

This blog belongs to a series of blogs regrouped on the SCN page “SAP PLM Recipe Development for Beginners”.

Are you considering to use the inheritance function (tab “relationships”) in the context of an SAP Recipe Development (SAP RD) implementation? Then this blog might be interesting for you.

Inheritance in RD

In the context of Recipe Development (especially in the consumer products industry), the inheritance function is often used in quite a different way compared to its classical use cases in the context of EH&S.

In RD, we often use inheritance because we work with the concept of higher-level and lower-level specifications. A typical use case would be the inheritance for managing packaging specifications.

Let’s say we are a Pizza Factory and we have lots of different empty and white pizza cardboards. The exact parameters (length, high, width, …) for each empty pizza box are all maintained the specification database of SAP PLM RD. So each empty box is represented by one packaging specification.

When we deal with the finished product specification, in our case a “Pizza Americano Extra Spicy”, we maintain all kinds of parameters for this specification in the respective property tree. There is a section for ingredients, a section for nutrients and allergens, … and also a section for packaging. Now, as the packaging parameters in this finished product specification are dependent on the empty pizza box we are using, we do not want to maintain all those parameters again manually in the finished product specification (higher level spec). We therefore inherit all relevant packaging characteristics from the packaging specification (lower level spec).

This concept not only allows us to avoid data duplication but also has another advantage. Let’s imagine the supplier of the empty pizza box (lower level spec) is suddenly not able to provide exactly the same cardboard any longer. So let’s say, there is for example a tiny difference in the cardboard length (which has no consequence really for our finished product). But this change in length is significant enough that we have to indicate it on all of our finished product specifications which are using this cardboard.

Without inheritance, we would now need to identify all finished product specifications which are concerned and change the packaging parameters in the respective property tree (mass change scenario).  With inheritance, all we have to do, is to update one characteristic (cardboard length) in one packaging specification. As the characteristic is inherited to several finished product specification (higher level specs), we basically changed the parameters of several finished product specifications with just one click.

How inheritance works

Let’s first get familiar with the function and how it works.

We populated all relevant characteristics on our "lower level spec". As you can see with the highlighted symbols, these characteristics are passed on via inheritance to other specifications.


To create such an inheritance, you need to go to the tab "relationsships", click on "pass on to" and add new target specifications. In our case we are passing exactly the same characteristics on to four different "higher-level" specifications.

If we go to the higher-level specification, we see how the characteristics appear in the property tree. The high-lighted symbol shows that this specification is receiving inherited data.

Technical aspects

To enable inheritance for a specific spec type you need to add this spec type to the “Referencing between Specification Types”.

The inheritance happens when background job runs the following program: SE38 – run report:  RC1R0INH

Make sure that this background job is correctly set up in your system.

And you need set up inheritance templates (SAP GUI CG02)

And you might also want to take a close look at the following EHS environment parameters for fine-tuning.

INH_BACKGROUND_START_CONDITION Inheritance in the background starting from the number

INH_JOB_DELAY Time period to restart of inheritance

INH_RESOLVE_STATUS_CONFLICT Consideration of the status during inheritance

Considerations and limitations

Inheritance Templates & Copy Templates

  • In SAP RD for specifications you can also use copy templates. When you click: Specification- You Can Also – Copy to New Specification, you can use copy templates to tell the system which values should be copied and which values should not be copied.
  • When you use both, copy templates and inheritance templates – you need to separate those template and make sure that the users do not mix them up.

Inheritance and Status Management

  • If your specifications are status managed (either with the classical “EHS specification status” or the new “RD specification header status”) you need to check how inheritance behaves.
  • If the higher level specification is already in status released and non-editable, is then the update of the lower-level specification directly reflected in the higher-level specification (although it is already released)?
  • The above mentioned environment parameters might help when dealing with this case.

Inheritance and Authorizations

  • What if the person dealing with the higher-level specification does not have the same authorizations for changing and editing the inherited values?
  • When working with authorizations on a granular level, you need also take into account the various inheritance scenarios. Otherwise it might happen, that characteristics cannot be inherited because of missing user authorizations.

Inheritance and ECN

  • If you plan to use inheritance together with ECN and status management for specifications you should know that there are certain limitations. Please take a look at the following SAP notes: