I_ADDRESS
Address
I_ADDRESS is a CDS View in S/4HANA. Address. It contains 67 fields. 18 CDS views read from this table.
CDS Views using this table (18)
| View | Type | Join | VDM | Description |
|---|---|---|---|---|
| A_BusinessPartnerAddress | view | inner | BASIC | Address |
| C_CorrespondenceAddress | view | from | CONSUMPTION | Address with printable lines for an address label |
| C_CustomerAddressIDValueHelp | view | left_outer | CONSUMPTION | Customer Address ID Value Help |
| C_ProcmtHubRefDeliveryAddrIDVH | view | from | CONSUMPTION | Reference Delivery Addr ID Value Help from Connected System |
| C_PurOrdMaintainUserDetail | view | left_outer | CONSUMPTION | PO Maintenance: User Detail |
| C_SlsDocOfOneTimeCustVH_F8712 | view_entity | left_outer | CONSUMPTION | Sales Document of One Time Customer |
| C_SupplierAddressIDValueHelp | view | left_outer | CONSUMPTION | Supplier Address ID Value Help |
| FAC_AUDIT_Z3_SDPARTNER | view | inner | Sales Document Partner | |
| FAC_DART_Z3_C_BP_ADDRESS | view | inner | Business Partner Address for Customer | |
| FAC_DART_Z3_S_BP_ADDRESS | view | inner | Business Partner Address for Supplier | |
| I_BusinessPartnerAddressDsp | view_entity | inner | BASIC | Business Partner Address Display |
| I_BusinessPartnerAddressGov | view | inner | COMPOSITE | Business Partner Address (Governance) |
| I_EmployeeHomeAddress | view | inner | BASIC | Employee Home Address |
| I_PT_SAFTDeliveryOneTimeCust | view | left_outer | COMPOSITE | SAF-T PT Billing One Time Custmer |
| P_Cpbupafaxall | view | inner | CONSUMPTION | Business Partner Emails from all sources |
| P_PurOrdMaintainHeaderActAddr | view | left_outer | CONSUMPTION | PO Maintenance: Address of Purchase Order Header |
| P_PurOrdMaintainItemActAddr | view | left_outer | CONSUMPTION | PO Maintenance: Purchase Order Item Address (Active) |
| P_Supplier_Fs | view | left_outer | BASIC | Private Factsheet - Supplier |
Fields (67)
| Key | Field | CDS Fields | Used in Views |
|---|---|---|---|
| KEY | AddressID | AddressID | 4 |
| KEY | Branch | Branch | 2 |
| KEY | CompanyCode | CompanyCode | 2 |
| AdditionalStreetPrefixName | AdditionalStreetPrefixName | 7 | |
| AdditionalStreetSuffixName | AdditionalStreetSuffixName | 5 | |
| AddressCreatedByUser | AddressCreatedByUser | 2 | |
| AddressObjectType | AddressObjectType | 2 | |
| AddressRepresentationCode | AddressRepresentationCode | 2 | |
| AddressTimeZone | AddressTimeZone | 4 | |
| BranchLongCode | BranchLongCode | 2 | |
| Building | Building | 5 | |
| BusinessPartnerName1 | AddressName,BusinessPartnerName1 | 5 | |
| BusinessPartnerName2 | BusinessPartnerName2 | 4 | |
| BusinessPartnerName3 | BusinessPartnerName3 | 3 | |
| BusinessPartnerName4 | BusinessPartnerName4 | 3 | |
| BusinessPlaceName | BusinessPlaceName | 1 | |
| CareOfName | CareOfName | 5 | |
| CityCode | CityCode | 3 | |
| CityFileTestStatus | CityFileTestStatus | 1 | |
| CityName | CityDisplayName,CityName | 12 | |
| CitySearch | CitySearch | 2 | |
| CompanyPostalCode | CompanyPostalCode | 4 | |
| CorrespondenceLanguage | CorrespondenceLanguage,Language | 5 | |
| Country | Country,CountryForDisplay | 12 | |
| County | County | 3 | |
| CountyCode | CountyCode | 1 | |
| DeliveryServiceNumber | DeliveryServiceNumber | 4 | |
| DeliveryServiceTypeCode | DeliveryServiceTypeCode | 4 | |
| District | District,DistrictName | 7 | |
| FaxNumber | FaxNumber | 2 | |
| Floor | Floor | 5 | |
| FormOfAddress | FormOfAddress | 4 | |
| FullName | FullName | 3 | |
| HomeCityName | HomeCityName | 7 | |
| HouseNumber | HouseNumber | 11 | |
| HouseNumberSupplementText | HouseNumberSupplementText | 5 | |
| Nation | Nation | 2 | |
| OrganizationName1 | OrganizationName1 | 1 | |
| OrganizationName2 | OrganizationName2 | 1 | |
| OrganizationName3 | OrganizationName3 | 1 | |
| OrganizationName4 | OrganizationName4 | 1 | |
| Person | Person | 3 | |
| PhoneNumber | PhoneNumber | 5 | |
| POBox | POBox | 5 | |
| POBoxDeviatingCityName | POBoxDeviatingCityName | 4 | |
| POBoxDeviatingCountry | POBoxDeviatingCountry | 4 | |
| POBoxDeviatingRegion | POBoxDeviatingRegion | 4 | |
| POBoxIsWithoutNumber | POBoxIsWithoutNumber | 4 | |
| POBoxLobbyName | POBoxLobbyName | 4 | |
| POBoxPostalCode | POBoxPostalCode | 5 | |
| PostalCode | PostalCode,PostalCodeForDisplay | 12 | |
| PrfrdCommMediumType | PrfrdCommMediumType | 4 | |
| Region | Region | 10 | |
| RoomNumber | RoomNumber | 5 | |
| SearchTerm1 | SearchTerm1 | 3 | |
| SearchTerm2 | SearchTerm2 | 1 | |
| Street | Street | 2 | |
| StreetName | StreetDisplayName,StreetName | 12 | |
| StreetPrefixName | StreetPrefixName | 7 | |
| StreetSearch | StreetSearch | 2 | |
| StreetSuffixName | StreetSuffixName | 7 | |
| TaxJurisdiction | TaxJurisdiction | 5 | |
| TaxPayerName | TaxPayerName | 1 | |
| TownshipCode | TownshipCode | 1 | |
| TownshipName | TownshipName | 1 | |
| TransportZone | TransportZone | 5 | |
| VATRegistration | VATRegistration | 2 |
@AbapCatalog.sqlViewName: 'IADDRESS'
@AbapCatalog.preserveKey:true
@EndUserText.label: 'Address'
@Analytics : {dataCategory: #DIMENSION}
@AccessControl.authorizationCheck:#PRIVILEGED_ONLY
@AccessControl.privilegedAssociations: ['_DefaultEmailAddress']
@VDM.viewType: #BASIC
@ClientHandling.algorithm: #SESSION_VARIABLE
@ObjectModel.usageType.serviceQuality: #B
@ObjectModel.usageType.sizeCategory: #XL
@ObjectModel.usageType.dataClass: #MASTER
@ObjectModel.representativeKey: 'AddressID'
@Metadata.allowExtensions:true
// protected by DCL0
define view I_Address
as select from adrc
-- Need the person number if this is a person address to get the communication data
left outer join adcp on adcp.addrnumber = adrc.addrnumber
and adcp.date_from = '00010101'
and adcp.nation = ' '
and adcp.comp_pers = 'P'
association [0..1]
to I_AddressPhoneNumber as _DefaultPhoneNumber on _DefaultPhoneNumber.AddressID = $projection.AddressID
and ( _DefaultPhoneNumber.Person = $projection.Person
or _DefaultPhoneNumber.Person = ' ' )
and _DefaultPhoneNumber.PhoneNumberType = '1'
association [0..1] to I_AddressPhoneNumber as _DefaultPrivatePhoneNumber on _DefaultPrivatePhoneNumber.AddressID = $projection.AddressID
and _DefaultPrivatePhoneNumber.Person = $projection.Person
and _DefaultPrivatePhoneNumber.PhoneNumberType = '1'
association [0..1] to I_AddressPhoneNumber as _DefaultCorporatePhoneNumber on _DefaultCorporatePhoneNumber.AddressID = $projection.AddressID
and _DefaultCorporatePhoneNumber.Person = ' '
and _DefaultCorporatePhoneNumber.PhoneNumberType = '1'
association [0..1] to I_AddressPhoneNumber as _DefaultMobilePhoneNumber on _DefaultMobilePhoneNumber.AddressID = $projection.AddressID
and ( _DefaultMobilePhoneNumber.Person = $projection.Person
or _DefaultMobilePhoneNumber.Person = ' ' )
and _DefaultMobilePhoneNumber.PhoneNumberType = '3'
association [0..1] to I_AddressPhoneNumber as _DefaultPvtMobilePhoneNumber on _DefaultPvtMobilePhoneNumber.AddressID = $projection.AddressID
and _DefaultPvtMobilePhoneNumber.Person = $projection.Person
and _DefaultPvtMobilePhoneNumber.PhoneNumberType = '3'
association [0..1] to I_AddressPhoneNumber as _DefaultCorpMobilePhoneNumber on _DefaultCorpMobilePhoneNumber.AddressID = $projection.AddressID
and _DefaultCorpMobilePhoneNumber.Person = ' '
and _DefaultCorpMobilePhoneNumber.PhoneNumberType = '3'
association [0..1] to I_AddressFaxNumber as _DefaultFaxNumber on _DefaultFaxNumber.AddressID = $projection.AddressID
and ( _DefaultFaxNumber.Person = $projection.Person
or _DefaultFaxNumber.Person = ' ' )
and _DefaultFaxNumber.IsDefaultFaxNumber = 'X'
association [0..1] to I_AddressFaxNumber as _DefaultPrivateFaxNumber on _DefaultPrivateFaxNumber.AddressID = $projection.AddressID
and _DefaultPrivateFaxNumber.Person = $projection.Person
and _DefaultPrivateFaxNumber.IsDefaultFaxNumber = 'X'
association [0..1] to I_AddressFaxNumber as _DefaultCorpFaxNumber on _DefaultCorpFaxNumber.AddressID = $projection.AddressID
and _DefaultCorpFaxNumber.Person = ' '
and _DefaultCorpFaxNumber.IsDefaultFaxNumber = 'X'
association [0..1] to I_AddressEmailAddress as _DefaultEmailAddress on _DefaultEmailAddress.AddressID = $projection.AddressID
and ( _DefaultEmailAddress.Person = $projection.Person
or _DefaultEmailAddress.Person = ' ' )
and _DefaultEmailAddress.IsDefaultEmailAddress = 'X'
association [0..1] to I_AddressEmailAddress as _DefaultPvtEmailAddress on _DefaultPvtEmailAddress.AddressID = $projection.AddressID
and _DefaultPvtEmailAddress.Person = $projection.Person
and _DefaultPvtEmailAddress.IsDefaultEmailAddress = 'X'
association [0..1] to I_AddressEmailAddress as _DefaultCorpEmailAddress on _DefaultCorpEmailAddress.AddressID = $projection.AddressID
and _DefaultCorpEmailAddress.Person = ' '
and _DefaultCorpEmailAddress.IsDefaultEmailAddress = 'X'
association [0..1] to I_AddressHomepageURL as _DefaultURLAddress on _DefaultURLAddress.AddressID = $projection.AddressID
and ( _DefaultURLAddress.Person = $projection.Person
or _DefaultURLAddress.Person = ' ' )
and _DefaultURLAddress.IsDefaultURLAddress = 'X'
association [0..1] to I_AddressHomepageURL as _DefaultPvtURLAddress on _DefaultPvtURLAddress.AddressID = $projection.AddressID
and _DefaultPvtURLAddress.Person = $projection.Person
and _DefaultPvtURLAddress.IsDefaultURLAddress = 'X'
association [0..1] to I_AddressHomepageURL as _DefaultCorpURLAddress on _DefaultCorpURLAddress.AddressID = $projection.AddressID
and _DefaultCorpURLAddress.Person = ' '
and _DefaultCorpURLAddress.IsDefaultURLAddress = 'X'
association [0..1] to I_Region as _Region on $projection.Region = _Region.Region
and $projection.Country = _Region.Country
association [0..1] to I_Country as _Country on $projection.Country = _Country.Country
association [0..1] to I_CityCode as _CityCode on $projection.Country = _CityCode.Country
and $projection.Region = _CityCode.Region
and $projection.CityCode = _CityCode.CityCode
association [0..1] to I_CountyCode as _CountyCode on $projection.Country = _CountyCode.Country
and $projection.Region = _CountyCode.Region
and $projection.CountyCode = _CountyCode.County
association [0..1] to I_FormOfAddress as _FormOfAddress on $projection.FormOfAddress = _FormOfAddress.FormOfAddress
// association [0..1] to C_BPLanguageVH as _LanguageValueHelp on $projection.CorrespondenceLanguage = _LanguageValueHelp.Language
// association [0..*] to I_LanguageText as _LanguageText on $projection.CorrespondenceLanguage = _LanguageText.LanguageCode
{
key adrc.addrnumber as AddressID,
adrc_uuid as AddressUUID,
name_co as CareOfName,
location as AdditionalStreetSuffixName,
// @ObjectModel: {
// foreignKey.association: '_LanguageValueHelp'
//,mandatory: true
// }
// @ObjectModel.text.association: '_LanguageText'
langu as CorrespondenceLanguage,
adrc.deflt_comm as PrfrdCommMediumType,
po_box as POBox,
po_box_num as POBoxIsWithoutNumber,
post_code2 as POBoxPostalCode,
po_box_lobby as POBoxLobbyName,
po_box_loc as POBoxDeviatingCityName,
po_box_reg as POBoxDeviatingRegion,
po_box_cty as POBoxDeviatingCountry,
deli_serv_type as DeliveryServiceTypeCode,
deli_serv_number as DeliveryServiceNumber,
time_zone as AddressTimeZone,
adrc.chckstatus as CityFileTestStatus,
adrc.dont_use_s as AddressStreetUnusable,
adrc.dont_use_p as AddressPostBoxUnusable,
/*
, case when type = '1' then but000.name1_text
when type = '2'
//workaround to add the space: name_org1+' '+name_org2
then substring(replace(concat(name_org1, concat(' &@', name_org2)), '&@', ''),1,80)
else '' //add this to avoid the warning
end as BusinessPartnerName
*/
cast(substring(replace(concat(name1, concat(' &@', name2)), '&@', ''),1,80) as adfullname ) as FullName,
// name1 as Name,
// name2 as AdditionalName,
city1 as CityName,
city2 as District,
city_code as CityCode,
home_city as HomeCityName,
post_code1 as PostalCode,
post_code3 as CompanyPostalCode,
street as StreetName,
str_suppl1 as StreetPrefixName,
str_suppl2 as AdditionalStreetPrefixName,
str_suppl3 as StreetSuffixName,
house_num1 as HouseNumber,
house_num2 as HouseNumberSupplementText,
adrc.building as Building,
adrc.floor as Floor,
adrc.roomnumber as RoomNumber,
country as Country,
region as Region,
county as County,
county_code as CountyCode,
township_code as TownshipCode,
township as TownshipName,
// title as Title, // replace with FormOf Address
title as FormOfAddress,
//fields required for globalisation
name1 as BusinessPartnerName1,
name2 as BusinessPartnerName2,
adrc.nation as Nation,
adrc.tel_number as PhoneNumber,
adrc.fax_number as FaxNumber,
adrc.sort1 as SearchTerm1,
adrc.sort2 as SearchTerm2,
mc_street as StreetSearch,
mc_city1 as CitySearch,
//Following fields are needed in BP Customer-Supplier Apps
name3 as BusinessPartnerName3,
name4 as BusinessPartnerName4,
taxjurcode as TaxJurisdiction,
transpzone as TransportZone,
city_code2 as AddressCityPostBoxCode,
// Disabled NULL handling due to Performance. Do Null Handling in consuming layer, please
// We tested that it is cheaper to add the OR conditions into the child-associations
// case
// when adcp.persnumber is null then ' '
// -- possible alternative to the above when adrc.pers_addr = ' ' then ' '
// else adcp.persnumber
// end as Person,
adcp.persnumber as Person, //NULL possible here.
_DefaultPhoneNumber, _DefaultPrivatePhoneNumber, _DefaultCorporatePhoneNumber,
_DefaultMobilePhoneNumber, _DefaultPvtMobilePhoneNumber, _DefaultCorpMobilePhoneNumber,
_DefaultFaxNumber, _DefaultPrivateFaxNumber, _DefaultCorpFaxNumber,
_DefaultEmailAddress, _DefaultPvtEmailAddress, _DefaultCorpEmailAddress,
_DefaultURLAddress, _DefaultPvtURLAddress, _DefaultCorpURLAddress,
_Region,
_Country,
_CountyCode, // to be aligned: better without "Code"?
_CityCode, // to be aligned: better without "Code"?
_FormOfAddress
//_LanguageValueHelp,
//_LanguageText
}
where
adrc.date_from = '00010101'
and adrc.nation = ' '