P_SerialNumberServiceDocument
Serial Number Service Documents
P_SerialNumberServiceDocument is a Composite CDS View that provides data about "Serial Number Service Documents" in SAP S/4HANA. It reads from 1 data source (I_ServiceDocumentRefObject) and exposes 11 fields with key fields ServiceObjectType, ServiceDocument, ServiceDocumentItem, ServiceRefObjectSequenceNumber. It has 4 associations to related views. Part of development package ODATA_LO_SN_HISTORY.
Data Sources (1)
| Source | Alias | Join Type |
|---|---|---|
| I_ServiceDocumentRefObject | I_ServiceDocumentRefObject | from |
Associations (4)
| Cardinality | Target | Alias | Condition |
|---|---|---|---|
| [0..1] | I_ServiceDocument | _ServiceDocument | $projection.ServiceDocument = _ServiceDocument.ServiceDocument and $projection.ServiceObjectType = _ServiceDocument.ServiceObjectType |
| [0..1] | I_ServiceDocumentItem | _ServiceDocumentItem | $projection.ServiceDocument = _ServiceDocumentItem.ServiceDocument and $projection.ServiceObjectType = _ServiceDocumentItem.ServiceObjectType and $projection.ServiceDocumentItem = _ServiceDocumentItem.ServiceDocumentItem |
| [0..1] | I_InHouseRepairItem | _InHouseRepairItem | $projection.ServiceDocument = _InHouseRepairItem.InHouseRepair and $projection.ServiceObjectType = _InHouseRepairItem.CustMgmtObjectType and $projection.ServiceDocumentItem = _InHouseRepairItem.InHouseRepairItem |
| [0..1] | P_SrlNmbrHistSrvChangeDocument | _SrlNmbrHistSrvChangeDocument | $projection.ChangeDocTableKey = _SrlNmbrHistSrvChangeDocument.ChangeDocTableKey |
Annotations (7)
| Name | Value | Level | Field |
|---|---|---|---|
| AccessControl.authorizationCheck | #NOT_REQUIRED | view | |
| Metadata.ignorePropagatedAnnotations | true | view | |
| ObjectModel.usageType.serviceQuality | #X | view | |
| ObjectModel.usageType.sizeCategory | #S | view | |
| ObjectModel.usageType.dataClass | #MIXED | view | |
| VDM.viewType | #COMPOSITE | view | |
| VDM.private | true | view |
Fields (11)
| Key | Field | Source Table | Source Field | Description |
|---|---|---|---|---|
| KEY | ServiceObjectType | ServiceObjectType | ||
| KEY | ServiceDocument | ServiceDocument | ||
| KEY | ServiceDocumentItem | ServiceDocumentItem | ||
| KEY | ServiceRefObjectSequenceNumber | ServiceRefObjectSequenceNumber | ||
| Equipment | Equipment | |||
| ServiceReferenceObjectType | ServiceReferenceObjectType | |||
| SerialNumber | SerialNumber | |||
| _SrlNmbrHistSrvChangeDocument | _SrlNmbrHistSrvChangeDocument | |||
| _ServiceDocument | _ServiceDocument | |||
| _ServiceDocumentItem | _ServiceDocumentItem | |||
| _InHouseRepairItem | _InHouseRepairItem |
@AbapCatalog.viewEnhancementCategory: [#NONE]
@AccessControl.authorizationCheck: #NOT_REQUIRED
@Metadata.ignorePropagatedAnnotations: true
@ObjectModel.usageType:{
serviceQuality: #X,
sizeCategory: #S,
dataClass: #MIXED
}
@VDM.viewType: #COMPOSITE
@VDM.private: true
define view entity P_SerialNumberServiceDocument
as select from I_ServiceDocumentRefObject
association [0..1] to I_ServiceDocument as _ServiceDocument on $projection.ServiceDocument = _ServiceDocument.ServiceDocument
and $projection.ServiceObjectType = _ServiceDocument.ServiceObjectType
association [0..1] to I_ServiceDocumentItem as _ServiceDocumentItem on $projection.ServiceDocument = _ServiceDocumentItem.ServiceDocument
and $projection.ServiceObjectType = _ServiceDocumentItem.ServiceObjectType
and $projection.ServiceDocumentItem = _ServiceDocumentItem.ServiceDocumentItem
association [0..1] to I_InHouseRepairItem as _InHouseRepairItem on $projection.ServiceDocument = _InHouseRepairItem.InHouseRepair
and $projection.ServiceObjectType = _InHouseRepairItem.CustMgmtObjectType
and $projection.ServiceDocumentItem = _InHouseRepairItem.InHouseRepairItem
association [0..1] to P_SrlNmbrHistSrvChangeDocument as _SrlNmbrHistSrvChangeDocument on $projection.ChangeDocTableKey = _SrlNmbrHistSrvChangeDocument.ChangeDocTableKey
{
key ServiceObjectType,
key ServiceDocument,
key ServiceDocumentItem,
key ServiceRefObjectSequenceNumber,
Equipment,
ServiceReferenceObjectType,
case
when ProductID <> '' then ProductID
else ReferenceProduct
end as Material,
SerialNumber,
concat( $session.client,
concat( ServiceObjectType,
concat( ServiceDocument,
concat( ServiceDocumentItem,
concat( ServiceReferenceObjectType,
case ( ServiceReferenceObjectType )
when 'F'
then concat( ProductID,
concat( '/', ltrim(SerialNumber, '0')))
else Equipment
end ))))) as ChangeDocTableKey,
_SrlNmbrHistSrvChangeDocument,
_ServiceDocument,
_ServiceDocumentItem,
_InHouseRepairItem
}
where
SerialNumber is not initial
and Equipment is not initial
and(
(
ServiceObjectType = 'BUS2000116' // Service Order
and _ServiceDocument.ServiceDocumentIsQuotation = ' '
and _ServiceDocument.ServiceDocumentTemplateType = ' '
and _ServiceDocument.RefInHouseRepairIsExisting = ' '
and _ServiceDocument.SrvcDocIsMaintServiceOrder = ' '
)
or ServiceObjectType = 'BUS2000117' // Service Confirmation
or ServiceObjectType = 'BUS2000256' // In-House Repair
)
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