@AccessControl.authorizationCheck: #CHECK
@EndUserText.label: 'Consumption Bank Address TP'
@Metadata.allowExtensions: true
@ObjectModel.usageType:{
serviceQuality: #D,
sizeCategory: #L,
dataClass: #MASTER
}
@VDM.viewType: #CONSUMPTION
define view entity C_BankAddressTP
as projection on R_BankAddressTP as BankAddress
{
key BankCountry,
key BankInternalID,
//@Semantics.text: true
//LongBankName, //char80 ... it is exposed via case condition in C_BankTP
//LongBankBranch, //char80
@Semantics.address.street: true
StreetName,
@Semantics.address.streetNoNumber: true
HouseNumber,
HouseNumberSupplementText,
@Semantics.address.city: true
CityName,
/*@Consumption.valueHelpDefinition: [
{ entity: { name: 'I_PostalCityVH',
element: 'PostalCode' }
}] */
@Semantics.address.zipCode: true
PostalCode,
@Semantics.address.country: true
@ObjectModel.text.element: [ 'BankCountryName' ]
@Consumption.valueHelpDefinition: [{ entity: { name: 'I_CountryVH', element: 'Country' } }]
Country,
@ObjectModel.text.element: [ 'RegionName' ]
@Consumption.valueHelpDefinition: [
{ entity : {name: 'I_RegionVH', element: 'Region' },
additionalBinding : [ { localElement : 'Country', element : 'Country' } ]
}]
Region,
@ObjectModel.text.element: ['LanguageName']
@Consumption.valueHelpDefinition: [{ entity: { name: 'I_Language', element: 'Language' } }]
CorrespondenceLanguage,
@UI.hidden: true
_CorrespondenceLanguage._Text.LanguageName : localized,
//AddressObjectType,
//PrfrdCommMediumType,
//AddresseeFullName,
DistrictName,
VillageName,
CompanyPostalCode,
@ObjectModel.text.element: ['AddressNonDeliverableReasonTxt']
@Consumption.valueHelpDefinition: [{ entity: { name: 'I_AddrNonDeliverableReasonVH', element: 'AddressNonDeliverableReason' } }]
StreetAddrNonDeliverableReason,
@UI.hidden: true
_StreetAddrNonDeliverableRsn._Text.AddressNonDeliverableReasonTxt : localized,
StreetPrefixName1,
StreetPrefixName2,
StreetSuffixName1,
StreetSuffixName2,
Building,
Floor,
RoomNumber,
FormOfAddress,
TaxJurisdiction,
TransportZone,
AddressSearchTerm1,
AddressSearchTerm2,
POBox,
@ObjectModel.text.element: ['AddrNonDeliverableReasonDesc']
@Consumption.valueHelpDefinition: [{ entity : {name: 'I_AddrNonDeliverableReasonVH', element: 'AddressNonDeliverableReason' } }]
POBoxAddrNonDeliverableReason,
@UI.hidden: true
_POBoxAddrNonDeliverableReason._Text.AddrNonDeliverableReasonDesc : localized,
POBoxIsWithoutNumber,
POBoxPostalCode,
POBoxLobbyName,
POBoxDeviatingCityName,
@ObjectModel.text.element: ['BankPOBoxRegionName']
@Consumption.valueHelpDefinition: [
{ entity : {name: 'C_BankRegionVH', element: 'Region' },
additionalBinding : [ { localElement : 'POBoxDeviatingCountry', element : 'Country' } ]
}]
POBoxDeviatingRegion,
@ObjectModel.text.element: ['CountryName']
@Consumption.valueHelpDefinition: [{ entity : {name: 'I_CountryVH', element: 'Country' } }]
POBoxDeviatingCountry,
@UI.hidden: true
_POBoxDeviatingCountry._Text.CountryName : localized,
@UI.hidden: true
_POBoxDeviatingRegion._RegionText.RegionName as BankPOBoxRegionName : localized,
CareOfName,
@ObjectModel.text.element: ['DeliveryServiceTypeDescription']
@Consumption.valueHelpDefinition: [{ entity : {name: 'I_AddrDeliveryServiceTypeVH', element: 'DeliveryServiceTypeCode' } }]
DeliveryServiceTypeCode,
@UI.hidden: true
_DeliveryServiceTypeCode._Text.DeliveryServiceTypeDescription : localized,
DeliveryServiceNumber,
@ObjectModel.text.element: ['TimeZoneText']
@Consumption.valueHelpDefinition: [{ entity : {name: 'C_TimeZoneValueHelp', element: 'TimeZoneID' } }]
AddressTimeZone,
@UI.hidden: true
_TimeZone._TimeZoneText.TimeZoneText : localized,
SecondaryRegionName,
TertiaryRegionName,
//@ObjectModel.text.association: '_AddressRepresentationCode._Text'
@Consumption.valueHelpDefinition: [{ entity : {name: 'I_ActiveAddressRepresentation', element: 'AddressRepresentationCode' } }]//C_BankAddressRepCodeVH
@ObjectModel.text.element: ['AddressCodeDesc']
AddressRepresentationCode, //is always empty
@UI.hidden: true
@Semantics.text: true
_AddressRepresentationCode._Text.AddressRepresentationDesc as AddressCodeDesc : localized,
AddressID,
// Telephone
@Consumption.valueHelpDefinition: [{ entity: {name: 'I_BusPartTelCountryPrefix',element: 'Country' },
additionalBinding: [
{element: 'TelephoneCountryPrefix',localElement:'TelephoneCountryPrefix',usage: #RESULT}
]
}]
PhoneNumberCountry,
PhoneNumber,
PhoneExtensionNumber,
InternationalPhoneNumber, //Complete Number: Dialing Code+Number+Extension
_TelCountryPrefix.TelephoneCountryPrefix,
// Mobile Phone
MobilePhoneCountry,
MobilePhoneNumber,
@Semantics.telephone.type: [#PREF]
InternationalMobilePhoneNumber,
// Fax
FaxNumberCountry,
FaxAreaCodeSubscriberNumber,
FaxExtensionNumber,
InternationalFaxNumber,
// E-mail
// @Semantics.eMail.address
EmailAddress,
// URL
// UniformResourceIdentifier,
@UI.hidden: true
@Semantics.text: true
_Country._Text.CountryName as BankCountryName : localized,
@UI.hidden: true
@Semantics.text: true
_Region._RegionText.RegionName : localized,
/* Associations */
BankAddress._Bank : redirected to parent C_BankTP,
BankAddress._BankScriptVariant : redirected to composition child C_BankScriptedAddressTP,
_Country,
_FormOfAddress,
_Region
// _AddressRepresentationCode
// _Language
// _CorrespondenceLanguage
}