I_VariantHistlData
Variant Historical Data
I_VariantHistlData is a Basic CDS View that provides data about "Variant Historical Data" in SAP S/4HANA. It reads from 1 data source (aenr) and exposes 11 fields with key fields ProductStructureVariantUUID, ProdStrucVariantChgStateIntID. It has 3 associations to related views.
Data Sources (1)
| Source | Alias | Join Type |
|---|---|---|
| aenr | aenr | left_outer |
Associations (3)
| Cardinality | Target | Alias | Condition |
|---|---|---|---|
| [0..1] | I_LogAccMObjectTypeActive | _LogAccMObjectTypeActive | _LogAccMObjectTypeActive.LogAccMObjectType = 'PLM_PPEPV' or _LogAccMObjectTypeActive.LogAccMObjectType = 'PLM_PPEPIV' |
| [0..*] | I_LogAccMObjSecureIDAssgmt | _LogAccMObjSecureIDAssgmt | $projection.ProdStrucVariantUniqueID = _LogAccMObjSecureIDAssgmt.LogAccMObjectID and ( _LogAccMObjSecureIDAssgmt.LogAccMObjectType = 'PLM_PPEPV' or _LogAccMObjSecureIDAssgmt.LogAccMObjectType = 'PLM_PPEPIV' ) |
| [0..*] | I_LogAccMObjectUserAuthzn | _LogAccMObjectUserAuthzn | $projection.ProdStrucVariantUniqueID = _LogAccMObjectUserAuthzn.LogAccMObjectID and ( _LogAccMObjectUserAuthzn.LogAccMObjectType = 'PLM_PPEPV' or _LogAccMObjectUserAuthzn.LogAccMObjectType = 'PLM_PPEPIV' ) and ( _LogAccMObjectUserAuthzn.LogAccMUserAuthznObject = 'PLM_PPEPV' or _LogAccMObjectUserAuthzn.LogAccMUserAuthznObject = 'PLM_PPEPIV' ) and ( _LogAccMObjectUserAuthzn.LogAccMUserAuthznFrom = '03' or _LogAccMObjectUserAuthzn.LogAccMUserAuthznFrom = '*' ) and _LogAccMObjectUserAuthzn.LogAccMUserAuthznField = 'ACTVT' and ( _LogAccMObjectUserAuthzn.LogAccMUserEntityID = $session.user or _LogAccMObjectUserAuthzn.UserID = $session.user ) |
Annotations (11)
| Name | Value | Level | Field |
|---|---|---|---|
| AbapCatalog.sqlViewName | IVARHISTLDATA | view | |
| AbapCatalog.compiler.compareFilter | true | view | |
| AccessControl.authorizationCheck | #NOT_REQUIRED | view | |
| VDM.viewType | #BASIC | view | |
| VDM.lifecycle.status | #DEPRECATED | view | |
| VDM.lifecycle.successor | I_ProdStrucVariantHistory | view | |
| ObjectModel.usageType.dataClass | #MIXED | view | |
| ObjectModel.usageType.sizeCategory | #S | view | |
| ObjectModel.usageType.serviceQuality | #C | view | |
| EndUserText.label | Variant Historical Data | view | |
| ClientHandling.algorithm | #SESSION_VARIABLE | view |
Fields (11)
| Key | Field | Source Table | Source Field | Description |
|---|---|---|---|---|
| KEY | ProductStructureVariantUUID | pvcmp | pvguid | |
| KEY | ProdStrucVariantChgStateIntID | pvcmp | pvcnt | |
| ProdStrucVariantUniqueID | ||||
| ProdStrucVarBasicDataChgState | pvcmp | pvcdcnt | ||
| ProdStrucVariantChangeNumber | pvcmp | aennr | ||
| ProdStrucVarIsMrkdForDeletion | pvcmp | delflg | ||
| ProdStrucVarChgNmbrDescription | aenr | aetxt | ||
| AuthorizationGroup | aenr | aenbe | ||
| _LogAccMObjectTypeActive | _LogAccMObjectTypeActive | |||
| _LogAccMObjSecureIDAssgmt | _LogAccMObjSecureIDAssgmt | |||
| _LogAccMObjectUserAuthzn | _LogAccMObjectUserAuthzn |
@AbapCatalog.sqlViewName: 'IVARHISTLDATA'
@AbapCatalog.compiler.compareFilter: true
@AccessControl.authorizationCheck: #NOT_REQUIRED
@VDM.viewType: #BASIC
@VDM.lifecycle: {
// contract: {
// type: #PUBLIC_LOCAL_API
// },
status: #DEPRECATED,
successor: 'I_ProdStrucVariantHistory'
}
@ObjectModel.usageType.dataClass: #MIXED
@ObjectModel.usageType.sizeCategory: #S
@ObjectModel.usageType.serviceQuality: #C
@EndUserText.label: 'Variant Historical Data'
@ClientHandling.algorithm: #SESSION_VARIABLE
define view I_VariantHistlData
as select distinct from pvcmp
left outer join aenr on pvcmp.aennr = aenr.aennr
association [0..1] to I_LogAccMObjectTypeActive as _LogAccMObjectTypeActive on _LogAccMObjectTypeActive.LogAccMObjectType = 'PLM_PPEPV'
or _LogAccMObjectTypeActive.LogAccMObjectType = 'PLM_PPEPIV'
association [0..*] to I_LogAccMObjSecureIDAssgmt as _LogAccMObjSecureIDAssgmt on $projection.ProdStrucVariantUniqueID = _LogAccMObjSecureIDAssgmt.LogAccMObjectID
and (
_LogAccMObjSecureIDAssgmt.LogAccMObjectType = 'PLM_PPEPV'
or _LogAccMObjSecureIDAssgmt.LogAccMObjectType = 'PLM_PPEPIV'
)
association [0..*] to I_LogAccMObjectUserAuthzn as _LogAccMObjectUserAuthzn on $projection.ProdStrucVariantUniqueID = _LogAccMObjectUserAuthzn.LogAccMObjectID
and (
_LogAccMObjectUserAuthzn.LogAccMObjectType = 'PLM_PPEPV'
or _LogAccMObjectUserAuthzn.LogAccMObjectType = 'PLM_PPEPIV'
)
and (
_LogAccMObjectUserAuthzn.LogAccMUserAuthznObject = 'PLM_PPEPV'
or _LogAccMObjectUserAuthzn.LogAccMUserAuthznObject = 'PLM_PPEPIV'
)
and (
_LogAccMObjectUserAuthzn.LogAccMUserAuthznFrom = '03'
or _LogAccMObjectUserAuthzn.LogAccMUserAuthznFrom = '*'
)
and _LogAccMObjectUserAuthzn.LogAccMUserAuthznField = 'ACTVT'
and (
_LogAccMObjectUserAuthzn.LogAccMUserEntityID = $session.user
or _LogAccMObjectUserAuthzn.UserID = $session.user
)
{
key pvcmp.pvguid as ProductStructureVariantUUID,
key pvcmp.pvcnt as ProdStrucVariantChgStateIntID,
bintohex( pvcmp.pvguid ) as ProdStrucVariantUniqueID,
pvcmp.pvcdcnt as ProdStrucVarBasicDataChgState,
pvcmp.aennr as ProdStrucVariantChangeNumber,
pvcmp.delflg as ProdStrucVarIsMrkdForDeletion,
aenr.aetxt as ProdStrucVarChgNmbrDescription,
aenr.aenbe as AuthorizationGroup, //for authorization check
//_LogAccMObjSecureIDAssgmt.LogAccMObjectID,
_LogAccMObjectTypeActive,
_LogAccMObjSecureIDAssgmt,
_LogAccMObjectUserAuthzn
}
Learn More
- What Is a CDS View in SAP S/4HANA?
- Types of CDS Views: Basic, Composite, Consumption, and Transactional
- SAP Tables vs CDS Views — Key Differences
- Understanding Data Lineage in SAP S/4HANA
- VDM (Virtual Data Model) in SAP S/4HANA Explained
- CDS View Annotations — A Complete Guide
- CDS View Field Mapping and Associations
- Understanding the SAP S/4HANA Data Model
- CDS View Extensions and Custom Fields in SAP S/4HANA
- Released APIs and Stability Contracts in SAP S/4HANA