A_ServiceQuotationItem
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)
| Source | Alias | Join Type |
|---|---|---|
| I_ServiceDocumentItemEnhcd | ServiceQuotationItem | from |
Associations (10)
| Cardinality | Target | Alias | Condition |
|---|---|---|---|
| [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)
| Name | Value | Level | Field |
|---|---|---|---|
| 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)
| Key | Field | Source Table | Source Field | Description |
|---|---|---|---|---|
| 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
Learn More
- What Is a CDS View in SAP S/4HANA?
- Types of CDS Views: Basic, Composite, Consumption, and Transactional
- SAP Tables vs CDS Views — Key Differences
- Understanding Data Lineage in SAP S/4HANA
- VDM (Virtual Data Model) in SAP S/4HANA Explained
- CDS View Annotations — A Complete Guide
- CDS View Field Mapping and Associations
- Understanding the SAP S/4HANA Data Model
- CDS View Extensions and Custom Fields in SAP S/4HANA
- Released APIs and Stability Contracts in SAP S/4HANA