A_BusSolnOrderExpenseItem

DDL: A_BUSSOLNORDEREXPENSEITEM Type: view COMPOSITE

Expense Item

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

Data Sources (1)

SourceAliasJoin Type
I_ServiceDocumentItemEnhcd I_ServiceDocumentItemEnhcd from

Associations (12)

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_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 = 'BUS2000159'
[0..1] I_StatusObjectUUIDStatus _ServiceContractDetn $projection.BusinessSolutionOrderItemUUID = _ServiceContractDetn.StatusObjectUUID and _ServiceContractDetn.StatusCode = 'I0994'
[0..1] I_CustMgmtExtRefID _ExternalReference $projection.BusinessSolutionOrder = _ExternalReference.CustMgmtDocument and _ExternalReference.CustMgmtObjectType = 'BUS2000172' and $projection.BusinessSolutionOrderItem = _ExternalReference.CustMgmtDocumentItem and _ExternalReference.CustMgmtExtRefIDType = '0013'
[0..*] A_BusSolnOrdItmFUPServiceOrder _ServiceOrder $projection.BusinessSolutionOrder = _ServiceOrder.BusinessSolutionOrder and $projection.BusinessSolutionOrderItem = _ServiceOrder.BusinessSolutionOrderItem
[0..1] E_ServiceDocumentItem _Extension _Extension.ServiceCategory = 'BUS2000116' and $projection.BusinessSolutionOrder = _Extension.ServiceOrderItem and $projection.BusinessSolutionOrderItem = _Extension.ServiceLineExternalID
[0..*] A_BusSolnOrdItmUserStatus _UserStatus $projection.BusinessSolutionOrder = _UserStatus.BusinessSolutionOrder and $projection.BusinessSolutionOrderItem = _UserStatus.BusinessSolutionOrderItem
[0..1] I_UnitOfMeasure _QuantityUnit $projection.QuantityUnit = _QuantityUnit.UnitOfMeasure

Annotations (15)

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

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
BillableControl BillableControl
ServiceDocumentItemNetAmount ServiceDocumentItemNetAmount
TransactionCurrency TransactionCurrency
ParentServiceDocumentItemUUID ParentServiceDocumentItemUUID
ParentBusSolnOrdItem _ParentServiceDocItem ServiceDocumentItem
BusSolnOrdItmIsReleased ServiceDocumentItemIsReleased
BusSolnOrdItmIsRejected ServiceDocumentItemIsRejected
BusSolnOrdItmDistrStatus
BusSolnOrdItmDistrStatusName
BusSolnOrdItmRjcnReason ServiceDocItemRejectionReason
BusSolnOrdItmRjcnReasonText _RejectionReasonText SalesDocumentRjcnReasonName
ReferenceServiceContract
ReferenceServiceContractItem
SrvcContrDetnIsSpprsd _ServiceContractDetn StatusIsActive
SoldToParty SoldToParty
ShipToParty ShipToParty
BillToParty BillToParty
PayerParty PayerParty
PersonResponsible ResponsibleEmployee
ContactPerson ContactPerson
ProfitCenter ProfitCenter
_BusinessSolutionOrder _BusinessSolutionOrder
_PriceElement _PriceElement
_ReferenceObject _ReferenceObject
_Text _Text
_ServiceOrder _ServiceOrder
_UserStatus _UserStatus
@ClientHandling.algorithm:#SESSION_VARIABLE
@EndUserText.label: 'Expense Item'
@VDM: {
  viewType: #COMPOSITE,
  lifecycle.contract.type: #PUBLIC_REMOTE_API
}
@AbapCatalog: {
  sqlViewName: 'ABSOEXPITM',
  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_BusSolnOrderExpenseItem
  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_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 = 'BUS2000159'
  association [0..1] to I_StatusObjectUUIDStatus       as _ServiceContractDetn   on  $projection.BusinessSolutionOrderItemUUID = _ServiceContractDetn.StatusObjectUUID
                                                                                 and _ServiceContractDetn.StatusCode           = 'I0994'
  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_BusSolnOrdItmFUPServiceOrder as _ServiceOrder          on  $projection.BusinessSolutionOrder     = _ServiceOrder.BusinessSolutionOrder
                                                                                 and $projection.BusinessSolutionOrderItem = _ServiceOrder.BusinessSolutionOrderItem
  association [0..1] to E_ServiceDocumentItem          as _Extension             on  _Extension.ServiceCategory            = 'BUS2000116'
                                                                                 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..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,
          BillableControl,
          @Semantics: { amount : {currencyCode: 'TransactionCurrency'} }
          @ObjectModel.readOnly: true
          ServiceDocumentItemNetAmount,
          @ObjectModel.readOnly: true
          TransactionCurrency,
          @ObjectModel.readOnly: true
          ParentServiceDocumentItemUUID,
          @ObjectModel.readOnly: true
          _ParentServiceDocItem.ServiceDocumentItem        as ParentBusSolnOrdItem,

          /* 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,
          @ObjectModel.readOnly: true
          _RejectionReasonText.SalesDocumentRjcnReasonName       as BusSolnOrdItmRjcnReasonText,

          /* REF SERVICE CONTRACT */

          _RefServiceContract._ServiceDocItm.ServiceDocument     as ReferenceServiceContract,
          _RefServiceContract._ServiceDocItm.ServiceDocumentItem as ReferenceServiceContractItem,
          _ServiceContractDetn.StatusIsActive                    as SrvcContrDetnIsSpprsd,

          /* PARTNERS */
          SoldToParty,
          ShipToParty,
          BillToParty,
          PayerParty,
          ResponsibleEmployee                                    as PersonResponsible,
          ContactPerson,
          
          @Feature: 'CRMS4_SOLO_PROFIT_CENTER'
          ProfitCenter,

          _BusinessSolutionOrder,
          _PriceElement,
          _ReferenceObject,
          _Text,
          _ServiceOrder,
          _UserStatus
          //           _DistributionStatus

}
where
      ServiceObjectType             = 'BUS2000172'
  and ServiceDocumentItemObjectType = 'BUS2000159'
/*+[internal] {
"BASEINFO":
{
"FROM":
[
"I_CUSTMGMTEXTREFID",
"I_SALESDOCUMENTRJCNREASONTEXT",
"I_SERVICEDOCUMENTITEMENHCD",
"I_SERVICEDOCUMENTITEMPRDCSSR_2",
"I_STATUSOBJECTUUIDSTATUS",
"I_UNITOFMEASURE"
],
"ASSOCIATED":
[
"A_BUSINESSSOLUTIONORDER",
"A_BUSSOLNORDERITEMPRICEELEMENT",
"A_BUSSOLNORDITMFUPSERVICEORDER",
"A_BUSSOLNORDITMREFERENCEOBJECT",
"A_BUSSOLNORDITMUSERSTATUS",
"A_BUSSOLUTIONORDERITEMTEXT",
"E_SERVICEDOCUMENTITEM",
"I_CUSTMGMTEXTREFID",
"I_SALESDOCUMENTRJCNREASONTEXT",
"I_SERVICEDOCUMENTITEMPRDCSSR_2",
"I_STATUSOBJECTUUIDSTATUS",
"I_UNITOFMEASURE"
],
"BASE":
[],
"ANNO_REF":
[],
"SCALAR_FUNCTION":
[],
"VERSION":0,
"ANNOREF_EVALUATION_ERROR":""
}
}*/