I_MRPChangeRequest

DDL: I_MRPCHANGEREQUEST SQL: IMRPCHANGEREQ Type: view COMPOSITE

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)

SourceAliasJoin Type
I_MRPRequestNote I_MRPRequestNote from

Associations (8)

CardinalityTargetAliasCondition
[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)

NameValueLevelField
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)

KeyFieldSource TableSource FieldDescription
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":""
}
}*/