A_ServiceQuotationItem

DDL: A_SERVICEQUOTATIONITEM Type: view COMPOSITE Package: ODATA_CRMS4_SERVICEQUOTATION

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 35 fields with key fields ServiceQuotation, ServiceQuotationItem. It has 10 associations to related views. Part of development package ODATA_CRMS4_SERVICEQUOTATION.

Data Sources (1)

SourceAliasJoin Type
I_ServiceDocumentItemEnhcd ServiceQuotationItem from

Associations (10)

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_StatusObjectUUIDStatus _SrvcDocSystemStatus $projection.ServiceQuotationItemUUID = _SrvcDocSystemStatus.StatusObjectUUID and ( _SrvcDocSystemStatus.StatusCode = 'I1005' ) and _SrvcDocSystemStatus.StatusIsActive = 'X'
[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

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 #MANDATORY 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 (35)

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
ServiceDocItemChangedDateTime ServiceDocItemChangedDateTime
ServiceDocItemChangedByUser ServiceDocItemChangedByUser
ServiceQtanItemExtReference _CustMgmtExtRef CustMgmtExtRefID
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
RespyMgmtServiceTeam RespyMgmtServiceTeam
RespyMgmtServiceTeamName _ServiceTeamHeader TeamName
RespyMgmtGlobalTeamID _ServiceTeamHeader RespyMgmtGlobalTeamID
_ReferenceObject _ReferenceObject
_Text _Text
_ServiceQuotation _ServiceQuotation
_PricingElement _PricingElement
@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: #MANDATORY,
  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_StatusObjectUUIDStatus       as _SrvcDocSystemStatus    on  $projection.ServiceQuotationItemUUID = _SrvcDocSystemStatus.StatusObjectUUID
                                                                                  and (

                                                                                     _SrvcDocSystemStatus.StatusCode       = 'I1005' // Rejected or accepted

                                                                                   )
                                                                                  and _SrvcDocSystemStatus.StatusIsActive  = 'X'
  //  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

{

      /* 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,

      @ObjectModel.readOnly: true
      ServiceDocItemChangedDateTime,
      
      @ObjectModel.readOnly: true
      ServiceDocItemChangedByUser,

      //BillableControl,


      _CustMgmtExtRef.CustMgmtExtRefID                                     as ServiceQtanItemExtReference,

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

      /* STATUS */
      case _SrvcDocSystemStatus.StatusCode
      when 'I1005' then case ServiceDocumentItemIsRejected
                     when 'X' then ''
                     else 'X'
                     end
      else ''
      end                                                                  as ServiceQuotationItemIsAccepted,
      ServiceDocumentItemIsRejected                                        as ServiceQuotationItemIsRejected,
      ServiceDocItemRejectionReason                                        as SrvcQtanItmRejectionReason,

      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,

      /********************************************************/
      /*********  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

}

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