@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: 'Ship-to Party for Sales Quotation - TP'
define view entity R_SalesQuotationShipToPartyTP
as select from I_SalesQuotationPartner as SalesQuotationPartner
association to parent R_SalesQuotationTP as _SalesQuotation on $projection.SalesQuotation = _SalesQuotation.SalesQuotation
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 SalesQuotation,
@ObjectModel.text.element: [ 'FullName' ]
SalesQuotationPartner.Customer as Partner,
SalesQuotationPartner.ReferenceBusinessPartner,
@Semantics.text:true
@Semantics.name.fullName: true
SalesQuotationPartner.FullName,
@Semantics.name.givenName: true
SalesQuotationPartner._OrgNamePostalAddress.AddresseeName1 as BusinessPartnerName1,
@Semantics.name.familyName: true
SalesQuotationPartner._OrgNamePostalAddress.AddresseeName2 as BusinessPartnerName2,
@Semantics.name.additionalName: true
SalesQuotationPartner._OrgNamePostalAddress.AddresseeName3 as BusinessPartnerName3,
@Semantics.name.additionalName: true
SalesQuotationPartner._OrgNamePostalAddress.AddresseeName4 as BusinessPartnerName4,
@ObjectModel.foreignKey.association: '_FormOfAddress'
@Semantics.name.jobTitle: true
SalesQuotationPartner.FormOfAddress,
@Semantics.address.zipCode:true
SalesQuotationPartner._OrgNamePostalAddress.PostalCode,
@Semantics.address.city:true
SalesQuotationPartner._OrgNamePostalAddress.CityName,
SalesQuotationPartner._OrgNamePostalAddress.DistrictName,
@Semantics.address.country:true
@ObjectModel.foreignKey.association: '_Country'
SalesQuotationPartner._OrgNamePostalAddress.Country,
@ObjectModel.foreignKey.association: '_Region'
@Semantics.address.region: true
SalesQuotationPartner._OrgNamePostalAddress.Region,
@Semantics.address.street: true
SalesQuotationPartner._OrgNamePostalAddress.StreetName,
@Semantics.address.street: true
SalesQuotationPartner._OrgNamePostalAddress.StreetPrefixName1,
@Semantics.address.street: true
SalesQuotationPartner._OrgNamePostalAddress.StreetPrefixName2,
@Semantics.address.street: true
SalesQuotationPartner._OrgNamePostalAddress.StreetSuffixName1,
@Semantics.address.street: true
SalesQuotationPartner._OrgNamePostalAddress.StreetSuffixName2,
@Semantics.address.streetNoNumber: true
SalesQuotationPartner._OrgNamePostalAddress.HouseNumber,
@Semantics.telephone.type: [#WORK]
SalesQuotationPartner.InternationalPhoneNumber,
@Semantics.telephone.type: [#WORK]
cast(' ' as ad_tlxtns) as PhoneNumberExtension,
//Field to be removed -> performance issue in denormalization below
//SalesQuotationPartner._OrganizationAddress._CurrentDfltLandlinePhoneNmbr.PhoneExtensionNumber as PhoneNumberExtension,
@Semantics.telephone.type: [#CELL]
SalesQuotationPartner.InternationalMobilePhoneNumber,
@Semantics.telephone.type: [#FAX]
SalesQuotationPartner.InternationalFaxNumber,
@Semantics.telephone.type: [#FAX]
cast(' ' as ad_fxxtns) as FaxNumberExtension,
//Field to be removed -> performance issue in denormalization below
//SalesQuotationPartner._OrganizationAddress._CurrentDfltFaxNumber.FaxExtensionNumber as FaxNumberExtension,
@Semantics.eMail.address: true
@Semantics.eMail.type: [#WORK]
SalesQuotationPartner.EmailAddress,
@Semantics.address.postBox: true
SalesQuotationPartner._OrgNamePostalAddress.POBox,
@Semantics.address.zipCode:true
SalesQuotationPartner._OrgNamePostalAddress.POBoxPostalCode,
@EndUserText.label : 'Correspondence Language'
@ObjectModel.foreignKey.association: '_CorrespondenceLanguage'
SalesQuotationPartner.CorrespondenceLanguage,
SalesQuotationPartner._OrgNamePostalAddress.TaxJurisdiction,
@ObjectModel.foreignKey.association: '_TransportationZone'
SalesQuotationPartner._OrgNamePostalAddress.TransportZone,
@Semantics.text: true
SalesQuotationPartner.UnloadingPointName,
SalesQuotationPartner.VATRegistration,
SalesQuotationPartner.AddressID,
SalesQuotationPartner.AddressPersonID,
SalesQuotationPartner.AddressObjectType,
SalesQuotationPartner.SDDocPartnerAddrIsDocSpecific,
// DCL
@Consumption.hidden: true
_SalesQuotation.SalesQuotationType,
@Consumption.hidden: true
_SalesQuotation.SalesOrganization,
@Consumption.hidden: true
_SalesQuotation.DistributionChannel,
@Consumption.hidden: true
_SalesQuotation.OrganizationDivision,
// Exposed associations
_SalesQuotation,
_CorrespondenceLanguage,
_FormOfAddress,
_TransportationZone,
SalesQuotationPartner._OrgNamePostalAddress._Country,
SalesQuotationPartner._OrgNamePostalAddress._Region
}
where
SalesQuotationPartner.PartnerFunction = 'WE'
/*+[internal] {
"BASEINFO":
{
"FROM":
[
"I_ADDRORGNAMEPOSTALADDRESS",
"I_SALESQUOTATIONPARTNER",
"R_SALESQUOTATIONTP"
],
"ASSOCIATED":
[
"I_COUNTRY",
"I_FORMOFADDRESS",
"I_LANGUAGE",
"I_REGION",
"I_TRANSPORTATIONZONE",
"R_SALESQUOTATIONTP"
],
"BASE":
[
"I_ADDRORGNAMEPOSTALADDRESS"
],
"ANNO_REF":
[],
"SCALAR_FUNCTION":
[],
"VERSION":0,
"ANNOREF_EVALUATION_ERROR":""
}
}*/