I_BPRelshpCntctPersnAddrVersTP

DDL: I_BPRELSHPCNTCTPERSNADDRVERSTP SQL: IBPRELCPADVERTP Type: view_entity TRANSACTIONAL

RAP BO Contact Person Address Versions

I_BPRelshpCntctPersnAddrVersTP is a Transactional CDS View that provides data about "RAP BO Contact Person Address Versions" in SAP S/4HANA. It reads from 3 data sources (adcp, P_BPContactToAddress, adrp) and exposes 44 fields with key fields BusinessPartner1, BusinessPartner2, ValidityEndDate, RelationshipCategory, AddressID. It has 4 associations to related views.

Data Sources (3)

SourceAliasJoin Type
adcp AddressDetails inner
P_BPContactToAddress P_BPContactToAddress from
adrp PersonDetails left_outer

Associations (4)

CardinalityTargetAliasCondition
[1] I_BusPartRelationshipTP _BusPartRelationship $projection.BusinessPartner1 = _BusPartRelationship.BusinessPartner1 and $projection.BusinessPartner2 = _BusPartRelationship.BusinessPartner2 and $projection.ValidityEndDate = _BusPartRelationship.ValidityEndDate and $projection.RelationshipCategory = _BusPartRelationship.RelationshipCategory and $projection.BPRelshpCatIsInFwdDirection = _BusPartRelationship.BPRelshpCatIsInFwdDirection
[0..1] I_BPRelshpContactPersonTP _BPRelshpContactPerson $projection.BusinessPartner1 = _BPRelshpContactPerson.BusinessPartner1 and $projection.BusinessPartner2 = _BPRelshpContactPerson.BusinessPartner2 and $projection.ValidityEndDate = _BPRelshpContactPerson.ValidityEndDate and $projection.RelationshipCategory = _BPRelshpContactPerson.RelationshipCategory
[0..*] I_AddressRepresentationText _AddressRepresentationText $projection.AddressRepresentationCode = _AddressRepresentationText.AddressRepresentationCode
[0..*] I_BusinessPartnerFormOfAddrTxt _BusinessPartnerFormOfAddrTxt $projection.FormOfAddress = _BusinessPartnerFormOfAddrTxt.FormOfAddress

Annotations (8)

NameValueLevelField
AccessControl.authorizationCheck #CHECK view
AccessControl.personalData.blocking #REQUIRED view
EndUserText.label RAP BO Contact Person Address Versions view
ObjectModel.usageType.serviceQuality #C view
ObjectModel.usageType.sizeCategory #XXL view
ObjectModel.usageType.dataClass #MASTER view
Search.searchable true view
VDM.viewType #TRANSACTIONAL view

Fields (44)

KeyFieldSource TableSource FieldDescription
KEY BusinessPartner1 P_BPContactToAddress BusinessPartnerCompany
KEY BusinessPartner2 P_BPContactToAddress BusinessPartnerPerson
KEY ValidityEndDate
KEY RelationshipCategory P_BPContactToAddress RelationshipCategory
KEY AddressID P_BPContactToAddress AddressID
KEY AddressRepresentationCode adcp nation
KEY BPRelshpCatIsInFwdDirection P_BPContactToAddress BPRelshpCatIsInFwdDirection
AddrRepCodeForEdit adcp nation
RelationshipNumber P_BPContactToAddress RelationshipNumber
FormOfAddress adrp title
FirstName adrp name_first
LastName adrp name_last
BirthName adrp name2
MiddleName adrp namemiddle
AdditionalFamilyName adrp name_last2
FullName adrp name_text
PersonFullNameMaintStatus adrp converted
AcademicTitle adrp title_aca1
AcademicTitle2 adrp title_aca2
LastNamePrefix adrp prefix1
LastNameSecondPrefix adrp prefix2
NameSupplement adrp title_sppl
BusinessPartnerNicknameLabel adrp nickname
Initials adrp initials
NameFormat adrp nameformat
NameCountry adrp namcountry
PersonProfessionName adrp profession
GenderCode adrp sex
AddressSearchText1 adrp sort1
AddressSearchText2 adrp sort2
ContactRelationshipFunction adcp function
ContactRelationshipDepartment adcp department
Floor adcp floor
Building adcp building
RoomNumber adcp roomnumber
CorrespondenceShortName adcp id_code
InhouseMail adcp ih_mail
_BusinessPartner1 P_BPContactToAddress _BusinessPartnerCompany
_BusinessPartner2 P_BPContactToAddress _BusinessPartnerPerson
_BPRelshpCntctPersnAddress _BPRelshpCntctPersnAddress
_BPRelshpContactPerson _BPRelshpContactPerson
_BusPartRelationship _BusPartRelationship
_AddressRepresentationText _AddressRepresentationText
_BusinessPartnerFormOfAddrTxt _BusinessPartnerFormOfAddrTxt
//@AbapCatalog.sqlViewName: 'IBPRELCPADVERTP'

//@AbapCatalog.compiler.compareFilter: true

//@AbapCatalog.preserveKey: true

@AccessControl.authorizationCheck: #CHECK
@AccessControl.personalData.blocking: #REQUIRED
//@ClientHandling.algorithm : #SESSION_VARIABLE

@EndUserText.label: 'RAP BO Contact Person Address Versions'
//@AccessControl.privilegedAssociations:  [ '_BPDataControllerUsage1','_BPDataControllerUsage2' ]

@ObjectModel.usageType.serviceQuality: #C
@ObjectModel.usageType.sizeCategory: #XXL
@ObjectModel.usageType.dataClass: #MASTER
@Search.searchable: true
@VDM.viewType: #TRANSACTIONAL
define view entity I_BPRelshpCntctPersnAddrVersTP
  as select from    P_BPContactToAddress
    inner join      adcp as AddressDetails on  P_BPContactToAddress.AddressID    = AddressDetails.addrnumber
                                           and P_BPContactToAddress.PersonNumber = AddressDetails.persnumber
                                           and AddressDetails.nation != ' '
                                           and AddressDetails.comp_pers          = 'C'
    left outer join adrp as PersonDetails  on  AddressDetails.persnumber = PersonDetails.persnumber
                                           and AddressDetails.nation     = PersonDetails.nation

  association [1]    to I_BusPartRelationshipTP              as _BusPartRelationship
  //                                                                                              on  $projection.BPDrftUUID           = _BusPartRelationship.BPDrftUUID

  //                                                                                              and $projection.BPRelshpUUID         = _BusPartRelationship.BPRelshpUUID

                                                                                              on  $projection.BusinessPartner1            = _BusPartRelationship.BusinessPartner1
                                                                                              and $projection.BusinessPartner2            = _BusPartRelationship.BusinessPartner2
                                                                                              and $projection.ValidityEndDate             = _BusPartRelationship.ValidityEndDate
                                                                                              and $projection.RelationshipCategory        = _BusPartRelationship.RelationshipCategory
                                                                                              and $projection.BPRelshpCatIsInFwdDirection = _BusPartRelationship.BPRelshpCatIsInFwdDirection
  //  association [1]    to I_BusPartRelationshipTP              as _BusPartRelshp                on  $projection.BusinessPartner1     = _BusPartRelshp.BusinessPartner1

  //                                                                                              and $projection.BusinessPartner2     = _BusPartRelshp.BusinessPartner2

  //                                                                                              and $projection.ValidityEndDate      = _BusPartRelshp.ValidityEndDate

  //                                                                                              and $projection.RelationshipCategory = _BusPartRelshp.RelationshipCategory


  association [0..1] to I_BPRelshpContactPersonTP            as _BPRelshpContactPerson
  //                                                                                              on  $projection.BPDrftUUID           = _BPRelshpContactPerson.BPDrftUUID

  //                                                                                              and $projection.BPRelshpUUID         = _BPRelshpContactPerson.BPRelshpUUID

                                                                                              on  $projection.BusinessPartner1     = _BPRelshpContactPerson.BusinessPartner1
                                                                                              and $projection.BusinessPartner2     = _BPRelshpContactPerson.BusinessPartner2
                                                                                              and $projection.ValidityEndDate      = _BPRelshpContactPerson.ValidityEndDate
                                                                                              and $projection.RelationshipCategory = _BPRelshpContactPerson.RelationshipCategory

  association        to parent I_BPRelshpCntctPersnAddressTP as _BPRelshpCntctPersnAddress
  //                                                                                              on  $projection.BPDrftUUID                 = _BPRelshpCntctPersnAddress.BPDrftUUID

  //                                                                                              and $projection.BPRelshpUUID               = _BPRelshpCntctPersnAddress.BPRelshpUUID

  //                                                                                              and $projection.BPRelshpCntctPersnAddrUUID = _BPRelshpCntctPersnAddress.BPRelshpCntctPersnAddrUUID

                                                                                              on  $projection.BusinessPartner1            = _BPRelshpCntctPersnAddress.BusinessPartner1
                                                                                              and $projection.BusinessPartner2            = _BPRelshpCntctPersnAddress.BusinessPartner2
                                                                                              and $projection.ValidityEndDate             = _BPRelshpCntctPersnAddress.ValidityEndDate
                                                                                              and $projection.RelationshipCategory        = _BPRelshpCntctPersnAddress.RelationshipCategory
                                                                                              and $projection.AddressID                   = _BPRelshpCntctPersnAddress.AddressID
                                                                                              and $projection.BPRelshpCatIsInFwdDirection = _BPRelshpCntctPersnAddress.BPRelshpCatIsInFwdDirection
  association [0..*] to I_AddressRepresentationText          as _AddressRepresentationText    on  $projection.AddressRepresentationCode = _AddressRepresentationText.AddressRepresentationCode

  association [0..*] to I_BusinessPartnerFormOfAddrTxt       as _BusinessPartnerFormOfAddrTxt on  $projection.FormOfAddress = _BusinessPartnerFormOfAddrTxt.FormOfAddress
//  association [0..*] to I_BPDataControllerUsage              as _BPDataControllerUsage1       on  $projection.BusinessPartner1 = _BPDataControllerUsage1.BusinessPartner

//  association [0..*] to I_BPDataControllerUsage              as _BPDataControllerUsage2       on  $projection.BusinessPartner2 = _BPDataControllerUsage2.BusinessPartner

{
      //  key cast ( hextobin('00000000000000000000000000000000') as sysuuid_x ) as BPDrftUUID,

      //  key cast ( hextobin('00000000000000000000000000000000') as sysuuid_x ) as BPRelshpUUID,

      //  key cast ( hextobin('00000000000000000000000000000000') as sysuuid_x ) as BPRelshpCntctPersnAddrUUID,

      //  key cast ( hextobin('00000000000000000000000000000000') as sysuuid_x ) as BPRelshpCntctPersnAddrVersUUID,

      @Search.defaultSearchElement: true
  key P_BPContactToAddress.BusinessPartnerCompany                    as BusinessPartner1,
      @Search.defaultSearchElement: true
  key P_BPContactToAddress.BusinessPartnerPerson                     as BusinessPartner2,
      //  key I_BpContactToAddress.ValidityEndDate,

  key cast( P_BPContactToAddress.ValidityEndDate as abap.char( 17 )) as ValidityEndDate,
  key P_BPContactToAddress.RelationshipCategory                      as RelationshipCategory,
  key P_BPContactToAddress.AddressID,
  key AddressDetails.nation                                          as AddressRepresentationCode,
  key P_BPContactToAddress.BPRelshpCatIsInFwdDirection,
      AddressDetails.nation                                          as AddrRepCodeForEdit,
      @Search.defaultSearchElement: true
      P_BPContactToAddress.RelationshipNumber,

      PersonDetails.title                                            as FormOfAddress,
      PersonDetails.name_first                                       as FirstName,
      PersonDetails.name_last                                        as LastName,
      PersonDetails.name2                                            as BirthName,
      PersonDetails.namemiddle                                       as MiddleName,
      PersonDetails.name_last2                                       as AdditionalFamilyName,
      PersonDetails.name_text                                        as FullName,
      PersonDetails.converted                                        as PersonFullNameMaintStatus,
      PersonDetails.title_aca1                                       as AcademicTitle,
      PersonDetails.title_aca2                                       as AcademicTitle2,
      PersonDetails.prefix1                                          as LastNamePrefix,
      PersonDetails.prefix2                                          as LastNameSecondPrefix,
      PersonDetails.title_sppl                                       as NameSupplement,
      PersonDetails.nickname                                         as BusinessPartnerNicknameLabel,
      PersonDetails.initials                                         as Initials,
      PersonDetails.nameformat                                       as NameFormat,
      PersonDetails.namcountry                                       as NameCountry,
      //    PersonDetails.namctryiso as Country2DigitISOCode,

      PersonDetails.profession                                       as PersonProfessionName,
      PersonDetails.sex                                              as GenderCode,
      PersonDetails.sort1                                            as AddressSearchText1,
      PersonDetails.sort2                                            as AddressSearchText2,
      AddressDetails.function                                        as ContactRelationshipFunction,
      AddressDetails.department                                      as ContactRelationshipDepartment,
      AddressDetails.floor                                           as Floor,
      AddressDetails.building                                        as Building,
      AddressDetails.roomnumber                                      as RoomNumber,
      AddressDetails.id_code                                         as CorrespondenceShortName,
      AddressDetails.ih_mail                                         as InhouseMail,

      /* Associations */
      P_BPContactToAddress._BusinessPartnerCompany                   as _BusinessPartner1,
      P_BPContactToAddress._BusinessPartnerPerson                    as _BusinessPartner2,
      _BPRelshpCntctPersnAddress,
      _BPRelshpContactPerson,
      _BusPartRelationship,

      _AddressRepresentationText,
      _BusinessPartnerFormOfAddrTxt
//      _BPDataControllerUsage1,

//      _BPDataControllerUsage2


}