I_MasterProject

DDL: I_MASTERPROJECT SQL: IMASTERPROJECT Type: view BASIC

Master Project

I_MasterProject is a Basic CDS View (Dimension) that provides data about "Master Project" in SAP S/4HANA. It reads from 2 data sources (/cpd/d_mp_hdr_s, /cpd/d_mp_hdr) and exposes 46 fields with key field MasterProject. It has 18 associations to related views.

Data Sources (2)

SourceAliasJoin Type
/cpd/d_mp_hdr_s MasterProjectText inner
/cpd/d_mp_hdr MPList from

Associations (18)

CardinalityTargetAliasCondition
[0..1] I_MasterProjectType _MasterProjectType $projection.MasterProjectType = _MasterProjectType.MasterProjectType
[0..1] I_EngagementProjectStage _MasterProjectStage $projection.MasterProjectStage = _MasterProjectStage.EngagementProjectStage
[0..1] I_Customer _Customer $projection.Customer = _Customer.Customer
[0..1] I_BusinessPartner _ProjectManager $projection.ProjectManager = _ProjectManager.BusinessPartner
[0..1] I_EngagementProjectSrvcOrg _MasterProjectOrganization $projection.MasterProjectOrganization = _MasterProjectOrganization.EngagementProjectServiceOrg
[0..1] I_Country _Country $projection.Country = _Country.Country
[0..1] I_Region _Region $projection.Country = _Region.Country and $projection.Region = _Region.Region
[0..1] I_CpdIndustry _Industry $projection.Industry = _Industry.Industry
[0..1] I_Cpdprojectrisk _ProjectRisk $projection.ProjectRisk = _ProjectRisk.ProjectRisk
[0..1] I_Cpdfinancialrisk _FinancialRisk $projection.FinancialRisk = _FinancialRisk.FinancialRisk
[0..1] I_Cpdtechnicalrisk _TechnicalRisk $projection.TechnicalRisk = _TechnicalRisk.TechnicalRisk
[0..1] I_Cpdprojectrisk _OverallRisk $projection.OverallRisk = _OverallRisk.ProjectRisk
[1..*] I_MPContactPerson _ContactPerson $projection.MasterProjectUUID = _ContactPerson.MasterProjectUUID
[0..1] I_MasterProjectVH _MasterProject $projection.MasterProject = _MasterProject.MasterProject
[0..1] I_Cpdworktype _WorkType $projection.WorkType = _WorkType.WorkType
[0..1] I_WorkforcePerson _Employee $projection.ProjectManager = _Employee.Person
[1..1] E_MasterProject _Extension $projection.MasterProjectUUID = _Extension.MasterProjectUUID
[0..1] E_MasterProjectKPI _ExtensionKPI $projection.MasterProject = _ExtensionKPI.MasterProject

Annotations (14)

NameValueLevelField
VDM.viewType #BASIC view
AbapCatalog.sqlViewName IMASTERPROJECT view
AbapCatalog.compiler.compareFilter true view
AccessControl.authorizationCheck #CHECK view
Analytics.dataCategory #DIMENSION view
Analytics.dataExtraction.enabled true view
ObjectModel.representativeKey MasterProject view
ObjectModel.usageType.sizeCategory #L view
ObjectModel.usageType.serviceQuality #B view
ObjectModel.usageType.dataClass #MIXED view
ClientHandling.algorithm #SESSION_VARIABLE view
EndUserText.label Master Project view
Metadata.allowExtensions true view
AbapCatalog.preserveKey true view

Fields (46)

KeyFieldSource TableSource FieldDescription
KEY MasterProject
MasterProjectUUID /cpd/d_mp_hdr db_key
MasterProjectName
MasterProjectType
MasterProjectStage
StartDate /cpd/d_mp_hdr start_date
EndDate /cpd/d_mp_hdr end_date
StatusIsActive /cpd/d_mp_hdr active
Customer /cpd/d_mp_hdr customer
MasterProjectOrganization
MasterProjectIsConfidential
Country
Region /cpd/d_mp_hdr region
WorkType /cpd/d_mp_hdr work_type
Industry /cpd/d_mp_hdr industry
ProjectRisk
FinancialRisk /cpd/d_mp_hdr fin_risk
TechnicalRisk /cpd/d_mp_hdr tech_risk
OverallRisk
InspectionDate /cpd/d_mp_hdr int_inspect_date
InternalInspectionDate
ExternalInspectionDate
CreatedByUser /cpd/d_mp_hdr created_by
CreationDateTime
ProjectLastChangedDateTime
ChangedBy /cpd/d_mp_hdr changed_by
ProjectManager /cpd/d_mp_hdr proj_mgr_bupa_id
ProjectUUID
Currency /cpd/d_mp_hdr proj_currency
MstrProjCutOffDate /cpd/d_mp_hdr cut_off_date
_MasterProjectType _MasterProjectType
_MasterProjectStage _MasterProjectStage
_Customer _Customer
_ProjectManager _ProjectManager
_MasterProjectOrganization _MasterProjectOrganization
_Country _Country
_Region _Region
_Industry _Industry
_ProjectRisk _ProjectRisk
_FinancialRisk _FinancialRisk
_TechnicalRisk _TechnicalRisk
_OverallRisk _OverallRisk
_ContactPerson _ContactPerson
_MasterProject _MasterProject
_WorkType _WorkType
_Employee _Employee
@VDM.viewType: #BASIC
@AbapCatalog.sqlViewName: 'IMASTERPROJECT'
@AbapCatalog.compiler.compareFilter: true
@AccessControl.authorizationCheck: #CHECK
@Analytics: { dataCategory: #DIMENSION, dataExtraction.enabled: true }
@ObjectModel.representativeKey: 'MasterProject'
@ObjectModel.usageType.sizeCategory: #L
@ObjectModel.usageType.serviceQuality: #B
@ObjectModel.usageType.dataClass: #MIXED
@ClientHandling.algorithm: #SESSION_VARIABLE
@EndUserText.label: 'Master Project'
@Metadata.allowExtensions:true
@AbapCatalog.preserveKey:true
define view I_MasterProject
  as select from /cpd/d_mp_hdr   as MPList
  inner join   /cpd/d_mp_hdr_s as MasterProjectText on MPList.db_key = MasterProjectText.parent_key
  association [0..1] to I_MasterProjectType        as _MasterProjectType         on  $projection.MasterProjectType = _MasterProjectType.MasterProjectType
  association [0..1] to I_EngagementProjectStage   as _MasterProjectStage        on  $projection.MasterProjectStage = _MasterProjectStage.EngagementProjectStage
  association [0..1] to I_Customer                 as _Customer                  on  $projection.Customer = _Customer.Customer
  association [0..1] to I_BusinessPartner          as _ProjectManager            on  $projection.ProjectManager = _ProjectManager.BusinessPartner
  association [0..1] to I_EngagementProjectSrvcOrg as _MasterProjectOrganization on  $projection.MasterProjectOrganization = _MasterProjectOrganization.EngagementProjectServiceOrg
  association [0..1] to I_Country                  as _Country                   on  $projection.Country = _Country.Country
  association [0..1] to I_Region                   as _Region                    on  $projection.Country = _Region.Country
                                                                                 and $projection.Region  = _Region.Region
  association [0..1] to I_CpdIndustry              as _Industry                  on  $projection.Industry = _Industry.Industry
  association [0..1] to I_Cpdprojectrisk           as _ProjectRisk               on  $projection.ProjectRisk = _ProjectRisk.ProjectRisk
  association [0..1] to I_Cpdfinancialrisk         as _FinancialRisk             on  $projection.FinancialRisk = _FinancialRisk.FinancialRisk
  association [0..1] to I_Cpdtechnicalrisk         as _TechnicalRisk             on  $projection.TechnicalRisk = _TechnicalRisk.TechnicalRisk
  association [0..1] to I_Cpdprojectrisk           as _OverallRisk               on  $projection.OverallRisk = _OverallRisk.ProjectRisk
  association [1..*] to I_MPContactPerson          as _ContactPerson             on  $projection.MasterProjectUUID = _ContactPerson.MasterProjectUUID
  association [0..1] to I_MasterProjectVH          as _MasterProject             on  $projection.MasterProject = _MasterProject.MasterProject
  association [0..1] to I_Cpdworktype              as _WorkType                  on  $projection.WorkType = _WorkType.WorkType 
//  association [0..1] to I_EmployeeWorkplaceAddress as _Employee                  on  $projection.ProjectManager = _Employee.EmployeeInternalID        //HRDecoupling

  association [0..1] to I_WorkforcePerson as _Employee                  on  $projection.ProjectManager = _Employee.Person                               //HRDecoupling

  association [1..1] to E_MasterProject            as _Extension                 on  $projection.MasterProjectUUID = _Extension.MasterProjectUUID
  association [0..1] to E_MasterProjectKPI         as _ExtensionKPI              on  $projection.MasterProject = _ExtensionKPI.MasterProject
{
      @ObjectModel.text.element: 'MasterProjectName' 
      key cast(MPList.mp_id  as /cpd/cpm_comlprojid)                                                                                  as  MasterProject,
      MPList.db_key                                                                                                                   as  MasterProjectUUID,
      @Semantics.text: true
      cast(MasterProjectText.text as /cpd/cpm_comlprojname)                                                                           as  MasterProjectName,
      @ObjectModel: {foreignKey.association: '_MasterProjectType'}
      cast(MPList.mp_type as /cpd/cpm_mp_type)                                                                                        as  MasterProjectType,
      @ObjectModel: {foreignKey.association: '_MasterProjectStage'}
      cast(MPList.mp_stage as /cpd/cpm_mp_stage)                                                                                      as  MasterProjectStage,

      MPList.start_date                                                                                                               as  StartDate,

      MPList.end_date                                                                                                                 as  EndDate,
      MPList.active                                                                                                                   as  StatusIsActive,
      @ObjectModel: {foreignKey.association: '_Customer'}
      MPList.customer                                                                                                                 as  Customer,
      @ObjectModel: {foreignKey.association: '_MasterProjectOrganization'}
      cast(MPList.org_id as /cpd/cpm_comlprojorg)                                                                                     as  MasterProjectOrganization,

      cast(MPList.confidential as /cpd/cpm_comlprojcofl )                                                                             as  MasterProjectIsConfidential,
      @ObjectModel: {foreignKey.association: '_Country'}
      cast(MPList.country as /cpd/cpm_country)                                                                                        as  Country,
      @ObjectModel: {foreignKey.association: '_Region'}
      MPList.region                                                                                                                   as  Region,
      @ObjectModel: {foreignKey.association: '_WorkType'}
      MPList.work_type                                                                                                                as  WorkType,
      @ObjectModel: {foreignKey.association: '_Industry'}
      MPList.industry                                                                                                                 as  Industry,
      @ObjectModel: {foreignKey.association: '_ProjectRisk'}
      cast(MPList.proj_risk as /cpd/cpm_projrisk)                                                                                     as  ProjectRisk,
      @ObjectModel: {foreignKey.association: '_FinancialRisk'}
      MPList.fin_risk                                                                                                                 as  FinancialRisk,
      @ObjectModel: {foreignKey.association: '_TechnicalRisk'}
      MPList.tech_risk                                                                                                                as  TechnicalRisk,
      @ObjectModel: {foreignKey.association: '_OverallRisk'}
      cast(MPList.overall_risk as /cpd/cpm_overalprojrisk)                                                                            as  OverallRisk,
      MPList.int_inspect_date                                                                                                         as  InspectionDate,
      cast(MPList.int_inspect_date as /cpd/cpm_intinsdate)                                                                            as  InternalInspectionDate,
      cast(MPList.ext_inspect_date as /cpd/cpm_extinsdate)                                                                            as  ExternalInspectionDate,
      MPList.created_by                                                                                                               as  CreatedByUser,
      // MPList.created_by                                                                                                               as  CreatedBy,

      cast(MPList.created_on as /cpd/cpm_createdon)                                                                                   as   CreationDateTime,
      cast(MPList.changed_on as /cpd/cpm_changedon)                                                                                   as  ProjectLastChangedDateTime,


      MPList.changed_by                                                                                                               as  ChangedBy,
      @ObjectModel: {foreignKey.association: '_ProjectManager'}
      MPList.proj_mgr_bupa_id                                                                                                         as  ProjectManager,
      
      bintohex(MPList.db_key)                                                                                                         as  ProjectUUID,
      
      MPList.proj_currency                                                                                                            as  Currency,
      MPList.cut_off_date                                                                                                             as  MstrProjCutOffDate,
      _MasterProjectType,
      _MasterProjectStage,
      _Customer,
      _ProjectManager,
      _MasterProjectOrganization,
      _Country,
      _Region,
      _Industry,
      _ProjectRisk,
      _FinancialRisk,
      _TechnicalRisk,
      _OverallRisk,
      _ContactPerson,
      _MasterProject,
      _WorkType,
      _Employee
      //_MPDetails

}