C_PFMGoodsMovementDocumentDEX
Material flow data extractor for PFM
C_PFMGoodsMovementDocumentDEX is a Consumption CDS View (Fact) that provides data about "Material flow data extractor for PFM" in SAP S/4HANA. It reads from 1 data source (I_MaterialDocumentRecord) and exposes 53 fields with key fields MaterialDocumentKey1, MaterialDocumentKey2, MaterialDocumentKey3, MaterialDocumentKey4, MaterialDocumentKey5.
Data Sources (1)
| Source | Alias | Join Type |
|---|---|---|
| I_MaterialDocumentRecord | I_MaterialDocumentRecord | from |
Annotations (17)
| Name | Value | Level | Field |
|---|---|---|---|
| EndUserText.label | Material flow data extractor for PFM | view | |
| AbapCatalog.sqlViewName | CPFMGDSMVTDDEX | view | |
| AbapCatalog.compiler.compareFilter | true | view | |
| AccessControl.authorizationCheck | #PRIVILEGED_ONLY | view | |
| AccessControl.personalData.blocking | #NOT_REQUIRED | view | |
| ClientHandling.algorithm | #SESSION_VARIABLE | view | |
| ObjectModel.usageType.sizeCategory | #XXL | view | |
| ObjectModel.usageType.serviceQuality | #C | view | |
| ObjectModel.usageType.dataClass | #MIXED | view | |
| ObjectModel.sapObjectNodeType.name | MaterialDocument | view | |
| ObjectModel.modelingPattern | #NONE | view | |
| VDM.viewType | #CONSUMPTION | view | |
| VDM.lifecycle.contract.type | #PUBLIC_LOCAL_API | view | |
| Analytics.dataCategory | #FACT | view | |
| Analytics.internalName | #LOCAL | view | |
| Analytics.dataExtraction.enabled | true | view | |
| Metadata.ignorePropagatedAnnotations | true | view |
Fields (53)
| Key | Field | Source Table | Source Field | Description |
|---|---|---|---|---|
| KEY | MaterialDocumentKey1 | MaterialDocumentKey1 | ||
| KEY | MaterialDocumentKey2 | MaterialDocumentKey2 | ||
| KEY | MaterialDocumentKey3 | MaterialDocumentKey3 | ||
| KEY | MaterialDocumentKey4 | MaterialDocumentKey4 | ||
| KEY | MaterialDocumentKey5 | MaterialDocumentKey5 | ||
| KEY | MaterialDocumentKey6 | MaterialDocumentKey6 | ||
| MaterialDocument | MaterialDocument | |||
| MaterialDocumentItem | MaterialDocumentItem | |||
| MaterialDocumentYear | MaterialDocumentYear | |||
| Plant | Plant | |||
| StorageLocation | StorageLocation | |||
| Material | Material | |||
| InventorySpecialStockType | InventorySpecialStockType | |||
| InventoryStockType | InventoryStockType | |||
| StockOwner | StockOwner | |||
| CompanyCode | CompanyCode | |||
| CostCenter | CostCenter | |||
| ControllingArea | ControllingArea | |||
| CompanyCodeCurrency | CompanyCodeCurrency | |||
| MaterialBaseUnit | MaterialBaseUnit | |||
| IsReversalMovementType | IsReversalMovementType | |||
| IssuingOrReceivingPlant | IssuingOrReceivingPlant | |||
| IssuingOrReceivingStorageLoc | IssuingOrReceivingStorageLoc | |||
| DocumentDate | DocumentDate | |||
| CreationDate | CreationDate | |||
| CreationTime | CreationTime | |||
| PostingDate | PostingDate | |||
| CalendarQuarter | CalendarQuarter | |||
| CalendarMonth | CalendarMonth | |||
| CalendarWeek | CalendarWeek | |||
| SalesOrder | SalesOrder | |||
| PurchaseOrder | PurchaseOrder | |||
| ProjectNetwork | ProjectNetwork | |||
| DeliveryDocument | DeliveryDocument | |||
| WBSElementExternalID | _WBSElementBasicData | WBSElementExternalID | ||
| ProjectExternalID | ||||
| ManufacturingOrder | ManufacturingOrder | |||
| MainProduct | ||||
| InvtryMgmtReferenceDocument | InvtryMgmtReferenceDocument | |||
| GoodsMovementType | GoodsMovementType | |||
| Supplier | Supplier | |||
| Customer | Customer | |||
| MaterialGroup | _Material | MaterialGroup | ||
| PurchasingGroup | _PurchaseOrder | PurchasingGroup | ||
| PurchasingOrganization | _PurchaseOrder | PurchasingOrganization | ||
| TotalGoodsMvtAmtInCCCrcy | TotalGoodsMvtAmtInCCCrcy | |||
| GoodsMovementStkAmtInCCCrcy | GoodsMovementStkAmtInCCCrcy | |||
| GoodsMvtCnsmpnAmtInCCCrcy | GoodsMvtCnsmpnAmtInCCCrcy | |||
| MatlStkChangeQtyInBaseUnit | MatlStkChangeQtyInBaseUnit | |||
| MatlCnsmpnQtyInMatlBaseUnit | MatlCnsmpnQtyInMatlBaseUnit | |||
| QuantityInBaseUnit | QuantityInBaseUnit | |||
| _Currency | _Currency | |||
| _MaterialBaseUnit | _MaterialBaseUnit |
@EndUserText.label: 'Material flow data extractor for PFM'
@AbapCatalog: {
sqlViewName: 'CPFMGDSMVTDDEX',
compiler.compareFilter: true
}
@AccessControl: {
authorizationCheck: #PRIVILEGED_ONLY,
personalData.blocking: #NOT_REQUIRED
}
@ClientHandling.algorithm: #SESSION_VARIABLE
@ObjectModel: {
usageType: {
sizeCategory: #XXL,
serviceQuality: #C,
dataClass:#MIXED
},
sapObjectNodeType.name: 'MaterialDocument',
supportedCapabilities: [#EXTRACTION_DATA_SOURCE],
modelingPattern: #NONE
}
@VDM: {
viewType: #CONSUMPTION,
lifecycle.contract.type: #PUBLIC_LOCAL_API
}
@Analytics: {
dataCategory: #FACT,
internalName: #LOCAL,
dataExtraction.enabled: true
//Currently no delta support (change data capture) is required, since this view data is only used via the
//OData V4 aggregation extension, which always aggregates over the whole dataset.
}
@Metadata: {
ignorePropagatedAnnotations: true
}
define view C_PFMGoodsMovementDocumentDEX
as select from I_MaterialDocumentRecord
{
key MaterialDocumentKey1,
key MaterialDocumentKey2,
key MaterialDocumentKey3,
key MaterialDocumentKey4,
key MaterialDocumentKey5,
key MaterialDocumentKey6,
MaterialDocument,
MaterialDocumentItem,
@Semantics.calendar.year: true
MaterialDocumentYear,
Plant,
StorageLocation,
Material,
InventorySpecialStockType,
InventoryStockType,
StockOwner,
CompanyCode,
CostCenter,
ControllingArea,
@Semantics.currencyCode: true
CompanyCodeCurrency,
@Semantics.unitOfMeasure: true
MaterialBaseUnit,
IsReversalMovementType,
// Stock Transfers
IssuingOrReceivingPlant,
IssuingOrReceivingStorageLoc,
// Periods & Times
@Semantics.businessDate.at: true
DocumentDate,
CreationDate,
CreationTime,
PostingDate,
//YearQuarter,
@Semantics.calendar.quarter: true
CalendarQuarter,
@Semantics.calendar.month: true
CalendarMonth,
@Semantics.calendar.week: true
CalendarWeek,
// Reference Documents
SalesOrder,
PurchaseOrder,
ProjectNetwork,
DeliveryDocument,
-- CAST to get rid of conversion exit
cast(WBSElementInternalID as ps_s4_pspnr preserving type) as WBSElementInternalID,
_WBSElementBasicData.WBSElementExternalID as WBSElementExternalID,
_WBSElementBasicData._Project.ProjectExternalID as ProjectExternalID,
-- CAST to get rid of conversion exit
cast(_WBSElementBasicData.ProjectInternalID as ps_pspnr preserving type) as ProjectInternalID,
ManufacturingOrder,
/*+[hideWarning] { "IDS" : [ "DOUBLE_JOIN" ] } */
cast(_ManufacturingOrder.Material as pph_matko preserving type) as MainProduct,
InvtryMgmtReferenceDocument,
// Other
GoodsMovementType,
Supplier,
Customer,
_Material.MaterialGroup,
_PurchaseOrder.PurchasingGroup,
_PurchaseOrder.PurchasingOrganization,
// Classifications
cast(case when MatlStkChangeQtyInBaseUnit > 0 and IsReversalMovementType = '' or MatlStkChangeQtyInBaseUnit < 0 and IsReversalMovementType = 'X'
then 'GR'
else case
when MatlStkChangeQtyInBaseUnit < 0 and IsReversalMovementType = '' or MatlStkChangeQtyInBaseUnit > 0 and IsReversalMovementType = 'X'
then 'GI'
else '' end
end as nsdm_stock_change_category preserving type) as StockChangeCategory,
cast(case when IssuingOrReceivingPlant <> '' and IssuingOrReceivingPlant <> Plant
then 'X'
else ''
end as nsdm_cross_plant_transfer preserving type) as IsCrossPlantTransfer,
// Amounts
@Semantics.amount.currencyCode: 'CompanyCodeCurrency'
@DefaultAggregation: #SUM
TotalGoodsMvtAmtInCCCrcy,
@Semantics.amount.currencyCode: 'CompanyCodeCurrency'
@DefaultAggregation: #SUM
GoodsMovementStkAmtInCCCrcy,
@Semantics.amount.currencyCode: 'CompanyCodeCurrency'
@DefaultAggregation: #SUM
GoodsMvtCnsmpnAmtInCCCrcy,
// Quantities
@Semantics.quantity.unitOfMeasure: 'MaterialBaseUnit'
@DefaultAggregation: #SUM
MatlStkChangeQtyInBaseUnit,
@Semantics.quantity.unitOfMeasure: 'MaterialBaseUnit'
@DefaultAggregation: #SUM
MatlCnsmpnQtyInMatlBaseUnit,
@Semantics.quantity.unitOfMeasure: 'MaterialBaseUnit'
@DefaultAggregation: #SUM
QuantityInBaseUnit,
//Associations
_Currency,
_MaterialBaseUnit
}
where
MaterialDocumentRecordType = 'MDOC'
or MaterialDocumentRecordType = 'MDOC_CP'
or MaterialDocumentRecordType = 'MDOC340'
or MaterialDocumentRecordType = 'CORR'
/*+[internal] {
"BASEINFO":
{
"FROM":
[
"I_MANUFACTURINGORDER",
"I_MATERIAL",
"I_MATERIALDOCUMENTRECORD",
"I_PROJECTBASICDATA",
"I_PURCHASEORDER",
"I_WBSELEMENTBASICDATA"
],
"ASSOCIATED":
[
"I_CURRENCY",
"I_UNITOFMEASURE"
],
"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