A_ProdSubstn_2
Product Substitution
A_ProdSubstn_2 is a Consumption CDS View that provides data about "Product Substitution" in SAP S/4HANA. It reads from 1 data source (R_ProdSubstnTP) and exposes 42 fields with key field MDSubstnUUID. It is exposed through 1 OData service (API_PRODUCTSUBSTITUTION_2). Part of development package ODATA_PROD_SUBSTN_API.
Data Sources (1)
| Source | Alias | Join Type |
|---|---|---|
| R_ProdSubstnTP | R_ProdSubstnTP | projection |
Annotations (10)
| Name | Value | Level | Field |
|---|---|---|---|
| AccessControl.authorizationCheck | #MANDATORY | view | |
| EndUserText.label | Product Substitution | view | |
| Metadata.ignorePropagatedAnnotations | true | view | |
| ObjectModel.representativeKey | MDSubstnUUID | view | |
| ObjectModel.usageType.dataClass | #TRANSACTIONAL | view | |
| ObjectModel.usageType.serviceQuality | #A | view | |
| ObjectModel.usageType.sizeCategory | #M | view | |
| VDM.lifecycle.contract.type | #PUBLIC_REMOTE_API | view | |
| VDM.viewType | #CONSUMPTION | view | |
| OData.entityType.name | ProductSubstitution_Type | view |
OData Services (1)
| Service | Binding | Version | Contract | Release |
|---|---|---|---|---|
| API_PRODUCTSUBSTITUTION_2 |
Fields (42)
| Key | Field | Source Table | Source Field | Description |
|---|---|---|---|---|
| KEY | MDSubstnUUID | MDSubstnUUID | ||
| MDSubstnObjectType | MDSubstnObjectType | |||
| Product | Product | |||
| SubstituteProduct | SubstituteProduct | |||
| MDSubstnContextObjectType | MDSubstnContextObjectType | |||
| Plant | Plant | |||
| MDSubstnContextObjectType2 | MDSubstnContextObjectType2 | |||
| MDSubstnGroup | MDSubstnGroup | |||
| MDSubstnVersionValue | MDSubstnVersionValue | |||
| MDSubstnSet | MDSubstnSet | |||
| MDSubstnIsExit | MDSubstnIsExit | |||
| MDSubstnIsLeading | MDSubstnIsLeading | |||
| MDSubstnSequenceValue | MDSubstnSequenceValue | |||
| MDSubstnConversionNumerator | MDSubstnConversionNumerator | |||
| MDSubstnConversionDenominator | MDSubstnConversionDenominator | |||
| MDSubstnConversionPercent | MDSubstnConversionPercent | |||
| MDSubstnValidityStartDate | MDSubstnValidityStartDate | |||
| MDSubstnValidityStartTime | MDSubstnValidityStartTime | |||
| MDSubstnValidityEndDate | MDSubstnValidityEndDate | |||
| MDSubstnValidityEndTime | MDSubstnValidityEndTime | |||
| TimeZoneID | TimeZoneID | |||
| MDSubstnReason | MDSubstnReason | |||
| MDSubstnStatus | MDSubstnStatus | |||
| MDSubstnIsRlvtForATPProd | MDSubstnIsRlvtForATPProd | |||
| MDSubstnIsRelevantForESPP | MDSubstnIsRelevantForESPP | |||
| SrvcPartsSubstnRelshpCode | SrvcPartsSubstnRelshpCode | |||
| SrvcPartsSubstnUseUpStrategy | SrvcPartsSubstnUseUpStrategy | |||
| SrvcPartsSubstnUseUpDate | SrvcPartsSubstnUseUpDate | |||
| SrvcPartsIntchgtyGroupType | SrvcPartsIntchgtyGroupType | |||
| SrvcPartsSubstnReplacementCode | SrvcPartsSubstnReplacementCode | |||
| SrvcPartsStockExhaustionDate | SrvcPartsStockExhaustionDate | |||
| SrvcPartsSuccessorProdPlndDate | SrvcPartsSuccessorProdPlndDate | |||
| SrvcPartsStkExhaustionWrngDate | SrvcPartsStkExhaustionWrngDate | |||
| SrvcPartsSuccessorProdRcptDate | SrvcPartsSuccessorProdRcptDate | |||
| SrvcPartsReorganizationEndDate | SrvcPartsReorganizationEndDate | |||
| SrvcPartsProdSubstnFinalDate | SrvcPartsProdSubstnFinalDate | |||
| CreatedByUser | CreatedByUser | |||
| CreationDateTime | CreationDateTime | |||
| LastChangedByUser | LastChangedByUser | |||
| LastChangeDateTime | LastChangeDateTime | |||
| _Product | _Product | |||
| _SubstituteProduct | _SubstituteProduct |
@AccessControl: {
authorizationCheck: #MANDATORY
}
@EndUserText.label: 'Product Substitution'
@Metadata.ignorePropagatedAnnotations: true
@ObjectModel: {
representativeKey: 'MDSubstnUUID',
usageType: {
dataClass: #TRANSACTIONAL,
serviceQuality: #A,
sizeCategory: #M
}
}
@VDM: {
lifecycle: {
contract.type: #PUBLIC_REMOTE_API
},
viewType: #CONSUMPTION,
usage.type: [#TRANSACTIONAL_PROCESSING_SERVICE]
}
@OData.entityType.name: 'ProductSubstitution_Type'
define root view entity A_ProdSubstn_2
provider contract transactional_query
as projection on R_ProdSubstnTP
{
key MDSubstnUUID,
@Consumption.hidden: true // exposed for DCL
MDSubstnObjectType,
Product,
SubstituteProduct,
@Consumption.hidden: true // exposed for DCL
MDSubstnContextObjectType,
Plant,
@Consumption.hidden: true // exposed for DCL
MDSubstnContextObjectType2,
MDSubstnGroup,
@Consumption.hidden: true // not supported functionality
MDSubstnVersionValue,
MDSubstnSet,
MDSubstnIsExit,
MDSubstnIsLeading,
MDSubstnSequenceValue,
MDSubstnConversionNumerator,
MDSubstnConversionDenominator,
MDSubstnConversionPercent,
MDSubstnValidityStartDate,
MDSubstnValidityStartTime,
MDSubstnValidityEndDate,
MDSubstnValidityEndTime,
TimeZoneID,
MDSubstnReason,
MDSubstnStatus,
MDSubstnIsRlvtForATPProd,
/* Start - Lightweight Business switch: Enable eSPP fields in Hybrid & OP systems only*/
@Feature: 'SW:PROD_SUBSTN_ENABLE_ESPP'
MDSubstnIsRelevantForESPP,
// [eSPP] Location Independent
@Feature: 'SW:PROD_SUBSTN_ENABLE_ESPP'
SrvcPartsSubstnRelshpCode,
@Feature: 'SW:PROD_SUBSTN_ENABLE_ESPP'
SrvcPartsSubstnUseUpStrategy,
@Feature: 'SW:PROD_SUBSTN_ENABLE_ESPP'
SrvcPartsSubstnUseUpDate,
@Feature: 'SW:PROD_SUBSTN_ENABLE_ESPP'
SrvcPartsIntchgtyGroupType,
@Feature: 'SW:PROD_SUBSTN_ENABLE_ESPP'
SrvcPartsSubstnReplacementCode,
// [eSPP] Location Dependent
@Feature: 'SW:PROD_SUBSTN_ENABLE_ESPP'
SrvcPartsStockExhaustionDate,
@Feature: 'SW:PROD_SUBSTN_ENABLE_ESPP'
SrvcPartsSuccessorProdPlndDate,
@Feature: 'SW:PROD_SUBSTN_ENABLE_ESPP'
SrvcPartsStkExhaustionWrngDate,
@Feature: 'SW:PROD_SUBSTN_ENABLE_ESPP'
SrvcPartsSuccessorProdRcptDate,
@Feature: 'SW:PROD_SUBSTN_ENABLE_ESPP'
SrvcPartsReorganizationEndDate,
@Feature: 'SW:PROD_SUBSTN_ENABLE_ESPP'
SrvcPartsProdSubstnFinalDate,
/* End - Lightweight Business switch: Enable eSPP fields in Hybrid & OP systems only*/
CreatedByUser,
CreationDateTime,
LastChangedByUser,
LastChangeDateTime,
/* Associations */
@Consumption.hidden: true // exposed for DCL
_Product,
@Consumption.hidden: true // exposed for DCL
_SubstituteProduct,
@ObjectModel.filter.enabled: false
_Predecessors : redirected to composition child A_ProdSubstnPredecessor,
@ObjectModel.filter.enabled: false
_Successors : redirected to composition child A_ProdSubstnSuccessor
}
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