C_MaintJobPckgBuildOperations

DDL: C_MAINTJOBPCKGBUILDOPERATIONS SQL: CMJOBPCKGBOPS Type: view CONSUMPTION Package: ODATA_EAM_MAINTJOBPACKAGE

Operation to Assign to Work Pack

C_MaintJobPckgBuildOperations is a Consumption CDS View that provides data about "Operation to Assign to Work Pack" in SAP S/4HANA. It reads from 1 data source (I_MaintOrderOperAndSubOper) and exposes 32 fields with key fields MaintenanceOrder, MaintenanceOrderOperation, MaintenanceOrderSubOperation. It is exposed through 1 OData service (UI_MAINTJOBPCKGBUILD_MNG). It is used in 1 Fiori application: Manage Work Packs. Part of development package ODATA_EAM_MAINTJOBPACKAGE.

Data Sources (1)

SourceAliasJoin Type
I_MaintOrderOperAndSubOper I_MaintenanceOrderOperation from

Annotations (13)

NameValueLevelField
EndUserText.label Operation to Assign to Work Pack view
AbapCatalog.sqlViewName CMJOBPCKGBOPS view
AbapCatalog.compiler.compareFilter true view
AbapCatalog.preserveKey true view
AccessControl.authorizationCheck #CHECK view
ClientHandling.algorithm #SESSION_VARIABLE view
ObjectModel.usageType.serviceQuality #D view
ObjectModel.usageType.sizeCategory #XL view
ObjectModel.usageType.dataClass #MIXED view
VDM.viewType #CONSUMPTION view
VDM.lifecycle.contract.type #NONE view
Metadata.allowExtensions true view
Metadata.ignorePropagatedAnnotations true view

OData Services (1)

ServiceBindingVersionContractRelease
UI_MAINTJOBPCKGBUILD_MNG UI_MAINTJOBPCKGBUILD_MNG V2 C1 NOT_RELEASED

Fiori Apps (1)

App IDApp NameTypeDescription
F6065 Manage Work Packs Transactional Manage Work Packs.

Manage Work Packs

Business Role: Maintenance Planner

With this app, you can find existing work packs, select work packs, job packs, and included items and send them to the output immediately or schedule them to be eligible for the mass output. A work pack consists of a list of job packs in which the system can output together and the work order operations (jobs) belonging to the corresponding job packs (the set of jobs in a job pack are work order operations that you can create one output request for). Work packs allow you to include multiple output types and leverage support for print and email channels for the output.

Key Features: You can use this app to do the following: Search for and display created work packs See detailed information about selected work packs, such as type, grouping criteria, output status Select work packs, job packs, and job pack items and send them to the output immediately or prepare them for mass output Select multiple attachments, add them to a single output item, and trigger a single printout or email.Attachments for notifications are retrieved from: Notification header Equipment in the notification header Functional location in the notification header Attachments from an order are retrieved from: Order header Equipment in the order header Functional location in the order header Operations of the order Equipment in the operation of the order Functional location in the operation of the order Object list of the order Equipment in the object list of the order Functional location in the object list of the order Notification from the order header Notification from operations of the order Note Only PDF type documents can be added to output items to create a single document. All other document types are considered separate documents. Retry output or set the status of the output to completed manually in case of any errors

Fields (32)

KeyFieldSource TableSource FieldDescription
KEY MaintenanceOrder I_MaintOrderOperAndSubOper MaintenanceOrder
KEY MaintenanceOrderOperation
KEY MaintenanceOrderSubOperation
MaintenanceOrderDesc
OperationDescription I_MaintOrderOperAndSubOper OperationDescription
MaintOpExecutionStageName
MaintOpExecStageShortText
WorkCenter
WorkCenterText
Equipment I_MaintOrderOperAndSubOper Equipment
EquipmentName
FunctionalLocation
FunctionalLocationName
MaintPriority
MaintPriorityColorCode
MaintPriorityDesc
OpErlstSchedldExecStrtDte
OpErlstSchedldExecEndDte
OpLtstSchedldExecStrtDte
OpLtstSchedldExecEndDte
CostCtrActivityType I_MaintOrderOperAndSubOper CostCtrActivityType
OperationPlannedWork
OperationPlannedWorkUnit
UnitOfMeasureName
OperationPersonResponsible I_MaintOrderOperAndSubOper OperationPersonResponsible
OperationPersonRespName
OperationMaintenanceNotif
OperationMaintNotificationText
OperationSupplier I_MaintOrderOperAndSubOper OperationSupplier
_MaintenanceOrder I_MaintOrderOperAndSubOper _MaintenanceOrder
_PersonResponsible I_MaintOrderOperAndSubOper _PersonResponsible
_Supplier I_MaintOrderOperAndSubOper _Supplier
@EndUserText.label: 'Operation to Assign to Work Pack'

@AbapCatalog.sqlViewName: 'CMJOBPCKGBOPS'
@AbapCatalog.compiler.compareFilter: true
@AbapCatalog.preserveKey: true

@AccessControl.authorizationCheck: #CHECK
//@AccessControl.privilegedAssociations: [ '_MaintenanceOrderOperation', '_MaintOrderOperObjectListLink' ]

@AccessControl.personalData.blocking: #('TRANSACTIONAL_DATA')

@ClientHandling.algorithm: #SESSION_VARIABLE

@ObjectModel.usageType:{
  serviceQuality: #D,
  sizeCategory: #XL,
  dataClass: #MIXED
}

@VDM.viewType: #CONSUMPTION
@VDM.lifecycle.contract.type: #NONE

@Metadata.allowExtensions: true
@Metadata.ignorePropagatedAnnotations: true

define view C_MaintJobPckgBuildOperations
  // as select from           I_MaintenanceOrderOperation

  as select from           I_MaintOrderOperAndSubOper as I_MaintenanceOrderOperation

    left outer to one join I_MaintJobPackageOperation on  I_MaintenanceOrderOperation.MaintenanceOrder             = I_MaintJobPackageOperation.MaintenanceOrder
                                                      and I_MaintenanceOrderOperation.MaintenanceOrderOperation    = I_MaintJobPackageOperation.MaintenanceOrderOperation
                                                      and I_MaintenanceOrderOperation.MaintenanceOrderSubOperation = I_MaintenanceOrderOperation.MaintenanceOrderSubOperation

    left outer to one join I_MaintOrderOperTechObj    on  I_MaintenanceOrderOperation.MaintenanceOrder          = I_MaintOrderOperTechObj.MaintenanceOrder
                                                      and I_MaintenanceOrderOperation.MaintenanceOrderOperation = I_MaintOrderOperTechObj.MaintenanceOrderOperation

{
      @ObjectModel.text.element: ['MaintenanceOrderDesc']
      @ObjectModel.foreignKey.association: '_MaintenanceOrder'
  key I_MaintenanceOrderOperation.MaintenanceOrder,
      @ObjectModel.text.element: ['OperationDescription']
  key cast ( I_MaintenanceOrderOperation.MaintenanceOrderOperation as maintenanceorderoperation preserving type )            as MaintenanceOrderOperation,

      //I_MaintenanceOrderOperation.MaintenanceOrderSubOperation,

  key cast ( I_MaintenanceOrderOperation.MaintenanceOrderSubOperation as maintenanceordersuboperation preserving type )      as MaintenanceOrderSubOperation,

      @Semantics.text: true
      I_MaintenanceOrderOperation._MaintenanceOrder.MaintenanceOrderDesc,
      @Semantics.text: true
      I_MaintenanceOrderOperation.OperationDescription,

      @ObjectModel.text.element: ['MaintOpExecStageShortText']
      I_MaintenanceOrderOperation._MaintOperationExecStageCode._MaintOpExecStageCodeText[ 1:LanguageCode = $session.system_language ].MaintOpExecutionStageName,
      @Semantics.text: true
      I_MaintenanceOrderOperation._MaintOperationExecStageCode._MaintOpExecStageCodeText[ 1:LanguageCode = $session.system_language ].MaintOpExecStageShortText,

      @ObjectModel.text.element: ['WorkCenterText']
      I_MaintenanceOrderOperation._WorkCenter.WorkCenter,
      @Semantics.text: true
      I_MaintenanceOrderOperation._WorkCenter._Text[ 1:Language = $session.system_language ].WorkCenterText,

      @ObjectModel.text.element: ['EquipmentName']
      I_MaintenanceOrderOperation.Equipment,
      @Semantics.text: true
      I_MaintenanceOrderOperation._Equipment._EquipmentText[ 1:Language = $session.system_language ].EquipmentName,

      @ObjectModel.text.element: ['FunctionalLocationName']
      cast( I_MaintenanceOrderOperation.FunctionalLocation as tplnr_unconverted preserving type )                            as FunctionalLocation,
      @Semantics.text: true
      I_MaintenanceOrderOperation._FunctionalLocation._FunctionalLocationText[ 1:Language = $session.system_language ].FunctionalLocationName,

      @ObjectModel.text.element: ['MaintPriorityDesc']
      I_MaintenanceOrderOperation._MaintenanceOrder.MaintPriority,
      I_MaintenanceOrderOperation._MaintenanceOrder._MaintenancePriority.MaintPriorityColorCode,
      @Semantics.text: true
      I_MaintenanceOrderOperation._MaintenanceOrder._MaintenancePriority._Text[ 1:Language = $session.system_language ].MaintPriorityDesc,

      I_MaintenanceOrderOperation._OperationPlanningValues.OpErlstSchedldExecStrtDte,
      I_MaintenanceOrderOperation._OperationPlanningValues.OpErlstSchedldExecEndDte,

      I_MaintenanceOrderOperation._OperationPlanningValues.OpLtstSchedldExecStrtDte,
      I_MaintenanceOrderOperation._OperationPlanningValues.OpLtstSchedldExecEndDte,

      I_MaintenanceOrderOperation.CostCtrActivityType,

      @Semantics.quantity.unitOfMeasure: 'OperationPlannedWorkUnit'
      I_MaintenanceOrderOperation._OperationPlanningValues.OperationPlannedWork,
      @ObjectModel.text.element: ['UnitOfMeasureName']
      @Semantics.unitOfMeasure: true
      I_MaintenanceOrderOperation._OperationPlanningValues.OperationPlannedWorkUnit,
      @Semantics.text: true
      I_MaintenanceOrderOperation._OperationPlanningValues._PlannedWorkUnitOfMeasure._Text[ 1:Language = $session.system_language ].UnitOfMeasureName,

      @ObjectModel.text.element: ['OperationPersonRespName']
      I_MaintenanceOrderOperation.OperationPersonResponsible,
      @Semantics.text: true
      I_MaintenanceOrderOperation._PersonResponsible.PersonFullName                                                          as OperationPersonRespName,

      @ObjectModel.text.element: ['OperationMaintNotificationText']
      I_MaintOrderOperTechObj._MaintOrderOperObjectListLink._MaintenanceItemObject.MaintenanceNotification                   as OperationMaintenanceNotif,
      @Semantics.text: true
      I_MaintOrderOperTechObj._MaintOrderOperObjectListLink._MaintenanceItemObject._MaintenanceNotification.NotificationText as OperationMaintNotificationText,
      I_MaintenanceOrderOperation.OperationSupplier,

      /* Associations */
      //      _MaintOrderOperTechObj,

      I_MaintenanceOrderOperation._MaintenanceOrder                                                                          as _MaintenanceOrder,
      I_MaintenanceOrderOperation._PersonResponsible                                                                                            as _PersonResponsible,
      I_MaintenanceOrderOperation._Supplier as _Supplier

}
where
  (
    (
          I_MaintenanceOrderOperation._StatusObjectActiveStatus [1:StatusCode = 'I0117'].StatusCode               is not null
      and I_MaintenanceOrderOperation._MaintenanceOrder._MaintOrderTypeControlParam.MaintOrdTypeHasActvPhaseModel = 'X'
    )
    or(
          I_MaintenanceOrderOperation._StatusObjectActiveStatus [1:StatusCode = 'I0002'].StatusCode               is not null
      and I_MaintenanceOrderOperation._MaintenanceOrder._MaintOrderTypeControlParam.MaintOrdTypeHasActvPhaseModel = ''
    )
  )
  and     I_MaintenanceOrderOperation._StatusObjectActiveStatus [1:StatusCode = 'I0013'].StatusCode               is null
  and     I_MaintJobPackageOperation.MaintenanceJobPackageUUID                                                    is null