C_CustomerProjectDetails

DDL: C_CUSTOMERPROJECTDETAILS SQL: CCUSTPROJDETAILS Type: view CONSUMPTION Package: CPD_CDS

Customer Project Details

C_CustomerProjectDetails is a Consumption CDS View that provides data about "Customer Project Details" in SAP S/4HANA. It reads from 2 data sources (I_Customer, I_CustomerProject) and exposes 44 fields with key fields CustomerProjectUUID, CustomerProject. It has 11 associations to related views. Part of development package CPD_CDS.

Data Sources (2)

SourceAliasJoin Type
I_Customer Customer left_outer
I_CustomerProject CustomerProject from

Associations (11)

CardinalityTargetAliasCondition
[0..*] I_PersnWrkAgreementDet _PersonWorkAgreement $projection.CustProjMgrPersonnelNumber = _PersonWorkAgreement.PersonWorkAgreement
[1..1] I_EngagementProjectStage _CustomerProjectStage $projection.CustomerProjectStage = _CustomerProjectStage.EngagementProjectStage
[0..*] I_CostCenter _CostCenter $projection.CostCenter = _CostCenter.CostCenter and $projection.ControllingArea = _CostCenter.ControllingArea and $projection.CustomerProjectStartDate >= _CostCenter.ValidityStartDate and $projection.CustomerProjectStartDate <= _CostCenter.ValidityEndDate
[0..*] I_ProfitCenter _ProfitCenter $projection.ProfitCenter = _ProfitCenter.ProfitCenter and $projection.ControllingArea = _ProfitCenter.ControllingArea and $projection.CustomerProjectStartDate >= _ProfitCenter.ValidityStartDate and $projection.CustomerProjectStartDate <= _ProfitCenter.ValidityEndDate
[1..1] I_EngagementProjectSrvcOrg _EngmntProjSrvcOrgDetails $projection.CustomerProjectServiceOrg = _EngmntProjSrvcOrgDetails.EngagementProjectServiceOrg
[1..*] I_EngagementProjectSrvcOrgDets _EngagementProjectSrvcOrgDets $projection.CustomerProjectServiceOrg = _EngagementProjectSrvcOrgDets.EngagementProjectServiceOrg and _EngagementProjectSrvcOrgDets.AssignedOrganisationType = 'CA'
[1..1] I_Currency _Currency $projection.Currency = _Currency.Currency
[1..1] I_Address _Address Customer.AddressID = _Address.AddressID
[1..1] C_CustomerProjectPlndActlData _CustomerProjectPlndActlData $projection.CustomerProject = _CustomerProjectPlndActlData.CustomerProject
[1..1] I_EngmntProjCustInfo _Customer CustomerProject.Customer = _Customer.Customer
[1..1] I_EngagementProject _EngagementProject $projection.CustomerProject = _EngagementProject.EngagementProject

Annotations (9)

NameValueLevelField
ClientHandling.algorithm #SESSION_VARIABLE view
AbapCatalog.sqlViewName CCUSTPROJDETAILS view
EndUserText.label Customer Project Details view
VDM.viewType #CONSUMPTION view
AccessControl.authorizationCheck #CHECK view
AccessControl.personalData.blocking #REQUIRED view
ObjectModel.usageType.serviceQuality #D view
ObjectModel.usageType.sizeCategory #XL view
ObjectModel.usageType.dataClass #MIXED view

Fields (44)

KeyFieldSource TableSource FieldDescription
KEY CustomerProjectUUID I_CustomerProject CustomerProjectUUID
KEY CustomerProject I_CustomerProject CustomerProject
CustomerProjectServiceOrg I_CustomerProject CustomerProjectServiceOrg
CustomerProjectType I_CustomerProject CustomerProjectType
CustProjFinancialPlanUUID I_CustomerProject CustProjFinancialPlanUUID
CustomerProjectVisibility I_CustomerProject CustomerProjectVisibility
CustomerProjectStage I_CustomerProject CustomerProjectStage
CostCenter I_CustomerProject CostCenter
ProfitCenter I_CustomerProject ProfitCenter
ControllingArea _EngagementProjectSrvcOrgDets AssignedOrganisation
CustomerProjectName I_CustomerProject CustomerProjectName
Currency I_CustomerProject Currency
Customer I_CustomerProject Customer
AddressID _Address AddressID
LastChangeDateTime I_CustomerProject LastChangeDateTime
CustomerName I_Customer CustomerName
OrganizationBPName1 I_Customer OrganizationBPName1
OrganizationBPName2 I_Customer OrganizationBPName2
CustProjMgrPersonnelNumber I_CustomerProject CustProjMgrPersonnelNumber
CustomerProjectManagerName
CustomerProjectStartDate I_CustomerProject CustomerProjectStartDate
CustomerProjectEndDate I_CustomerProject CustomerProjectEndDate
PersonnelNumber
BusinessUser
Employee
CustProjWrkPckgPlanMarginPct 1
UnitOfMeasure
CustProjWrkPckgActualRevenue _CustomerProjectPlndActlData CustProjWrkPckgActualRevenue
ActualCost _CustomerProjectPlndActlData ActualCost
CustProjWrkPckgActualMarginPct 1
CompletionRateInPercent 1
CustProjWrkPckgPlanCost EngagementProjectPlanData PlndCostAmt
CustProjWrkPckgPlanRevenue EngagementProjectPlanData PlndRevnAmt
CustProjWrkPckgPlanEffortQty EngagementProjectPlanData PlndEffortQty
CityName _Address CityName
Country _Address Country
_CustomerProjectStage _CustomerProjectStage
_CostCenter _CostCenter
_EngmntProjSrvcOrgDetails _EngmntProjSrvcOrgDetails
_Currency _Currency
_ProfitCenter _ProfitCenter
_Customer _Customer
_PersonWorkAgreement _PersonWorkAgreement
_EngagementProject _EngagementProject
@ClientHandling.algorithm: #SESSION_VARIABLE
@AbapCatalog.sqlViewName: 'CCUSTPROJDETAILS'
@EndUserText.label: 'Customer Project Details'
@VDM.viewType: #CONSUMPTION
@AccessControl.authorizationCheck:#CHECK
@AccessControl.personalData.blocking: #REQUIRED
@ObjectModel.usageType.serviceQuality: #D
@ObjectModel.usageType.sizeCategory: #XL
@ObjectModel.usageType.dataClass: #MIXED

@Consumption.dbHints: [ 'USE_HEX_PLAN' ]

define view C_CustomerProjectDetails
  as select from           I_CustomerProject           as CustomerProject
    left outer to one join C_EngagementProjectPlanData as EngagementProjectPlanData on EngagementProjectPlanData.EngagementProject = CustomerProject.CustomerProject
    left outer join        I_Customer                  as Customer                  on CustomerProject.Customer = Customer.Customer
  association [0..*] to I_PersnWrkAgreementDet         as _PersonWorkAgreement          on  $projection.CustProjMgrPersonnelNumber = _PersonWorkAgreement.PersonWorkAgreement
  association [1..1] to I_EngagementProjectStage       as _CustomerProjectStage         on  $projection.CustomerProjectStage = _CustomerProjectStage.EngagementProjectStage
  association [0..*] to I_CostCenter                   as _CostCenter                   on  $projection.CostCenter               =  _CostCenter.CostCenter
                                                                                        and $projection.ControllingArea          =  _CostCenter.ControllingArea
                                                                                        and $projection.CustomerProjectStartDate >= _CostCenter.ValidityStartDate
                                                                                        and $projection.CustomerProjectStartDate <= _CostCenter.ValidityEndDate
  association [0..*] to I_ProfitCenter                 as _ProfitCenter                 on  $projection.ProfitCenter             =  _ProfitCenter.ProfitCenter
                                                                                        and $projection.ControllingArea          =  _ProfitCenter.ControllingArea
                                                                                        and $projection.CustomerProjectStartDate >= _ProfitCenter.ValidityStartDate
                                                                                        and $projection.CustomerProjectStartDate <= _ProfitCenter.ValidityEndDate
  association [1..1] to I_EngagementProjectSrvcOrg     as _EngmntProjSrvcOrgDetails     on  $projection.CustomerProjectServiceOrg = _EngmntProjSrvcOrgDetails.EngagementProjectServiceOrg
  association [1..*] to I_EngagementProjectSrvcOrgDets as _EngagementProjectSrvcOrgDets on  $projection.CustomerProjectServiceOrg                  = _EngagementProjectSrvcOrgDets.EngagementProjectServiceOrg
                                                                                        and _EngagementProjectSrvcOrgDets.AssignedOrganisationType = 'CA'
  association [1..1] to I_Currency                     as _Currency                     on  $projection.Currency = _Currency.Currency
  association [1..1] to I_Address                      as _Address                      on  Customer.AddressID = _Address.AddressID
  association [1..1] to C_CustomerProjectPlndActlData  as _CustomerProjectPlndActlData  on  $projection.CustomerProject = _CustomerProjectPlndActlData.CustomerProject

  association [1..1] to I_EngmntProjCustInfo           as _Customer                     on  CustomerProject.Customer = _Customer.Customer
  
  //Expose association for DCL checks

  association [1..1] to I_EngagementProject            as _EngagementProject            on $projection.CustomerProject = _EngagementProject.EngagementProject
{
  key    CustomerProject.CustomerProjectUUID                                                                                as                                                     CustomerProjectUUID,
  key    CustomerProject.CustomerProject                                                                                    as                                                     CustomerProject,
         CustomerProject.CustomerProjectServiceOrg                                                                          as                                                     CustomerProjectServiceOrg,
         CustomerProject.CustomerProjectType                                                                                as                                                     CustomerProjectType,
         CustomerProject.CustProjFinancialPlanUUID                                                                          as                                                     CustProjFinancialPlanUUID,
         CustomerProject.CustomerProjectVisibility                                                                          as                                                     CustomerProjectVisibility,

         CustomerProject.CustomerProjectStage                                                                               as                                                     CustomerProjectStage,
      //--[ GENERATED:012:GlBfhyJl7kY4nRd09JNw30

      @Consumption.valueHelpDefinition: [ 
        { entity:  { name:    'I_CostCenterStdVH',
                     element: 'CostCenter' },
          additionalBinding: [{ localElement: 'ControllingArea',
                                element: 'ControllingArea' },
                              { localElement: 'CustomerProjectStartDate',
                                element: 'ValidityStartDate' },
                              { localElement: 'CustomerProjectStartDate',
                                element: 'ValidityEndDate' }]
        }]
      // ]--GENERATED

         CustomerProject.CostCenter                                                                                         as                                                     CostCenter,
      //--[ GENERATED:012:GlBfhyJl7kY4nRd09JNw30

      @Consumption.valueHelpDefinition: [ 
        { entity:  { name:    'I_ProfitCenterStdVH',
                     element: 'ProfitCenter' },
          additionalBinding: [{ localElement: 'ControllingArea',
                                element: 'ControllingArea' },
                              { localElement: 'CustomerProjectStartDate',
                                element: 'ValidityStartDate' },
                              { localElement: 'CustomerProjectStartDate',
                                element: 'ValidityEndDate' }]
        }]
      // ]--GENERATED

         CustomerProject.ProfitCenter                                                                                       as                                                     ProfitCenter,

         _EngagementProjectSrvcOrgDets.AssignedOrganisation                                                                 as                                                     ControllingArea,
         CustomerProject.CustomerProjectName                                                                                as                                                     CustomerProjectName,
         
       @Semantics.currencyCode: true
         CustomerProject.Currency                                                                                           as                                                     Currency,
      //--[ GENERATED:012:GlBfhyJl7kY4nRd09JNw30

      @Consumption.valueHelpDefinition: [ 
        { entity:  { name:    'I_EngmntProjCustInfoStdVH',
                     element: 'Customer' }
        }]
      // ]--GENERATED

         CustomerProject.Customer                                                                                           as                                                     Customer,
         _Address.AddressID                                                                                                 as                                                     AddressID,
         @Semantics.dateTime:true
         @Semantics.systemDateTime.lastChangedAt:true
         CustomerProject.LastChangeDateTime                                                                                 as                                                     LastChangeDateTime,
         Customer.CustomerName                                                                                              as                                                     CustomerName,
         Customer.OrganizationBPName1                                                                                       as                                                     OrganizationBPName1,
         Customer.OrganizationBPName2                                                                                       as                                                     OrganizationBPName2,
         CustomerProject.CustProjMgrPersonnelNumber                                                                         as                                                     CustProjMgrPersonnelNumber,
         _PersonWorkAgreement._WorkforcePerson.PersonFullName                                                               as                                                     CustomerProjectManagerName,
         CustomerProject.CustomerProjectStartDate                                                                           as                                                     CustomerProjectStartDate,
         CustomerProject.CustomerProjectEndDate                                                                             as                                                     CustomerProjectEndDate,
         _PersonWorkAgreement._WorkforcePerson.Person                                                                       as                                                     PersonnelNumber,
         _PersonWorkAgreement._WorkforcePerson.UserID                                                                       as                                                     BusinessUser,
         _PersonWorkAgreement._WorkforcePerson.PersonExternalID                                                             as                                                     Employee,

         1                                                                                                                  as                                                     CustProjWrkPckgPlanMarginPct,
         @Semantics.unitOfMeasure: true
         cast('%' as abap.unit( 3 ))  
         
                                                                                                                            as                                                      UnitOfMeasure,
          @Semantics.amount.currencyCode: 'Currency'
         _CustomerProjectPlndActlData.CustProjWrkPckgActualRevenue                                                          as                                                     CustProjWrkPckgActualRevenue,
         @Semantics.amount.currencyCode: 'Currency'
         _CustomerProjectPlndActlData.ActualCost                                                                            as                                                     ActualCost,

         1                                                                                                                  as                                                     CustProjWrkPckgActualMarginPct,


         1                                                                                                                  as                                                     CompletionRateInPercent,


         @Semantics.amount.currencyCode: 'Currency'
         EngagementProjectPlanData.PlndCostAmt                                                                              as                                                     CustProjWrkPckgPlanCost,
         
         @Semantics.amount.currencyCode: 'Currency'
         EngagementProjectPlanData.PlndRevnAmt                                                                              as                                                     CustProjWrkPckgPlanRevenue,
         @Semantics.quantity.unitOfMeasure:'UnitOfMeasure'
         EngagementProjectPlanData.PlndEffortQty                                                                            as                                                     CustProjWrkPckgPlanEffortQty,
         _Address.CityName                                                                                                  as                                                     CityName,
         _Address.Country                                                                                                   as                                                     Country,
         _CustomerProjectStage,
         _CostCenter,
         _EngmntProjSrvcOrgDetails,
         _Currency,
         _ProfitCenter,
         _Customer,
         _PersonWorkAgreement,
         _EngagementProject
        
}