@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 Header Partner'
define view entity C_SalesOrderHdrPartManage
as projection on R_SalesOrderPartnerTP as HeaderPartner
association [0..1] to C_PartnerFunctionUnconverted as _PartnerFunction on $projection.PartnerFunctionForEdit = _PartnerFunction.PartnerFunction
{
key HeaderPartner.SalesOrder,
key HeaderPartner.PartnerFunction,
@ObjectModel.foreignKey.association: '_PartnerFunction'
@ObjectModel.editableFieldFor: 'PartnerFunction'
@Semantics.organization.role: true
HeaderPartner.PartnerFunctionForEdit,
@ObjectModel.text.element: ['FullName']
@Consumption:{
semanticObject: 'Customer',
semanticObjectMapping: { additionalBinding: [{ element: 'BusinessPartner',
localElement: 'ReferenceBusinessPartner' }] }
}
HeaderPartner.Customer,
@ObjectModel.text.element: ['FullName']
@Consumption:{
semanticObject: 'Supplier',
semanticObjectMapping: { additionalBinding: [{ element: 'BusinessPartner',
localElement: 'ReferenceBusinessPartner' }] }
}
HeaderPartner.Supplier,
@ObjectModel.text.element: ['FullName']
@Consumption:{
semanticObject: 'Employee',
semanticObjectMapping: { additionalBinding: [{ element: 'BusinessPartner',
localElement: 'ReferenceBusinessPartner' }] }
}
HeaderPartner.Personnel,
@ObjectModel.text.element: ['FullName']
@Consumption:{
semanticObject: 'ContactPerson',
semanticObjectMapping: { additionalBinding: [{ element: 'BusinessPartner',
localElement: 'ReferenceBusinessPartner' }] }
}
HeaderPartner.ContactPerson,
@Semantics.text: true
@Semantics.name.fullName: true
HeaderPartner.FullName,
HeaderPartner.SDDocumentPartnerType,
HeaderPartner.Partner,
HeaderPartner.ReferenceBusinessPartner,
@ObjectModel.foreignKey.association: '_FormOfAddress'
@Semantics.name.jobTitle: true
HeaderPartner.FormOfAddress,
@Semantics.address.zipCode:true
HeaderPartner.PostalCode,
@Semantics.address.city:true
HeaderPartner.CityName,
HeaderPartner.DistrictName,
@Semantics.address.country:true
@ObjectModel.foreignKey.association: '_Country'
HeaderPartner.Country,
@ObjectModel.foreignKey.association: '_Region'
@Semantics.address.region: true
HeaderPartner.Region,
@Semantics.address.street: true
HeaderPartner.StreetName,
@Semantics.address.street: true
HeaderPartner.StreetPrefixName1,
@Semantics.address.street: true
HeaderPartner.StreetPrefixName2,
@Semantics.address.street: true
HeaderPartner.StreetSuffixName1,
@Semantics.address.street: true
HeaderPartner.StreetSuffixName2,
@Semantics.address.streetNoNumber: true
HeaderPartner.HouseNumber,
@Semantics.telephone.type: [#WORK]
HeaderPartner.InternationalPhoneNumber,
@Semantics.telephone.type: [#CELL]
HeaderPartner.InternationalMobilePhoneNumber,
@Semantics.telephone.type: [#FAX]
HeaderPartner.InternationalFaxNumber,
@Semantics.eMail.address: true
@Semantics.eMail.type: [#WORK]
HeaderPartner.EmailAddress,
@Semantics.address.postBox: true
HeaderPartner.POBox,
@Semantics.address.zipCode:true
HeaderPartner.POBoxPostalCode,
@EndUserText.label: 'Correspondence Language'
@ObjectModel.foreignKey.association: '_CorrespondenceLanguage'
HeaderPartner.CorrespondenceLanguage,
HeaderPartner.TaxJurisdiction,
@ObjectModel.foreignKey.association: '_TransportationZone'
HeaderPartner.TransportZone,
@Semantics.text: true
HeaderPartner.UnloadingPointName,
HeaderPartner.VATRegistration,
@ObjectModel.text.element: ['FormattedPostalAddressDesc']
@ObjectModel.sort.enabled: false
HeaderPartner.AddressID,
HeaderPartner.AddressPersonID,
HeaderPartner.AddressObjectType,
HeaderPartner.SDDocPartnerAddrIsDocSpecific,
@EndUserText.label: 'One-Time Customer'
HeaderPartner.PartnerIsOneTimeAccount,
@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.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,
@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,
@Semantics.nullValueIndicatorFor: 'SDDocPartnerAddrIsDocSpecific'
@ObjectModel.virtualElementCalculatedBy: 'ABAP:CL_SD_S4H_SDOC_ODATA_UTIL'
virtual SDDocPartnerAddrIsDocSpcfc_H : rap_null_value_indicator,
@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,
@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 UICT_BusinessPartnerName3 : boole_d,
@ObjectModel.virtualElementCalculatedBy: 'ABAP:CL_SD_SALESORDER_V4_UI_UTIL'
virtual UICT_BusinessPartnerName4 : boole_d,
// DCL fields
@Consumption.hidden: true
HeaderPartner.SalesOrderType,
@Consumption.hidden: true
HeaderPartner.SalesOrganization,
@Consumption.hidden: true
HeaderPartner.DistributionChannel,
@Consumption.hidden: true
HeaderPartner.OrganizationDivision,
//Association to parent
@ObjectModel.filter.enabled: false
@ObjectModel.sort.enabled: false
_SalesOrder : redirected to parent C_SalesOrderManage,
//Exposed Associations
@ObjectModel.filter.enabled: false
@ObjectModel.sort.enabled: false
_PartnerFunction,
@ObjectModel.filter.enabled: false
@ObjectModel.sort.enabled: false
HeaderPartner._FormOfAddress,
@ObjectModel.filter.enabled: false
@ObjectModel.sort.enabled: false
HeaderPartner._Country,
@ObjectModel.filter.enabled: false
@ObjectModel.sort.enabled: false
HeaderPartner._Region,
@ObjectModel.filter.enabled: false
@ObjectModel.sort.enabled: false
HeaderPartner._CorrespondenceLanguage,
@ObjectModel.filter.enabled: false
@ObjectModel.sort.enabled: false
HeaderPartner._TransportationZone
}