A_BusSolnOrderSalesItem

DDL: A_BUSSOLNORDERSALESITEM Type: view COMPOSITE

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)

SourceAliasJoin Type
I_ServiceDocumentItemEnhcd I_ServiceDocumentItemEnhcd from

Associations (13)

CardinalityTargetAliasCondition
[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)

NameValueLevelField
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)

KeyFieldSource TableSource FieldDescription
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":""
}
}*/