R_ServiceContractTemplateTP
Service Contract Template - TP
R_ServiceContractTemplateTP is a Transactional CDS View that provides data about "Service Contract Template - TP" in SAP S/4HANA. It reads from 1 data source (I_ServiceDocumentEnhcd) and exposes 41 fields with key field ServiceContractTemplate. It has 10 associations to related views.
Data Sources (1)
| Source | Alias | Join Type |
|---|---|---|
| I_ServiceDocumentEnhcd | I_ServiceDocumentEnhcd | from |
Associations (10)
| Cardinality | Target | Alias | Condition |
|---|---|---|---|
| [0..1] | I_StatusObjectUUIDStatus | _SrvcContrTmplStatus | $projection.ServiceContractTemplateUUID = _SrvcContrTmplStatus.StatusObjectUUID and _SrvcContrTmplStatus.StatusCode between 'I1002' and 'I1005' and _SrvcContrTmplStatus.StatusIsActive = 'X' |
| [1] | I_ServiceDocumentStatusText | _ServiceDocumentStatusText | $projection.SrvcContrTmplStatus = _ServiceDocumentStatusText.ServiceDocumentStatus and _ServiceDocumentStatusText.Language = $session.system_language |
| [0..1] | I_SrvcDocDurationUnitText | _SrvcDocDurationUnitText | $projection.SrvcContrDurationUnit = _SrvcDocDurationUnitText.SrvcDocDurationUnit and _SrvcDocDurationUnitText.Language = $session.system_language |
| [0..1] | I_ServiceDocErrorStatusText | _SrvcDocErrorStatusText | $projection.ServiceDocumentHasError = _SrvcDocErrorStatusText.ServiceDocumentHasError and _SrvcDocErrorStatusText.ServiceDocumentHasError = 'X' and _SrvcDocErrorStatusText.Language = $session.system_language |
| [0..1] | R_SrvcContrTmplDurationTP | _SrvcContrTmplDurationTP | $projection.ServiceContractTemplate = _SrvcContrTmplDurationTP.ServiceContractTemplate and _SrvcContrTmplDurationTP.SrvcDocDurationType = 'CONTDURA' |
| [0..1] | I_BusinessPartner | _ResponsibleEmployee | $projection.RespEmployeeBusinessPartnerId = _ResponsibleEmployee.BusinessPartner |
| [0..1] | E_ServiceDocument | _ServiceDocumentExt | $projection.ServiceObjectType = _ServiceDocumentExt.ServiceCategory and $projection.ServiceContractTemplate = _ServiceDocumentExt.ServiceOrder |
| [0..1] | I_UnitOfMeasure | _SrvcContrTmplDurnUnit | $projection.SrvcContrDurationUnitSAPCode = _SrvcContrTmplDurnUnit.UnitOfMeasure |
| [0..*] | R_SrvcContrTmplItemTP | _Item | |
| [0..*] | R_SrvcContrTmplLongTextTP | _LongText | |
Annotations (10)
| Name | Value | Level | Field |
|---|---|---|---|
| AccessControl.authorizationCheck | #MANDATORY | view | |
| VDM.viewType | #TRANSACTIONAL | view | |
| VDM.lifecycle.contract.type | #SAP_INTERNAL_API | view | |
| Metadata.ignorePropagatedAnnotations | true | view | |
| ObjectModel.sapObjectNodeType.name | ServiceContractTemplate | view | |
| ObjectModel.representativeKey | ServiceContractTemplate | view | |
| ObjectModel.usageType.dataClass | #TRANSACTIONAL | view | |
| ObjectModel.usageType.serviceQuality | #C | view | |
| ObjectModel.usageType.sizeCategory | #L | view | |
| EndUserText.label | Service Contract Template - TP | view |
Fields (41)
| Key | Field | Source Table | Source Field | Description |
|---|---|---|---|---|
| KEY | ServiceContractTemplate | ServiceDocument | ||
| ServiceObjectType | ServiceObjectType | |||
| ServiceContractTemplateType | ServiceDocumentType | |||
| ServiceDocumentTemplateType | ServiceDocumentTemplateType | |||
| ServiceContractTemplateUUID | ServiceDocumentUUID | |||
| SrvcContrTmplDescription | ServiceDocumentDescription | |||
| Language | Language | |||
| PostingDate | PostingDate | |||
| SrvcContrTmplValdtyStrtDteTime | SrvcDocTmplValdtyStartDateTime | |||
| SrvcContrTmplValdtyEndDateTime | SrvcDocTmplValdtyEndDateTime | |||
| SrvcContrDuration | _SrvcContrTmplDurationTP | SrvcDocDurationValue | ||
| SrvcContrDurationUnit | _SrvcContrTmplDurationTP | SrvcDocDurationUnit | ||
| SrvcContrDurationUnitSAPCode | _SrvcContrTmplDurationTP | SrvcDocDurationUnitSAPCode | ||
| ServiceDocCreationDateTime | ServiceDocCreationDateTime | |||
| ServiceDocChangedDateTime | ServiceDocChangedDateTime | |||
| ServiceDocumentCreatedByUser | ServiceDocumentCreatedByUser | |||
| ServiceDocumentChangedByUser | ServiceDocumentChangedByUser | |||
| RespEmployeeBusinessPartnerId | ResponsibleEmployee | |||
| SrvcContrTmplStatus | ServiceDocumentStatus | |||
| SalesOrganization | SalesOrganization | |||
| SalesOffice | SalesOffice | |||
| SalesGroup | SalesGroup | |||
| DistributionChannel | DistributionChannel | |||
| Division | Division | |||
| SalesOrganizationOrgUnitID | SalesOrganizationOrgUnitID | |||
| SalesOfficeOrgUnitID | SalesOfficeOrgUnitID | |||
| SalesGroupOrgUnitID | SalesGroupOrgUnitID | |||
| ServiceOrganization | ServiceOrganization | |||
| PurchaseOrderByCustomer | PurchaseOrderByCustomer | |||
| CustomerPurchaseOrderDate | CustomerPurchaseOrderDate | |||
| _ServiceDocumentType | _ServiceDocumentType | |||
| _ServiceObjType | _ServiceObjType | |||
| _ResponsibleEmployee | _ResponsibleEmployee | |||
| _SrvcContrTmplDurationTP | _SrvcContrTmplDurationTP | |||
| _SrvcDocDurationUnitText | _SrvcDocDurationUnitText | |||
| _SrvcContrTmplStatus | _SrvcContrTmplStatus | |||
| _ServiceDocumentStatusText | _ServiceDocumentStatusText | |||
| _SrvcDocErrorStatusText | _SrvcDocErrorStatusText | |||
| _SrvcContrTmplDurnUnit | _SrvcContrTmplDurnUnit | |||
| _Item | _Item | |||
| _LongText | _LongText |
@AccessControl: {
authorizationCheck: #MANDATORY,
personalData.blocking: #('TRANSACTIONAL_DATA')
}
@VDM: {
viewType: #TRANSACTIONAL,
lifecycle.contract.type: #SAP_INTERNAL_API
}
@Metadata.ignorePropagatedAnnotations: true
@ObjectModel.sapObjectNodeType.name: 'ServiceContractTemplate'
@ObjectModel: {
semanticKey: ['ServiceContractTemplate'],
representativeKey: 'ServiceContractTemplate',
usageType: {dataClass: #TRANSACTIONAL,
serviceQuality: #C,
sizeCategory: #L}
}
@EndUserText.label: 'Service Contract Template - TP'
define root view entity R_ServiceContractTemplateTP
as select from I_ServiceDocumentEnhcd
association [0..1] to I_StatusObjectUUIDStatus as _SrvcContrTmplStatus on $projection.ServiceContractTemplateUUID = _SrvcContrTmplStatus.StatusObjectUUID
and _SrvcContrTmplStatus.StatusCode between 'I1002' and 'I1005'
and _SrvcContrTmplStatus.StatusIsActive = 'X'
association [1] to I_ServiceDocumentStatusText as _ServiceDocumentStatusText on $projection.SrvcContrTmplStatus = _ServiceDocumentStatusText.ServiceDocumentStatus
and _ServiceDocumentStatusText.Language = $session.system_language
association [0..1] to I_SrvcDocDurationUnitText as _SrvcDocDurationUnitText on $projection.SrvcContrDurationUnit = _SrvcDocDurationUnitText.SrvcDocDurationUnit
and _SrvcDocDurationUnitText.Language = $session.system_language
association [0..1] to I_ServiceDocErrorStatusText as _SrvcDocErrorStatusText on $projection.ServiceDocumentHasError = _SrvcDocErrorStatusText.ServiceDocumentHasError
and _SrvcDocErrorStatusText.ServiceDocumentHasError = 'X'
and _SrvcDocErrorStatusText.Language = $session.system_language
association [0..1] to R_SrvcContrTmplDurationTP as _SrvcContrTmplDurationTP on $projection.ServiceContractTemplate = _SrvcContrTmplDurationTP.ServiceContractTemplate
and _SrvcContrTmplDurationTP.SrvcDocDurationType = 'CONTDURA'
association [0..1] to I_BusinessPartner as _ResponsibleEmployee on $projection.RespEmployeeBusinessPartnerId = _ResponsibleEmployee.BusinessPartner
association [0..1] to E_ServiceDocument as _ServiceDocumentExt on $projection.ServiceObjectType = _ServiceDocumentExt.ServiceCategory
and $projection.ServiceContractTemplate = _ServiceDocumentExt.ServiceOrder
association [0..1] to I_UnitOfMeasure as _SrvcContrTmplDurnUnit on $projection.SrvcContrDurationUnitSAPCode = _SrvcContrTmplDurnUnit.UnitOfMeasure
composition [0..*] of R_SrvcContrTmplItemTP as _Item
composition [0..*] of R_SrvcContrTmplLongTextTP as _LongText
{
key ServiceDocument as ServiceContractTemplate,
@ObjectModel.foreignKey.association: '_ServiceObjType'
ServiceObjectType,
@ObjectModel.foreignKey.association: '_ServiceDocumentType'
ServiceDocumentType as ServiceContractTemplateType,
ServiceDocumentTemplateType,
ServiceDocumentUUID as ServiceContractTemplateUUID,
ServiceDocumentDescription as SrvcContrTmplDescription,
Language,
PostingDate,
// Validity
@Semantics.dateTime:true
SrvcDocTmplValdtyStartDateTime as SrvcContrTmplValdtyStrtDteTime,
@Semantics.dateTime:true
SrvcDocTmplValdtyEndDateTime as SrvcContrTmplValdtyEndDateTime,
cast( tstmp_to_dats( SrvcDocTmplValdtyStartDateTime,
abap_system_timezone( $session.client,'NULL' ),
$session.client,
'NULL' ) as crms4_created_on preserving type ) as SrvcDocTmplValidityStartDate,
cast( tstmp_to_dats( SrvcDocTmplValdtyEndDateTime,
abap_system_timezone( $session.client,'NULL' ),
$session.client,
'NULL' ) as crms4_created_on preserving type ) as SrvcDocTmplValidityEndDate,
// Duration
_SrvcContrTmplDurationTP.SrvcDocDurationValue as SrvcContrDuration,
_SrvcContrTmplDurationTP.SrvcDocDurationUnit as SrvcContrDurationUnit,
_SrvcContrTmplDurationTP.SrvcDocDurationUnitSAPCode as SrvcContrDurationUnitSAPCode,
// Administrative fields
ServiceDocCreationDateTime,
ServiceDocChangedDateTime,
ServiceDocumentCreatedByUser,
ServiceDocumentChangedByUser,
// Responsibile employee
@ObjectModel.foreignKey.association: '_ResponsibleEmployee'
ResponsibleEmployee as RespEmployeeBusinessPartnerId,
// Life cycle status
@Semantics.booleanIndicator: true
cast( case _SrvcContrTmplStatus.StatusCode
when 'I1002' then 'X' else ' '
end as xfeld preserving type ) as SrvcContrTmplIsNew,
@Semantics.booleanIndicator: true
cast( case _SrvcContrTmplStatus.StatusCode
when 'I1003' then 'X' else ' '
end as xfeld preserving type ) as SrvcContrTmplIsInProcess,
@Semantics.booleanIndicator: true
cast( case _SrvcContrTmplStatus.StatusCode
when 'I1004' then 'X' else ' '
end as xfeld preserving type ) as SrvcContrTmplIsReleased,
@Semantics.booleanIndicator: true
cast( case _SrvcContrTmplStatus.StatusCode
when 'I1005' then 'X' else ' '
end as xfeld preserving type ) as SrvcContrTmplIsCompleted,
ServiceDocumentStatus as SrvcContrTmplStatus,
// Error status
@Semantics.booleanIndicator: true
cast( ServiceDocumentHasError
as xfeld preserving type ) as ServiceDocumentHasError,
case ServiceDocumentHasError
when 'X' then 1 else 0
end as SrvcContrErrStsCriticality,
// Organiztion
SalesOrganization,
SalesOffice,
SalesGroup,
DistributionChannel,
Division,
SalesOrganizationOrgUnitID,
SalesOfficeOrgUnitID,
SalesGroupOrgUnitID,
ServiceOrganization,
// Reference
PurchaseOrderByCustomer,
CustomerPurchaseOrderDate,
// Associations
_ServiceDocumentType,
_ServiceObjType,
_ResponsibleEmployee,
_SrvcContrTmplDurationTP,
_SrvcDocDurationUnitText,
_SrvcContrTmplStatus,
_ServiceDocumentStatusText,
_SrvcDocErrorStatusText,
_SrvcContrTmplDurnUnit,
_Item,
_LongText
}
where
ServiceObjectType = 'BUS2000112'
and ServiceDocumentTemplateType != ''
/*+[internal] {
"BASEINFO":
{
"FROM":
[
"I_SERVICEDOCUMENTENHCD",
"I_STATUSOBJECTUUIDSTATUS",
"R_SRVCCONTRTMPLDURATIONTP"
],
"ASSOCIATED":
[
"I_BUSINESSPARTNER",
"I_CUSTMGMTBUSOBJTYPE",
"I_SERVICEDOCERRORSTATUSTEXT",
"I_SERVICEDOCUMENTSTATUSTEXT",
"I_SERVICEDOCUMENTTYPE",
"I_SRVCDOCDURATIONUNITTEXT",
"I_STATUSOBJECTUUIDSTATUS",
"I_UNITOFMEASURE",
"R_SRVCCONTRTMPLDURATIONTP",
"R_SRVCCONTRTMPLITEMTP",
"R_SRVCCONTRTMPLLONGTEXTTP"
],
"BASE":
[
"I_SERVICEDOCUMENTENHCD"
],
"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