I_ProjectDemand

DDL: I_PROJECTDEMAND Type: view BASIC

Project Demand

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

Data Sources (1)

SourceAliasJoin Type
R_ProjectDemand R_ProjectDemand from

Associations (7)

CardinalityTargetAliasCondition
[0..1] I_ProjectDemandMaterial _Material _Material.ProjectDemandUUID = $projection.ProjectDemandUUID
[0..1] I_ProjectDemandService _Service _Service.ProjectDemandUUID = $projection.ProjectDemandUUID
[0..1] I_ProjectDemandWork _Work _Work.ProjectDemandUUID = $projection.ProjectDemandUUID
[0..1] I_ProjectDemandExpense _Expense _Expense.ProjectDemandUUID = $projection.ProjectDemandUUID
[1..1] E_ProjectDemand _ProjectDemandExtension $projection.ProjectDemandUUID = _ProjectDemandExtension.ProjectDemandUUID
[0..1] I_UnitOfMeasure _ProjDmndQuantityUnit $projection.ProjDmndRequestedQuantityUnit = _ProjDmndQuantityUnit.UnitOfMeasure
[0..1] I_Plant _Plant $projection.Plant = _Plant.Plant

Annotations (19)

NameValueLevelField
VDM.viewType #BASIC view
VDM.lifecycle.contract.type #PUBLIC_LOCAL_API view
ClientHandling.algorithm #SESSION_VARIABLE view
AccessControl.authorizationCheck #MANDATORY view
AccessControl.personalData.blocking #BLOCKED_DATA_EXCLUDED view
AbapCatalog.sqlViewName IPROJECTDEMAND view
AbapCatalog.compiler.compareFilter true view
AbapCatalog.dataMaintenance #RESTRICTED view
AbapCatalog.preserveKey true 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
Analytics.dataExtraction.enabled true view
Analytics.dataExtraction.delta.changeDataCapture.automatic true view
Search.searchable true view
Metadata.ignorePropagatedAnnotations true view
EndUserText.label Project Demand view

Fields (47)

KeyFieldSource TableSource FieldDescription
KEY ProjectDemandUUID ProjectDemandUUID
ProjectDemand ProjectDemand
ProjectDemandName ProjectDemandName
ProjectDemandDescription ProjectDemandDescription
ProjectDemandCategory ProjectDemandCategory
ProjectDemandType ProjectDemandType
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
CreatedByUser CreatedByUser
CreationDateTime CreationDateTime
LastChangedByUser LastChangedByUser
LastChangeDateTime LastChangeDateTime
ProjectDemandLastChangedByUser ProjectDemandLastChangedByUser
ProjDemandLastChangeDateTime ProjDemandLastChangeDateTime
ProjectUUID ProjectUUID
_Material _Material
_Service _Service
_Work _Work
_Expense _Expense
_ProjectDemandCategory _ProjectDemandCategory
_ProjectDemandType _ProjectDemandType
_WorkPackage _WorkPackage
_ProjectDemandStatus _ProjectDemandStatus
_ProjectDemandCurrency _ProjectDemandCurrency
_ProjectDemandNetCurrency _ProjectDemandNetCurrency
_ProjDmndQuantityUnit _ProjDmndQuantityUnit
_Plant _Plant
_PurchasingGroup _PurchasingGroup
_PurchasingOrganisation _PurchasingOrganisation
_Project _Project
_EnterpriseProjectForUser _EnterpriseProjectForUser
@VDM.viewType: #BASIC
@VDM.lifecycle.contract.type:  #PUBLIC_LOCAL_API

@ClientHandling.algorithm: #SESSION_VARIABLE
@AccessControl.authorizationCheck: #MANDATORY
@AccessControl.personalData.blocking: #BLOCKED_DATA_EXCLUDED

@AbapCatalog: {
    sqlViewName: 'IPROJECTDEMAND',
    compiler.compareFilter: true,
    dataMaintenance: #RESTRICTED,
    preserveKey:true
}

@ObjectModel: {
  modelingPattern: #ANALYTICAL_DIMENSION,
   supportedCapabilities: [ #SQL_DATA_SOURCE, #CDS_MODELING_DATA_SOURCE, #CDS_MODELING_ASSOCIATION_TARGET, #EXTRACTION_DATA_SOURCE ],
   semanticKey:       [ 'ProjectDemand' ],
   representativeKey: 'ProjectDemandUUID',
   usageType: {
     serviceQuality:  #A,
     dataClass:       #TRANSACTIONAL,
     sizeCategory:    #XL
   }
}
@Analytics: {
  dataExtraction: { 
    enabled: true,
    delta.changeDataCapture: {
      automatic: true
    }
  }
}
  
@Search.searchable: true
@Metadata.ignorePropagatedAnnotations: true
@EndUserText.label: 'Project Demand'
define view I_ProjectDemand
  as select from R_ProjectDemand 

  // BO internal associations

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

                                                                                on _Material.ProjectDemandUUID = $projection.ProjectDemandUUID

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

                                                                                on _Service.ProjectDemandUUID = $projection.ProjectDemandUUID

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

                                                                                on _Work.ProjectDemandUUID = $projection.ProjectDemandUUID
  
  association [0..1] to I_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 [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 [0..1] to I_EnterpriseProjectElement 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_UnitOfMeasure            as _ProjDmndQuantityUnit     on $projection.ProjDmndRequestedQuantityUnit = _ProjDmndQuantityUnit.UnitOfMeasure
  association [0..1] to I_Plant                    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


{

  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,

      // 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,

      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,

      @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,
      ProjectUUID,
      // BO internal associations

      _Material,
      _Service,
      _Work,
      _Expense,
      
      // external associations

      _ProjectDemandCategory,
      _ProjectDemandType,
      _WorkPackage,
      _ProjectDemandStatus,
      _ProjectDemandCurrency,
      _ProjectDemandNetCurrency,
      _ProjDmndQuantityUnit,
      _Plant,
      _PurchasingGroup,
      _PurchasingOrganisation,
      _Project,
      @Consumption.hidden: true
      _EnterpriseProjectForUser
//      _ProjectdemandExtension

            
}
/*+[internal] {
"BASEINFO":
{
"FROM":
[
"R_PROJECTDEMAND"
],
"ASSOCIATED":
[
"E_PROJECTDEMAND",
"I_CURRENCY",
"I_ENTERPRISEPROJECT",
"I_ENTERPRISEPROJECTELEMENT_2",
"I_ENTERPRISEPROJECTFORUSER",
"I_PLANT",
"I_PROJECTDEMANDCATEGORY",
"I_PROJECTDEMANDEXPENSE",
"I_PROJECTDEMANDMATERIAL",
"I_PROJECTDEMANDSERVICE",
"I_PROJECTDEMANDSTATUS",
"I_PROJECTDEMANDTYPE",
"I_PROJECTDEMANDWORK",
"I_PURCHASINGGROUP",
"I_PURCHASINGORGANIZATION",
"I_UNITOFMEASURE"
],
"BASE":
[
"R_PROJECTDEMAND"
],
"ANNO_REF":
[],
"SCALAR_FUNCTION":
[],
"VERSION":0,
"ANNOREF_EVALUATION_ERROR":""
}
}*/