I_USERADDRESSLINK
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)
| View | Type | Join | VDM | Description |
|---|---|---|---|---|
| I_UserAddress | view_entity | from | COMPOSITE | Benutzeradresse |
Fields (8)
| Key | Field | CDS Fields | Used 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
}