A_SalesOrderPartner_2

DDL: A_SALESORDERPARTNER_2 Type: view_entity CONSUMPTION Package: ODATA_SD_SALESORDER_API

Header Partner

A_SalesOrderPartner_2 is a Consumption CDS View that provides data about "Header Partner" in SAP S/4HANA. It reads from 1 data source (R_SalesOrderPartnerTP) and exposes 49 fields with key fields SalesOrder, PartnerFunction. It is exposed through 1 OData service (API_SALESORDER). Part of development package ODATA_SD_SALESORDER_API.

Data Sources (1)

SourceAliasJoin Type
R_SalesOrderPartnerTP R_SalesOrderPartnerTP projection

Annotations (9)

NameValueLevelField
AccessControl.authorizationCheck #MANDATORY view
EndUserText.label Header Partner view
Metadata.ignorePropagatedAnnotations true view
OData.entityType.name SalesOrderPartner_Type view
ObjectModel.usageType.dataClass #TRANSACTIONAL view
ObjectModel.usageType.serviceQuality #C view
ObjectModel.usageType.sizeCategory #L view
VDM.lifecycle.contract.type #PUBLIC_REMOTE_API view
VDM.viewType #CONSUMPTION view

OData Services (1)

ServiceBindingVersionContractRelease
API_SALESORDER API_SALESORDER V4 C2 C1

Fields (49)

KeyFieldSource TableSource FieldDescription
KEY SalesOrder SalesOrderPartner SalesOrder
KEY PartnerFunction SalesOrderPartner PartnerFunction
Customer SalesOrderPartner Customer
Supplier SalesOrderPartner Supplier
Personnel SalesOrderPartner Personnel
ContactPerson SalesOrderPartner ContactPerson
ReferenceBusinessPartner SalesOrderPartner ReferenceBusinessPartner
virtualBusinessPartnerName1ad_name1
virtualBusinessPartnerName2ad_name2
virtualBusinessPartnerName3ad_name3
virtualBusinessPartnerName4ad_name4
AddressID SalesOrderPartner AddressID
AddressPersonID SalesOrderPartner AddressPersonID
AddressObjectType SalesOrderPartner AddressObjectType
StreetName SalesOrderPartner StreetName
StreetPrefixName1 SalesOrderPartner StreetPrefixName1
StreetPrefixName2 SalesOrderPartner StreetPrefixName2
StreetSuffixName1 SalesOrderPartner StreetSuffixName1
StreetSuffixName2 SalesOrderPartner StreetSuffixName2
HouseNumber SalesOrderPartner HouseNumber
PostalCode SalesOrderPartner PostalCode
CityName SalesOrderPartner CityName
DistrictName SalesOrderPartner DistrictName
Region SalesOrderPartner Region
Country SalesOrderPartner Country
PhoneNumberCountry SalesOrderPartner PhoneNumberCountry
PhoneNumber SalesOrderPartner PhoneNumber
PhoneNumberExtension SalesOrderPartner PhoneNumberExtension
MobilePhoneCountry SalesOrderPartner MobilePhoneCountry
MobilePhoneNumber SalesOrderPartner MobilePhoneNumber
FaxNumberCountry SalesOrderPartner FaxNumberCountry
FaxNumber SalesOrderPartner FaxNumber
FaxNumberExtension SalesOrderPartner FaxNumberExtension
InternationalPhoneNumber SalesOrderPartner InternationalPhoneNumber
InternationalMobilePhoneNumber SalesOrderPartner InternationalMobilePhoneNumber
InternationalFaxNumber SalesOrderPartner InternationalFaxNumber
POBox SalesOrderPartner POBox
POBoxPostalCode SalesOrderPartner POBoxPostalCode
FormOfAddress SalesOrderPartner FormOfAddress
EmailAddress SalesOrderPartner EmailAddress
TaxJurisdiction SalesOrderPartner TaxJurisdiction
TransportZone SalesOrderPartner TransportZone
UnloadingPointName SalesOrderPartner UnloadingPointName
VATRegistration SalesOrderPartner VATRegistration
SDDocPartnerAddrIsDocSpecific SalesOrderPartner SDDocPartnerAddrIsDocSpecific
SalesOrderType SalesOrderPartner SalesOrderType
OrganizationDivision SalesOrderPartner OrganizationDivision
SalesOrganization SalesOrderPartner SalesOrganization
DistributionChannel SalesOrderPartner DistributionChannel
@AccessControl.authorizationCheck: #MANDATORY
@AccessControl.personalData.blocking: #('TRANSACTIONAL_DATA')
@Consumption.dbHints: [ 'USE_HEX_PLAN', 'NO_SUBPLAN_SHARING' ]

@EndUserText.label: 'Header Partner'

@Metadata.ignorePropagatedAnnotations: true

@OData.entityType.name: 'SalesOrderPartner_Type'

@ObjectModel.semanticKey: [ 'SalesOrder', 'PartnerFunction' ]
@ObjectModel.usageType: { dataClass: #TRANSACTIONAL, serviceQuality: #C, sizeCategory: #L }

@VDM.lifecycle.contract.type: #PUBLIC_REMOTE_API
@VDM.viewType: #CONSUMPTION


define view entity A_SalesOrderPartner_2
  as projection on R_SalesOrderPartnerTP as SalesOrderPartner

{
  key     SalesOrderPartner.SalesOrder,

          @ObjectModel.sapObjectNodeTypeReference: 'PartnerFunction'
  key     SalesOrderPartner.PartnerFunction,

          SalesOrderPartner.Customer,

          @Consumption.hidden: true
          @ObjectModel.virtualElementCalculatedBy: 'ABAP:CL_SD_S4H_SDOC_ODATA_UTIL'
          @Semantics.nullValueIndicatorFor: 'Customer'
  virtual Customer_H      : rap_null_value_indicator,

          SalesOrderPartner.Supplier,

          @Consumption.hidden: true
          @ObjectModel.virtualElementCalculatedBy: 'ABAP:CL_SD_S4H_SDOC_ODATA_UTIL'
          @Semantics.nullValueIndicatorFor: 'Supplier'
  virtual Supplier_H      : rap_null_value_indicator,

          SalesOrderPartner.Personnel,

          @Consumption.hidden: true
          @ObjectModel.virtualElementCalculatedBy: 'ABAP:CL_SD_S4H_SDOC_ODATA_UTIL'
          @Semantics.nullValueIndicatorFor: 'Personnel'
  virtual Personnel_H     : rap_null_value_indicator,

          SalesOrderPartner.ContactPerson,

          @Consumption.hidden: true
          @ObjectModel.virtualElementCalculatedBy: 'ABAP:CL_SD_S4H_SDOC_ODATA_UTIL'
          @Semantics.nullValueIndicatorFor: 'ContactPerson'
  virtual ContactPerson_H : rap_null_value_indicator,

          SalesOrderPartner.ReferenceBusinessPartner,

          @ObjectModel.virtualElementCalculatedBy: 'ABAP:CL_SD_SO_PTNR_V4API_VF_UTIL'
  virtual BusinessPartnerName1         : ad_name1,

          @ObjectModel.virtualElementCalculatedBy: 'ABAP:CL_SD_SO_PTNR_V4API_VF_UTIL'
  virtual BusinessPartnerName2         : ad_name2,

          @ObjectModel.virtualElementCalculatedBy: 'ABAP:CL_SD_SO_PTNR_V4API_VF_UTIL'
  virtual BusinessPartnerName3         : ad_name3,

          @ObjectModel.virtualElementCalculatedBy: 'ABAP:CL_SD_SO_PTNR_V4API_VF_UTIL'
  virtual BusinessPartnerName4         : ad_name4,

          @Consumption.hidden: true
          @ObjectModel.virtualElementCalculatedBy: 'ABAP:CL_SD_SO_PTNR_V4API_VF_UTIL'
          @Semantics.nullValueIndicatorFor: 'AddressID'
  virtual AddressIDIsNull                 : rap_null_value_indicator,
  
          SalesOrderPartner.AddressID,
          
          @Consumption.hidden: true
          @ObjectModel.virtualElementCalculatedBy: 'ABAP:CL_SD_SO_PTNR_V4API_VF_UTIL'
          @Semantics.nullValueIndicatorFor: 'AddressPersonID'
  virtual AddressPersonIDIsNull           : rap_null_value_indicator,

          SalesOrderPartner.AddressPersonID,

          SalesOrderPartner.AddressObjectType,

          SalesOrderPartner.StreetName,

          SalesOrderPartner.StreetPrefixName1,

          SalesOrderPartner.StreetPrefixName2,

          SalesOrderPartner.StreetSuffixName1,

          SalesOrderPartner.StreetSuffixName2,

          SalesOrderPartner.HouseNumber,

          SalesOrderPartner.PostalCode,

          SalesOrderPartner.CityName,

          SalesOrderPartner.DistrictName,

          SalesOrderPartner.Region,
          
          @ObjectModel.sapObjectNodeTypeReference: 'Country'
          SalesOrderPartner.Country,
          
          @ObjectModel.sapObjectNodeTypeReference: 'Country'
          SalesOrderPartner.PhoneNumberCountry,
          
          SalesOrderPartner.PhoneNumber,
          
          SalesOrderPartner.PhoneNumberExtension,
          
          @ObjectModel.sapObjectNodeTypeReference: 'Country'
          SalesOrderPartner.MobilePhoneCountry,
          
          SalesOrderPartner.MobilePhoneNumber,
          
          @ObjectModel.sapObjectNodeTypeReference: 'Country'
          SalesOrderPartner.FaxNumberCountry,
          
          SalesOrderPartner.FaxNumber,
          
          SalesOrderPartner.FaxNumberExtension,

          SalesOrderPartner.InternationalPhoneNumber,

          SalesOrderPartner.InternationalMobilePhoneNumber,

          SalesOrderPartner.InternationalFaxNumber,

          SalesOrderPartner.POBox,

          SalesOrderPartner.POBoxPostalCode,

          SalesOrderPartner.FormOfAddress,

          @EndUserText.label: 'Correspondence Language'
          cast(SalesOrderPartner.CorrespondenceLanguage
               as bu_langu_corr preserving type)                               as CorrespondenceLanguage,

          @Semantics.eMail.address: true
          SalesOrderPartner.EmailAddress,

          SalesOrderPartner.TaxJurisdiction,

          SalesOrderPartner.TransportZone,

          @Consumption.hidden: true
          @ObjectModel.virtualElementCalculatedBy: 'ABAP:CL_SD_SO_PTNR_V4API_VF_UTIL'
          @Semantics.nullValueIndicatorFor: 'UnloadingPointName'
  virtual UnloadingPointNameIsNull           : rap_null_value_indicator,

          @Semantics.text: true
          SalesOrderPartner.UnloadingPointName,

          @Consumption.hidden: true
          @ObjectModel.virtualElementCalculatedBy: 'ABAP:CL_SD_SO_PTNR_V4API_VF_UTIL'
          @Semantics.nullValueIndicatorFor: 'VATRegistration'
  virtual VATRegistrationIsNull           : rap_null_value_indicator,

          SalesOrderPartner.VATRegistration,

          SalesOrderPartner.SDDocPartnerAddrIsDocSpecific,

          // For Access control

          @Consumption.hidden: true
          SalesOrderPartner.SalesOrderType,

          @Consumption.hidden: true
          SalesOrderPartner.OrganizationDivision,

          @Consumption.hidden: true
          SalesOrderPartner.SalesOrganization,

          @Consumption.hidden: true
          SalesOrderPartner.DistributionChannel,

          // Compositions

          _SalesOrder                                                          as _SalesOrder : redirected to parent A_SalesOrder_2
}