@VDM: {
viewType: #CONSUMPTION,
usage.type: [#TRANSACTIONAL_PROCESSING_SERVICE]
}
@AccessControl: {
authorizationCheck: #CHECK,
personalData.blocking: #('TRANSACTIONAL_DATA')
}
@Metadata: {
ignorePropagatedAnnotations: true,
allowExtensions: true
}
@ObjectModel: {
modelingPattern: #TRANSACTIONAL_QUERY,
supportedCapabilities: [#TRANSACTIONAL_PROVIDER],
usageType: {
dataClass: #TRANSACTIONAL,
serviceQuality: #C,
sizeCategory: #L
},
query.implementedBy: 'ABAP:CL_S4RAP_STICKY_QRY'
}
@Consumption.dbHints: [ 'USE_HEX_PLAN', 'NO_SUBPLAN_SHARING' ]
@EndUserText.label: 'Sales Order Item Partner'
define view entity C_SalesOrderItemPartnerManage
as projection on R_SalesOrderItemPartnerTP as ItemPartner
association [0..1] to C_PartnerFunctionUnconverted as _PartnerFunction on $projection.PartnerFunctionForEdit = _PartnerFunction.PartnerFunction
{
key ItemPartner.SalesOrder,
key ItemPartner.SalesOrderItem,
key ItemPartner.PartnerFunction,
@ObjectModel.foreignKey.association: '_PartnerFunction'
@ObjectModel.editableFieldFor: 'PartnerFunction'
@Semantics.organization.role: true
ItemPartner.PartnerFunctionForEdit,
@ObjectModel.text.element: ['FullName']
@Consumption:{
semanticObject: 'Customer',
semanticObjectMapping: { additionalBinding: [{ element: 'BusinessPartner',
localElement: 'ReferenceBusinessPartner' }] }
}
ItemPartner.Customer,
@ObjectModel.text.element: ['FullName']
@Consumption:{
semanticObject: 'Supplier',
semanticObjectMapping: { additionalBinding: [{ element: 'BusinessPartner',
localElement: 'ReferenceBusinessPartner' }] }
}
ItemPartner.Supplier,
@ObjectModel.text.element: ['FullName']
@Consumption:{
semanticObject: 'Employee',
semanticObjectMapping: { additionalBinding: [{ element: 'BusinessPartner',
localElement: 'ReferenceBusinessPartner' }] }
}
ItemPartner.Personnel,
@ObjectModel.text.element: ['FullName']
@Consumption:{
semanticObject: 'ContactPerson',
semanticObjectMapping: { additionalBinding: [{ element: 'BusinessPartner',
localElement: 'ReferenceBusinessPartner' }] }
}
ItemPartner.ContactPerson,
ItemPartner.Partner,
ItemPartner.ReferenceBusinessPartner,
@Semantics.text: true
ItemPartner.FullName,
ItemPartner.SDDocumentPartnerType,
ItemPartner.PartnerIsSpecificForSDDocItem,
@Semantics.text: true
ItemPartner.UnloadingPointName,
ItemPartner.VATRegistration,
@ObjectModel.virtualElementCalculatedBy: 'ABAP:CL_SD_SALESORDER_V4_UI_UTIL'
@ObjectModel.text.element: ['FormattedPostalAddressDesc']
virtual SDCustomerAddressID : adrnr,
@ObjectModel.virtualElementCalculatedBy: 'ABAP:CL_SD_SALESORDER_V4_UI_UTIL'
@ObjectModel.text.element: ['FormattedPostalAddressDesc']
virtual SDContactPersonAddressID : adrnr,
@Semantics.nullValueIndicatorFor: 'PartnerIsSpecificForSDDocItem'
@ObjectModel.virtualElementCalculatedBy: 'ABAP:CL_SD_S4H_SDOC_ODATA_UTIL'
virtual PartnerIsSpcfcForSDDocItem_H : rap_null_value_indicator,
ItemPartner.SDDocPartnerAddrIsDocSpecific,
@Semantics.nullValueIndicatorFor: 'SDDocPartnerAddrIsDocSpecific'
@ObjectModel.virtualElementCalculatedBy: 'ABAP:CL_SD_S4H_SDOC_ODATA_UTIL'
virtual SDDocPartnerAddrIsDocSpcfc_H : rap_null_value_indicator,
@EndUserText.label: 'One-Time Customer'
ItemPartner.PartnerIsOneTimeAccount,
@Consumption.hidden: true
@Semantics.booleanIndicator: true
@Semantics.nullValueIndicatorFor: 'PartnerIsOneTimeAccount'
@ObjectModel.virtualElementCalculatedBy: 'ABAP:CL_SD_S4H_SDOC_ODATA_UTIL'
virtual PartnerIsOneTimeAccount_H : rap_null_value_indicator,
@ObjectModel.text.element: ['FormattedPostalAddressDesc']
@ObjectModel.sort.enabled: false
ItemPartner.AddressID,
ItemPartner.AddressPersonID,
ItemPartner.AddressObjectType,
@Semantics.address.label: true
@ObjectModel.virtualElementCalculatedBy: 'ABAP:CL_SD_S4H_SDOC_ODATA_UTIL'
virtual FormattedPostalAddressDesc : ad_line_s,
@ObjectModel.virtualElementCalculatedBy: 'ABAP:CL_SD_SALESORDER_V4_UI_UTIL'
virtual BusinessPartnerName1 : ad_name1,
@ObjectModel.virtualElementCalculatedBy: 'ABAP:CL_SD_SALESORDER_V4_UI_UTIL'
virtual BusinessPartnerName2 : ad_name2,
@ObjectModel.virtualElementCalculatedBy: 'ABAP:CL_SD_SALESORDER_V4_UI_UTIL'
virtual BusinessPartnerName3 : ad_name3,
@ObjectModel.virtualElementCalculatedBy: 'ABAP:CL_SD_SALESORDER_V4_UI_UTIL'
virtual BusinessPartnerName4 : ad_name4,
@ObjectModel.foreignKey.association: '_FormOfAddress'
@Semantics.name.jobTitle: true
ItemPartner.FormOfAddress,
@Semantics.address.zipCode:true
ItemPartner.PostalCode,
@Semantics.address.city:true
ItemPartner.CityName,
@Semantics.address.country:true
@ObjectModel.foreignKey.association: '_Country'
ItemPartner.Country,
@ObjectModel.foreignKey.association: '_Region'
@Semantics.address.region: true
ItemPartner.Region,
ItemPartner.DistrictName,
@Semantics.address.street: true
ItemPartner.StreetName,
@Semantics.address.street: true
ItemPartner.StreetPrefixName1,
@Semantics.address.street: true
ItemPartner.StreetPrefixName2,
@Semantics.address.street: true
ItemPartner.StreetSuffixName1,
@Semantics.address.street: true
ItemPartner.StreetSuffixName2,
@Semantics.address.streetNoNumber: true
ItemPartner.HouseNumber,
@Semantics.address.postBox: true
ItemPartner.POBox,
@Semantics.address.zipCode:true
ItemPartner.POBoxPostalCode,
@EndUserText.label: 'Correspondence Language'
@ObjectModel.foreignKey.association: '_CorrespondenceLanguage'
ItemPartner.CorrespondenceLanguage,
ItemPartner.TaxJurisdiction,
@ObjectModel.foreignKey.association: '_TransportationZone'
ItemPartner.TransportZone,
@Semantics.telephone.type: [#WORK]
ItemPartner.InternationalPhoneNumber,
@Semantics.telephone.type: [#CELL]
ItemPartner.InternationalMobilePhoneNumber,
@Semantics.telephone.type: [#FAX]
ItemPartner.InternationalFaxNumber,
@Semantics.eMail.address: true
@Semantics.eMail.type: [#WORK]
ItemPartner.EmailAddress,
@ObjectModel.virtualElementCalculatedBy: 'ABAP:CL_SD_SALESORDER_V4_UI_UTIL'
virtual UICT_VATRegistration : boole_d,
@ObjectModel.virtualElementCalculatedBy: 'ABAP:CL_SD_SALESORDER_V4_UI_UTIL'
virtual UICT_UnloadingPointName : boole_d,
@ObjectModel.virtualElementCalculatedBy: 'ABAP:CL_SD_SALESORDER_V4_UI_UTIL'
virtual UICT_BusinessPartnerName3 : boole_d,
@ObjectModel.virtualElementCalculatedBy: 'ABAP:CL_SD_SALESORDER_V4_UI_UTIL'
virtual UICT_BusinessPartnerName4 : boole_d,
// DCL
@Consumption.hidden: true
ItemPartner.SalesOrderType,
@Consumption.hidden: true
ItemPartner.SalesOrganization,
@Consumption.hidden: true
ItemPartner.DistributionChannel,
@Consumption.hidden: true
ItemPartner.OrganizationDivision,
//Associations
@ObjectModel.filter.enabled: false
@ObjectModel.sort.enabled: false
ItemPartner._Item : redirected to parent C_SalesOrderItemManage,
@ObjectModel.filter.enabled: false
@ObjectModel.sort.enabled: false
ItemPartner._SalesOrder : redirected to C_SalesOrderManage,
@ObjectModel.filter.enabled: false
@ObjectModel.sort.enabled: false
_PartnerFunction,
@ObjectModel.filter.enabled: false
@ObjectModel.sort.enabled: false
ItemPartner._FormOfAddress,
@ObjectModel.filter.enabled: false
@ObjectModel.sort.enabled: false
ItemPartner._Country,
@ObjectModel.filter.enabled: false
@ObjectModel.sort.enabled: false
ItemPartner._Region,
@ObjectModel.filter.enabled: false
@ObjectModel.sort.enabled: false
ItemPartner._CorrespondenceLanguage,
@ObjectModel.filter.enabled: false
@ObjectModel.sort.enabled: false
ItemPartner._TransportationZone
}