I_MRPChangeRequest
MRP Change Request
I_MRPChangeRequest is a Composite CDS View that provides data about "MRP Change Request" in SAP S/4HANA. It reads from 1 data source (I_MRPRequestNote) and exposes 45 fields with key field ChangeRequestUUID. It has 8 associations to related views.
Data Sources (1)
| Source | Alias | Join Type |
|---|---|---|
| I_MRPRequestNote | I_MRPRequestNote | from |
Associations (8)
| Cardinality | Target | Alias | Condition |
|---|---|---|---|
| [0..1] | I_MRPChangeRequestLine | _ChangeRequestLineOriginal | $projection.ChangeRequestUUID = _ChangeRequestLineOriginal.ChangeRequestUUID and _ChangeRequestLineOriginal.ChangeRequestLineType = '01' |
| [0..1] | I_MRPChangeRequestLine | _ChangeRequestLineRequested | $projection.ChangeRequestUUID = _ChangeRequestLineRequested.ChangeRequestUUID and _ChangeRequestLineRequested.ChangeRequestLineType = '02' |
| [0..1] | I_Plant | _SupplierPlant | $projection.SupplierPlant = _SupplierPlant.Plant |
| [0..1] | I_PurchaseOrder | _PurchaseOrder | $projection.MRPElement = _PurchaseOrder.PurchaseOrder |
| [0..1] | I_Supplier | _Supplier | $projection.Supplier = _Supplier.Supplier |
| [0..1] | I_Material | _Material | $projection.Material = _Material.Material |
| [0..*] | I_MRPRequestStatusText | _MRPRequestStatusText | $projection.SolutionRequestStatus = _MRPRequestStatusText.DomainValue |
| [0..*] | I_MRPRequestSupplierText | _MRPRequestSupplierText | $projection.MRPRequestSupplierResponse = _MRPRequestSupplierText.DomainValue |
Annotations (11)
| Name | Value | Level | Field |
|---|---|---|---|
| AbapCatalog.sqlViewName | IMRPCHANGEREQ | view | |
| AbapCatalog.compiler.compareFilter | true | view | |
| AccessControl.authorizationCheck | #CHECK | view | |
| EndUserText.label | MRP Change Request | view | |
| ClientHandling.algorithm | #SESSION_VARIABLE | view | |
| ObjectModel.usageType.serviceQuality | #C | view | |
| ObjectModel.usageType.sizeCategory | #L | view | |
| ObjectModel.usageType.dataClass | #MIXED | view | |
| ObjectModel.representativeKey | ChangeRequestUUID | view | |
| VDM.viewType | #COMPOSITE | view | |
| AccessControl.personalData.blocking | #REQUIRED | view |
Fields (45)
| Key | Field | Source Table | Source Field | Description |
|---|---|---|---|---|
| KEY | ChangeRequestUUID | ChangeRequestUUID | ||
| MRPPlant | MRPPlant | |||
| Material | Material | |||
| MRPArea | MRPArea | |||
| CreationDateTime | CreationDateTime | |||
| CreatedByUser | CreatedByUser | |||
| GoodsReceiptDuration | GoodsReceiptDuration | |||
| MRPElement | MRPElement | |||
| MRPElementItem | MRPElementItem | |||
| MRPElementScheduleLine | MRPElementScheduleLine | |||
| MRPPlanningSegment | MRPPlanningSegment | |||
| MRPPlanningSegmentType | MRPPlanningSegmentType | |||
| ChangeRequestNote | ChangeRequestNote | |||
| SolutionRequestStatus | SolutionRequestStatus | |||
| SolutionRequestStatusName | ||||
| ChangeRequestType | ChangeRequestType | |||
| ChangedDateTime | ChangedDateTime | |||
| LastChangedByUser | LastChangedByUser | |||
| Supplier | Supplier | |||
| SupplierPlant | SupplierPlant | |||
| MRPRequestSupplierResponse | MRPRequestSupplierResponse | |||
| MRPRequestSupplierResponseText | ||||
| MaterialBaseUnit | _Material | MaterialBaseUnit | ||
| OpenQuantity | _ChangeRequestLineOriginal | OpenQuantity | ||
| OriginalTotalQuantity | _ChangeRequestLineOriginal | TotalQuantity | ||
| MRPElementChangedOpenQuantity | _ChangeRequestLineRequested | OpenQuantity | ||
| TotalQuantity | _ChangeRequestLineRequested | TotalQuantity | ||
| MRPElementAvailyOrRqmtDate | _ChangeRequestLineOriginal | DeliveryDate | ||
| MRPElementChgAvailyOrRqmtDate | _ChangeRequestLineRequested | DeliveryDate | ||
| SupplierNameendendasContactPerson | ||||
| _ChangeRequestLineRequested | _ChangeRequestLineRequested | |||
| _ChangeRequestLineOriginal | _ChangeRequestLineOriginal | |||
| _Material | _Material | |||
| _BaseUnit | _Material | _BaseUnit | ||
| _MRPRequestStatusText | _MRPRequestStatusText | |||
| CompanyCode | _PurchaseOrder | CompanyCode | ||
| MRPRequestPriority | MRPRequestPriority | |||
| MRPRequestReason | MRPRequestReason | |||
| MRPRequestRejection | MRPRequestRejection | |||
| MRPRequestDistributionStatus | MRPRequestDistributionStatus | |||
| MRPRequestDistributedDateTime | MRPRequestDistributedDateTime | |||
| MRPRequestCostOfChangeAmount | MRPRequestCostOfChangeAmount | |||
| Currency | Currency | |||
| HasAttachment | HasAttachment | |||
| _Supplier | _Supplier |
@AbapCatalog.sqlViewName: 'IMRPCHANGEREQ'
@AbapCatalog.compiler.compareFilter: true
@AccessControl.authorizationCheck: #CHECK
@EndUserText.label: 'MRP Change Request'
@ClientHandling.algorithm: #SESSION_VARIABLE
@ObjectModel: {
usageType: {serviceQuality: #C, sizeCategory: #L, dataClass: #MIXED },
semanticKey: [ 'ChangeRequestUUID' ],
representativeKey: 'ChangeRequestUUID'
}
@VDM.viewType: #COMPOSITE
@AccessControl.personalData.blocking: #REQUIRED
define view I_MRPChangeRequest
as select from I_MRPRequestNote
association [0..1] to I_MRPChangeRequestLine as _ChangeRequestLineOriginal on $projection.ChangeRequestUUID = _ChangeRequestLineOriginal.ChangeRequestUUID
and _ChangeRequestLineOriginal.ChangeRequestLineType = '01'
association [0..1] to I_MRPChangeRequestLine as _ChangeRequestLineRequested on $projection.ChangeRequestUUID = _ChangeRequestLineRequested.ChangeRequestUUID
and _ChangeRequestLineRequested.ChangeRequestLineType = '02'
association [0..1] to I_Plant as _SupplierPlant on $projection.SupplierPlant = _SupplierPlant.Plant
association [0..1] to I_PurchaseOrder as _PurchaseOrder on $projection.MRPElement = _PurchaseOrder.PurchaseOrder
association [0..1] to I_Supplier as _Supplier on $projection.Supplier = _Supplier.Supplier
association [0..1] to I_Material as _Material on $projection.Material = _Material.Material
association [0..*] to I_MRPRequestStatusText as _MRPRequestStatusText on $projection.SolutionRequestStatus = _MRPRequestStatusText.DomainValue
association [0..*] to I_MRPRequestSupplierText as _MRPRequestSupplierText on $projection.MRPRequestSupplierResponse = _MRPRequestSupplierText.DomainValue
{
key ChangeRequestUUID,
MRPPlant,
@ObjectModel.foreignKey.association: '_Material'
Material,
MRPArea,
CreationDateTime,
CreatedByUser,
GoodsReceiptDuration,
MRPElement,
MRPElementItem,
MRPElementScheduleLine,
MRPPlanningSegment,
MRPPlanningSegmentType,
ChangeRequestNote,
@ObjectModel.text.association: '_MRPRequestStatusText'
SolutionRequestStatus,
_MRPRequestStatusText[1: Language = $session.system_language ].DomainText as SolutionRequestStatusName,
ChangeRequestType,
ChangedDateTime,
LastChangedByUser,
Supplier,
SupplierPlant,
MRPRequestSupplierResponse,
_MRPRequestSupplierText[1: Language = $session.system_language ].DomainText as MRPRequestSupplierResponseText,
@Semantics.unitOfMeasure: true
_Material.MaterialBaseUnit,
@Semantics.quantity.unitOfMeasure: 'MaterialBaseUnit'
_ChangeRequestLineOriginal.OpenQuantity,
@Semantics.quantity.unitOfMeasure: 'MaterialBaseUnit'
_ChangeRequestLineOriginal.TotalQuantity as OriginalTotalQuantity,
@Semantics.quantity.unitOfMeasure: 'MaterialBaseUnit'
_ChangeRequestLineRequested.OpenQuantity as MRPElementChangedOpenQuantity,
@Semantics.quantity.unitOfMeasure: 'MaterialBaseUnit'
_ChangeRequestLineRequested.TotalQuantity,
@Semantics.businessDate.at: true
_ChangeRequestLineOriginal.DeliveryDate as MRPElementAvailyOrRqmtDate,
@Semantics.businessDate.at: true
_ChangeRequestLineRequested.DeliveryDate as MRPElementChgAvailyOrRqmtDate,
@Semantics.name.fullName: true
case
when _PurchaseOrder._PurchasingGroup.PurchasingGroupName is not null then _PurchaseOrder._PurchasingGroup.PurchasingGroupName
else case
when SupplierPlant is not null then _SupplierPlant._Supplier.SupplierName
else _Supplier.SupplierName
end
end as ContactPerson,
@Semantics.telephone.type: [ #PREF ]
case
when _PurchaseOrder._PurchasingGroup.PurchasingGroupName is not null then _PurchaseOrder._PurchasingGroup.PurchasingGroupPhoneNumber
else case
when SupplierPlant is not null then _SupplierPlant._Supplier._StandardAddress.PhoneNumber
else _Supplier._StandardAddress.PhoneNumber
end
end as ContactPersonPhoneNumber,
@Semantics.eMail.address: true
case
when _PurchaseOrder._PurchasingGroup.PurchasingGroupName is not null then _PurchaseOrder._PurchasingGroup.EmailAddress
else case
when SupplierPlant is not null then _SupplierPlant._Supplier._StandardAddress._DefaultEmailAddress.EmailAddress
else _Supplier._StandardAddress._DefaultEmailAddress.EmailAddress
end
end as ContactPersonEmailAddress,
case
when SupplierPlant is not null then _SupplierPlant._Supplier.AuthorizationGroup
else _Supplier.AuthorizationGroup
end as AuthorizationGroup,
_ChangeRequestLineRequested,
_ChangeRequestLineOriginal,
_Material,
_Material._BaseUnit,
_MRPRequestStatusText,
_PurchaseOrder.CompanyCode,
MRPRequestPriority,
MRPRequestReason,
MRPRequestRejection,
MRPRequestDistributionStatus,
MRPRequestDistributedDateTime,
MRPRequestCostOfChangeAmount,
Currency,
HasAttachment,
@UI.hidden: true
@Consumption.filter.hidden: true
_Supplier
}
/*+[internal] {
"BASEINFO":
{
"FROM":
[
"I_ADDRESS",
"I_ADDRESSEMAILADDRESS",
"I_MATERIAL",
"I_MRPCHANGEREQUESTLINE",
"I_MRPREQUESTNOTE",
"I_MRPREQUESTSTATUSTEXT",
"I_MRPREQUESTSUPPLIERTEXT",
"I_PLANT",
"I_PURCHASEORDER",
"I_PURCHASINGGROUP",
"I_SUPPLIER"
],
"ASSOCIATED":
[
"I_MATERIAL",
"I_MRPCHANGEREQUESTLINE",
"I_MRPREQUESTSTATUSTEXT",
"I_MRPREQUESTSUPPLIERTEXT",
"I_PLANT",
"I_PURCHASEORDER",
"I_SUPPLIER",
"I_UNITOFMEASURE"
],
"BASE":
[
"I_MATERIAL"
],
"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