A_ServiceQuotation

DDL: A_SERVICEQUOTATION Type: view COMPOSITE

Service Quotation

A_ServiceQuotation is a Composite CDS View that provides data about "Service Quotation" in SAP S/4HANA. It reads from 1 data source (I_ServiceDocumentEnhcd) and exposes 38 fields with key field ServiceQuotation. It has 11 associations to related views.

Data Sources (1)

SourceAliasJoin Type
I_ServiceDocumentEnhcd ServiceQuotation from

Associations (11)

CardinalityTargetAliasCondition
[0..*] A_ServiceQuotationItem _Item $projection.ServiceQuotation = _Item.ServiceQuotation
[0..*] A_ServiceQtanPersonResp _PersonResponsible $projection.ServiceQuotation = _PersonResponsible.ServiceQuotation
[0..*] A_ServiceQtanRefObject _ReferenceObject $projection.ServiceQuotation = _ReferenceObject.ServiceQuotation
[0..*] A_ServiceQuotationText _Text $projection.ServiceQuotation = _Text.ServiceQuotation
[0..*] A_ServiceQtanPriceElement _PricingElement $projection.ServiceQuotation = _PricingElement.ServiceQuotation
[0..*] A_ServiceQtanFUPSrvcOrd _FollowUpServiceOrder $projection.ServiceQuotation = _FollowUpServiceOrder.ServiceQuotation
[0..1] I_CustMgmtExtRefID _CustMgmtExtRef $projection.ServiceQuotation = _CustMgmtExtRef.CustMgmtDocument and _CustMgmtExtRef.CustMgmtObjectType = ServiceObjectType and _CustMgmtExtRef.CustMgmtExtRefIDType = '0009'
[0..1] P_SrvcQtanWithSglFUPSrvcOrd _RefServiceOrder $projection.ServiceQuotationUUID = _RefServiceOrder.ServiceQuotationUUID and $projection.ServiceQuotation = _RefServiceOrder.ServiceQuotation
[0..1] I_ServiceDocumentPredecessor _RefServiceContract $projection.ServiceQuotationUUID = _RefServiceContract.ServiceDocumentUUID and _RefServiceContract.ServiceDocPrdcssrBusObjType = 'BUS2000112'
[0..1] E_ServiceDocument _Extension _Extension.ServiceCategory = 'BUS2000116' and $projection.ServiceQuotation = _Extension.ServiceOrder
[0..*] A_SrvcQtanInHouseRepairItem _InHouseRepairItem $projection.ServiceQuotation = _InHouseRepairItem.ServiceQuotation

Annotations (16)

NameValueLevelField
ClientHandling.algorithm #SESSION_VARIABLE view
EndUserText.label Service Quotation view
VDM.viewType #COMPOSITE view
VDM.lifecycle.contract.type #PUBLIC_REMOTE_API view
AbapCatalog.sqlViewName ASRVQTAN view
AbapCatalog.compiler.compareFilter true view
AccessControl.authorizationCheck #CHECK view
ObjectModel.representativeKey ServiceQuotation view
ObjectModel.createEnabled true view
ObjectModel.updateEnabled true view
ObjectModel.deleteEnabled false 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 (38)

KeyFieldSource TableSource FieldDescription
KEY ServiceQuotation ServiceDocument
ServiceQuotationType ServiceDocumentType
ServiceQuotationUUID ServiceDocumentUUID
ServiceQuotationDescription ServiceDocumentDescription
Language Language
RequestedServiceStartDateTime RequestedServiceStartDateTime
RequestedServiceEndDateTime RequestedServiceEndDateTime
SrvcQtanValidityStartDateTime
SrvcQtanValidityEndDateTime
ServiceQtanExtReference _CustMgmtExtRef CustMgmtExtRefID
ServiceQuotationIsReleased ServiceDocumentIsReleased
ServiceQuotationIsRejected ServiceDocumentIsRejected
SrvcQuotationRejectionReason ServiceDocumentRejectionReason
SalesOrganization SalesOrganization
DistributionChannel DistributionChannel
Division Division
SalesOffice SalesOffice
SalesGroup SalesGroup
SoldToParty SoldToParty
ShipToParty ShipToParty
ContactPerson ContactPerson
ServiceQtanSuccessorOrder _RefServiceOrder ServiceOrder
RespyMgmtServiceTeam RespyMgmtServiceTeam
RespyMgmtServiceTeamName _ServiceTeamHeader TeamName
RespyMgmtGlobalTeamID _ServiceTeamHeader RespyMgmtGlobalTeamID
PaymentTerms PaymentTerms
TransactionCurrency TransactionCurrency
ServiceDocGrossAmount ServiceDocGrossAmount
ServiceDocNetAmount ServiceDocNetAmount
ServiceDocTaxAmount ServiceDocTaxAmount
ReferenceInHouseRepair ReferenceInHouseRepair
_Item _Item
_PersonResponsible _PersonResponsible
_ReferenceObject _ReferenceObject
_Text _Text
_PricingElement _PricingElement
_FollowUpServiceOrder _FollowUpServiceOrder
_InHouseRepairItem _InHouseRepairItem
@ClientHandling.algorithm:#SESSION_VARIABLE
@EndUserText.label: 'Service Quotation'
@VDM: {
  viewType: #COMPOSITE,
  lifecycle.contract.type: #PUBLIC_REMOTE_API
}
@AbapCatalog: {
  sqlViewName: 'ASRVQTAN',
  compiler.compareFilter: true
}
@AccessControl: {
  authorizationCheck: #CHECK,
  personalData.blocking: #('TRANSACTIONAL_DATA')
}
@ObjectModel: {
   representativeKey: 'ServiceQuotation',
   createEnabled: true,
   updateEnabled: true,
   deleteEnabled: false,
   usageType: {
     dataClass:      #TRANSACTIONAL,
     serviceQuality: #C,
     sizeCategory:   #L
   }
}
@Metadata.ignorePropagatedAnnotations: true
@AbapCatalog.preserveKey:true

define view A_ServiceQuotation
  as select from I_ServiceDocumentEnhcd as ServiceQuotation

  association [0..*] to A_ServiceQuotationItem       as _Item                 on  $projection.ServiceQuotation = _Item.ServiceQuotation

  association [0..*] to A_ServiceQtanPersonResp      as _PersonResponsible    on  $projection.ServiceQuotation = _PersonResponsible.ServiceQuotation
  association [0..*] to A_ServiceQtanRefObject       as _ReferenceObject      on  $projection.ServiceQuotation = _ReferenceObject.ServiceQuotation
  association [0..*] to A_ServiceQuotationText       as _Text                 on  $projection.ServiceQuotation = _Text.ServiceQuotation
  association [0..*] to A_ServiceQtanPriceElement    as _PricingElement       on  $projection.ServiceQuotation = _PricingElement.ServiceQuotation
  association [0..*] to A_ServiceQtanFUPSrvcOrd      as _FollowUpServiceOrder on  $projection.ServiceQuotation = _FollowUpServiceOrder.ServiceQuotation

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

  association [0..1] to P_SrvcQtanWithSglFUPSrvcOrd  as _RefServiceOrder      on  $projection.ServiceQuotationUUID = _RefServiceOrder.ServiceQuotationUUID
                                                                              and $projection.ServiceQuotation     = _RefServiceOrder.ServiceQuotation

  association [0..1] to I_ServiceDocumentPredecessor as _RefServiceContract   on  $projection.ServiceQuotationUUID                = _RefServiceContract.ServiceDocumentUUID
                                                                              and _RefServiceContract.ServiceDocPrdcssrBusObjType = 'BUS2000112'

  //  //Extensibility

  association [0..1] to E_ServiceDocument            as _Extension            on  _Extension.ServiceCategory   = 'BUS2000116'
                                                                              and $projection.ServiceQuotation = _Extension.ServiceOrder

  association [0..*] to A_SrvcQtanInHouseRepairItem as _InHouseRepairItem     on $projection.ServiceQuotation = _InHouseRepairItem.ServiceQuotation

{

  key  ServiceDocument                                                                  as ServiceQuotation,
       ServiceDocumentType                                                              as ServiceQuotationType,
       ServiceDocumentUUID                                                              as ServiceQuotationUUID,
       ServiceDocumentDescription                                                       as ServiceQuotationDescription,
       Language,
       RequestedServiceStartDateTime,
       RequestedServiceEndDateTime,
       cast ( SrvcQtanValidityStartDateTime as crms4_cont_start_dec15 preserving type ) as SrvcQtanValidityStartDateTime,
       cast ( SrvcQtanValidityEndDateTime   as crms4_cont_end_dec15   preserving type ) as SrvcQtanValidityEndDateTime,

       _CustMgmtExtRef.CustMgmtExtRefID                                                 as ServiceQtanExtReference,
       /* STATUS */
       ServiceDocumentIsReleased                                                        as ServiceQuotationIsReleased,

       case when ServiceDocumentIsOpen = '' and ServiceDocumentIsRejected = ''
         then 'X'
         else ''
       end                                                                              as ServiceQuotationIsAccepted,
       ServiceDocumentIsRejected                                                        as ServiceQuotationIsRejected,

       ServiceDocumentRejectionReason                                                   as SrvcQuotationRejectionReason,
       //ServiceDocumentIsQuotation, - system already recongnize its a service quotation based on the configuration.so no need of this field.


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

       /* PARTNER */
       SoldToParty,
       ShipToParty,
       ContactPerson,

       _RefServiceOrder.ServiceOrder                                                    as ServiceQtanSuccessorOrder,
       //_RefServiceContract._ServiceDoc.ServiceDocument              as ReferenceServiceContract,


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

       @ObjectModel.sapObjectNodeTypeReference: 'PaymentTerms'
       PaymentTerms,

       /* CUMULAT_H */
       TransactionCurrency,
       @Semantics.amount.currencyCode: 'TransactionCurrency'
       ServiceDocGrossAmount,
       @Semantics.amount.currencyCode: 'TransactionCurrency'
       ServiceDocNetAmount,
       @Semantics.amount.currencyCode: 'TransactionCurrency'
       ServiceDocTaxAmount,

       /********************************************************/
       /*********  In-House Repair Specific Fields *************/
       ReferenceInHouseRepair                                                           as ReferenceInHouseRepair,

       //Associations

       _Item,
       _PersonResponsible,
       _ReferenceObject,
       _Text,
       _PricingElement,
       _FollowUpServiceOrder,
       _InHouseRepairItem
}
where
      ServiceObjectType          = 'BUS2000116'
  and ServiceDocumentIsQuotation = 'X' // Service Process