I_CUSTOMERPROJECT

CDS View

Customer Project

I_CUSTOMERPROJECT is a CDS View in S/4HANA. Customer Project. It contains 19 fields. 6 CDS views read from this table.

CDS Views using this table (6)

ViewTypeJoinVDMDescription
C_CustomerProjectBilling view inner CONSUMPTION Customer Project Billing Document
C_CustomerProjectDetails view from CONSUMPTION Customer Project Details
C_CustomerProjectVH view from CONSUMPTION Customer Project Value Help
C_Custprojcustomercontact view from CONSUMPTION Customer contact details for Customer Projects
I_CustomerProjectPlanData view left_outer COMPOSITE Customer Project Planning Data
I_CustomerProjectVH view from BASIC Customer Project Value Help

Fields (19)

KeyField CDS FieldsUsed in Views
KEY Customer Customer 2
KEY CustomerProject CustomerProject 6
KEY CustomerProjectUUID CustomerProjectUUID 3
CostCenter CostCenter,EngagementProjectCostCenter 3
Currency Currency 1
CustomerProjectEndDate CustomerProjectEndDate 1
CustomerProjectName CustomerProjectName 3
CustomerProjectServiceOrg CustomerProjectServiceOrg 5
CustomerProjectStage CustomerProjectStage 1
CustomerProjectStartDate CustomerProjectStartDate 1
CustomerProjectType CustomerProjectType 4
CustomerProjectVisibility CustomerProjectVisibility 3
CustProjFinancialPlanUUID CustProjFinancialPlanUUID 1
CustProjMgrPersonnelNumber CustProjMgrPersonnelNumber,EmploymentInternalID 2
EngmntProjectHeaderCompanyCode EngmntProjectHeaderCompanyCode 2
LastChangeDateTime LastChangeDateTime 1
ProfitCenter ProfitCenter 3
ProjectProfileCode ProjectProfileCode 2
ProjectType EngagementProjectCategory 1
@AbapCatalog: {
  sqlViewName: 'ICUSTOMERPROJECT',
//  preserveKey: true,

  compiler.compareFilter: true
}
@AccessControl: {
  authorizationCheck: #CHECK,
  personalData: {
    blockingIndicator: [ '_PersonWorkAgreement._BusinessPartner.IsBusinessPurposeCompleted', '_Customer.IsBusinessPurposeCompleted' ],
    blocking: #REQUIRED
  }
}
@Analytics: {
  dataCategory: #DIMENSION,
  dataExtraction.enabled: false
}
@ClientHandling.algorithm: #SESSION_VARIABLE
@EndUserText.label: 'Customer Project'
@ObjectModel: {
  representativeKey: 'CustomerProject',
  usageType: {
    serviceQuality: #C,
    sizeCategory: #M,
    dataClass: #MIXED
  }
}
@Metadata: {
  allowExtensions: true,
  ignorePropagatedAnnotations: false
}
@VDM: {
//  private: false,

  lifecycle.contract.type: #NONE,
  viewType: #BASIC
}
define view I_CustomerProject
  as select from I_EngagementProject as CustomerProject
  association [0..*] to I_CustomerProjectItem      as _Item                        on  $projection.CustomerProjectUUID = _Item.CustomerProjectUUID // dont use this view will be deprecated and I_EngagementProjectItem

  association [0..1] to I_EngagementProjectStage   as _Stage                       on  $projection.CustomerProjectStage = _Stage.EngagementProjectStage
  association [0..*] to I_PersnWrkAgreementDet     as _PersonWorkAgreement         on  $projection.CustProjMgrPersonnelNumber = _PersonWorkAgreement.PersonWorkAgreement
  //                                                                                   and $projection.CustomerProjectStartDate   >= _Employment.StartDate

  //and $projection.CustomerProjectEndDate     <= _Employment.EndDate

  association [0..*] to I_CostCenter               as _CostCenter                  on  $projection.CostCenter      = _CostCenter.CostCenter
                                                                                   and $projection.ControllingArea = _CostCenter.ControllingArea

  association [0..*] to I_ProfitCenter             as _ProfitCenter                on  $projection.ProfitCenter    = _ProfitCenter.ProfitCenter
                                                                                   and $projection.ControllingArea = _ProfitCenter.ControllingArea
  association [0..1] to I_Customer                 as _Customer                    on  $projection.Customer = _Customer.Customer
  association [0..1] to I_Currency                 as _Currency                    on  $projection.Currency = _Currency.Currency
  association [0..1] to I_EngagementProjectSrvcOrg as _EngagementProjectServiceOrg on  $projection.CustomerProjectServiceOrg = _EngagementProjectServiceOrg.EngagementProjectServiceOrg
  association [1..1] to E_CustomerProject          as _Extension                   on  CustomerProject.EngagementProject = _Extension.CustomerProject
  //CE2111 - Fix Association join condition in analytical model

  association [0..1] to I_ControllingArea          as _ControllingArea             on  $projection.ControllingArea = _ControllingArea.ControllingArea
{
      @ObjectModel.text.element: 'CustomerProjectName'
  key cast(CustomerProject.EngagementProject    as /cpd/ss_cp_id preserving type )                          as CustomerProject,
      cast(CustomerProject.EngagementProjectUUID as /cpd/ss_cp_uuid preserving type )                       as CustomerProjectUUID,
      @Semantics.text: true
      cast(CustomerProject.EngagementProjectName as /cpd/ss_cp_desc  preserving type)                       as CustomerProjectName,
      cast(CustomerProject.EngagementProjectType  as /cpd/ss_cp_type preserving type )                      as CustomerProjectType,
      cast(CustomerProject.EngagementProjectStage as /cpd/ss_cp_stage preserving type )                     as CustomerProjectStage,
      cast(CustomerProject.ProjectVisibility as /cpd/ss_cp_visibility preserving type )                     as CustomerProjectVisibility,
      CustomerProject.LastChangedByUser                                                                     as LastChangedByUser,
      @Semantics.dateTime:true
      @Semantics.systemDateTime.lastChangedAt:true
      CustomerProject.LastChangeDateTime                                                                    as LastChangeDateTime,
      CustomerProject.Customer                                                                              as Customer,
      CustomerProject.EngagementProjectServiceOrg                                                           as CustomerProjectServiceOrg,
      CustomerProject.ProjectProfileCode,
      CustomerProject.ProjectManagerWorkAgreement                                                           as CustProjMgrPersonnelNumber,
      CustomerProject.ProjectStartDate                                                                      as CustomerProjectStartDate,
      CustomerProject.ProjectEndDate                                                                        as CustomerProjectEndDate,
      CustomerProject.CostCenter                                                                            as CostCenter,
      CustomerProject.ProfitCenter                                                                          as ProfitCenter,
      CustomerProject.CompanyCode                                                                           as EngmntProjectHeaderCompanyCode,
      cast( CustomerProject.EngagementProjectCategory as ps_prart )                                         as ProjectType,
      @Semantics.currencyCode: true
      _EngagementProjFinancialPlan.Currency                                                                 as Currency,
      cast(_EngagementProjFinancialPlan.EngagementProjFinPlanUUID  as /cpd/eng_pfp_db_key preserving type ) as CustProjFinancialPlanUUID,
      @Semantics.unitOfMeasure: true
      _EngagementProjFinancialPlan.UnitOfMeasure                                                            as UnitOfMeasure,
      @ObjectModel.foreignKey.association: '_ControllingArea' //CE2111 - Fix Association join condition in analytical model

      CustomerProject.ControllingArea                                                                       as ControllingArea,
      _Stage,
      _PersonWorkAgreement,
      @ObjectModel.association.boundFields.dataMatchesSourceAndTargetTypes: true //CE2111 - Fix Association join condition in analytical model

      _CostCenter,
      _ControllingArea, //CE2111 - Fix Association join condition in analytical model

      _EngagementProjectServiceOrg,
      _Currency,
      _Customer,
      _Item,
      _UserInvlmnt
}
where
  CustomerProject.EngagementProjectCategory = 'C'
/*+[internal] {
"BASEINFO":
{
"FROM":
[
"I_ENGAGEMENTPROJECT",
"I_ENGAGEMENTPROJFINANCIALPLAN"
],
"ASSOCIATED":
[
"E_CUSTOMERPROJECT",
"I_CONTROLLINGAREA",
"I_COSTCENTER",
"I_CURRENCY",
"I_CUSTOMER",
"I_CUSTOMERPROJECTITEM",
"I_ENGAGEMENTPROJECTSRVCORG",
"I_ENGAGEMENTPROJECTSTAGE",
"I_ENGMNTPROJWITHUSERINVLMNT",
"I_PERSNWRKAGREEMENTDET",
"I_PROFITCENTER"
],
"BASE":
[
"I_ENGAGEMENTPROJECT"
],
"ANNO_REF":
[],
"SCALAR_FUNCTION":
[],
"VERSION":0,
"ANNOREF_EVALUATION_ERROR":""
}
}*/