I_USERADDRESSLINK

CDS View

Benutzer: Verknüpfung zur Adresse

I_USERADDRESSLINK is a CDS View in S/4HANA. Benutzer: Verknüpfung zur Adresse. It contains 8 fields. 1 CDS views read from this table.

CDS Views using this table (1)

ViewTypeJoinVDMDescription
I_UserAddress view_entity from COMPOSITE Benutzeradresse

Fields (8)

KeyField CDS FieldsUsed in Views
BusinessPartnerUUID BusinessPartnerUUID 1
IdentityAddressType IdentityAddressType 1
ResponsibleUser ResponsibleUser 1
UserAddressIdentifier UserAddressIdentifier 1
UserAddressPersonIdentifier UserAddressPersonIdentifier 1
UserDescription UserDescription 1
UserTemplateAddressIdentifier UserTemplateAddressIdentifier 1
UserTemplateOrgType UserTemplateOrgType 1
@EndUserText:   { label: 'Benutzer: Verknüpfung zur Adresse' }
@AccessControl: { authorizationCheck: #PRIVILEGED_ONLY 
                , privilegedAssociations: [ '_User'
                                          , '_AddressPersonName'
                                          , '_AddressOrganization'
                                          , '_TemplateCompany'
                                          ]
                }
@VDM:           { viewType: #BASIC
                , lifecycle.contract.type: #PUBLIC_LOCAL_API
                }
@ObjectModel:   { compositionRoot: true
                , representativeKey: 'UserID'
                , usageType: { dataClass:      #MASTER  
                             , serviceQuality: #A      
                             , sizeCategory:   #L      
                             }
                }
@AbapCatalog:   { 
                  viewEnhancementCategory: [ #NONE ] 
                }
@Metadata:      { allowExtensions: true }

// !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!

// This view must not be exposed directly, because it exposes internal administration information.

// Therefore, it is also protected by a NULL-DCL.

// It's currently also not possible to release it for Language Version 5 ('ABAP for Cloud 

// Development') because it doesn't fulfil the content separation requirements.

// !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!


define view entity  I_UserAddressLink
  as 
    select from  usr21

  association [1..1] to I_UserBasic                as _User                 on _User.UserID                                   = $projection.UserID
  
  association [1..1] to I_AddressPersonName        as _AddressPersonName    on _AddressPersonName.AddressPersonID             = $projection.UserAddressPersonIdentifier
                                                                           and _AddressPersonName.AddressRepresentationCode   = '' //adrp.nation

                                                                 
  association [1..1] to I_OrganizationAddress      as _AddressOrganization  on _AddressOrganization.AddressPersonID           = '' //$projection.AddressPersonID

                                                                           and _AddressOrganization.AddressID                 = $projection.UserAddressIdentifier
                                                                           and _AddressOrganization.AddressRepresentationCode = '' //adrp.nation


  association [0..*] to I_UserCompany              as _TemplateCompany      on _TemplateCompany.UserAddressIdentifier         = $projection.UserTemplateAddressIdentifier
                                                                           and $projection.UserTemplateOrgType                = 'C'

{
//_____AccountData_________________________________________________________________________________

            @ObjectModel.foreignKey.association: '_User'
  key cast( usr21.bname             as vdm_userid                preserving type ) as UserID,
            @ObjectModel.foreignKey.association: '_AddressPersonName'
            usr21.persnumber                                                       as UserAddressPersonIdentifier,
            @ObjectModel.foreignKey.association: '_AddressOrganization'
            usr21.addrnumber                                                       as UserAddressIdentifier,
            usr21.idadtype                                                         as IdentityAddressType,
            usr21.identity_guid                                                    as UserIdentityUUID,
            usr21.bpperson                                                         as BusinessPartnerUUID, // no BP Basic view for BUT000 exists (in Basis Layer) usable as 'foreignKey.association'

            usr21.responsible                                                      as ResponsibleUser,
      cast( usr21.techdesc          as vdm_userdescription       preserving type ) as UserDescription,
      cast( usr21.template_orgtype  as vdm_usertemplateorgtype   preserving type ) as UserTemplateOrgType,
            @ObjectModel.foreignKey.association: '_TemplateCompany'
      cast( usr21.template_orgaddr  as vdm_usertemplateorgaddrid preserving type ) as UserTemplateAddressIdentifier,
      
            _User,
            _AddressPersonName,
            _AddressOrganization,
            _TemplateCompany
          //usr21.organization      //This Organization UUID is no longer used, even not in NGAP.                                     

          //usr21.start_menu        //The SAP GUI start menue is no longer needed

          //usr21.kostl             //This outdated (too short) cost center field is no longer needed

}