@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..1] to C_PPM_ProjectProfileVH as _ProjectProfileVH on _ProjectProfileVH.ProjectProfileCode = $projection.ProjectProfileCode
association [0..1] to I_CostCenterStdVH as _ResponsibleCostCenterVH on _ResponsibleCostCenterVH.CostCenter = $projection.ResponsibleCostCenter
and _ResponsibleCostCenterVH.ControllingArea = $projection.ControllingArea
and _ResponsibleCostCenterVH.ValidityEndDate > $session.system_date
and _ResponsibleCostCenterVH.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..1] to I_FixedAsset as _FixedAsset on _FixedAsset.InvestmentProjectWBSElement = WBSElementInternalID
and $projection.WBSElementInternalID <> '00000000'
association [0..1] to I_ProfitCenterStdVH as _ProfitCenterVH on _ProfitCenterVH.ProfitCenter = $projection.ProfitCenter
and _ProfitCenterVH.ControllingArea = $projection.ControllingArea
and _ProfitCenterVH.ValidityEndDate > $session.system_date
and _ProfitCenterVH.ValidityStartDate < $session.system_date
association [0..1] to I_InvestmentProfile as _InvestmentProfVH on _InvestmentProfVH.InvestmentProfile = $projection.InvestmentProfile
association [0..1] to C_FactoryCalendarValueHelp as _FactoryCalendarVH on _FactoryCalendarVH.FactoryCalendar = $projection.FactoryCalendar
association [0..1] to I_ControllingArea as _ControllingArea on _ControllingArea.ControllingArea = $projection.ControllingArea
association [0..*] to I_CostingSheetProcedureVH as _CostingSheetProcedureVH on _CostingSheetProcedureVH.CostingSheetProcedure = $projection.CostingSheet
association [0..1] to C_MM_FunctionalAreaValueHelp as _FunctionalAreaVH on _FunctionalAreaVH.FunctionalArea = $projection.FunctionalArea
association [0..1] to C_PlantVH as _PlantVH on _PlantVH.Plant = $projection.Plant
{
@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.valueHelp: '_ProjectProfileVH'
@ObjectModel: {
foreignKey: {
association: '_ProjectProfileVH'
},
text: {
element: [ 'ProjectProfileCodeText' ]
}
}
ProjectProfileCode,
@Consumption.filter.hidden: true
@ObjectModel.readOnly: true
_ProjectProfileVH.ProjectProfileCodeText,
/*@ObjectModel: {
foreignKey.association: '',
text.association: ''
}*/
@UI.hidden: true
ProjectManagerUUID,
@ObjectModel: {
readOnly: true,
text: {
association: [ '_ProcessingStatusText' ]
}
}
ProcessingStatus,
@Consumption.valueHelp: '_ResponsibleCostCenterVH'
@ObjectModel: {
foreignKey: {
association: '_ResponsibleCostCenterVH'
},
text: {
element: [ 'ResponsibleCostCenterName' ]
}
}
ResponsibleCostCenter,
@Consumption.filter.hidden: true
@EndUserText.label: 'Responsible Cost Center Name'
@ObjectModel.readOnly: true
_ResponsibleCostCenterVH._Text[1: Language = $session.system_language].CostCenterName as ResponsibleCostCenterName,
@ObjectModel: {
text: {
element: [ 'ProfitCenterName' ]
}
}
ProfitCenter,
_ProfitCenterVH._Text[1:Language = $session.system_language].ProfitCenterName,
@Consumption.valueHelpDefinition: [{ entity :{
name : 'C_ControllingAreaVH',
element : 'ControllingArea'
}}]
@ObjectModel: {
text: {
element: [ 'ControllingAreaName' ]
}
}
ControllingArea,
@UI.hidden: true
@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,
@UI.hidden: true
@Consumption.filter.hidden: true
@ObjectModel.readOnly: true
_PlantVH.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
_InvestmentProfVH.InvestmentProfileName,
@Consumption: {
valueHelp: '_InvestmentProfVH',
filter.hidden: true
}
@ObjectModel: {
foreignKey: {
association: '_InvestmentProfVH'
},
text: {
element: [ 'InvestmentProfileName' ]
}
}
InvestmentProfile,
@Consumption.filter.hidden: true
@ObjectModel: {
text: {
element: [ 'CompanyCodeName' ]
}
}
CompanyCode,
@UI.hidden: true
_CompanyCode.CompanyCodeName,
@Consumption.filter.hidden: true
@EndUserText.label: 'Default Cost Center for Postings'
CostCenter,
@Consumption.filter.hidden: true
@ObjectModel: {
text: {
element: [ 'CostingSheetProcedureDesc' ]
}
}
CostingSheet,
@UI.hidden: true
@Consumption.filter.hidden: true
@ObjectModel.readOnly: true
_CostingSheetProcedureVH.CostingSheetProcedureDesc as CostingSheetProcedureDesc,
@Consumption.filter.hidden: true
@ObjectModel: {
text: {
element: [ 'FactoryCalendarName' ]
}
}
FactoryCalendar,
@UI.hidden: true
@Consumption.filter.hidden: true
@ObjectModel.readOnly: true
_FactoryCalendarVH._Text[1: Language = $session.system_language].FactoryCalendarName,
@Consumption.filter.hidden: true
@ObjectModel: {
text: {
element: [ 'FunctionalAreaName' ]
}
}
FunctionalArea,
@UI.hidden: true
@Consumption.filter.hidden: true
@ObjectModel.readOnly: true
_FunctionalAreaVH.FunctionalAreaName as FunctionalAreaName,
@Consumption.valueHelp: '_Priority'
@ObjectModel.text.control: #('ASSOCIATED_TEXT_UI_HIDDEN')
PriorityCode,
//@Consumption.filter.hidden: true
IsBillingRelevant,
@ObjectModel: {
text: {
element: [ 'ProjectTypeName' ]
}
}
@UI.textArrangement: #TEXT_ONLY
@EndUserText.label: 'Project Type'
EnterpriseProjectType,
_EnterpriseProjectTypeText[1:Language = $session.system_language].ProjectTypeName as ProjectTypeName,
@EndUserText: {
label: 'Asset Under Construction ID'
}
@ObjectModel.readOnly: true
_FixedAsset.FixedAssetExternalID,
@Consumption.filter.hidden: true
_FactoryCalendarVH,
@Consumption.filter.hidden: true
_ControllingArea,
@Consumption.filter.hidden: true
_CostingSheetProcedureVH,
@Consumption.filter.hidden: true
_FunctionalAreaVH,
@Consumption.filter.hidden: true
_PlantVH,
@Consumption.filter.hidden: true
_ProjectProfileVH,
@Consumption.filter.hidden: true
_EnterpriseProjectType,
@Consumption.filter.hidden: true
_ResponsibleCostCenterVH,
@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
_ProfitCenter,
_TeamMember,
_Priority,
@Consumption.filter.hidden: true
_PriorityText,
@Consumption.filter.hidden: true
_InvestmentProfVH
}
/*+[internal] {
"BASEINFO":
{
"FROM":
[
"C_FACTORYCALENDARVALUEHELP",
"C_MM_FUNCTIONALAREAVALUEHELP",
"C_PLANTVH",
"C_PPM_PROJECTPROFILEVH",
"I_COMPANYCODE",
"I_CONTROLLINGAREA",
"I_COSTCENTERSTDVH",
"I_COSTCENTERTEXT",
"I_COSTINGSHEETPROCEDUREVH",
"I_FACTORYCALENDARTEXT",
"I_FIXEDASSET",
"I_INVESTMENTPROFILE",
"I_PPM_PROJECT",
"I_PROFITCENTERSTDVH",
"I_PROFITCENTERTEXT",
"I_PROJECTTYPETEXT",
"I_USERCONTACTCARD"
],
"ASSOCIATED":
[
"C_FACTORYCALENDARVALUEHELP",
"C_MM_FUNCTIONALAREAVALUEHELP",
"C_PLANTVH",
"C_PPM_PROJECTMEMBERCONTACTCARD",
"C_PPM_PROJECTPROFILEVH",
"C_PPM_TEAMMEMBERSEARCHHELP",
"E_PPM_PROJECT",
"I_CONTROLLINGAREA",
"I_COSTCENTERSTDVH",
"I_COSTINGSHEETPROCEDUREVH",
"I_FIXEDASSET",
"I_INVESTMENTPROFILE",
"I_PPM_AUTHZNBYSUBSTITH",
"I_PPM_AUTHZNBYUSERROLEH",
"I_PPM_AUTHZNBYUSRGRPH",
"I_PPM_AUTHZNBYUSRH",
"I_PPM_PRIORITY",
"I_PPM_PRIORITYTEXT",
"I_PPM_PROCESSINGSTATUSTEXT",
"I_PPM_PROJECTPROCGSTATUSVH",
"I_PROFITCENTER",
"I_PROFITCENTERSTDVH",
"I_PROJECTTYPE",
"I_USERCONTACTCARD",
"I_WBSELEMENTBASICDATA"
],
"BASE":
[
"I_PPM_PROJECT"
],
"ANNO_REF":
[],
"SCALAR_FUNCTION":
[],
"VERSION":0,
"ANNOREF_EVALUATION_ERROR":""
}
}*/