I_WorkAssgmtAddressDEX

DDL: I_WORKASSGMTADDRESSDEX Type: view_entity COMPOSITE Package: VDM_WFD_WORK_FORCE

Work Assignment Address Details

I_WorkAssgmtAddressDEX is a Composite CDS View that provides data about "Work Assignment Address Details" in SAP S/4HANA. It reads from 3 data sources (I_WorkAssignmentKeyMapping, I_WorkAssignmentBP, I_BusPartAddress) and exposes 36 fields with key fields WorkAssignmentBusinessPartner, AddressNumber. It has 4 associations to related views. Part of development package VDM_WFD_WORK_FORCE.

Data Sources (3)

SourceAliasJoin Type
I_WorkAssignmentKeyMapping Assignment from
I_WorkAssignmentBP AssignmentBP inner
I_BusPartAddress EmploymentAddress inner

Associations (4)

CardinalityTargetAliasCondition
[0..1] I_BPProtectedAddress _BPProtectedAddress $projection.WorkAssignmentBusinessPartner = _BPProtectedAddress.BusinessPartner and $projection.AddressNumber = _BPProtectedAddress.AddressID
[0..1] I_WorkAssignmentDEX_1 _WorkAssignment _WorkAssignment.WorkAssignment = $projection.WorkAssignment
[1..1] I_BusinessPartner _BusinessPartner _BusinessPartner.BusinessPartner = $projection.WorkAssignmentBusinessPartner
[1] I_WorkforcePersonDEX_1 _WorkforcePerson _WorkforcePerson.WorkforcePersonExternalID = $projection.WorkforcePersonExternalID

Annotations (11)

NameValueLevelField
AccessControl.authorizationCheck #MANDATORY view
AccessControl.personalData.blocking #BLOCKED_DATA_EXCLUDED view
EndUserText.label Work Assignment Address Details view
VDM.viewType #COMPOSITE view
Analytics.dataExtraction.enabled true view
Metadata.ignorePropagatedAnnotations true view
ObjectModel.modelingPattern #NONE view
ObjectModel.usageType.serviceQuality #C view
ObjectModel.usageType.sizeCategory #XL view
ObjectModel.usageType.dataClass #MASTER view
ObjectModel.sapObjectNodeType.name AddressDetails view

Fields (36)

KeyFieldSource TableSource FieldDescription
KEY WorkAssignmentBusinessPartner I_BusPartAddress BusinessPartner
KEY AddressNumber I_BusPartAddress AddressID
WorkAssignment I_WorkAssignmentKeyMapping WorkAssignment
WorkAssignmentExternalID I_WorkAssignmentKeyMapping WorkAssignmentExternalID
Country2DigitISOCode I_WorkAssignmentKeyMapping Country2DigitISOCode
WorkforcePersonExternalID I_WorkAssignmentBP WorkforcePersonExternalID
clientNULLasvdm_v_start_dateasStartDate
clientNULLasvdm_v_end_dateasEndDate
Country
PostalCode
Region
SecondaryRegion
SecondaryRegionName
TertiaryRegion
TertiaryRegionName
CityName
DistrictName
StreetPrefixName1
StreetPrefixName2
StreetName
StreetSuffixName1
StreetSuffixName2
HouseNumber
HouseNumberSupplementText
Floor
RoomNumber
CareOfName
POBoxPostalCode
IsBlocked I_WorkAssignmentKeyMapping IsBlocked
IsBusinessPurposeCompleted _BusinessPartner IsBusinessPurposeCompleted
DataControllerSet _BusinessPartner DataControllerSet
AuthorizationGroup _BusinessPartner AuthorizationGroup
_BPProtectedAddress _BPProtectedAddress
_BusinessPartner _BusinessPartner
_WorkAssignment _WorkAssignment
_WorkforcePerson _WorkforcePerson
@AccessControl.authorizationCheck: #MANDATORY
@AccessControl.personalData.blocking: #BLOCKED_DATA_EXCLUDED

@EndUserText.label: 'Work Assignment Address Details'

@VDM.viewType: #COMPOSITE
@Analytics.dataExtraction: {
            enabled: true,
            delta.changeDataCapture:
    {
            mapping:[
                  {
                    table: 'but020',
                    role: #MAIN,
                    viewElement: ['WorkAssignmentBusinessPartner','AddressNumber'],
                    tableElement: ['Partner','addrnumber']
                }
            ]
        }
    }
@Metadata.ignorePropagatedAnnotations:true
@ObjectModel.supportedCapabilities:[ #EXTRACTION_DATA_SOURCE ]
@ObjectModel.modelingPattern: #NONE
@ObjectModel.usageType.serviceQuality: #C
@ObjectModel.usageType.sizeCategory: #XL
@ObjectModel.usageType.dataClass: #MASTER 
@ObjectModel.sapObjectNodeType.name:'AddressDetails'
@Consumption.dbHints:[ 'USE_HEX_PLAN' ]

define view entity I_WorkAssgmtAddressDEX
  as select from I_WorkAssignmentKeyMapping as Assignment

    inner join   I_WorkAssignmentBP         as AssignmentBP      on AssignmentBP.WorkAssignment = Assignment.WorkAssignment
    inner join   I_BusPartAddress           as EmploymentAddress on EmploymentAddress.BusinessPartner = AssignmentBP.WorkAssignmentBusinessPartner


  association [0..1] to I_BPProtectedAddress as _BPProtectedAddress on  $projection.WorkAssignmentBusinessPartner = _BPProtectedAddress.BusinessPartner
                                                                    and $projection.AddressNumber   = _BPProtectedAddress.AddressID
  association [0..1] to I_WorkAssignmentDEX_1   as _WorkAssignment     on  _WorkAssignment.WorkAssignment = $projection.WorkAssignment
  association [1..1] to I_BusinessPartner    as _BusinessPartner    on  _BusinessPartner.BusinessPartner = $projection.WorkAssignmentBusinessPartner

  association [1]    to I_WorkforcePersonDEX_1  as _WorkforcePerson  on  _WorkforcePerson.WorkforcePersonExternalID = $projection.WorkforcePersonExternalID
{

     key EmploymentAddress.BusinessPartner as WorkAssignmentBusinessPartner,
     key EmploymentAddress.AddressID     as AddressNumber,  
          Assignment.WorkAssignment,
          Assignment.WorkAssignmentExternalID,
          Assignment.Country2DigitISOCode,
          AssignmentBP.WorkforcePersonExternalID,        
          cast (tstmp_to_dats( EmploymentAddress.ValidityStartDate,
          abap_system_timezone( $session.client,'NULL' ), $session.client, 'NULL' ) as vdm_v_start_date) as StartDate,
          cast (tstmp_to_dats( EmploymentAddress.ValidityEndDate,
            abap_system_timezone( $session.client,'NULL' ), $session.client, 'NULL' ) as vdm_v_end_date) as EndDate,
          EmploymentAddress._AddressDefaultRepresentation.Country,
          EmploymentAddress._AddressDefaultRepresentation.PostalCode,
          EmploymentAddress._AddressDefaultRepresentation.Region,
          EmploymentAddress._AddressDefaultRepresentation.SecondaryRegion,
          EmploymentAddress._AddressDefaultRepresentation.SecondaryRegionName,
          EmploymentAddress._AddressDefaultRepresentation.TertiaryRegion,
          EmploymentAddress._AddressDefaultRepresentation.TertiaryRegionName,
          EmploymentAddress._AddressDefaultRepresentation.CityName,
          EmploymentAddress._AddressDefaultRepresentation.DistrictName,
          EmploymentAddress._AddressDefaultRepresentation.StreetPrefixName1,
          EmploymentAddress._AddressDefaultRepresentation.StreetPrefixName2,
          EmploymentAddress._AddressDefaultRepresentation.StreetName,
          EmploymentAddress._AddressDefaultRepresentation.StreetSuffixName1,
          EmploymentAddress._AddressDefaultRepresentation.StreetSuffixName2,
          EmploymentAddress._AddressDefaultRepresentation.HouseNumber,
          EmploymentAddress._AddressDefaultRepresentation.HouseNumberSupplementText,
          EmploymentAddress._AddressDefaultRepresentation.Floor,
          EmploymentAddress._AddressDefaultRepresentation.RoomNumber,
          EmploymentAddress._AddressDefaultRepresentation.CareOfName,
          EmploymentAddress._AddressDefaultRepresentation.POBoxPostalCode,

          @Semantics.booleanIndicator: true
          @UI.hidden: true
          Assignment.IsBlocked,
          @Semantics.booleanIndicator: true
          @UI.hidden: true
          @Consumption.hidden: true
          _BusinessPartner.IsBusinessPurposeCompleted,
          @Consumption.hidden:true
          @UI.hidden:true          
          _BusinessPartner.DataControllerSet,
          _BusinessPartner.AuthorizationGroup,

          /* Associations */
          //_BPProtectedAddress,

          _BPProtectedAddress,
          _BusinessPartner,
          _WorkAssignment,
          _WorkforcePerson
          

}