P_MaterialDocumentHeader
RAP Material Document Header
P_MaterialDocumentHeader is a Composite CDS View that provides data about "RAP Material Document Header" in SAP S/4HANA. It reads from 1 data source (I_MaterialDocumentRecord) and exposes 30 fields with key fields MaterialDocumentYear, MaterialDocument. It has 6 associations to related views.
Data Sources (1)
| Source | Alias | Join Type |
|---|---|---|
| I_MaterialDocumentRecord | I_MaterialDocumentRecord | from |
Associations (6)
| Cardinality | Target | Alias | Condition |
|---|---|---|---|
| [1..1] | I_MaterialDocumentYear | _MaterialDocumentYear | $projection.MaterialDocumentYear = _MaterialDocumentYear.MaterialDocumentYear |
| [1..*] | I_MaterialDocumentItem_2 | _MaterialDocumentItem | $projection.MaterialDocumentYear = _MaterialDocumentItem.MaterialDocumentYear and $projection.MaterialDocument = _MaterialDocumentItem.MaterialDocument |
| [0..1] | I_DeliveryDocument | _DeliveryDocument | $projection.DeliveryDocument = _DeliveryDocument.DeliveryDocument |
| [0..1] | I_StorageLocation | _StorageLocation | $projection.StorageLocation = _StorageLocation.StorageLocation and $projection.Plant = _StorageLocation.Plant |
| [0..1] | I_StorageLocation | _IssuingOrReceivingStorageLoc | $projection.IssuingOrReceivingStorageLoc = _IssuingOrReceivingStorageLoc.StorageLocation and $projection.IssuingOrReceivingPlant = _IssuingOrReceivingStorageLoc.Plant |
| [0..1] | P_GoodsMovementCode | _GoodsMovementCode | $projection.TransactionCode = _GoodsMovementCode.TransactionCode -- the |
Annotations (13)
| Name | Value | Level | Field |
|---|---|---|---|
| AccessControl.authorizationCheck | #CHECK | view | |
| AccessControl.personalData.blocking | #NOT_REQUIRED | view | |
| ObjectModel.usageType.sizeCategory | #XXL | view | |
| ObjectModel.usageType.serviceQuality | #B | view | |
| ObjectModel.usageType.dataClass | #TRANSACTIONAL | view | |
| ObjectModel.compositionRoot | true | view | |
| ObjectModel.representativeKey | MaterialDocument | view | |
| ObjectModel.modelingPattern | #ANALYTICAL_DIMENSION | view | |
| Search.searchable | true | view | |
| VDM.viewType | #COMPOSITE | view | |
| VDM.private | true | view | |
| Metadata.ignorePropagatedAnnotations | true | view | |
| EndUserText.label | RAP Material Document Header | view |
Fields (30)
| Key | Field | Source Table | Source Field | Description |
|---|---|---|---|---|
| KEY | MaterialDocumentYear | MaterialDocumentYear | ||
| KEY | MaterialDocument | MaterialDocument | ||
| DocumentDate | DocumentDate | |||
| PostingDate | PostingDate | |||
| TransactionCode | TransactionCode | |||
| AccountingDocumentType | AccountingDocumentType | |||
| InventoryTransactionType | InventoryTransactionType | |||
| CreatedByUser | CreatedByUser | |||
| CreationDate | CreationDate | |||
| CreationTime | CreationTime | |||
| MaterialDocumentHeaderText | MaterialDocumentHeaderText | |||
| DeliveryDocument | DeliveryInMatlDocumentHeader | |||
| ReferenceDocument | ReferenceDocument | |||
| VersionForPrintingSlip | VersionForPrintingSlip | |||
| ManualPrintIsTriggered | ManualPrintIsTriggered | |||
| CtrlPostgForExtWhseMgmtSyst | CtrlPostgForExtWhseMgmtSyst | |||
| BillOfLading | BillOfLading | |||
| Plant | Plant | |||
| StorageLocation | StorageLocation | |||
| IssuingOrReceivingPlant | IssuingOrReceivingPlant | |||
| IssuingOrReceivingStorageLoc | IssuingOrReceivingStorageLoc | |||
| GoodsMovementCode | _GoodsMovementCode | GoodsMovementCode | ||
| _MaterialDocumentYear | _MaterialDocumentYear | |||
| _MaterialDocumentItem | _MaterialDocumentItem | |||
| _User | _User | |||
| _AccountingDocumentType | _AccountingDocumentType | |||
| _InventoryTransactionType | _InventoryTransactionType | |||
| _DeliveryDocument | _DeliveryDocument | |||
| _StorageLocation | _StorageLocation | |||
| _IssuingOrReceivingStorageLoc | _IssuingOrReceivingStorageLoc |
@AccessControl: {
authorizationCheck: #CHECK,
personalData.blocking: #NOT_REQUIRED,
privilegedAssociations: ['_User']
}
@ObjectModel: {
usageType: {
sizeCategory: #XXL,
serviceQuality: #B,
dataClass:#TRANSACTIONAL
},
compositionRoot: true,
representativeKey: 'MaterialDocument',
modelingPattern: #ANALYTICAL_DIMENSION,
supportedCapabilities: [#ANALYTICAL_DIMENSION, #CDS_MODELING_ASSOCIATION_TARGET, #SQL_DATA_SOURCE, #CDS_MODELING_DATA_SOURCE]
}
@Search.searchable: true
@VDM: {
viewType: #COMPOSITE,
private: true
}
@Metadata: {
ignorePropagatedAnnotations: true
}
@EndUserText.label: 'RAP Material Document Header'
define view entity P_MaterialDocumentHeader as select from I_MaterialDocumentRecord
association [1..1] to I_MaterialDocumentYear as _MaterialDocumentYear on $projection.MaterialDocumentYear = _MaterialDocumentYear.MaterialDocumentYear
association [1..*] to I_MaterialDocumentItem_2 as _MaterialDocumentItem on $projection.MaterialDocumentYear = _MaterialDocumentItem.MaterialDocumentYear
and $projection.MaterialDocument = _MaterialDocumentItem.MaterialDocument
association [0..1] to I_DeliveryDocument as _DeliveryDocument on $projection.DeliveryDocument = _DeliveryDocument.DeliveryDocument
association [0..1] to I_StorageLocation as _StorageLocation on $projection.StorageLocation = _StorageLocation.StorageLocation
and $projection.Plant = _StorageLocation.Plant
association [0..1] to I_StorageLocation as _IssuingOrReceivingStorageLoc on $projection.IssuingOrReceivingStorageLoc = _IssuingOrReceivingStorageLoc.StorageLocation
and $projection.IssuingOrReceivingPlant = _IssuingOrReceivingStorageLoc.Plant
association [0..1] to P_GoodsMovementCode as _GoodsMovementCode on $projection.TransactionCode = _GoodsMovementCode.TransactionCode
-- the association to the DeliveryDocument would also be available as _DeliveryInMatlDocumentHeader in I_MaterialDocumentRecord,
-- but since the field is rebranded as DeliveryDocument in the header view, the repeated association seems to make sense
{
@ObjectModel.foreignKey.association: '_MaterialDocumentYear'
key MaterialDocumentYear,
@Search: {
defaultSearchElement: true,
fuzzinessThreshold: 0.9,
ranking: #HIGH
}
key MaterialDocument,
@Search: {
defaultSearchElement: true,
fuzzinessThreshold: 0.9,
ranking: #MEDIUM
}
@Semantics.businessDate.at: true
DocumentDate,
@Search: {
defaultSearchElement: true,
fuzzinessThreshold: 0.9,
ranking: #MEDIUM
}
@Semantics.businessDate.at: true
PostingDate,
@Consumption.hidden: true
TransactionCode,
AccountingDocumentType,
InventoryTransactionType,
CreatedByUser,
CreationDate,
CreationTime,
MaterialDocumentHeaderText,
@Search: {
defaultSearchElement: true,
fuzzinessThreshold: 0.9,
ranking: #MEDIUM
}
@ObjectModel.foreignKey.association: '_DeliveryDocument'
@Consumption.valueHelpDefinition: [
{ entity: { name: 'I_DeliveryDocumentStdVH',
element: 'DeliveryDocument' }
}]
DeliveryInMatlDocumentHeader as DeliveryDocument,
ReferenceDocument,
VersionForPrintingSlip,
ManualPrintIsTriggered,
CtrlPostgForExtWhseMgmtSyst,
@Search.defaultSearchElement: true
@Search.fuzzinessThreshold: 0.8
@Search.ranking: #MEDIUM
BillOfLading,
// Authorization check
@Consumption.hidden: true
Plant,
@Consumption.hidden: true
StorageLocation,
@Consumption.hidden: true
IssuingOrReceivingPlant,
@Consumption.hidden: true
IssuingOrReceivingStorageLoc,
// Authorization check
_GoodsMovementCode.GoodsMovementCode,
_MaterialDocumentYear,
@ObjectModel.association.type: [#TO_COMPOSITION_CHILD]
_MaterialDocumentItem,
_User,
_AccountingDocumentType,
_InventoryTransactionType,
_DeliveryDocument,
// Authorization check
@Consumption.hidden: true
_StorageLocation,
@Consumption.hidden: true
_IssuingOrReceivingStorageLoc
// Authorization check
}
where
MaterialDocumentRecordType = 'MDOC'
and IsMaterialDocumentHeader = 1
/*+[internal] {
"BASEINFO":
{
"FROM":
[
"I_MATERIALDOCUMENTRECORD",
"P_GOODSMOVEMENTCODE"
],
"ASSOCIATED":
[
"I_ACCOUNTINGDOCUMENTTYPE",
"I_DELIVERYDOCUMENT",
"I_INVENTORYTRANSACTIONTYPE",
"I_MATERIALDOCUMENTITEM_2",
"I_MATERIALDOCUMENTYEAR",
"I_STORAGELOCATION",
"I_USER"
],
"BASE":
[
"I_MATERIALDOCUMENTRECORD"
],
"ANNO_REF":
[],
"SCALAR_FUNCTION":
[],
"VERSION":0,
"ANNOREF_EVALUATION_ERROR":""
}
}*/
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