A_ServiceQuotationItem

DDL: A_SERVICEQUOTATIONITEM Type: view COMPOSITE

Service Quotation Item

A_ServiceQuotationItem is a Composite CDS View that provides data about "Service Quotation Item" in SAP S/4HANA. It reads from 1 data source (I_ServiceDocumentItemEnhcd) and exposes 41 fields with key fields ServiceQuotation, ServiceQuotationItem. It has 12 associations to related views.

Data Sources (1)

SourceAliasJoin Type
I_ServiceDocumentItemEnhcd ServiceQuotationItem from

Associations (12)

CardinalityTargetAliasCondition
[0..*] A_ServiceQtanItemRefObject _ReferenceObject $projection.ServiceQuotation = _ReferenceObject.ServiceQuotation and $projection.ServiceQuotationItem = _ReferenceObject.ServiceQuotationItem
[0..*] A_ServiceQuotationItemText _Text $projection.ServiceQuotation = _Text.ServiceQuotation and $projection.ServiceQuotationItem = _Text.ServiceQuotationItem
[0..*] A_ServiceQtanItemPriceElement _PricingElement $projection.ServiceQuotation = _PricingElement.ServiceQuotation and $projection.ServiceQuotationItem = _PricingElement.ServiceQuotationItem
[1] A_ServiceQuotation _ServiceQuotation $projection.ServiceQuotation = _ServiceQuotation.ServiceQuotation
[0..1] I_ServiceDocumentItemSuccssr_2 _RefServiceOrderItem ServiceQuotationItem.ServiceDocumentItemCharUUID = _RefServiceOrderItem.ServiceDocumentItemCharUUID and _RefServiceOrderItem.ServiceDocItmSuccssrBusObjType = ServiceQuotationItem.ServiceDocumentItemObjectType
[0..1] A_ServiceOrdItmRefSrvcContr _RefServiceContractItem $projection.ServiceQuotationItemUUID = _RefServiceContractItem.ServiceOrderItemUUID
[0..1] I_CustMgmtExtRefID _CustMgmtExtRef $projection.ServiceQuotation = _CustMgmtExtRef.CustMgmtDocument and _CustMgmtExtRef.CustMgmtObjectType = ServiceObjectType and $projection.ServiceQuotationItem = _CustMgmtExtRef.CustMgmtDocumentItem and _CustMgmtExtRef.CustMgmtExtRefIDType = '0010'
[0..1] I_SrvcMgmtObjectStatus _SrvcMgmtLifeCycleSystemStatus $projection.ServiceQuotationItemUUID = _SrvcMgmtLifeCycleSystemStatus.SrvcMgmtObjectUUID and ( _SrvcMgmtLifeCycleSystemStatus.SrvcMgmtObjectStatus = 'I1002' or _SrvcMgmtLifeCycleSystemStatus.SrvcMgmtObjectStatus = 'I1003' or _SrvcMgmtLifeCycleSystemStatus.SrvcMgmtObjectStatus = 'I1004' or _SrvcMgmtLifeCycleSystemStatus.SrvcMgmtObjectStatus = 'I1005' ) and _SrvcMgmtLifeCycleSystemStatus.SrvcMgmtObjectStatusIsInactive = ' '
[0..1] E_ServiceDocumentItem _Extension _Extension.ServiceCategory = 'BUS2000116' and $projection.ServiceQuotation = _Extension.ServiceOrderItem and $projection.ServiceQuotationItem = _Extension.ServiceLineExternalID
[0..1] I_CustMgmtPartner _ServicePerformer CustMgmtPartnerFunction = '00000028' and CustMgmtPartFunctionCategory = '0091' and $projection.ServiceQuotation = _ServicePerformer.CustMgmtDocument and $projection.ServiceQuotationItem = _ServicePerformer.CustMgmtDocumentItem
[0..*] A_SrvcQtanItmInHouseRepairItem _InHouseRepairItem $projection.ServiceQuotation = _InHouseRepairItem.ServiceQuotation and $projection.ServiceQuotationItem = _InHouseRepairItem.ServiceQuotationItem
[0..1] I_SrvcMgmtObjectStatus _SrvcMgmtSendToPlanningStatus $projection.ServiceQuotationItemUUID = _SrvcMgmtSendToPlanningStatus.SrvcMgmtObjectUUID and ( _SrvcMgmtSendToPlanningStatus.SrvcMgmtObjectStatus = 'I1927' ) and _SrvcMgmtSendToPlanningStatus.SrvcMgmtObjectStatusIsInactive = ' '

Annotations (15)

NameValueLevelField
ClientHandling.algorithm #SESSION_VARIABLE view
EndUserText.label Service Quotation Item view
VDM.viewType #COMPOSITE view
VDM.lifecycle.contract.type #PUBLIC_REMOTE_API view
AbapCatalog.sqlViewName ASRVQTANITEM view
AbapCatalog.compiler.compareFilter 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
AbapCatalog.preserveKey true view

Fields (41)

KeyFieldSource TableSource FieldDescription
KEY ServiceQuotation ServiceDocument
KEY ServiceQuotationItem ServiceDocumentItem
ServiceDocItemCategory ServiceDocItemCategory
ServiceQuotationItemUUID ServiceDocumentItemUUID
ServiceQtanItemDescription ServiceDocumentItemDescription
Language Language
Product OriginallyRequestedProduct
QuantityUnit ServiceDocItemQuantityUnit
Quantity ServiceDocumentItemQuantity
ServiceDuration ServiceDuration
ServiceDurationUnit ServiceDurationUnit
ServiceDocumentItemIsQuotation ServiceDocumentItemIsQuotation
MaintenancePlanningPlant MaintenancePlanningPlant
MaintenanceWorkCenterPlant _WorkCenter Plant
MaintenanceWorkCenter _WorkCenter WorkCenter
SrvcDocItemCategoryUsage SrvcDocItemCategoryUsage
ServiceQtanItemExtReference _CustMgmtExtRef CustMgmtExtRefID
SrvcDocItmBillingRelevance SrvcDocItmBillingRelevance
DynItemProcessorPrfl DynItemProcessorPrfl
SoldToParty SoldToParty
ShipToParty ShipToParty
PersonResponsible ResponsibleEmployee
ServicePerformer _ServicePerformer CustMgmtBusinessPartner
ServiceQuotationItemIsRejected ServiceDocumentItemIsRejected
SrvcQtanItmRejectionReason ServiceDocItemRejectionReason
TimeSheetOvertimeCategory TimeSheetOvertimeCategory
ReferenceServiceContract _RefServiceContractItem ReferenceServiceContract
ReferenceServiceContractItem _RefServiceContractItem ReferenceServiceContractItem
ServiceQtanSuccessorOrder
ServiceQtanSuccessorOrderItem
ParentServiceQuotationItem _ParentServiceDocItem ServiceDocumentItem
PaymentTerms PaymentTerms
MaterialSubstitutionReason MaterialSubstitutionReason
RespyMgmtServiceTeam RespyMgmtServiceTeam
RespyMgmtServiceTeamName _ServiceTeamHeader TeamName
RespyMgmtGlobalTeamID _ServiceTeamHeader RespyMgmtGlobalTeamID
_ReferenceObject _ReferenceObject
_Text _Text
_ServiceQuotation _ServiceQuotation
_PricingElement _PricingElement
_InHouseRepairItem _InHouseRepairItem
@ClientHandling.algorithm:#SESSION_VARIABLE
@EndUserText.label: 'Service Quotation Item'
@VDM: {
  viewType: #COMPOSITE,
  lifecycle.contract.type: #PUBLIC_REMOTE_API
}
@AbapCatalog: {
  sqlViewName: 'ASRVQTANITEM',
  compiler.compareFilter: 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
@AbapCatalog.preserveKey:true

define view A_ServiceQuotationItem
  as select from I_ServiceDocumentItemEnhcd as ServiceQuotationItem

  association [0..*] to A_ServiceQtanItemRefObject     as _ReferenceObject               on  $projection.ServiceQuotation     = _ReferenceObject.ServiceQuotation
                                                                                         and $projection.ServiceQuotationItem = _ReferenceObject.ServiceQuotationItem

  association [0..*] to A_ServiceQuotationItemText     as _Text                          on  $projection.ServiceQuotation     = _Text.ServiceQuotation
                                                                                         and $projection.ServiceQuotationItem = _Text.ServiceQuotationItem

  association [0..*] to A_ServiceQtanItemPriceElement  as _PricingElement                on  $projection.ServiceQuotation     = _PricingElement.ServiceQuotation
                                                                                         and $projection.ServiceQuotationItem = _PricingElement.ServiceQuotationItem

  association [1]    to A_ServiceQuotation             as _ServiceQuotation              on  $projection.ServiceQuotation = _ServiceQuotation.ServiceQuotation

  association [0..1] to I_ServiceDocumentItemSuccssr_2 as _RefServiceOrderItem           on  ServiceQuotationItem.ServiceDocumentItemCharUUID    = _RefServiceOrderItem.ServiceDocumentItemCharUUID
                                                                                         and _RefServiceOrderItem.ServiceDocItmSuccssrBusObjType = ServiceQuotationItem.ServiceDocumentItemObjectType

  association [0..1] to A_ServiceOrdItmRefSrvcContr    as _RefServiceContractItem        on  $projection.ServiceQuotationItemUUID = _RefServiceContractItem.ServiceOrderItemUUID

  association [0..1] to I_CustMgmtExtRefID             as _CustMgmtExtRef                on  $projection.ServiceQuotation         = _CustMgmtExtRef.CustMgmtDocument
                                                                                         and _CustMgmtExtRef.CustMgmtObjectType   = ServiceObjectType
                                                                                         and $projection.ServiceQuotationItem     = _CustMgmtExtRef.CustMgmtDocumentItem
                                                                                         and _CustMgmtExtRef.CustMgmtExtRefIDType = '0010'

  association [0..1] to I_SrvcMgmtObjectStatus         as _SrvcMgmtLifeCycleSystemStatus on  $projection.ServiceQuotationItemUUID                          = _SrvcMgmtLifeCycleSystemStatus.SrvcMgmtObjectUUID
                                                                                         and (
                                                                                            _SrvcMgmtLifeCycleSystemStatus.SrvcMgmtObjectStatus            = 'I1002' // IsNew

                                                                                            or _SrvcMgmtLifeCycleSystemStatus.SrvcMgmtObjectStatus         = 'I1003' // InProcess

                                                                                            or _SrvcMgmtLifeCycleSystemStatus.SrvcMgmtObjectStatus         = 'I1004' // Released

                                                                                            or _SrvcMgmtLifeCycleSystemStatus.SrvcMgmtObjectStatus         = 'I1005' // Rejected or accepted

                                                                                          )
                                                                                         and _SrvcMgmtLifeCycleSystemStatus.SrvcMgmtObjectStatusIsInactive = ' '
  //  Extensibility

  association [0..1] to E_ServiceDocumentItem          as _Extension                     on  _Extension.ServiceCategory       = 'BUS2000116'
                                                                                         and $projection.ServiceQuotation     = _Extension.ServiceOrderItem
                                                                                         and $projection.ServiceQuotationItem = _Extension.ServiceLineExternalID

  association [0..1] to I_CustMgmtPartner              as _ServicePerformer              on  CustMgmtPartnerFunction          = '00000028'
                                                                                         and CustMgmtPartFunctionCategory     = '0091'
                                                                                         and $projection.ServiceQuotation     = _ServicePerformer.CustMgmtDocument
                                                                                         and $projection.ServiceQuotationItem = _ServicePerformer.CustMgmtDocumentItem

  association [0..*] to A_SrvcQtanItmInHouseRepairItem as _InHouseRepairItem             on  $projection.ServiceQuotation     = _InHouseRepairItem.ServiceQuotation
                                                                                         and $projection.ServiceQuotationItem = _InHouseRepairItem.ServiceQuotationItem

  association [0..1] to I_SrvcMgmtObjectStatus         as _SrvcMgmtSendToPlanningStatus  on  $projection.ServiceQuotationItemUUID                         = _SrvcMgmtSendToPlanningStatus.SrvcMgmtObjectUUID
                                                                                         and (
                                                                                            _SrvcMgmtSendToPlanningStatus.SrvcMgmtObjectStatus            = 'I1927' // Send to Planning

                                                                                          )
                                                                                         and _SrvcMgmtSendToPlanningStatus.SrvcMgmtObjectStatusIsInactive = ' '

{

      /* QuotationADM_I */
  key ServiceDocument                                                      as ServiceQuotation,
  key ServiceDocumentItem                                                  as ServiceQuotationItem,
      ServiceDocItemCategory,
      ServiceDocumentItemUUID                                              as ServiceQuotationItemUUID,
      ServiceDocumentItemDescription                                       as ServiceQtanItemDescription,
      Language,
      OriginallyRequestedProduct                                           as Product,
      ServiceDocItemQuantityUnit                                           as QuantityUnit,
      @Semantics.quantity.unitOfMeasure: 'QuantityUnit'
      ServiceDocumentItemQuantity                                          as Quantity,


      ServiceDuration,
      ServiceDurationUnit,
      @ObjectModel.readOnly: true
      ServiceDocumentItemIsQuotation,
      MaintenancePlanningPlant,
      _WorkCenter.Plant                                                    as MaintenanceWorkCenterPlant,
      _WorkCenter.WorkCenter                                               as MaintenanceWorkCenter,
      SrvcDocItemCategoryUsage,


      //BillableControl,


      _CustMgmtExtRef.CustMgmtExtRefID                                     as ServiceQtanItemExtReference,
      SrvcDocItmBillingRelevance,
      DynItemProcessorPrfl,

      /* PARTNER */
      SoldToParty,
      ShipToParty,
      ResponsibleEmployee                                                  as PersonResponsible,
      _ServicePerformer.CustMgmtBusinessPartner                            as ServicePerformer,

      /* STATUS */
      case _SrvcMgmtLifeCycleSystemStatus.SrvcMgmtObjectStatus
        when 'I1002' then 'X'
        else ''
      end                                                                  as ServiceQuotationItemIsNew,
      case _SrvcMgmtLifeCycleSystemStatus.SrvcMgmtObjectStatus
        when 'I1003' then 'X'
        else ''
      end                                                                  as SrvcQtanItemIsInProcess,
      case _SrvcMgmtLifeCycleSystemStatus.SrvcMgmtObjectStatus
        when 'I1004' then 'X'
        else ''
      end                                                                  as ServiceQuotationItemIsReleased,
      case _SrvcMgmtLifeCycleSystemStatus.SrvcMgmtObjectStatus
        when 'I1005' then case ServiceDocumentItemIsRejected
                     when 'X' then ''
                     else 'X'
                     end
        else ''
      end                                                                  as ServiceQuotationItemIsAccepted,
      ServiceDocumentItemIsRejected                                        as ServiceQuotationItemIsRejected,
      ServiceDocItemRejectionReason                                        as SrvcQtanItmRejectionReason,
      @Semantics.booleanIndicator
      case _SrvcMgmtSendToPlanningStatus.SrvcMgmtObjectStatus
        when'I1927'then'X'
        else''
      end                                                                  as SrvcQtanItmIsToBeSentToPlng,

      TimeSheetOvertimeCategory,

      _RefServiceContractItem.ReferenceServiceContract                     as ReferenceServiceContract,
      _RefServiceContractItem.ReferenceServiceContractItem                 as ReferenceServiceContractItem,
      _RefServiceOrderItem._ServiceDocItm._ServiceDocument.ServiceDocument as ServiceQtanSuccessorOrder,
      _RefServiceOrderItem._ServiceDocItm.ServiceDocumentItem              as ServiceQtanSuccessorOrderItem,


      _ParentServiceDocItem.ServiceDocumentItem                            as ParentServiceQuotationItem,

      @ObjectModel.sapObjectNodeTypeReference: 'PaymentTerms'
      PaymentTerms,

      //FPS03 Development

      @ObjectModel.readOnly: true
      MaterialSubstitutionReason,

      @ObjectModel.readOnly: true
      case
      when MaterialSubstitutionReason <> ''
        then Product
        else ''
      end                                                                  as SubstituteProduct,

      /********************************************************/
      /*********  Cloud Specific Fields **************************/
      /* Dont delete this comment:
            This field always should be commented while publishing and add it later as the ATC will not allow to delete the field which is already released.
            In end of 2008 we have removed it at the time of API publishing since this field is not required to be exposed to the customer, with help of API
            hub team. Later in 2011 it was decided to remove it from odata, which was not possible. Since depreaction was not possible, we added this field
            back to the odata. This is a work around until a permanent solution is found*/
      @Feature: 'BF:API_ESSENTIALSCOPE'
      RespyMgmtServiceTeam,

      @Feature: 'BF:API_ESSENTIALSCOPE'
      @ObjectModel.readOnly: true
      _ServiceTeamHeader.TeamName                                          as RespyMgmtServiceTeamName,

      @Feature: 'BF:API_ESSENTIALSCOPE'
      _ServiceTeamHeader.RespyMgmtGlobalTeamID                             as RespyMgmtGlobalTeamID,
      /********************************************************/

      //      Associations

      _ReferenceObject,
      _Text,
      _ServiceQuotation,
      _PricingElement,
      _InHouseRepairItem

}

where
      ServiceObjectType              = 'BUS2000116'
  and ServiceDocumentItemIsQuotation = 'X' //  Service Process