A_SalesOrderItemPartner_2

DDL: A_SALESORDERITEMPARTNER_2 Type: view_entity CONSUMPTION Package: ODATA_SD_SALESORDER_API

Item Partner

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

Data Sources (1)

SourceAliasJoin Type
R_SalesOrderItemPartnerTP R_SalesOrderItemPartnerTP projection

Annotations (9)

NameValueLevelField
AccessControl.authorizationCheck #MANDATORY view
EndUserText.label Item Partner view
Metadata.ignorePropagatedAnnotations true view
OData.entityType.name SalesOrderItemPartner_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 (51)

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

@Consumption.dbHints: [ 'USE_HEX_PLAN', 'NO_SUBPLAN_SHARING' ]

@EndUserText.label: 'Item Partner'

@Metadata.ignorePropagatedAnnotations: true

@OData.entityType.name: 'SalesOrderItemPartner_Type'

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

@VDM.lifecycle.contract.type: #PUBLIC_REMOTE_API
@VDM.usage.type: [ #TRANSACTIONAL_PROCESSING_SERVICE ]
@VDM.viewType: #CONSUMPTION


define view entity A_SalesOrderItemPartner_2
  as projection on R_SalesOrderItemPartnerTP as SalesOrderItemPartner

{
  key     SalesOrderItemPartner.SalesOrder,

  key     SalesOrderItemPartner.SalesOrderItem,

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

          SalesOrderItemPartner.Customer,

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

          SalesOrderItemPartner.Supplier,

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

          SalesOrderItemPartner.Personnel,

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

          SalesOrderItemPartner.ContactPerson,

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

          SalesOrderItemPartner.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,
  
          SalesOrderItemPartner.AddressID,
          
          @Consumption.hidden: true
          @ObjectModel.virtualElementCalculatedBy: 'ABAP:CL_SD_SO_PTNR_V4API_VF_UTIL'
          @Semantics.nullValueIndicatorFor: 'AddressPersonID'
  virtual AddressPersonIDIsNull           : rap_null_value_indicator,

          SalesOrderItemPartner.AddressPersonID,

          SalesOrderItemPartner.AddressObjectType,

          SalesOrderItemPartner.StreetName,

          SalesOrderItemPartner.StreetPrefixName1,

          SalesOrderItemPartner.StreetPrefixName2,

          SalesOrderItemPartner.StreetSuffixName1,

          SalesOrderItemPartner.StreetSuffixName2,

          SalesOrderItemPartner.HouseNumber,

          SalesOrderItemPartner.PostalCode,

          SalesOrderItemPartner.CityName,

          SalesOrderItemPartner.DistrictName,

          SalesOrderItemPartner.Region,

          @ObjectModel.sapObjectNodeTypeReference: 'Country'
          SalesOrderItemPartner.Country,

          @ObjectModel.sapObjectNodeTypeReference: 'Country'
          SalesOrderItemPartner.PhoneNumberCountry,
          
          SalesOrderItemPartner.PhoneNumber,
          
          SalesOrderItemPartner.PhoneNumberExtension,
          
          @ObjectModel.sapObjectNodeTypeReference: 'Country'
          SalesOrderItemPartner.MobilePhoneCountry,
          
          SalesOrderItemPartner.MobilePhoneNumber,
          
          @ObjectModel.sapObjectNodeTypeReference: 'Country'
          SalesOrderItemPartner.FaxNumberCountry,

          SalesOrderItemPartner.FaxNumber,

          SalesOrderItemPartner.FaxNumberExtension,

          SalesOrderItemPartner.InternationalPhoneNumber,

          SalesOrderItemPartner.InternationalMobilePhoneNumber,
          
          SalesOrderItemPartner.InternationalFaxNumber,

          SalesOrderItemPartner.POBox,

          SalesOrderItemPartner.POBoxPostalCode,

          SalesOrderItemPartner.FormOfAddress,

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

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

          SalesOrderItemPartner.TaxJurisdiction,

          SalesOrderItemPartner.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
          SalesOrderItemPartner.UnloadingPointName,

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

          SalesOrderItemPartner.VATRegistration,

          SalesOrderItemPartner.PartnerIsSpecificForSDDocItem,

          SalesOrderItemPartner.SDDocPartnerAddrIsDocSpecific,

          // For Access control

          @Consumption.hidden: true
          SalesOrderItemPartner.SalesOrderType,

          @Consumption.hidden: true
          SalesOrderItemPartner.SalesOrganization,

          @Consumption.hidden: true
          SalesOrderItemPartner.DistributionChannel,

          @Consumption.hidden: true
          SalesOrderItemPartner.OrganizationDivision,

          // Compositions

          _Item                                                                    as _Item       : redirected to parent A_SalesOrderItem_2,
          _SalesOrder                                                              as _SalesOrder : redirected to A_SalesOrder_2
}