P_OrdFirstOper

DDL: P_ORDFIRSTOPER Type: view_entity CONSUMPTION Package: ODATA_MPE_MFGORDER

Order First Operation Details

P_OrdFirstOper is a Consumption CDS View that provides data about "Order First Operation Details" in SAP S/4HANA. It reads from 5 data sources (P_MfgOrderAORList, I_OrderOperationDatesQty, P_OrdFirstOperAggr, I_StatusObjectStatusBasic, I_OrderOperationBasic) and exposes 9 fields with key field OrderInternalBillOfOperations. Part of development package ODATA_MPE_MFGORDER.

Data Sources (5)

SourceAliasJoin Type
P_MfgOrderAORList _AORList inner
I_OrderOperationDatesQty _firstOp inner
P_OrdFirstOperAggr _FirstOper from
I_StatusObjectStatusBasic _isConfirmed left_outer
I_OrderOperationBasic _opBasic inner

Annotations (6)

NameValueLevelField
AccessControl.authorizationCheck #NOT_REQUIRED view
ObjectModel.usageType.serviceQuality #C view
ObjectModel.usageType.sizeCategory #XL view
ObjectModel.usageType.dataClass #MIXED view
VDM.viewType #CONSUMPTION view
VDM.private true view

Fields (9)

KeyFieldSource TableSource FieldDescription
KEY OrderInternalBillOfOperations P_OrdFirstOperAggr OrderInternalBillOfOperations
FirstOperation P_OrdFirstOperAggr FirstOperation
ManufacturingOrder P_MfgOrderAORList OrderID
FirstOperationText I_OrderOperationBasic OperationText
FirstOperDet
OpFirstConfirmedYieldQty I_OrderOperationDatesQty OpTotalConfirmedYieldQty
OpFirstPlannedTotalQty I_OrderOperationDatesQty OpPlannedTotalQuantity
OperationIsConfirmed
OperationUnit I_OrderOperationDatesQty OperationUnit
@AccessControl.authorizationCheck: #NOT_REQUIRED
//@EndUserText.label: 'Order First Operation Details'

@ObjectModel.usageType: {serviceQuality: #C, sizeCategory: #XL, dataClass: #MIXED}
@VDM.viewType:   #CONSUMPTION
@VDM.private: true

define view entity P_OrdFirstOper
  as select from P_OrdFirstOperAggr as _FirstOper
  inner join P_MfgOrderAORList as _AORList on _AORList.OrderInternalBillOfOperations = _FirstOper.OrderInternalBillOfOperations
  inner join I_OrderOperationBasic as _opBasic on _AORList.OrderInternalBillOfOperations = _opBasic.OrderInternalID
                                                and _FirstOper.FirstOperation = _opBasic.Operation                                          
  inner join I_OrderOperationDatesQty as _firstOp on  _AORList.OrderInternalBillOfOperations = _firstOp.OrderInternalID
                                                        and _firstOp.OrderOperationInternalID = _opBasic.OrderOperationInternalID
   
  left outer join I_StatusObjectStatusBasic as _isConfirmed on _isConfirmed.StatusObject = _opBasic.ObjectInternalID and _isConfirmed.StatusCode = 'I0009' and _isConfirmed.StatusIsInactive = '' // OperationIsConfirmed

{
  key _FirstOper.OrderInternalBillOfOperations, 
      _FirstOper.FirstOperation,
      _AORList.OrderID as ManufacturingOrder,
//      _firstOp.ManufacturingOrderCategory,

      _opBasic.OperationText                                                    as FirstOperationText,
      concat( concat (_opBasic.OperationText, concat('(',_FirstOper.FirstOperation)),')')  as FirstOperDet,
      _firstOp.OpTotalConfirmedYieldQty                                                 as OpFirstConfirmedYieldQty,
      _firstOp.OpPlannedTotalQuantity                                                   as OpFirstPlannedTotalQty,
      case when _isConfirmed.StatusCode is null then '' else 'X' end as OperationIsConfirmed,
      _firstOp.OperationUnit
}
where
      _opBasic.SuperiorOperationInternalID is initial
  and _opBasic.Sequence     = '000000'
//  and _firstOp.ManufacturingOrderCategory     = '10'