C_EnterpriseProjectControlTP

DDL: C_ENTERPRISEPROJECTCONTROLTP Type: view_entity CONSUMPTION

Enterprise Project Control

C_EnterpriseProjectControlTP is a Consumption CDS View that provides data about "Enterprise Project Control" in SAP S/4HANA. It reads from 1 data source (I_EnterpriseProjectTP_2) and exposes 64 fields with key field ProjectUUID. It has 2 associations to related views.

Data Sources (1)

SourceAliasJoin Type
I_EnterpriseProjectTP_2 I_EnterpriseProjectTP_2 projection

Associations (2)

CardinalityTargetAliasCondition
[1..1] E_PPM_Project _ProjectHeaderExtension $projection.ProjectUUID = _ProjectHeaderExtension.ProjectUUID
[0..1] C_EntProjWrkPckgProjectStatus _QuickViewStatus _QuickViewStatus.TaskUUID = $projection.ProjectSummaryTaskUUID

Annotations (10)

NameValueLevelField
AccessControl.authorizationCheck #CHECK view
AccessControl.personalData.blocking #BLOCKED_DATA_EXCLUDED view
VDM.viewType #CONSUMPTION view
ObjectModel.usageType.dataClass #MASTER view
ObjectModel.usageType.serviceQuality #C view
ObjectModel.usageType.sizeCategory #XL view
Search.searchable true view
Metadata.allowExtensions true view
EndUserText.label Enterprise Project Control view
OData.entitySet.name C_PPM_ProjectControlTP view

Fields (64)

KeyFieldSource TableSource FieldDescription
KEY ProjectUUID ProjectUUID
ProjectSummaryTaskUUID ProjectSummaryTaskUUID
ProjectInternalID ProjectInternalID
WBSElementInternalID WBSElementInternalID
ProjectTemplateUUID ProjectTemplateUUID
Project Project
ProjectName ProjectDescription
ProjectProfileCode ProjectProfileCode
EntProjIsMultiSlsOrdItmsEnbld EntProjIsMultiSlsOrdItmsEnbld
EnterpriseProjectServiceOrg EnterpriseProjectServiceOrg
ProjectCategory ProjectCategory
ProjectObject ProjectObject
WBSElementObject WBSElementObject
LeadingSalesOrder LeadingSalesOrder
LeadingSalesOrderItem LeadingSalesOrderItem
ResultAnalysisInternalID ResultAnalysisInternalID
ProcessingStatus ProcessingStatus
ProcessingStatusText
PriorityCode PriorityCode
EnterpriseProjectType EnterpriseProjectType
EntProjectSettlementType EntProjectSettlementType
EntProjectSettlementElement EntProjectSettlementElement
ProjectStartDate ProjectStartDate
ProjectEndDate ProjectEndDate
FactoryCalendar FactoryCalendar
ActualStartDate ActualStartDate
ActualEndDate ActualEndDate
char2
ResponsibleCostCenter ResponsibleCostCenter
ProfitCenter ProfitCenter
ProfitCenterNameasProfitCenterName
ControllingArea ControllingArea
ControllingAreaName _ControllingArea ControllingAreaName
ControllingAreaCurrency _ControllingArea ControllingAreaCurrency
CompanyCode CompanyCode
CompanyCodeName _CompanyCode CompanyCodeName
Plant Plant
PlantName _Plant PlantName
Location Location
LocationName _Location LocationName
TaxJurisdiction TaxJurisdiction
FunctionalLocation
FunctionalArea FunctionalArea
ProjectCurrency ProjectCurrency
CostingSheet CostingSheet
CostingSheetProcedureDesc _CostingSheetProcedure CostingSheetProcedureDesc
CostCenter CostCenter
CostCenterNameasCostCenterName
IsBillingRelevant IsBillingRelevant
IsStatistical IsStatistical
InvestmentProfile InvestmentProfile
virtualIsMyProjectabap_boolean
CreatedByUser CreatedByUser
CreatedByUserName _CreatedByUser FullName
CreationDateTime CreationDateTime
LastChangedByUser LastChangedByUser
LastChangeDateTime LastChangeDateTime
AvailabilityControlProfile AvailabilityControlProfile
AvailabilityControlIsActive AvailabilityControlIsActive
EntProjectObjectWorkflowStatus _EntProjWorkflowOverview EntProjectObjectWorkflowStatus
EntProjObjWorkflowStatusText _EntProjWorkflowOverview EntProjObjWorkflowStatusText
EntProjectIsConfidential EntProjectIsConfidential
EntProjHasProjectStockEnabled EntProjHasProjectStockEnabled
_QuickViewStatus _QuickViewStatus
@AccessControl: {
    authorizationCheck:     #CHECK,
    personalData.blocking:  #BLOCKED_DATA_EXCLUDED
}
@VDM.usage.type:[#TRANSACTIONAL_PROCESSING_SERVICE]
@VDM.viewType: #CONSUMPTION
@ObjectModel: {

    usageType: {
      dataClass:       #MASTER,
      serviceQuality:  #C,
      sizeCategory:    #XL
    }
}
@UI.presentationVariant:[ {
    requestAtLeast:  [ 'EntProjectIsDraftMigrated' ]
 } ]

//@Metadata.ignorePropagatedAnnotations: true

@Search.searchable: true
@Metadata.allowExtensions: true
@EndUserText.label: 'Enterprise Project Control'
@OData.entitySet.name : 'C_PPM_ProjectControlTP'
define root view entity C_EnterpriseProjectControlTP
  provider contract transactional_query
  as projection on I_EnterpriseProjectTP_2 as EnterpriseProject
  association [1..1] to E_PPM_Project                 as _ProjectHeaderExtension on $projection.ProjectUUID = _ProjectHeaderExtension.ProjectUUID
  association [0..1] to C_EntProjWrkPckgProjectStatus as _QuickViewStatus        on _QuickViewStatus.TaskUUID = $projection.ProjectSummaryTaskUUID
{
                 @UI.hidden: true
  key            ProjectUUID,

                 @ObjectModel: { text: { element: [ 'ProcessingStatusText' ] }, foreignKey.association: '_QuickViewStatus' }
                 @Consumption.filter.hidden: true
                 ProjectSummaryTaskUUID,

                 ProjectInternalID,

                 WBSElementInternalID,

                 ProjectTemplateUUID,

                 @Search: { defaultSearchElement: true,
                            fuzzinessThreshold: 1.0,
                            ranking: #HIGH }
                 @ObjectModel:{ text: { element: [ 'ProjectName' ] } }
                 @Consumption.valueHelpDefinition: [{ entity : {name: 'C_EnterpriseProjectVH', element: 'Project'  } } ]
                 Project,

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

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

                 @Consumption.filter.hidden: true
                 @UI.hidden: true
                 _ProjectProfileText.ProjectProfileCodeText                                                                        as ProjectProfileCodeText         : localized,

                 @Consumption.filter.hidden: true
                 EntProjIsMultiSlsOrdItmsEnbld,

                 @Consumption.filter.hidden: true
                 @UI.hidden: true
                 EnterpriseProjectServiceOrg,

                 ProjectCategory,

                 ProjectObject,

                 @Consumption.semanticObject: 'Project'
                 @UI.hidden: true
                 WBSElementObject,

                 @Consumption.filter.hidden: true
                 LeadingSalesOrder,

                 @Consumption.filter.hidden: true
                 LeadingSalesOrderItem,

                 @Consumption.filter.hidden: true
                 @Consumption.valueHelpDefinition: [{ entity : {name: 'I_ResultsAnalysisKeyValueHelp', element: 'ResultAnalysisInternalID'  } }]
                 ResultAnalysisInternalID,

                 @Consumption.semanticObject: 'ProjectProcessingStatus'
                 @Consumption.valueHelpDefinition: [{ entity : {name: 'I_PPM_ProjectProcgStatusVH', element: 'ProcessingStatus'  } }]
                 ProcessingStatus,

                 @Consumption.filter.hidden: true
                 _ProcessingStatusText[1: Language = $session.system_language ].ProcessingStatusText,

                 @Consumption.valueHelpDefinition: [{ entity : {name: 'C_EnterpriseProjectPriorityVH', element: 'PriorityCode'  }, label: 'Priorty Value Help' }]
                 @ObjectModel: { text: { element: [ 'PriorityCodeName' ] } }
                 PriorityCode,

                 @UI.hidden: true
                 _PriorityText.PriorityCodeName                                                                                    as PriorityCodeName               : localized,

                 @Consumption.valueHelpDefinition: [{ entity : {name: 'I_Projecttype', element: 'ProjectType' } }]
                 @ObjectModel: { text: { element: [ 'ProjectTypeName' ] } }
                 EnterpriseProjectType,

                 @Consumption.filter.hidden: true
                 @UI.hidden: true
                 _EnterpriseProjectTypeText.ProjectTypeName                                                                        as ProjectTypeName                : localized,

                 @UI.textArrangement: #TEXT_ONLY
                 @EndUserText.quickInfo: 'Enterprise Project Settlement Rule'
                 @ObjectModel: { text: { element: [ 'SettlementTypeText' ] } }
                 EntProjectSettlementType,

                 _EntProjectSettlementTypeText.SettlementTypeText                                                                  as SettlementTypeText             : localized,

                 @Consumption.filter.hidden: true
                 EntProjectSettlementElement,

                 ProjectStartDate,

                 ProjectEndDate,

                 @Consumption.valueHelpDefinition: [{ entity : {name: 'C_FactoryCalendarValueHelp', element: 'FactoryCalendar'  } }]
                 @Consumption.filter.hidden: true
                 FactoryCalendar,

                 ActualStartDate,

                 ActualEndDate,

                 @ObjectModel.virtualElement: true
                 @ObjectModel.virtualElementCalculatedBy: 'ABAP:CL_S4PPM_PRO_CON_DATAMODEL'
                 @Consumption.filter.hidden: true
                 @UI.hidden: true
  virtual        EntProjectDataModelVersion  : abap.char(2),

                 @UI.hidden: true
                 @ObjectModel.virtualElement: true
                 @ObjectModel.virtualElementCalculatedBy: 'ABAP:CL_EPPM_BRIEF_ISDRAFTMIGRATED'
  virtual        EntProjectIsDraftMigrated   : abap_boolean,

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

                 @Consumption.filter.hidden: true
                 @UI.hidden: true
                 _ResponsibleCostCenter[1: ValidityEndDate >= $session.system_date
                    and ValidityStartDate <= $session.system_date ]._Text[1: Language = $session.system_language ].CostCenterName  as ResponsibleCostCenterName,

                 @ObjectModel: { text: { element: [ 'ProfitCenterName' ] } }
                 //          @Consumption.valueHelpDefinition: [{ entity : {name: 'C_EntProjProfitCenterVH', element: 'ProfitCenter'  } }]

                 @Consumption.valueHelpDefinition: [{ entity : {name: 'I_ProfitCenterStdVH', element: 'ProfitCenter'  } }]
                 ProfitCenter,

                 @UI.hidden: true
                 @Consumption.filter.hidden: true
                 _ProfitCenter[1: ValidityEndDate >= $session.system_date
                   and ValidityStartDate <= $session.system_date ]._Text[1: Language = $session.system_language ].ProfitCenterName as ProfitCenterName,

                 @Consumption.valueHelpDefinition: [{ entity : {name: 'C_EntProjControllingAreaVH', element: 'ControllingArea' } }]
                 @ObjectModel: { text: { element: [ 'ControllingAreaName' ] } }
                 ControllingArea,

                 @UI.hidden: true
                 @Consumption.filter.hidden: true
                 _ControllingArea.ControllingAreaName,

                 @Consumption.filter.hidden: true
                 @UI.hidden: true
                 _ControllingArea.ControllingAreaCurrency,

                 @Consumption.valueHelpDefinition: [{ entity : {name: 'I_CompanyCodeStdVH', element: 'CompanyCode'  } }]
                 @ObjectModel.text.element: ['CompanyCodeName']
                 CompanyCode,

                 @UI.hidden: true
                 @Consumption.filter.hidden: true
                 _CompanyCode.CompanyCodeName                                                                                      as CompanyCodeName,

                 @Consumption.valueHelpDefinition: [{ entity : {name: 'C_PlantVH', element: 'Plant'  } }]
                 @ObjectModel.text.element: ['PlantName']
                 Plant,

                 @UI.hidden: true
                 @Consumption.filter.hidden: true
                 _Plant.PlantName                                                                                                  as PlantName,

                 @Consumption.valueHelpDefinition: [{ entity : {name: 'C_PPM_ProjectElementLocationVH', element: 'Location' },
                                                      additionalBinding: [{ localElement: 'Plant', element: 'Plant' } ] }]
                 @Feature: 'IDEA_EPPM_SPECIFY_LOCATION'
                 @ObjectModel.text.element: ['LocationName']
                 Location,

                 @Consumption.filter.hidden: true
                 @UI.hidden: true
                 _Location.LocationName                                                                                            as LocationName,

                 @Consumption.valueHelpDefinition: [{ entity:  { name: 'C_EntProjectTaxJurisdictionVH', element: 'TaxJurisdiction' } ,
                                                      additionalBinding: [{ localElement: 'CompanyCode',
                                                                            element: 'CompanyCode',
                                                                            usage: #FILTER}] } ]
                 TaxJurisdiction,

                 @Consumption.valueHelpDefinition: [{ entity: { name: 'I_FunctionalLocationLabelStdVH', element: 'FunctionalLocation' } }]
                 @ObjectModel.text.element: ['FunctionalLocationName']
                 cast ( FunctionalLocation as ps_s4_tplnr preserving type )                                                        as FunctionalLocation,

                 @UI.hidden: true
                 @Consumption.filter.hidden: true
                 _FunctionalLocationText.FunctionalLocationName                                                                    as FunctionalLocationName         : localized,

                 @Consumption.valueHelpDefinition: [{ entity : {name: 'C_MM_FunctionalAreaValueHelp', element: 'FunctionalArea' } }]
                 @ObjectModel.text.element: ['FunctionalAreaName']
                 FunctionalArea,

                 @UI.hidden: true
                 @Consumption.filter.hidden: true
                 _FunctionalAreaText.FunctionalAreaName                                                                            as FunctionalAreaName             : localized,

                 @Consumption.valueHelpDefinition: [{ entity: {name: 'I_Currency', element: 'Currency' }}]
                 @Consumption.filter.hidden: true
                 ProjectCurrency,

                 @Consumption.valueHelpDefinition: [{ entity : {name: 'I_CostingSheetProcedure', element: 'CostingSheetProcedure' } }]
                 @ObjectModel.text.element: ['FunctionalAreaName']
                 CostingSheet,

                 @Consumption.filter.hidden: true
                 _CostingSheetProcedure.CostingSheetProcedureDesc,

                 @Consumption.valueHelpDefinition: [{
                       entity : {name: 'I_CostCenterStdVH', element: 'CostCenter'  },
                       additionalBinding: [
                         { localElement: 'ControllingArea', element: 'ControllingArea' },
                         { localConstant: '> $session.system_date',element: 'ValidityEndDate'}
                 ] }]
                 @ObjectModel: { text: { element: [ 'CostCenterName' ] } }
                 @Consumption.filter.hidden: true
                 CostCenter,

                 @UI.hidden: true
                 @Consumption.filter.hidden: true
                 _CostCenter[1: ValidityEndDate >= $session.system_date
                    and ValidityStartDate <= $session.system_date ]._Text[1: Language = $session.system_language ].CostCenterName  as CostCenterName,

                 @Consumption.filter.hidden: true
                 IsBillingRelevant,

                 @Consumption.filter.hidden: true
                 IsStatistical,

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

                 @UI.hidden: true
                 _InvestmentProfileText.InvestmentProfileName                                                                      as InvestmentProfileName          : localized,

                 @ObjectModel.virtualElement: true
                 @ObjectModel.virtualElementCalculatedBy: 'ABAP:CL_PPM_PROJ_ASSET_EXTERNAL_ID'
  virtual        FixedAssetUsageObjLfcycName : ddtext80,

                 @ObjectModel.virtualElement: true
                 @ObjectModel.filter.transformedBy: 'ABAP:CL_PPM_PROJ_ISMYPROJECT'
                 @ObjectModel.virtualElementCalculatedBy: 'ABAP:CL_PPM_PROJ_ISMYPROJECT'
                 @EndUserText: {
                   label: 'My Project (Project Financial Controller)'                                                                                    ,
                   quickInfo: 'My Project (Project Financial Controller)'  }
  virtual        IsMyProject                 : abap_boolean,


                 //                 @Consumption.valueHelpDefinition: [{ entity : {name: 'I_FundStdVH', element: 'FundName' } }]

                 //                 @ObjectModel: { text: { element: [ 'Fund' ] } }

                 //                 _EntProjectPublicSector.Fund,



                 @UI.fieldGroup: [
                  {
                    qualifier: 'PublicSector',
                    position: 10,
                    value: '_EntProjectPublicSector.Fund',
                    label: 'Fund'
                  },
                  {
                    qualifier: 'PublicSector',
                    position: 20,
                    value: '_EntProjectPublicSector.FundIsFixAssigned',
                    label: 'Fund Fixed Assignment'
                 },
                 {
                    qualifier: 'PublicSector',
                    position: 30,
                    value: '_EntProjectPublicSector.GrantID',
                    label: 'Grant'
                 },
                  {
                    qualifier: 'PublicSector',
                    position: 40,
                    value: '_EntProjectPublicSector.GrantIsFixAssigned',
                    label: 'Grant Fixed Assignment'
                  },
                  {
                    qualifier: 'PublicSector',
                    position: 50,
                    value: '_EntProjectPublicSector.SponsoredProgram',
                    label: 'Sponsored Program'
                  },
                  {
                    qualifier: 'Organization',
                    position: 62,
                    value: '_EntProjectPublicSector.FunctionalAreaIsFixAssigned',
                    label: 'Functional Area Fixed Assignment'
                  }
                 ]
                 
                 @UI.hidden: true
                 @ObjectModel.virtualElement: true
                 @ObjectModel.virtualElementCalculatedBy: 'ABAP:CL_EPPM_PROJECT_VM'
  virtual        EntProjIsPubSecMgmtActive             : abap_boolean,
                 

                 @Consumption.filter.hidden: true
                 @ObjectModel: { text: { element: [ 'CreatedByUserName' ] } }
                 @UI.hidden: true
                 CreatedByUser,
                 @Consumption.filter.hidden: true
                 @UI.hidden: true
                 _CreatedByUser.FullName                                                                                           as CreatedByUserName,

                 @Consumption.filter.hidden: true
                 CreationDateTime,

                 @Consumption.filter.hidden: true
                 LastChangedByUser,

                 @Consumption.filter.hidden: true
                 LastChangeDateTime,

                 @ObjectModel: { text: { element: [ 'AvailabilityControlProfileName' ] } }
                 @Consumption.valueHelpDefinition: [{ entity : {name: 'I_ProjAvailabilityCtrlPrflVH', element: 'AvailabilityControlProfile' } }]
                 @Search: { defaultSearchElement: true, fuzzinessThreshold: 0.8, ranking: #HIGH }
                 @Consumption.filter.hidden: true
                 AvailabilityControlProfile,

                 @UI.hidden: true
                 @Search: { defaultSearchElement: true, fuzzinessThreshold: 0.8, ranking: #HIGH }
                 _AvailabilityCtrlProfileText.AvailabilityControlProfileName                                                       as AvailabilityControlProfileName : localized,

                 @Consumption.filter.hidden: true
                 AvailabilityControlIsActive,

                 @ObjectModel:{ text: { element: [ 'EntProjObjWorkflowStatusText' ] } }
                 @Consumption.valueHelpDefinition: [ { entity: { element: 'EntProjectObjectWorkflowStatus',
                                                       name: 'I_EntProjWorkflowStatus' } } ]
                 _EntProjWorkflowOverview.EntProjectObjectWorkflowStatus                                                           as EntProjectObjectWorkflowStatus,

                 @Consumption.filter.hidden: true
                 _EntProjWorkflowOverview.EntProjObjWorkflowStatusText                                                             as EntProjObjWorkflowStatusText,

                 @Consumption.filter.hidden: true
                 @UI.hidden: true
                 EntProjectIsConfidential,

                 @Consumption.filter.hidden: true
                 EntProjHasProjectStockEnabled,

                 @Consumption.filter.hidden: true
                 _QuickViewStatus,
                 @Consumption.filter.hidden: true
                 _EnterpriseProjectJVA                                                                                                                       : redirected to composition child C_EnterpriseProjectJVATP,
                 @Consumption.filter.hidden: true
                 _EntProjectPublicSector                                                                                                                     : redirected to composition child C_EntProjectPublicSectorTP,
                 @Consumption.filter.hidden: true
                 _EntProjBlkFunc                                                                                                                             : redirected to composition child C_EntProjectBlockFunctionTP,
                 @Consumption.filter.hidden: true
                 _EntProjLongDesc                                                                                                                            : redirected to composition child C_EntProjectLongDescTP,
                 @Consumption.filter.hidden: true
                 _EntProjRoleStaffing                                                                                                                        : redirected to composition child C_EntProjTeamRoleStaffIntTP,
                 @Consumption.filter.hidden: true
                 _EntProjRoleStaffing[1:ProjectRoleType = 'YP_RL_0001']                                                            as _EntProjRoleStaffingPM : redirected to C_EntProjTeamRoleStaffIntTP

}
where
      ProjectProfileCode <> 'YP01'
  and ProjectCategory    <> '7'
/*+[internal] {
"BASEINFO":
{
"FROM":
[
"I_AVAILABILITYCTRLPROFILETEXT",
"I_COMPANYCODE",
"I_CONTROLLINGAREA",
"I_COSTCENTER",
"I_COSTCENTERTEXT",
"I_COSTINGSHEETPROCEDURE",
"I_ENTERPRISEPROJECTTP_2",
"I_ENTPROJECTSETTLEMENTTYPETEXT",
"I_ENTPROJWORKFLOWOVERVIEW",
"I_FUNCTIONALAREATEXT",
"I_FUNCTIONALLOCATIONTEXT",
"I_INVESTMENTPROFILETEXT",
"I_LOCATION",
"I_PLANT",
"I_PPM_PRIORITYTEXT",
"I_PPM_PROCESSINGSTATUSTEXT",
"I_PROFITCENTER",
"I_PROFITCENTERTEXT",
"I_PROJECTPROFILECODETEXT",
"I_PROJECTTYPETEXT",
"I_USERCONTACTCARD"
],
"ASSOCIATED":
[
"C_ENTERPRISEPROJECTJVATP",
"C_ENTPROJECTBLOCKFUNCTIONTP",
"C_ENTPROJECTLONGDESCTP",
"C_ENTPROJECTPUBLICSECTORTP",
"C_ENTPROJTEAMROLESTAFFINTTP",
"C_ENTPROJWRKPCKGPROJECTSTATUS",
"I_ENTERPRISEPROJECTJVATP_2",
"I_ENTPROJECTPUBLICSECTORTP_2",
"R_ENTPROJECTBLOCKFUNCTIONTP_2",
"R_ENTPROJLONGDESCRIPTIONTP",
"R_ENTPROJTEAMROLESTAFFINTTP"
],
"BASE":
[
"I_ENTERPRISEPROJECTTP_2"
],
"ANNO_REF":
[],
"SCALAR_FUNCTION":
[],
"VERSION":0,
"ANNOREF_EVALUATION_ERROR":""
}
}*/