@VDM: {
lifecycle.contract.type: #SAP_INTERNAL_API,
viewType: #TRANSACTIONAL
}
@AccessControl: {
authorizationCheck: #CHECK,
personalData.blocking: #('TRANSACTIONAL_DATA')
}
@ObjectModel: {
usageType: {
dataClass: #TRANSACTIONAL,
serviceQuality: #C,
sizeCategory: #L
}
}
@Metadata.ignorePropagatedAnnotations: true
@EndUserText.label: 'Sales Order Ship-to Party - TP'
define view entity R_SalesOrderShipToPartyTP
as select from I_SalesOrderPartner as SalesOrderPartner
association to parent R_SalesOrderTP as _SalesOrder on $projection.SalesOrder = _SalesOrder.SalesOrder
association [0..1] to I_Language as _CorrespondenceLanguage on $projection.CorrespondenceLanguage = _CorrespondenceLanguage.Language
association [0..1] to I_FormOfAddress as _FormOfAddress on $projection.FormOfAddress = _FormOfAddress.FormOfAddress
association [0..1] to I_TransportationZone as _TransportationZone on $projection.transportzone = _TransportationZone.TransportZone
and $projection.country = _TransportationZone.CountryCode
{
key SalesOrder,
@ObjectModel.text.element: [ 'FullName' ]
SalesOrderPartner.Customer as Partner,
SalesOrderPartner.ReferenceBusinessPartner,
@Semantics.text:true
@Semantics.name.fullName: true
SalesOrderPartner.FullName,
@Semantics.name.givenName: true
SalesOrderPartner._OrgNamePostalAddress.AddresseeName1 as BusinessPartnerName1,
@Semantics.name.familyName: true
SalesOrderPartner._OrgNamePostalAddress.AddresseeName2 as BusinessPartnerName2,
@Semantics.name.additionalName: true
SalesOrderPartner._OrgNamePostalAddress.AddresseeName3 as BusinessPartnerName3,
@Semantics.name.additionalName: true
SalesOrderPartner._OrgNamePostalAddress.AddresseeName4 as BusinessPartnerName4,
@ObjectModel.foreignKey.association: '_FormOfAddress'
@Semantics.name.jobTitle: true
SalesOrderPartner.FormOfAddress,
@Semantics.address.zipCode:true
SalesOrderPartner._OrgNamePostalAddress.PostalCode,
@Semantics.address.city:true
SalesOrderPartner._OrgNamePostalAddress.CityName,
SalesOrderPartner._OrgNamePostalAddress.DistrictName,
@Semantics.address.country:true
@ObjectModel.foreignKey.association: '_Country'
SalesOrderPartner._OrgNamePostalAddress.Country,
@ObjectModel.foreignKey.association: '_Region'
@Semantics.address.region: true
SalesOrderPartner._OrgNamePostalAddress.Region,
@Semantics.address.street: true
SalesOrderPartner._OrgNamePostalAddress.StreetName,
@Semantics.address.street: true
SalesOrderPartner._OrgNamePostalAddress.StreetPrefixName1,
@Semantics.address.street: true
SalesOrderPartner._OrgNamePostalAddress.StreetPrefixName2,
@Semantics.address.street: true
SalesOrderPartner._OrgNamePostalAddress.StreetSuffixName1,
@Semantics.address.street: true
SalesOrderPartner._OrgNamePostalAddress.StreetSuffixName2,
@Semantics.address.streetNoNumber: true
SalesOrderPartner._OrgNamePostalAddress.HouseNumber,
@Semantics.telephone.type: [#WORK]
SalesOrderPartner.InternationalPhoneNumber,
@Semantics.telephone.type: [#WORK]
cast(' ' as ad_tlxtns) as PhoneNumberExtension,
//Field to be removed -> performance issue in denormalization below
//SalesOrderPartner._OrganizationAddress._CurrentDfltLandlinePhoneNmbr.PhoneExtensionNumber as PhoneNumberExtension,
@Semantics.telephone.type: [#CELL]
SalesOrderPartner.InternationalMobilePhoneNumber,
@Semantics.telephone.type: [#FAX]
SalesOrderPartner.InternationalFaxNumber,
@Semantics.telephone.type: [#FAX]
cast(' ' as ad_fxxtns) as FaxNumberExtension,
//Field to be removed -> performance issue in denormalization below
//SalesOrderPartner._OrganizationAddress._CurrentDfltFaxNumber.FaxExtensionNumber as FaxNumberExtension,
@Semantics.eMail.address: true
@Semantics.eMail.type: [#WORK]
SalesOrderPartner.EmailAddress,
@Semantics.address.postBox: true
SalesOrderPartner._OrgNamePostalAddress.POBox,
@Semantics.address.zipCode:true
SalesOrderPartner._OrgNamePostalAddress.POBoxPostalCode,
@EndUserText.label : 'Correspondence Language'
@ObjectModel.foreignKey.association: '_CorrespondenceLanguage'
SalesOrderPartner.CorrespondenceLanguage,
SalesOrderPartner._OrgNamePostalAddress.TaxJurisdiction,
@ObjectModel.foreignKey.association: '_TransportationZone'
SalesOrderPartner._OrgNamePostalAddress.TransportZone,
@Semantics.text: true
SalesOrderPartner.UnloadingPointName,
SalesOrderPartner.VATRegistration,
SalesOrderPartner.AddressID,
SalesOrderPartner.AddressPersonID,
SalesOrderPartner.AddressObjectType,
SalesOrderPartner.SDDocPartnerAddrIsDocSpecific,
// DCL
@Consumption.hidden: true
_SalesOrder.SalesOrderType,
@Consumption.hidden: true
_SalesOrder.SalesOrganization,
@Consumption.hidden: true
_SalesOrder.DistributionChannel,
@Consumption.hidden: true
_SalesOrder.OrganizationDivision,
// Exposed associations
_SalesOrder,
_CorrespondenceLanguage,
_FormOfAddress,
_TransportationZone,
SalesOrderPartner._OrgNamePostalAddress._Country,
SalesOrderPartner._OrgNamePostalAddress._Region
}
where SalesOrderPartner.PartnerFunction = 'WE'
/*+[internal] {
"BASEINFO":
{
"FROM":
[
"I_ADDRORGNAMEPOSTALADDRESS",
"I_SALESORDERPARTNER",
"R_SALESORDERTP"
],
"ASSOCIATED":
[
"I_COUNTRY",
"I_FORMOFADDRESS",
"I_LANGUAGE",
"I_REGION",
"I_TRANSPORTATIONZONE",
"R_SALESORDERTP"
],
"BASE":
[
"I_ADDRORGNAMEPOSTALADDRESS"
],
"ANNO_REF":
[],
"SCALAR_FUNCTION":
[],
"VERSION":0,
"ANNOREF_EVALUATION_ERROR":""
}
}*/