Use
This function enables you to pass on value assignments and identifiers from one specification (source specification) to another (target specification). To do this, you create an inheritance relationship in which the source specification, the target specification, and the
inheritance template are defined. The inheritance template controls:A specification can be a source or target specification in as many inheritance relationships as you like with any inheritance template. Each target specification can itself act as a source specification and can also pass the inherited data on again, with the result that multilevel inheritance is possible.
In the inheritance relationship, the source and target specifications are linked with each other in such a way that a background job automatically updates the data in the target specification if you create, change, or delete the data to be passed on in the source specification. The SAP System also specifies in the inheritance relationship whether the inheritance request was created by the source specification or by the target specification. Accordingly, the source specification or the target specification can have the role of requester. In the same way, the source specification or the target specification can have the role of acceptor, depending on which specification approves the inheritance request.
You can use authorizations to ensure that only authorized employees can request and approve inheritances (see Prerequisites).
Integration
Inheritance is an extension of the existing
reference. Inheritances and references differ as follows:
Inheritance |
Reference |
The inheritance template controls which identifiers and value assignments are passed on and which usage they must have in order to be passed on. |
All value assignments in the target specification are passed on to the target specification with their usage. Identifiers are not passed on. |
Individual value assignment instances of a value assignment type can be overwritten in the target specification. |
Only entire value assignment types can be overwritten for the target specification, which means that if you overwrite referenced data in the target specification, the reference is deleted for the entire value assignment type. |
Multilevel inheritance is possible. |
Multilevel references are not possible. |
Prerequisites
You specify the change or display authorization in the authorization objects C_SHES_TVH (specification value assignment with specification reference) and C_SHES_TRH (specification header).
Features
Inheritance Relationships
The system displays all the inheritance relationships for a specification in its header data on the Relationship tab page (see
Creating Inheritance Relationships Between Specifications):In both screen areas, a data record, in other words a row in the table, represents an inheritance relationship.
The following data is displayed for each inheritance relationship:
The approval status only occurs in the following combinations with the status of the inheritance relationship:
Status |
Icon |
Approval Status |
Icon |
Initial |
Requested |
||
Ready to inherit |
Approved |
||
Consistent |
Approved |
||
Incorrect |
Approved |
||
Initial |
Rejected |
The statuses have the following meanings:
Status |
Meaning |
Initial |
Data is not passed on until an authorized user has approved the inheritance request. The status changes to Ready to inherit. |
Ready to inherit |
Data is ready to inherit and is passed on by the next background job. The status changes to Consistent or Incorrect. |
Consistent |
Data is passed on by the background job and is consistent. |
Incorrect |
Data could not be passed on. |
From the Relationship tab page, you can edit inheritance relationships for the specification in the corresponding screen areas:
You can create an inheritance relationship between a source specification and as many target specifications as you want from the specification management hit list by selecting the target specifications in the hit list and then specifying the source specification and the inheritance template (see
The specification from which you create an inheritance relationship in the header data or from the hit list is automatically the requester in the inheritance relationship.
An inheritance relationship is generally displayed for both specifications involved (for one specification in the target part and for the other in the source part), regardless of which specification requested the inheritance.
Only when an inheritance request has been approved can the status of the inheritance relationship change from Initial to Ready to inherit. If you create an inheritance relationship and have the required authorization for the acceptor (see Prerequisites section), the approval is automatically set to the status Approved. If you do not have the authorization required, the approval remains in the status Requested until an authorized user manually approves the request:
Passing On Data
The background job for the inheritance is started as soon as an inheritance relationship is assigned the status Ready to inherit. It is assigned this status in the following cases:
The background job started updates the data in the target specification if it is not locked by a user. If it is locked, the background job is repeated periodically (see Prerequisites section). If the data has been passed on, the approval status of the inheritance relationship remains Approved and the status changes to Consistent (or to Incorrect if there are errors).
If an inheritance relationship is assigned the status Incorrect, the data is not updated in the target specification by the background job. You then receive a message in your office inbox in the system in which the error is explained. The status Incorrect occurs, for example, if an identifier that already exists in the target specification is to be passed on.
On the Relationships tab page, you can:
Furthermore, you can update the data displayed using the function and therefore check, for example, whether the data has been passed on after a background job that was started manually (the inheritance relationship is then consistent).
In the target specification, the background job for the inheritance only updates the value assignments of the value assignment types specified in the inheritance template. In the same way, only the identifiers of the identification categories and types specified in the inheritance template are updated. In addition, the usage specified for the identifiers and value assignments in the source specification must match the usage specified in the inheritance template. If a higher-level validity area (for example, REG_WORLD or REG_EU) is specified for the data in the source specification and this validity area contains the validity area in the inheritance template (for example, DE), the data in the target specification is created with the validity area of the inheritance template.
Usage of the Data in the Source Specification |
Usage (Rating, Validity Area) in the Template |
Usage of the Data to Be Passed On to the Target Specification |
PUBLIC/REG_EU |
PUBLIC/DE |
PUBLIC/DE |
INTERNAL/REG_EU |
ALL/DE |
INTERNAL/DE |
PUBLIC/DE |
PUBLIC/REG_EU |
Data record is not passed on. |
PUBLIC/US |
PUBLIC/REG_EU |
Data record is not passed on. |
Data record 1: PUBLIC/REG_WORLD Data record 2: INTERNAL/REG_EU |
ALL/US |
Data record 1: PUBLIC/US Data record 2 is not passed on. |
Changes to Target Specification Data
You can only change or delete inherited data in a target specification in the following cases:
In the property tree, all value assignment types containing data that has been inherited or passed on are marked by the icon.
Identifiers and value assignment instances containing data that has been inherited or passed on are marked as follows:
Result
In specification management or in the specification information system, you can search for specifications that are contained in inheritance relationships and that fulfill specific search criteria (see
Specification Search).