P_PPMGoodMaterialDocumnet
Good Material Document for PPM
P_PPMGoodMaterialDocumnet is a Consumption CDS View that provides data about "Good Material Document for PPM" in SAP S/4HANA. It reads from 2 data sources (I_GoodsMovementType, P_PPMMaterialDocumnet) and exposes 17 fields with key fields MaterialDocument, MaterialDocumentItem, MaterialDocumentYear.
Data Sources (2)
| Source | Alias | Join Type |
|---|---|---|
| I_GoodsMovementType | GoodsMovement | inner |
| P_PPMMaterialDocumnet | P_PPMMaterialDocumnet | from |
Parameters (2)
| Name | Type | Default |
|---|---|---|
| P_StartDate | bedat | |
| P_EndDate | bedat |
Annotations (11)
| Name | Value | Level | Field |
|---|---|---|---|
| AbapCatalog.sqlViewName | PPPMGOODMATDOC | view | |
| EndUserText.label | Good Material Document for PPM | view | |
| AbapCatalog.compiler.compareFilter | true | view | |
| AbapCatalog.preserveKey | true | view | |
| AccessControl.authorizationCheck | #CHECK | view | |
| ClientHandling.algorithm | #SESSION_VARIABLE | view | |
| ObjectModel.usageType.dataClass | #MIXED | view | |
| ObjectModel.usageType.serviceQuality | #D | view | |
| ObjectModel.usageType.sizeCategory | #L | view | |
| VDM.private | true | view | |
| VDM.viewType | #CONSUMPTION | view |
Fields (17)
| Key | Field | Source Table | Source Field | Description |
|---|---|---|---|---|
| KEY | MaterialDocument | MatDoc | MaterialDocument | |
| KEY | MaterialDocumentItem | MatDoc | MaterialDocumentItem | |
| KEY | MaterialDocumentYear | MatDoc | MaterialDocumentYear | |
| Supplier | MatDoc | Supplier | ||
| PurchasingGroup | MatDoc | PurchasingGroup | ||
| PurchasingOrganization | MatDoc | PurchasingOrganization | ||
| Material | MatDoc | Material | ||
| MaterialGroup | MatDoc | MaterialGroup | ||
| Plant | MatDoc | Plant | ||
| PurchaseOrder | PurchaseOrder | |||
| PurchaseOrderItem | PurchaseOrderItem | |||
| OrderQuantityUnit | OrderQuantityUnit | |||
| GoodsMovementType | MatDoc | GoodsMovementType | ||
| PostingDate | PostingDate | |||
| GoodsReceiptQtyInOrderUnit | GoodsReceiptQtyInOrderUnit | |||
| OrderItemQtyToBaseQtyDnmntr | OrderItemQtyToBaseQtyDnmntr | |||
| OrderItemQtyToBaseQtyNmrtr | OrderItemQtyToBaseQtyNmrtr |
@AbapCatalog.sqlViewName: 'PPPMGOODMATDOC'
@EndUserText.label: 'Good Material Document for PPM'
@AbapCatalog.compiler.compareFilter: true
@AbapCatalog.preserveKey: true
@AccessControl.authorizationCheck: #CHECK
@ClientHandling.algorithm: #SESSION_VARIABLE //Inserted by VDM CDS Suite Plugin
@ObjectModel.usageType.dataClass: #MIXED
@ObjectModel.usageType.serviceQuality: #D
@ObjectModel.usageType.sizeCategory: #L
@VDM.private: true
@VDM.viewType : #CONSUMPTION
define view P_PPMGoodMaterialDocumnet
with parameters
P_StartDate : bedat,
P_EndDate : bedat
as select from P_PPMMaterialDocumnet(P_StartDate: $parameters.P_StartDate,
P_EndDate : $parameters.P_EndDate) as MatDoc
inner join I_GoodsMovementType as GoodsMovement on BasicMovementTypeReference ='101' and DebitCreditCode = 'S' and GoodsMovement.IsReversalMovementType is initial
and GoodsMovement.GoodsMovementType = MatDoc.GoodsMovementType
association[1..1] to I_QltyNotification as QualityNotification on
// MatDoc.PurchaseOrder = QualityNotification.PurchasingDocument and
// MatDoc.PurchaseOrderItem = QualityNotification.PurchasingDocumentItem
MatDoc.MaterialDocument = QualityNotification.MaterialDocument
and MatDoc.MaterialDocumentItem = QualityNotification.MaterialDocumentItem
and MatDoc.MaterialDocumentYear = QualityNotification.MaterialDocumentYear
{
key MatDoc.MaterialDocument as MaterialDocument,
key MatDoc.MaterialDocumentItem,
key MatDoc.MaterialDocumentYear,
MatDoc.Supplier,
MatDoc.PurchasingGroup,
MatDoc.PurchasingOrganization,
MatDoc.Material,
MatDoc.MaterialGroup,
MatDoc.Plant,
PurchaseOrder,
PurchaseOrderItem,
OrderQuantityUnit,
MatDoc.GoodsMovementType,
PostingDate,
GoodsReceiptQtyInOrderUnit,
OrderItemQtyToBaseQtyDnmntr,
OrderItemQtyToBaseQtyNmrtr,
@Semantics.quantity.unitOfMeasure: 'OrderQuantityUnit'
cast(case
when OrderItemQtyToBaseQtyNmrtr = 0
then 0
else DIVISION(OrderItemQtyToBaseQtyDnmntr,OrderItemQtyToBaseQtyNmrtr, 3 )
* QualityNotification.NotificationComplaintQuantity
end
as rkmng) as NotificationComplaintQuantity
}
/*+[internal] {
"BASEINFO":
{
"FROM":
[
"I_GOODSMOVEMENTTYPE",
"I_QLTYNOTIFICATION",
"P_PPMMATERIALDOCUMNET"
],
"ASSOCIATED":
[
"I_QLTYNOTIFICATION"
],
"BASE":
[],
"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