I_BOOSubOperationChangeState

DDL: I_BOOSUBOPERATIONCHANGESTATE SQL: IPPBOOSUBOPERCS Type: view COMPOSITE Package: VDM_PP_MD_RTG

Bill of Operations Operation Change State

I_BOOSubOperationChangeState is a Composite CDS View (Dimension) that provides data about "Bill of Operations Operation Change State" in SAP S/4HANA. It reads from 2 data sources (I_BOOSqncOperationAssgmtChgSt, I_BillOfOperationsOpBasic) and exposes 148 fields with key fields BillOfOperationsType, BillOfOperationsGroup, BillOfOperationsVariant, BillOfOperationsSequence, BOOOperationInternalID. It has 18 associations to related views. Part of development package VDM_PP_MD_RTG.

Data Sources (2)

SourceAliasJoin Type
I_BOOSqncOperationAssgmtChgSt plas inner
I_BillOfOperationsOpBasic plpo from

Associations (18)

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_BillOfOperations _BillOfOperations $projection.BillOfOperationsType = _BillOfOperations.BillOfOperationsType and $projection.BillOfOperationsGroup = _BillOfOperations.BillOfOperationsGroup and $projection.BillOfOperationsVariant = _BillOfOperations.BillOfOperationsVariant
[1..1] I_BOOOperationInternalID _BOOOperationInternalID $projection.BillOfOperationsType = _BOOOperationInternalID.BillOfOperationsType and $projection.BillOfOperationsGroup = _BOOOperationInternalID.BillOfOperationsGroup and $projection.BOOOperationInternalID = _BOOOperationInternalID.BOOOperationInternalID
[1..1] I_BillOfOperationsSequence _BillOfOperationsSequence $projection.BillOfOperationsType = _BillOfOperationsSequence.BillOfOperationsType and $projection.BillOfOperationsGroup = _BillOfOperationsSequence.BillOfOperationsGroup and $projection.BillOfOperationsVariant = _BillOfOperationsSequence.BillOfOperationsVariant and $projection.BillOfOperationsSequence = _BillOfOperationsSequence.BillOfOperationsSequence
[1..1] I_BillOfOperationsOperation _BillOfOperationsOperation $projection.BillOfOperationsType = _BillOfOperationsOperation.BillOfOperationsType and $projection.BillOfOperationsGroup = _BillOfOperationsOperation.BillOfOperationsGroup and $projection.BillOfOperationsVariant = _BillOfOperationsOperation.BillOfOperationsVariant and $projection.BillOfOperationsSequence = _BillOfOperationsOperation.BillOfOperationsSequence and $projection.SuperiorOperationInternalID = _BillOfOperationsOperation.BOOOperationInternalID
[1..1] I_BOOSqncOperationAssgmtChgSt _BOOSqncOperationAssgmtChgSt $projection.BillOfOperationsType = _BOOSqncOperationAssgmtChgSt.BillOfOperationsType and $projection.BillOfOperationsGroup = _BOOSqncOperationAssgmtChgSt.BillOfOperationsGroup and $projection.BillOfOperationsVariant = _BOOSqncOperationAssgmtChgSt.BillOfOperationsVariant and $projection.BillOfOperationsSequence = _BOOSqncOperationAssgmtChgSt.BillOfOperationsSequence and $projection.BOOOperationInternalID = _BOOSqncOperationAssgmtChgSt.BOOOperationInternalID and $projection.BOOSqncOpAssgmtIntVersionCntr = _BOOSqncOperationAssgmtChgSt.BOOSqncOpAssgmtIntVersionCntr
[0..1] I_StandardWorkFormulaParameter _StandardWorkFormulaParameter1 $projection.standardworkformulaparam1 = _StandardWorkFormulaParameter1.StandardWorkFormulaParameter
[0..1] I_StandardWorkFormulaParameter _StandardWorkFormulaParameter2 $projection.standardworkformulaparam2 = _StandardWorkFormulaParameter2.StandardWorkFormulaParameter
[0..1] I_StandardWorkFormulaParameter _StandardWorkFormulaParameter3 $projection.standardworkformulaparam3 = _StandardWorkFormulaParameter3.StandardWorkFormulaParameter
[0..1] I_StandardWorkFormulaParameter _StandardWorkFormulaParameter4 $projection.standardworkformulaparam4 = _StandardWorkFormulaParameter4.StandardWorkFormulaParameter
[0..1] I_StandardWorkFormulaParameter _StandardWorkFormulaParameter5 $projection.standardworkformulaparam5 = _StandardWorkFormulaParameter5.StandardWorkFormulaParameter
[0..1] I_StandardWorkFormulaParameter _StandardWorkFormulaParameter6 $projection.standardworkformulaparam6 = _StandardWorkFormulaParameter6.StandardWorkFormulaParameter
[1..1] I_OperationControlProfile _OperationControlProfile $projection.OperationControlProfile = _OperationControlProfile.OperationControlProfile
[0..1] I_OperationStandardText _OperationStandardText $projection.OperationStandardTextCode = _OperationStandardText.OperationStandardTextCode
[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

Annotations (16)

NameValueLevelField
AbapCatalog.sqlViewName IPPBOOSUBOPERCS view
AbapCatalog.compiler.compareFilter true view
AbapCatalog.preserveKey true view
AccessControl.authorizationCheck #CHECK view
AccessControl.personalData.blocking #NOT_REQUIRED view
Analytics.dataCategory #DIMENSION view
Analytics.internalName #LOCAL view
ClientHandling.algorithm #SESSION_VARIABLE view
Metadata.allowExtensions true view
ObjectModel.modelingPattern #NONE view
ObjectModel.representativeKey BOOOpInternalVersionCounter view
ObjectModel.usageType.serviceQuality #C view
ObjectModel.usageType.sizeCategory #L view
ObjectModel.usageType.dataClass #MIXED view
VDM.viewType #COMPOSITE view
EndUserText.label Bill of Operations Operation Change State view

Fields (148)

KeyFieldSource TableSource FieldDescription
KEY BillOfOperationsType I_BillOfOperationsOpBasic BillOfOperationsType
KEY BillOfOperationsGroup I_BillOfOperationsOpBasic BillOfOperationsGroup
KEY BillOfOperationsVariant I_BOOSqncOperationAssgmtChgSt BillOfOperationsVariant
KEY BillOfOperationsSequence I_BOOSqncOperationAssgmtChgSt BillOfOperationsSequence
KEY BOOOperationInternalID I_BillOfOperationsOpBasic BOOOperationInternalID
KEY BOOSqncOpAssgmtIntVersionCntr I_BOOSqncOperationAssgmtChgSt BOOSqncOpAssgmtIntVersionCntr
KEY BOOOpInternalVersionCounter I_BillOfOperationsOpBasic BOOOpInternalVersionCounter
BillOfOperationsVersion I_BillOfOperationsOpBasic BillOfOperationsVersion
WorkCenterInternalID I_BillOfOperationsOpBasic WorkCenterInternalID
WorkCenterTypeCode I_BillOfOperationsOpBasic WorkCenterTypeCode
IsDeletedendasIsDeleted
SubOperationExternalID
SubOperation
SubOperation_2
SuperiorOperationInternalID I_BillOfOperationsOpBasic SuperiorOperationInternalID
SuperiorOperation
OperationTextasSubOperationText
LongTextLanguageCode I_BillOfOperationsOpBasic LongTextLanguageCode
Plant I_BillOfOperationsOpBasic Plant
FactoryCalendar I_BillOfOperationsOpBasic FactoryCalendar
BillOfOperationsRefType
BillOfOperationsRefGroup I_BillOfOperationsOpBasic BillOfOperationsRefGroup
BillOfOperationsRefVariant I_BillOfOperationsOpBasic BillOfOperationsRefVariant
CapacityCategoryCode
OperationStdWorkQtyGrpgCat
CreationDate
CreatedByUser I_BillOfOperationsOpBasic CreatedByUser
LastChangeDate I_BillOfOperationsOpBasic LastChangeDate
LastChangedByUser I_BillOfOperationsOpBasic LastChangedByUser
ChangeNumber
OperationReferenceQuantity
OperationUnit I_BillOfOperationsOpBasic OperationUnit
OpQtyToBaseQtyNmrtr I_BillOfOperationsOpBasic OpQtyToBaseQtyNmrtr
OpQtyToBaseQtyDnmntr I_BillOfOperationsOpBasic OpQtyToBaseQtyDnmntr
BillOfOperationsBreakDuration I_BillOfOperationsOpBasic BillOfOperationsBreakDuration
BillOfOperationsBreakDurnUnit I_BillOfOperationsOpBasic BillOfOperationsBreakDurnUnit
StandardWorkFormulaParam1
StandardWorkQuantity1 I_BillOfOperationsOpBasic StandardWorkQuantity1
StandardWorkQuantityUnit1 I_BillOfOperationsOpBasic StandardWorkQuantityUnit1
CostCtrActivityType1 I_BillOfOperationsOpBasic CostCtrActivityType1
PerfEfficiencyRatioCode1 I_BillOfOperationsOpBasic PerfEfficiencyRatioCode1
StandardWorkFormulaParam2
StandardWorkQuantity2 I_BillOfOperationsOpBasic StandardWorkQuantity2
StandardWorkQuantityUnit2 I_BillOfOperationsOpBasic StandardWorkQuantityUnit2
CostCtrActivityType2 I_BillOfOperationsOpBasic CostCtrActivityType2
PerfEfficiencyRatioCode2 I_BillOfOperationsOpBasic PerfEfficiencyRatioCode2
StandardWorkFormulaParam3
StandardWorkQuantity3 I_BillOfOperationsOpBasic StandardWorkQuantity3
StandardWorkQuantityUnit3 I_BillOfOperationsOpBasic StandardWorkQuantityUnit3
CostCtrActivityType3 I_BillOfOperationsOpBasic CostCtrActivityType3
PerfEfficiencyRatioCode3 I_BillOfOperationsOpBasic PerfEfficiencyRatioCode3
StandardWorkFormulaParam4
StandardWorkQuantity4 I_BillOfOperationsOpBasic StandardWorkQuantity4
StandardWorkQuantityUnit4 I_BillOfOperationsOpBasic StandardWorkQuantityUnit4
CostCtrActivityType4 I_BillOfOperationsOpBasic CostCtrActivityType4
PerfEfficiencyRatioCode4 I_BillOfOperationsOpBasic PerfEfficiencyRatioCode4
StandardWorkFormulaParam5
StandardWorkQuantity5 I_BillOfOperationsOpBasic StandardWorkQuantity5
StandardWorkQuantityUnit5 I_BillOfOperationsOpBasic StandardWorkQuantityUnit5
CostCtrActivityType5 I_BillOfOperationsOpBasic CostCtrActivityType5
PerfEfficiencyRatioCode5 I_BillOfOperationsOpBasic PerfEfficiencyRatioCode5
StandardWorkFormulaParam6
StandardWorkQuantity6 I_BillOfOperationsOpBasic StandardWorkQuantity6
StandardWorkQuantityUnit6 I_BillOfOperationsOpBasic StandardWorkQuantityUnit6
CostCtrActivityType6 I_BillOfOperationsOpBasic CostCtrActivityType6
PerfEfficiencyRatioCode6 I_BillOfOperationsOpBasic PerfEfficiencyRatioCode6
BusinessProcess I_BillOfOperationsOpBasic BusinessProcess
LeadTimeReductionStrategy
StartDateOffsetDurationUnit
StartDateOffsetDuration I_BillOfOperationsOpBasic StartDateOffsetDuration
EndDateOffsetDurationUnit I_BillOfOperationsOpBasic EndDateOffsetDurationUnit
EndDateOffsetDuration I_BillOfOperationsOpBasic EndDateOffsetDuration
OperationScrapPercent
NumberOfEmployees I_BillOfOperationsOpBasic NumberOfEmployees
OperationSetupGroupCategory I_BillOfOperationsOpBasic OperationSetupGroupCategory
OperationSetupGroup I_BillOfOperationsOpBasic OperationSetupGroup
ControlRecipeDestination I_BillOfOperationsOpBasic ControlRecipeDestination
OpIsExtlyProcdWithSubcontrg
PurchasingInfoRecord I_BillOfOperationsOpBasic PurchasingInfoRecord
PurchasingOrganization I_BillOfOperationsOpBasic PurchasingOrganization
PurchaseContract I_BillOfOperationsOpBasic PurchaseContract
PurchaseContractItem I_BillOfOperationsOpBasic PurchaseContractItem
PurchasingInfoRecdAddlGrpgName I_BillOfOperationsOpBasic PurchasingInfoRecdAddlGrpgName
MaterialGroup I_BillOfOperationsOpBasic MaterialGroup
PurchasingGroup I_BillOfOperationsOpBasic PurchasingGroup
Supplier I_BillOfOperationsOpBasic Supplier
PlannedDeliveryDuration I_BillOfOperationsOpBasic PlannedDeliveryDuration
NumberOfOperationPriceUnits I_BillOfOperationsOpBasic NumberOfOperationPriceUnits
OpExternalProcessingPrice I_BillOfOperationsOpBasic OpExternalProcessingPrice
OpExternalProcessingCurrency I_BillOfOperationsOpBasic OpExternalProcessingCurrency
InspectionLotType I_BillOfOperationsOpBasic InspectionLotType
CostElement I_BillOfOperationsOpBasic CostElement
OperationCostingRelevancyType I_BillOfOperationsOpBasic OperationCostingRelevancyType
_BOOOperationInternalID _BOOOperationInternalID
_BOOSqncOperationAssgmtChgSt _BOOSqncOperationAssgmtChgSt
_BillOfOperations _BillOfOperations
_BillOfOperationsGroup _BillOfOperationsGroup
_BillOfOperationsOperation _BillOfOperationsOperation
_BillOfOperationsSequence _BillOfOperationsSequence
_BillOfOperationsType _BillOfOperationsType
_BillOfOperationsBreakDurnUnit I_BillOfOperationsOpBasic _BillOfOperationsBreakDurnUnit
_CapacityCategory I_BillOfOperationsOpBasic _CapacityCategory
_ChangeMaster I_BillOfOperationsOpBasic _ChangeMaster
_ControlRecipeDestination I_BillOfOperationsOpBasic _ControlRecipeDestination
_EmployeeSuitability _EmployeeSuitability
_EmployeeWageGroup _EmployeeWageGroup
_EndDateOffsetDurnUnit I_BillOfOperationsOpBasic _EndDateOffsetDurnUnit
_FactoryCalendar I_BillOfOperationsOpBasic _FactoryCalendar
_InspectionLotType I_BillOfOperationsOpBasic _InspectionLotType
_LeadTimeReductionStrategy I_BillOfOperationsOpBasic _LeadTimeReductionStrategy
_LongTextLanguage I_BillOfOperationsOpBasic _LongTextLanguage
_MaterialGroup I_BillOfOperationsOpBasic _MaterialGroup
_OperationControlProfile _OperationControlProfile
_OperationSetupGroup I_BillOfOperationsOpBasic _OperationSetupGroup
_OperationSetupGroupCategory I_BillOfOperationsOpBasic _OperationSetupGroupCategory
_OperationSetupType _OperationSetupType
_OperationStandardText _OperationStandardText
_OperationStdWorkQtyGrpgCat I_BillOfOperationsOpBasic _OperationStdWorkQtyGrpgCat
_OperationUnit I_BillOfOperationsOpBasic _OperationUnit
_OpExternalProcessingCurrency I_BillOfOperationsOpBasic _OpExternalProcessingCurrency
_PerformanceEfficiencyRatio1 I_BillOfOperationsOpBasic _PerformanceEfficiencyRatio1
_PerformanceEfficiencyRatio2 I_BillOfOperationsOpBasic _PerformanceEfficiencyRatio2
_PerformanceEfficiencyRatio3 I_BillOfOperationsOpBasic _PerformanceEfficiencyRatio3
_PerformanceEfficiencyRatio4 I_BillOfOperationsOpBasic _PerformanceEfficiencyRatio4
_PerformanceEfficiencyRatio5 I_BillOfOperationsOpBasic _PerformanceEfficiencyRatio5
_PerformanceEfficiencyRatio6 I_BillOfOperationsOpBasic _PerformanceEfficiencyRatio6
_Plant I_BillOfOperationsOpBasic _Plant
_PurchaseContract I_BillOfOperationsOpBasic _PurchaseContract
_PurchaseContractItem I_BillOfOperationsOpBasic _PurchaseContractItem
_PurchasingGroup I_BillOfOperationsOpBasic _PurchasingGroup
_PurchasingInfoRecord I_BillOfOperationsOpBasic _PurchasingInfoRecord
_PurchasingOrganization I_BillOfOperationsOpBasic _PurchasingOrganization
_StandardWorkFormulaParameter1 _StandardWorkFormulaParameter1
_StandardWorkFormulaParameter2 _StandardWorkFormulaParameter2
_StandardWorkFormulaParameter3 _StandardWorkFormulaParameter3
_StandardWorkFormulaParameter4 _StandardWorkFormulaParameter4
_StandardWorkFormulaParameter5 _StandardWorkFormulaParameter5
_StandardWorkFormulaParameter6 _StandardWorkFormulaParameter6
_StandardWorkQuantityUnit1 I_BillOfOperationsOpBasic _StandardWorkQuantityUnit1
_StandardWorkQuantityUnit2 I_BillOfOperationsOpBasic _StandardWorkQuantityUnit2
_StandardWorkQuantityUnit3 I_BillOfOperationsOpBasic _StandardWorkQuantityUnit3
_StandardWorkQuantityUnit4 I_BillOfOperationsOpBasic _StandardWorkQuantityUnit4
_StandardWorkQuantityUnit5 I_BillOfOperationsOpBasic _StandardWorkQuantityUnit5
_StandardWorkQuantityUnit6 I_BillOfOperationsOpBasic _StandardWorkQuantityUnit6
_StartDateOffsetDurnUnit I_BillOfOperationsOpBasic _StartDateOffsetDurnUnit
_Supplier I_BillOfOperationsOpBasic _Supplier
_WorkCenter I_BillOfOperationsOpBasic _WorkCenter
_WorkCenterType I_BillOfOperationsOpBasic _WorkCenterType
@AbapCatalog.sqlViewName: 'IPPBOOSUBOPERCS'
@AbapCatalog.compiler.compareFilter: true
@AbapCatalog.preserveKey: true 
@AccessControl.authorizationCheck: #CHECK
@AccessControl.personalData.blocking: #NOT_REQUIRED
@Analytics.dataCategory: #DIMENSION
@Analytics.internalName: #LOCAL
@ClientHandling.algorithm: #SESSION_VARIABLE
@Metadata.allowExtensions: true
@ObjectModel.modelingPattern: #NONE
@ObjectModel.supportedCapabilities: [#CDS_MODELING_ASSOCIATION_TARGET, #CDS_MODELING_DATA_SOURCE, #SQL_DATA_SOURCE]
@ObjectModel.representativeKey: 'BOOOpInternalVersionCounter'
@ObjectModel.usageType: {serviceQuality: #C, sizeCategory: #L, dataClass: #MIXED}
@VDM.viewType: #COMPOSITE
@EndUserText.label: 'Bill of Operations Operation Change State'
// This view selects Sub-Operations only -> for Operations refer to I_BOOOperationChangeState


define view I_BOOSubOperationChangeState
  as select from I_BillOfOperationsOpBasic     as plpo
    inner join   I_BOOSqncOperationAssgmtChgSt as plas on  plas.BillOfOperationsType   =  plpo.BillOfOperationsType
                                                       and plas.BillOfOperationsGroup  =  plpo.BillOfOperationsGroup
                                                       and plas.BOOOperationInternalID =  plpo.SuperiorOperationInternalID
                                                       and plas.ValidityStartDate      <= plpo.ValidityEndDate
                                                       and plas.ValidityEndDate        >= plpo.ValidityStartDate

  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_BillOfOperations            as _BillOfOperations            on  $projection.BillOfOperationsType    = _BillOfOperations.BillOfOperationsType
                                                                                      and $projection.BillOfOperationsGroup   = _BillOfOperations.BillOfOperationsGroup
                                                                                      and $projection.BillOfOperationsVariant = _BillOfOperations.BillOfOperationsVariant

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

  association [1..1] to I_BillOfOperationsSequence    as _BillOfOperationsSequence    on  $projection.BillOfOperationsType     = _BillOfOperationsSequence.BillOfOperationsType
                                                                                      and $projection.BillOfOperationsGroup    = _BillOfOperationsSequence.BillOfOperationsGroup
                                                                                      and $projection.BillOfOperationsVariant  = _BillOfOperationsSequence.BillOfOperationsVariant
                                                                                      and $projection.BillOfOperationsSequence = _BillOfOperationsSequence.BillOfOperationsSequence

  association [1..1] to I_BillOfOperationsOperation   as _BillOfOperationsOperation   on  $projection.BillOfOperationsType        = _BillOfOperationsOperation.BillOfOperationsType
                                                                                      and $projection.BillOfOperationsGroup       = _BillOfOperationsOperation.BillOfOperationsGroup
                                                                                      and $projection.BillOfOperationsVariant     = _BillOfOperationsOperation.BillOfOperationsVariant
                                                                                      and $projection.BillOfOperationsSequence    = _BillOfOperationsOperation.BillOfOperationsSequence
                                                                                      and $projection.SuperiorOperationInternalID = _BillOfOperationsOperation.BOOOperationInternalID

  association [1..1] to I_BOOSqncOperationAssgmtChgSt as _BOOSqncOperationAssgmtChgSt on  $projection.BillOfOperationsType          = _BOOSqncOperationAssgmtChgSt.BillOfOperationsType
                                                                                      and $projection.BillOfOperationsGroup         = _BOOSqncOperationAssgmtChgSt.BillOfOperationsGroup
                                                                                      and $projection.BillOfOperationsVariant       = _BOOSqncOperationAssgmtChgSt.BillOfOperationsVariant
                                                                                      and $projection.BillOfOperationsSequence      = _BOOSqncOperationAssgmtChgSt.BillOfOperationsSequence
                                                                                      and $projection.BOOOperationInternalID        = _BOOSqncOperationAssgmtChgSt.BOOOperationInternalID
                                                                                      and $projection.BOOSqncOpAssgmtIntVersionCntr = _BOOSqncOperationAssgmtChgSt.BOOSqncOpAssgmtIntVersionCntr

  association [0..1] to I_StandardWorkFormulaParameter as _StandardWorkFormulaParameter1 on  $projection.standardworkformulaparam1 = _StandardWorkFormulaParameter1.StandardWorkFormulaParameter
  association [0..1] to I_StandardWorkFormulaParameter as _StandardWorkFormulaParameter2 on  $projection.standardworkformulaparam2 = _StandardWorkFormulaParameter2.StandardWorkFormulaParameter
  association [0..1] to I_StandardWorkFormulaParameter as _StandardWorkFormulaParameter3 on  $projection.standardworkformulaparam3 = _StandardWorkFormulaParameter3.StandardWorkFormulaParameter
  association [0..1] to I_StandardWorkFormulaParameter as _StandardWorkFormulaParameter4 on  $projection.standardworkformulaparam4 = _StandardWorkFormulaParameter4.StandardWorkFormulaParameter
  association [0..1] to I_StandardWorkFormulaParameter as _StandardWorkFormulaParameter5 on  $projection.standardworkformulaparam5 = _StandardWorkFormulaParameter5.StandardWorkFormulaParameter
  association [0..1] to I_StandardWorkFormulaParameter as _StandardWorkFormulaParameter6 on  $projection.standardworkformulaparam6 = _StandardWorkFormulaParameter6.StandardWorkFormulaParameter

  // built up again because of different origin of field in selection list....

  association [1..1] to I_OperationControlProfile      as _OperationControlProfile       on  $projection.OperationControlProfile = _OperationControlProfile.OperationControlProfile
  association [0..1] to I_OperationStandardText        as _OperationStandardText         on  $projection.OperationStandardTextCode = _OperationStandardText.OperationStandardTextCode
  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
{
      @ObjectModel.foreignKey.association: '_BillOfOperationsType'
  key plpo.BillOfOperationsType,

      @ObjectModel.foreignKey.association: '_BillOfOperationsGroup'
  key plpo.BillOfOperationsGroup,

      @ObjectModel.foreignKey.association: '_BillOfOperations'
  key plas.BillOfOperationsVariant,

      @ObjectModel.foreignKey.association: '_BillOfOperationsSequence'
  key plas.BillOfOperationsSequence,

      @ObjectModel.foreignKey.association: '_BOOOperationInternalID'
  key plpo.BOOOperationInternalID,

      @ObjectModel.foreignKey.association: '_BOOSqncOperationAssgmtChgSt'
  key plas.BOOSqncOpAssgmtIntVersionCntr,

      @ObjectModel.text.element: ['SubOperationText']
  key plpo.BOOOpInternalVersionCounter,

      plpo.BillOfOperationsVersion, // NOT a key field in THIS view !


      // ***************** Work Center *****************


      plpo.WorkCenterInternalID,
      plpo.WorkCenterTypeCode,

      // ***************** Indicators *****************


      case plpo.IsDeleted
        when ' ' then plas.IsDeleted
        else          plpo.IsDeleted 
      end as IsDeleted,
      case plpo.IsImplicitlyDeleted
        when ' ' then plas.IsImplicitlyDeleted
      else            plpo.IsImplicitlyDeleted
      end as IsImplicitlyDeleted,

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


--    plpo.OperationExternalID                          as SubOperationExternalID,
      @VDM.lifecycle.status: #DEPRECATED
      @VDM.lifecycle.successor: 'SubOperation_2'
      cast(plpo.Operation   as pph_uvorn preserving type) as SubOperation,
      cast(plpo.Operation_2 as vdm_uvorn preserving type) as SubOperation_2,
      
      plpo.SuperiorOperationInternalID,
--    cast(sup.Operation as pph_vornr preserving type) as SuperiorOperation,

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


      -- Operation
      plpo.OperationText                                as SubOperationText,

      plpo.LongTextLanguageCode,

      plpo.Plant,

      case plpo._WorkCenter.OpControlProfileIsReferenced
        when 'X' then plpo._WorkCenter.OperationControlProfile
        else plpo.OperationControlProfile
      end                                               as OperationControlProfile,

      case plpo._WorkCenter.StandardTextIDIsReferenced
      when 'X' then plpo._WorkCenter.StandardTextInternalID
      else plpo.OperationStandardTextCode
      end                                               as OperationStandardTextCode,

      plpo.FactoryCalendar,

      -- Origin
      plpo.BillOfOperationsRefType,
      plpo.BillOfOperationsRefGroup,
      plpo.BillOfOperationsRefVariant,

      cast(plpo.CapacityCategoryCode as pph_kapart preserving type) as CapacityCategoryCode,

      -- Transfer to Orders     (-> Suboperations)
      plpo.OperationStdWorkQtyGrpgCat,

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


      -- Administrative Data
      plpo.CreationDate,
      plpo.CreatedByUser,

      plpo.LastChangeDate,
      plpo.LastChangedByUser,

      -- Validity
      plpo.ChangeNumber,

      cast(case when plpo.ValidityStartDate > plas.ValidityStartDate 
        then plpo.ValidityStartDate
        else plas.ValidityStartDate
      end as pph_begda preserving type) as ValidityStartDate,
      cast(case when plpo.ValidityEndDate < plas.ValidityEndDate 
        then plpo.ValidityEndDate
        else plas.ValidityEndDate
      end as pph_endda preserving type) as ValidityEndDate,

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


      -- Standard Values
      @Semantics.quantity.unitOfMeasure: 'OperationUnit' 
      @DefaultAggregation: #SUM
      plpo.OperationReferenceQuantity,
      @Semantics.unitOfMeasure: true
      plpo.OperationUnit,

      plpo.OpQtyToBaseQtyNmrtr,
      plpo.OpQtyToBaseQtyDnmntr,

      plpo.BillOfOperationsBreakDuration,
      @Semantics.unitOfMeasure: true
      plpo.BillOfOperationsBreakDurnUnit,

      plpo._WorkCenter._StandardWorkFmlaParamGroup.StandardWorkFormulaParam1,
      @Semantics.quantity.unitOfMeasure: 'StandardWorkQuantityUnit1'
      @DefaultAggregation: #SUM
      plpo.StandardWorkQuantity1,
      @Semantics.unitOfMeasure: true
      plpo.StandardWorkQuantityUnit1,
      plpo.CostCtrActivityType1,
      plpo.PerfEfficiencyRatioCode1,

      plpo._WorkCenter._StandardWorkFmlaParamGroup.StandardWorkFormulaParam2,
      @DefaultAggregation: #SUM
      @Semantics.quantity.unitOfMeasure: 'StandardWorkQuantityUnit2'
      plpo.StandardWorkQuantity2,
      @Semantics.unitOfMeasure: true
      plpo.StandardWorkQuantityUnit2,
      plpo.CostCtrActivityType2,
      plpo.PerfEfficiencyRatioCode2,

      plpo._WorkCenter._StandardWorkFmlaParamGroup.StandardWorkFormulaParam3,
      @DefaultAggregation: #SUM
      @Semantics.quantity.unitOfMeasure: 'StandardWorkQuantityUnit3'
      plpo.StandardWorkQuantity3,
      @Semantics.unitOfMeasure: true
      plpo.StandardWorkQuantityUnit3,
      plpo.CostCtrActivityType3,
      plpo.PerfEfficiencyRatioCode3,

      plpo._WorkCenter._StandardWorkFmlaParamGroup.StandardWorkFormulaParam4,
      @DefaultAggregation: #SUM
      @Semantics.quantity.unitOfMeasure: 'StandardWorkQuantityUnit4'
      plpo.StandardWorkQuantity4,
      @Semantics.unitOfMeasure: true
      plpo.StandardWorkQuantityUnit4,
      plpo.CostCtrActivityType4,
      plpo.PerfEfficiencyRatioCode4,

      plpo._WorkCenter._StandardWorkFmlaParamGroup.StandardWorkFormulaParam5,
      @DefaultAggregation: #SUM
      @Semantics.quantity.unitOfMeasure: 'StandardWorkQuantityUnit5'
      plpo.StandardWorkQuantity5,
      @Semantics.unitOfMeasure: true
      plpo.StandardWorkQuantityUnit5,
      plpo.CostCtrActivityType5,
      plpo.PerfEfficiencyRatioCode5,

      plpo._WorkCenter._StandardWorkFmlaParamGroup.StandardWorkFormulaParam6,
      @DefaultAggregation: #SUM
      @Semantics.quantity.unitOfMeasure: 'StandardWorkQuantityUnit6'
      plpo.StandardWorkQuantity6,
      @Semantics.unitOfMeasure: true
      plpo.StandardWorkQuantityUnit6,
      plpo.CostCtrActivityType6,
      plpo.PerfEfficiencyRatioCode6,

      plpo.BusinessProcess,

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


      -- Lead Time Reduction
      plpo.LeadTimeReductionStrategy,
      
      --- Offset (for sub-operations)
      plpo.StartDateOffsetDurationUnit,
      plpo.StartDateOffsetDuration,

      plpo.EndDateOffsetDurationUnit,
      plpo.EndDateOffsetDuration,

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


      --- General Data
      plpo.OperationScrapPercent,

      case plpo._WorkCenter.NmbrOfTimeTicketsIsReferenced
        when 'X' then plpo._WorkCenter.NumberOfTimeTickets
        else plpo.NumberOfTimeTickets
      end                               as NumberOfTimeTickets,
      case plpo._WorkCenter.NumberOfConfSlipsIsReferenced
      when 'X' then plpo._WorkCenter.NumberOfConfirmationSlips
      else plpo.NumberOfConfirmationSlips
      end                               as NumberOfConfirmationSlips,

      cast(case plpo._WorkCenter.EmployeeWageGroupIsReferenced
        when 'X' then plpo._WorkCenter.EmployeeWageGroup
        else plpo.EmployeeWageGroup
      end as pph_logrp preserving type) as EmployeeWageGroup,
      cast(case plpo._WorkCenter.EmployeeWageTypeIsReferenced
        when 'X' then plpo._WorkCenter.EmployeeWageType
        else plpo.EmployeeWageType
      end as pph_loart preserving type) as EmployeeWageType,
      case plpo._WorkCenter.EmplSuitabilityIsReferenced
        when 'X' then plpo._WorkCenter.EmployeeSuitability
        else plpo.EmployeeSuitability
      end                               as EmployeeSuitability,
      plpo.NumberOfEmployees,

      -- Setup
      case plpo._WorkCenter.WorkCenterSetpTypeIsReferenced
        when 'X' then plpo._WorkCenter.WorkCenterSetupType
        else plpo.OperationSetupType 
      end                               as OperationSetupType,
      plpo.OperationSetupGroupCategory,
      plpo.OperationSetupGroup,

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


      plpo.ControlRecipeDestination,

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


      -- External Processing
      plpo.OpIsExtlyProcdWithSubcontrg,

      plpo.PurchasingInfoRecord,

      plpo.PurchasingOrganization,

      plpo.PurchaseContract,
      plpo.PurchaseContractItem,

      plpo.PurchasingInfoRecdAddlGrpgName,

      plpo.MaterialGroup,

      plpo.PurchasingGroup,

      plpo.Supplier,

      plpo.PlannedDeliveryDuration,

      plpo.NumberOfOperationPriceUnits,
      @DefaultAggregation: #SUM
      @Semantics.amount.currencyCode: 'OpExternalProcessingCurrency'
      plpo.OpExternalProcessingPrice,
      @Semantics.currencyCode: true    
      plpo.OpExternalProcessingCurrency,

      plpo.InspectionLotType,

      plpo.CostElement,

      plpo.OperationCostingRelevancyType,   

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


      _BOOOperationInternalID,
      _BOOSqncOperationAssgmtChgSt,
      _BillOfOperations,
      _BillOfOperationsGroup,
      _BillOfOperationsOperation,
      _BillOfOperationsSequence,
      _BillOfOperationsType,
      plpo._BillOfOperationsBreakDurnUnit,
      plpo._CapacityCategory,
      plpo._ChangeMaster,
      plpo._ControlRecipeDestination,
      _EmployeeSuitability,
      _EmployeeWageGroup,
      plpo._EndDateOffsetDurnUnit,
      plpo._FactoryCalendar,
      plpo._InspectionLotType,
      plpo._LeadTimeReductionStrategy,
      plpo._LongTextLanguage,
      plpo._MaterialGroup,
      _OperationControlProfile,
      plpo._OperationSetupGroup,
      plpo._OperationSetupGroupCategory,
      _OperationSetupType,
      _OperationStandardText,
      plpo._OperationStdWorkQtyGrpgCat,
      plpo._OperationUnit,
      plpo._OpExternalProcessingCurrency,
      plpo._PerformanceEfficiencyRatio1,
      plpo._PerformanceEfficiencyRatio2,
      plpo._PerformanceEfficiencyRatio3,
      plpo._PerformanceEfficiencyRatio4,
      plpo._PerformanceEfficiencyRatio5,
      plpo._PerformanceEfficiencyRatio6,
      plpo._Plant,
      plpo._PurchaseContract,
      plpo._PurchaseContractItem,
      plpo._PurchasingGroup,
      plpo._PurchasingInfoRecord,
      plpo._PurchasingOrganization,
      _StandardWorkFormulaParameter1,
      _StandardWorkFormulaParameter2,
      _StandardWorkFormulaParameter3,
      _StandardWorkFormulaParameter4,
      _StandardWorkFormulaParameter5,
      _StandardWorkFormulaParameter6,
      plpo._StandardWorkQuantityUnit1,
      plpo._StandardWorkQuantityUnit2,
      plpo._StandardWorkQuantityUnit3,
      plpo._StandardWorkQuantityUnit4,
      plpo._StandardWorkQuantityUnit5,
      plpo._StandardWorkQuantityUnit6,
      plpo._StartDateOffsetDurnUnit,
      plpo._Supplier,
      plpo._WorkCenter,
      plpo._WorkCenterType
}
where
  plpo.SuperiorOperationInternalID > '00000000';