@AbapCatalog.sqlViewName: 'CENGPROJECTDET'
@EndUserText.label: 'Engagement Project'
@VDM.viewType: #CONSUMPTION
@ClientHandling.algorithm: #SESSION_VARIABLE
@AccessControl.authorizationCheck:#CHECK
@AccessControl.privilegedAssociations: ['_EngagementProjectServiceOrg']
@ObjectModel.usageType.serviceQuality: #C
@ObjectModel.usageType.sizeCategory: #L
@ObjectModel.usageType.dataClass: #TRANSACTIONAL
@AccessControl.personalData.blocking: #REQUIRED
@AbapCatalog.preserveKey:true
@AbapCatalog.compiler.compareFilter:true
@Consumption.dbHints: ['NO_USE_OLAP_PLAN']
define view C_EngagementProjectDetails
as select from I_EngagementProject as EngagementProject
left outer to one join P_EngmntProjWithUserInvlmnt as MyProjects on EngagementProject.EngagementProjectUUID = MyProjects.EngagementProjectUUID
left outer to one join P_EngmntProjAggregatedPlandata as EngagementProjectPlanData on EngagementProject.EngagementProject = EngagementProjectPlanData.EngagementProject
left outer to one join I_FavoriteEngagementProject as Favorites on EngagementProject.EngagementProject = Favorites.EngagementProject
left outer to one join I_EngagementProjectItem as EngagementProjectItem on EngagementProject.EngagementProject = EngagementProjectItem.EngagementProject
and EngagementProjectItem.EngagementProjectItemType = '0SOH'
left outer to one join I_SalesDocumentBasic as SalesOrder on EngagementProjectItem.EngagementProjectItem = SalesOrder.SalesDocument
and SalesOrder.SDDocumentCategory = 'C'
association [1..1] to E_CustomerProject as _Extension on $projection.EngagementProject = _Extension.CustomerProject
/***I_EngmntProjCustomer has DCL for blocked customer. Customer name is fetched from this association. Do not expose any fields from this association as the DCL will not be executed. **/
association [0..1] to I_EngmntProjCustomer as _Customer on $projection.Customer = _Customer.Customer
association [0..*] to C_WorkPackage as _WorkPackage on $projection.EngagementProjFinPlanUUID = _WorkPackage.EngagementProjFinPlanUUID
association [1..*] to I_EngmntProjectWithRoleAssgmt as _ProjectRoleAssignment on $projection.EngagementProject = _ProjectRoleAssignment.EngagementProject
association [0..*] to I_PersnWrkAgreementDet as _PersonWorkAgreementDet on $projection.ProjectManagerWorkAgreement = _PersonWorkAgreementDet.PersonWorkAgreement
association [0..1] to I_PersonWorkAgreement_1 as _PersonWorkAgreement_1 on $projection.ProjectManagerWorkAgreement = _PersonWorkAgreement_1.PersonWorkAgreement
association [0..1] to I_Currency as _Currency on $projection.Currency = _Currency.Currency
{
key EngagementProject.EngagementProject as EngagementProject,
EngagementProject.EngagementProjectUUID as EngagementProjectUUID,
_EngagementProjFinancialPlan.EngagementProjFinPlanUUID as EngagementProjFinPlanUUID,
EngagementProject.ProjectVisibility as ProjectVisibility,
EngagementProject.EngagementProjectType as EngagementProjectType,
EngagementProject.EngagementProjectCategory as EngagementProjectCategory,
EngagementProject.EngagementProjectStage as EngagementProjectStage,
//--[ GENERATED:012:GlBfhyJl7kY4nRd09JNw30
@Consumption.valueHelpDefinition: [
{ entity: { name: 'I_ControllingArea',
element: 'ControllingArea' }
}]
// ]--GENERATED
EngagementProject.ControllingArea as ControllingArea,
//--[ GENERATED:012:GlBfhyJl7kY4nRd09JNw30
@Consumption.valueHelpDefinition: [
{ entity: { name: 'I_CostCenterStdVH',
element: 'CostCenter' },
additionalBinding: [{ localElement: 'ControllingArea',
element: 'ControllingArea' }]
}]
// ]--GENERATED
EngagementProject.CostCenter as EngagementProjectCostCenter,
//--[ GENERATED:012:GlBfhyJl7kY4nRd09JNw30
@Consumption.valueHelpDefinition: [
{ entity: { name: 'I_EngmntProjSrvcOrgStdVH',
element: 'EngagementProjectServiceOrg' }
}]
// ]--GENERATED
EngagementProject.EngagementProjectServiceOrg as EngagementProjectServiceOrg,
//--[ GENERATED:012:GlBfhyJl7kY4nRd09JNw30
@Consumption.valueHelpDefinition: [
{ entity: { name: 'I_ProfitCenterStdVH',
element: 'ProfitCenter' },
additionalBinding: [{ localElement: 'ControllingArea',
element: 'ControllingArea' }]
}]
// ]--GENERATED
EngagementProject.ProfitCenter as ProfitCenter,
EngagementProject.EngagementProjectName as EngagementProjectName,
//--[ GENERATED:012:GlBfhyJl7kY4nRd09JNw30
@Consumption.valueHelpDefinition: [
{ entity: { name: 'I_EngmntProjCustInfoStdVH',
element: 'Customer' }
}]
// ]--GENERATED
EngagementProject.Customer as Customer,
@Semantics.dateTime:true
@Semantics.systemDateTime.lastChangedAt:true
EngagementProject.LastChangeDateTime as LastChangeDateTime,
EngagementProject.LastChangedByUser as LastChangedByUser,
EngagementProject.CreatedByUser as CreatedByUser,
@Semantics.dateTime:true
@Semantics.systemDateTime.createdAt:true
EngagementProject.CreationDateTime as CreationDateTime,
EngagementProject.ProjectManagerWorkAgreement as ProjectManagerWorkAgreement,
EngagementProject.ProjectStartDate as ProjectStartDate,
EngagementProject.ProjectEndDate as ProjectEndDate,
@Semantics.currencyCode: true
_EngagementProjFinancialPlan.Currency as Currency,
@Semantics.amount.currencyCode: 'Currency'
EngagementProjectPlanData.PlndCostAmt as PlndCostAmt,
EngagementProjectPlanData.PlndEffortQty as PlndEffortQty,
@Semantics.amount.currencyCode: 'Currency'
EngagementProjectPlanData.PlndRevnAmt as PlndRevnAmt,
Favorites.IsFavorite as IsFavorite,
// Y: if time posting without staffing is allowed else N as EngmntProjTimePostingIsAllwd,
@VDM.lifecycle.status: #DEPRECATED
@VDM.lifecycle.successor: 'RestrictedTimePosting'
EngagementProject.TimePostingIsRestricted as TimePostingIsRestricted,
EngagementProject.RestrictedTimePosting as RestrictedTimePosting,
@Feature: 'BF:CUSTOMERPROJECTBILLING'
EngagementProject.ProjectBillingIsUsed,
MyProjects.IsMyProject,
EngagementProject.ProjectProfileCode,
EngagementProject.CompanyCode,
@Semantics.amount.currencyCode: 'TransactionCurrency'
SalesOrder.TotalNetAmount as TotalNetAmount,
@Semantics.currencyCode: true
SalesOrder.TransactionCurrency as TransactionCurrency,
//Association
_ControllingArea,
_CostCenter,
_ProfitCenter,
_Customer,
_EngagementProjectItem,
_EngagementProjectServiceOrg,
_EngagementProjectStage,
_EngagementProjFinancialPlan,
_PersonWorkAgreementDet,
_PersonWorkAgreement_1,
_Currency,
_WorkPackage,
_ProjectRoleAssignment
}
/*+[internal] {
"BASEINFO":
{
"FROM":
[
"I_ENGAGEMENTPROJECT",
"I_ENGAGEMENTPROJECTITEM",
"I_ENGAGEMENTPROJFINANCIALPLAN",
"I_FAVORITEENGAGEMENTPROJECT",
"I_SALESDOCUMENTBASIC",
"P_ENGMNTPROJAGGREGATEDPLANDATA",
"P_ENGMNTPROJWITHUSERINVLMNT"
],
"ASSOCIATED":
[
"C_WORKPACKAGE",
"E_CUSTOMERPROJECT",
"I_CONTROLLINGAREA",
"I_COSTCENTER",
"I_CURRENCY",
"I_ENGAGEMENTPROJECTITEM",
"I_ENGAGEMENTPROJECTSRVCORG",
"I_ENGAGEMENTPROJECTSTAGE",
"I_ENGAGEMENTPROJFINANCIALPLAN",
"I_ENGMNTPROJCUSTOMER",
"I_ENGMNTPROJECTWITHROLEASSGMT",
"I_PERSNWRKAGREEMENTDET",
"I_PERSONWORKAGREEMENT_1",
"I_PROFITCENTER"
],
"BASE":
[
"I_ENGAGEMENTPROJECT"
],
"ANNO_REF":
[],
"SCALAR_FUNCTION":
[],
"VERSION":0,
"ANNOREF_EVALUATION_ERROR":""
}
}*/