A_ProcessOrderOperation

DDL: A_PROCESSORDEROPERATION Type: view_entity COMPOSITE Package: ODATA_PP_API_PROCORDER

API for Process Order Operations

A_ProcessOrderOperation is a Composite CDS View that provides data about "API for Process Order Operations" in SAP S/4HANA. It reads from 1 data source (I_MfgOrderOperationDurn) and exposes 30 fields with key fields OrderInternalBillOfOperations, OrderIntBillOfOperationsItem. It has 1 association to related views. Part of development package ODATA_PP_API_PROCORDER.

Data Sources (1)

SourceAliasJoin Type
I_MfgOrderOperationDurn I_MfgOrderOperationDurn from

Associations (1)

CardinalityTargetAliasCondition
[1..1] I_MfgOrderSequence _OrderSequence $projection.ManufacturingOrder = _OrderSequence.ManufacturingOrder and $projection.ManufacturingOrderSequence = _OrderSequence.ManufacturingOrderSequence and $projection.OrderInternalBillOfOperations = _OrderSequence.OrderInternalID

Annotations (8)

NameValueLevelField
AccessControl.authorizationCheck #CHECK view
EndUserText.label API for Process Order Operations view
VDM.viewType #COMPOSITE view
Metadata.ignorePropagatedAnnotations true view
ObjectModel.usageType.serviceQuality #C view
ObjectModel.usageType.sizeCategory #XL view
ObjectModel.usageType.dataClass #MIXED view
VDM.lifecycle.contract.type #PUBLIC_REMOTE_API view

Fields (30)

KeyFieldSource TableSource FieldDescription
KEY OrderInternalBillOfOperations OrderInternalBillOfOperations
KEY OrderIntBillOfOperationsItem OrderIntBillOfOperationsItem
ManufacturingOrder ManufacturingOrder
ManufacturingOrderOperation ManufacturingOrderOperation
MfgOrderOperationIsPhase MfgOrderOperationIsPhase
ManufacturingOrderSequence ManufacturingOrderSequence
MfgOrderSequenceText
MfgOrderOperationText MfgOrderOperationText
ManufacturingOrderType ManufacturingOrderType
BusinessProcessEntryUnit BusinessProcessEntryUnit
ManufacturingOrderCategory ManufacturingOrderCategory
WorkCenterTypeCode WorkCenterTypeCode Work Center Type Code
WorkCenter WorkCenter
OpErlstSchedldExecStrtDte OpErlstSchedldExecStrtDte Earliest Execution Start Date
OpErlstSchedldExecStrtTme OpErlstSchedldExecStrtTme Earliest Execution Start Time
OpErlstSchedldExecEndDte OpErlstSchedldExecEndDte Earliest Execution End Date
OpErlstSchedldExecEndTme OpErlstSchedldExecEndTme Earliest Execution End Time
OpActualExecutionStartDate OpActualExecutionStartDate Actual Execution Start Date
OpActualExecutionStartTime OpActualExecutionStartTime Actual Execution Start Time
OpActualExecutionEndDate OpActualExecutionEndDate Actual Execution End Date
OpActualExecutionEndTime OpActualExecutionEndTime Actual Execution End Time
OperationUnit OperationUnit
OpPlannedTotalQuantity OpPlannedTotalQuantity
ErlstSchedldExecDurnInWorkdays ErlstSchedldExecDurnInWorkdays Scheduled Execution Duration
OpActualExecutionDays OpActualExecutionDays Actual Execution Duration
OpTotalConfirmedYieldQty OpTotalConfirmedYieldQty
WorkCenterInternalID WorkCenterInternalID
LastChangeTimeendasLastChangeDateTime
ManufacturingOrderSubOperation ManufacturingOrderSubOperation
OperationControlProfile OperationControlProfile
@AccessControl.authorizationCheck: #CHECK
@EndUserText.label: 'API for Process Order Operations'
@VDM.viewType: #COMPOSITE
@Metadata.ignorePropagatedAnnotations: true
@ObjectModel.usageType: {serviceQuality: #C, sizeCategory: #XL, dataClass: #MIXED}
@VDM.lifecycle.contract.type: #PUBLIC_REMOTE_API

define view entity A_ProcessOrderOperation
  as select from I_MfgOrderOperationDurn
  association [1..1] to I_MfgOrderSequence      as _OrderSequence             on  $projection.ManufacturingOrder            = _OrderSequence.ManufacturingOrder
                                                                              and $projection.ManufacturingOrderSequence    = _OrderSequence.ManufacturingOrderSequence
                                                                              and $projection.OrderInternalBillOfOperations = _OrderSequence.OrderInternalID
{
      // Technical Key

  key OrderInternalBillOfOperations,
  key OrderIntBillOfOperationsItem,
      ManufacturingOrder,             // Manufacturing Order

      @ObjectModel.text.element: ['MfgOrderOperationText']
      ManufacturingOrderOperation,    // Operation Number

      MfgOrderOperationIsPhase,
      ManufacturingOrderSequence,     // Sequence,

      cast(_OrderSequence.MfgOrderSequenceText  as mfgordersequencetext preserving type)       as MfgOrderSequenceText,
      MfgOrderOperationText,          // OperationShortText

      ManufacturingOrderType,   // Order Type

      BusinessProcessEntryUnit, // BusinessProcessEntryUnit

      // Order header data

      ManufacturingOrderCategory, // Category

      @EndUserText.label: 'Work Center Type Code ' // Material

      WorkCenterTypeCode,
      WorkCenter, // WorkCenter,

      @EndUserText.label:'Earliest Execution Start Date'
      OpErlstSchedldExecStrtDte,      // PlannedStartDate

      @EndUserText.label:'Earliest Execution Start Time'
      OpErlstSchedldExecStrtTme,      // PlannedStartTime

      @EndUserText.label:'Earliest Execution End Date'
      OpErlstSchedldExecEndDte,       // P  lannedEndDate

      @EndUserText.label:'Earliest Execution End Time'
      OpErlstSchedldExecEndTme,       // PlannedEndTime

      @EndUserText.label:'Actual Execution Start Date'
      OpActualExecutionStartDate,     // StartDate,

      @EndUserText.label:'Actual Execution Start Time'
      OpActualExecutionStartTime,     // StartTime,

      @EndUserText.label:'Actual Execution End Date'
      OpActualExecutionEndDate,       // EndDate,

      @EndUserText.label:'Actual Execution End Time'
      OpActualExecutionEndTime,       // EndTime,

      OperationUnit,                  // OperationUnit,

      @Semantics.quantity.unitOfMeasure: 'OperationUnit'
      OpPlannedTotalQuantity,         // OperationQuantity,

      @EndUserText.label:'Scheduled Execution Duration'
      ErlstSchedldExecDurnInWorkdays, // PlannedDuration,

      @EndUserText.label:'Actual Execution Duration'
      OpActualExecutionDays, // ActualDuration,

      @Semantics.quantity.unitOfMeasure: 'OperationUnit'
      OpTotalConfirmedYieldQty, // Confirmed Quantity

      WorkCenterInternalID,
       /* enhanced to support Etag using Last change date time to schedule operations */
      case I_MfgOrderOperationDurn._MfgOrder.LastChangeDate
        when '00000000' then  // not changed yet, use create

          concat(I_MfgOrderOperationDurn._MfgOrder.MfgOrderCreationDate , I_MfgOrderOperationDurn._MfgOrder.MfgOrderCreationTime)
        else
          concat(I_MfgOrderOperationDurn._MfgOrder.LastChangeDate,I_MfgOrderOperationDurn._MfgOrder.LastChangeTime)
      end as LastChangeDateTime,
      ManufacturingOrderSubOperation,   // extended in CE1911

      OperationControlProfile           // extended in CE2002

}

where
  ManufacturingOrderCategory = '40';