I_BillOfOperationsOpBasic

DDL: I_BILLOFOPERATIONSOPBASIC SQL: IPPBOOOPERBASIC Type: view BASIC Package: VDM_PP_MD_RTG

Bill of Operations Operation Basic

I_BillOfOperationsOpBasic is a Basic CDS View (Dimension) that provides data about "Bill of Operations Operation Basic" in SAP S/4HANA. It reads from 1 data source (plpo) and exposes 223 fields with key fields BillOfOperationsType, BillOfOperationsGroup, BOOOperationInternalID, BOOOpInternalVersionCounter. It has 68 associations to related views. Part of development package VDM_PP_MD_RTG.

Data Sources (1)

SourceAliasJoin Type
plpo plpo from

Associations (68)

CardinalityTargetAliasCondition
[1..1] I_BillOfOperationsType _BillOfOperationsType $projection.BillOfOperationsType = _BillOfOperationsType.BillOfOperationsType
[1..1] I_BillOfOperationsGroup _BillOfOperationsGroup $projection.BillOfOperationsType = _BillOfOperationsGroup.BillOfOperationsType and $projection.BillOfOperationsGroup = _BillOfOperationsGroup.BillOfOperationsGroup
[1..1] I_BOOOperationInternalID _BOOOperationInternalID $projection.BillOfOperationsType = _BOOOperationInternalID.BillOfOperationsType and $projection.BillOfOperationsGroup = _BOOOperationInternalID.BillOfOperationsGroup and $projection.BOOOperationInternalID = _BOOOperationInternalID.BOOOperationInternalID
[0..1] I_WorkCenterType _WorkCenterType $projection.WorkCenterTypeCode = _WorkCenterType.WorkCenterTypeCode
[0..1] I_WorkCenter _WorkCenter $projection.WorkCenterTypeCode = _WorkCenter.WorkCenterTypeCode and $projection.WorkCenterInternalID = _WorkCenter.WorkCenterInternalID
[1..1] I_Plant _Plant $projection.Plant = _Plant.Plant
[0..1] I_ChangeMaster _ChangeMaster $projection.ChangeNumber = _ChangeMaster.ChangeNumber
[1..1] I_OperationControlProfile _OperationControlProfile $projection.OperationControlProfile = _OperationControlProfile.OperationControlProfile
[1..1] I_UnitOfMeasure _OperationUnit $projection.OperationUnit = _OperationUnit.UnitOfMeasure
[1..1] I_OperationStandardText _OperationStandardText $projection.OperationStandardTextCode = _OperationStandardText.OperationStandardTextCode
[0..1] I_InspResultRecordingView _InspResultRecordingView $projection.InspResultRecordingView = _InspResultRecordingView.InspResultRecordingView
[1..1] I_OperationStdWorkQtyGrpgCat _OperationStdWorkQtyGrpgCat $projection.OperationStdWorkQtyGrpgCat = _OperationStdWorkQtyGrpgCat.OperationStdWorkQtyGrpgCat
[0..1] I_CapacityCategory _CapacityCategory $projection.CapacityCategoryCode = _CapacityCategory.CapacityCategoryCode
[0..1] I_PurchasingInfoRecordApi01 _PurchasingInfoRecord $projection.PurchasingInfoRecord = _PurchasingInfoRecord.PurchasingInfoRecord
[0..1] I_PurchasingOrganization _PurchasingOrganization $projection.PurchasingOrganization = _PurchasingOrganization.PurchasingOrganization
[0..1] I_PurchaseContract _PurchaseContract $projection.PurchaseContract = _PurchaseContract.PurchaseContract
[0..1] I_PurchaseContractItem _PurchaseContractItem $projection.PurchaseContract = _PurchaseContractItem.PurchaseContract and $projection.PurchaseContractItem = _PurchaseContractItem.PurchaseContractItem
[0..1] I_MaterialGroup _MaterialGroup $projection.MaterialGroup = _MaterialGroup.MaterialGroup
[0..1] I_PurchasingGroup _PurchasingGroup $projection.PurchasingGroup = _PurchasingGroup.PurchasingGroup
[0..1] I_Supplier _Supplier $projection.Supplier = _Supplier.Supplier
[0..1] I_Currency _OpExternalProcessingCurrency $projection.OpExternalProcessingCurrency = _OpExternalProcessingCurrency.Currency
[0..1] I_InspectionLotType _InspectionLotType $projection.InspectionLotType = _InspectionLotType.InspectionLotType
[1..1] I_UnitOfMeasure _BillOfOperationsBreakDurnUnit $projection.BillOfOperationsBreakDurnUnit = _BillOfOperationsBreakDurnUnit.UnitOfMeasure
[1..1] I_UnitOfMeasure _StandardWorkQuantityUnit1 $projection.StandardWorkQuantityUnit1 = _StandardWorkQuantityUnit1.UnitOfMeasure
[1..1] I_UnitOfMeasure _StandardWorkQuantityUnit2 $projection.StandardWorkQuantityUnit2 = _StandardWorkQuantityUnit2.UnitOfMeasure
[1..1] I_UnitOfMeasure _StandardWorkQuantityUnit3 $projection.StandardWorkQuantityUnit3 = _StandardWorkQuantityUnit3.UnitOfMeasure
[1..1] I_UnitOfMeasure _StandardWorkQuantityUnit4 $projection.StandardWorkQuantityUnit4 = _StandardWorkQuantityUnit4.UnitOfMeasure
[1..1] I_UnitOfMeasure _StandardWorkQuantityUnit5 $projection.StandardWorkQuantityUnit5 = _StandardWorkQuantityUnit5.UnitOfMeasure
[1..1] I_UnitOfMeasure _StandardWorkQuantityUnit6 $projection.StandardWorkQuantityUnit6 = _StandardWorkQuantityUnit6.UnitOfMeasure
[1..1] I_PerformanceEfficiencyRatio _PerformanceEfficiencyRatio1 $projection.PerfEfficiencyRatioCode1 = _PerformanceEfficiencyRatio1.PerformanceEfficiencyRatioCode
[1..1] I_PerformanceEfficiencyRatio _PerformanceEfficiencyRatio2 $projection.PerfEfficiencyRatioCode2 = _PerformanceEfficiencyRatio2.PerformanceEfficiencyRatioCode
[1..1] I_PerformanceEfficiencyRatio _PerformanceEfficiencyRatio3 $projection.PerfEfficiencyRatioCode3 = _PerformanceEfficiencyRatio3.PerformanceEfficiencyRatioCode
[1..1] I_PerformanceEfficiencyRatio _PerformanceEfficiencyRatio4 $projection.PerfEfficiencyRatioCode4 = _PerformanceEfficiencyRatio4.PerformanceEfficiencyRatioCode
[1..1] I_PerformanceEfficiencyRatio _PerformanceEfficiencyRatio5 $projection.PerfEfficiencyRatioCode5 = _PerformanceEfficiencyRatio5.PerformanceEfficiencyRatioCode
[1..1] I_PerformanceEfficiencyRatio _PerformanceEfficiencyRatio6 $projection.PerfEfficiencyRatioCode6 = _PerformanceEfficiencyRatio6.PerformanceEfficiencyRatioCode
[1..1] I_UnitOfMeasure _MaximumWaitDurationUnit $projection.MaximumWaitDurationUnit = _MaximumWaitDurationUnit.UnitOfMeasure
[1..1] I_UnitOfMeasure _MinimumWaitDurationUnit $projection.MinimumWaitDurationUnit = _MinimumWaitDurationUnit.UnitOfMeasure
[1..1] I_UnitOfMeasure _StandardMoveDurationUnit $projection.StandardMoveDurationUnit = _StandardMoveDurationUnit.UnitOfMeasure
[1..1] I_UnitOfMeasure _MinimumMoveDurationUnit $projection.MinimumMoveDurationUnit = _MinimumMoveDurationUnit.UnitOfMeasure
[1..1] I_UnitOfMeasure _StandardQueueDurationUnit $projection.StandardQueueDurationUnit = _StandardQueueDurationUnit.UnitOfMeasure
[1..1] I_UnitOfMeasure _MinimumQueueDurationUnit $projection.MinimumQueueDurationUnit = _MinimumQueueDurationUnit.UnitOfMeasure
[1..1] I_UnitOfMeasure _MinProcessingDurnPerSplitUnit $projection.MinProcessingDurnPerSplitUnit = _MinProcessingDurnPerSplitUnit.UnitOfMeasure
[1..1] I_UnitOfMeasure _OverlapMinimumDurationUnit $projection.OverlapMinimumDurationUnit = _OverlapMinimumDurationUnit.UnitOfMeasure
[1..1] I_UnitOfMeasure _OverlapMinimumTransferQtyUnit $projection.OverlapMinimumTransferQtyUnit = _OverlapMinimumTransferQtyUnit.UnitOfMeasure
[1..1] I_UnitOfMeasure _StartDateOffsetDurnUnit $projection.StartDateOffsetDurationUnit = _StartDateOffsetDurnUnit.UnitOfMeasure
[1..1] I_UnitOfMeasure _EndDateOffsetDurnUnit $projection.EndDateOffsetDurationUnit = _EndDateOffsetDurnUnit.UnitOfMeasure
[0..1] I_LeadTimeReductionStrategy _LeadTimeReductionStrategy $projection.LeadTimeReductionStrategy = _LeadTimeReductionStrategy.LeadTimeReductionStrategy and $projection.Plant = _LeadTimeReductionStrategy.Plant
[0..1] I_EmployeeWageGroup _EmployeeWageGroup $projection.EmployeeWageGroup = _EmployeeWageGroup.EmployeeWageGroup and $projection.Plant = _EmployeeWageGroup.Plant
[0..1] I_EmployeeSuitability _EmployeeSuitability $projection.EmployeeSuitability = _EmployeeSuitability.EmployeeSuitability and $projection.Plant = _EmployeeSuitability.Plant
[0..1] I_OperationSetupType _OperationSetupType $projection.OperationSetupType = _OperationSetupType.OperationSetupType and $projection.Plant = _OperationSetupType.Plant
[0..1] I_OperationSetupGroupCategory _OperationSetupGroupCategory $projection.OperationSetupGroupCategory = _OperationSetupGroupCategory.OperationSetupGroupCategory and $projection.Plant = _OperationSetupGroupCategory.Plant
[0..1] I_OperationSetupGroup _OperationSetupGroup $projection.OperationSetupGroup = _OperationSetupGroup.OperationSetupGroup and $projection.OperationSetupGroupCategory = _OperationSetupGroup.OperationSetupGroupCategory and $projection.Plant = _OperationSetupGroup.Plant
[0..1] I_ControlRecipeDestination _ControlRecipeDestination $projection.Plant = _ControlRecipeDestination.Plant and $projection.ControlRecipeDestination = _ControlRecipeDestination.ControlRecipeDestination
[0..1] I_Currency _FreeDefinedAmount1Currency $projection.FreeDefinedAmount1Currency = _FreeDefinedAmount1Currency.Currency
[0..1] I_Currency _FreeDefinedAmount2Currency $projection.FreeDefinedAmount2Currency = _FreeDefinedAmount2Currency.Currency
[1..1] I_FreeDfndTableFieldSemantic _FreeDfndTableFieldSemantic $projection.FreeDefinedTableFieldSemantic = _FreeDfndTableFieldSemantic.FreeDefinedTableFieldSemantic
[1..1] I_UnitOfMeasure _OperationStandardDurationUnit $projection.OperationStandardDurationUnit = _OperationStandardDurationUnit.UnitOfMeasure
[0..1] I_MaintOperationSystCondition _OperationSystemCondition $projection.OperationSystemCondition = _OperationSystemCondition.OperationSystemCondition
[0..1] I_Material _Assembly $projection.Assembly = _Assembly.Material
[0..1] I_OperationCalculationControl _OperationCalculationControl $projection.OperationCalculationControl = _OperationCalculationControl.OperationCalculationControl
[1..1] I_UnitOfMeasure _PurchaseOrderQtyUnit $projection.PurchaseOrderQuantityUnit = _PurchaseOrderQtyUnit.UnitOfMeasure
[0..1] I_FunctionalLocation _FunctionalLocation $projection.FunctionalLocation = _FunctionalLocation.FunctionalLocation
[0..1] I_Equipment _Equipment $projection.Equipment = _Equipment.Equipment
[1..1] I_UnitOfMeasure _MinimumDurationUnit $projection.MinimumDurationUnit = _MinimumDurationUnit.UnitOfMeasure
[1..1] I_CompanyCode _CompanyCode $projection.CompanyCode = _CompanyCode.CompanyCode
[1..1] I_FactoryCalendar _FactoryCalendar $projection.FactoryCalendar = _FactoryCalendar.FactoryCalendar
[0..1] I_Language _LongTextLanguage $projection.LongTextLanguageCode = _LongTextLanguage.Language
[1..1] I_MaintOperationExecStageCode _MaintOperationExecStageCode $projection.MaintOperationExecStageCode = _MaintOperationExecStageCode.MaintOperationExecStageCode

Annotations (12)

NameValueLevelField
AbapCatalog.sqlViewName IPPBOOOPERBASIC view
AccessControl.authorizationCheck #MANDATORY view
VDM.viewType #BASIC view
Analytics.dataCategory #DIMENSION view
ClientHandling.algorithm #SESSION_VARIABLE view
ObjectModel.representativeKey BOOOpInternalVersionCounter view
AbapCatalog.compiler.compareFilter true view
EndUserText.label Bill of Operations Operation Basic view
ObjectModel.usageType.serviceQuality #A view
ObjectModel.usageType.sizeCategory #L view
ObjectModel.usageType.dataClass #MASTER view
Metadata.allowExtensions true view

Fields (223)

KeyFieldSource TableSource FieldDescription
KEY BillOfOperationsType plnty
KEY BillOfOperationsGroup plnnr
KEY BOOOperationInternalID plnkn
KEY BOOOpInternalVersionCounter zaehl
BillOfOperationsVersion versn
WorkCenterInternalID arbid
IsDeleted loekz
IsImplicitlyDeleted loekz_inherited
SuperiorOperationInternalID sumnr
BOORefOperationIncrementValue vintv
OperationExternalID oprid
Operation vornr
Operation_2
Operationltxa1asOperationText
LongTextLanguageCode txtsp
Plant werks
OperationControlProfile steus
OperationStandardTextCode ktsch
OriginvpltyasBillOfOperationsRefType
BillOfOperationsRefGroup
BillOfOperationsRefVariant
OrderHasNoSubOperations uavo_aufl
OperationUnit meinh
OpQtyToBaseQtyNmrtr umrez
OpQtyToBaseQtyDnmntr umren
BillOfOperationsBreakDuration zmerh
BillOfOperationsBreakDurnUnit zeier
StandardWorkQuantity1 vgw01
StandardWorkQuantityUnit1 vge01
CostCtrActivityType1 lar01
PerfEfficiencyRatioCode1 zgr01
StandardWorkQuantity2 vgw02
StandardWorkQuantityUnit2 vge02
CostCtrActivityType2 lar02
PerfEfficiencyRatioCode2 zgr02
StandardWorkQuantity3 vgw03
StandardWorkQuantityUnit3 vge03
CostCtrActivityType3 lar03
PerfEfficiencyRatioCode3 zgr03
StandardWorkQuantity4 vgw04
StandardWorkQuantityUnit4 vge04
CostCtrActivityType4 lar04
PerfEfficiencyRatioCode4 zgr04
StandardWorkQuantity5 vgw05
StandardWorkQuantityUnit5 vge05
CostCtrActivityType5 lar05
PerfEfficiencyRatioCode5 zgr05
StandardWorkQuantity6 vgw06
StandardWorkQuantityUnit6 vge06
CostCtrActivityType6 lar06
PerfEfficiencyRatioCode6 zgr06
BusinessProcess prz01
TeardownAndWaitIsParallel ablipkz
MaximumWaitDuration zlmax
MaximumWaitDurationUnit zeilm
MinimumWaitDuration zlpro
MinimumWaitDurationUnit zeilp
StandardQueueDuration zwnor
StandardQueueDurationUnit zeiwn
MinimumQueueDuration zwmin
MinimumQueueDurationUnit zeiwm
StandardMoveDuration ztnor
StandardMoveDurationUnit zeitn
MinimumMoveDuration ztmin
MinimumMoveDurationUnit zeitm
SplittingspmusasOperationSplitIsRequired
MaximumNumberOfSplits
MinProcessingDurationPerSplit zminb
MinProcessingDurnPerSplitUnit zeimb
OperationOverlappingIsPossible
OperationsIsAlwaysOverlapping flies
OverlapMinimumDuration zminu
OverlapMinimumDurationUnit zeimu
OverlapMinimumTransferQty minwe
OverlapMinimumTransferQtyUnit meinh
StartDateOffsetDuration offstb
EndDateOffsetDurationUnit ehoffe
EndDateOffsetDuration offste
GeneralDataaufakasOperationScrapPercent
NumberOfTimeTickets loanz
NumberOfConfirmationSlips rsanz
EmployeeWageGroup logrp
EmployeeWageType loart
EmployeeSuitability qualf
NumberOfEmployees anzma
OperationSetupType rasch
OperationSetupGroupCategory rfgrp
OperationSetupGroup rfsch
OperationCostingRelevancyType
IsNonValueAddedOperation nvadd
PurchasingInfoRecord infnr
PurchasingOrganization ekorg
PurchaseContract ebeln
PurchaseContractItem ebelp
PurchasingInfoRecdAddlGrpgName sortl
MaterialGroup matkl
PurchasingGroup ekgrp
Supplier lifnr
PlannedDeliveryDuration plifz
NumberOfOperationPriceUnits peinh
OpExternalProcessingPrice preis
InspectionLotType qpart
CostElement sakto
OpExternalProcessingCurrency waers
CapacityCategoryCode qlkapar
BOOOperationIsPhase phflg
BOOPhaseSuperiorOpInternalID pvzkn
ControlRecipeDestination phseq
MinimumDuration daumi
MinimumDurationUnit daume
OperationWorkPercent prznt
CapRqmtsDistributionFunction vertl
CompanyCode bukrs
FactoryCalendar kalid
CapacityRequirementDistrKey vertn
InspSbstHasNoTimeOrQuantity qkzprfrei
OperationStandardDuration plpo dauno
OperationStandardDurationUnit plpo daune
NumberOfCapacities plpo anzzl
OperationSystemCondition plpo anlzu
CostCtrActivityType plpo larnt
OperationCalculationControl plpo indet
Assembly plpo istru
PurchaseOrderQty plpo bmvrg
PurchaseOrderQuantityUnit plpo bmeih
PurchasingInfoRecordCategory plpo esokz
FunctionalLocation plpo tplnr
Equipment plpo equnr
FreeDefinedTableFieldSemantic slwid
FreeDefinedAttribute01 usr00
FreeDefinedAttribute02 usr01
FreeDefinedAttribute03 usr02
FreeDefinedAttribute04 usr03
FreeDefinedQuantity1 usr04
FreeDefinedQuantity1Unit use04
FreeDefinedQuantity2 usr05
FreeDefinedQuantity2Unit use05
FreeDefinedAmount1 usr06
FreeDefinedAmount1Currency use06
FreeDefinedAmount2 usr07
FreeDefinedAmount2Currency use07
FreeDefinedDate1 usr08
FreeDefinedDate2 usr09
FreeDefinedIndicator1 usr10
FreeDefinedIndicator2 usr11
MaintOperationExecStageCode
AdministrativeDataandatasCreationDate
CreatedByUser
LastChangeDate aedat
LastChangedByUser
ValidityStartDate
ValidityEndDate
OpPlannedWorkQuantity arbei
OpWorkQuantityUnit arbeh
NumberOfOperationExecutions aufkt
_Assembly _Assembly
_BOOOperationInternalID _BOOOperationInternalID
_BillOfOperationsBreakDurnUnit _BillOfOperationsBreakDurnUnit
_BillOfOperationsGroup _BillOfOperationsGroup
_BillOfOperationsType _BillOfOperationsType
_CapacityCategory _CapacityCategory
_ChangeMaster _ChangeMaster
_CompanyCode _CompanyCode
_ControlRecipeDestination _ControlRecipeDestination
_EmployeeSuitability _EmployeeSuitability
_EmployeeWageGroup _EmployeeWageGroup
_EndDateOffsetDurnUnit _EndDateOffsetDurnUnit
_Equipment _Equipment
_FactoryCalendar _FactoryCalendar
_FreeDefinedAmount1Currency _FreeDefinedAmount1Currency
_FreeDefinedAmount2Currency _FreeDefinedAmount2Currency
_FreeDfndTableFieldSemantic _FreeDfndTableFieldSemantic
_FunctionalLocation _FunctionalLocation
_InspResultRecordingView _InspResultRecordingView
_InspectionLotType _InspectionLotType
_LeadTimeReductionStrategy _LeadTimeReductionStrategy
_LongTextLanguage _LongTextLanguage
_MaterialGroup _MaterialGroup
_MaximumWaitDurationUnit _MaximumWaitDurationUnit
_MinimumDurationUnit _MinimumDurationUnit
_MinimumMoveDurationUnit _MinimumMoveDurationUnit
_MinimumQueueDurationUnit _MinimumQueueDurationUnit
_MinimumWaitDurationUnit _MinimumWaitDurationUnit
_MinProcessingDurnPerSplitUnit _MinProcessingDurnPerSplitUnit
_OpExternalProcessingCurrency _OpExternalProcessingCurrency
_OperationCalculationControl _OperationCalculationControl
_OperationControlProfile _OperationControlProfile
_OperationSetupGroup _OperationSetupGroup
_OperationSetupGroupCategory _OperationSetupGroupCategory
_OperationSetupType _OperationSetupType
_OperationStandardDurationUnit _OperationStandardDurationUnit
_OperationStandardText _OperationStandardText
_OperationStdWorkQtyGrpgCat _OperationStdWorkQtyGrpgCat
_OperationSystemCondition _OperationSystemCondition
_OperationUnit _OperationUnit
_OverlapMinimumDurationUnit _OverlapMinimumDurationUnit
_OverlapMinimumTransferQtyUnit _OverlapMinimumTransferQtyUnit
_PerformanceEfficiencyRatio1 _PerformanceEfficiencyRatio1
_PerformanceEfficiencyRatio2 _PerformanceEfficiencyRatio2
_PerformanceEfficiencyRatio3 _PerformanceEfficiencyRatio3
_PerformanceEfficiencyRatio4 _PerformanceEfficiencyRatio4
_PerformanceEfficiencyRatio5 _PerformanceEfficiencyRatio5
_PerformanceEfficiencyRatio6 _PerformanceEfficiencyRatio6
_Plant _Plant
_PurchaseContract _PurchaseContract
_PurchaseContractItem _PurchaseContractItem
_PurchaseOrderQtyUnit _PurchaseOrderQtyUnit
_PurchasingGroup _PurchasingGroup
_PurchasingInfoRecord _PurchasingInfoRecord
_PurchasingOrganization _PurchasingOrganization
_StandardMoveDurationUnit _StandardMoveDurationUnit
_StandardQueueDurationUnit _StandardQueueDurationUnit
_StandardWorkQuantityUnit1 _StandardWorkQuantityUnit1
_StandardWorkQuantityUnit2 _StandardWorkQuantityUnit2
_StandardWorkQuantityUnit3 _StandardWorkQuantityUnit3
_StandardWorkQuantityUnit4 _StandardWorkQuantityUnit4
_StandardWorkQuantityUnit5 _StandardWorkQuantityUnit5
_StandardWorkQuantityUnit6 _StandardWorkQuantityUnit6
_StartDateOffsetDurnUnit _StartDateOffsetDurnUnit
_Supplier _Supplier
_WorkCenter _WorkCenter
_WorkCenterType _WorkCenterType
_MaintOperationExecStageCode _MaintOperationExecStageCode
@AbapCatalog.sqlViewName: 'IPPBOOOPERBASIC'
@AccessControl.authorizationCheck: #MANDATORY
@VDM.viewType: #BASIC
@Analytics: {dataCategory: #DIMENSION}
@ClientHandling.algorithm: #SESSION_VARIABLE
@ObjectModel.representativeKey: 'BOOOpInternalVersionCounter'
@AbapCatalog.compiler.compareFilter: true
@EndUserText.label: 'Bill of Operations Operation Basic'
@ObjectModel.usageType: { serviceQuality: #A, sizeCategory: #L, dataClass: #MASTER }
//@AbapCatalog.preserveKey:true

@Metadata.allowExtensions:true
@AccessControl.personalData.blocking: #('TRANSACTIONAL_DATA')

/*+[hideWarning] { "IDS" : [ "CALCULATED_FIELD_CHECK" ]  } */
define view I_BillOfOperationsOpBasic
  as select from plpo


  association [1..1] to I_BillOfOperationsType        as _BillOfOperationsType          on  $projection.BillOfOperationsType = _BillOfOperationsType.BillOfOperationsType
  association [1..1] to I_BillOfOperationsGroup       as _BillOfOperationsGroup         on  $projection.BillOfOperationsType  = _BillOfOperationsGroup.BillOfOperationsType
                                                                                        and $projection.BillOfOperationsGroup = _BillOfOperationsGroup.BillOfOperationsGroup
  association [1..1] to I_BOOOperationInternalID      as _BOOOperationInternalID        on  $projection.BillOfOperationsType   = _BOOOperationInternalID.BillOfOperationsType
                                                                                        and $projection.BillOfOperationsGroup  = _BOOOperationInternalID.BillOfOperationsGroup
                                                                                        and $projection.BOOOperationInternalID = _BOOOperationInternalID.BOOOperationInternalID

  /*+[hideWarning] { "IDS" : [ "CALCULATED_FIELD_CHECK" ] } */
  association [0..1] to I_WorkCenterType              as _WorkCenterType                on  $projection.WorkCenterTypeCode = _WorkCenterType.WorkCenterTypeCode
  /*+[hideWarning] { "IDS" : [ "CALCULATED_FIELD_CHECK" ] } */
  association [0..1] to I_WorkCenter                  as _WorkCenter                    on  $projection.WorkCenterTypeCode   = _WorkCenter.WorkCenterTypeCode
                                                                                        and $projection.WorkCenterInternalID = _WorkCenter.WorkCenterInternalID
  association [1..1] to I_Plant                       as _Plant                         on  $projection.Plant = _Plant.Plant

  association [0..1] to I_ChangeMaster                as _ChangeMaster                  on  $projection.ChangeNumber = _ChangeMaster.ChangeNumber

  association [1..1] to I_OperationControlProfile     as _OperationControlProfile       on  $projection.OperationControlProfile = _OperationControlProfile.OperationControlProfile

  association [1..1] to I_UnitOfMeasure               as _OperationUnit                 on  $projection.OperationUnit = _OperationUnit.UnitOfMeasure
  association [1..1] to I_OperationStandardText       as _OperationStandardText         on  $projection.OperationStandardTextCode = _OperationStandardText.OperationStandardTextCode

  association [0..1] to I_InspResultRecordingView     as _InspResultRecordingView       on  $projection.InspResultRecordingView = _InspResultRecordingView.InspResultRecordingView

  association [1..1] to I_OperationStdWorkQtyGrpgCat  as _OperationStdWorkQtyGrpgCat    on  $projection.OperationStdWorkQtyGrpgCat = _OperationStdWorkQtyGrpgCat.OperationStdWorkQtyGrpgCat

  association [0..1] to I_CapacityCategory            as _CapacityCategory              on  $projection.CapacityCategoryCode = _CapacityCategory.CapacityCategoryCode

  association [0..1] to I_PurchasingInfoRecordApi01   as _PurchasingInfoRecord          on  $projection.PurchasingInfoRecord = _PurchasingInfoRecord.PurchasingInfoRecord
  /*+[hideWarning] { "IDS" : [ "CALCULATED_FIELD_CHECK" ] } */
  association [0..1] to I_PurchasingOrganization      as _PurchasingOrganization        on  $projection.PurchasingOrganization = _PurchasingOrganization.PurchasingOrganization
  association [0..1] to I_PurchaseContract            as _PurchaseContract              on  $projection.PurchaseContract = _PurchaseContract.PurchaseContract
  association [0..1] to I_PurchaseContractItem        as _PurchaseContractItem          on  $projection.PurchaseContract     = _PurchaseContractItem.PurchaseContract
                                                                                        and $projection.PurchaseContractItem = _PurchaseContractItem.PurchaseContractItem
  /*+[hideWarning] { "IDS" : [ "CALCULATED_FIELD_CHECK" ] } */
  association [0..1] to I_MaterialGroup               as _MaterialGroup                 on  $projection.MaterialGroup = _MaterialGroup.MaterialGroup
  association [0..1] to I_PurchasingGroup             as _PurchasingGroup               on  $projection.PurchasingGroup = _PurchasingGroup.PurchasingGroup
  association [0..1] to I_Supplier                    as _Supplier                      on  $projection.Supplier = _Supplier.Supplier
  association [0..1] to I_Currency                    as _OpExternalProcessingCurrency  on  $projection.OpExternalProcessingCurrency = _OpExternalProcessingCurrency.Currency

  association [0..1] to I_InspectionLotType           as _InspectionLotType             on  $projection.InspectionLotType = _InspectionLotType.InspectionLotType

  association [1..1] to I_UnitOfMeasure               as _BillOfOperationsBreakDurnUnit on  $projection.BillOfOperationsBreakDurnUnit = _BillOfOperationsBreakDurnUnit.UnitOfMeasure

  association [1..1] to I_UnitOfMeasure               as _StandardWorkQuantityUnit1     on  $projection.StandardWorkQuantityUnit1 = _StandardWorkQuantityUnit1.UnitOfMeasure
  association [1..1] to I_UnitOfMeasure               as _StandardWorkQuantityUnit2     on  $projection.StandardWorkQuantityUnit2 = _StandardWorkQuantityUnit2.UnitOfMeasure
  association [1..1] to I_UnitOfMeasure               as _StandardWorkQuantityUnit3     on  $projection.StandardWorkQuantityUnit3 = _StandardWorkQuantityUnit3.UnitOfMeasure
  association [1..1] to I_UnitOfMeasure               as _StandardWorkQuantityUnit4     on  $projection.StandardWorkQuantityUnit4 = _StandardWorkQuantityUnit4.UnitOfMeasure
  association [1..1] to I_UnitOfMeasure               as _StandardWorkQuantityUnit5     on  $projection.StandardWorkQuantityUnit5 = _StandardWorkQuantityUnit5.UnitOfMeasure
  association [1..1] to I_UnitOfMeasure               as _StandardWorkQuantityUnit6     on  $projection.StandardWorkQuantityUnit6 = _StandardWorkQuantityUnit6.UnitOfMeasure

  association [1..1] to I_PerformanceEfficiencyRatio  as _PerformanceEfficiencyRatio1   on  $projection.PerfEfficiencyRatioCode1 = _PerformanceEfficiencyRatio1.PerformanceEfficiencyRatioCode
  association [1..1] to I_PerformanceEfficiencyRatio  as _PerformanceEfficiencyRatio2   on  $projection.PerfEfficiencyRatioCode2 = _PerformanceEfficiencyRatio2.PerformanceEfficiencyRatioCode
  association [1..1] to I_PerformanceEfficiencyRatio  as _PerformanceEfficiencyRatio3   on  $projection.PerfEfficiencyRatioCode3 = _PerformanceEfficiencyRatio3.PerformanceEfficiencyRatioCode
  association [1..1] to I_PerformanceEfficiencyRatio  as _PerformanceEfficiencyRatio4   on  $projection.PerfEfficiencyRatioCode4 = _PerformanceEfficiencyRatio4.PerformanceEfficiencyRatioCode
  association [1..1] to I_PerformanceEfficiencyRatio  as _PerformanceEfficiencyRatio5   on  $projection.PerfEfficiencyRatioCode5 = _PerformanceEfficiencyRatio5.PerformanceEfficiencyRatioCode
  association [1..1] to I_PerformanceEfficiencyRatio  as _PerformanceEfficiencyRatio6   on  $projection.PerfEfficiencyRatioCode6 = _PerformanceEfficiencyRatio6.PerformanceEfficiencyRatioCode

  association [1..1] to I_UnitOfMeasure               as _MaximumWaitDurationUnit       on  $projection.MaximumWaitDurationUnit = _MaximumWaitDurationUnit.UnitOfMeasure
  association [1..1] to I_UnitOfMeasure               as _MinimumWaitDurationUnit       on  $projection.MinimumWaitDurationUnit = _MinimumWaitDurationUnit.UnitOfMeasure
  association [1..1] to I_UnitOfMeasure               as _StandardMoveDurationUnit      on  $projection.StandardMoveDurationUnit = _StandardMoveDurationUnit.UnitOfMeasure
  association [1..1] to I_UnitOfMeasure               as _MinimumMoveDurationUnit       on  $projection.MinimumMoveDurationUnit = _MinimumMoveDurationUnit.UnitOfMeasure
  association [1..1] to I_UnitOfMeasure               as _StandardQueueDurationUnit     on  $projection.StandardQueueDurationUnit = _StandardQueueDurationUnit.UnitOfMeasure
  association [1..1] to I_UnitOfMeasure               as _MinimumQueueDurationUnit      on  $projection.MinimumQueueDurationUnit = _MinimumQueueDurationUnit.UnitOfMeasure
  association [1..1] to I_UnitOfMeasure               as _MinProcessingDurnPerSplitUnit on  $projection.MinProcessingDurnPerSplitUnit = _MinProcessingDurnPerSplitUnit.UnitOfMeasure

  association [1..1] to I_UnitOfMeasure               as _OverlapMinimumDurationUnit    on  $projection.OverlapMinimumDurationUnit = _OverlapMinimumDurationUnit.UnitOfMeasure
  association [1..1] to I_UnitOfMeasure               as _OverlapMinimumTransferQtyUnit on  $projection.OverlapMinimumTransferQtyUnit = _OverlapMinimumTransferQtyUnit.UnitOfMeasure

  association [1..1] to I_UnitOfMeasure               as _StartDateOffsetDurnUnit       on  $projection.StartDateOffsetDurationUnit = _StartDateOffsetDurnUnit.UnitOfMeasure
  association [1..1] to I_UnitOfMeasure               as _EndDateOffsetDurnUnit         on  $projection.EndDateOffsetDurationUnit = _EndDateOffsetDurnUnit.UnitOfMeasure

  association [0..1] to I_LeadTimeReductionStrategy   as _LeadTimeReductionStrategy     on  $projection.LeadTimeReductionStrategy = _LeadTimeReductionStrategy.LeadTimeReductionStrategy
                                                                                        and $projection.Plant                     = _LeadTimeReductionStrategy.Plant

  association [0..1] to I_EmployeeWageGroup           as _EmployeeWageGroup             on  $projection.EmployeeWageGroup = _EmployeeWageGroup.EmployeeWageGroup
                                                                                        and $projection.Plant             = _EmployeeWageGroup.Plant
  association [0..1] to I_EmployeeSuitability         as _EmployeeSuitability           on  $projection.EmployeeSuitability = _EmployeeSuitability.EmployeeSuitability
                                                                                        and $projection.Plant               = _EmployeeSuitability.Plant
  association [0..1] to I_OperationSetupType          as _OperationSetupType            on  $projection.OperationSetupType = _OperationSetupType.OperationSetupType
                                                                                        and $projection.Plant              = _OperationSetupType.Plant
  association [0..1] to I_OperationSetupGroupCategory as _OperationSetupGroupCategory   on  $projection.OperationSetupGroupCategory = _OperationSetupGroupCategory.OperationSetupGroupCategory
                                                                                        and $projection.Plant                       = _OperationSetupGroupCategory.Plant
  association [0..1] to I_OperationSetupGroup         as _OperationSetupGroup           on  $projection.OperationSetupGroup         = _OperationSetupGroup.OperationSetupGroup
                                                                                        and $projection.OperationSetupGroupCategory = _OperationSetupGroup.OperationSetupGroupCategory
                                                                                        and $projection.Plant                       = _OperationSetupGroup.Plant
  association [0..1] to I_ControlRecipeDestination    as _ControlRecipeDestination      on  $projection.Plant                    = _ControlRecipeDestination.Plant
                                                                                        and $projection.ControlRecipeDestination = _ControlRecipeDestination.ControlRecipeDestination
  association [0..1] to I_Currency                    as _FreeDefinedAmount1Currency    on  $projection.FreeDefinedAmount1Currency = _FreeDefinedAmount1Currency.Currency
  association [0..1] to I_Currency                    as _FreeDefinedAmount2Currency    on  $projection.FreeDefinedAmount2Currency = _FreeDefinedAmount2Currency.Currency

  association [1..1] to I_FreeDfndTableFieldSemantic  as _FreeDfndTableFieldSemantic    on  $projection.FreeDefinedTableFieldSemantic = _FreeDfndTableFieldSemantic.FreeDefinedTableFieldSemantic

  association [1..1] to I_UnitOfMeasure               as _OperationStandardDurationUnit on  $projection.OperationStandardDurationUnit = _OperationStandardDurationUnit.UnitOfMeasure
  association [0..1] to I_MaintOperationSystCondition as _OperationSystemCondition      on  $projection.OperationSystemCondition = _OperationSystemCondition.OperationSystemCondition
  association [0..1] to I_Material                    as _Assembly                      on  $projection.Assembly = _Assembly.Material
  association [0..1] to I_OperationCalculationControl as _OperationCalculationControl   on  $projection.OperationCalculationControl = _OperationCalculationControl.OperationCalculationControl
  association [1..1] to I_UnitOfMeasure               as _PurchaseOrderQtyUnit          on  $projection.PurchaseOrderQuantityUnit = _PurchaseOrderQtyUnit.UnitOfMeasure
  association [0..1] to I_FunctionalLocation          as _FunctionalLocation            on  $projection.FunctionalLocation = _FunctionalLocation.FunctionalLocation
  association [0..1] to I_Equipment                   as _Equipment                     on  $projection.Equipment = _Equipment.Equipment

  association [1..1] to I_UnitOfMeasure               as _MinimumDurationUnit           on  $projection.MinimumDurationUnit = _MinimumDurationUnit.UnitOfMeasure
  association [1..1] to I_CompanyCode                 as _CompanyCode                   on  $projection.CompanyCode = _CompanyCode.CompanyCode
  association [1..1] to I_FactoryCalendar             as _FactoryCalendar               on  $projection.FactoryCalendar = _FactoryCalendar.FactoryCalendar
  association [0..1] to I_Language                    as _LongTextLanguage              on  $projection.LongTextLanguageCode = _LongTextLanguage.Language

  association [1..1] to I_MaintOperationExecStageCode as _MaintOperationExecStageCode   on  $projection.MaintOperationExecStageCode = _MaintOperationExecStageCode.MaintOperationExecStageCode

{
      @ObjectModel.foreignKey.association: '_BillOfOperationsType'
  key plnty                                                               as BillOfOperationsType,
      @ObjectModel.foreignKey.association: '_BillOfOperationsGroup'
  key plnnr                                                               as BillOfOperationsGroup,
      @ObjectModel.foreignKey.association: '_BOOOperationInternalID'
  key plnkn                                                               as BOOOperationInternalID,
      @ObjectModel.text.element: ['OperationText']
  key zaehl                                                               as BOOOpInternalVersionCounter,

      // NOT a key field in THIS view !

      versn                                                               as BillOfOperationsVersion,

      // ***************** Technical fields not on the CEWB-UI *****************


      //@Consumption.valueHelpDefinition: [ { entity: { name: 'I_WorkCenterStdVH', element: 'WorkCenterInternalID' } } ]

      @ObjectModel.foreignKey.association: '_WorkCenter'
      arbid                                                               as WorkCenterInternalID,
      @ObjectModel.foreignKey.association: '_WorkCenterType'
      case when objty = '  ' and arbid <> '00000000' then 'A '
      else objty end                                                      as WorkCenterTypeCode,

      loekz                                                               as IsDeleted,
      loekz_inherited                                                     as IsImplicitlyDeleted,

      sumnr                                                               as SuperiorOperationInternalID,

      vintv                                                               as BOORefOperationIncrementValue,

      // ************************** Operation Header ***************************


      oprid                                                               as OperationExternalID,
      @VDM.lifecycle.status: #DEPRECATED
      @VDM.lifecycle.successor: 'Operation_2'
      vornr                                                               as Operation,   // with conv. exit

      cast(vornr as vdm_vornr preserving type)                            as Operation_2, // w/o conv. exit


      // ************************** Operation General **************************


      -- Operation
      @Semantics.text: true
      ltxa1                                                               as OperationText,

      @ObjectModel.foreignKey.association: '_LongTextLanguage'
      txtsp                                                               as LongTextLanguageCode,

      @ObjectModel.foreignKey.association: '_Plant'
      werks                                                               as Plant,

      @ObjectModel.foreignKey.association: '_OperationControlProfile'
      steus                                                               as OperationControlProfile,

      @ObjectModel.foreignKey.association: '_OperationStandardText'
      ktsch                                                               as OperationStandardTextCode,

      -- Origin
      vplty                                                               as BillOfOperationsRefType,
      cast (vplnr as billofoperationsrefgroup preserving type)            as BillOfOperationsRefGroup,
      cast (vplal as billofoperationsrefvariant preserving type)          as BillOfOperationsRefVariant,

      -- Production Line
      cast (takt as linesegmenttakt preserving type)                      as LineSegmentTakt,

      -- Transfer to Orders     (-> Suboperations)
      @ObjectModel.foreignKey.association: '_OperationStdWorkQtyGrpgCat'
      cast (verdart as operationstdworkqtygrpgcat preserving type)        as OperationStdWorkQtyGrpgCat,
      uavo_aufl                                                           as OrderHasNoSubOperations,

      // ************************** Processing Times ***************************


      -- Standard Values
      @Semantics.quantity.unitOfMeasure: 'OperationUnit'
      @DefaultAggregation: #SUM
      bmsch                                                               as OperationReferenceQuantity,
      @Semantics.unitOfMeasure: true
      @ObjectModel.foreignKey.association: '_OperationUnit'
      meinh                                                               as OperationUnit,

      umrez                                                               as OpQtyToBaseQtyNmrtr,
      umren                                                               as OpQtyToBaseQtyDnmntr,
      @Semantics.quantity.unitOfMeasure:'BillOfOperationsBreakDurnUnit'
      zmerh                                                               as BillOfOperationsBreakDuration,
      @Semantics.unitOfMeasure: true
      @ObjectModel.foreignKey.association: '_BillOfOperationsBreakDurnUnit'
      zeier                                                               as BillOfOperationsBreakDurnUnit,

      @Semantics.quantity.unitOfMeasure: 'StandardWorkQuantityUnit1'
      @DefaultAggregation: #SUM
      vgw01                                                               as StandardWorkQuantity1,
      @Semantics.unitOfMeasure: true
      @ObjectModel.foreignKey.association: '_StandardWorkQuantityUnit1'
      vge01                                                               as StandardWorkQuantityUnit1,
      lar01                                                               as CostCtrActivityType1,
      @ObjectModel.foreignKey.association: '_PerformanceEfficiencyRatio1'
      zgr01                                                               as PerfEfficiencyRatioCode1,

      @Semantics.quantity.unitOfMeasure: 'StandardWorkQuantityUnit2'
      @DefaultAggregation: #SUM
      vgw02                                                               as StandardWorkQuantity2,
      @Semantics.unitOfMeasure: true
      @ObjectModel.foreignKey.association: '_StandardWorkQuantityUnit2'
      vge02                                                               as StandardWorkQuantityUnit2,
      lar02                                                               as CostCtrActivityType2,
      @ObjectModel.foreignKey.association: '_PerformanceEfficiencyRatio2'
      zgr02                                                               as PerfEfficiencyRatioCode2,

      @Semantics.quantity.unitOfMeasure: 'StandardWorkQuantityUnit3'
      @DefaultAggregation: #SUM
      vgw03                                                               as StandardWorkQuantity3,
      @Semantics.unitOfMeasure: true
      @ObjectModel.foreignKey.association: '_StandardWorkQuantityUnit3'
      vge03                                                               as StandardWorkQuantityUnit3,
      lar03                                                               as CostCtrActivityType3,
      @ObjectModel.foreignKey.association: '_PerformanceEfficiencyRatio3'
      zgr03                                                               as PerfEfficiencyRatioCode3,

      @Semantics.quantity.unitOfMeasure: 'StandardWorkQuantityUnit4'
      @DefaultAggregation: #SUM
      vgw04                                                               as StandardWorkQuantity4,
      @Semantics.unitOfMeasure: true
      @ObjectModel.foreignKey.association: '_StandardWorkQuantityUnit4'
      vge04                                                               as StandardWorkQuantityUnit4,
      lar04                                                               as CostCtrActivityType4,
      @ObjectModel.foreignKey.association: '_PerformanceEfficiencyRatio4'
      zgr04                                                               as PerfEfficiencyRatioCode4,

      @Semantics.quantity.unitOfMeasure: 'StandardWorkQuantityUnit5'
      @DefaultAggregation: #SUM
      vgw05                                                               as StandardWorkQuantity5,
      @Semantics.unitOfMeasure: true
      @ObjectModel.foreignKey.association: '_StandardWorkQuantityUnit5'
      vge05                                                               as StandardWorkQuantityUnit5,
      lar05                                                               as CostCtrActivityType5,
      @ObjectModel.foreignKey.association: '_PerformanceEfficiencyRatio5'
      zgr05                                                               as PerfEfficiencyRatioCode5,

      @Semantics.quantity.unitOfMeasure: 'StandardWorkQuantityUnit6'
      @DefaultAggregation: #SUM
      vgw06                                                               as StandardWorkQuantity6,
      @Semantics.unitOfMeasure: true
      @ObjectModel.foreignKey.association: '_StandardWorkQuantityUnit6'
      vge06                                                               as StandardWorkQuantityUnit6,
      lar06                                                               as CostCtrActivityType6,
      @ObjectModel.foreignKey.association: '_PerformanceEfficiencyRatio6'
      zgr06                                                               as PerfEfficiencyRatioCode6,

      // The ControllingArea is not known at this point and thus a foreign key relation can't be provided (for performance reasons).

      // A higher level view needs to get the ControllingArea using P_BOOPlantControllingArea which then the consumption view

      // can use to establish a foreign key relation to I_BusinessProcess

      prz01                                                               as BusinessProcess,

      -- (Start) Determination of Standard Values is used for CAPP which is deprecated
      //      @ObjectModel.foreignKey.association: '_StandardWorkQtyDetnType'

      //      cast (zerma as standardworkqtydetntype preserving type)          as   StandardWorkQtyDetnType,

      //      cast (zgdat as standardworkqtydetnyear preserving type)          as   StandardWorkQtyDetnYear,

      //      cast (zcode as standardworkqtyreferenceid preserving type)       as   StandardWorkQtyReferenceID,

      //      cast (zulnr as standardworkqtycalcbasisid preserving type)       as   StandardWorkQuantityCalcBasis,

      //      capoc                                                            as   CAPPCalculationType,

      //      flg_captxt                                                       as   HasCAPPText,

      -- (End) Determination of Standard Values

      // ************************ Interoperation Times *************************


      -- Interoperation Times
      @ObjectModel.foreignKey.association: '_LeadTimeReductionStrategy'
      rstra                                                               as LeadTimeReductionStrategy,

      ablipkz                                                             as TeardownAndWaitIsParallel,

      @Semantics.quantity.unitOfMeasure: 'MaximumWaitDurationUnit'
      @DefaultAggregation: #SUM
      zlmax                                                               as MaximumWaitDuration,
      @Semantics.unitOfMeasure: true
      @ObjectModel.foreignKey.association: '_MaximumWaitDurationUnit'
      zeilm                                                               as MaximumWaitDurationUnit,

      @Semantics.quantity.unitOfMeasure: 'MinimumWaitDurationUnit'
      @DefaultAggregation: #SUM
      zlpro                                                               as MinimumWaitDuration,
      @Semantics.unitOfMeasure: true
      @ObjectModel.foreignKey.association: '_MinimumWaitDurationUnit'
      zeilp                                                               as MinimumWaitDurationUnit,

      @Semantics.quantity.unitOfMeasure: 'StandardQueueDurationUnit'
      @DefaultAggregation: #SUM
      zwnor                                                               as StandardQueueDuration,
      @Semantics.unitOfMeasure: true
      @ObjectModel.foreignKey.association: '_StandardQueueDurationUnit'
      zeiwn                                                               as StandardQueueDurationUnit,

      @Semantics.quantity.unitOfMeasure: 'MinimumQueueDurationUnit'
      @DefaultAggregation: #SUM
      zwmin                                                               as MinimumQueueDuration,
      @Semantics.unitOfMeasure: true
      @ObjectModel.foreignKey.association: '_MinimumQueueDurationUnit'
      zeiwm                                                               as MinimumQueueDurationUnit,

      @Semantics.quantity.unitOfMeasure: 'StandardMoveDurationUnit'
      @DefaultAggregation: #SUM
      ztnor                                                               as StandardMoveDuration,
      @Semantics.unitOfMeasure: true
      @ObjectModel.foreignKey.association: '_StandardMoveDurationUnit'
      zeitn                                                               as StandardMoveDurationUnit,
      @Semantics.quantity.unitOfMeasure: 'MinimumMoveDurationUnit'
      @DefaultAggregation: #SUM
      ztmin                                                               as MinimumMoveDuration,
      @Semantics.unitOfMeasure: true
      @ObjectModel.foreignKey.association: '_MinimumMoveDurationUnit'
      zeitm                                                               as MinimumMoveDurationUnit,

      // **************************** Control Data *****************************


      --- Splitting
      spmus                                                               as OperationSplitIsRequired,

      cast (splim as maximumnumberofsplits preserving type)               as MaximumNumberOfSplits,

      @Semantics.quantity.unitOfMeasure: 'MinProcessingDurnPerSplitUnit'
      zminb                                                               as MinProcessingDurationPerSplit,
      @Semantics.unitOfMeasure: true
      @ObjectModel.foreignKey.association: '_MinProcessingDurnPerSplitUnit'
      zeimb                                                               as MinProcessingDurnPerSplitUnit,

      --- Overlapping
      cast (uemus as operationoverlappingisrequired preserving type)      as OperationOverlappingIsRequired,
      cast (uekan as operationoverlappingispossible preserving type)      as OperationOverlappingIsPossible,
      flies                                                               as OperationsIsAlwaysOverlapping,

      @Semantics.quantity.unitOfMeasure: 'OverlapMinimumDurationUnit'
      @DefaultAggregation: #SUM
      zminu                                                               as OverlapMinimumDuration,
      @Semantics.unitOfMeasure: true
      @ObjectModel.foreignKey.association: '_OverlapMinimumDurationUnit'
      zeimu                                                               as OverlapMinimumDurationUnit,

      @Semantics.quantity.unitOfMeasure: 'OverlapMinimumTransferQtyUnit'
      @DefaultAggregation: #SUM
      minwe                                                               as OverlapMinimumTransferQty,
      @Semantics.unitOfMeasure: true
      @ObjectModel.foreignKey.association: '_OverlapMinimumTransferQtyUnit'
      meinh                                                               as OverlapMinimumTransferQtyUnit,

      --- Offset (for sub-operations)
      @Semantics.unitOfMeasure: true
      ehoffb                                                              as StartDateOffsetDurationUnit,

      @Semantics.quantity.unitOfMeasure: 'StartDateOffsetDurationUnit'
      @DefaultAggregation: #SUM
      offstb                                                              as StartDateOffsetDuration,

      @Semantics.unitOfMeasure: true
      ehoffe                                                              as EndDateOffsetDurationUnit,
      @Semantics.quantity.unitOfMeasure: 'EndDateOffsetDurationUnit'
      @DefaultAggregation: #SUM
      offste                                                              as EndDateOffsetDuration,

      // ********************* Additional Operation Data ***********************


      --- General Data
      aufak                                                               as OperationScrapPercent,

      loanz                                                               as NumberOfTimeTickets,
      rsanz                                                               as NumberOfConfirmationSlips,

      @ObjectModel.foreignKey.association: '_EmployeeWageGroup'
      logrp                                                               as EmployeeWageGroup,
      loart                                                               as EmployeeWageType,

      @ObjectModel.foreignKey.association: '_EmployeeSuitability'
      qualf                                                               as EmployeeSuitability,

      anzma                                                               as NumberOfEmployees,

      @ObjectModel.foreignKey.association: '_OperationSetupType'
      rasch                                                               as OperationSetupType,
      @ObjectModel.foreignKey.association: '_OperationSetupGroupCategory'
      rfgrp                                                               as OperationSetupGroupCategory,
      @ObjectModel.foreignKey.association: '_OperationSetupGroup'
      rfsch                                                               as OperationSetupGroup,

      cast (ckselkz as operationcostingrelevancytype preserving type)     as OperationCostingRelevancyType,

      //visible only in CA02

      @Semantics.booleanIndicator: true
      nvadd                                                               as IsNonValueAddedOperation,

      // ************************ External Processing **************************


      -- External Processing
      @Semantics.booleanIndicator: true
      frdlb                                                               as OpIsExtlyProcdWithSubcontrg,

      //@Consumption.valueHelpDefinition: [ { entity: { name: 'I_PurchasingInfoRecordStdVH', element: 'PurchasingInfoRecord' } } ]

      @ObjectModel.foreignKey.association: '_PurchasingInfoRecord'
      infnr                                                               as PurchasingInfoRecord,

      @ObjectModel.foreignKey.association: '_PurchasingOrganization'
      ekorg                                                               as PurchasingOrganization,

      //@Consumption.valueHelpDefinition: [ { entity: { name: 'I_PurchaseContractStdVH', element: 'PurchaseContract' } } ]

      @ObjectModel.foreignKey.association: '_PurchaseContract'
      ebeln                                                               as PurchaseContract,
      //@Consumption.valueHelpDefinition: [ { entity: { name: 'I_PurchaseContractItemStdVH', element: 'PurchaseContractItem' } } ]

      @ObjectModel.foreignKey.association: '_PurchaseContractItem'
      ebelp                                                               as PurchaseContractItem,

      sortl                                                               as PurchasingInfoRecdAddlGrpgName,

      @ObjectModel.foreignKey.association: '_MaterialGroup'
      matkl                                                               as MaterialGroup,

      @ObjectModel.foreignKey.association: '_PurchasingGroup'
      ekgrp                                                               as PurchasingGroup,

      //@Consumption.valueHelpDefinition: [ { entity: { name: 'I_Supplier_VH', element: 'Supplier' } } ]

      @ObjectModel.foreignKey.association: '_Supplier'
      lifnr                                                               as Supplier,

      plifz                                                               as PlannedDeliveryDuration,

      peinh                                                               as NumberOfOperationPriceUnits,

      @Semantics.amount.currencyCode: 'OpExternalProcessingCurrency'
      @DefaultAggregation: #SUM
      preis                                                               as OpExternalProcessingPrice,

      @ObjectModel.foreignKey.association: '_InspectionLotType'
      qpart                                                               as InspectionLotType,
      // The ControllingArea is not known at this point and thus a foreign key relation can't be provided (for performance reasons).

      // A higher level view needs to get the ControllingArea using P_BOOPlantControllingArea which then the consumption view

      // can use to establish a foreign key relation to I_CostElement

      sakto                                                               as CostElement,

      @Semantics.currencyCode: true
      @ObjectModel.foreignKey.association: '_OpExternalProcessingCurrency'
      waers                                                               as OpExternalProcessingCurrency,

      // ************************* Qualification Data **************************


      @ObjectModel.foreignKey.association: '_CapacityCategory'
      qlkapar                                                             as CapacityCategoryCode,

      // ************************* Process Control Data **************************


      phflg                                                               as BOOOperationIsPhase,
      pvzkn                                                               as BOOPhaseSuperiorOpInternalID,
      @ObjectModel.foreignKey.association: '_ControlRecipeDestination'
      phseq                                                               as ControlRecipeDestination,

      // ************************* Quality Management **************************


      -- Quality management: general
      @ObjectModel.foreignKey.association: '_InspResultRecordingView'
      erfsicht                                                            as InspResultRecordingView,
      @Semantics.quantity.unitOfMeasure: 'MinimumDurationUnit'
      daumi                                                               as MinimumDuration,
      @ObjectModel.foreignKey.association: '_MinimumDurationUnit'
      @Semantics.unitOfMeasure: true
      daume                                                               as MinimumDurationUnit,
      prznt                                                               as OperationWorkPercent,
      vertl                                                               as CapRqmtsDistributionFunction,
      @ObjectModel.foreignKey.association: '_CompanyCode'
      bukrs                                                               as CompanyCode,
      @ObjectModel.foreignKey.association: '_FactoryCalendar'
      kalid                                                               as FactoryCalendar,
      vertn                                                               as CapacityRequirementDistrKey,

      -- Quality management: inspection points

      qppktabs                                                            as InspSbstCompletionConfirmation,
      @Semantics.booleanIndicator: true
      qkzprfrei                                                           as InspSbstHasNoTimeOrQuantity,

      @Semantics.quantity.unitOfMeasure: 'OperationStandardDurationUnit'
      plpo.dauno                                                          as OperationStandardDuration,
      @ObjectModel.foreignKey.association: '_OperationStandardDurationUnit'
      @Semantics.unitOfMeasure: true
      plpo.daune                                                          as OperationStandardDurationUnit,
      plpo.anzzl                                                          as NumberOfCapacities,
      @ObjectModel.foreignKey.association: '_OperationSystemCondition'
      plpo.anlzu                                                          as OperationSystemCondition,
      plpo.larnt                                                          as CostCtrActivityType,
      @ObjectModel.foreignKey.association: '_OperationCalculationControl'
      plpo.indet                                                          as OperationCalculationControl,
      //@Consumption.valueHelpDefinition: [ { entity: { name: 'I_MaterialStdVH', element: 'Material' } } ]

      @ObjectModel.foreignKey.association: '_Assembly'
      plpo.istru                                                          as Assembly,
      @Semantics.quantity.unitOfMeasure: 'PurchaseOrderQuantityUnit'
      plpo.bmvrg                                                          as PurchaseOrderQty,
      @ObjectModel.foreignKey.association: '_PurchaseOrderQtyUnit'
      @Semantics.unitOfMeasure: true
      plpo.bmeih                                                          as PurchaseOrderQuantityUnit,
      plpo.esokz                                                          as PurchasingInfoRecordCategory,
      //@Consumption.valueHelpDefinition: [ { entity: { name: 'I_FunctionalLocationStdVH', element: 'FunctionalLocation' } } ]

      @ObjectModel.foreignKey.association: '_FunctionalLocation'
      plpo.tplnr                                                          as FunctionalLocation,
      // @ObjectModel.foreignKey.association: '_FunctionalLocation'                                         // with conv. exit NUMCV

      // cast(plpo.tplnr as vdm_eam_tplnr preserving type )    as FunctionalLocation_2,

      //@Consumption.valueHelpDefinition: [ { entity: { name: 'I_EquipmentStdVH', element: 'Equipment' } } ]

      @ObjectModel.foreignKey.association: '_Equipment'
      plpo.equnr                                                          as Equipment,

      // ***************************** User Fields *****************************

      @ObjectModel.foreignKey.association: '_FreeDfndTableFieldSemantic'
      slwid                                                               as FreeDefinedTableFieldSemantic,
      usr00                                                               as FreeDefinedAttribute01,
      usr01                                                               as FreeDefinedAttribute02,
      usr02                                                               as FreeDefinedAttribute03,
      usr03                                                               as FreeDefinedAttribute04,
      @Semantics.quantity.unitOfMeasure: 'FreeDefinedQuantity1Unit'
      @DefaultAggregation: #SUM
      usr04                                                               as FreeDefinedQuantity1,
      @Semantics.unitOfMeasure: true
      use04                                                               as FreeDefinedQuantity1Unit,
      @Semantics.quantity.unitOfMeasure: 'FreeDefinedQuantity2Unit'
      @DefaultAggregation: #SUM
      usr05                                                               as FreeDefinedQuantity2,
      @Semantics.unitOfMeasure: true
      use05                                                               as FreeDefinedQuantity2Unit,
      @Semantics.amount.currencyCode: 'FreeDefinedAmount1Currency'
      @DefaultAggregation: #SUM
      usr06                                                               as FreeDefinedAmount1,
      @Semantics.currencyCode: true
      @ObjectModel.foreignKey.association: '_FreeDefinedAmount1Currency'
      use06                                                               as FreeDefinedAmount1Currency,
      @Semantics.amount.currencyCode: 'FreeDefinedAmount2Currency'
      @DefaultAggregation: #SUM
      usr07                                                               as FreeDefinedAmount2,
      @Semantics.currencyCode: true
      @ObjectModel.foreignKey.association: '_FreeDefinedAmount2Currency'
      use07                                                               as FreeDefinedAmount2Currency,
      usr08                                                               as FreeDefinedDate1,
      usr09                                                               as FreeDefinedDate2,
      usr10                                                               as FreeDefinedIndicator1,
      usr11                                                               as FreeDefinedIndicator2,

      @ObjectModel.foreignKey.association: '_MaintOperationExecStageCode'
      cast( plpo.execution_stage as eam_premainpost_cds preserving type ) as MaintOperationExecStageCode,

      // *************************** Administration ****************************


      -- Administrative Data
      @Semantics.systemDate.createdAt: true
      andat                                                               as CreationDate,
      @Semantics.user.createdBy: true
      cast (annam as vdm_createdbyuserid preserving type)                 as CreatedByUser,

      @Semantics.systemDate.lastChangedAt: true
      aedat                                                               as LastChangeDate,
      @Semantics.user.lastChangedBy: true
      cast (aenam as vdm_lastchangedbyuserid preserving type)             as LastChangedByUser,

      -- Validity
      //@Consumption.valueHelpDefinition: [ { entity: { name: 'I_ChangeMasterStdVH', element: 'ChangeNumber' } } ]

      @ObjectModel.foreignKey.association: '_ChangeMaster'
      cast (aennr as changenumber preserving type)                        as ChangeNumber,

      @Semantics.businessDate.from: true
      cast(datuv as pph_begda preserving type)                            as ValidityStartDate,
      @Semantics.businessDate.to: true
      cast(valid_to as pph_endda preserving type)                         as ValidityEndDate,

      // ******************* Fields of other task list types *******************

      @Semantics.quantity.unitOfMeasure: 'OpWorkQuantityUnit'
      @DefaultAggregation: #SUM
      arbei                                                               as OpPlannedWorkQuantity,
      @Semantics.unitOfMeasure: true
      arbeh                                                               as OpWorkQuantityUnit,

      aufkt                                                               as NumberOfOperationExecutions,

      // **************************** Associations *****************************


      _Assembly,
      _BOOOperationInternalID,
      _BillOfOperationsBreakDurnUnit,
      _BillOfOperationsGroup,
      _BillOfOperationsType,
      _CapacityCategory,
      _ChangeMaster,
      _CompanyCode,
      _ControlRecipeDestination,
      _EmployeeSuitability,
      _EmployeeWageGroup,
      _EndDateOffsetDurnUnit,
      _Equipment,
      _FactoryCalendar,
      _FreeDefinedAmount1Currency,
      _FreeDefinedAmount2Currency,
      _FreeDfndTableFieldSemantic,
      @ObjectModel.association.boundFields.dataMatchesSourceAndTargetTypes: true
      _FunctionalLocation,
      _InspResultRecordingView,
      _InspectionLotType,
      _LeadTimeReductionStrategy,
      _LongTextLanguage,
      _MaterialGroup,
      _MaximumWaitDurationUnit,
      _MinimumDurationUnit,
      _MinimumMoveDurationUnit,
      _MinimumQueueDurationUnit,
      _MinimumWaitDurationUnit,
      _MinProcessingDurnPerSplitUnit,
      _OpExternalProcessingCurrency,
      _OperationCalculationControl,
      _OperationControlProfile,
      _OperationSetupGroup,
      _OperationSetupGroupCategory,
      _OperationSetupType,
      _OperationStandardDurationUnit,
      _OperationStandardText,
      _OperationStdWorkQtyGrpgCat,
      _OperationSystemCondition,
      _OperationUnit,
      _OverlapMinimumDurationUnit,
      _OverlapMinimumTransferQtyUnit,
      _PerformanceEfficiencyRatio1,
      _PerformanceEfficiencyRatio2,
      _PerformanceEfficiencyRatio3,
      _PerformanceEfficiencyRatio4,
      _PerformanceEfficiencyRatio5,
      _PerformanceEfficiencyRatio6,
      _Plant,
      _PurchaseContract,
      _PurchaseContractItem,
      _PurchaseOrderQtyUnit,
      _PurchasingGroup,
      _PurchasingInfoRecord,
      _PurchasingOrganization,
      _StandardMoveDurationUnit,
      _StandardQueueDurationUnit,
      _StandardWorkQuantityUnit1,
      _StandardWorkQuantityUnit2,
      _StandardWorkQuantityUnit3,
      _StandardWorkQuantityUnit4,
      _StandardWorkQuantityUnit5,
      _StandardWorkQuantityUnit6,
      _StartDateOffsetDurnUnit,
      _Supplier,
      _WorkCenter,
      _WorkCenterType,
      _MaintOperationExecStageCode
}