@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'
}
@EndUserText.label: 'Sales Quotation Header Partner'
define view entity C_SlsQuotationPartnerManageTP
as projection on R_SalesQuotationPartnerTP as HeaderPartner
association [0..1] to C_PartnerFunctionUnconverted as _PartnerFunction on $projection.PartnerFunctionForEdit = _PartnerFunction.PartnerFunction
{
key SalesQuotation,
key cast(PartnerFunction as parvw_unv preserving type ) as PartnerFunction,
@ObjectModel.foreignKey.association: '_PartnerFunction'
@ObjectModel.editableFieldFor: 'PartnerFunction'
@Semantics.organization.role: true
HeaderPartner.PartnerFunctionForEdit,
@ObjectModel.text.element: ['FullName']
@Consumption.semanticObject: 'Customer'
HeaderPartner.Customer,
@ObjectModel.text.element: ['FullName']
@Consumption.semanticObject: 'Supplier'
HeaderPartner.Supplier,
@ObjectModel.text.element: ['FullName']
@Consumption.semanticObject: 'Employee'
HeaderPartner.Personnel,
@ObjectModel.text.element: ['FullName']
@Consumption.semanticObject: 'ContactPerson'
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
cast( HeaderPartner.FormOfAddress as ad_title preserving type ) as 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]
cast( HeaderPartner.InternationalPhoneNumber as ad_telnrlg preserving type ) as InternationalPhoneNumber,
@Semantics.telephone.type: [#CELL]
cast( HeaderPartner.InternationalMobilePhoneNumber as ad_telnrlg preserving type ) as InternationalMobilePhoneNumber,
@Semantics.telephone.type: [#FAX]
HeaderPartner.InternationalFaxNumber,
@Semantics.eMail.address: true
@Semantics.eMail.type: [#WORK]
cast( HeaderPartner.EmailAddress as ad_smtpadr preserving type ) as 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,
@OData.property.valueControl: 'SDDocPartnerAddrIsDocSpcfc_H'
HeaderPartner.SDDocPartnerAddrIsDocSpecific,
@ObjectModel.virtualElementCalculatedBy: 'ABAP:CL_SD_QUOTATION_V4_UI_UTIL'
virtual BusinessPartnerName1 : ad_name1,
@ObjectModel.virtualElementCalculatedBy: 'ABAP:CL_SD_QUOTATION_V4_UI_UTIL'
virtual BusinessPartnerName2 : ad_name2,
@ObjectModel.virtualElementCalculatedBy: 'ABAP:CL_SD_QUOTATION_V4_UI_UTIL'
virtual BusinessPartnerName3 : ad_name3,
@ObjectModel.virtualElementCalculatedBy: 'ABAP:CL_SD_QUOTATION_V4_UI_UTIL'
virtual BusinessPartnerName4 : ad_name4,
@ObjectModel.virtualElementCalculatedBy: 'ABAP:CL_SD_QUOTATION_V4_UI_UTIL'
@ObjectModel.text.element: ['FormattedPostalAddressDesc']
virtual SDCustomerAddressID : adrnr,
@ObjectModel.virtualElementCalculatedBy: 'ABAP:CL_SD_QUOTATION_V4_UI_UTIL'
@ObjectModel.text.element: ['FormattedPostalAddressDesc']
virtual SDContactPersonAddressID : adrnr,
@ObjectModel.virtualElementCalculatedBy: 'ABAP:CL_SD_QUOTATION_V4_UI_UTIL'
virtual UICT_VATRegistration : boole_d,
@ObjectModel.virtualElementCalculatedBy: 'ABAP:CL_SD_QUOTATION_V4_UI_UTIL'
virtual UICT_UnloadingPointName : boole_d,
@ObjectModel.virtualElementCalculatedBy: 'ABAP:CL_SD_S4H_SDOC_ODATA_UTIL'
// @Consumption.hidden:true
virtual SDDocPartnerAddrIsDocSpcfc_H : rap_cp_odata_value_control,
@Semantics.address.label: true
@ObjectModel.virtualElementCalculatedBy: 'ABAP:CL_SD_S4H_SDOC_ODATA_UTIL'
virtual FormattedPostalAddressDesc : ad_line_s,
@ObjectModel.virtualElementCalculatedBy: 'ABAP:CL_SD_QUOTATION_V4_UI_UTIL'
virtual UICT_BusinessPartnerName3 : boole_d,
@ObjectModel.virtualElementCalculatedBy: 'ABAP:CL_SD_QUOTATION_V4_UI_UTIL'
virtual UICT_BusinessPartnerName4 : boole_d,
// DCL fields
@Consumption.hidden: true
HeaderPartner.SalesQuotationType,
@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
_SalesQuotation : redirected to parent C_SalesQuotationManageTP,
//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
}
/*+[internal] {
"BASEINFO":
{
"FROM":
[
"R_SALESQUOTATIONPARTNERTP"
],
"ASSOCIATED":
[
"C_PARTNERFUNCTIONUNCONVERTED",
"C_SALESQUOTATIONMANAGETP",
"I_COUNTRY",
"I_FORMOFADDRESS",
"I_LANGUAGE",
"I_REGION",
"I_TRANSPORTATIONZONE",
"R_SALESQUOTATIONTP"
],
"BASE":
[
"R_SALESQUOTATIONPARTNERTP"
],
"ANNO_REF":
[],
"SCALAR_FUNCTION":
[],
"VERSION":0,
"ANNOREF_EVALUATION_ERROR":""
}
}*/