P_RSHOrderProcessingStatus is a Consumption CDS View that provides data about "Processing Status for Orders" in SAP S/4HANA. It reads from 3 data sources (I_MaintenanceOrder, I_OrderOperationBasic, I_RSHOperationProcessingStatus) and exposes 3 fields with key field MaintenanceOrderInternalID.
@AbapCatalog.sqlViewName: 'PRSHORDPROCSTAT'
@VDM.private: true@VDM.viewType: #CONSUMPTION@AbapCatalog.preserveKey:true@AbapCatalog.compiler.compareFilter:true@ClientHandling.algorithm: #SESSION_VARIABLE@EndUserText.label: 'Processing Status for Orders'
/*
CONTRACT*************************************************************************************************************************
Name: Order Processing Status Determination
Specification: This view will calculate the Processing Status
Requires: NA
Ensures: Processing Status per orderis returned
Owners: CK
Contributors:
Unit Test required Y/N: Y
Additional comments Intended only for Maintenance Asset Board
END OF CONTRACT******************************************************************************************************************
*///defineview P_RSHOrderProcessingStatus
// asselectfrom I_MaintenanceOrder as _MaintenanceOrder
// innerjoin I_OrderOperationBasic as _Operation on _Operation.OrderInternalID = _MaintenanceOrder.MaintOrderRoutingNumber
// //status filter -> see where condition at the bottom
// leftouterjoin I_StatusObjectStatusBasic as _ExclStatusObj on _Operation.ObjectInternalID = _ExclStatusObj.StatusObject
// and _ExclStatusObj.StatusIsInactive = ''
// and (
// _ExclStatusObj.StatusCode = 'I0013' //DELETED
// or _ExclStatusObj.StatusCode = 'I0045' //CONFIRMED (TECO)
// or _ExclStatusObj.StatusCode = 'I0009' //CONFIRMED (CNF)
// or _ExclStatusObj.StatusCode = 'I0043' //LOCKED (LKD)
// or _ExclStatusObj.StatusCode = 'I0046' //CLOSED (Business Closed)
// )
// association [1..1] to I_RSHOperationProcessingStatus as _ProcStatus on _Operation.ObjectInternalID = _ProcStatus.StatusObject
//
//{
//
// key MaintenanceOrderInternalID,
// MaintenanceOrder,
// min(_ProcStatus.ProcessingStatus) as ProcessingStatus
//
//}
//where// _ExclStatusObj.StatusObject isnull//groupby// MaintenanceOrderInternalID,
// MaintenanceOrder
// Performance changes
defineview P_RSHOrderProcessingStatus
asselectfrom I_MaintenanceOrder as _MaintenanceOrder
innerjoin I_OrderOperationBasic as _Operation on _Operation.OrderInternalID = _MaintenanceOrder.MaintOrderRoutingNumber
innerjoin I_RSHOperationProcessingStatus as _ProcStatus on _ProcStatus.StatusObject = _Operation.ObjectInternalID
and(
_ProcStatus.ProcessingStatus = 20
or _ProcStatus.ProcessingStatus = 30
or _ProcStatus.ProcessingStatus = 40
)
{
key MaintenanceOrderInternalID,
MaintenanceOrder,
min(_ProcStatus.ProcessingStatus) as ProcessingStatus
}
groupby
MaintenanceOrderInternalID,
MaintenanceOrder
/*+[internal] {
"BASEINFO":
{
"FROM":
[
"I_MAINTENANCEORDER",
"I_ORDEROPERATIONBASIC",
"I_RSHOPERATIONPROCESSINGSTATUS"
],
"ASSOCIATED":
[],
"BASE":
[],
"ANNO_REF":
[],
"SCALAR_FUNCTION":
[],
"VERSION":0,
"ANNOREF_EVALUATION_ERROR":""
}
}*/