C_ObjPgMaintOrderWthDesc

DDL: C_OBJPGMAINTORDERWTHDESC SQL: COPMNTORDWTHDESC Type: view CONSUMPTION

Maintenance Order with Description

C_ObjPgMaintOrderWthDesc is a Consumption CDS View that provides data about "Maintenance Order with Description" in SAP S/4HANA. It reads from 1 data source (I_MaintOrderTechObj) and exposes 24 fields with key field MaintenanceOrder. It has 3 associations to related views.

Data Sources (1)

SourceAliasJoin Type
I_MaintOrderTechObj I_MaintOrderTechObj from

Associations (3)

CardinalityTargetAliasCondition
[0..1] C_MaintNotificationQuickVw _MaintNotificationQuickView $projection.MaintenanceNotification = _MaintNotificationQuickView.MaintenanceNotification
[0..1] C_MaintenancePlanQuickVw _MaintenancePlanQuickVw _MaintenancePlanQuickVw.MaintenancePlan = $projection.MaintenancePlan
[0..1] C_MaintTaskListQuickVw _MaintTaskListQuickVw _MaintTaskListQuickVw.TaskList = $projection.TaskList and _MaintTaskListQuickVw.TaskListType = $projection.TaskListType and _MaintTaskListQuickVw.TaskListGroup = $projection.TaskListGroup and _MaintTaskListQuickVw.TaskListGroupCounter = $projection.TaskListGroupCounter

Annotations (9)

NameValueLevelField
AbapCatalog.sqlViewName COPMNTORDWTHDESC view
AbapCatalog.compiler.compareFilter true view
AccessControl.authorizationCheck #CHECK view
ClientHandling.algorithm #SESSION_VARIABLE view
EndUserText.label Maintenance Order with Description view
ObjectModel.usageType.dataClass #MIXED view
ObjectModel.usageType.serviceQuality #C view
ObjectModel.usageType.sizeCategory #XL view
VDM.viewType #CONSUMPTION view

Fields (24)

KeyFieldSource TableSource FieldDescription
KEY MaintenanceOrder I_MaintOrderTechObj MaintenanceOrder
MaintenanceNotification I_MaintOrderTechObj MaintenanceNotification
MaintenanceNotificationText Notification Description
TaskListGroup
TaskListType
TaskListGroupCounter
TaskListKeyDate
TaskListDesc
MaintenancePlan I_MaintOrderTechObj MaintenancePlan
MaintenancePlanDesc
MaintenanceOrderLongText Long Text
OrderHasLongText I_MaintOrderTechObj OrderHasLongText
MaintenancePlanningPlant I_MaintOrderTechObj MaintenancePlanningPlant
MaintenanceOrderType I_MaintOrderTechObj MaintenanceOrderType
MaintenancePlannerGroup I_MaintOrderTechObj MaintenancePlannerGroup
ControllingArea I_MaintOrderTechObj ControllingArea
ResponsibleCostCenter I_MaintOrderTechObj ResponsibleCostCenter
Equipment I_MaintOrderTechObj Equipment
MaintObjectLocAcctAssgmtNmbr I_MaintOrderTechObj MaintObjectLocAcctAssgmtNmbr
_Equipment I_MaintOrderTechObj _Equipment
_LocationAccountAssignment I_MaintOrderTechObj _LocationAccountAssignment
_MaintNotificationQuickView _MaintNotificationQuickView
_MaintenancePlanQuickVw _MaintenancePlanQuickVw
_MaintTaskListQuickVw _MaintTaskListQuickVw
@AbapCatalog.sqlViewName: 'COPMNTORDWTHDESC'
@AbapCatalog.compiler.compareFilter: true
@AccessControl.privilegedAssociations:  ['_MaintNotificationQuickView','_MaintenancePlanQuickVw', '_MaintTaskListQuickVw']
@AccessControl.authorizationCheck: #CHECK
@ClientHandling.algorithm: #SESSION_VARIABLE
@EndUserText.label: 'Maintenance Order with Description' //same as DDL description

@ObjectModel.usageType.dataClass: #MIXED
@ObjectModel.usageType.serviceQuality: #C
@ObjectModel.usageType.sizeCategory: #XL
@VDM.viewType: #CONSUMPTION

define view C_ObjPgMaintOrderWthDesc
  as select from I_MaintOrderTechObj
  association [0..1] to C_MaintNotificationQuickVw as _MaintNotificationQuickView on $projection.MaintenanceNotification = _MaintNotificationQuickView.MaintenanceNotification

  association [0..1] to C_MaintenancePlanQuickVw   as _MaintenancePlanQuickVw     on _MaintenancePlanQuickVw.MaintenancePlan = $projection.MaintenancePlan

  association [0..1] to C_MaintTaskListQuickVw         as _MaintTaskListQuickVw          on  _MaintTaskListQuickVw.TaskList             = $projection.TaskList
                                                                                         and _MaintTaskListQuickVw.TaskListType         = $projection.TaskListType
                                                                                         and _MaintTaskListQuickVw.TaskListGroup        = $projection.TaskListGroup
                                                                                         and _MaintTaskListQuickVw.TaskListGroupCounter = $projection.TaskListGroupCounter

{
  key I_MaintOrderTechObj.MaintenanceOrder,

      @Consumption.semanticObject: 'MaintenanceNotification'
      @ObjectModel: { foreignKey.association: '_MaintNotificationQuickView', mandatory: true }
      @ObjectModel.text.element: [ 'MaintenanceNotificationText' ]
      @UI:{
          fieldGroup: {
                importance: #HIGH,
                qualifier: 'General',
                position: 10
          }
      }
      I_MaintOrderTechObj.MaintenanceNotification,

      @EndUserText.label: 'Notification Description'
      I_MaintOrderTechObj._MaintenanceNotification.NotificationText                as MaintenanceNotificationText,

      I_MaintOrderTechObj._Order.BillOfOperations as TaskListGroup,
      I_MaintOrderTechObj._Order.BillOfOperationsType as TaskListType,
      I_MaintOrderTechObj._Order.BillOfOperationsVariant as TaskListGroupCounter,
      @UI.hidden:true
      $session.system_date as TaskListKeyDate,
      @EndUserText.label: 'Task List'
      @ObjectModel.text.element: [ 'TaskListDesc' ]
      @UI:{
          fieldGroup: {
                importance: #HIGH,
                qualifier: 'General',
                position: 20
          }
      }
       
      @Consumption.semanticObject: 'MaintenanceTaskList'
      @ObjectModel: { foreignKey.association: '_MaintTaskListQuickVw', mandatory: true}
      case I_MaintOrderTechObj._Order.BillOfOperationsType
        when '' then ''
        else case I_MaintOrderTechObj._Order.BillOfOperations
                when '' then ''
                else case I_MaintOrderTechObj._Order.BillOfOperationsVariant
                        when '' then ''
                        else concat( concat( concat( concat(
                                I_MaintOrderTechObj._Order.BillOfOperationsType,
                                '/' ),
                                ltrim( I_MaintOrderTechObj._Order.BillOfOperations, '0') ),
                                '/' ),
                                ltrim( I_MaintOrderTechObj._Order.BillOfOperationsVariant, '0')
                             )
                     end
             end
      end                                                                          as TaskList,
      I_MaintOrderTechObj._Order._BillOfOperationsChangeState.BillOfOperationsDesc as TaskListDesc,

      @ObjectModel.text.element: [ 'MaintenancePlanDesc' ]
      @Consumption.semanticObject: 'MaintenancePlan'
      @ObjectModel: { foreignKey.association: '_MaintenancePlanQuickVw', mandatory: true }
      @UI:{
          fieldGroup: {
                importance: #HIGH,
                qualifier: 'General',
                position: 30
          }
      }
      I_MaintOrderTechObj.MaintenancePlan,
      I_MaintOrderTechObj._MaintenancePlan.MaintenancePlanDesc,

      @EndUserText.label: 'Long Text'
      @Semantics.text: true
      @UI:{
          fieldGroup: {
                importance: #HIGH,
                qualifier: 'General',
                position: 40
          }
      }
      @ObjectModel.virtualElement
      @ObjectModel.virtualElementCalculatedBy: 'ABAP:CL_EAM_ORDER_LTXT_EXIT'
      cast (' ' as eams_ltext)                                                     as MaintenanceOrderLongText,

      @UI.hidden: true
      I_MaintOrderTechObj.OrderHasLongText,


      /* Technical Fields - DCL */
      @UI.hidden: true
      I_MaintOrderTechObj.MaintenancePlanningPlant,
      @UI.hidden: true
      I_MaintOrderTechObj.MaintenanceOrderType,
      @UI.hidden: true
      I_MaintOrderTechObj.MaintenancePlannerGroup,
      @UI.hidden: true
      I_MaintOrderTechObj.ControllingArea,
      @UI.hidden: true
      I_MaintOrderTechObj.ResponsibleCostCenter,
      @UI.hidden: true
      I_MaintOrderTechObj.Equipment,
      @UI.hidden: true
      I_MaintOrderTechObj.MaintObjectLocAcctAssgmtNmbr,

      /* Associations - DCL */
      I_MaintOrderTechObj._Equipment,
      I_MaintOrderTechObj._LocationAccountAssignment,

      /* Association for Quick Views */
      @Consumption.filter.hidden
      _MaintNotificationQuickView,
      @Consumption.filter.hidden: true
      _MaintenancePlanQuickVw,
      @Consumption.filter.hidden: true
      _MaintTaskListQuickVw

}
/*+[internal] {
"BASEINFO":
{
"FROM":
[
"I_BILLOFOPERATIONSCHANGESTATE",
"I_LOGISTICSORDER",
"I_MAINTENANCENOTIFICATION",
"I_MAINTENANCEPLANBASIC",
"I_MAINTORDERTECHOBJ"
],
"ASSOCIATED":
[
"C_MAINTENANCEPLANQUICKVW",
"C_MAINTNOTIFICATIONQUICKVW",
"C_MAINTTASKLISTQUICKVW",
"I_EQUIPMENT",
"I_LOCATIONACCOUNTASSIGNMENT"
],
"BASE":
[
"I_MAINTORDERTECHOBJ"
],
"ANNO_REF":
[],
"SCALAR_FUNCTION":
[],
"VERSION":0,
"ANNOREF_EVALUATION_ERROR":""
}
}*/