C_EntProjectMassChange

DDL: C_ENTPROJECTMASSCHANGE SQL: CENTPROJMCHG Type: view CONSUMPTION Package: ODATA_PPM_PRO_MASS_CHANGE

Enterprise Project for Mass Change

C_EntProjectMassChange is a Consumption CDS View that provides data about "Enterprise Project for Mass Change" in SAP S/4HANA. It reads from 1 data source (I_PPM_Project) and exposes 65 fields with key field ProjectUUID. It has 10 associations to related views. Part of development package ODATA_PPM_PRO_MASS_CHANGE.

Data Sources (1)

SourceAliasJoin Type
I_PPM_Project I_PPM_Project from

Associations (10)

CardinalityTargetAliasCondition
[0..1] C_PPM_ProjectMemberContactCard _Manager _Manager.BusinessPartnerUUID = $projection.ProjectManagerUUID
[0..*] I_CostCenterText _ResponsibleCostCenterText _ResponsibleCostCenterText.CostCenter = $projection.ResponsibleCostCenter and _ResponsibleCostCenterText.ControllingArea = $projection.ControllingArea and _ResponsibleCostCenterText.ValidityEndDate > $session.system_date and _ResponsibleCostCenterText.ValidityStartDate < $session.system_date
[0..1] I_UserContactCard _CreatedByUser _CreatedByUser.ContactCardID = $projection.CreatedByUser
[1..1] E_PPM_Project _ProjectHeaderExtension $projection.ProjectUUID = _ProjectHeaderExtension.ProjectUUID
[0..1] C_PPM_TeamMemberSearchHelp _TeamMember _TeamMember.BusinessPartnerUUID = $projection.ProjectManagerUUID
[0..*] I_FixedAsset _FixedAsset _FixedAsset.InvestmentProjectWBSElement = $projection.WBSElementInternalID and $projection.WBSElementInternalID <> '00000000'
[0..*] I_ProfitCenterText _ProfitCenterText _ProfitCenterText.ProfitCenter = $projection.ProfitCenter and _ProfitCenterText.ControllingArea = $projection.ControllingArea and _ProfitCenterText.ValidityEndDate > $session.system_date and _ProfitCenterText.ValidityStartDate < $session.system_date
[0..*] I_InvestmentProfileText _InvestmentProfileText $projection.InvestmentProfile = _InvestmentProfileText.InvestmentProfile
[0..*] I_FactoryCalendarText _FactoryCalendarText $projection.FactoryCalendar = _FactoryCalendarText.FactoryCalendar
[0..*] I_CostingSheetProcedureText _CostingSheetProcedureText _CostingSheetProcedureText.CostingSheetProcedure = $projection.CostingSheet

Annotations (14)

NameValueLevelField
AbapCatalog.sqlViewName CENTPROJMCHG view
AbapCatalog.compiler.compareFilter true view
AbapCatalog.preserveKey true view
EndUserText.label Enterprise Project for Mass Change view
AccessControl.authorizationCheck #CHECK view
AccessControl.personalData.blocking #BLOCKED_DATA_EXCLUDED view
ClientHandling.algorithm #SESSION_VARIABLE view
ObjectModel.representativeKey ProjectUUID view
ObjectModel.usageType.serviceQuality #D view
ObjectModel.usageType.dataClass #MIXED view
ObjectModel.usageType.sizeCategory #L view
ObjectModel.updateEnabled true view
VDM.viewType #CONSUMPTION view
Metadata.allowExtensions true view

Fields (65)

KeyFieldSource TableSource FieldDescription
KEY ProjectUUID ProjectUUID
EntProjMassChangeRequestUUID
WBSElementInternalID WBSElementInternalID
ProjectSummaryTaskUUID ProjectSummaryTaskUUID
Project Project
ProjectName ProjectName
ProjectProfileCode ProjectProfileCode
ProjectProfileCodeText Project Profile Code Text
ProjectManagerUUID ProjectManagerUUID
ProcessingStatus ProcessingStatus
ResponsibleCostCenter ResponsibleCostCenter
ResponsibleCostCenterName Responsible Cost Center Name
ProfitCenter ProfitCenter
ProfitCenterName
ControllingArea ControllingArea
ControllingAreaName _ControllingArea ControllingAreaName
CreatedByUser CreatedByUser
CreatedByUserName _CreatedByUser FullName
CreationDateTime CreationDateTime
LastChangedByUser LastChangedByUser Changed By
LastChangeDateTime Last Changed On
Plant Plant
PlantName
PlannedStartDate ProjectStartDate
PlannedEndDate ProjectEndDate
ActualStartDate ActualStartDate
ActualEndDate ActualEndDate
InvestmentProfileName
InvestmentProfile InvestmentProfile
CompanyCode CompanyCode
CompanyCodeName
CostCenter CostCenter Default Cost Center for Postings
CostingSheet CostingSheet
CostingSheetProcedureDesc Costing Sheet Procedure Description
FactoryCalendar FactoryCalendar
FactoryCalendarName
FunctionalArea FunctionalArea
FunctionalAreaName
PriorityCode PriorityCode
IsBillingRelevant IsBillingRelevant
EnterpriseProjectType EnterpriseProjectType Project Type
ProjectTypeName Project Type Description
FixedAssetExternalID _FixedAsset FixedAssetExternalID
_FactoryCalendarText _FactoryCalendarText
_ControllingArea _ControllingArea
_CostingSheetProcedureText _CostingSheetProcedureText
_FunctionalArea _FunctionalArea
_Plant _Plant
_ProjectProfileCode _ProjectProfileCode
_EnterpriseProjectType _EnterpriseProjectType
_ResponsibleCostCenterText _ResponsibleCostCenterText
_ProjObjRoot _ProjObjRoot
_ProcessingStatus _ProcessingStatus
_ProcessingStatusText _ProcessingStatusText
_Manager _Manager
_CreatedByUser _CreatedByUser
_AuthUser _AuthUser
_AuthSubst _AuthSubst
_AuthRole _AuthRole
_AuthGroup _AuthGroup
_ProfitCenterText _ProfitCenterText
_TeamMember _TeamMember
_Priority _Priority
_PriorityText _PriorityText
_InvestmentProfileText _InvestmentProfileText
@AbapCatalog.sqlViewName: 'CENTPROJMCHG'
@AbapCatalog.compiler.compareFilter: true
@AbapCatalog.preserveKey: true
@EndUserText.label: 'Enterprise Project for Mass Change'

@AccessControl: {
    authorizationCheck:     #CHECK,
    personalData.blocking:  #BLOCKED_DATA_EXCLUDED
}

@ClientHandling.algorithm: #SESSION_VARIABLE

@ObjectModel: {
   semanticKey:       [ 'Project' ],
   representativeKey: 'ProjectUUID',
   usageType: {
       serviceQuality:  #D,
       dataClass:       #MIXED,
       sizeCategory:    #L
   },
   updateEnabled: true
} 

@VDM.viewType: #CONSUMPTION

@Metadata.allowExtensions: true

define view C_EntProjectMassChange
  as select from I_PPM_Project
  association [0..1] to C_PPM_ProjectMemberContactCard as _Manager                 on  _Manager.BusinessPartnerUUID = $projection.ProjectManagerUUID
  association [0..*] to I_CostCenterText               as _ResponsibleCostCenterText   on  _ResponsibleCostCenterText.CostCenter        = $projection.ResponsibleCostCenter
                                                                                       and _ResponsibleCostCenterText.ControllingArea   = $projection.ControllingArea
                                                                                       and _ResponsibleCostCenterText.ValidityEndDate   > $session.system_date
                                                                                       and _ResponsibleCostCenterText.ValidityStartDate < $session.system_date
  association [0..1] to I_UserContactCard              as _CreatedByUser           on  _CreatedByUser.ContactCardID = $projection.CreatedByUser
  association [1..1] to E_PPM_Project                  as _ProjectHeaderExtension  on  $projection.ProjectUUID = _ProjectHeaderExtension.ProjectUUID
  association [0..1] to C_PPM_TeamMemberSearchHelp     as _TeamMember              on  _TeamMember.BusinessPartnerUUID = $projection.ProjectManagerUUID
  association [0..*] to I_FixedAsset                   as _FixedAsset              on  _FixedAsset.InvestmentProjectWBSElement =  $projection.WBSElementInternalID
                                                                                   and $projection.WBSElementInternalID        <> '00000000'
  association [0..*] to I_ProfitCenterText             as _ProfitCenterText            on  _ProfitCenterText.ProfitCenter      = $projection.ProfitCenter
                                                                                       and _ProfitCenterText.ControllingArea   = $projection.ControllingArea
                                                                                       and _ProfitCenterText.ValidityEndDate   > $session.system_date
                                                                                       and _ProfitCenterText.ValidityStartDate < $session.system_date
  association [0..*] to I_InvestmentProfileText        as _InvestmentProfileText   on  $projection.InvestmentProfile = _InvestmentProfileText.InvestmentProfile
  association [0..*] to I_FactoryCalendarText          as _FactoryCalendarText     on  $projection.FactoryCalendar = _FactoryCalendarText.FactoryCalendar
  association [0..*] to I_CostingSheetProcedureText    as _CostingSheetProcedureText   on  _CostingSheetProcedureText.CostingSheetProcedure = $projection.CostingSheet
{
      @ObjectModel.readOnly: true
  key ProjectUUID,

      @ObjectModel.virtualElement
      @ObjectModel.filter.transformedBy: 'CL_PPM_PRO_MASS_CHANGE_SADL_EX'
      @ObjectModel: { readOnly: true }
      @UI.hidden: true
      hextobin( '00000000000000000000000000000000' )                                        as EntProjMassChangeRequestUUID,
      
      @ObjectModel.readOnly: true
      WBSElementInternalID,

      @ObjectModel.readOnly: true
      ProjectSummaryTaskUUID,

      @Consumption.valueHelpDefinition: [
        { entity:  { name:   'C_EnterpriseProjectVH',
                     element: 'Project' }
        }]
      @ObjectModel: {
       text: {
         element: [ 'ProjectName' ]
       }
       
      }
      Project,

      @Consumption.valueHelpDefinition: [
        { entity:  { name:   'C_EnterpriseProjectVH',
                     element: 'Project' }
        }]
      ProjectName,

      @Consumption.valueHelpDefinition: [
        { entity:  { name:   'C_PPM_ProjectProfileVH',
                     element: 'ProjectProfileCode' }
        }]
      @ObjectModel: {
       text: {
        element: [ 'ProjectProfileCodeText' ]
       } 
      }
      ProjectProfileCode,

      @Consumption.filter.hidden: true
      @ObjectModel.readOnly: true
      @EndUserText.label: 'Project Profile Code Text'
      _ProjectProfileCode._Text[1: Language = $session.system_language].ProjectProfileCodeText     as ProjectProfileCodeText,

      /*@ObjectModel: {
        foreignKey.association: '',
        text.association: ''
      }*/
      @UI.hidden: true
      ProjectManagerUUID,

      @ObjectModel: {
       readOnly: true,
       text: {
        association: [ '_ProcessingStatusText' ]
       }
      }
      ProcessingStatus,

      @Consumption.valueHelpDefinition: [{ entity :{
           name    : 'I_CostCenterStdVH',
           element : 'CostCenter'
       }}]
      @ObjectModel: {
       text: {
        element: [ 'ResponsibleCostCenterName' ]
       }
      }
      ResponsibleCostCenter,

      @Consumption.filter.hidden: true
      @EndUserText.label: 'Responsible Cost Center Name'
      @ObjectModel.readOnly: true
      _ResponsibleCostCenterText[1: Language = $session.system_language].CostCenterName as ResponsibleCostCenterName,

      @ObjectModel: {
       text: {
         element: [ 'ProfitCenterName' ]
       }
      }
      ProfitCenter,

      _ProfitCenterText[1: Language = $session.system_language].ProfitCenterName,

      @Consumption.valueHelpDefinition: [{ entity :{
           name    : 'C_ControllingAreaVH',
           element : 'ControllingArea'
       }}]
      @ObjectModel: {
        text: {
          element: [ 'ControllingAreaName' ]
        }
      }       
      ControllingArea,
      
      @Consumption.filter.hidden: true
      @ObjectModel.readOnly: true
      _ControllingArea.ControllingAreaName,      

      @Consumption.filter.hidden: true
      @ObjectModel: {
       text: {
        element: [ 'CreatedByUserName' ]
       },
       foreignKey: {
         association: '_CreatedByUser'
       }
      }
      CreatedByUser,

      @Consumption.filter.hidden: true
      @Semantics.text: true
      _CreatedByUser.FullName                                                               as CreatedByUserName,

      @Consumption.filter.hidden: true
      CreationDateTime,

      @Consumption.filter.hidden: true
      @EndUserText.label: 'Changed By'
      LastChangedByUser,

      @Consumption.filter.hidden: true
      @EndUserText.label: 'Last Changed On'
      cast(LastChangeDateTime as /s4ppm/tv_changed_on preserving type)                      as LastChangeDateTime,

      @Consumption.valueHelpDefinition: [{ entity :{
           name    : 'I_PlantStdVH',
           element : 'Plant'
       }}]
      @ObjectModel: {
        text: {
          element: [ 'PlantName' ]
        }
      }         
      Plant,
 
      @Consumption.filter.hidden: true
      @ObjectModel.readOnly: true
      _Plant[1: Language = $session.system_language].PlantName,
 
      //@Consumption.filter.hidden: true

      ProjectStartDate                                                                      as PlannedStartDate,

      //@Consumption.filter.hidden: true

      ProjectEndDate                                                                        as PlannedEndDate,
      
      //CE2011 ACTUAL DATES

      //@Consumption.filter.hidden: true

      @Consumption.filter: { selectionType: #INTERVAL, multipleSelections: false }
      ActualStartDate,
      //@Consumption.filter.hidden: true

      @Consumption.filter: { selectionType: #INTERVAL, multipleSelections: false }
      ActualEndDate,
      //CE2011 ACTUAL DATES

      
      @Consumption.filter.hidden: true
      @ObjectModel.readOnly: true
      _InvestmentProfileText[1: Language = $session.system_language].InvestmentProfileName,

      @Consumption.valueHelpDefinition: [{ entity : {name: 'I_InvestmentProfile', element: 'InvestmentProfile'  } }]
      @ObjectModel: {

         foreignKey: {
            association: '_InvestmentProfVH'
         },
         text: {
            element: [ 'InvestmentProfileName' ]
         }
      }
      InvestmentProfile,

      @Consumption.filter.hidden: true
      @ObjectModel: {
       text: {
         element: [ 'CompanyCodeName' ]
       }
      }
      CompanyCode,

      _CompanyCode[1: Language = $session.system_language].CompanyCodeName,

      @Consumption.filter.hidden: true
      @EndUserText.label: 'Default Cost Center for Postings'
      CostCenter,

      @Consumption.filter.hidden: true
      @ObjectModel: {
         text: {
           element: [ 'CostingSheetProcedureDesc' ]
         }
      }      
      CostingSheet,
      
      @Consumption.filter.hidden: true
      @ObjectModel.readOnly: true
      @EndUserText.label: 'Costing Sheet Procedure Description'
      _CostingSheetProcedureText[1: Language = $session.system_language].CostingSheetProcedureDesc                                     as CostingSheetProcedureDesc,


      @Consumption.filter.hidden: true
      @ObjectModel: {
        text: {
          element: [ 'FactoryCalendarName' ]
        }
      }      
      FactoryCalendar,

      @Consumption.filter.hidden: true
      @ObjectModel.readOnly: true
      _FactoryCalendarText[1: Language = $session.system_language].FactoryCalendarName,

      @Consumption.filter.hidden: true
      @ObjectModel: {
         text: {
           element: [ 'FunctionalAreaName' ]
         }
      }        
      FunctionalArea,
      
      @Consumption.filter.hidden: true
      @ObjectModel.readOnly: true
      _FunctionalArea._Text[1:Language = $session.system_language].FunctionalAreaName        as FunctionalAreaName,      

      @Consumption.valueHelpDefinition: [{ entity : {name: 'C_EnterpriseProjectPriorityVH', element: 'PriorityCode'  }}]
      @ObjectModel.text.control: #('ASSOCIATED_TEXT_UI_HIDDEN')
      PriorityCode,

      //@Consumption.filter.hidden: true

      IsBillingRelevant,

      @ObjectModel: {
       text: {
        element: [ 'ProjectTypeName' ]
        }
       }
      @Consumption.valueHelpDefinition: [{ entity : {name: 'I_Projecttype', element: 'ProjectType' } }]
      @UI.textArrangement: #TEXT_ONLY
      @EndUserText.label: 'Project Type'
      EnterpriseProjectType,
      @EndUserText.label: 'Project Type Description'
      _EnterpriseProjectTypeText[1:Language = $session.system_language].ProjectTypeName     as ProjectTypeName,

      @EndUserText: {
       label: 'Asset Under Construction ID'
      }
      @ObjectModel.readOnly: true
      _FixedAsset.FixedAssetExternalID,

      @Consumption.filter.hidden: true
      _FactoryCalendarText,
      
      @Consumption.filter.hidden: true
      _ControllingArea,
      
      @Consumption.filter.hidden: true
      _CostingSheetProcedureText,
      
      @Consumption.filter.hidden: true
      _FunctionalArea,
      
      @Consumption.filter.hidden: true
      _Plant,                        
      
      @Consumption.filter.hidden: true
      _ProjectProfileCode,
      @Consumption.filter.hidden: true
      _EnterpriseProjectType,
      @Consumption.filter.hidden: true
      _ResponsibleCostCenterText,
      @Consumption.filter.hidden: true
      _ProjObjRoot,
      @Consumption.filter.hidden: true
      _ProcessingStatus,
      @Consumption.filter.hidden: true
      _ProcessingStatusText,
      @Consumption.filter.hidden: true
      _Manager,
      @Consumption.filter.hidden: true
      _CreatedByUser,
      @Consumption.filter.hidden: true
      _AuthUser,
      @Consumption.filter.hidden: true
      _AuthSubst,
      @Consumption.filter.hidden: true
      _AuthRole,
      @Consumption.filter.hidden: true
      _AuthGroup,
      @Consumption.filter.hidden: true
      _ProfitCenterText,
      _TeamMember,
      _Priority,
      @Consumption.filter.hidden: true
      _PriorityText,
      @Consumption.filter.hidden: true
      _InvestmentProfileText
}