A_SalesOrderItemPartner
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)
| Source | Alias | Join Type |
|---|---|---|
| I_SDDocumentItemPartner | Partner | from |
| I_SalesDocumentBasic | SalesOrder | inner |
Associations (4)
| Cardinality | Target | Alias | Condition |
|---|---|---|---|
| [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)
| Name | Value | Level | Field |
|---|---|---|---|
| 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)
| Key | Field | Source Table | Source Field | Description |
|---|---|---|---|---|
| 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":""
}
}*/
Learn More
- What Is a CDS View in SAP S/4HANA?
- Types of CDS Views: Basic, Composite, Consumption, and Transactional
- SAP Tables vs CDS Views — Key Differences
- Understanding Data Lineage in SAP S/4HANA
- VDM (Virtual Data Model) in SAP S/4HANA Explained
- CDS View Annotations — A Complete Guide
- CDS View Field Mapping and Associations
- Understanding the SAP S/4HANA Data Model
- CDS View Extensions and Custom Fields in SAP S/4HANA
- Released APIs and Stability Contracts in SAP S/4HANA