A_SalesOrderItemPartner

DDL: A_SALESORDERITEMPARTNER Type: view COMPOSITE

Item Partner

A_SalesOrderItemPartner is a Composite CDS View that provides data about "Item Partner" in SAP S/4HANA. It reads from 2 data sources (I_SDDocumentItemPartner, I_SalesDocumentBasic) and exposes 19 fields with key fields SalesOrder, SalesOrderItem, PartnerFunction. It has 4 associations to related views.

Data Sources (2)

SourceAliasJoin Type
I_SDDocumentItemPartner Partner from
I_SalesDocumentBasic SalesOrder inner

Associations (4)

CardinalityTargetAliasCondition
[1..1] A_SalesOrder _SalesOrder $projection.SalesOrder = _SalesOrder.SalesOrder
[1..1] A_SalesOrderItem _SalesOrderItem $projection.SalesOrder = _SalesOrderItem.SalesOrder and $projection.SalesOrderItem = _SalesOrderItem.SalesOrderItem
[0..1] I_BusPartAddress _BusinessPartnerAddressCP Partner.AddressID = _BusinessPartnerAddressCP.AddressID and $projection.ContactPerson is not initial and Partner.SDDocPartnerAddressRefType = 'I'
[0..*] A_SalesOrderItemPartnerAddress _Address _Address.SalesOrder = $projection.SalesOrder and _Address.SalesOrderItem = $projection.SalesOrderItem and _Address.PartnerFunction = $projection.PartnerFunction

Annotations (14)

NameValueLevelField
ClientHandling.algorithm #SESSION_VARIABLE view
EndUserText.label Item Partner view
VDM.viewType #COMPOSITE view
VDM.lifecycle.contract.type #PUBLIC_REMOTE_API view
AbapCatalog.sqlViewName ASOIPARTNER view
AbapCatalog.compiler.compareFilter true view
AccessControl.authorizationCheck #CHECK view
ObjectModel.createEnabled true view
ObjectModel.updateEnabled true view
ObjectModel.deleteEnabled true view
ObjectModel.usageType.dataClass #TRANSACTIONAL view
ObjectModel.usageType.serviceQuality #C view
ObjectModel.usageType.sizeCategory #XL view
Metadata.ignorePropagatedAnnotations true view

Fields (19)

KeyFieldSource TableSource FieldDescription
KEY SalesOrder
KEY SalesOrderItem
KEY PartnerFunction PartnerFunction
PartnerFunctionInternalCode
Customer Customer
Supplier Supplier
Personnel Personnel
ContactPerson ContactPerson
ReferenceBusinessPartner ReferenceBusinessPartner
BPRefAddrForDocSpcfcAddrUUID
AddressID I_SDDocumentItemPartner AddressID
VATRegistration I_SDDocumentItemPartner VATRegistration
SalesOrderType I_SalesDocumentBasic SalesDocumentType
OrganizationDivision I_SalesDocumentBasic OrganizationDivision
SalesOrganization I_SalesDocumentBasic SalesOrganization
DistributionChannel I_SalesDocumentBasic DistributionChannel
_SalesOrder _SalesOrder
_SalesOrderItem _SalesOrderItem
_Address _Address
@ClientHandling.algorithm:#SESSION_VARIABLE
@EndUserText.label: 'Item Partner'
@VDM: {
  viewType: #COMPOSITE,
  lifecycle.contract.type: #PUBLIC_REMOTE_API
}
@AbapCatalog: {
  sqlViewName: 'ASOIPARTNER',
  compiler.compareFilter: true
}
@AccessControl: {
  authorizationCheck: #CHECK,
  personalData.blocking: #('TRANSACTIONAL_DATA')
}
@ObjectModel: {
   createEnabled: true,
   updateEnabled: true,
   deleteEnabled: true,
   usageType: {
     dataClass:      #TRANSACTIONAL,
     serviceQuality: #C,
     sizeCategory:   #XL
   }
}
@Metadata.ignorePropagatedAnnotations: true


define view A_SalesOrderItemPartner
  as select from I_SDDocumentItemPartner as Partner
    inner join   I_SalesDocumentBasic    as SalesOrder on  SalesOrder.SalesDocument = Partner.SDDocument
                                                       and SDDocumentCategory       = 'C'

  association [1..1] to A_SalesOrder                   as _SalesOrder               on  $projection.SalesOrder = _SalesOrder.SalesOrder
  association [1..1] to A_SalesOrderItem               as _SalesOrderItem           on  $projection.SalesOrder     = _SalesOrderItem.SalesOrder
                                                                                    and $projection.SalesOrderItem = _SalesOrderItem.SalesOrderItem

  association [0..1] to I_BusPartAddress               as _BusinessPartnerAddressCP on  Partner.AddressID                  = _BusinessPartnerAddressCP.AddressID
                                                                                    and $projection.ContactPerson          is not initial
                                                                                    and Partner.SDDocPartnerAddressRefType = 'I'

  association [0..*] to A_SalesOrderItemPartnerAddress as _Address                  on  _Address.SalesOrder      = $projection.SalesOrder
                                                                                    and _Address.SalesOrderItem  = $projection.SalesOrderItem
                                                                                    and _Address.PartnerFunction = $projection.PartnerFunction


{
      @ObjectModel.readOnly: true
  key cast(SDDocument as vdm_sales_order preserving type)      as SalesOrder,

      @ObjectModel.readOnly: true
  key cast(SDDocumentItem as sales_order_item preserving type) as SalesOrderItem,

  key PartnerFunction,
      
      @ObjectModel.readOnly: true
      cast(PartnerFunction as parvw_unv preserving type )         as PartnerFunctionInternalCode,

      Customer,

      Supplier,

      Personnel,

      ContactPerson,
      
      @ObjectModel.readOnly: true
      ReferenceBusinessPartner,

      @Feature: 'SW:Q2C_MULTIPLE_BP_ADDRESSES, SW:Q2C_MULTIPLE_BP_ADDRESSES2'
      case ContactPerson
        when '0000000000' then
         _BusinessPartnerAddress.AddressUUID
       else
         _BusinessPartnerAddressCP.AddressUUID
                                                    end        as BusinessPartnerAddressUUID,

      @Feature: 'SW:Q2C_MULTIPLE_BP_ADDRESSES, SW:Q2C_MULTIPLE_BP_ADDRESSES2'
      @ObjectModel.readOnly: true
      Partner._BPRefAddressForDocSpcfcAddr.AddressUUID         as BPRefAddrForDocSpcfcAddrUUID,
      Partner.AddressID,
      Partner.VATRegistration,

      // For Access control

      @Consumption.hidden: true
      SalesOrder.SalesDocumentType                             as SalesOrderType,
      @Consumption.hidden: true
      SalesOrder.OrganizationDivision,
      @Consumption.hidden: true
      SalesOrder.SalesOrganization,
      @Consumption.hidden: true
      SalesOrder.DistributionChannel,

      //Expose associations

      _SalesOrder,
      _SalesOrderItem,
      _Address
}
/*+[internal] {
"BASEINFO":
{
"FROM":
[
"I_BUSPARTADDRESS",
"I_SALESDOCUMENTBASIC",
"I_SDDOCUMENTITEMPARTNER"
],
"ASSOCIATED":
[
"A_SALESORDER",
"A_SALESORDERITEM",
"A_SALESORDERITEMPARTNERADDRESS",
"I_BUSPARTADDRESS"
],
"BASE":
[],
"ANNO_REF":
[],
"SCALAR_FUNCTION":
[],
"VERSION":0,
"ANNOREF_EVALUATION_ERROR":""
}
}*/