@VDM: {
lifecycle.contract.type: #SAP_INTERNAL_API,
viewType: #TRANSACTIONAL
}
@AccessControl: {
authorizationCheck: #MANDATORY,
personalData.blocking: #('TRANSACTIONAL_DATA'),
privilegedAssociations: [ '_DfltAddrRprstn' ]
}
@ObjectModel: {
usageType: {
dataClass: #TRANSACTIONAL,
serviceQuality: #C,
sizeCategory: #L
}
}
@ObjectModel.semanticKey: ['SalesOrderWithoutCharge', 'PartnerFunction']
@Metadata.ignorePropagatedAnnotations: true
@EndUserText.label: 'Sales Order Without Charge Partner - TP'
@Consumption.dbHints: [ 'USE_HEX_PLAN', 'NO_SUBPLAN_SHARING' ]
define view entity R_SlsOrdWithoutChargePartnerTP
as select from I_SlsOrdWthoutChrgPartner as SalesOrderWithoutChargePartner
association to parent R_SalesOrderWithoutChargeTP as _SalesOrderWithoutCharge on $projection.SalesOrderWithoutCharge = _SalesOrderWithoutCharge.SalesOrderWithoutCharge
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 SalesOrderWithoutCharge,
key cast(SalesOrderWithoutChargePartner.PartnerFunction as parvw_unv preserving type ) as PartnerFunction,
@ObjectModel.foreignKey.association: '_PartnerFunction'
@ObjectModel.editableFieldFor: 'PartnerFunction'
cast(SalesOrderWithoutChargePartner.PartnerFunction as parvw_unv preserving type ) as PartnerFunctionForEdit,
SalesOrderWithoutChargePartner.Customer,
SalesOrderWithoutChargePartner.Supplier,
SalesOrderWithoutChargePartner.Personnel,
SalesOrderWithoutChargePartner.ContactPerson,
SalesOrderWithoutChargePartner.ReferenceBusinessPartner,
@ObjectModel.text.element: ['FullName']
SalesOrderWithoutChargePartner.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
SalesOrderWithoutChargePartner.FullName,
_PartnerFunction.SDDocumentPartnerType,
@ObjectModel.foreignKey.association: '_FormOfAddress'
@Semantics.name.jobTitle: true
SalesOrderWithoutChargePartner.FormOfAddress,
@Semantics.address.zipCode:true
SalesOrderWithoutChargePartner._OrgNamePostalAddress.PostalCode,
@Semantics.address.city:true
SalesOrderWithoutChargePartner._OrgNamePostalAddress.CityName,
SalesOrderWithoutChargePartner._OrgNamePostalAddress.DistrictName,
@Semantics.address.country:true
@ObjectModel.foreignKey.association: '_Country'
SalesOrderWithoutChargePartner._OrgNamePostalAddress.Country,
@ObjectModel.foreignKey.association: '_Region'
@Semantics.address.region: true
SalesOrderWithoutChargePartner._OrgNamePostalAddress.Region,
@Semantics.address.street: true
SalesOrderWithoutChargePartner._OrgNamePostalAddress.StreetName,
@Semantics.address.street: true
SalesOrderWithoutChargePartner._OrgNamePostalAddress.StreetPrefixName1,
@Semantics.address.street: true
SalesOrderWithoutChargePartner._OrgNamePostalAddress.StreetPrefixName2,
@Semantics.address.street: true
SalesOrderWithoutChargePartner._OrgNamePostalAddress.StreetSuffixName1,
@Semantics.address.street: true
SalesOrderWithoutChargePartner._OrgNamePostalAddress.StreetSuffixName2,
@Semantics.address.streetNoNumber: true
SalesOrderWithoutChargePartner._OrgNamePostalAddress.HouseNumber,
cast(
case
when SalesOrderWithoutChargePartner.AddressID = ''
then
_WorkPlaceAddress.DestinationLocationCountry
else
_CurrentDfltLandlinePhoneNmbr.PhoneNumberCountry
end
as ad_comctry preserving type ) as PhoneNumberCountry,
cast(
case
when SalesOrderWithoutChargePartner.AddressID = ''
then
_WorkPlaceAddress.PhoneNumber
else
_CurrentDfltLandlinePhoneNmbr.PhoneAreaCodeSubscriberNumber
end
as ad_tlnmbr preserving type ) as PhoneNumber,
cast(
case
when SalesOrderWithoutChargePartner.AddressID = ''
then
_WorkPlaceAddress.PhoneNumberExtension
else
_CurrentDfltLandlinePhoneNmbr.PhoneExtensionNumber
end
as ad_tlxtns preserving type ) as PhoneNumberExtension,
cast(
case
when SalesOrderWithoutChargePartner.AddressID = ''
then
_WorkPlaceAddress.MblPhoneDestinationLocCountry
else
_CurrentDfltMobilePhoneNumber.PhoneNumberCountry
end
as ad_comctry preserving type ) as MobilePhoneCountry,
cast(
case
when SalesOrderWithoutChargePartner.AddressID = ''
then
_WorkPlaceAddress.MobilePhoneNumber
else
_CurrentDfltMobilePhoneNumber.PhoneAreaCodeSubscriberNumber
end
as ad_tlnmbr preserving type ) as MobilePhoneNumber,
cast(
case
when SalesOrderWithoutChargePartner.AddressID = ''
then
_WorkPlaceAddress.FaxNumberCountry
else
_CurrentDfltFaxNumber.FaxNumberCountry
end
as ad_comctry preserving type ) as FaxNumberCountry,
cast(
case
when SalesOrderWithoutChargePartner.AddressID = ''
then
_WorkPlaceAddress.FaxAreaCodeSubscriberNumber
else
_CurrentDfltFaxNumber.FaxAreaCodeSubscriberNumber
end
as ad_fxnmbr preserving type ) as FaxNumber,
cast(
case
when SalesOrderWithoutChargePartner.AddressID = ''
then
_WorkPlaceAddress.FaxExtensionNumber
else
_CurrentDfltFaxNumber.FaxExtensionNumber
end
as ad_fxxtns preserving type ) as FaxNumberExtension,
@Semantics.telephone.type: [#WORK]
SalesOrderWithoutChargePartner.InternationalPhoneNumber,
@Semantics.telephone.type: [#CELL]
SalesOrderWithoutChargePartner.InternationalMobilePhoneNumber,
@Semantics.eMail.address: true
@Semantics.eMail.type: [#WORK]
SalesOrderWithoutChargePartner.EmailAddress,
@Semantics.telephone.type: [#FAX]
SalesOrderWithoutChargePartner.InternationalFaxNumber,
@Semantics.address.postBox: true
SalesOrderWithoutChargePartner._OrgNamePostalAddress.POBox,
@Semantics.address.zipCode:true
SalesOrderWithoutChargePartner._OrgNamePostalAddress.POBoxPostalCode,
@ObjectModel.foreignKey.association: '_CorrespondenceLanguage'
cast(SalesOrderWithoutChargePartner.CorrespondenceLanguage as vdm_sd_sls_langu_corr preserving type ) as CorrespondenceLanguage,
SalesOrderWithoutChargePartner._OrgNamePostalAddress.TaxJurisdiction,
@ObjectModel.foreignKey.association: '_TransportationZone'
SalesOrderWithoutChargePartner._OrgNamePostalAddress.TransportZone,
@Semantics.text: true
SalesOrderWithoutChargePartner.UnloadingPointName,
SalesOrderWithoutChargePartner.VATRegistration,
SalesOrderWithoutChargePartner.AddressID,
SalesOrderWithoutChargePartner.SDDocPartnerAddrIsDocSpecific,
SalesOrderWithoutChargePartner.AddressPersonID,
SalesOrderWithoutChargePartner.AddressObjectType,
// On Conditions For Associations
@Consumption.hidden: true
SalesOrderWithoutChargePartner.SDDocPartnerAddressRefType,
@Consumption.hidden: true
SalesOrderWithoutChargePartner.PartnerIsOneTimeAccount,
@Consumption.hidden: true
SalesOrderWithoutChargePartner.BPAddrDeterminationTransaction,
@Consumption.hidden: true
SalesOrderWithoutChargePartner.BPRefAddressIDForDocSpcfcAddr,
// DCL
@Consumption.hidden: true
_SalesOrderWithoutCharge.SalesOrderWithoutChargeType,
@Consumption.hidden: true
_SalesOrderWithoutCharge.SalesOrganization,
@Consumption.hidden: true
_SalesOrderWithoutCharge.DistributionChannel,
@Consumption.hidden: true
_SalesOrderWithoutCharge.OrganizationDivision,
// Associations
_SalesOrderWithoutCharge,
_PartnerFunction,
_CorrespondenceLanguage,
_FormOfAddress,
_TransportationZone,
SalesOrderWithoutChargePartner._DfltAddrRprstn,
SalesOrderWithoutChargePartner._BusinessPartnerAddress,
SalesOrderWithoutChargePartner._BPRefAddressForDocSpcfcAddr,
SalesOrderWithoutChargePartner._OrgNamePostalAddress._Country,
SalesOrderWithoutChargePartner._OrgNamePostalAddress._Region
}