C_RSHOperationValidation

DDL: C_RSHOPERATIONVALIDATION SQL: CRSHOPRVAL Type: view CONSUMPTION

Message for operation list

C_RSHOperationValidation is a Consumption CDS View that provides data about "Message for operation list" in SAP S/4HANA. It reads from 1 data source (I_MaintOrderOperAndSubOper) and exposes 24 fields with key fields MaintenanceOrder, MaintenanceOrderOperation, MaintenanceOrderSubOperation, SystemMessageNumber. It has 6 associations to related views.

Data Sources (1)

SourceAliasJoin Type
I_MaintOrderOperAndSubOper I_MaintOrderOperAndSubOper from

Associations (6)

CardinalityTargetAliasCondition
[0..*] I_RSHOrderMessages _Message _Message.SystemMessageNumber = '001' or _Message.SystemMessageNumber = '002'
[1..1] I_RSHMessageType _MessageType _MessageType.SystemMessageType = 'I'
[0..1] I_MaintenanceOrderStdVH _MaintenanceOrder _MaintenanceOrder.MaintenanceOrder = $projection.MaintenanceOrder
[0..1] I_MaintOrdOpStdVH _MaintenanceOrderOperation $projection.MaintenanceOrder = _MaintenanceOrderOperation.MaintenanceOrder and $projection.MaintenanceOrderOperation = _MaintenanceOrderOperation.MaintenanceOrderOperation
[0..1] I_MaintOrdSubOpStdVH _MaintenanceOrderSubOperation $projection.MaintenanceOrder = _MaintenanceOrderSubOperation.MaintenanceOrder and $projection.MaintenanceOrderOperation = _MaintenanceOrderSubOperation.MaintenanceOrderOperation and $projection.MaintenanceOrderSubOperation = _MaintenanceOrderSubOperation.MaintenanceOrderSubOperation
[0..1] I_RSHOrderMessageVH _MessageVH $projection.systemmessagenumber = _MessageVH.SystemMessageNumber

Annotations (11)

NameValueLevelField
ClientHandling.algorithm #SESSION_VARIABLE view
AbapCatalog.sqlViewName CRSHOPRVAL view
AbapCatalog.compiler.compareFilter true view
AccessControl.authorizationCheck #CHECK view
ObjectModel.representativeKey MaintenanceOrderOperation view
VDM.viewType #CONSUMPTION view
EndUserText.label Message for operation list view
ObjectModel.usageType.sizeCategory #XL view
ObjectModel.usageType.serviceQuality #D view
ObjectModel.usageType.dataClass #MIXED view
AccessControl.personalData.blocking #NOT_REQUIRED view

Fields (24)

KeyFieldSource TableSource FieldDescription
KEY MaintenanceOrder MaintenanceOrder
KEY MaintenanceOrderOperation MaintenanceOrderOperation
KEY MaintenanceOrderSubOperation MaintenanceOrderSubOperation
KEY SystemMessageNumber _Message SystemMessageNumber
SystemMessageType _MessageType SystemMessageType
SystemMessageTypeCriticality _MessageType SystemMessageTypeCriticality
SystemMessageTypeName _MessageType SystemMessageTypeName
SystemMessageText _Message SystemMessageText
Plant I_MaintOrderOperAndSubOper Plant
OrderType
MaintenancePlannerGroup
Equipment _MaintenanceOrder Equipment
MaintObjectLocAcctAssgmtNmbr _MaintenanceOrder MaintObjectLocAcctAssgmtNmbr
MaintenanceOrderType _MaintenanceOrder MaintenanceOrderType
MaintenancePlanningPlant _MaintenanceOrder MaintenancePlanningPlant
OperationPersonResponsible _MaintenanceOrderOperation OperationPersonResponsible
_MaintenanceOrder _MaintenanceOrder
_LocationAccountAssignment _MaintenanceOrder _LocationAccountAssignment
_Equipment _MaintenanceOrder _Equipment
_MaintenanceOrderOperation _MaintenanceOrderOperation
_PersonResponsible _MaintenanceOrderOperation _PersonResponsible
_MaintenanceOrderSubOperation _MaintenanceOrderSubOperation
_Message _Message
_MessageVH _MessageVH
@ClientHandling.algorithm: #SESSION_VARIABLE
@AbapCatalog.sqlViewName: 'CRSHOPRVAL'
@AbapCatalog.compiler.compareFilter: true
@AccessControl.authorizationCheck:  #CHECK
@ObjectModel.representativeKey: 'MaintenanceOrderOperation'
@VDM.viewType: #CONSUMPTION
@EndUserText.label: 'Message for operation list'
@ObjectModel.usageType.sizeCategory: #XL
@ObjectModel.usageType.serviceQuality: #D
@ObjectModel.usageType.dataClass: #MIXED
@AccessControl.personalData.blocking: #NOT_REQUIRED
/*
CONTRACT**********************************************************************************************************************

Name:                       Validation for order operation change
Specification:              This view provides the below messages for each of the operations.
                            1. Operation with status in process
                            2. Operation with cross order relationship
                            Filtering of message is handled in C_RSHOperations
Requires:                   NA
Ensures:                    All messages validation of message class RSH_EAM_ORDER are returned with Text
Owners:                     YS
Contributors:               YS, NF
Unit Test required Y/N:     N
Additional comments         No
END OF CONTRACT***************************************************************************************************************
*/

define view C_RSHOperationValidation
  as select from I_MaintOrderOperAndSubOper
  association [0..*] to I_RSHOrderMessages      as _Message                      on  _Message.SystemMessageNumber = '001'
                                                                                 or  _Message.SystemMessageNumber = '002'

  association [1..1] to I_RSHMessageType        as _MessageType                  on  _MessageType.SystemMessageType = 'I'

  association [0..1] to I_MaintenanceOrderStdVH as _MaintenanceOrder             on  _MaintenanceOrder.MaintenanceOrder = $projection.MaintenanceOrder
  association [0..1] to I_MaintOrdOpStdVH       as _MaintenanceOrderOperation    on  $projection.MaintenanceOrder          = _MaintenanceOrderOperation.MaintenanceOrder
                                                                                 and $projection.MaintenanceOrderOperation = _MaintenanceOrderOperation.MaintenanceOrderOperation
  association [0..1] to I_MaintOrdSubOpStdVH    as _MaintenanceOrderSubOperation on  $projection.MaintenanceOrder             = _MaintenanceOrderSubOperation.MaintenanceOrder
                                                                                 and $projection.MaintenanceOrderOperation    = _MaintenanceOrderSubOperation.MaintenanceOrderOperation
                                                                                 and $projection.MaintenanceOrderSubOperation = _MaintenanceOrderSubOperation.MaintenanceOrderSubOperation
  association [0..1] to I_RSHOrderMessageVH     as _MessageVH                    on  $projection.systemmessagenumber = _MessageVH.SystemMessageNumber
{
           @Consumption.semanticObject: 'MaintenanceOrder'
           @ObjectModel.foreignKey.association: '_MaintenanceOrder'
           @Consumption.valueHelpDefinition: [ { entity: { name: 'I_MaintenanceOrderStdVH', element: 'MaintenanceOrder' } } ]
  key      MaintenanceOrder,
           @ObjectModel.foreignKey.association: '_MaintenanceOrderOperation'
           @Consumption.valueHelpDefinition: [ { entity: { name: 'I_MaintOrdOpStdVH', element: 'MaintenanceOrderOperation' } } ]
  key      MaintenanceOrderOperation,
           @ObjectModel.foreignKey.association: '_MaintenanceOrderSubOperation'
           @Consumption.valueHelpDefinition: [ { entity: { name: 'I_MaintOrdSubOpStdVH', element: 'MaintenanceOrderSubOperation' } } ]
  key      MaintenanceOrderSubOperation,
           @ObjectModel.foreignKey.association: '_MessageVH'
  key      _Message.SystemMessageNumber,

           //        HasError,

           _MessageType.SystemMessageType,
           _MessageType.SystemMessageTypeCriticality,
           @Semantics.text: true
           _MessageType.SystemMessageTypeName,

           @Semantics.text: true
           _Message.SystemMessageText,

           I_MaintOrderOperAndSubOper.Plant                                                                                                                                                                                                                                                                                                                                                                                                        as         Plant,
           I_MaintOrderOperAndSubOper._MaintenanceOrder.MaintenanceOrderType                                                                                                                                                                                                                                                                                                                                                                       as         OrderType,
           I_MaintOrderOperAndSubOper._MaintenanceOrder.MaintenancePlannerGroup                                                                                                                                                                                                                                                                                                                                                                    as         MaintenancePlannerGroup,

           // Select for DCL

           @UI.hidden: true
           _MaintenanceOrder.Equipment,
           _MaintenanceOrder.MaintObjectLocAcctAssgmtNmbr,
           _MaintenanceOrder.MaintenanceOrderType,
           _MaintenanceOrder.MaintenancePlanningPlant,
           _MaintenanceOrderOperation.OperationPersonResponsible,
           
           _MaintenanceOrder,
           _MaintenanceOrder._LocationAccountAssignment,
           _MaintenanceOrder._Equipment,
           _MaintenanceOrderOperation,
           _MaintenanceOrderOperation._PersonResponsible,
           _MaintenanceOrderSubOperation,
           _Message,
           _MessageVH
}
/*+[internal] {
"BASEINFO":
{
"FROM":
[
"I_MAINTENANCEORDER",
"I_MAINTENANCEORDERSTDVH",
"I_MAINTORDEROPERANDSUBOPER",
"I_MAINTORDOPSTDVH",
"I_RSHMESSAGETYPE",
"I_RSHORDERMESSAGES"
],
"ASSOCIATED":
[
"I_EQUIPMENT",
"I_LOCATIONACCOUNTASSIGNMENT",
"I_MAINTENANCEORDERSTDVH",
"I_MAINTORDOPSTDVH",
"I_MAINTORDSUBOPSTDVH",
"I_PERSONWORKAGREEMENT_1",
"I_RSHMESSAGETYPE",
"I_RSHORDERMESSAGES",
"I_RSHORDERMESSAGEVH"
],
"BASE":
[
"I_MAINTENANCEORDERSTDVH",
"I_MAINTORDOPSTDVH"
],
"ANNO_REF":
[],
"SCALAR_FUNCTION":
[],
"VERSION":0,
"ANNOREF_EVALUATION_ERROR":""
}
}*/