R_WorkAssignmentPrivateAddress

DDL: R_WORKASSIGNMENTPRIVATEADDRESS Type: view_entity COMPOSITE Package: WFD_WORKER_FACTSHEET_BL

Address Associated with Work Assignment

R_WorkAssignmentPrivateAddress is a Composite CDS View that provides data about "Address Associated with Work Assignment" in SAP S/4HANA. It reads from 2 data sources (I_BusPartAddress, R_WorkAssignmentBP) and exposes 36 fields with key fields WorkAssignmentUUID, AddressNumber. It has 5 associations to related views. Part of development package WFD_WORKER_FACTSHEET_BL.

Data Sources (2)

SourceAliasJoin Type
I_BusPartAddress _BPAddress inner
R_WorkAssignmentBP _BuPaIdentification inner

Associations (5)

CardinalityTargetAliasCondition
[1..1] I_WorkAssignmentDetail_1 _AssgmtDetails _AssgmtDetails.WorkforceAssignment = _BuPaIdentification.WorkforceAssignment and _AssgmtDetails.WorkforceAssgmtStartDate <= $session.system_date and _AssgmtDetails.WorkforceAssgmtEndDate >= $session.system_date and _AssgmtDetails.WorkforceAssignmentStatus = '1'
[0..1] I_BPProtectedAddress _BPProtectedAddress $projection.BusinessPartner = _BPProtectedAddress.BusinessPartner and $projection.AddressNumber = _BPProtectedAddress.AddressID
[0..1] I_CountryText _CountryText $projection.CountryOrRegion = _CountryText.Country and _CountryText.Language = $session.system_language
[0..1] I_RegionText _RegionText $projection.AddressRegion = _RegionText.Region and $projection.CountryOrRegion = _RegionText.Country and _RegionText.Language = $session.system_language
[1..1] I_BusinessPartner _BP _BP.BusinessPartner = _BPAddressUsage.BusinessPartner

Annotations (8)

NameValueLevelField
AccessControl.authorizationCheck #MANDATORY view
EndUserText.label Address Associated with Work Assignment view
VDM.viewType #COMPOSITE view
VDM.lifecycle.contract.type #SAP_INTERNAL_API view
Metadata.ignorePropagatedAnnotations true view
ObjectModel.usageType.serviceQuality #C view
ObjectModel.usageType.sizeCategory #L view
ObjectModel.usageType.dataClass #MIXED view

Fields (36)

KeyFieldSource TableSource FieldDescription
KEY WorkAssignmentUUID _BP BusinessPartnerUUID
KEY AddressNumber _BPAddressUsage AddressNumber
BusinessPartner _BPAddressUsage BusinessPartner
clientNULLasvdm_v_start_dateasStartDate
clientNULLasvdm_v_end_dateasEndDate
HouseNumber
HouseNumberSupplementText
AddressRegion
AddressPostalCode
PostOfficeBoxPostalCode
DistrictName
POBox
Street
StreetName
CityName
Floor
CountryOrRegion
RoomNumber
IsBusinessPurposeCompleted _BP IsBusinessPurposeCompleted
DataControllerSet _BP DataControllerSet
DataController1 _BP DataController1
DataController2 _BP DataController2
DataController3 _BP DataController3
DataController4 _BP DataController4
DataController5 _BP DataController5
DataController6 _BP DataController6
DataController7 _BP DataController7
DataController8 _BP DataController8
DataController9 _BP DataController9
DataController10 _BP DataController10
AuthorizationGroup _BP AuthorizationGroup
BPRoleCategoryUsageCode R_WorkAssignmentBP BPRoleCategoryUsageCode
_CountryText _CountryText
_RegionText _RegionText
_WorkAssignment _WorkAssignment
_BPProtectedAddress _BPProtectedAddress
@AbapCatalog.viewEnhancementCategory: [#NONE]
@AccessControl.authorizationCheck: #MANDATORY
@EndUserText.label: 'Address Associated with Work Assignment'
@VDM: {
  viewType: #COMPOSITE,
  lifecycle.contract.type: #SAP_INTERNAL_API
}
@Metadata.ignorePropagatedAnnotations: true
@ObjectModel.usageType:{
    serviceQuality: #C,
    sizeCategory: #L,
    dataClass: #MIXED
}
@Consumption.dbHints:[ 'USE_HEX_PLAN' ]
define view entity R_WorkAssignmentPrivateAddress
  as select distinct from I_Businesspartneraddressusage as _BPAddressUsage
    inner join            R_WorkAssignmentBP            as _BuPaIdentification on _BuPaIdentification.WorkAssignmentBusinessPartner = _BPAddressUsage.BusinessPartner

    inner join            I_BusPartAddress              as _BPAddress          on  _BPAddressUsage.BusinessPartner = _BPAddress.BusinessPartner
                                                                               and _BPAddressUsage.AddressNumber   = _BPAddress.AddressID
  association [1..1] to I_WorkAssignmentDetail_1 as _AssgmtDetails      on  _AssgmtDetails.WorkforceAssignment       = _BuPaIdentification.WorkforceAssignment
                                                                        and _AssgmtDetails.WorkforceAssgmtStartDate  <= $session.system_date
                                                                        and _AssgmtDetails.WorkforceAssgmtEndDate    >= $session.system_date
                                                                        and _AssgmtDetails.WorkforceAssignmentStatus = '1'
  association [0..1] to I_BPProtectedAddress     as _BPProtectedAddress on  $projection.BusinessPartner = _BPProtectedAddress.BusinessPartner
                                                                        and $projection.AddressNumber   = _BPProtectedAddress.AddressID
  association [0..1] to I_CountryText            as _CountryText        on  $projection.CountryOrRegion = _CountryText.Country
                                                                        and _CountryText.Language       = $session.system_language
  association [0..1] to I_RegionText             as _RegionText         on  $projection.AddressRegion   = _RegionText.Region
                                                                        and $projection.CountryOrRegion = _RegionText.Country
                                                                        and _RegionText.Language        = $session.system_language
  association [1..1] to I_BusinessPartner        as _BP                 on  _BP.BusinessPartner = _BPAddressUsage.BusinessPartner
  association        to parent R_WorkAssignment  as _WorkAssignment     on  $projection.WorkAssignmentUUID = _WorkAssignment.WorkAssignmentUUID
                                                                        and $projection.WorkAssignment     = _WorkAssignment.WorkAssignment

{
  key _BP.BusinessPartnerUUID                                                                        as WorkAssignmentUUID,
  key _BPAddressUsage.AddressNumber                                                                  as AddressNumber,
      _BPAddressUsage.BusinessPartner                                                                as BusinessPartner,
      cast (tstmp_to_dats( _BPAddressUsage.ValidityStartDate,
      abap_system_timezone( $session.client,'NULL' ), $session.client, 'NULL' ) as vdm_v_start_date) as StartDate,
      cast (tstmp_to_dats( _BPAddressUsage.ValidityEndDate,
        abap_system_timezone( $session.client,'NULL' ), $session.client, 'NULL' ) as vdm_v_end_date) as EndDate,
      _BPAddress._AddressDefaultRepresentation.HouseNumber                                           as HouseNumber,
      _BPAddress._AddressDefaultRepresentation.HouseNumberSupplementText                             as HouseNumberSupplementText, //HouseSupplement,

      _BPAddress._AddressDefaultRepresentation.Region                                                as AddressRegion, //Region,

      _BPAddress._AddressDefaultRepresentation.PostalCode                                            as AddressPostalCode, //PostalCode,

      _BPAddress._AddressDefaultRepresentation.POBoxPostalCode                                       as PostOfficeBoxPostalCode, //POpostalcode,

      _BPAddress._AddressDefaultRepresentation.DistrictName                                          as DistrictName,
      _BPAddress._AddressDefaultRepresentation.POBox                                                 as POBox,
      _BPAddress._AddressDefaultRepresentation.Street                                                as Street,
      _BPAddress._AddressDefaultRepresentation.StreetName                                            as StreetName,
      _BPAddress._AddressDefaultRepresentation.CityName                                              as CityName, //City,

      _BPAddress._AddressDefaultRepresentation.Floor                                                 as Floor,
      _BPAddress._AddressDefaultRepresentation.Country                                               as CountryOrRegion,
      //      _BPAddress._Address._Country.Country                                                           as CountryOrRegion,

      //      _BPAddress._Address._Country._Text[1:Language = $session.system_language].CountryName,

      _BPAddress._AddressDefaultRepresentation.RoomNumber                                            as RoomNumber,
      case _BuPaIdentification.BPRoleCategoryUsageCode
             when  'C'
            then _BuPaIdentification.WorkforceAssignment
             when 'B'
         then _AssgmtDetails.WorkforceAssignment
      else null
              end                                                                                    as WorkAssignment,
      @Semantics.booleanIndicator: true
      _BP.IsBusinessPurposeCompleted,
      _BP.DataControllerSet,
      _BP.DataController1,
      _BP.DataController2,
      _BP.DataController3,
      _BP.DataController4,
      _BP.DataController5,
      _BP.DataController6,
      _BP.DataController7,
      _BP.DataController8,
      _BP.DataController9,
      _BP.DataController10,
      _BP.AuthorizationGroup,
      _BuPaIdentification.BPRoleCategoryUsageCode,
      _CountryText,
      _RegionText,
      _WorkAssignment,
      _BPProtectedAddress
}
where
  _BPAddressUsage.AddressUsage = 'HCM001'