I_ServiceContract
Service Contract
I_ServiceContract is a Basic CDS View that provides data about "Service Contract" in SAP S/4HANA. It reads from 1 data source (I_ServiceDocument) and exposes 84 fields with key field ServiceContract. It has 4 associations to related views. Part of development package CRMS4_REPORT.
Data Sources (1)
| Source | Alias | Join Type |
|---|---|---|
| I_ServiceDocument | I_ServiceDocument | from |
Associations (4)
| Cardinality | Target | Alias | Condition |
|---|---|---|---|
| [0..1] | I_BusinessPartner | _RespEmployee | _RespEmployee.BusinessPartner = $projection.RespEmployeeBusinessPartnerId |
| [0..1] | I_BusinessPartner | _ContactPerson | _ContactPerson.BusinessPartner = $projection.ContactPersonBusinessPartnerId |
| [0..1] | I_SrvcDocPaymentMethod | _PaymentMethod | _PaymentMethod.PaymentMethod = $projection.PaymentMethod and _PaymentMethod.SalesOrganization = $projection.SalesOrganization and _PaymentMethod.OrgUnitTypeIDConcatenated = '' |
| [0..1] | E_ServiceDocument | _ServiceContractExt | _ServiceContractExt.ServiceCategory = $projection.ServiceObjectType and _ServiceContractExt.ServiceOrder = $projection.ServiceContract |
Annotations (12)
| Name | Value | Level | Field |
|---|---|---|---|
| EndUserText.label | Service Contract | view | |
| AccessControl.authorizationCheck | #MANDATORY | view | |
| AccessControl.personalData.blocking | #NOT_REQUIRED | view | |
| Metadata.ignorePropagatedAnnotations | true | view | |
| ObjectModel.representativeKey | ServiceContract | view | |
| ObjectModel.sapObjectNodeType.name | ServiceContract | view | |
| ObjectModel.modelingPattern | #ANALYTICAL_DIMENSION | view | |
| ObjectModel.usageType.dataClass | #TRANSACTIONAL | view | |
| ObjectModel.usageType.serviceQuality | #A | view | |
| ObjectModel.usageType.sizeCategory | #XXL | view | |
| VDM.viewType | #BASIC | view | |
| VDM.lifecycle.contract.type | #PUBLIC_LOCAL_API | view |
Fields (84)
| Key | Field | Source Table | Source Field | Description |
|---|---|---|---|---|
| KEY | ServiceContract | ServiceDocument | ||
| ServiceObjectType | ServiceObjectType | |||
| ServiceContractUUID | ServiceDocumentUUID | |||
| ServiceContractCharUUID | ||||
| ServiceDocumentType | ServiceDocumentType | |||
| ServiceContractDescription | ServiceDocumentDescription | |||
| Language | Language | |||
| PostingDate | PostingDate | |||
| ServiceDocCreationDateTime | ServiceDocCreationDateTime | |||
| ServiceDocChangedDateTime | ServiceDocChangedDateTime | |||
| ServiceDocumentCreatedByUser | ServiceDocumentCreatedByUser | |||
| ServiceDocumentChangedByUser | ServiceDocumentChangedByUser | |||
| PricingDocument | PricingDocument | |||
| RefBusinessSolutionOrder | RefBusinessSolutionOrder | |||
| ServiceContractNetAmount | ServiceDocNetAmount | |||
| ServiceContractGrossAmount | ServiceDocGrossAmount | |||
| ServiceDocTaxAmount | ServiceDocTaxAmount | |||
| SoldToParty | SoldToParty | |||
| SoldToPartyRegion | SoldToPartyRegion | |||
| SoldToPartyCountry | SoldToPartyCountry | |||
| RespEmployeeBusinessPartnerId | ||||
| ContactPersonBusinessPartnerId | ||||
| ShipToParty | ShipToParty | |||
| BillToParty | BillToParty | |||
| PayerParty | PayerParty | |||
| ServiceContractStartDateTime | ServiceContractStartDateTime | |||
| ServiceContractEndDateTime | ServiceContractEndDateTime | |||
| SrvcContrEarliestStartDateTime | SrvcContrEarliestStartDateTime | |||
| SrvcContrLatestEndDateTime | SrvcContrLatestEndDateTime | |||
| PaymentTerms | PaymentTerms | |||
| PaymentMethod | PaymentMethod | |||
| SrvcSEPAMandateRelevance | SrvcSEPAMandateRelevance | |||
| SEPAMandate | SEPAMandate | |||
| WBSElementInternalID | WBSElementInternalID | |||
| TransactionCurrency | TransactionCurrency | |||
| PurchaseOrderByCustomer | PurchaseOrderByCustomer | |||
| CustomerPurchaseOrderDate | CustomerPurchaseOrderDate | |||
| ServiceContractRejectionReason | ServiceDocumentRejectionReason | |||
| Region | Region | |||
| ServiceContractStatus | ServiceDocumentStatus | |||
| ServiceContractIsReleased | ServiceDocumentIsReleased | |||
| ServiceContractHasError | ServiceDocumentHasError | |||
| SrvcContrBillingStatus | ServiceDocBillingStatus | |||
| ServiceContractIsRejected | ServiceDocumentIsRejected | |||
| ServiceContractIsOpen | ServiceDocumentIsOpen | |||
| ServiceContractCanclnSts | ServiceContractCanclnSts | |||
| SrvcContrRejectionStatus | SrvcDocRejectionStatus | |||
| SalesOrganization | SalesOrganization | |||
| SalesOffice | SalesOffice | |||
| SalesGroup | SalesGroup | |||
| Division | Division | |||
| DistributionChannel | DistributionChannel | |||
| BillingBlockReason | BillingBlockReason | |||
| ServiceContractCanclnParty | ServiceDocumentCanclnParty | |||
| ServiceContrCancellationReason | ServiceDocumentCanclnReason | |||
| SrvcContrCreditStatus | SrvcDocCreditStatus | |||
| _ServiceDocumentType | _ServiceDocumentType | |||
| _ServiceObjType | _ServiceObjType | |||
| _SoldToParty | _SoldToParty | |||
| _SoldToPartyRegion | _SoldToPartyRegion | |||
| _SoldToPartyCountry | _SoldToPartyCountry | |||
| _RespEmployee | _RespEmployee | |||
| _ContactPerson | _ContactPerson | |||
| _ShipToParty | _ShipToParty | |||
| _BillToParty | _BillToParty | |||
| _PayerParty | _PayerParty | |||
| _PaymentTerms | _PaymentTerms | |||
| _PaymentMethod | _PaymentMethod | |||
| _SrvcSEPAMandateRelevance | _SrvcSEPAMandateRelevance | |||
| _TransactionCurrency | _TransactionCurrency | |||
| _SrvcDocumentRejectionReason | _SrvcDocumentRejectionReason | |||
| _Region | _Region | |||
| _SrvcDocLifecycleStatus | _SrvcDocLifecycleStatus | |||
| _ServiceDocHasError | _ServiceDocHasError | |||
| _ServiceDocBillingStatus | _ServiceDocBillingStatus | |||
| _ServiceDocumentIsOpen | _ServiceDocumentIsOpen | |||
| _ServiceContractCanclnSts | _ServiceContractCanclnSts | |||
| _SalesOrganization | _SalesOrganization | |||
| _SalesOffice | _SalesOffice | |||
| _SalesGroup | _SalesGroup | |||
| _Division | _Division | |||
| _DistributionChannel | _DistributionChannel | |||
| _BillingBlockReason | _BillingBlockReason | |||
| _SrvcDocCreditStatus | _SrvcDocCreditStatus |
@EndUserText.label: 'Service Contract'
@AccessControl: {
authorizationCheck: #MANDATORY,
personalData.blocking: #NOT_REQUIRED
}
@Metadata.ignorePropagatedAnnotations: true
@ObjectModel: {
representativeKey: 'ServiceContract',
sapObjectNodeType.name: 'ServiceContract',
supportedCapabilities: [ #ANALYTICAL_DIMENSION,
#CDS_MODELING_ASSOCIATION_TARGET,
#SQL_DATA_SOURCE,
#CDS_MODELING_DATA_SOURCE ],
modelingPattern: #ANALYTICAL_DIMENSION,
usageType: {
dataClass: #TRANSACTIONAL,
serviceQuality: #A,
sizeCategory: #XXL
}
}
@VDM: {
viewType: #BASIC,
lifecycle.contract.type: #PUBLIC_LOCAL_API
}
define view entity I_ServiceContract
as select from I_ServiceDocument
association [0..1] to I_BusinessPartner as _RespEmployee on _RespEmployee.BusinessPartner = $projection.RespEmployeeBusinessPartnerId
association [0..1] to I_BusinessPartner as _ContactPerson on _ContactPerson.BusinessPartner = $projection.ContactPersonBusinessPartnerId
association [0..1] to I_SrvcDocPaymentMethod as _PaymentMethod on _PaymentMethod.PaymentMethod = $projection.PaymentMethod
and _PaymentMethod.SalesOrganization = $projection.SalesOrganization
and _PaymentMethod.OrgUnitTypeIDConcatenated = ''
association [0..1] to E_ServiceDocument as _ServiceContractExt on _ServiceContractExt.ServiceCategory = $projection.ServiceObjectType
and _ServiceContractExt.ServiceOrder = $projection.ServiceContract
{
// Header Keys
@ObjectModel.text.element: [ 'ServiceContractDescription' ]
key ServiceDocument as ServiceContract,
@ObjectModel.foreignKey.association: '_ServiceObjType'
ServiceObjectType,
ServiceDocumentUUID as ServiceContractUUID,
cast( ServiceDocumentCharUUID as sysuuid_c preserving type ) as ServiceContractCharUUID,
// Header Details
@ObjectModel.foreignKey.association: '_ServiceDocumentType'
ServiceDocumentType,
@Semantics.text: true
ServiceDocumentDescription as ServiceContractDescription,
Language,
PostingDate,
@Semantics.dateTime: true
ServiceDocCreationDateTime,
@Semantics.dateTime: true
ServiceDocChangedDateTime,
ServiceDocumentCreatedByUser,
ServiceDocumentChangedByUser,
PricingDocument,
RefBusinessSolutionOrder,
@Aggregation.default: #SUM
@Semantics: { amount : {currencyCode: 'TransactionCurrency'} }
ServiceDocNetAmount as ServiceContractNetAmount,
@Aggregation.default: #SUM
@Semantics: { amount : {currencyCode: 'TransactionCurrency'} }
ServiceDocGrossAmount as ServiceContractGrossAmount,
@Aggregation.default: #SUM
@Semantics: { amount : {currencyCode: 'TransactionCurrency'} }
ServiceDocTaxAmount,
SoldToParty,
SoldToPartyRegion,
SoldToPartyCountry,
@ObjectModel.foreignKey.association: '_RespEmployee'
cast( ResponsibleEmployee as crmt_person_resp preserving type ) as RespEmployeeBusinessPartnerId,
@ObjectModel.foreignKey.association: '_ContactPerson'
cast( ContactPerson as crmt_contact_person preserving type ) as ContactPersonBusinessPartnerId,
ShipToParty,
BillToParty,
PayerParty,
ServiceContractStartDateTime,
ServiceContractEndDateTime,
SrvcContrEarliestStartDateTime,
SrvcContrLatestEndDateTime,
PaymentTerms,
PaymentMethod,
SrvcSEPAMandateRelevance,
SEPAMandate,
WBSElementInternalID,
TransactionCurrency,
PurchaseOrderByCustomer,
CustomerPurchaseOrderDate,
ServiceDocumentRejectionReason as ServiceContractRejectionReason,
Region,
ServiceDocumentStatus as ServiceContractStatus,
@Semantics.booleanIndicator: true
ServiceDocumentIsReleased as ServiceContractIsReleased,
@Semantics.booleanIndicator: true
ServiceDocumentHasError as ServiceContractHasError,
ServiceDocBillingStatus as SrvcContrBillingStatus,
@Semantics.booleanIndicator: true
ServiceDocumentIsRejected as ServiceContractIsRejected,
@Semantics.booleanIndicator: true
ServiceDocumentIsOpen as ServiceContractIsOpen,
ServiceContractCanclnSts,
SrvcDocRejectionStatus as SrvcContrRejectionStatus,
@ObjectModel.foreignKey.association: '_SalesOrganization'
SalesOrganization,
@ObjectModel.foreignKey.association: '_SalesOffice'
SalesOffice,
@ObjectModel.foreignKey.association: '_SalesGroup'
SalesGroup,
@ObjectModel.foreignKey.association: '_Division'
Division,
@ObjectModel.foreignKey.association: '_DistributionChannel'
DistributionChannel,
BillingBlockReason,
ServiceDocumentCanclnParty as ServiceContractCanclnParty,
ServiceDocumentCanclnReason as ServiceContrCancellationReason,
SrvcDocCreditStatus as SrvcContrCreditStatus,
_ServiceDocumentType,
_ServiceObjType,
_SoldToParty,
_SoldToPartyRegion,
_SoldToPartyCountry,
_RespEmployee,
_ContactPerson,
_ShipToParty,
_BillToParty,
_PayerParty,
_PaymentTerms,
_PaymentMethod,
_SrvcSEPAMandateRelevance,
_TransactionCurrency,
_SrvcDocumentRejectionReason,
_Region,
_SrvcDocLifecycleStatus,
_ServiceDocHasError,
_ServiceDocBillingStatus,
_ServiceDocumentIsOpen,
_ServiceContractCanclnSts,
_SalesOrganization,
_SalesOffice,
_SalesGroup,
_Division,
_DistributionChannel,
_BillingBlockReason,
_SrvcDocCreditStatus
} where ServiceObjectType = 'BUS2000112'
and ServiceDocumentTemplateType is initial
and ServiceDocumentIsQuotation = ' '
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