A_BusSolnOrderSalesItem
Sales Order Item
A_BusSolnOrderSalesItem is a Composite CDS View that provides data about "Sales Order Item" in SAP S/4HANA. It reads from 1 data source (I_ServiceDocumentItemEnhcd) and exposes 61 fields with key fields BusinessSolutionOrder, BusinessSolutionOrderItem. It has 13 associations to related views.
Data Sources (1)
| Source | Alias | Join Type |
|---|---|---|
| I_ServiceDocumentItemEnhcd | I_ServiceDocumentItemEnhcd | from |
Associations (13)
| Cardinality | Target | Alias | Condition |
|---|---|---|---|
| [1..1] | A_BusinessSolutionOrder | _BusinessSolutionOrder | $projection.BusinessSolutionOrder = _BusinessSolutionOrder.BusinessSolutionOrder |
| [0..*] | A_BusSolutionOrderItemText | _Text | $projection.BusinessSolutionOrder = _Text.BusinessSolutionOrder and $projection.BusinessSolutionOrderItem = _Text.BusinessSolutionOrderItem |
| [0..*] | A_BusSolnOrderItemScheduleLine | _ScheduleLine | $projection.BusinessSolutionOrder = _ScheduleLine.BusinessSolutionOrder and $projection.BusinessSolutionOrderItem = _ScheduleLine.BusinessSolutionOrderItem |
| [0..*] | A_BusSolnOrderItemPriceElement | _PriceElement | $projection.BusinessSolutionOrder = _PriceElement.BusinessSolutionOrder and $projection.BusinessSolutionOrderItem = _PriceElement.BusinessSolutionOrderItem |
| [0..1] | I_SalesDocumentRjcnReasonText | _RejectionReasonText | $projection.BusSolnOrdItmRjcnReason = _RejectionReasonText.SalesDocumentRjcnReason and $projection.Language = _RejectionReasonText.Language |
| [0..1] | I_SrvcDocDeliveryStatusText | _DeliveryStatusText | $projection.Language = _DeliveryStatusText.Language and $projection.SrvcDocItmDeliveryStatus = _DeliveryStatusText.SrvcDocItmDeliveryStatus |
| [0..1] | I_CustMgmtExtRefID | _ExternalReference | $projection.BusinessSolutionOrder = _ExternalReference.CustMgmtDocument and _ExternalReference.CustMgmtObjectType = 'BUS2000172' and $projection.BusinessSolutionOrderItem = _ExternalReference.CustMgmtDocumentItem and _ExternalReference.CustMgmtExtRefIDType = '0013' |
| [0..*] | A_BusSolnOrdItmFUPSalesOrder | _SalesOrder | $projection.BusinessSolutionOrder = _SalesOrder.BusinessSolutionOrder and $projection.BusinessSolutionOrderItem = _SalesOrder.BusinessSolutionOrderItem |
| [0..1] | E_ServiceDocumentItem | _Extension | _Extension.ServiceCategory = 'BUS2000172' and $projection.BusinessSolutionOrder = _Extension.ServiceOrderItem and $projection.BusinessSolutionOrderItem = _Extension.ServiceLineExternalID |
| [0..*] | A_BusSolnOrdItmUserStatus | _UserStatus | $projection.BusinessSolutionOrder = _UserStatus.BusinessSolutionOrder and $projection.BusinessSolutionOrderItem = _UserStatus.BusinessSolutionOrderItem |
| [0..*] | A_BusSolnOrdItmConfiguration | _Configurations | $projection.ConfigurationNumber = _Configurations.VariantConfigurationInstance |
| [0..1] | I_ServiceDocumentItemPrdcssr_3 | _CPQQuotationItem | $projection.ServiceDocumentItemCharUUID = _CPQQuotationItem.ServiceDocumentItemCharUUID and _CPQQuotationItem.ServiceDocItmPrdcssrBusObjType = 'CPQQUOTI' |
| [0..1] | I_UnitOfMeasure | _QuantityUnit | $projection.QuantityUnit = _QuantityUnit.UnitOfMeasure |
Annotations (15)
| Name | Value | Level | Field |
|---|---|---|---|
| ClientHandling.algorithm | #SESSION_VARIABLE | view | |
| EndUserText.label | Sales Order Item | view | |
| VDM.viewType | #COMPOSITE | view | |
| VDM.lifecycle.contract.type | #PUBLIC_REMOTE_API | view | |
| AbapCatalog.sqlViewName | ABSOSALESITEM | view | |
| AbapCatalog.compiler.compareFilter | true | view | |
| AbapCatalog.preserveKey | 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 | #L | view | |
| Metadata.ignorePropagatedAnnotations | true | view |
Fields (61)
| Key | Field | Source Table | Source Field | Description |
|---|---|---|---|---|
| KEY | BusinessSolutionOrder | ServiceDocument | ||
| KEY | BusinessSolutionOrderItem | ServiceDocumentItem | ||
| ServiceDocumentItemCharUUID | ServiceDocumentItemCharUUID | |||
| BusinessSolutionOrderItemUUID | ServiceDocumentItemUUID | |||
| BusSolnOrdItmCategory | ServiceDocItemCategory | |||
| Product | OriginallyRequestedProduct | |||
| Quantity | ServiceDocumentItemQuantity | |||
| QuantityUnit | ServiceDocItemQuantityUnit | |||
| BusSolnOrdItmQtyUnitSAPCode | ||||
| BusSolnOrdItmQtyUnitISOCode | ||||
| BusSolnOrdItmDescription | ServiceDocumentItemDescription | |||
| Language | Language | |||
| BusSolnOrdItmExtReference | _ExternalReference | CustMgmtExtRefID | ||
| ItemOrderProbabilityInPercent | ItemOrderProbabilityInPercent | |||
| PaymentTerms | PaymentTerms | |||
| IncotermsPart1 | IncotermsPart1 | |||
| IncotermsPart2 | IncotermsPart2 | |||
| Plant | Plant | |||
| ParentServiceDocumentItemUUID | ParentServiceDocumentItemUUID | |||
| ParentBusSolnOrdItem | _ParentServiceDocItem | ServiceDocumentItem | ||
| BusSolnOrdItmIsReleased | ServiceDocumentItemIsReleased | |||
| BusSolnOrdItmIsRejected | ServiceDocumentItemIsRejected | |||
| BusSolnOrdItmDistrStatus | ||||
| BusSolnOrdItmDistrStatusName | ||||
| BusSolnOrdItmRjcnReason | ServiceDocItemRejectionReason | |||
| BusSolnOrdItmRjcnReasonText | _RejectionReasonText | SalesDocumentRjcnReasonName | ||
| SrvcDocItmDeliveryStatus | SrvcDocItmDeliveryStatus | |||
| SrvcDocDeliveryStatusText | _DeliveryStatusText | SrvcDocDeliveryStatusText | ||
| ServiceDocItemBillingStatus | ServiceDocItemBillingStatus | |||
| BillingBlockReason | BillingBlockReason | |||
| SoldToParty | SoldToParty | |||
| ShipToParty | ShipToParty | |||
| BillToParty | BillToParty | |||
| PayerParty | PayerParty | |||
| PersonResponsible | ResponsibleEmployee | |||
| ContactPerson | ContactPerson | |||
| DeliveryPriority | DeliveryPriority | |||
| PartialDeliveryIsAllowed | PartialDeliveryIsAllowed | |||
| OrderCombinationIsAllowed | OrderCombinationIsAllowed | |||
| DeliveryBlockReason | DeliveryBlockReason | |||
| RequestedDeliveryUTCDateTime | RequestedDeliveryUTCDateTime | |||
| ServiceDocumentItemNetAmount | ServiceDocumentItemNetAmount | |||
| TransactionCurrency | TransactionCurrency | |||
| ProfitCenter | ProfitCenter | |||
| PurchaseOrderByCustomer | PurchaseOrderByCustomer | |||
| MaterialPricingGroup | SrvcMaterialPricingGroup | |||
| ItemGrossWeight | ItemGrossWeight | |||
| ItemNetWeight | ItemNetWeight | |||
| ItemWeightUnit | ItemWeightUnit | |||
| ItemVolume | ItemVolume | |||
| ItemVolumeUnit | ItemVolumeUnit | |||
| DeliveryGroup | DeliveryGroup | |||
| CPQQuotationItem | _CPQQuotationItem | ServiceDocumentItemPredecessor | ||
| ConfigurationNumber | ConfigurationNumber | |||
| _BusinessSolutionOrder | _BusinessSolutionOrder | |||
| _Text | _Text | |||
| _SalesOrder | _SalesOrder | |||
| _PriceElement | _PriceElement | |||
| _ScheduleLine | _ScheduleLine | |||
| _UserStatus | _UserStatus | |||
| _Configurations | _Configurations |
@ClientHandling.algorithm:#SESSION_VARIABLE
@EndUserText.label: 'Sales Order Item'
@VDM: {
viewType: #COMPOSITE,
lifecycle.contract.type: #PUBLIC_REMOTE_API
}
@AbapCatalog: {
sqlViewName: 'ABSOSALESITEM',
compiler.compareFilter: true,
preserveKey: true
}
@AccessControl: {
authorizationCheck: #CHECK,
personalData.blocking: #('TRANSACTIONAL_DATA')
}
@ObjectModel: {
createEnabled: true,
updateEnabled: true,
deleteEnabled: true,
usageType: {
dataClass: #TRANSACTIONAL,
serviceQuality: #C,
sizeCategory: #L
}
}
@Metadata.ignorePropagatedAnnotations: true
define view A_BusSolnOrderSalesItem
as select from I_ServiceDocumentItemEnhcd
association [1..1] to A_BusinessSolutionOrder as _BusinessSolutionOrder on $projection.BusinessSolutionOrder = _BusinessSolutionOrder.BusinessSolutionOrder
association [0..*] to A_BusSolutionOrderItemText as _Text on $projection.BusinessSolutionOrder = _Text.BusinessSolutionOrder
and $projection.BusinessSolutionOrderItem = _Text.BusinessSolutionOrderItem
association [0..*] to A_BusSolnOrderItemScheduleLine as _ScheduleLine on $projection.BusinessSolutionOrder = _ScheduleLine.BusinessSolutionOrder
and $projection.BusinessSolutionOrderItem = _ScheduleLine.BusinessSolutionOrderItem
association [0..*] to A_BusSolnOrderItemPriceElement as _PriceElement on $projection.BusinessSolutionOrder = _PriceElement.BusinessSolutionOrder
and $projection.BusinessSolutionOrderItem = _PriceElement.BusinessSolutionOrderItem
association [0..1] to I_SalesDocumentRjcnReasonText as _RejectionReasonText on $projection.BusSolnOrdItmRjcnReason = _RejectionReasonText.SalesDocumentRjcnReason
and $projection.Language = _RejectionReasonText.Language
association [0..1] to I_SrvcDocDeliveryStatusText as _DeliveryStatusText on $projection.Language = _DeliveryStatusText.Language
and $projection.SrvcDocItmDeliveryStatus = _DeliveryStatusText.SrvcDocItmDeliveryStatus
association [0..1] to I_CustMgmtExtRefID as _ExternalReference on $projection.BusinessSolutionOrder = _ExternalReference.CustMgmtDocument
and _ExternalReference.CustMgmtObjectType = 'BUS2000172'
and $projection.BusinessSolutionOrderItem = _ExternalReference.CustMgmtDocumentItem
and _ExternalReference.CustMgmtExtRefIDType = '0013'
association [0..*] to A_BusSolnOrdItmFUPSalesOrder as _SalesOrder on $projection.BusinessSolutionOrder = _SalesOrder.BusinessSolutionOrder
and $projection.BusinessSolutionOrderItem = _SalesOrder.BusinessSolutionOrderItem
association [0..1] to E_ServiceDocumentItem as _Extension on _Extension.ServiceCategory = 'BUS2000172'
and $projection.BusinessSolutionOrder = _Extension.ServiceOrderItem
and $projection.BusinessSolutionOrderItem = _Extension.ServiceLineExternalID
association [0..*] to A_BusSolnOrdItmUserStatus as _UserStatus on $projection.BusinessSolutionOrder = _UserStatus.BusinessSolutionOrder
and $projection.BusinessSolutionOrderItem = _UserStatus.BusinessSolutionOrderItem
association [0..*] to A_BusSolnOrdItmConfiguration as _Configurations on $projection.ConfigurationNumber = _Configurations.VariantConfigurationInstance
association [0..1] to I_ServiceDocumentItemPrdcssr_3 as _CPQQuotationItem on $projection.ServiceDocumentItemCharUUID = _CPQQuotationItem.ServiceDocumentItemCharUUID
and _CPQQuotationItem.ServiceDocItmPrdcssrBusObjType = 'CPQQUOTI'
association [0..1] to I_UnitOfMeasure as _QuantityUnit on $projection.QuantityUnit = _QuantityUnit.UnitOfMeasure
{
key ServiceDocument as BusinessSolutionOrder,
key ServiceDocumentItem as BusinessSolutionOrderItem,
@Semantics.uuid: true
ServiceDocumentItemCharUUID,
ServiceDocumentItemUUID as BusinessSolutionOrderItemUUID,
// _ParentServiceDocItem.ServiceDocumentItem as ParentBusSolnOrdItem,
@ObjectModel.sapObjectNodeTypeReference: 'ServiceDocumentItemCategory'
ServiceDocItemCategory as BusSolnOrdItmCategory,
OriginallyRequestedProduct as Product,
@Semantics.quantity.unitOfMeasure: 'QuantityUnit'
@Semantics.quantity.unitOfMeasureSapCode: 'BusSolnOrdItmQtyUnitSAPCode'
@Semantics.quantity.unitOfMeasureIsoCode: 'BusSolnOrdItmQtyUnitISOCode'
ServiceDocumentItemQuantity as Quantity,
@Semantics.unitOfMeasure: true
ServiceDocItemQuantityUnit as QuantityUnit,
cast(_QuantityUnit.UnitOfMeasureSAPCode as sd_ord_qty_sapunit preserving type) as BusSolnOrdItmQtyUnitSAPCode,
cast(_QuantityUnit.UnitOfMeasureISOCode as sd_ord_qty_isounit preserving type) as BusSolnOrdItmQtyUnitISOCode,
ServiceDocumentItemDescription as BusSolnOrdItmDescription,
Language,
_ExternalReference.CustMgmtExtRefID as BusSolnOrdItmExtReference,
@ObjectModel.readOnly: true
ItemOrderProbabilityInPercent,
@ObjectModel.sapObjectNodeTypeReference: 'PaymentTerms'
PaymentTerms,
// @ObjectModel.sapObjectNodeTypeReference:'IncotermsClassification'
IncotermsPart1,
// @ObjectModel.sapObjectNodeTypeReference:'IncotermsClassification'
IncotermsPart2,
Plant,
@ObjectModel.readOnly: true
ParentServiceDocumentItemUUID,
@ObjectModel.readOnly: true
_ParentServiceDocItem.ServiceDocumentItem as ParentBusSolnOrdItem,
//ParentServiceDocumentItemUUID as ParentBusSolnOrdItem,
/* STATUS */
ServiceDocumentItemIsReleased as BusSolnOrdItmIsReleased,
case
when ServiceDocumentItemStatus = 'C'
then 'X'
else ''
end as BusSolnOrdItmIsCompleted,
ServiceDocumentItemIsRejected as BusSolnOrdItmIsRejected,
@ObjectModel.readOnly: true
@ObjectModel.virtualElement:true
@ObjectModel.virtualElementCalculatedBy: 'ABAP:CL_CRMS4_SOLO_API_DISTR_EXIT'
cast( '' as abap.char( 1 ) ) as BusSolnOrdItmDistrStatus,
@ObjectModel.readOnly: true
@ObjectModel.virtualElement:true
@ObjectModel.virtualElementCalculatedBy: 'ABAP:CL_CRMS4_SOLO_API_DISTR_EXIT'
cast( '' as abap.char( 60 ) ) as BusSolnOrdItmDistrStatusName,
@ObjectModel.sapObjectNodeTypeReference: 'SalesDocumentRjcnReason'
ServiceDocItemRejectionReason as BusSolnOrdItmRjcnReason,
_RejectionReasonText.SalesDocumentRjcnReasonName as BusSolnOrdItmRjcnReasonText,
@ObjectModel.readOnly: true
@ObjectModel.sapObjectNodeTypeReference:'SrvcDocDeliveryStatus'
SrvcDocItmDeliveryStatus,
@ObjectModel.readOnly: true
_DeliveryStatusText.SrvcDocDeliveryStatusText as SrvcDocDeliveryStatusText,
@ObjectModel.sapObjectNodeTypeReference: 'ServiceDocBillingStatus'
ServiceDocItemBillingStatus,
@ObjectModel.sapObjectNodeTypeReference: 'BillingBlockReason'
BillingBlockReason,
/* PARTNERS */
SoldToParty,
ShipToParty,
BillToParty,
PayerParty,
ResponsibleEmployee as PersonResponsible,
ContactPerson,
/* DELIVERY DETAILS */
DeliveryPriority,
PartialDeliveryIsAllowed,
OrderCombinationIsAllowed,
DeliveryBlockReason,
RequestedDeliveryUTCDateTime,
@Semantics: { amount : {currencyCode: 'TransactionCurrency'} }
@ObjectModel.readOnly: true
ServiceDocumentItemNetAmount,
@ObjectModel.readOnly: true
@ObjectModel.sapObjectNodeTypeReference: 'Currency'
TransactionCurrency,
ProfitCenter,
PurchaseOrderByCustomer,
//@ObjectModel.readOnly: true
//MaterialPricingGroup,
SrvcMaterialPricingGroup as MaterialPricingGroup,
/* VOLUME & WEIGHTS */
@ObjectModel.readOnly: true
@Semantics.quantity.unitOfMeasure: 'ItemWeightUnit'
ItemGrossWeight,
@ObjectModel.readOnly: true
@Semantics.quantity.unitOfMeasure: 'ItemWeightUnit'
ItemNetWeight,
@Semantics.unitOfMeasure: true
@ObjectModel.readOnly: true
ItemWeightUnit,
@Semantics.quantity.unitOfMeasure: 'ItemVolumeUnit'
@ObjectModel.readOnly: true
ItemVolume,
@Semantics.unitOfMeasure: true
@ObjectModel.readOnly: true
ItemVolumeUnit,
/* DELIVERY DETAILS */
DeliveryGroup,
// RequestedDeliveryDate,
// ProductHierarchy as ProductCategory,
/* CPQ Quotation Item Reference*/
_CPQQuotationItem.ServiceDocumentItemPredecessor as CPQQuotationItem,
@ObjectModel.readOnly: true
ConfigurationNumber,
_BusinessSolutionOrder,
_Text,
_SalesOrder,
_PriceElement,
_ScheduleLine,
_UserStatus,
_Configurations
// _DistributionStatus
}
where
ServiceObjectType = 'BUS2000172'
and ServiceDocumentItemObjectType = 'BUS2000131'
/*+[internal] {
"BASEINFO":
{
"FROM":
[
"I_CUSTMGMTEXTREFID",
"I_SALESDOCUMENTRJCNREASONTEXT",
"I_SERVICEDOCUMENTITEMENHCD",
"I_SERVICEDOCUMENTITEMPRDCSSR_3",
"I_SRVCDOCDELIVERYSTATUSTEXT",
"I_UNITOFMEASURE"
],
"ASSOCIATED":
[
"A_BUSINESSSOLUTIONORDER",
"A_BUSSOLNORDERITEMPRICEELEMENT",
"A_BUSSOLNORDERITEMSCHEDULELINE",
"A_BUSSOLNORDITMCONFIGURATION",
"A_BUSSOLNORDITMFUPSALESORDER",
"A_BUSSOLNORDITMUSERSTATUS",
"A_BUSSOLUTIONORDERITEMTEXT",
"E_SERVICEDOCUMENTITEM",
"I_CUSTMGMTEXTREFID",
"I_SALESDOCUMENTRJCNREASONTEXT",
"I_SERVICEDOCUMENTITEMPRDCSSR_3",
"I_SRVCDOCDELIVERYSTATUSTEXT",
"I_UNITOFMEASURE"
],
"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