A_ServiceContractItem
Service Contract Item
A_ServiceContractItem is a Consumption CDS View that provides data about "Service Contract Item" in SAP S/4HANA. It reads from 1 data source (I_ServiceDocumentItemEnhcd) and exposes 47 fields with key fields ServiceContract, ServiceContractItem. It has 11 associations to related views.
Data Sources (1)
| Source | Alias | Join Type |
|---|---|---|
| I_ServiceDocumentItemEnhcd | ServiceContractItem | from |
Associations (11)
| Cardinality | Target | Alias | Condition |
|---|---|---|---|
| [1] | A_ServiceContract | _ServiceContract | $projection.ServiceContract = _ServiceContract.ServiceContract |
| [0..*] | A_ServiceContractItemText | _Text | $projection.ServiceContract = _Text.ServiceContract and $projection.ServiceContractItem = _Text.ServiceContractItem |
| [0..*] | A_SrvcContrItmBillgReqItem | _BillingRequestItem | $projection.ServiceContract = _BillingRequestItem.ServiceContract and $projection.ServiceContractItem = _BillingRequestItem.ServiceContractItem |
| [0..*] | A_ServiceContrItemObjectList | _ObjectList | $projection.ServiceContract = _ObjectList.ServiceContract and $projection.ServiceContractItem = _ObjectList.ServiceContractItem |
| [0..*] | A_SrvcContrItemProduct | _ProductList | $projection.ServiceContract = _ProductList.ServiceContract and $projection.ServiceContractItem = _ProductList.ServiceContractItem |
| [0..*] | A_ServiceContrItmReleasedOrder | _ReleasedOrder | $projection.ServiceContract = _ReleasedOrder.ServiceContract and $projection.ServiceContractItem = _ReleasedOrder.ServiceContractItem |
| [0..*] | A_ServiceContrItemPriceElement | _PricingElement | $projection.ServiceContract = _PricingElement.ServiceContract and $projection.ServiceContractItem = _PricingElement.ServiceContractItem |
| [0..1] | I_ServiceDocumentItemEnhcd | _ChgProcSourceItem | $projection.SrvcTransChgProcSourceItemUUID = _ChgProcSourceItem.ServiceDocumentItemUUID |
| [0..1] | E_ServiceDocumentItem | _Extension | _Extension.ServiceCategory = 'BUS2000112' and $projection.ServiceContract = _Extension.ServiceOrderItem and $projection.ServiceContractItem = _Extension.ServiceLineExternalID |
| [0..1] | I_CustMgmtExtRefID | _ReferenceServiceContract | _ReferenceServiceContract.CustMgmtObjectType = 'BUS2000112' and $projection.ServiceContract = _ReferenceServiceContract.CustMgmtDocument and $projection.ServiceContractItem = _ReferenceServiceContract.CustMgmtDocumentItem and _ReferenceServiceContract.CustMgmtExtRefIDType = '0004' |
| [0..1] | I_CustMgmtExtRefID | _ReferenceServiceQtan | _ReferenceServiceQtan.CustMgmtObjectType = 'BUS2000112' and $projection.ServiceContract = _ReferenceServiceQtan.CustMgmtDocument and $projection.ServiceContractItem = _ReferenceServiceQtan.CustMgmtDocumentItem and _ReferenceServiceQtan.CustMgmtExtRefIDType = '0010' |
Annotations (15)
| Name | Value | Level | Field |
|---|---|---|---|
| ClientHandling.algorithm | #SESSION_VARIABLE | view | |
| EndUserText.label | Service Contract Item | view | |
| VDM.viewType | #CONSUMPTION | view | |
| VDM.lifecycle.contract.type | #PUBLIC_REMOTE_API | view | |
| AbapCatalog.sqlViewName | ASRVCTRITEM | view | |
| AbapCatalog.compiler.compareFilter | true | view | |
| AbapCatalog.preserveKey | true | view | |
| AccessControl.authorizationCheck | #CHECK | view | |
| ObjectModel.createEnabled | false | view | |
| ObjectModel.updateEnabled | false | view | |
| ObjectModel.deleteEnabled | false | view | |
| ObjectModel.usageType.dataClass | #TRANSACTIONAL | view | |
| ObjectModel.usageType.serviceQuality | #C | view | |
| ObjectModel.usageType.sizeCategory | #L | view | |
| Metadata.ignorePropagatedAnnotations | true | view |
Fields (47)
| Key | Field | Source Table | Source Field | Description |
|---|---|---|---|---|
| KEY | ServiceContract | ServiceDocument | ||
| KEY | ServiceContractItem | ServiceDocumentItem | ||
| ServiceContractItemCategory | ServiceDocItemCategory | |||
| Product | OriginallyRequestedProduct | |||
| Quantity | ServiceDocumentItemQuantity | |||
| QuantityUnit | ServiceDocItemQuantityUnit | |||
| ServiceContractItemDescription | ServiceDocumentItemDescription | |||
| Language | Language | |||
| ServiceDocItemGrossAmount | ServiceDocItemGrossAmount | |||
| ServiceDocumentItemNetAmount | ServiceDocumentItemNetAmount | |||
| ServiceDocumentItemTaxAmount | ServiceDocumentItemTaxAmount | |||
| TransactionCurrency | TransactionCurrency | |||
| ServiceContractItemIsReleased | ServiceDocumentItemIsReleased | |||
| ServiceContractItemCanclnParty | ServiceDocumentItemCanclnParty | |||
| ServiceContractItmCanclnReason | ServiceDocumentItmCanclnReason | |||
| SrvcContrItemCreditStatus | SrvcDocItemCreditStatus | |||
| ServiceContrItemStartDateTime | ||||
| ServiceContrItemEndDateTime | ||||
| BillingPlanBillingDateRuleName | _BillPlanDateRule | CustMgmtDateRuleName | ||
| SettlementPeriodRuleName | _SettlementDateRule | CustMgmtDateRuleName | ||
| BillingPlanPriceDateRule | BillingPlanPriceDateRule | |||
| BillingPlanIsFinalized | BillingPlanIsFinalized | |||
| BillingBlockReason | BillingBlockReason | |||
| ShipToParty | ShipToParty | |||
| PersonResponsible | ResponsibleEmployee | |||
| BillToParty | BillToParty | |||
| PayerParty | PayerParty | |||
| ContactPerson | ContactPerson | |||
| ReferenceServiceContractItem | _ReferenceServiceContract | CustMgmtExtRefID | ||
| ReferenceServiceQtanItem | _ReferenceServiceQtan | CustMgmtExtRefID | ||
| SrvcContrItemRnwlDuration | ServiceDocumentRnwlDuration | |||
| SrvcContrItemRnwlDurationUnit | ServiceDocRnwlDurationUnit | |||
| SrvcContrItemExtensionDuration | ServiceDocExtensionDuration | |||
| SrvcContrItemExtnDurationUnit | ServiceDocExtnDurationUnit | |||
| SrvcTransChangeProcess | SrvcTransChangeProcess | |||
| SrvcTransChangeProcessType | SrvcTransChangeProcessType | |||
| SrvcTransChgProcSourceTransID | _ChgProcSourceItem | ServiceDocument | ||
| SrvcTransChgProcSourceItemID | _ChgProcSourceItem | ServiceDocumentItem | ||
| SrvcTransChgProcSourceItemUUID | SrvcTransChgProcSourceItemUUID | |||
| ProfitCenter | ProfitCenter | |||
| _ServiceContract | _ServiceContract | |||
| _ObjectList | _ObjectList | |||
| _ProductList | _ProductList | |||
| _ReleasedOrder | _ReleasedOrder | |||
| _Text | _Text | |||
| _BillingRequestItem | _BillingRequestItem | |||
| _PricingElement | _PricingElement |
@ClientHandling.algorithm:#SESSION_VARIABLE
@EndUserText.label: 'Service Contract Item'
@VDM: {
viewType: #CONSUMPTION,
lifecycle.contract.type: #PUBLIC_REMOTE_API
}
@AbapCatalog: {
sqlViewName: 'ASRVCTRITEM',
compiler.compareFilter: true,
preserveKey: true
}
@AccessControl: {
authorizationCheck: #CHECK,
personalData.blocking: #('TRANSACTIONAL_DATA')
}
@ObjectModel: {
createEnabled: false,
updateEnabled: false,
deleteEnabled: false,
usageType: {
dataClass: #TRANSACTIONAL,
serviceQuality: #C,
sizeCategory: #L
}
}
@Metadata.ignorePropagatedAnnotations: true
define view A_ServiceContractItem
as select from I_ServiceDocumentItemEnhcd as ServiceContractItem
association [1] to A_ServiceContract as _ServiceContract on $projection.ServiceContract = _ServiceContract.ServiceContract
// Text
association [0..*] to A_ServiceContractItemText as _Text on $projection.ServiceContract = _Text.ServiceContract
and $projection.ServiceContractItem = _Text.ServiceContractItem
// Billing Request Line
association [0..*] to A_SrvcContrItmBillgReqItem as _BillingRequestItem on $projection.ServiceContract = _BillingRequestItem.ServiceContract
and $projection.ServiceContractItem = _BillingRequestItem.ServiceContractItem
// Object List
association [0..*] to A_ServiceContrItemObjectList as _ObjectList on $projection.ServiceContract = _ObjectList.ServiceContract
and $projection.ServiceContractItem = _ObjectList.ServiceContractItem
// Product List
association [0..*] to A_SrvcContrItemProduct as _ProductList on $projection.ServiceContract = _ProductList.ServiceContract
and $projection.ServiceContractItem = _ProductList.ServiceContractItem
// ReleasedOrder
association [0..*] to A_ServiceContrItmReleasedOrder as _ReleasedOrder on $projection.ServiceContract = _ReleasedOrder.ServiceContract
and $projection.ServiceContractItem = _ReleasedOrder.ServiceContractItem
// Item Price Element
association [0..*] to A_ServiceContrItemPriceElement as _PricingElement on $projection.ServiceContract = _PricingElement.ServiceContract
and $projection.ServiceContractItem = _PricingElement.ServiceContractItem
// Change Document
association [0..1] to I_ServiceDocumentItemEnhcd as _ChgProcSourceItem on $projection.SrvcTransChgProcSourceItemUUID = _ChgProcSourceItem.ServiceDocumentItemUUID
//Extensibility
association [0..1] to E_ServiceDocumentItem as _Extension on _Extension.ServiceCategory = 'BUS2000112'
and $projection.ServiceContract = _Extension.ServiceOrderItem and $projection.ServiceContractItem = _Extension.ServiceLineExternalID
//External ID
// 0004 Service Contract External Reference
// 0010 Service Quotation External Reference
association [0..1] to I_CustMgmtExtRefID as _ReferenceServiceContract on _ReferenceServiceContract.CustMgmtObjectType = 'BUS2000112'
and $projection.ServiceContract = _ReferenceServiceContract.CustMgmtDocument
and $projection.ServiceContractItem = _ReferenceServiceContract.CustMgmtDocumentItem
and _ReferenceServiceContract.CustMgmtExtRefIDType = '0004'
association [0..1] to I_CustMgmtExtRefID as _ReferenceServiceQtan on _ReferenceServiceQtan.CustMgmtObjectType = 'BUS2000112'
and $projection.ServiceContract = _ReferenceServiceQtan.CustMgmtDocument
and $projection.ServiceContractItem = _ReferenceServiceQtan.CustMgmtDocumentItem
and _ReferenceServiceQtan.CustMgmtExtRefIDType = '0010'
{
/* ORDERADM_I */
key ServiceDocument as ServiceContract,
key ServiceDocumentItem as ServiceContractItem,
ServiceDocItemCategory as ServiceContractItemCategory,
OriginallyRequestedProduct as Product,
@Semantics: { quantity : {unitOfMeasure: 'QuantityUnit'} }
ServiceDocumentItemQuantity as Quantity,
ServiceDocItemQuantityUnit as QuantityUnit,
ServiceDocumentItemDescription as ServiceContractItemDescription,
Language,
@Semantics: { amount : {currencyCode: 'TransactionCurrency'} }
ServiceDocItemGrossAmount,
@Semantics: { amount : {currencyCode: 'TransactionCurrency'} }
ServiceDocumentItemNetAmount,
@Semantics: { amount : {currencyCode: 'TransactionCurrency'} }
ServiceDocumentItemTaxAmount,
TransactionCurrency,
/* STATUS */
ServiceDocumentItemIsReleased as ServiceContractItemIsReleased,
case ServiceDocumentItemStatus
when 'C' then 'X'
else ''
end as ServiceContractItemIsCompleted,
ServiceDocumentItemCanclnParty as ServiceContractItemCanclnParty,
ServiceDocumentItmCanclnReason as ServiceContractItmCanclnReason,
SrvcDocItemCreditStatus as SrvcContrItemCreditStatus,
cast (
case ServiceDocumentItemCanclnParty
when '' then 0
else ServiceContrItemEndDateTime
end
as crms4_cont_end_dec15 preserving type ) as ServiceContractItemCanclnDate,
cast ( ServiceContrItemStartDateTime as crms4_cont_start_dec15 preserving type ) as ServiceContrItemStartDateTime,
cast ( ServiceContrItemEndDateTime as crms4_cont_end_dec15 preserving type ) as ServiceContrItemEndDateTime,
// Item - Billing Plan
_BillPlanDateRule.CustMgmtDateRuleName as BillingPlanBillingDateRuleName,
_SettlementDateRule.CustMgmtDateRuleName as SettlementPeriodRuleName,
BillingPlanPriceDateRule as BillingPlanPriceDateRule,
BillingPlanIsFinalized,
BillingBlockReason as BillingBlockReason,
/* PARTNER */
ShipToParty,
ResponsibleEmployee as PersonResponsible,
BillToParty,
PayerParty,
ContactPerson as ContactPerson,
/* External ID */
_ReferenceServiceContract.CustMgmtExtRefID as ReferenceServiceContractItem,
_ReferenceServiceQtan.CustMgmtExtRefID as ReferenceServiceQtanItem,
ServiceDocumentRnwlDuration as SrvcContrItemRnwlDuration,
ServiceDocRnwlDurationUnit as SrvcContrItemRnwlDurationUnit,
ServiceDocExtensionDuration as SrvcContrItemExtensionDuration,
ServiceDocExtnDurationUnit as SrvcContrItemExtnDurationUnit,
SrvcTransChangeProcess,
SrvcTransChangeProcessType,
_ChgProcSourceItem.ServiceDocument as SrvcTransChgProcSourceTransID,
_ChgProcSourceItem.ServiceDocumentItem as SrvcTransChgProcSourceItemID,
SrvcTransChgProcSourceItemUUID,
ProfitCenter as ProfitCenter,
//Associations
_ServiceContract,
_ObjectList,
_ProductList,
_ReleasedOrder,
_Text,
_BillingRequestItem,
_PricingElement
}
where
ServiceObjectType = 'BUS2000112'
/*+[internal] {
"BASEINFO":
{
"FROM":
[
"I_CUSTMGMTDATERULE",
"I_CUSTMGMTEXTREFID",
"I_SERVICEDOCUMENTITEMENHCD"
],
"ASSOCIATED":
[
"A_SERVICECONTRACT",
"A_SERVICECONTRACTITEMTEXT",
"A_SERVICECONTRITEMOBJECTLIST",
"A_SERVICECONTRITEMPRICEELEMENT",
"A_SERVICECONTRITMRELEASEDORDER",
"A_SRVCCONTRITEMPRODUCT",
"A_SRVCCONTRITMBILLGREQITEM",
"E_SERVICEDOCUMENTITEM",
"I_CUSTMGMTEXTREFID",
"I_SERVICEDOCUMENTITEMENHCD"
],
"BASE":
[],
"ANNO_REF":
[],
"SCALAR_FUNCTION":
[],
"VERSION":0,
"ANNOREF_EVALUATION_ERROR":""
}
}*/
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