R_WorkAssignmentProject

DDL: R_WORKASSIGNMENTPROJECT Type: view_entity COMPOSITE Package: WFD_WORKER_FACTSHEET_BL

Work Assignment Project Factsheet

R_WorkAssignmentProject is a Composite CDS View that provides data about "Work Assignment Project Factsheet" in SAP S/4HANA. It reads from 2 data sources (R_WorkAssignmentBP, I_EngmntProjectSupplyData) and exposes 13 fields with key fields WorkAssignmentUUID, CustomerProject, ResourceID. It has 3 associations to related views. Part of development package WFD_WORKER_FACTSHEET_BL.

Data Sources (2)

SourceAliasJoin Type
R_WorkAssignmentBP _BuPaIdentification inner
I_EngmntProjectSupplyData _ProjectSupply inner

Associations (3)

CardinalityTargetAliasCondition
[1..1] I_BusinessPartner _WorkAssignmentBP _WorkAssignmentBP.BusinessPartner = _BuPaIdentification.WorkAssignmentBusinessPartner
[0..*] I_CostCenterActivityTypeText _ActivityTypeText $projection.ResourceID = _ActivityTypeText.CostCtrActivityType and _ActivityTypeText.Language = $session.system_language
[0..1] I_EngagementProject _EngagementProject _ProjectSupply.EngagementProjectUUID = _EngagementProject.EngagementProjectUUID

Annotations (8)

NameValueLevelField
VDM.viewType #COMPOSITE view
VDM.lifecycle.contract.type #SAP_INTERNAL_API view
AccessControl.authorizationCheck #MANDATORY view
EndUserText.label Work Assignment Project Factsheet view
Metadata.ignorePropagatedAnnotations true view
ObjectModel.usageType.serviceQuality #X view
ObjectModel.usageType.sizeCategory #XL view
ObjectModel.usageType.dataClass #MIXED view

Fields (13)

KeyFieldSource TableSource FieldDescription
KEY WorkAssignmentUUID _WorkAssignmentBP BusinessPartnerUUID
KEY CustomerProject _EngagementProject EngagementProject
KEY ResourceID I_EngmntProjectSupplyData EngagementProjectResource
WorkforceAssignmentID _AssignmentKeyMap WorkforceAssignment
ProjectName _EngagementProject EngagementProjectName
CustomerURLTxt
CustomerName
CostCtrActivityTypeName _ActivityTypeText CostCtrActivityTypeName
CustomerProjectType _EngagementProject EngagementProjectType
CustomerProjectServiceOrg _EngagementProject EngagementProjectServiceOrg
CustomerProjectManagerName
Manager
_WorkAssignment _WorkAssignment
@AbapCatalog.viewEnhancementCategory: [#NONE]
//@VDM.viewType: #COMPOSITE

@VDM: {
  viewType: #COMPOSITE,
  lifecycle.contract.type: #SAP_INTERNAL_API
}
//@AccessControl.authorizationCheck: #NOT_REQUIRED

@AccessControl.authorizationCheck: #MANDATORY
@EndUserText.label: 'Work Assignment Project Factsheet'
@Metadata.ignorePropagatedAnnotations: true
@ObjectModel.usageType:{
  serviceQuality: #X,
//  sizeCategory: #S,

  sizeCategory: #XL,
  dataClass: #MIXED
}
define view entity R_WorkAssignmentProject
  as select distinct from R_WorkAssignmentKeyMap  as _AssignmentKeyMap
  inner join   R_WorkAssignmentBP           as _BuPaIdentification on _BuPaIdentification.WorkforceAssignment = _AssignmentKeyMap.WorkforceAssignment
//    inner join   I_BuPaIdentification        as _BuPaIdentification on  _BuPaIdentification.BPIdentificationNumber = _AssignmentKeyMap.WorkforceAssignment

//                                                                    and _BuPaIdentification.BPIdentificationType   = 'HCM033'

    inner join   I_EngmntProjectSupplyData   as _ProjectSupply      on  _AssignmentKeyMap.WorkforceAssignment     = _ProjectSupply.EmploymentInternalID
                                                                    and _ProjectSupply.EngmtProjEmployeeIsStaffed = 'X'
  association [1..1] to I_BusinessPartner            as _WorkAssignmentBP  on  _WorkAssignmentBP.BusinessPartner = _BuPaIdentification.WorkAssignmentBusinessPartner
  association [0..*] to I_CostCenterActivityTypeText as _ActivityTypeText  on  $projection.ResourceID     = _ActivityTypeText.CostCtrActivityType
                                                                           and _ActivityTypeText.Language = $session.system_language
  association [0..1] to I_EngagementProject          as _EngagementProject on  _ProjectSupply.EngagementProjectUUID = _EngagementProject.EngagementProjectUUID
  association        to parent R_WorkAssignment      as _WorkAssignment    on  $projection.WorkAssignmentUUID = _WorkAssignment.WorkAssignmentUUID
  and   $projection.WorkforceAssignmentID = _WorkAssignment.WorkAssignment
   // pernr addition                        

{
      //  @UI.hidden: true

  key   _WorkAssignmentBP.BusinessPartnerUUID                                                                                                          as WorkAssignmentUUID,
        //        @UI.hidden: true

        //  key   _AssignmentKeyMap.BusinessPartner                                                                                                              as Person,

        //        @UI.hidden: true


      //  @UI.lineItem:[{ position: 30, importance: #HIGH}]

      //  @EndUserText.label: 'Project ID' -- (Includes both Customer and Internal Project IDs)

      //  @EndUserText.quickInfo: 'Project ID'

  key   _EngagementProject.EngagementProject                                                                                                           as CustomerProject,
       // @UI.lineItem:[{ position: 50, importance: #HIGH}]

  key   _ProjectSupply.EngagementProjectResource                                                                                                       as ResourceID,
         _AssignmentKeyMap.WorkforceAssignment                                                                                                          as WorkforceAssignmentID,

      //  @UI.lineItem:[ { value: 'ProjectName', label: 'Project', position: 10, importance: #HIGH, type: #WITH_URL, url: 'CustomerProjectResourceText'  } ]

      //  @EndUserText.quickInfo: 'Project Name'

        _EngagementProject.EngagementProjectName                                                                                                       as ProjectName,

     //   @UI.hidden: true

        case  _EngagementProject.EngagementProjectCategory
//        when 'C' then concat( '#CustomerProject-displayFactSheet?CustomerProject=',   _EngagementProject.EngagementProject)

//        when 'I' then concat( '#InternalProject-displayFactSheet?InternalProject=',   _EngagementProject.EngagementProject)

        when 'C' then 'CustomerProject'
        when 'I' then 'InternalProject'
        else ' '
        end                                                                                                                                            as CustomerProjectResourceText,


      //  @UI.hidden: true

        concat( '#Customer-displayFactSheet?Customer=',   _EngagementProject._Customer.Customer )                                                      as CustomerURLTxt,

       // @UI.lineItem: [ { label: 'Customer', position: 40, importance: #HIGH, type: #WITH_URL, url: 'CustomerURLTxt'  } ]

        _EngagementProject._Customer.CustomerName                                                                                                      as CustomerName,


       // @EndUserText.label: 'Role Name'

       // @EndUserText.quickInfo: 'Role Name'

       // @UI.lineItem:[{ position: 60, importance: #HIGH}]

        _ActivityTypeText.CostCtrActivityTypeName,


      //  @UI.hidden: true

        _EngagementProject.EngagementProjectType                                                                                                       as CustomerProjectType, //TO BE CHECKED

      //  @UI.hidden: true

        _EngagementProject.EngagementProjectServiceOrg                                                                                                 as CustomerProjectServiceOrg, //TO BE CHECKED



      //  @UI.hidden: true

//        concat( '#WorkforcePerson-displayFactSheet?PersonExternalID=',   _EngagementProject._PersonWorkAgreement_1._WorkforcePerson.PersonExternalID ) as CustomerProjectManagerName,

        concat( '#Worker-displayFactSheet?PersonExternalID=',   _EngagementProject._PersonWorkAgreement_1._WorkforcePerson.PersonExternalID ) as CustomerProjectManagerName,

      //  @UI.lineItem:[ { value: 'Manager', label: 'Manager', position: 20, importance: #HIGH, type: #WITH_URL, url: 'CustomerProjectManagerName' } ]

        cast ( _EngagementProject._PersonWorkAgreement_1._WorkforcePerson.PersonFullName  as wfd_manager_name )                                      as Manager,
        _WorkAssignment

}
where
  _EngagementProject.EngagementProject <> ''