A_BusSolnOrdItemSimulation

DDL: A_BUSSOLNORDITEMSIMULATION Type: view_entity CONSUMPTION Package: ODATA_CRMS4_SOLUTIONORDER_API

Item Simulation

A_BusSolnOrdItemSimulation is a Consumption CDS View that provides data about "Item Simulation" in SAP S/4HANA. It reads from 1 data source (I_ServiceDocumentItemEnhcd) and exposes 51 fields with key fields BusinessSolutionOrder, BusinessSolutionOrderItem. It has 8 associations to related views. It is exposed through 1 OData service (API_BUSSOLNORDSIMULATION). Part of development package ODATA_CRMS4_SOLUTIONORDER_API.

Data Sources (1)

SourceAliasJoin Type
I_ServiceDocumentItemEnhcd I_ServiceDocumentItemEnhcd from

Associations (8)

CardinalityTargetAliasCondition
[0..1] I_UnitOfMeasure _QuantityUnit $projection.QuantityUnit = _QuantityUnit.UnitOfMeasure
[0..1] I_SrvcMgmtObjectStatus _ServiceContractDetn $projection.BusinessSolutionOrderItemUUID = _ServiceContractDetn.SrvcMgmtObjectUUID and _ServiceContractDetn.SrvcMgmtObjectStatus = 'I0994' and _ServiceContractDetn.SrvcMgmtObjectStatusIsInactive = ''
[0..1] I_ServiceDocumentItemPrdcssr_3 _ReferenceSrvcContract $projection.ServiceDocumentItemCharUUID = _ReferenceSrvcContract.ServiceDocumentItemCharUUID and _ReferenceSrvcContract.ServiceDocItmPrdcssrBusObjType = 'BUS2000137'
[0..1] I_CustMgmtDateRule _SettlementPeriodRule $projection.SettlementPeriodRuleUUID = _SettlementPeriodRule.CustMgmtDateRuleUUID
[0..1] E_ServiceDocumentItem _Extension _Extension.ServiceCategory = 'BUS2000172' and $projection.BusinessSolutionOrder = _Extension.ServiceOrderItem and $projection.BusinessSolutionOrderItem = _Extension.ServiceLineExternalID
[0..*] A_BusSolnOrdItmPriceElmntSimln _PriceElement
[0..*] A_BusSolOrdItmBlgReqItmSimln _BillingRequestItem
[0..*] A_BusSolnOrdItemPartnerSimln _Partner

Annotations (10)

NameValueLevelField
VDM.lifecycle.contract.type #PUBLIC_REMOTE_API view
VDM.viewType #CONSUMPTION view
AccessControl.authorizationCheck #MANDATORY view
EndUserText.label Item Simulation view
Metadata.ignorePropagatedAnnotations true view
OData.entityType.name BusinessSolutionOrderItem_Type view
ObjectModel.usageType.dataClass #TRANSACTIONAL view
ObjectModel.usageType.serviceQuality #C view
ObjectModel.usageType.sizeCategory #L view
ObjectModel.query.implementedBy ABAP:CL_CRMS4_SOLO_SIMLN_QUERY view

OData Services (1)

ServiceBindingVersionContractRelease
API_BUSSOLNORDSIMULATION API_BUSSOLNORDSIMULATION V4 C2 C1

Fields (51)

KeyFieldSource TableSource FieldDescription
KEY BusinessSolutionOrder ServiceDocument
KEY BusinessSolutionOrderItem ServiceDocumentItem
ParentBusSolnOrdItem _ParentServiceDocItem_2 ServiceDocumentItem
Product Product
SrvcDocItemCumulatedNetAmount SrvcDocItemCumulatedNetAmount
ServiceDocumentItemObjectType ServiceDocumentItemObjectType
BusSolnOrdItmCategory ServiceDocItemCategory
BusSolnOrdItmDescription ServiceDocumentItemDescription
ServiceDocumentItemCharUUID ServiceDocumentItemCharUUID
ServiceContrItemStartDateTime ServiceContrItemStartDateTime
ServiceContrItemEndDateTime ServiceContrItemEndDateTime
RequestedServiceStartDateTime RequestedServiceStartDateTime
RequestedServiceEndDateTime RequestedServiceEndDateTime
Quantity ServiceDocumentItemQuantity
QuantityUnit ServiceDocItemQuantityUnit
BusSolnOrdItmQtyUnitSAPCode _QuantityUnit UnitOfMeasureSAPCode
BusSolnOrdItmQtyUnitISOCode _QuantityUnit UnitOfMeasureISOCode
SoldToParty SoldToParty
ShipToParty ShipToParty
BillToParty BillToParty
PayerParty PayerParty
ContactPersonBusinessPartnerId ContactPerson
RespEmployeeBusinessPartnerId ResponsibleEmployee
TransactionCurrency TransactionCurrency
ServiceDocumentItemNetAmount ServiceDocumentItemNetAmount
ItemGrossWeight ItemGrossWeight
ItemNetWeight ItemNetWeight
ItemVolume ItemVolume
ItemVolumeUnit ItemVolumeUnit
UnitOfMeasureSAPCode _VolumeUnit UnitOfMeasureSAPCode
UnitOfMeasureISOCode _VolumeUnit UnitOfMeasureISOCode
ItemWeightUnit ItemWeightUnit
Plant Plant
ReferenceServiceContract
ReferenceServiceContractItem
SrvcMgmtBillgPlanBillgDateRule _BillPlanDateRule CustMgmtDateRuleName
SettlementPeriodRuleUUID SettlementPeriodRuleUUID
SettlementPeriodRule _SettlementPeriodRule CustMgmtDateRuleName
SalesOrganization SalesOrganization
DistributionChannel DistributionChannel
Division Division
SalesOffice SalesOffice
SalesGroup SalesGroup
PaymentTerms PaymentTerms
BusSolnOrdType ServiceDocumentType
ServiceObjectType ServiceObjectType
BusinessSolutionOrderItemUUID ServiceDocumentItemUUID
_BusinessSolutionOrder _BusinessSolutionOrder
_PriceElement _PriceElement
_BillingRequestItem _BillingRequestItem
_Partner _Partner
@VDM: {
  lifecycle.contract.type: #PUBLIC_REMOTE_API,
  usage.type: [#TRANSACTIONAL_PROCESSING_SERVICE],
  viewType: #CONSUMPTION
}

@AccessControl: {
    authorizationCheck: #MANDATORY,
    personalData.blocking: #('TRANSACTIONAL_DATA')
}
@EndUserText.label: 'Item Simulation'
@Metadata.ignorePropagatedAnnotations: true

@OData: {
  entityType.name: 'BusinessSolutionOrderItem_Type'
}

@ObjectModel: {
   semanticKey: [ 'BusinessSolutionOrder', 'BusinessSolutionOrderItem' ],
   usageType: {
     dataClass:      #TRANSACTIONAL,
     serviceQuality: #C,
     sizeCategory:   #L
   },
   query.implementedBy: 'ABAP:CL_CRMS4_SOLO_SIMLN_QUERY'
}
define view entity A_BusSolnOrdItemSimulation
  as select from I_ServiceDocumentItemEnhcd


  association        to parent A_BusSolnOrdSimulation  as _BusinessSolutionOrder on  $projection.BusinessSolutionOrder = _BusinessSolutionOrder.BusinessSolutionOrder


  association [0..1] to I_UnitOfMeasure                as _QuantityUnit          on  $projection.QuantityUnit = _QuantityUnit.UnitOfMeasure

  association [0..1] to I_SrvcMgmtObjectStatus         as _ServiceContractDetn   on  $projection.BusinessSolutionOrderItemUUID           = _ServiceContractDetn.SrvcMgmtObjectUUID
                                                                                 and _ServiceContractDetn.SrvcMgmtObjectStatus           = 'I0994'
                                                                                 and _ServiceContractDetn.SrvcMgmtObjectStatusIsInactive = ''
  association [0..1] to I_ServiceDocumentItemPrdcssr_3 as _ReferenceSrvcContract on  $projection.ServiceDocumentItemCharUUID               = _ReferenceSrvcContract.ServiceDocumentItemCharUUID
                                                                                 and _ReferenceSrvcContract.ServiceDocItmPrdcssrBusObjType = 'BUS2000137'
  association [0..1] to I_CustMgmtDateRule             as _SettlementPeriodRule  on  $projection.SettlementPeriodRuleUUID = _SettlementPeriodRule.CustMgmtDateRuleUUID
  
  association [0..1] to E_ServiceDocumentItem          as _Extension             on _Extension.ServiceCategory = 'BUS2000172'
                                                                                 and $projection.BusinessSolutionOrder = _Extension.ServiceOrderItem
                                                                                 and $projection.BusinessSolutionOrderItem = _Extension.ServiceLineExternalID

  composition [0..*] of A_BusSolnOrdItmPriceElmntSimln as _PriceElement
  composition [0..*] of A_BusSolOrdItmBlgReqItmSimln   as _BillingRequestItem
  composition [0..*] of A_BusSolnOrdItemPartnerSimln   as _Partner
{

      /* admin */

  key ServiceDocument                                           as BusinessSolutionOrder,
  key ServiceDocumentItem                                       as BusinessSolutionOrderItem,
      _ParentServiceDocItem_2.ServiceDocumentItem               as ParentBusSolnOrdItem,
      Product,
      @Semantics.amount.currencyCode: 'TransactionCurrency'
      SrvcDocItemCumulatedNetAmount,
      ServiceDocumentItemObjectType,
      @ObjectModel.sapObjectNodeTypeReference: 'ServiceDocumentItemCategory'
      ServiceDocItemCategory                                    as BusSolnOrdItmCategory,
      ServiceDocumentItemDescription                            as BusSolnOrdItmDescription,
      @Semantics.uuid: true
      @Consumption.hidden: true
      ServiceDocumentItemCharUUID,

      //Date

      @Semantics.dateTime: true
      ServiceContrItemStartDateTime,
      @Semantics.dateTime: true
      ServiceContrItemEndDateTime,
      @Semantics.dateTime: true
      RequestedServiceStartDateTime,
      @Semantics.dateTime: true
      RequestedServiceEndDateTime,

      //Quantity

      @Semantics.quantity.unitOfMeasure: 'QuantityUnit'
      @Semantics.quantity.unitOfMeasureSapCode: 'BusSolnOrdItmQtyUnitSAPCode'
      @Semantics.quantity.unitOfMeasureIsoCode: 'BusSolnOrdItmQtyUnitISOCode'
      ServiceDocumentItemQuantity                               as Quantity,
      ServiceDocItemQuantityUnit                                as QuantityUnit,
      _QuantityUnit.UnitOfMeasureSAPCode                        as BusSolnOrdItmQtyUnitSAPCode,
      _QuantityUnit.UnitOfMeasureISOCode                        as BusSolnOrdItmQtyUnitISOCode,

      /* partners */
      SoldToParty,
      ShipToParty,
      BillToParty,
      PayerParty,
      ContactPerson                                             as ContactPersonBusinessPartnerId,
      ResponsibleEmployee                                       as RespEmployeeBusinessPartnerId,

      /* pricing */
      TransactionCurrency,
      @Semantics.amount.currencyCode: 'TransactionCurrency'
      ServiceDocumentItemNetAmount,

      /* shipping */
      @Semantics.quantity.unitOfMeasureSapCode: 'BusSolnOrdItmQtyUnitSAPCode'
      @Semantics.quantity.unitOfMeasureIsoCode: 'BusSolnOrdItmQtyUnitISOCode'
      @Semantics.quantity.unitOfMeasure: 'ItemWeightUnit'
      ItemGrossWeight,
      @Semantics.quantity.unitOfMeasureSapCode: 'BusSolnOrdItmQtyUnitSAPCode'
      @Semantics.quantity.unitOfMeasureIsoCode: 'BusSolnOrdItmQtyUnitISOCode'
      @Semantics.quantity.unitOfMeasure: 'ItemWeightUnit'
      ItemNetWeight,
      @Semantics.quantity.unitOfMeasure: 'ItemVolumeUnit'
      @Semantics.quantity.unitOfMeasureSapCode: 'UnitOfMeasureSAPCode'
      @Semantics.quantity.unitOfMeasureIsoCode: 'UnitOfMeasureISOCode'
      ItemVolume,
      ItemVolumeUnit,
      _VolumeUnit.UnitOfMeasureSAPCode,
      _VolumeUnit.UnitOfMeasureISOCode,
      ItemWeightUnit,

      //Sales

      cast( case when ServiceDocumentItemObjectType = 'BUS2000131'
      then IncotermsPart1
      else ''
      end as crmt_incoterms1 preserving type )                  as IncotermsPart1,
      cast( case when ServiceDocumentItemObjectType = 'BUS2000131'
      then IncotermsPart2
      else ''
      end as crmt_incoterms2 preserving type )                  as IncotermsPart2,
      cast( case when ServiceDocumentItemObjectType = 'BUS2000131'
      then DeliveryGroup
      else '000'
      end as crmt_dlv_group preserving type )                   as DeliveryGroup,
      cast (case when ServiceDocumentItemObjectType = 'BUS2000131'
      then DeliveryPriority
      else '00'
      end as crmt_dlv_prio preserving type )                    as DeliveryPriority,
      Plant,

      cast (case when _ServiceContractDetn.SrvcMgmtObjectStatus = 'I0994'
      then 'X'
      else ''
      end as xfeld  preserving type )                           as SrvcContrDetnIsSpprsd,

      /* reference documents */
      _ReferenceSrvcContract._ServiceDocItm.ServiceDocument     as ReferenceServiceContract,
      _ReferenceSrvcContract._ServiceDocItm.ServiceDocumentItem as ReferenceServiceContractItem,

      _BillPlanDateRule.CustMgmtDateRuleName                    as SrvcMgmtBillgPlanBillgDateRule,
      @Semantics.uuid: true
      @Consumption.hidden: true
      SettlementPeriodRuleUUID,
      _SettlementPeriodRule.CustMgmtDateRuleName                as SettlementPeriodRule,

      /* organisation */
      SalesOrganization,
      DistributionChannel,
      Division,
      SalesOffice,
      SalesGroup,

      /* common */
      PaymentTerms,

      @Consumption.hidden: true
      ServiceDocumentType                                       as BusSolnOrdType,
      @Consumption.hidden: true
      ServiceObjectType,
      @Consumption.hidden: true
      ServiceDocumentItemUUID                                   as BusinessSolutionOrderItemUUID,

      _BusinessSolutionOrder,
      _PriceElement,
      _BillingRequestItem,
      _Partner

      //      _ProjectManager

}
where
  ServiceObjectType = 'BUS2000172'