@VDM: {
lifecycle.contract.type: #SAP_INTERNAL_API,
viewType: #TRANSACTIONAL
}
@AccessControl: {
authorizationCheck: #CHECK,
personalData.blocking: #('TRANSACTIONAL_DATA'),
privilegedAssociations: [ '_DfltAddrRprstn' ]
}
@ObjectModel: {
semanticKey: ['CustomerReturn', 'PartnerFunction'],
usageType: {
dataClass: #TRANSACTIONAL,
serviceQuality: #C,
sizeCategory: #L
}
}
@Consumption.dbHints: [ 'USE_HEX_PLAN', 'NO_SUBPLAN_SHARING' ]
@Metadata.ignorePropagatedAnnotations: true
@EndUserText.label: 'Returns Order Partner - TP'
define view entity R_CustomerReturnPartnerTP
as select from I_CustomerReturnPartner as CustomerReturnPartner
association to parent R_CustomerReturnTP as _CustomerReturn on $projection.CustomerReturn = _CustomerReturn.CustomerReturn
association [0..1] to I_PartnerFunction as _PartnerFunction on $projection.PartnerFunctionForEdit = _PartnerFunction.PartnerFunction
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
association [0..1] to I_AddrCurDfltLandlinePhoneNmbr as _CurrentDfltLandlinePhoneNmbr on $projection.AddressID = _CurrentDfltLandlinePhoneNmbr.AddressID
and $projection.AddressPersonID = _CurrentDfltLandlinePhoneNmbr.AddressPersonID
association [0..1] to I_AddrCurDfltMobilePhoneNumber as _CurrentDfltMobilePhoneNumber on $projection.AddressID = _CurrentDfltMobilePhoneNumber.AddressID
and $projection.AddressPersonID = _CurrentDfltMobilePhoneNumber.AddressPersonID
association [0..1] to I_AddrCurDefaultFaxNumber as _CurrentDfltFaxNumber on $projection.AddressID = _CurrentDfltFaxNumber.AddressID
and $projection.AddressPersonID = _CurrentDfltFaxNumber.AddressPersonID
association [1] to I_WorkplaceAddress as _WorkPlaceAddress on $projection.ReferenceBusinessPartner = _WorkPlaceAddress.BusinessPartner
{
key CustomerReturnPartner.CustomerReturn,
key cast(CustomerReturnPartner.PartnerFunction as parvw_unv preserving type) as PartnerFunction,
@ObjectModel.foreignKey.association: '_PartnerFunction'
cast(CustomerReturnPartner.PartnerFunction as parvw_unv preserving type ) as PartnerFunctionForEdit,
@Consumption.hidden: true
CustomerReturnPartner.Customer,
@Consumption.hidden: true
CustomerReturnPartner.Supplier,
@Consumption.hidden: true
CustomerReturnPartner.Personnel,
@Consumption.hidden: true
CustomerReturnPartner.ContactPerson,
CustomerReturnPartner.ReferenceBusinessPartner,
@ObjectModel.text.element: ['FullName']
CustomerReturnPartner.Partner,
@ObjectModel.virtualElement: true
cast('' as ad_name1) as BusinessPartnerName1,
@ObjectModel.virtualElement: true
cast('' as ad_name2) as BusinessPartnerName2,
@ObjectModel.virtualElement: true
cast('' as ad_name3) as BusinessPartnerName3,
@ObjectModel.virtualElement: true
cast('' as ad_name4) as BusinessPartnerName4,
@Semantics.name.fullName: true
@Semantics.text: true
CustomerReturnPartner.FullName,
_PartnerFunction.SDDocumentPartnerType,
@ObjectModel.foreignKey.association: '_FormOfAddress'
@Semantics.name.jobTitle: true
CustomerReturnPartner.FormOfAddress,
@Semantics.address.zipCode:true
CustomerReturnPartner._OrgNamePostalAddress.PostalCode,
@Semantics.address.city:true
CustomerReturnPartner._OrgNamePostalAddress.CityName,
CustomerReturnPartner._OrgNamePostalAddress.DistrictName,
@Semantics.address.country:true
@ObjectModel.foreignKey.association: '_Country'
CustomerReturnPartner._OrgNamePostalAddress.Country,
@ObjectModel.foreignKey.association: '_Region'
@Semantics.address.region: true
CustomerReturnPartner._OrgNamePostalAddress.Region,
@Semantics.address.street: true
CustomerReturnPartner._OrgNamePostalAddress.StreetName,
@Semantics.address.street: true
CustomerReturnPartner._OrgNamePostalAddress.StreetPrefixName1,
@Semantics.address.street: true
CustomerReturnPartner._OrgNamePostalAddress.StreetPrefixName2,
@Semantics.address.street: true
CustomerReturnPartner._OrgNamePostalAddress.StreetSuffixName1,
@Semantics.address.street: true
CustomerReturnPartner._OrgNamePostalAddress.StreetSuffixName2,
@Semantics.address.streetNoNumber: true
CustomerReturnPartner._OrgNamePostalAddress.HouseNumber,
cast(
case
when CustomerReturnPartner.AddressID = ''
then
_WorkPlaceAddress.DestinationLocationCountry
else
_CurrentDfltLandlinePhoneNmbr.PhoneNumberCountry
end
as ad_comctry preserving type ) as PhoneNumberCountry,
cast(
case
when CustomerReturnPartner.AddressID = ''
then
_WorkPlaceAddress.PhoneNumber
else
_CurrentDfltLandlinePhoneNmbr.PhoneAreaCodeSubscriberNumber
end
as ad_tlnmbr preserving type ) as PhoneNumber,
cast(
case
when CustomerReturnPartner.AddressID = ''
then
_WorkPlaceAddress.PhoneNumberExtension
else
_CurrentDfltLandlinePhoneNmbr.PhoneExtensionNumber
end
as ad_tlxtns preserving type ) as PhoneNumberExtension,
cast(
case
when CustomerReturnPartner.AddressID = ''
then
_WorkPlaceAddress.MblPhoneDestinationLocCountry
else
_CurrentDfltMobilePhoneNumber.PhoneNumberCountry
end
as ad_comctry preserving type ) as MobilePhoneCountry,
cast(
case
when CustomerReturnPartner.AddressID = ''
then
_WorkPlaceAddress.MobilePhoneNumber
else
_CurrentDfltMobilePhoneNumber.PhoneAreaCodeSubscriberNumber
end
as ad_tlnmbr preserving type ) as MobilePhoneNumber,
cast(
case
when CustomerReturnPartner.AddressID = ''
then
_WorkPlaceAddress.FaxNumberCountry
else
_CurrentDfltFaxNumber.FaxNumberCountry
end
as ad_comctry preserving type ) as FaxNumberCountry,
cast(
case
when CustomerReturnPartner.AddressID = ''
then
_WorkPlaceAddress.FaxAreaCodeSubscriberNumber
else
_CurrentDfltFaxNumber.FaxAreaCodeSubscriberNumber
end
as ad_fxnmbr preserving type ) as FaxNumber,
cast(
case
when CustomerReturnPartner.AddressID = ''
then
_WorkPlaceAddress.FaxExtensionNumber
else
_CurrentDfltFaxNumber.FaxExtensionNumber
end
as ad_fxxtns preserving type ) as FaxNumberExtension,
@Semantics.telephone.type: [#WORK]
CustomerReturnPartner.InternationalPhoneNumber,
@Semantics.telephone.type: [#CELL]
CustomerReturnPartner.InternationalMobilePhoneNumber,
@Semantics.telephone.type: [#FAX]
CustomerReturnPartner.InternationalFaxNumber,
@Semantics.eMail.address: true
@Semantics.eMail.type: [#WORK]
CustomerReturnPartner.EmailAddress,
@Semantics.address.postBox: true
CustomerReturnPartner._OrgNamePostalAddress.POBox,
@Semantics.address.zipCode:true
CustomerReturnPartner._OrgNamePostalAddress.POBoxPostalCode,
@ObjectModel.foreignKey.association: '_CorrespondenceLanguage'
CustomerReturnPartner.CorrespondenceLanguage,
CustomerReturnPartner._OrgNamePostalAddress.TaxJurisdiction,
@ObjectModel.foreignKey.association: '_TransportationZone'
CustomerReturnPartner._OrgNamePostalAddress.TransportZone,
@Semantics.text: true
CustomerReturnPartner.UnloadingPointName,
CustomerReturnPartner.VATRegistration,
CustomerReturnPartner.AddressID,
CustomerReturnPartner.AddressPersonID,
CustomerReturnPartner.AddressObjectType,
@Consumption.hidden: true
CustomerReturnPartner.SDDocPartnerAddressRefType,
@Consumption.hidden: true
CustomerReturnPartner.BPAddrDeterminationTransaction,
@Consumption.hidden: true
CustomerReturnPartner.BPRefAddressIDForDocSpcfcAddr,
CustomerReturnPartner.SDDocPartnerAddrIsDocSpecific,
//DCL
@Consumption.hidden: true
_CustomerReturn.CustomerReturnType,
@Consumption.hidden: true
_CustomerReturn.SalesOrganization,
@Consumption.hidden: true
_CustomerReturn.DistributionChannel,
@Consumption.hidden: true
_CustomerReturn.OrganizationDivision,
//Associations
_CustomerReturn,
_PartnerFunction,
_CorrespondenceLanguage,
_FormOfAddress,
_TransportationZone,
CustomerReturnPartner._DfltAddrRprstn,
CustomerReturnPartner._BusinessPartnerAddress,
CustomerReturnPartner._BPRefAddressForDocSpcfcAddr,
CustomerReturnPartner._OrgNamePostalAddress._Country,
CustomerReturnPartner._OrgNamePostalAddress._Region
}