I_AllRepairObjectSituation
Anchor for Repair Object Situations
I_AllRepairObjectSituation is a Composite CDS View that provides data about "Anchor for Repair Object Situations" in SAP S/4HANA. It reads from 2 data sources (I_InHouseRepair, I_InHouseRepairItem) and exposes 28 fields with key fields CustMgmtObjectType, InHouseRepair, RepairObject. It has 3 associations to related views. Part of development package CRMS4_REPAIR_SITN_HNDLG.
Data Sources (2)
| Source | Alias | Join Type |
|---|---|---|
| I_InHouseRepair | InHRepair | inner |
| I_InHouseRepairItem | InhRepItem | from |
Associations (3)
| Cardinality | Target | Alias | Condition |
|---|---|---|---|
| [0..1] | E_InHouseRepairItem | _RepairObjectExtension | $projection.CustMgmtObjectType = _RepairObjectExtension.CustMgmtObjectType and $projection.InHouseRepair = _RepairObjectExtension.InHouseRepair and $projection.RepairObject = _RepairObjectExtension.InHouseRepairItem |
| [0..1] | R_InhRepairItmNrOfOpnMaintOrds | _InhReprItmNrOfOpnMaintOrd | $projection.InHouseRepairItemUUID = _InhReprItmNrOfOpnMaintOrd.InHouseRepairItemUUID |
| [0..1] | P_InhRepairItmNrOfBillgRdyItms | _InhRepairItmNrOfBillgRdyItms | $projection.InHouseRepairItemUUID = _InhRepairItmNrOfBillgRdyItms.InHouseRepairItemUUID |
Annotations (9)
| Name | Value | Level | Field |
|---|---|---|---|
| AccessControl.authorizationCheck | #MANDATORY | view | |
| EndUserText.label | Anchor for Repair Object Situations | view | |
| Metadata.ignorePropagatedAnnotations | true | view | |
| ObjectModel.uniqueIdField | InHouseRepairItemUUID | view | |
| ObjectModel.usageType.serviceQuality | #D | view | |
| ObjectModel.usageType.sizeCategory | #XL | view | |
| ObjectModel.usageType.dataClass | #MIXED | view | |
| VDM.viewType | #COMPOSITE | view | |
| VDM.lifecycle.contract.type | #PUBLIC_LOCAL_API | view |
Fields (28)
| Key | Field | Source Table | Source Field | Description |
|---|---|---|---|---|
| KEY | CustMgmtObjectType | I_InHouseRepairItem | CustMgmtObjectType | |
| KEY | InHouseRepair | I_InHouseRepairItem | InHouseRepair | |
| KEY | RepairObject | I_InHouseRepairItem | InHouseRepairItem | |
| InHouseRepairItemUUID | I_InHouseRepairItem | InHouseRepairItemUUID | ||
| InhRepairStatus | ||||
| RepairObjectStatus | ||||
| ResponsibleEmployeeUserID | RespEmployeeUser | UserID | ||
| InHouseRepairUUID | I_InHouseRepairItem | InHouseRepairUUID | ||
| CreatedByUser | I_InHouseRepairItem | CreatedByUser | ||
| InhRepairItemCategory | I_InHouseRepairItem | InhRepairItemCategory | ||
| SalesOrganization | I_InHouseRepair | SalesOrganization | ||
| DistributionChannel | I_InHouseRepair | DistributionChannel | ||
| Division | I_InHouseRepair | Division | ||
| SalesOffice | I_InHouseRepair | SalesOffice | ||
| SalesGroup | I_InHouseRepair | SalesGroup | ||
| InhRepairType | I_InHouseRepairItem | InhRepairType | ||
| InhRepairItemAvailyStatus | I_InHouseRepairItem | InhRepairItemAvailyStatus | ||
| ServiceDocumentIsOpen | ||||
| NumberOfOpenMaintenanceOrders | _InhReprItmNrOfOpnMaintOrd | NumberOfOpenMaintenanceOrders | ||
| NrOfSrvcDocItmsReadyForBilling | _InhRepairItmNrOfBillgRdyItms | NrOfSrvcDocItmsReadyForBilling | ||
| _InHouseRepair | I_InHouseRepairItem | _InHouseRepair | ||
| _SalesOrganization | I_InHouseRepair | _SalesOrganization | ||
| _DistributionChannel | I_InHouseRepair | _DistributionChannel | ||
| _Division | I_InHouseRepair | _Division | ||
| _SalesOffice | I_InHouseRepair | _SalesOffice | ||
| _SalesGroup | I_InHouseRepair | _SalesGroup | ||
| _CustMgmtObjectType | I_InHouseRepairItem | _CustMgmtObjectType | ||
| _InhRepairItemCategory | I_InHouseRepairItem | _InhRepairItemCategory |
@AccessControl: {
personalData.blocking: #('TRANSACTIONAL_DATA'),
authorizationCheck: #MANDATORY
}
@EndUserText.label: 'Anchor for Repair Object Situations'
@Metadata.ignorePropagatedAnnotations: true
@ObjectModel: {
semanticKey: [ 'InHouseRepair', 'RepairObject' ] ,
uniqueIdField: 'InHouseRepairItemUUID',
usageType: {
serviceQuality: #D,
sizeCategory: #XL,
dataClass: #MIXED
}
}
@ObjectModel.supportedCapabilities:[ #SITUATION_ANCHOR ]
@VDM: {
viewType: #COMPOSITE,
lifecycle.contract.type: #PUBLIC_LOCAL_API
}
define view entity I_AllRepairObjectSituation
as select from I_InHouseRepairItem as InhRepItem
inner join I_InHouseRepair as InHRepair on InHRepair.CustMgmtObjectType = InhRepItem.CustMgmtObjectType
and InHRepair.InHouseRepair = InhRepItem.InHouseRepair
left outer to one join I_BusinessUserBasic as RespEmployeeUser on InHRepair.ResponsibleEmployee = RespEmployeeUser.BusinessPartner
left outer to one join I_CustMgmtTransactionRelation as TransRelation on TransRelation.CustMgmtPrdcssrTransactionUUID = InhRepItem.InHouseRepairItemUUID
and TransRelation.CustMgmtTransacRelationType = 'IHR1'
and TransRelation.CustMgmtPrdcssrTransacObjType = 'BUS2000257'
left outer to one join P_InHouseRepairItemStatusHist as StatusChangeHistory on StatusChangeHistory.InHouseRepairItemUUID = InhRepItem.InHouseRepairItemUUID
association [0..1] to E_InHouseRepairItem as _RepairObjectExtension on $projection.CustMgmtObjectType = _RepairObjectExtension.CustMgmtObjectType
and $projection.InHouseRepair = _RepairObjectExtension.InHouseRepair
and $projection.RepairObject = _RepairObjectExtension.InHouseRepairItem
association [0..1] to R_InhRepairItmNrOfOpnMaintOrds as _InhReprItmNrOfOpnMaintOrd on $projection.InHouseRepairItemUUID = _InhReprItmNrOfOpnMaintOrd.InHouseRepairItemUUID
association [0..1] to P_InhRepairItmNrOfBillgRdyItms as _InhRepairItmNrOfBillgRdyItms on $projection.InHouseRepairItemUUID = _InhRepairItmNrOfBillgRdyItms.InHouseRepairItemUUID
{
@UI.hidden: true
key InhRepItem.CustMgmtObjectType,
key InhRepItem.InHouseRepair as InHouseRepair,
key InhRepItem.InHouseRepairItem as RepairObject,
@UI.hidden:true
InhRepItem.InHouseRepairItemUUID,
@Consumption.valueHelpDefinition: [{ entity: { name: 'I_InHouseRepairStatusVH', element: 'InhRepairStatus' }}]
cast(InHRepair.InhRepairStatus as crms4_inhrepair_status preserving type) as InhRepairStatus,
@Consumption.valueHelpDefinition: [{ entity: { name: 'I_InhRepairItemStatusVH', element: 'InhRepairItemStatus' }}]
cast(InhRepItem.InhRepairItemStatus as crms4_repair_obj_status preserving type) as RepairObjectStatus,
@UI.hidden:true
RespEmployeeUser.UserID as ResponsibleEmployeeUserID,
@UI.hidden:true
InhRepItem.InHouseRepairUUID,
@UI.hidden:true
InhRepItem.CreatedByUser,
@UI.hidden: true
InhRepItem.InhRepairItemCategory,
/* Due to DCL Inheritence, below fields are needed */
//required for authorization check
@UI.hidden: true
InHRepair.SalesOrganization,
//required for authorization check
@UI.hidden: true
InHRepair.DistributionChannel,
//required for authorization check
@UI.hidden: true
InHRepair.Division,
//required for authorization check
@UI.hidden: true
InHRepair.SalesOffice,
//required for authorization check
@UI.hidden: true
InHRepair.SalesGroup,
@UI.hidden: true
InhRepItem.InhRepairType,
InhRepItem.InhRepairItemAvailyStatus,
@Semantics.booleanIndicator: true
cast(InhRepItem._RepairOrder._SuccessorServiceTransaction.ServiceDocumentIsOpen as crms4_serv_doc_is_open preserving type) as ServiceDocumentIsOpen,
_InhReprItmNrOfOpnMaintOrd.NumberOfOpenMaintenanceOrders,
_InhRepairItmNrOfBillgRdyItms.NrOfSrvcDocItmsReadyForBilling,
//Associations
InhRepItem._InHouseRepair,
InHRepair._SalesOrganization,
InHRepair._DistributionChannel,
InHRepair._Division,
InHRepair._SalesOffice,
InHRepair._SalesGroup,
InhRepItem._CustMgmtObjectType,
InhRepItem._InhRepairItemCategory
}
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