A_BusSolnOrderServiceItem

DDL: A_BUSSOLNORDERSERVICEITEM Type: view COMPOSITE

Service Order Item

A_BusSolnOrderServiceItem is a Composite CDS View that provides data about "Service Order Item" in SAP S/4HANA. It reads from 1 data source (I_ServiceDocumentItemEnhcd) and exposes 53 fields with key fields BusinessSolutionOrder, BusinessSolutionOrderItem. It has 14 associations to related views.

Data Sources (1)

SourceAliasJoin Type
I_ServiceDocumentItemEnhcd I_ServiceDocumentItemEnhcd from

Associations (14)

CardinalityTargetAliasCondition
[1..1] A_BusinessSolutionOrder _BusinessSolutionOrder $projection.BusinessSolutionOrder = _BusinessSolutionOrder.BusinessSolutionOrder
[0..*] A_BusSolutionOrderItemText _Text $projection.BusinessSolutionOrderItem = _Text.BusinessSolutionOrderItem and $projection.BusinessSolutionOrder = _Text.BusinessSolutionOrder
[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..*] A_BusSolnOrdItmReferenceObject _ReferenceObject $projection.BusinessSolutionOrder = _ReferenceObject.BusinessSolutionOrder and $projection.BusinessSolutionOrderItem = _ReferenceObject.BusinessSolutionOrderItem
[0..1] I_ServiceDocumentItemPrdcssr_2 _RefServiceContract $projection.ServiceDocumentItemCharUUID = _RefServiceContract.ServiceDocumentItemCharUUID and _RefServiceContract.ServiceDocumentItemObjectType = 'BUS2000140'
[0..1] I_StatusObjectUUIDStatus _ServiceContractDetn $projection.BusinessSolutionOrderItemUUID = _ServiceContractDetn.StatusObjectUUID and _ServiceContractDetn.StatusCode = 'I0994'
[0..*] A_BusSolnOrdItmFUPServiceOrder _ServiceOrder $projection.BusinessSolutionOrder = _ServiceOrder.BusinessSolutionOrder and $projection.BusinessSolutionOrderItem = _ServiceOrder.BusinessSolutionOrderItem
[0..1] I_CustMgmtExtRefID _ExternalReference $projection.BusinessSolutionOrder = _ExternalReference.CustMgmtDocument and _ExternalReference.CustMgmtObjectType = 'BUS2000172' and $projection.BusinessSolutionOrderItem = _ExternalReference.CustMgmtDocumentItem and _ExternalReference.CustMgmtExtRefIDType = '0013'
[0..1] I_CustMgmtPartner _ServicePerformer CustMgmtPartnerFunction = '00000028' and CustMgmtPartFunctionCategory = '0091' and $projection.BusinessSolutionOrder = _ServicePerformer.CustMgmtDocument and $projection.BusinessSolutionOrderItem = _ServicePerformer.CustMgmtDocumentItem
[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_UnitOfMeasure _QuantityUnit $projection.QuantityUnit = _QuantityUnit.UnitOfMeasure

Annotations (15)

NameValueLevelField
ClientHandling.algorithm #SESSION_VARIABLE view
EndUserText.label Service Order Item view
VDM.viewType #COMPOSITE view
VDM.lifecycle.contract.type #PUBLIC_REMOTE_API view
AbapCatalog.sqlViewName ABSOSRVITM 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 (53)

KeyFieldSource TableSource FieldDescription
KEY BusinessSolutionOrder ServiceDocument
KEY BusinessSolutionOrderItem ServiceDocumentItem
ServiceDocumentItemCharUUID ServiceDocumentItemCharUUID
BusinessSolutionOrderItemUUID ServiceDocumentItemUUID
BusSolnOrdItmCategory ServiceDocItemCategory
Product OriginallyRequestedProduct
ParentServiceDocumentItemUUID ParentServiceDocumentItemUUID
ParentBusSolnOrdItem _ParentServiceDocItem ServiceDocumentItem
Quantity ServiceDocumentItemQuantity
QuantityUnit ServiceDocItemQuantityUnit
BusSolnOrdItmQtyUnitSAPCode
BusSolnOrdItmQtyUnitISOCode
BusSolnOrdItmDescription ServiceDocumentItemDescription
Language Language
BusSolnOrdItmExtReference _ExternalReference CustMgmtExtRefID
ItemOrderProbabilityInPercent ItemOrderProbabilityInPercent
PaymentTerms PaymentTerms
PlannedServiceStartDateTime PlannedServiceStartDateTime
PlannedServiceEndDateTime PlannedServiceEndDateTime
RequestedServiceStartDateTime RequestedServiceStartDateTime
RequestedServiceEndDateTime RequestedServiceEndDateTime
ServiceProfile ServiceProfile
ResponseProfile ResponseProfile
BillableControl BillableControl
ServiceDuration ServiceDuration
ServiceDurationUnit ServiceDurationUnit
ProfitCenter ProfitCenter
ServiceDocumentItemNetAmount ServiceDocumentItemNetAmount
TransactionCurrency TransactionCurrency
BusSolnOrdItmIsReleased ServiceDocumentItemIsReleased
BusSolnOrdItmIsRejected ServiceDocumentItemIsRejected
BusSolnOrdItmDistrStatus
BusSolnOrdItmDistrStatusName
BusSolnOrdItmRjcnReason ServiceDocItemRejectionReason
BusSolnOrdItmRjcnReasonText _RejectionReasonText SalesDocumentRjcnReasonName
SoldToParty SoldToParty
ShipToParty ShipToParty
BillToParty BillToParty
PayerParty PayerParty
PersonResponsible ResponsibleEmployee
ContactPerson ContactPerson
ConfigurationNumber ConfigurationNumber
ServicePerformer _ServicePerformer CustMgmtBusinessPartner
ReferenceServiceContract
ReferenceServiceContractItem
SrvcContrDetnIsSpprsd _ServiceContractDetn StatusIsActive
_BusinessSolutionOrder _BusinessSolutionOrder
_PriceElement _PriceElement
_ReferenceObject _ReferenceObject
_Text _Text
_ServiceOrder _ServiceOrder
_UserStatus _UserStatus
_Configurations _Configurations
@ClientHandling.algorithm:#SESSION_VARIABLE
@EndUserText.label: 'Service Order Item'
@VDM: {
  viewType: #COMPOSITE,
  lifecycle.contract.type: #PUBLIC_REMOTE_API
}
@AbapCatalog: {
  sqlViewName: 'ABSOSRVITM',
  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_BusSolnOrderServiceItem
  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.BusinessSolutionOrderItem = _Text.BusinessSolutionOrderItem
                                                                                 and $projection.BusinessSolutionOrder     = _Text.BusinessSolutionOrder
  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..*] to A_BusSolnOrdItmReferenceObject as _ReferenceObject       on  $projection.BusinessSolutionOrder     = _ReferenceObject.BusinessSolutionOrder
                                                                                 and $projection.BusinessSolutionOrderItem = _ReferenceObject.BusinessSolutionOrderItem
  association [0..1] to I_ServiceDocumentItemPrdcssr_2 as _RefServiceContract    on  $projection.ServiceDocumentItemCharUUID           = _RefServiceContract.ServiceDocumentItemCharUUID
                                                                                 and _RefServiceContract.ServiceDocumentItemObjectType = 'BUS2000140'
  association [0..1] to I_StatusObjectUUIDStatus       as _ServiceContractDetn   on  $projection.BusinessSolutionOrderItemUUID = _ServiceContractDetn.StatusObjectUUID
                                                                                 and _ServiceContractDetn.StatusCode           = 'I0994'
  association [0..*] to A_BusSolnOrdItmFUPServiceOrder as _ServiceOrder          on  $projection.BusinessSolutionOrder     = _ServiceOrder.BusinessSolutionOrder
                                                                                 and $projection.BusinessSolutionOrderItem = _ServiceOrder.BusinessSolutionOrderItem
  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..1] to I_CustMgmtPartner              as _ServicePerformer      on  CustMgmtPartnerFunction               = '00000028'
                                                                                 and CustMgmtPartFunctionCategory          = '0091'
                                                                                 and $projection.BusinessSolutionOrder     = _ServicePerformer.CustMgmtDocument
                                                                                 and $projection.BusinessSolutionOrderItem = _ServicePerformer.CustMgmtDocumentItem
  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_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,
          @ObjectModel.readOnly: true
          ParentServiceDocumentItemUUID,
          @ObjectModel.readOnly: true
          _ParentServiceDocItem.ServiceDocumentItem              as ParentBusSolnOrdItem,
          
          @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.readOnly: true
          PlannedServiceStartDateTime,
          @ObjectModel.readOnly: true
          PlannedServiceEndDateTime,
          RequestedServiceStartDateTime,
          RequestedServiceEndDateTime,
          ServiceProfile,
          ResponseProfile,
          BillableControl,
          ServiceDuration,
          ServiceDurationUnit,
          ProfitCenter,
          @Semantics: { amount : {currencyCode: 'TransactionCurrency'} }
          @ObjectModel.readOnly: true
          ServiceDocumentItemNetAmount,
          @ObjectModel.readOnly: true
          @ObjectModel.sapObjectNodeTypeReference: 'Currency'
          TransactionCurrency,
          /* STATUS */
          case ServiceDocumentItemStatus
          when 'C'  then 'X'
          else ''
          end                                                    as BusSolnOrdItmIsCompleted,
          ServiceDocumentItemIsReleased                          as BusSolnOrdItmIsReleased,
          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,
          /* PARTNERS */
          SoldToParty,
          ShipToParty,
          BillToParty,
          PayerParty,
          ResponsibleEmployee                                    as PersonResponsible,
          ContactPerson,
          @ObjectModel.readOnly: true
          ConfigurationNumber,
          _ServicePerformer.CustMgmtBusinessPartner              as ServicePerformer,

          /* REF SERVICE CONTRACT */

          _RefServiceContract._ServiceDocItm.ServiceDocument     as ReferenceServiceContract,
          _RefServiceContract._ServiceDocItm.ServiceDocumentItem as ReferenceServiceContractItem,
          _ServiceContractDetn.StatusIsActive                    as SrvcContrDetnIsSpprsd,
          
          _BusinessSolutionOrder,
          _PriceElement,
          _ReferenceObject,
          _Text,
          _ServiceOrder,
          _UserStatus,
          _Configurations
         
}
where
      ServiceObjectType             = 'BUS2000172'
  and ServiceDocumentItemObjectType = 'BUS2000140'
/*+[internal] {
"BASEINFO":
{
"FROM":
[
"I_CUSTMGMTEXTREFID",
"I_CUSTMGMTPARTNER",
"I_SALESDOCUMENTRJCNREASONTEXT",
"I_SERVICEDOCUMENTITEMENHCD",
"I_SERVICEDOCUMENTITEMPRDCSSR_2",
"I_STATUSOBJECTUUIDSTATUS",
"I_UNITOFMEASURE"
],
"ASSOCIATED":
[
"A_BUSINESSSOLUTIONORDER",
"A_BUSSOLNORDERITEMPRICEELEMENT",
"A_BUSSOLNORDITMCONFIGURATION",
"A_BUSSOLNORDITMFUPSERVICEORDER",
"A_BUSSOLNORDITMREFERENCEOBJECT",
"A_BUSSOLNORDITMUSERSTATUS",
"A_BUSSOLUTIONORDERITEMTEXT",
"E_SERVICEDOCUMENTITEM",
"I_CUSTMGMTEXTREFID",
"I_CUSTMGMTPARTNER",
"I_SALESDOCUMENTRJCNREASONTEXT",
"I_SERVICEDOCUMENTITEMPRDCSSR_2",
"I_STATUSOBJECTUUIDSTATUS",
"I_UNITOFMEASURE"
],
"BASE":
[],
"ANNO_REF":
[],
"SCALAR_FUNCTION":
[],
"VERSION":0,
"ANNOREF_EVALUATION_ERROR":""
}
}*/