@AbapCatalog.sqlViewName: 'PPROJATTR'
@AbapCatalog.compiler.compareFilter: true
@AbapCatalog.preserveKey: true
@AccessControl.authorizationCheck: #CHECK
@VDM.viewType: #COMPOSITE
@VDM.private: true
@ObjectModel.usageType.serviceQuality: #A
@ObjectModel.usageType.sizeCategory : #M
@ObjectModel.usageType.dataClass: #MASTER
@ClientHandling.algorithm: #SESSION_VARIABLE
define view P_ProjScheduleProjectAttrib
as select from I_Project
association [0..1] to I_StsObjConcatActiveStsILL as _StsObjConcatActiveStsILL on _StsObjConcatActiveStsILL.StatusObject = $projection.ProjectObject
association [1..1] to I_Plant as _Plant on $projection.Plant = _Plant.Plant
association [1..1] to I_CompanyCode as _CompanyCode on $projection.CompanyCode = _CompanyCode.CompanyCode
association [1..1] to I_BusinessArea as _BusinessArea on $projection.BusinessArea = _BusinessArea.BusinessArea
association [1..*] to I_CostCenter as _CostCenter on $projection.CostCenter = _CostCenter.CostCenter
and $projection.ControllingArea = _CostCenter.ControllingArea
association [1..1] to I_ControllingArea as _ControllingArea on $projection.ControllingArea = _ControllingArea.ControllingArea
{
key Project,
ProjectWithCodingMask,
ProjectObject,
case
when I_Project._ProjectShortText.LanguageBasedShortText is not initial
then I_Project._ProjectShortText.LanguageBasedShortText
else ProjectDescription
end as ProjectDescription,
//ProjectDescription,
'PD' as ObjectType,
PlannedStartDate,
PlannedEndDate,
ForecastedStartDate,
ForecastedEndDate,
FreeDefinedAttribute01,
FreeDefinedAttribute02,
FreeDefinedAttribute03,
FreeDefinedAttribute04,
FreeDefinedQuantity1,
FreeDefinedQuantity1Unit,
FreeDefinedQuantity2,
FreeDefinedQuantity2Unit,
FreeDefinedAmount1,
FreeDefinedAmount1Currency,
FreeDefinedAmount2,
FreeDefinedAmount2Currency,
FreeDefinedDate1,
FreeDefinedDate2,
FreeDefinedIndicator1,
FreeDefinedIndicator2,
ResponsiblePersonName,
Currency,
@ObjectModel.foreignKey.association: '_Plant'
Plant,
@ObjectModel.foreignKey.association: '_CompanyCode'
CompanyCode,
ApplicantCode,
CreationDate,
CreatedByUser,
LastChangeDate,
//Remove Status fields
// case
// when _StsObjConcatActiveStsILL.ConcatenatedActiveSystStsName is null
// then ''
// else
// _StsObjConcatActiveStsILL.ConcatenatedActiveSystStsName
// end as ConcatenatedActiveSystStsName,
// case
// when _StsObjConcatActiveStsILL.ConcatenatedActiveUserStsName is null
// then ''
// else
// _StsObjConcatActiveStsILL.ConcatenatedActiveUserStsName
// end as ConcatenatedActiveUserStsName,
//Remove Status fields
//New Dummy fields
'' as ConcatenatedActiveSystStsName,
'' as ConcatenatedActiveUserStsName,
//New Dummy fields
ResponsiblePerson,
@ObjectModel.foreignKey.association: '_CostCenter'
CostCenter,
@ObjectModel.foreignKey.association: '_ControllingArea'
ControllingArea,
//yellow*
_ProjectProfileCode.ProjectProfileCode,
_ProjectProfileCode._Text,
////Version
////ProjectProfileCodeText,
//*yellow
ProfitCenter,
FactoryCalendar,
//yellow*
BudgetProfile,
@ObjectModel.foreignKey.association: '_BusinessArea'
BusinessArea,
//*yellow
ProjInterestCalcProfile,
LastChangedByUser,
_StsObjConcatActiveStsILL,
_Plant,
_CompanyCode,
_BusinessArea,
_CostCenter,
_ControllingArea,
@UI.hidden: true
@Consumption.hidden: true
_ResponsiblePerson,
@UI.hidden: true
@Consumption.hidden: true
_ProjectApplicant
}
/*+[internal] {
"BASEINFO":
{
"FROM":
[
"I_PROJECT",
"I_PROJECTOBJECTSHORTTEXT",
"I_PROJECTPROFILECODE"
],
"ASSOCIATED":
[
"I_BUSINESSAREA",
"I_COMPANYCODE",
"I_CONTROLLINGAREA",
"I_COSTCENTER",
"I_PLANT",
"I_PROJECTAPPLICANT",
"I_PROJECTPROFILECODETEXT",
"I_PROJECTRESPONSIBLEPERSON",
"I_STSOBJCONCATACTIVESTSILL"
],
"BASE":
[
"I_PROJECT",
"I_PROJECTPROFILECODE"
],
"ANNO_REF":
[],
"SCALAR_FUNCTION":
[],
"VERSION":0,
"ANNOREF_EVALUATION_ERROR":""
}
}*/