I_EngmntProjSrchModel

DDL: I_ENGMNTPROJSRCHMODEL SQL: IENGPRJSRCH Type: view BASIC

Engagement Project Search Model

I_EngmntProjSrchModel is a Basic CDS View that provides data about "Engagement Project Search Model" in SAP S/4HANA. It reads from 1 data source (P_EngagementProject) and exposes 23 fields with key field EngagementProject. It has 7 associations to related views.

Data Sources (1)

SourceAliasJoin Type
P_EngagementProject EngagementProject from

Associations (7)

CardinalityTargetAliasCondition
[0..*] I_EngagementProjFinancialPlan _EngagementProjectFinPlan $projection.EngagementProjectUUID = _EngagementProjectFinPlan.EngagementProjectUUID
[0..1] I_EngagementProjectStage _EngagementProjectStage $projection.EngagementProjectStage = _EngagementProjectStage.EngagementProjectStage
[0..1] I_EngagementProjectSrvcOrg _EngagementProjectServiceOrg $projection.EngagementProjectServiceOrg = _EngagementProjectServiceOrg.EngagementProjectServiceOrg
[0..1] I_Customer _Customer $projection.Customer = _Customer.Customer
[0..1] I_PersonWorkAgreement_1 _PersonWorkAgreement_1 $projection.ProjectManagerWorkAgreement = _PersonWorkAgreement_1.PersonWorkAgreement
[0..1] I_PersonWorkAgreement_2 _PersonWorkAgreement_2 $projection.ProjectManagerWorkAgreement = _PersonWorkAgreement_2.PersonWorkAgreement
[1..1] E_CustomerProject _CustomerProjectExt $projection.EngagementProject = _CustomerProjectExt.CustomerProject

Annotations (12)

NameValueLevelField
AbapCatalog.sqlViewName IENGPRJSRCH view
AbapCatalog.compiler.compareFilter true view
AbapCatalog.preserveKey true view
AccessControl.authorizationCheck #CHECK view
EndUserText.label Engagement Project Search Model view
ClientHandling.algorithm #SESSION_VARIABLE view
VDM.viewType #BASIC view
ObjectModel.representativeKey EngagementProject view
ObjectModel.usageType.serviceQuality #C view
ObjectModel.usageType.sizeCategory #M view
ObjectModel.usageType.dataClass #MIXED view
AccessControl.personalData.blocking #REQUIRED view

Fields (23)

KeyFieldSource TableSource FieldDescription
KEY EngagementProject
EngagementProjectUUID P_EngagementProject db_key
EngagementProjectName P_EngagementProject text
EngagementProjectType
EngagementProjectStage P_EngagementProject mp_stage
EngagementProjectServiceOrg P_EngagementProject org_id
EngagementProjectCategory
ProjectStartDate P_EngagementProject start_date
ProjectEndDate P_EngagementProject end_date
ProjectVisibility P_EngagementProject confidential
ProjectManager P_EngagementProject proj_manager_id
ProjectManagerWorkAgreement P_EngagementProject proj_manager_id
Customer P_EngagementProject customer
CompanyCode P_EngagementProject CompanyCode
CostCenter
ProfitCenter P_EngagementProject profit_center
ProjectProfileCode P_EngagementProject ProjectProfileCode
_EngagementProjectFinPlan _EngagementProjectFinPlan
_EngagementProjectStage _EngagementProjectStage
_EngagementProjectServiceOrg _EngagementProjectServiceOrg
_Customer _Customer
_PersonWorkAgreement_1 _PersonWorkAgreement_1
_PersonWorkAgreement_2 _PersonWorkAgreement_2
@AbapCatalog.sqlViewName: 'IENGPRJSRCH'
@AbapCatalog.compiler.compareFilter: true
@AbapCatalog.preserveKey: true
@AccessControl.authorizationCheck: #CHECK
@EndUserText.label: 'Engagement Project Search Model'
@ClientHandling.algorithm: #SESSION_VARIABLE
@VDM.viewType: #BASIC
@ObjectModel.representativeKey: 'EngagementProject'
@ObjectModel.usageType.serviceQuality: #C
@ObjectModel.usageType.sizeCategory: #M
@ObjectModel.usageType.dataClass: #MIXED
@AccessControl.personalData.blocking: #REQUIRED
define view I_EngmntProjSrchModel
  as select from P_EngagementProject as EngagementProject
  association [0..*] to I_EngagementProjFinancialPlan as _EngagementProjectFinPlan    on $projection.EngagementProjectUUID = _EngagementProjectFinPlan.EngagementProjectUUID
  association [0..1] to I_EngagementProjectStage      as _EngagementProjectStage      on $projection.EngagementProjectStage = _EngagementProjectStage.EngagementProjectStage
  association [0..1] to I_EngagementProjectSrvcOrg    as _EngagementProjectServiceOrg on $projection.EngagementProjectServiceOrg = _EngagementProjectServiceOrg.EngagementProjectServiceOrg
  association [0..1] to I_Customer                    as _Customer                    on $projection.Customer = _Customer.Customer
  association [0..1] to I_PersonWorkAgreement_1       as _PersonWorkAgreement_1       on $projection.ProjectManagerWorkAgreement = _PersonWorkAgreement_1.PersonWorkAgreement
  association [0..1] to I_PersonWorkAgreement_2       as _PersonWorkAgreement_2       on $projection.ProjectManagerWorkAgreement = _PersonWorkAgreement_2.PersonWorkAgreement
  association [1..1] to E_CustomerProject             as _CustomerProjectExt          on $projection.EngagementProject = _CustomerProjectExt.CustomerProject
{
       @ObjectModel.text.element: 'EngagementProjectName'
  key  cast(EngagementProject.mp_id  as /cpd/eng_mp_id preserving type )           as EngagementProject,
       EngagementProject.db_key                                                    as EngagementProjectUUID,
       @Semantics.text: true
       EngagementProject.text                                                      as EngagementProjectName,
       cast(EngagementProject.mp_type as /cpd/eng_mp_type  preserving type )       as EngagementProjectType,
       @ObjectModel.foreignKey.association: '_EngagementProjectStage'
       EngagementProject.mp_stage                                                  as EngagementProjectStage,
       @ObjectModel.foreignKey.association: '_EngagementProjectServiceOrg'
       EngagementProject.org_id                                                    as EngagementProjectServiceOrg,
       cast(EngagementProject.project_type as /cpd/eng_proj_type preserving type ) as EngagementProjectCategory,
       EngagementProject.start_date                                                as ProjectStartDate,
       EngagementProject.end_date                                                  as ProjectEndDate,
       EngagementProject.confidential                                              as ProjectVisibility,

       @VDM.lifecycle.status: #DEPRECATED
       @VDM.lifecycle.successor: 'ProjectManagerWorkAgreement'
       EngagementProject.proj_manager_id                                           as ProjectManager,
       EngagementProject.proj_manager_id                                           as ProjectManagerWorkAgreement,
       @ObjectModel.foreignKey.association: '_Customer'
       EngagementProject.customer                                                  as Customer,
       EngagementProject.CompanyCode                                               as CompanyCode,
       cast( EngagementProject.cost_center as /cpd/pws_ws_org_unit_key preserving type ) as CostCenter,
       EngagementProject.profit_center                                             as ProfitCenter,
       EngagementProject.ProjectProfileCode                                        as ProjectProfileCode,

       /* Associations */
       _EngagementProjectFinPlan,
       _EngagementProjectStage,
       _EngagementProjectServiceOrg,
       _Customer,
       _PersonWorkAgreement_1,
       _PersonWorkAgreement_2
}
where
  EngagementProject.confidential = 'N'
/*+[internal] {
"BASEINFO":
{
"FROM":
[
"P_ENGAGEMENTPROJECT"
],
"ASSOCIATED":
[
"E_CUSTOMERPROJECT",
"I_CUSTOMER",
"I_ENGAGEMENTPROJECTSRVCORG",
"I_ENGAGEMENTPROJECTSTAGE",
"I_ENGAGEMENTPROJFINANCIALPLAN",
"I_PERSONWORKAGREEMENT_1",
"I_PERSONWORKAGREEMENT_2"
],
"BASE":
[],
"ANNO_REF":
[],
"SCALAR_FUNCTION":
[],
"VERSION":0,
"ANNOREF_EVALUATION_ERROR":""
}
}*/