R_ProjectDemand

DDL: R_PROJECTDEMAND Type: view_entity BASIC

Project Demand

R_ProjectDemand is a Basic CDS View that provides data about "Project Demand" in SAP S/4HANA. It reads from 1 data source (projectdemand) and exposes 51 fields with key field ProjectDemandUUID. It has 19 associations to related views.

Data Sources (1)

SourceAliasJoin Type
projectdemand projectdemand from

Associations (19)

CardinalityTargetAliasCondition
[0..1] R_ProjectDemandMaterial _Material _Material.ProjectDemandUUID = $projection.ProjectDemandUUID
[0..1] R_ProjectDemandService _Service _Service.ProjectDemandUUID = $projection.ProjectDemandUUID
[0..1] R_ProjectDemandWork _Work _Work.ProjectDemandUUID = $projection.ProjectDemandUUID
[0..1] R_ProjectDemandExpense _Expense _Expense.ProjectDemandUUID = $projection.ProjectDemandUUID
[1..1] E_ProjectDemand _ProjectdemandExtension $projection.ProjectDemandUUID = _ProjectdemandExtension.ProjectDemandUUID
[0..1] I_ProjectDemandSituation _ProjectDemandVH $projection.ProjectDemandUUID = _ProjectDemandVH.ProjectDemandUUID
[1..1] I_ProjectDemandCategory _ProjectDemandCategory $projection.ProjectDemandCategory = _ProjectDemandCategory.ProjectDemandCategory
[1..1] I_ProjectDemandType _ProjectDemandType $projection.ProjectDemandType = _ProjectDemandType.ProjectDemandType
[1..1] I_EnterpriseProject _Project $projection.ProjectUUID = _Project.ProjectUUID
[0..1] I_EnterpriseProjectElement_2 _WorkPackage $projection.ReferencedObjectUUID = _WorkPackage.ProjectElementUUID
[1..1] I_ProjectDemandStatus _ProjectDemandStatus $projection.ProjectDemandStatus = _ProjectDemandStatus.ProjectDemandStatus
[0..1] I_Currency _ProjectDemandCurrency $projection.ProjectDemandRequestCurrency = _ProjectDemandCurrency.Currency
[0..1] I_Currency _ProjectDemandNetCurrency $projection.ProjDmndReqNetAmountCurrency = _ProjectDemandNetCurrency.Currency
[0..1] I_UnitOfMeasureStdVH _ProjDmndQuantityUnit $projection.ProjDmndRequestedQuantityUnit = _ProjDmndQuantityUnit.UnitOfMeasure
[0..1] I_PlantStdVH _Plant $projection.Plant = _Plant.Plant
[0..1] I_PurchasingGroup _PurchasingGroup $projection.PurchasingGroup = _PurchasingGroup.PurchasingGroup
[0..1] I_PurchasingOrganization _PurchasingOrganisation $projection.PurchasingOrganization = _PurchasingOrganisation.PurchasingOrganization
[0..1] I_ProjDmndLastUpdateSource _ProjDmndLastUpdateSource $projection.ProjectDemandLastUpdateSource = _ProjDmndLastUpdateSource.ProjectDemandLastUpdateSource
[0..1] I_EnterpriseProjectForUser _EnterpriseProjectForUser _EnterpriseProjectForUser.ProjectUUID = $projection.ProjectUUID

Annotations (13)

NameValueLevelField
VDM.viewType #BASIC view
VDM.lifecycle.contract.type #SAP_INTERNAL_API view
AccessControl.authorizationCheck #MANDATORY view
AccessControl.personalData.blocking #BLOCKED_DATA_EXCLUDED view
AbapCatalog.dataMaintenance #RESTRICTED view
ObjectModel.modelingPattern #ANALYTICAL_DIMENSION view
ObjectModel.representativeKey ProjectDemandUUID view
ObjectModel.usageType.serviceQuality #A view
ObjectModel.usageType.dataClass #TRANSACTIONAL view
ObjectModel.usageType.sizeCategory #XL view
Search.searchable true view
Metadata.ignorePropagatedAnnotations true view
EndUserText.label Project Demand view

Fields (51)

KeyFieldSource TableSource FieldDescription
KEY ProjectDemandUUID projectdemanduuid
ProjectDemand projectdemand
ProjectDemandName projectdemandname
ProjectDemandDescription projectdemanddescription
ProjectDemandCategory projectdemandcategory
ProjectDemandType projectdemandtype
ProjectUUID projectuuid
ReferencedObjectUUID referencedobjectuuid
ProjectDemandStatus projectdemandstatus
ProjectDemandDateMaintenance projectdemanddatemaintenance
ProjectDemandStartDate projectdemandstartdate
ProjectDemandEndDate projectdemandenddate
ProjectDemandReleasedDateTime projectdemandreleaseddatetime
ProjDmndActualSupplyDate projdmndactualsupplydate
ProjectDemandPerUnitAmount projectdemandperunitamount
ProjectDemandRequestCurrency projectdemandrequestcurrency
ProjectDemandRequestNetAmount projectdemandrequestnetamount
ProjDmndReqNetAmountCurrency projdmndreqnetamountcurrency
ProjectDemandOverallAmount projectdemandoverallamount
ProjDmndRequestedQuantity projdmndrequestedquantity
ProjDmndRequestedQuantityUnit projdmndrequestedquantityunit
PriceUnitQty priceunitqty
Plant plant
PurchasingGroup purchasinggroup
PurchasingOrganization purchasingorganization
ProjectDemandLastUpdateSource projectdemandlastupdatesource
CreatedByUser createdbyuser
CreationDateTime creationdatetime
LastChangedByUser lastchangedbyuser
LastChangeDateTime lastchangedatetime
ProjectDemandLastChangedByUser projectdemandlastchangedbyuser
ProjDemandLastChangeDateTime projdemandlastchangedatetime
ProjDmndExternalReferenceUUID projdmndexternalreferenceuuid
_Material _Material
_Service _Service
_Work _Work
_Expense _Expense
_ProjectDemandCategory _ProjectDemandCategory
_ProjectDemandType _ProjectDemandType
_Project _Project
_WorkPackage _WorkPackage
_ProjectDemandStatus _ProjectDemandStatus
_ProjectDemandCurrency _ProjectDemandCurrency
_ProjectDemandNetCurrency _ProjectDemandNetCurrency
_ProjDmndLastUpdateSource _ProjDmndLastUpdateSource
_ProjDmndQuantityUnit _ProjDmndQuantityUnit
_ProjectDemandVH _ProjectDemandVH
_Plant _Plant
_PurchasingGroup _PurchasingGroup
_PurchasingOrganisation _PurchasingOrganisation
_EnterpriseProjectForUser _EnterpriseProjectForUser
@VDM.viewType: #BASIC
@VDM.lifecycle.contract.type:  #SAP_INTERNAL_API

@AccessControl.authorizationCheck: #MANDATORY
@AccessControl.personalData.blocking: #BLOCKED_DATA_EXCLUDED

@AbapCatalog.dataMaintenance: #RESTRICTED

@ObjectModel: {
  modelingPattern: #ANALYTICAL_DIMENSION,
   supportedCapabilities: [ #SQL_DATA_SOURCE, #CDS_MODELING_DATA_SOURCE, #CDS_MODELING_ASSOCIATION_TARGET ],
   semanticKey:       [ 'ProjectDemand' ],
   representativeKey: 'ProjectDemandUUID',
   usageType: {
     serviceQuality:  #A,
     dataClass:       #TRANSACTIONAL,
     sizeCategory:    #XL
   }
}

@Search.searchable: true
@Metadata.ignorePropagatedAnnotations: true
@EndUserText.label: 'Project Demand'

define view entity R_ProjectDemand
  as select from projectdemand

  // BO internal associations

  association [0..1] to R_ProjectDemandMaterial    as _Material // will be limited by coding, validation required

                                                                                on _Material.ProjectDemandUUID = $projection.ProjectDemandUUID
  association [0..1] to R_ProjectDemandService     as _Service  // will be limited by coding, validation required

                                                                                on _Service.ProjectDemandUUID = $projection.ProjectDemandUUID
  association [0..1] to R_ProjectDemandWork        as _Work     // will be limited by coding, validation required

                                                                                on _Work.ProjectDemandUUID = $projection.ProjectDemandUUID
  association [0..1] to R_ProjectDemandExpense     as _Expense                  on _Expense.ProjectDemandUUID = $projection.ProjectDemandUUID

  //extention

  association [1..1] to E_ProjectDemand            as _ProjectdemandExtension   on $projection.ProjectDemandUUID = _ProjectdemandExtension.ProjectDemandUUID

  // external associations

  association [0..1] to I_ProjectDemandSituation   as _ProjectDemandVH          on $projection.ProjectDemandUUID = _ProjectDemandVH.ProjectDemandUUID
  association [1..1] to I_ProjectDemandCategory    as _ProjectDemandCategory    on $projection.ProjectDemandCategory = _ProjectDemandCategory.ProjectDemandCategory
  association [1..1] to I_ProjectDemandType        as _ProjectDemandType        on $projection.ProjectDemandType = _ProjectDemandType.ProjectDemandType
  association [1..1] to I_EnterpriseProject        as _Project                  on $projection.ProjectUUID =  _Project.ProjectUUID
   // required to use R_view because of PST

//  association [0..1] to R_EnterpriseProjectElement as _WorkPackage              on $projection.ReferencedObjectUUID = _WorkPackage.ProjectElementUUID 

  association [0..1] to I_EnterpriseProjectElement_2 as _WorkPackage              on $projection.ReferencedObjectUUID = _WorkPackage.ProjectElementUUID
  association [1..1] to I_ProjectDemandStatus      as _ProjectDemandStatus      on $projection.ProjectDemandStatus = _ProjectDemandStatus.ProjectDemandStatus
  association [0..1] to I_Currency                 as _ProjectDemandCurrency    on $projection.ProjectDemandRequestCurrency = _ProjectDemandCurrency.Currency
  association [0..1] to I_Currency                 as _ProjectDemandNetCurrency on $projection.ProjDmndReqNetAmountCurrency = _ProjectDemandNetCurrency.Currency
  association [0..1] to I_UnitOfMeasureStdVH       as _ProjDmndQuantityUnit     on $projection.ProjDmndRequestedQuantityUnit = _ProjDmndQuantityUnit.UnitOfMeasure
  association [0..1] to I_PlantStdVH               as _Plant                    on $projection.Plant = _Plant.Plant
  association [0..1] to I_PurchasingGroup          as _PurchasingGroup          on $projection.PurchasingGroup = _PurchasingGroup.PurchasingGroup
  association [0..1] to I_PurchasingOrganization   as _PurchasingOrganisation   on $projection.PurchasingOrganization = _PurchasingOrganisation.PurchasingOrganization
  association [0..1] to I_ProjDmndLastUpdateSource as _ProjDmndLastUpdateSource on $projection.ProjectDemandLastUpdateSource = _ProjDmndLastUpdateSource.ProjectDemandLastUpdateSource
  //For Cat 7 Authorization                                                                                      

  association [0..1] to I_EnterpriseProjectForUser as _EnterpriseProjectForUser on _EnterpriseProjectForUser.ProjectUUID = $projection.ProjectUUID
{

  key projectdemanduuid              as ProjectDemandUUID,
      @Search.defaultSearchElement: true
      @Search.fuzzinessThreshold: 0.9
      @Search.ranking: #HIGH
      @ObjectModel.text.element: [ 'ProjectDemandName' ]
      projectdemand                  as ProjectDemand,
      @Semantics.text: true
      @Search.defaultSearchElement: true
      @Search.fuzzinessThreshold: 0.9
      @Search.ranking: #HIGH
      projectdemandname              as ProjectDemandName,
      @Semantics.text: true
      @Search.defaultSearchElement: true
      @Search.fuzzinessThreshold: 0.8
      @Search.ranking: #MEDIUM
      projectdemanddescription       as ProjectDemandDescription,
      @Search.defaultSearchElement: true
      @Search.fuzzinessThreshold: 0.7
      @Search.ranking: #MEDIUM
      @ObjectModel.foreignKey.association: '_ProjectDemandCategory'
      projectdemandcategory          as ProjectDemandCategory,
      @Search.defaultSearchElement: true
      @Search.fuzzinessThreshold: 0.7
      @Search.ranking: #MEDIUM
      @ObjectModel.foreignKey.association: '_ProjectDemandType'
      projectdemandtype              as ProjectDemandType,

      @ObjectModel.foreignKey.association:    '_Project'
      projectuuid           as ProjectUUID,
      
      // usually this is a workpackage in S4CE

      @ObjectModel.foreignKey.association:    '_WorkPackage'
      referencedobjectuuid           as ReferencedObjectUUID,

      @ObjectModel.foreignKey.association: '_ProjectDemandStatus'
      projectdemandstatus            as ProjectDemandStatus,

      projectdemanddatemaintenance   as ProjectDemandDateMaintenance,
      projectdemandstartdate         as ProjectDemandStartDate,
      projectdemandenddate           as ProjectDemandEndDate,

      projectdemandreleaseddatetime  as ProjectDemandReleasedDateTime,
      projdmndactualsupplydate       as ProjDmndActualSupplyDate,

      @Semantics: { amount : {currencyCode: 'ProjectDemandRequestCurrency'} }
      projectdemandperunitamount     as ProjectDemandPerUnitAmount,

      @ObjectModel.foreignKey.association:    '_ProjectDemandCurrency'
      projectdemandrequestcurrency   as ProjectDemandRequestCurrency,


      @Semantics: { amount : {currencyCode: 'ProjDmndReqNetAmountCurrency'} }
      projectdemandrequestnetamount  as ProjectDemandRequestNetAmount,

      @ObjectModel.foreignKey.association:    '_ProjectDemandNetCurrency'
      projdmndreqnetamountcurrency   as ProjDmndReqNetAmountCurrency,

      @Semantics: { amount : {currencyCode: 'ProjectDemandRequestCurrency'} }
      projectdemandoverallamount     as ProjectDemandOverallAmount,


      @Semantics: { quantity : {unitOfMeasure: 'ProjDmndRequestedQuantityUnit'} }
      projdmndrequestedquantity      as ProjDmndRequestedQuantity,

      @ObjectModel.foreignKey.association:    '_ProjDmndQuantityUnit'
      projdmndrequestedquantityunit  as ProjDmndRequestedQuantityUnit,

      priceunitqty                   as PriceUnitQty,

      @ObjectModel.foreignKey.association:    '_Plant'
      plant                          as Plant,

      @ObjectModel.foreignKey.association:    '_PurchasingGroup'
      purchasinggroup                as PurchasingGroup,

      @ObjectModel.foreignKey.association:    '_PurchasingOrganisation'
      purchasingorganization         as PurchasingOrganization,

      // only used by PSA Work

      @ObjectModel.foreignKey.association:    '_ProjDmndLastUpdateSource'
      projectdemandlastupdatesource  as ProjectDemandLastUpdateSource,

      @Semantics.user.createdBy: true
      createdbyuser                  as CreatedByUser,
      @Semantics.systemDateTime.createdAt: true
      creationdatetime               as CreationDateTime,


      @Semantics.user.localInstanceLastChangedBy: true
      lastchangedbyuser              as LastChangedByUser,


      @Semantics.systemDateTime.localInstanceLastChangedAt: true
      lastchangedatetime             as LastChangeDateTime,
      @Semantics.user.lastChangedBy: true
      projectdemandlastchangedbyuser as ProjectDemandLastChangedByUser,
      @Semantics.systemDateTime.lastChangedAt: true
      projdemandlastchangedatetime   as ProjDemandLastChangeDateTime,

      projdmndexternalreferenceuuid  as ProjDmndExternalReferenceUUID,

      // BO internal associations

      _Material,
      _Service,
      _Work,
      _Expense,

      // external associations

      _ProjectDemandCategory,
      _ProjectDemandType,
      _Project,
      _WorkPackage,
      _ProjectDemandStatus,
      _ProjectDemandCurrency,
      _ProjectDemandNetCurrency,
      _ProjDmndLastUpdateSource,

      _ProjDmndQuantityUnit,
      _ProjectDemandVH,
      _Plant,
      _PurchasingGroup,
      _PurchasingOrganisation,
//      _ProjectdemandExtension  //View must not expose association _ProjectdemandExtension to extension include view E_PROJECTDEMAND

      _EnterpriseProjectForUser
}