C_ProjBillgCustomerProjectDets

DDL: C_PROJBILLGCUSTOMERPROJECTDETS Type: view CONSUMPTION

Project Details

C_ProjBillgCustomerProjectDets is a Consumption CDS View that provides data about "Project Details" in SAP S/4HANA. It reads from 1 data source (I_EnterpriseProject) and exposes 24 fields with key field Project. It has 4 associations to related views. It is exposed through 2 OData services (MANAGEPROJBILLGREQUEST_SD, PROJECTBILLINGELEMENT_SD).

Data Sources (1)

SourceAliasJoin Type
I_EnterpriseProject I_EnterpriseProject from

Associations (4)

CardinalityTargetAliasCondition
[0..1] I_ProfitCenterText _ProfitCenterText $projection.ProfitCenter = _ProfitCenterText.ProfitCenter and $projection.ControllingArea = _ProfitCenterText.ControllingArea and $projection.ProjectStartDate <= _ProfitCenterText.ValidityEndDate and $projection.ProjectStartDate >= _ProfitCenterText.ValidityStartDate and _ProfitCenterText.Language = $session.system_language
[0..1] I_EngagementProjectSrvcOrgText _ServiceOrganizationText _ServiceOrganizationText.EngagementProjectServiceOrg = $projection.EnterpriseProjectServiceOrg and _ServiceOrganizationText.Language = $session.system_language
[1..1] I_CustomerToBusinessPartner _CustomerToBusinessPartner _CustomerToBusinessPartner.BusinessPartnerUUID = $projection.CustomerUUID
[0..1] I_CostCenter _ResponsibleCostCenter $projection.ControllingArea = _ResponsibleCostCenter.ControllingArea and $projection.ResponsibleCostCenter = _ResponsibleCostCenter.CostCenter and $projection.ProjectStartDate <= _ResponsibleCostCenter.ValidityEndDate and $projection.ProjectStartDate >= _ResponsibleCostCenter.ValidityStartDate

Annotations (15)

NameValueLevelField
AbapCatalog.sqlViewName CPROJCUSTPRJDT view
AbapCatalog.compiler.compareFilter true view
AccessControl.authorizationCheck #CHECK view
AccessControl.personalData.blocking #REQUIRED view
ClientHandling.algorithm #SESSION_VARIABLE view
EndUserText.label Project Details view
ObjectModel.usageType.dataClass #MIXED view
ObjectModel.usageType.serviceQuality #C view
ObjectModel.usageType.sizeCategory #L view
Search.searchable true view
VDM.viewType #CONSUMPTION view
VDM.private false view
AbapCatalog.preserveKey true view
Metadata.allowExtensions true view
ObjectModel.representativeKey Project view

OData Services (2)

ServiceBindingVersionContractRelease
MANAGEPROJBILLGREQUEST_SD UI_MNGPROJBILLGREQ_SB_V2 V2 C1 NOT_RELEASED
PROJECTBILLINGELEMENT_SD UI_PROJBILLGELMNT_SB_V2 V2 C1 NOT_RELEASED

Fields (24)

KeyFieldSource TableSource FieldDescription
KEY Project Project
ProjectInternalID ProjectInternalID
StoreCustomerName Customer
ProjectDescription ProjectDescription
ProjectStartDate ProjectStartDate Project Start Date
ProjectEndDate ProjectEndDate Project End Date
ResponsibleCostCenter ResponsibleCostCenter
CostCenterName Cost Center
ControllingArea ControllingArea
ProfitCenter ProfitCenter
ProfitCenterName _ProfitCenterText ProfitCenterName Profit Center
CustomerUUID CustomerUUID
EngmtProjectServiceOrgName _ServiceOrganizationText EngmtProjectServiceOrgName Service Organization
EnterpriseProjectServiceOrg EnterpriseProjectServiceOrg
ProcessingStatus ProcessingStatus
CompanyCode CompanyCode
ProjectProfileCode ProjectProfileCode
ProjectCategory ProjectCategory
EntProjectIsConfidential EntProjectIsConfidential
ProjectSummaryTaskUUID ProjectSummaryTaskUUID
_AuthGroup _AuthGroup
_AuthRole _AuthRole
_AuthSubst _AuthSubst
_AuthUser _AuthUser
@AbapCatalog: {
    sqlViewName: 'CPROJCUSTPRJDT',
    compiler.compareFilter: true
}
@AccessControl: {
    authorizationCheck: #CHECK,
    personalData.blocking: #REQUIRED
}
@ClientHandling.algorithm: #SESSION_VARIABLE
@EndUserText.label: 'Project Details'

@ObjectModel.usageType: {
    dataClass: #MIXED,
    serviceQuality: #C,
    sizeCategory: #L
}
@Search.searchable: true
@VDM: {
    viewType: #CONSUMPTION,
    private: false
}
@AbapCatalog.preserveKey:true
@Metadata.allowExtensions: true

@ObjectModel: {
     semanticKey: ['Project'],
     representativeKey: 'Project'
}
define view C_ProjBillgCustomerProjectDets
  as select from I_EnterpriseProject

  association [0..1] to I_ProfitCenterText             as _ProfitCenterText          on  $projection.ProfitCenter     =  _ProfitCenterText.ProfitCenter
                                                                                     and $projection.ControllingArea  =  _ProfitCenterText.ControllingArea
                                                                                     and $projection.ProjectStartDate <= _ProfitCenterText.ValidityEndDate
                                                                                     and $projection.ProjectStartDate >= _ProfitCenterText.ValidityStartDate
                                                                                     and _ProfitCenterText.Language   = $session.system_language

  association [0..1] to I_EngagementProjectSrvcOrgText as _ServiceOrganizationText   on  _ServiceOrganizationText.EngagementProjectServiceOrg = $projection.EnterpriseProjectServiceOrg
                                                                                     and _ServiceOrganizationText.Language                    = $session.system_language

  association [1..1] to I_CustomerToBusinessPartner    as _CustomerToBusinessPartner on  _CustomerToBusinessPartner.BusinessPartnerUUID = $projection.CustomerUUID

  association [0..1] to I_CostCenter                   as _ResponsibleCostCenter     on  $projection.ControllingArea       =  _ResponsibleCostCenter.ControllingArea
                                                                                     and $projection.ResponsibleCostCenter =  _ResponsibleCostCenter.CostCenter
                                                                                     and $projection.ProjectStartDate      <= _ResponsibleCostCenter.ValidityEndDate
                                                                                     and $projection.ProjectStartDate      >= _ResponsibleCostCenter.ValidityStartDate



{

      @UI.facet: [ {
             purpose:    #QUICK_VIEW,
             type:       #FIELDGROUP_REFERENCE,
             targetQualifier: 'ProjectFieldGroup',
             label:      'Project Details'
           }
         ]
      @ObjectModel.text.element:  [ 'StoreCustomerName' ]

  key Project,

      @UI.hidden: true
      ProjectInternalID                                   as ProjectInternalID,

      @Semantics.name.fullName: true
      @Semantics.text: true
      @EndUserText.label: 'Customer'
      @UI.fieldGroup: [{ position:'10', qualifier: 'ProjectFieldGroup'}]
      _CustomerToBusinessPartner._Customer.CustomerName   as StoreCustomerName,

      ProjectDescription,

      @Semantics.text: true
      @EndUserText.label: 'Project Start Date'
      @UI.fieldGroup: [{ position:'20', qualifier: 'ProjectFieldGroup'}]
      ProjectStartDate,

      @Semantics.text: true
      @EndUserText.label: 'Project End Date'
      @UI.fieldGroup: [{ position:'30', qualifier: 'ProjectFieldGroup'}]
      ProjectEndDate,

      @UI.hidden: true
      ResponsibleCostCenter,

      @Semantics.text: true
      @EndUserText.label: 'Cost Center'
      @UI.fieldGroup: [{ position:'50', qualifier: 'ProjectFieldGroup'}]
      _ResponsibleCostCenter._Text[1:Language = $session.system_language].CostCenterName,
      ControllingArea,

      @UI.hidden: true
      ProfitCenter,
      @Semantics.text: true
      @EndUserText.label: 'Profit Center'
      @UI.fieldGroup: [{ position:'60', qualifier: 'ProjectFieldGroup'}]
      _ProfitCenterText.ProfitCenterName,

      @Consumption.hidden: true
      CustomerUUID,

      @Semantics.text: true
      @EndUserText.label: 'Service Organization'
      @UI.fieldGroup: [{ position:'40', qualifier: 'ProjectFieldGroup'}]
      _ServiceOrganizationText.EngmtProjectServiceOrgName as EngmtProjectServiceOrgName,


      @Consumption.hidden: true
      EnterpriseProjectServiceOrg,
      @Consumption.hidden: true
      ProcessingStatus,
      @Consumption.hidden: true
      CompanyCode,
      @Consumption.hidden: true
      ProjectProfileCode,
      @Consumption.hidden: true
      ProjectCategory,
      @Consumption.hidden: true
      EntProjectIsConfidential,

      @Consumption.hidden: true
      ProjectSummaryTaskUUID,
      @Consumption.hidden: true
      _AuthGroup,
      @Consumption.hidden: true
      _AuthRole,
      @Consumption.hidden: true
      _AuthSubst,
      @Consumption.hidden: true
      _AuthUser
    
}
where
  ProjectCategory = '7'