I_ENGMNTPROJASSGMTTOSESSIONUSR

CDS View

Engagement Project Assignment To User

I_ENGMNTPROJASSGMTTOSESSIONUSR is a CDS View in S/4HANA. Engagement Project Assignment To User. It contains 34 fields. 19 CDS views read from this table.

CDS Views using this table (19)

ViewTypeJoinVDMDescription
P_ActualsForEngmntProject view from COMPOSITE Engagement Project - Actuals
P_EngmntProjBillgAndRblsAnlys view from COMPOSITE Billing Receivables - Analysis View w/ Time Intervals
P_EngmntProjDemands view from CONSUMPTION Engagement Project Demands
P_EngmntProjectWithActual view from COMPOSITE Engagement Project Actuals
P_EngmntProjGLAcctLneItmSemTag view from COMPOSITE G/L Line Item with Semantic Tag Including FA
P_EngmntProjPlanDataWithDraft view from COMPOSITE Engagement Project Plan Data with Draft
P_EngmntProjPlannedData view from COMPOSITE Engagement Project - Planned Data excl. Revenue
P_EngmntProjPlnActlAsSoldRevn view union_all COMPOSITE Engagement Project Plan Actual and As Sold Revn
P_EngmntProjPlngData view from COMPOSITE Engagement Project Planning data
P_EngmntProjReviewData view union_all COMPOSITE Engagement Project Plan Review Data
P_EngmntProjSlsOrdItmDet view from COMPOSITE Engagement Project Sales Order Item Detail
P_EngmntProjStaffingAnalysis view from COMPOSITE Staffing - Engagement Project Staf Anlys
P_EngmntProjUnbilledRevData view from COMPOSITE Engagement Project Unbilled Revenue Data
P_EngmntProjWrkPckgUnitKPI view from COMPOSITE WorkPackage Unit KPI
P_EngmtProjActlPlnSlsOrd view union_all COMPOSITE Engagement Projects Actls & Plan
P_EngmtProjActuals view from COMPOSITE Project Actuals
P_EngmtProjDmndByPerdKPI view from COMPOSITE Engagement Project Demand By Period KPI
P_EngmtProjSalesPlanData view from COMPOSITE Engagement Project Sales Plan Data
P_WorkPackageUnitKPI view from COMPOSITE Project Actuals

Fields (34)

KeyField CDS FieldsUsed in Views
KEY EngagementProject EngagementProject 7
KEY EngagementProjectServiceOrg CustomerProjectServiceOrg,EngagementProjectServiceOrg 10
KEY EngagementProjFinPlanUUID EngagementProjFinPlanUUID 6
ControllingArea ControllingArea,EngmntProjectControllingArea 5
Currency Currency,ProjectCurrency 9
CurrentYearPeriod CurrentYearPeriod 2
Customer Customer 9
EngagementProjectCategory EngagementProjectCategory 10
EngagementProjectCostCenter EngagementProjectCostCenter 8
EngagementProjectReviewStatus EngagementProjectReviewStatus 4
EngagementProjectStage EngagementProjectStage 9
EngagementProjectType EngagementProjectType 9
EngagementProjectUUID EngagementProjectUUID 3
EngmntProjectHeaderCompanyCode EngmntProjectHeaderCompanyCode 8
EngmntProjReviewYearPeriod EngmntProjReviewYearPeriod 4
IsMyProject IsMyProject 17
LastChangeDateTime LastChangeDateTime 5
ProfitCenter ProfitCenter 9
ProjAccountantUserID ProjectAccountant 2
ProjControllerUserID ProjectController 2
ProjectAccountantExternalID ProjectAccountantExternalID 2
ProjectAccountantName ProjectAccountantName 2
ProjectControllerExternalID ProjectControllerExternalID 2
ProjectControllerName ProjectControllerName 2
ProjectEndDate ProjectEndDate 1
ProjectManagerExternalID ProjectManagerExternalID 5
ProjectManagerName ProjectManagerName 8
ProjectPartnerExternalID ProjectPartnerExternalID 2
ProjectPartnerName ProjectPartnerName 2
ProjectProfileCode ProjectProfileCode 8
ProjectStartDate ProjectStartDate 1
ProjectVisibility ProjectVisibility 10
ProjManagerUserID ProjectManager 4
ProjPartnerUserID Projectpartner 2
@AbapCatalog.sqlViewName: 'IEPASSGTOSESNUSR'
@ClientHandling.algorithm: #SESSION_VARIABLE
@VDM.viewType: #COMPOSITE
@AbapCatalog:{ compiler.compareFilter: true,
               preserveKey: true }
@ObjectModel: {
    usageType: { serviceQuality: #C,
                 sizeCategory: #L,
                 dataClass: #TRANSACTIONAL },
    modelingPattern: #TRANSACTIONAL_ENTITY,
    supportedCapabilities: [#CDS_MODELING_DATA_SOURCE,
                            #SQL_DATA_SOURCE]
}
@AccessControl: {
    authorizationCheck: #CHECK,
    personalData: { blocking: #REQUIRED,
                    blockingIndicator: ['_Customer.IsBusinessPurposeCompleted',
                                        '_ProjectManager.IsBusinessPurposeCompleted',
                                        '_ProjectAccountant.IsBusinessPurposeCompleted',
                                        '_ProjectController.IsBusinessPurposeCompleted',
                                        '_ProjectPartner.IsBusinessPurposeCompleted' ] }
}
@EndUserText.label: 'Engagement Project Assignment To User'
define view I_EngmntProjAssgmtToSessionUsr
  as select from P_EngmntProjWthRolesAsAttrib  as Project
    inner join   I_EngagementProjFinancialPlan as FinancialPlan on Project.EngagementProjectUUID = FinancialPlan.EngagementProjectUUID

  association [1..1] to I_Customer          as _Customer          on $projection.Customer = _Customer.Customer
  association [1..1] to I_BusinessUserBasic as _ProjectManager    on $projection.ProjectManagerExternalID = _ProjectManager.UserID
  association [0..1] to I_BusinessUserBasic as _ProjectAccountant on $projection.ProjectAccountantExternalID = _ProjectAccountant.UserID
  association [0..1] to I_BusinessUserBasic as _ProjectController on $projection.ProjectControllerExternalID = _ProjectController.UserID
  association [0..1] to I_BusinessUserBasic as _ProjectPartner    on $projection.ProjectPartnerExternalID = _ProjectPartner.UserID
{

  key Project.EngagementProjectUUID,
      Project.EngagementProject,
      EngagementProjectName,
      ProjectStartDate,
      ProjectEndDate,
      Customer,
      EngagementProjectServiceOrg,
      EngagementProjectType,
      EngagementProjectCategory,
      EngagementProjectStage,
      ProjectVisibility,
      IsMyProject,
      Currency,
      EngagementProjFinPlanUUID,
      EngmntProjReviewYearPeriod,
      EngagementProjectReviewStatus,
      @Semantics.dateTime:true
      @Semantics.systemDate.lastChangedAt: true
      Project.LastChangeDateTime,

      // For all the records where External id is null or blank {Possible for Controller, Accountant and Partner} we are setting as 'A'.

      // This is required because External id is used on join condition of the Union view.

      // If these fields have null values join condition will fail.

      ProjectManager                                                                                                       as ProjManagerUserID,
      ProjectManagerName,
      ProjectManagerExternalID,

      ProjectAccountant                                                                                                    as ProjAccountantUserID,
      ProjectAccountantName,
      case
      when ProjectAccountantExternalID is null
      then 'A'
      else ProjectAccountantExternalID
      end                                                                                                                  as ProjectAccountantExternalID,

      ProjectController                                                                                                    as ProjControllerUserID,
      ProjectControllerName,
      case
      when ProjectControllerExternalID is null
      then 'A'
      else ProjectControllerExternalID
      end                                                                                                                  as ProjectControllerExternalID,

      Projectpartner                                                                                                       as ProjPartnerUserID,
      ProjectpartnerName                                                                                                   as ProjectPartnerName,
      case
      when ProjectpartnerExternalID is null
      then 'A'
      else ProjectpartnerExternalID
      end                                                                                                                  as ProjectPartnerExternalID,

      cast(concat(substring(CurrentDate, 1, 4), concat('0', substring(CurrentDate, 5, 2))) as /cpd/ss_current_year_period) as CurrentYearPeriod,

      ProjectProfileCode,
      ControllingArea,
      CompanyCode                                                                                                          as EngmntProjectHeaderCompanyCode,
      CostCenter                                                                                                           as EngagementProjectCostCenter,
      ProfitCenter,

      _Customer,
      _ProjectManager,
      _ProjectAccountant,
      _ProjectController,
      _ProjectPartner
}