C_SalesOrderHdrPartManage

DDL: C_SALESORDERHDRPARTMANAGE Type: view_entity CONSUMPTION Package: ODATA_SD_SALESORDER_UI

Sales Order Header Partner

C_SalesOrderHdrPartManage is a Consumption CDS View that provides data about "Sales Order Header Partner" in SAP S/4HANA. It reads from 1 data source (R_SalesOrderPartnerTP) and exposes 59 fields with key fields SalesOrder, PartnerFunction. It has 1 association to related views. It is exposed through 1 OData service (C_SALESORDERMANAGE_SD). Part of development package ODATA_SD_SALESORDER_UI.

Data Sources (1)

SourceAliasJoin Type
R_SalesOrderPartnerTP R_SalesOrderPartnerTP projection

Associations (1)

CardinalityTargetAliasCondition
[0..1] C_PartnerFunctionUnconverted _PartnerFunction $projection.PartnerFunctionForEdit = _PartnerFunction.PartnerFunction

Annotations (10)

NameValueLevelField
VDM.viewType #CONSUMPTION view
AccessControl.authorizationCheck #CHECK view
Metadata.ignorePropagatedAnnotations true view
Metadata.allowExtensions true view
ObjectModel.modelingPattern #TRANSACTIONAL_QUERY view
ObjectModel.usageType.dataClass #TRANSACTIONAL view
ObjectModel.usageType.serviceQuality #C view
ObjectModel.usageType.sizeCategory #L view
ObjectModel.query.implementedBy ABAP:CL_S4RAP_STICKY_QRY view
EndUserText.label Sales Order Header Partner view

OData Services (1)

ServiceBindingVersionContractRelease
C_SALESORDERMANAGE_SD C_SALESORDERMANAGE_SRV V4 C1 NOT_RELEASED

Fields (59)

KeyFieldSource TableSource FieldDescription
KEY SalesOrder HeaderPartner SalesOrder
KEY PartnerFunction HeaderPartner PartnerFunction
PartnerFunctionForEdit HeaderPartner PartnerFunctionForEdit
Customer HeaderPartner Customer
Supplier HeaderPartner Supplier
Personnel HeaderPartner Personnel
ContactPerson HeaderPartner ContactPerson
FullName HeaderPartner FullName
SDDocumentPartnerType HeaderPartner SDDocumentPartnerType
Partner HeaderPartner Partner
ReferenceBusinessPartner HeaderPartner ReferenceBusinessPartner
FormOfAddress HeaderPartner FormOfAddress
PostalCode HeaderPartner PostalCode
CityName HeaderPartner CityName
DistrictName HeaderPartner DistrictName
Country HeaderPartner Country
Region HeaderPartner Region
StreetName HeaderPartner StreetName
StreetPrefixName1 HeaderPartner StreetPrefixName1
StreetPrefixName2 HeaderPartner StreetPrefixName2
StreetSuffixName1 HeaderPartner StreetSuffixName1
StreetSuffixName2 HeaderPartner StreetSuffixName2
HouseNumber HeaderPartner HouseNumber
InternationalPhoneNumber HeaderPartner InternationalPhoneNumber
InternationalMobilePhoneNumber HeaderPartner InternationalMobilePhoneNumber
InternationalFaxNumber HeaderPartner InternationalFaxNumber
EmailAddress HeaderPartner EmailAddress
POBox HeaderPartner POBox
POBoxPostalCode HeaderPartner POBoxPostalCode
CorrespondenceLanguage HeaderPartner CorrespondenceLanguage Correspondence Language
TaxJurisdiction HeaderPartner TaxJurisdiction
TransportZone HeaderPartner TransportZone
UnloadingPointName HeaderPartner UnloadingPointName
VATRegistration HeaderPartner VATRegistration
AddressID HeaderPartner AddressID
AddressPersonID HeaderPartner AddressPersonID
AddressObjectType HeaderPartner AddressObjectType
SDDocPartnerAddrIsDocSpecific HeaderPartner SDDocPartnerAddrIsDocSpecific
PartnerIsOneTimeAccount HeaderPartner PartnerIsOneTimeAccount One-Time Customer
virtualBusinessPartnerName1ad_name1
virtualBusinessPartnerName2ad_name2
virtualBusinessPartnerName3ad_name3
virtualBusinessPartnerName4ad_name4
virtualSDCustomerAddressIDadrnr
virtualSDContactPersonAddressIDadrnr
virtualUICT_VATRegistrationboole_d
virtualUICT_UnloadingPointNameboole_d
virtualUICT_BusinessPartnerName3boole_d
virtualUICT_BusinessPartnerName4boole_d
SalesOrderType HeaderPartner SalesOrderType
SalesOrganization HeaderPartner SalesOrganization
DistributionChannel HeaderPartner DistributionChannel
OrganizationDivision HeaderPartner OrganizationDivision
_PartnerFunction _PartnerFunction
_FormOfAddress HeaderPartner _FormOfAddress
_Country HeaderPartner _Country
_Region HeaderPartner _Region
_CorrespondenceLanguage HeaderPartner _CorrespondenceLanguage
_TransportationZone HeaderPartner _TransportationZone
@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
}