P_MRPChangeRequest

DDL: P_MRPCHANGEREQUEST SQL: PMRPCHANGEREQ Type: view COMPOSITE

P_MRPChangeRequest is a Composite CDS View in SAP S/4HANA. It reads from 1 data source (I_MRPRequestNote) and exposes 48 fields with key field ChangeRequestUUID. It has 12 associations to related views.

Data Sources (1)

SourceAliasJoin Type
I_MRPRequestNote I_MRPRequestNote from

Associations (12)

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..1] I_MRPRequestRejection _MRPCRRejection $projection.MRPRequestRejection = _MRPCRRejection.MRPRequestRejection
[0..1] I_MRPRequestReason _MRPCRReason $projection.MRPRequestReason = _MRPCRReason.MRPRequestReason
[0..1] I_MRPRequestPriority _MRPCRPriority $projection.MRPRequestPriority = _MRPCRPriority.MRPRequestPriority
[0..*] I_MRPRequestStatusText _MRPRequestStatusText $projection.SolutionRequestStatus = _MRPRequestStatusText.DomainValue
[0..*] I_MRPRequestSupplierText _MRPRequestSupplierText $projection.MRPRequestSupplierResponse = _MRPRequestSupplierText.DomainValue
[0..*] I_MRPRequestSendingStatusText _MRPRequestSendText $projection.MRPRequestDistributionStatus = _MRPRequestSendText.DomainValue

Annotations (11)

NameValueLevelField
AbapCatalog.sqlViewName PMRPCHANGEREQ view
AbapCatalog.compiler.compareFilter true view
AccessControl.authorizationCheck #CHECK view
ClientHandling.algorithm #SESSION_VARIABLE view
VDM.private true view
AbapCatalog.preserveKey true view
ObjectModel.usageType.serviceQuality #C view
ObjectModel.usageType.sizeCategory #L view
ObjectModel.usageType.dataClass #MIXED view
VDM.viewType #COMPOSITE view
AccessControl.personalData.blocking #REQUIRED view

Fields (48)

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
MRPRequestPriorityName _MRPCRPriority MRPRequestPriorityName
MRPRequestReason MRPRequestReason
MRPRequestReasonName _MRPCRReason MRPRequestReasonName
MRPRequestRejection MRPRequestRejection
MRPRequestRejectionName _MRPCRRejection MRPRequestRejectionName
MRPRequestDistributionStatus MRPRequestDistributionStatus
MRPChangeReqSendingStatusName
MRPRequestDistributedDateTime MRPRequestDistributedDateTime
MRPRequestCostOfChangeAmount MRPRequestCostOfChangeAmount
Currency Currency
HasAttachment HasAttachment
@AbapCatalog.sqlViewName: 'PMRPCHANGEREQ'
@AbapCatalog.compiler.compareFilter: true
@AccessControl.authorizationCheck: #CHECK
@ClientHandling.algorithm: #SESSION_VARIABLE
@VDM.private: true
@AbapCatalog.preserveKey:true
@ObjectModel: {
    usageType: {serviceQuality: #C, sizeCategory: #L, dataClass: #MIXED }
}

@VDM.viewType: #COMPOSITE
@AccessControl.personalData.blocking: #REQUIRED

define view P_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..1] to I_MRPRequestRejection         as _MRPCRRejection             on  $projection.MRPRequestRejection = _MRPCRRejection.MRPRequestRejection
  association [0..1] to I_MRPRequestReason            as _MRPCRReason                on  $projection.MRPRequestReason = _MRPCRReason.MRPRequestReason
  association [0..1] to I_MRPRequestPriority          as _MRPCRPriority              on  $projection.MRPRequestPriority = _MRPCRPriority.MRPRequestPriority
  association [0..*] to I_MRPRequestStatusText        as _MRPRequestStatusText       on  $projection.SolutionRequestStatus = _MRPRequestStatusText.DomainValue
  association [0..*] to I_MRPRequestSupplierText      as _MRPRequestSupplierText     on  $projection.MRPRequestSupplierResponse = _MRPRequestSupplierText.DomainValue
  association [0..*] to I_MRPRequestSendingStatusText as _MRPRequestSendText         on  $projection.MRPRequestDistributionStatus = _MRPRequestSendText.DomainValue
{
  key ChangeRequestUUID,
      MRPPlant,
      @ObjectModel.foreignKey.association: '_Material'
      Material,
      MRPArea,
      //      _MaterialPlant.MRPController,

      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,
      _MRPCRPriority.MRPRequestPriorityName,
      MRPRequestReason,
      _MRPCRReason.MRPRequestReasonName,
      MRPRequestRejection,
      _MRPCRRejection.MRPRequestRejectionName,
      MRPRequestDistributionStatus,
      _MRPRequestSendText[1: Language = $session.system_language ].DomainText     as MRPChangeReqSendingStatusName,
      MRPRequestDistributedDateTime,
      MRPRequestCostOfChangeAmount,
      Currency,
      HasAttachment
}
/*+[internal] {
"BASEINFO":
{
"FROM":
[
"I_ADDRESS",
"I_ADDRESSEMAILADDRESS",
"I_MATERIAL",
"I_MRPCHANGEREQUESTLINE",
"I_MRPREQUESTNOTE",
"I_MRPREQUESTPRIORITY",
"I_MRPREQUESTREASON",
"I_MRPREQUESTREJECTION",
"I_MRPREQUESTSENDINGSTATUSTEXT",
"I_MRPREQUESTSTATUSTEXT",
"I_MRPREQUESTSUPPLIERTEXT",
"I_PLANT",
"I_PURCHASEORDER",
"I_PURCHASINGGROUP",
"I_SUPPLIER"
],
"ASSOCIATED":
[
"I_MATERIAL",
"I_MRPCHANGEREQUESTLINE",
"I_MRPREQUESTPRIORITY",
"I_MRPREQUESTREASON",
"I_MRPREQUESTREJECTION",
"I_MRPREQUESTSENDINGSTATUSTEXT",
"I_MRPREQUESTSTATUSTEXT",
"I_MRPREQUESTSUPPLIERTEXT",
"I_PLANT",
"I_PURCHASEORDER",
"I_SUPPLIER",
"I_UNITOFMEASURE"
],
"BASE":
[
"I_MATERIAL"
],
"ANNO_REF":
[],
"SCALAR_FUNCTION":
[],
"VERSION":0,
"ANNOREF_EVALUATION_ERROR":""
}
}*/