I_MfgBOOOperationChangeState
Manufacturing Bill of Operations Operation Change State
I_MfgBOOOperationChangeState is a Composite CDS View (Dimension) that provides data about "Manufacturing Bill of Operations Operation Change State" in SAP S/4HANA. It reads from 1 data source (I_BOOOperationChangeState) and exposes 182 fields with key fields BillOfOperationsType, BillOfOperationsGroup, BillOfOperationsVariant, BillOfOperationsSequence, BOOOperationInternalID. It has 15 associations to related views. Part of development package VDM_PP_MD_RTG.
Data Sources (1)
| Source | Alias | Join Type |
|---|---|---|
| I_BOOOperationChangeState | I_BOOOperationChangeState | from |
Associations (15)
| Cardinality | Target | Alias | Condition |
|---|---|---|---|
| [1..1] | I_MfgBillOfOperations | _BillOfOperations | $projection.BillOfOperationsType = _BillOfOperations.BillOfOperationsType and $projection.BillOfOperationsGroup = _BillOfOperations.BillOfOperationsGroup and $projection.BillOfOperationsVariant = _BillOfOperations.BillOfOperationsVariant -- to parent sequence |
| [1..1] | I_MfgBillOfOperationsSequence | _BillOfOperationsSequence | $projection.BillOfOperationsType = _BillOfOperationsSequence.BillOfOperationsType and $projection.BillOfOperationsGroup = _BillOfOperationsSequence.BillOfOperationsGroup and $projection.BillOfOperationsVariant = _BillOfOperationsSequence.BillOfOperationsVariant and $projection.BillOfOperationsSequence = _BillOfOperationsSequence.BillOfOperationsSequence -- to parent operation |
| [1..1] | I_MfgBillOfOperationsOperation | _BillOfOperationsOperation | $projection.BillOfOperationsType = _BillOfOperationsOperation.BillOfOperationsType and $projection.BillOfOperationsGroup = _BillOfOperationsOperation.BillOfOperationsGroup and $projection.BillOfOperationsVariant = _BillOfOperationsOperation.BillOfOperationsVariant and $projection.BillOfOperationsSequence = _BillOfOperationsOperation.BillOfOperationsSequence and $projection.BOOOperationInternalID = _BillOfOperationsOperation.BOOOperationInternalID |
| [1..1] | I_MfgBOOSequenceOpAssgmtChgSt | _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_CompanyCode | _CompanyCode | $projection.CompanyCode = _CompanyCode.CompanyCode |
| [0..1] | I_PurchasingInfoRecord | _PurchasingInfoRec | _PurchasingInfoRec.PurchasingInfoRecord = $projection.PurchasingInfoRecord |
| [0..1] | I_PurgInfoRecdOrgPlntDataApi01 | _Std_with_plant | _Std_with_plant.PurchasingInfoRecord = $projection.PurchasingInfoRecord and _Std_with_plant.PurchasingOrganization = $projection.PurchasingOrganization and _Std_with_plant.PurchasingInfoRecordCategory = '0' and _Std_with_plant.Plant = $projection.Plant |
| [0..1] | I_PurgInfoRecdOrgPlntDataApi01 | _SubCtrct_with_plant | _SubCtrct_with_plant.PurchasingInfoRecord = $projection.PurchasingInfoRecord and _SubCtrct_with_plant.PurchasingOrganization = $projection.PurchasingOrganization and _SubCtrct_with_plant.PurchasingInfoRecordCategory = '3' and _SubCtrct_with_plant.Plant = $projection.Plant |
| [0..1] | I_PurgInfoRecdOrgPlntDataApi01 | _Std_without_plant | _Std_without_plant.PurchasingInfoRecord = $projection.PurchasingInfoRecord and _Std_without_plant.PurchasingOrganization = $projection.PurchasingOrganization and _Std_without_plant.PurchasingInfoRecordCategory = '0' and ( _Std_without_plant.Plant = '' or _Std_without_plant.Plant is initial ) |
| [0..1] | I_PurgInfoRecdOrgPlntDataApi01 | _SubCtrct_without_plant | _SubCtrct_without_plant.PurchasingInfoRecord = $projection.PurchasingInfoRecord and _SubCtrct_without_plant.PurchasingOrganization = $projection.PurchasingOrganization and _SubCtrct_without_plant.PurchasingInfoRecordCategory = '3' and ( _SubCtrct_without_plant.Plant = '' or _SubCtrct_without_plant.Plant is initial ) |
| [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 -- for DPP part of DCLS |
| [0..1] | I_SupplierCompany | _SupplierCompany | $projection.Supplier = _SupplierCompany.Supplier and $projection.CompanyCode = _SupplierCompany.CompanyCode |
| [0..1] | I_SupplierCompanyByPlant | _SupplierCompanyByPlant | $projection.Plant = _SupplierCompanyByPlant.Plant and $projection.Supplier = _SupplierCompanyByPlant.Supplier |
Annotations (18)
| Name | Value | Level | Field |
|---|---|---|---|
| AbapCatalog.sqlViewName | IMFGBOOOPERCHST | view | |
| AbapCatalog.compiler.compareFilter | true | view | |
| AccessControl.authorizationCheck | #MANDATORY | view | |
| Analytics.dataCategory | #DIMENSION | view | |
| Analytics.dataExtraction.enabled | true | view | |
| ClientHandling.algorithm | #SESSION_VARIABLE | view | |
| ClientHandling.type | #CLIENT_DEPENDENT | view | |
| Metadata.allowExtensions | true | view | |
| Metadata.ignorePropagatedAnnotations | true | view | |
| ObjectModel.modelingPattern | #ANALYTICAL_DIMENSION | view | |
| ObjectModel.representativeKey | BOOOpInternalVersionCounter | view | |
| ObjectModel.usageType.serviceQuality | #C | view | |
| ObjectModel.usageType.sizeCategory | #L | view | |
| ObjectModel.usageType.dataClass | #MIXED | view | |
| VDM.lifecycle.contract.type | #PUBLIC_LOCAL_API | view | |
| VDM.viewType | #COMPOSITE | view | |
| EndUserText.label | Manufacturing Bill of Operations Operation Change State | view | |
| ObjectModel.sapObjectNodeType.name | ProductionRoutingOperation | view |
Fields (182)
| Key | Field | Source Table | Source Field | Description |
|---|---|---|---|---|
| KEY | BillOfOperationsType | BillOfOperationsType | ||
| KEY | BillOfOperationsGroup | BillOfOperationsGroup | ||
| KEY | BillOfOperationsVariant | BillOfOperationsVariant | ||
| KEY | BillOfOperationsSequence | BillOfOperationsSequence | ||
| KEY | BOOOperationInternalID | BOOOperationInternalID | ||
| KEY | BOOSqncOpAssgmtIntVersionCntr | BOOSqncOpAssgmtIntVersionCntr | ||
| KEY | BOOOpInternalVersionCounter | BOOOpInternalVersionCounter | ||
| OperationExternalID | OperationExternalID | |||
| Operation | Operation | |||
| Operation_2 | Operation_2 | |||
| AdministrativeDataCreationDate | ||||
| CreatedByUser | CreatedByUser | |||
| LastChangeDate | LastChangeDate | |||
| LastChangedByUser | LastChangedByUser | |||
| ValidityChangeNumber | ||||
| ValidityStartDate | ValidityStartDate | |||
| ValidityEndDate | ValidityEndDate | |||
| IsDeleted | IsDeleted | |||
| IsImplicitlyDeleted | IsImplicitlyDeleted | |||
| OperationText | OperationText | |||
| LongTextLanguageCode | LongTextLanguageCode | |||
| GeneralPlant | ||||
| OperationControlProfile | OperationControlProfile | |||
| OperationStandardTextCode | OperationStandardTextCode | |||
| WorkCenterInternalID | WorkCenterInternalID | |||
| WorkCenterTypeCode | WorkCenterTypeCode | |||
| FactoryCalendar | FactoryCalendar | |||
| CapacityCategoryCode | CapacityCategoryCode | |||
| CompanyCode | CompanyCode | |||
| OperationCostingRelevancyType | OperationCostingRelevancyType | |||
| EmploymentNumberOfTimeTickets | ||||
| NumberOfConfirmationSlips | NumberOfConfirmationSlips | |||
| EmployeeWageGroup | EmployeeWageGroup | |||
| EmployeeWageType | EmployeeWageType | |||
| EmployeeSuitability | EmployeeSuitability | |||
| NumberOfEmployees | NumberOfEmployees | |||
| OriginBillOfOperationsRefType | ||||
| BillOfOperationsRefGroup | BillOfOperationsRefGroup | |||
| BillOfOperationsRefVariant | BillOfOperationsRefVariant | |||
| ProductionLineLineSegmentTakt | ||||
| OrderHasNoSubOperations | OrderHasNoSubOperations | |||
| SetupOperationSetupType | ||||
| OperationSetupGroupCategory | OperationSetupGroupCategory | |||
| OperationSetupGroup | OperationSetupGroup | |||
| BOOOperationIsPhase | BOOOperationIsPhase | |||
| BOOPhaseSuperiorOpInternalID | BOOPhaseSuperiorOpInternalID | |||
| ControlRecipeDestination | ControlRecipeDestination | |||
| OpIsExtlyProcdWithSubcontrg | OpIsExtlyProcdWithSubcontrg | |||
| PurchasingInfoRecord | ||||
| PurchasingOrganization | PurchasingOrganization | |||
| PurchaseContract | ||||
| PurchaseContractItem | ||||
| MaterialGroup | MaterialGroup | |||
| SupplierelseSupplierendasSupplier | ||||
| InspResultRecordingView | InspResultRecordingView | |||
| InspSbstHasNoTimeOrQuantity | InspSbstHasNoTimeOrQuantity | |||
| QuantityOperationReferenceQuantity | ||||
| OperationUnit | OperationUnit | |||
| OperationScrapPercent | OperationScrapPercent | |||
| OpQtyToBaseQtyNmrtr | OpQtyToBaseQtyNmrtr | |||
| OpQtyToBaseQtyDnmntr | OpQtyToBaseQtyDnmntr | |||
| StandardWorkQuantity1 | ||||
| StandardWorkQuantityUnit1 | ||||
| CostCtrActivityType1 | ||||
| PerfEfficiencyRatioCode1 | PerfEfficiencyRatioCode1 | |||
| StandardWorkFormulaParam2 | ||||
| StandardWorkQuantity2 | ||||
| StandardWorkQuantityUnit2 | ||||
| CostCtrActivityType2 | ||||
| PerfEfficiencyRatioCode2 | PerfEfficiencyRatioCode2 | |||
| StandardWorkFormulaParam3 | ||||
| StandardWorkQuantity3 | ||||
| StandardWorkQuantityUnit3 | ||||
| CostCtrActivityType3 | ||||
| PerfEfficiencyRatioCode3 | PerfEfficiencyRatioCode3 | |||
| StandardWorkFormulaParam4 | ||||
| StandardWorkQuantity4 | ||||
| StandardWorkQuantityUnit4 | ||||
| CostCtrActivityType4 | ||||
| PerfEfficiencyRatioCode4 | PerfEfficiencyRatioCode4 | |||
| StandardWorkFormulaParam5 | ||||
| StandardWorkQuantity5 | ||||
| StandardWorkQuantityUnit5 | ||||
| CostCtrActivityType5 | ||||
| PerfEfficiencyRatioCode5 | PerfEfficiencyRatioCode5 | |||
| StandardWorkFormulaParam6 | ||||
| StandardWorkQuantity6 | ||||
| StandardWorkQuantityUnit6 | ||||
| CostCtrActivityType6 | ||||
| PerfEfficiencyRatioCode6 | PerfEfficiencyRatioCode6 | |||
| LeadTimeReductionStrategy | LeadTimeReductionStrategy | |||
| TeardownAndWaitIsParallel | TeardownAndWaitIsParallel | |||
| BillOfOperationsBreakDuration | BillOfOperationsBreakDuration | |||
| BreakDurationUnit | BillOfOperationsBreakDurnUnit | |||
| MaximumWaitDuration | MaximumWaitDuration | |||
| MaximumWaitDurationUnit | MaximumWaitDurationUnit | |||
| MinimumWaitDuration | MinimumWaitDuration | |||
| MinimumWaitDurationUnit | MinimumWaitDurationUnit | |||
| StandardQueueDuration | StandardQueueDuration | |||
| StandardQueueDurationUnit | StandardQueueDurationUnit | |||
| MinimumQueueDuration | MinimumQueueDuration | |||
| MinimumQueueDurationUnit | MinimumQueueDurationUnit | |||
| StandardMoveDuration | StandardMoveDuration | |||
| StandardMoveDurationUnit | StandardMoveDurationUnit | |||
| MinimumMoveDuration | MinimumMoveDuration | |||
| MinimumMoveDurationUnit | MinimumMoveDurationUnit | |||
| SplittingOperationSplitIsRequired | ||||
| MaximumNumberOfSplits | MaximumNumberOfSplits | |||
| MinProcessingDurationPerSplit | MinProcessingDurationPerSplit | |||
| MinProcessingDurnPerSplitUnit | MinProcessingDurnPerSplitUnit | |||
| OperationOverlappingIsPossible | OperationOverlappingIsPossible | |||
| OperationsIsAlwaysOverlapping | OperationsIsAlwaysOverlapping | |||
| OverlapMinimumDuration | OverlapMinimumDuration | |||
| OverlapMinimumDurationUnit | OverlapMinimumDurationUnit | |||
| OverlapMinimumTransferQty | OverlapMinimumTransferQty | |||
| OverlapMinimumTransferQtyUnit | OverlapMinimumTransferQtyUnit | |||
| _BOOOperationInternalID | _BOOOperationInternalID | |||
| _BOOSqncOperationAssgmtChgSt | _BOOSqncOperationAssgmtChgSt | |||
| _BillOfOperations | _BillOfOperations | |||
| _BillOfOperationsBreakDurnUnit | _BillOfOperationsBreakDurnUnit | |||
| _BillOfOperationsGroup | _BillOfOperationsGroup | |||
| _BillOfOperationsOperation | _BillOfOperationsOperation | |||
| _BillOfOperationsSequence | _BillOfOperationsSequence | |||
| _BillOfOperationsType | _BillOfOperationsType | |||
| _CapacityCategory | _CapacityCategory | |||
| _ChangeMaster | _ChangeMaster | |||
| _ControlRecipeDestination | _ControlRecipeDestination | |||
| _EmployeeSuitability | _EmployeeSuitability | |||
| _EmployeeWageGroup | _EmployeeWageGroup | |||
| _FactoryCalendar | _FactoryCalendar | |||
| _InspResultRecordingView | _InspResultRecordingView | |||
| _InspectionLotType | _InspectionLotType | |||
| _LeadTimeReductionStrategy | _LeadTimeReductionStrategy | |||
| _LongTextLanguage | _LongTextLanguage | |||
| _MaterialGroup | _MaterialGroup | |||
| _MaximumWaitDurationUnit | _MaximumWaitDurationUnit | |||
| _MinProcessingDurnPerSplitUnit | _MinProcessingDurnPerSplitUnit | |||
| _MinimumMoveDurationUnit | _MinimumMoveDurationUnit | |||
| _MinimumQueueDurationUnit | _MinimumQueueDurationUnit | |||
| _MinimumWaitDurationUnit | _MinimumWaitDurationUnit | |||
| _OpExternalProcessingCurrency | _OpExternalProcessingCurrency | |||
| _OperationControlProfile | _OperationControlProfile | |||
| _OperationSetupGroup | _OperationSetupGroup | |||
| _OperationSetupGroupCategory | _OperationSetupGroupCategory | |||
| _OperationSetupType | _OperationSetupType | |||
| _OperationStandardText | _OperationStandardText | |||
| _OperationStdWorkQtyGrpgCat | _OperationStdWorkQtyGrpgCat | |||
| _OperationUnit | _OperationUnit | |||
| _OverlapMinimumDurationUnit | _OverlapMinimumDurationUnit | |||
| _OverlapMinimumTransferQtyUnit | _OverlapMinimumTransferQtyUnit | |||
| _PerformanceEfficiencyRatio1 | _PerformanceEfficiencyRatio1 | |||
| _PerformanceEfficiencyRatio2 | _PerformanceEfficiencyRatio2 | |||
| _PerformanceEfficiencyRatio3 | _PerformanceEfficiencyRatio3 | |||
| _PerformanceEfficiencyRatio4 | _PerformanceEfficiencyRatio4 | |||
| _PerformanceEfficiencyRatio5 | _PerformanceEfficiencyRatio5 | |||
| _PerformanceEfficiencyRatio6 | _PerformanceEfficiencyRatio6 | |||
| _Plant | _Plant | |||
| _CompanyCode | _CompanyCode | |||
| _PurchaseContract | _PurchaseContract | |||
| _PurchaseContractItem | _PurchaseContractItem | |||
| _PurchasingGroup | _PurchasingGroup | |||
| _PurchasingInfoRecord | _PurchasingInfoRecord | |||
| _PurchasingOrganization | _PurchasingOrganization | |||
| _StandardMoveDurationUnit | _StandardMoveDurationUnit | |||
| _StandardQueueDurationUnit | _StandardQueueDurationUnit | |||
| _StandardWorkFormulaParameter1 | _StandardWorkFormulaParameter1 | |||
| _StandardWorkFormulaParameter2 | _StandardWorkFormulaParameter2 | |||
| _StandardWorkFormulaParameter3 | _StandardWorkFormulaParameter3 | |||
| _StandardWorkFormulaParameter4 | _StandardWorkFormulaParameter4 | |||
| _StandardWorkFormulaParameter5 | _StandardWorkFormulaParameter5 | |||
| _StandardWorkFormulaParameter6 | _StandardWorkFormulaParameter6 | |||
| _StandardWorkQuantityUnit1 | _StandardWorkQuantityUnit1 | |||
| _StandardWorkQuantityUnit2 | _StandardWorkQuantityUnit2 | |||
| _StandardWorkQuantityUnit3 | _StandardWorkQuantityUnit3 | |||
| _StandardWorkQuantityUnit4 | _StandardWorkQuantityUnit4 | |||
| _StandardWorkQuantityUnit5 | _StandardWorkQuantityUnit5 | |||
| _StandardWorkQuantityUnit6 | _StandardWorkQuantityUnit6 | |||
| _Supplier | _Supplier | |||
| _SupplierCompany | _SupplierCompany | |||
| _SupplierCompanyByPlant | _SupplierCompanyByPlant | |||
| _WorkCenter | _WorkCenter | |||
| _WorkCenterType | _WorkCenterType |
@AbapCatalog.sqlViewName: 'IMFGBOOOPERCHST'
@AbapCatalog.compiler.compareFilter: true
@AccessControl.authorizationCheck: #MANDATORY
@AccessControl.personalData.blocking: #('TRANSACTIONAL_DATA')
@Analytics.dataCategory: #DIMENSION
@Analytics.dataExtraction.enabled: true
@ClientHandling.algorithm: #SESSION_VARIABLE
@ClientHandling.type: #CLIENT_DEPENDENT
@Metadata.allowExtensions: true
@Metadata.ignorePropagatedAnnotations: true
@ObjectModel.modelingPattern: #ANALYTICAL_DIMENSION
@ObjectModel.supportedCapabilities: [#ANALYTICAL_DIMENSION, #CDS_MODELING_ASSOCIATION_TARGET, #SQL_DATA_SOURCE, #CDS_MODELING_DATA_SOURCE, #EXTRACTION_DATA_SOURCE]
@ObjectModel.representativeKey: 'BOOOpInternalVersionCounter'
@ObjectModel.usageType: { serviceQuality: #C, sizeCategory: #L, dataClass: #MIXED }
@VDM.lifecycle.contract.type: #PUBLIC_LOCAL_API
@VDM.viewType: #COMPOSITE
@EndUserText.label: 'Manufacturing Bill of Operations Operation Change State'
@ObjectModel.sapObjectNodeType.name: 'ProductionRoutingOperation'
define view I_MfgBOOOperationChangeState
as select from I_BOOOperationChangeState
-- to root
association [1..1] to I_MfgBillOfOperations as _BillOfOperations on $projection.BillOfOperationsType = _BillOfOperations.BillOfOperationsType
and $projection.BillOfOperationsGroup = _BillOfOperations.BillOfOperationsGroup
and $projection.BillOfOperationsVariant = _BillOfOperations.BillOfOperationsVariant
-- to parent sequence
association [1..1] to I_MfgBillOfOperationsSequence as _BillOfOperationsSequence on $projection.BillOfOperationsType = _BillOfOperationsSequence.BillOfOperationsType
and $projection.BillOfOperationsGroup = _BillOfOperationsSequence.BillOfOperationsGroup
and $projection.BillOfOperationsVariant = _BillOfOperationsSequence.BillOfOperationsVariant
and $projection.BillOfOperationsSequence = _BillOfOperationsSequence.BillOfOperationsSequence
-- to parent operation
association [1..1] to I_MfgBillOfOperationsOperation as _BillOfOperationsOperation on $projection.BillOfOperationsType = _BillOfOperationsOperation.BillOfOperationsType
and $projection.BillOfOperationsGroup = _BillOfOperationsOperation.BillOfOperationsGroup
and $projection.BillOfOperationsVariant = _BillOfOperationsOperation.BillOfOperationsVariant
and $projection.BillOfOperationsSequence = _BillOfOperationsOperation.BillOfOperationsSequence
and $projection.BOOOperationInternalID = _BillOfOperationsOperation.BOOOperationInternalID
association [1..1] to I_MfgBOOSequenceOpAssgmtChgSt 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_CompanyCode as _CompanyCode on $projection.CompanyCode = _CompanyCode.CompanyCode
association [0..1] to I_PurchasingInfoRecord as _PurchasingInfoRec on _PurchasingInfoRec.PurchasingInfoRecord = $projection.PurchasingInfoRecord
association [0..1] to I_PurgInfoRecdOrgPlntDataApi01 as _Std_with_plant on _Std_with_plant.PurchasingInfoRecord = $projection.PurchasingInfoRecord
and _Std_with_plant.PurchasingOrganization = $projection.PurchasingOrganization
and _Std_with_plant.PurchasingInfoRecordCategory = '0'
and _Std_with_plant.Plant = $projection.Plant
association [0..1] to I_PurgInfoRecdOrgPlntDataApi01 as _SubCtrct_with_plant on _SubCtrct_with_plant.PurchasingInfoRecord = $projection.PurchasingInfoRecord
and _SubCtrct_with_plant.PurchasingOrganization = $projection.PurchasingOrganization
and _SubCtrct_with_plant.PurchasingInfoRecordCategory = '3'
and _SubCtrct_with_plant.Plant = $projection.Plant
association [0..1] to I_PurgInfoRecdOrgPlntDataApi01 as _Std_without_plant on _Std_without_plant.PurchasingInfoRecord = $projection.PurchasingInfoRecord
and _Std_without_plant.PurchasingOrganization = $projection.PurchasingOrganization
and _Std_without_plant.PurchasingInfoRecordCategory = '0'
and (
_Std_without_plant.Plant = ''
or _Std_without_plant.Plant is initial
)
association [0..1] to I_PurgInfoRecdOrgPlntDataApi01 as _SubCtrct_without_plant on _SubCtrct_without_plant.PurchasingInfoRecord = $projection.PurchasingInfoRecord
and _SubCtrct_without_plant.PurchasingOrganization = $projection.PurchasingOrganization
and _SubCtrct_without_plant.PurchasingInfoRecordCategory = '3'
and (
_SubCtrct_without_plant.Plant = ''
or _SubCtrct_without_plant.Plant is initial
)
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
-- for DPP part of DCLS
association [0..1] to I_SupplierCompany as _SupplierCompany on $projection.Supplier = _SupplierCompany.Supplier
and $projection.CompanyCode = _SupplierCompany.CompanyCode
association [0..1] to I_SupplierCompanyByPlant as _SupplierCompanyByPlant on $projection.Plant = _SupplierCompanyByPlant.Plant
and $projection.Supplier = _SupplierCompanyByPlant.Supplier
{
// Key
@ObjectModel.foreignKey.association: '_BillOfOperationsType'
key BillOfOperationsType,
@ObjectModel.foreignKey.association: '_BillOfOperationsGroup'
key BillOfOperationsGroup,
@ObjectModel.foreignKey.association: '_BillOfOperations'
key BillOfOperationsVariant,
@ObjectModel.foreignKey.association: '_BillOfOperationsSequence'
key BillOfOperationsSequence,
@ObjectModel.foreignKey.association: '_BOOOperationInternalID'
key BOOOperationInternalID,
@ObjectModel.foreignKey.association: '_BOOSqncOperationAssgmtChgSt'
key BOOSqncOpAssgmtIntVersionCntr,
@ObjectModel.text.element: ['OperationText']
key BOOOpInternalVersionCounter,
// **** Operation Semantic Header ****
OperationExternalID,
@API.element.releaseState: #DEPRECATED
@API.element.successor: 'Operation_2'
@ObjectModel.text.element: ['OperationText']
Operation,
@ObjectModel.text.element: ['OperationText']
Operation_2,
// **** Administration ****
-- Administrative Data
@Semantics.systemDate.createdAt: true
CreationDate,
@Semantics.user.createdBy: true
CreatedByUser,
@Semantics.systemDate.lastChangedAt: true
LastChangeDate,
@Semantics.user.lastChangedBy: true
LastChangedByUser,
-- Validity
@Consumption.valueHelpDefinition: [ { entity: { name: 'I_ChangeMasterStdVH', element: 'ChangeNumber' } } ]
@ObjectModel.foreignKey.association: '_ChangeMaster'
ChangeNumber,
@Semantics.businessDate.from: true
ValidityStartDate,
@Semantics.businessDate.to: true
ValidityEndDate,
// **** Attributes ****
IsDeleted,
IsImplicitlyDeleted,
// **** Text ****
@Semantics.text: true
OperationText,
@ObjectModel.foreignKey.association: '_LongTextLanguage'
LongTextLanguageCode,
// **** Assignments ****
-- General
@Consumption.valueHelpDefinition: [ { entity: { name: 'I_PlantStdVH', element: 'Plant' } } ]
@ObjectModel.foreignKey.association: '_Plant'
Plant,
@ObjectModel.foreignKey.association: '_OperationControlProfile'
OperationControlProfile,
@ObjectModel.foreignKey.association: '_OperationStandardText'
OperationStandardTextCode,
@Consumption.valueHelpDefinition: [ { entity: { name: 'I_WorkCenterStdVH', element: 'WorkCenterInternalID' } } ]
@ObjectModel.foreignKey.association: '_WorkCenter'
WorkCenterInternalID,
@ObjectModel.foreignKey.association: '_WorkCenterType'
WorkCenterTypeCode,
@ObjectModel.foreignKey.association: '_FactoryCalendar'
FactoryCalendar,
@ObjectModel.foreignKey.association: '_CapacityCategory'
CapacityCategoryCode,
-- @ObjectModel.foreignKey.association: '_CostElement' --> too much DB accesses to derive controlling area for CoEl
CostElement,
@Consumption.valueHelpDefinition: [ { entity: { name: 'I_CompanyCodeStdVH', element: 'CompanyCode' } } ]
@ObjectModel.foreignKey.association: '_CompanyCode'
CompanyCode,
OperationCostingRelevancyType,
-- Employment
NumberOfTimeTickets,
NumberOfConfirmationSlips,
@ObjectModel.foreignKey.association: '_EmployeeWageGroup'
EmployeeWageGroup,
EmployeeWageType,
@ObjectModel.foreignKey.association: '_EmployeeSuitability'
EmployeeSuitability,
NumberOfEmployees,
-- Origin
BillOfOperationsRefType,
BillOfOperationsRefGroup,
BillOfOperationsRefVariant,
-- Production Line
LineSegmentTakt,
-- Transfer to Orders (-> Suboperations)
OperationStdWorkQtyGrpgCat,
OrderHasNoSubOperations,
-- Setup
@ObjectModel.foreignKey.association: '_OperationSetupType'
OperationSetupType,
@ObjectModel.foreignKey.association: '_OperationSetupGroupCategory'
OperationSetupGroupCategory,
@ObjectModel.foreignKey.association: '_OperationSetupGroup'
OperationSetupGroup,
// **** Process Control Data ****
BOOOperationIsPhase,
BOOPhaseSuperiorOpInternalID,
@ObjectModel.foreignKey.association: '_ControlRecipeDestination'
ControlRecipeDestination,
// **** External Processing ****
OpIsExtlyProcdWithSubcontrg,
@Consumption.valueHelpDefinition: [ { entity: { name: 'I_PurchasingInfoRecordStdVH', element: 'PurchasingInfoRecord' } } ]
-- @ObjectModel.foreignKey.association: '_PurchasingInfoRecord'
PurchasingInfoRecord,
@ObjectModel.foreignKey.association: '_PurchasingOrganization'
PurchasingOrganization,
@Consumption.valueHelpDefinition: [ { entity: { name: 'I_PurchaseContractStdVH', element: 'PurchaseContract' } } ]
-- @ObjectModel.foreignKey.association: '_PurchaseContract'
PurchaseContract,
@Consumption.valueHelpDefinition: [ { entity: { name: 'I_PurchaseContractItemStdVH', element: 'PurchaseContractItem' } } ]
-- @ObjectModel.foreignKey.association: '_PurchaseContractItem'
PurchaseContractItem,
@Semantics.text: true
case
when PurchasingInfoRecord is not initial
then _PurchasingInfoRec.PurgInfoRecNonStockItmSortTerm
else PurchasingInfoRecdAddlGrpgName
end as PurchasingInfoRecdAddlGrpgName,
@ObjectModel.foreignKey.association: '_MaterialGroup'
MaterialGroup,
@ObjectModel.foreignKey.association: '_PurchasingGroup'
case
when PurchasingInfoRecord is not initial
then case
when OpIsExtlyProcdWithSubcontrg is not initial
then coalesce( _SubCtrct_with_plant.PurchasingGroup, _SubCtrct_without_plant.PurchasingGroup )
else coalesce( _Std_with_plant.PurchasingGroup, _Std_without_plant.PurchasingGroup )
end
else PurchasingGroup
end as PurchasingGroup,
@Consumption.valueHelpDefinition: [ { entity: { name: 'I_Supplier_VH', element: 'Supplier' } } ]
@ObjectModel.foreignKey.association: '_Supplier'
case
when PurchasingInfoRecord is not initial
then _PurchasingInfoRec.Supplier
else Supplier
end as Supplier,
case
when PurchasingInfoRecord is not initial
then case
when OpIsExtlyProcdWithSubcontrg is not initial
then coalesce( _SubCtrct_with_plant.MaterialPlannedDeliveryDurn, _SubCtrct_without_plant.MaterialPlannedDeliveryDurn )
else coalesce( _Std_with_plant.MaterialPlannedDeliveryDurn, _Std_without_plant.MaterialPlannedDeliveryDurn )
end
else PlannedDeliveryDuration
end as PlannedDeliveryDuration,
case
when PurchasingInfoRecord is not initial
then case
when OpIsExtlyProcdWithSubcontrg is not initial
then coalesce( _SubCtrct_with_plant.MaterialPriceUnitQty, _SubCtrct_without_plant.MaterialPriceUnitQty )
else coalesce( _Std_with_plant.MaterialPriceUnitQty, _Std_without_plant.MaterialPriceUnitQty )
end
else NumberOfOperationPriceUnits
end as NumberOfOperationPriceUnits,
@Semantics.currencyCode: true
case
when PurchasingInfoRecord is not initial
then case
when OpIsExtlyProcdWithSubcontrg is not initial
then coalesce( _SubCtrct_with_plant.Currency, _SubCtrct_without_plant.Currency )
else coalesce( _Std_with_plant.Currency, _Std_without_plant.Currency )
end
else OpExternalProcessingCurrency
end as OpExternalProcessingCurrency,
@Aggregation.default: #SUM
@Semantics.amount.currencyCode: 'OpExternalProcessingCurrency'
case
when PurchasingInfoRecord is not initial
then case
when OpIsExtlyProcdWithSubcontrg is not initial
then coalesce( _SubCtrct_with_plant.NetPriceAmount, _SubCtrct_without_plant.NetPriceAmount )
else coalesce( _Std_with_plant.NetPriceAmount, _Std_without_plant.NetPriceAmount )
end
else OpExternalProcessingPrice
end as OpExternalProcessingPrice,
// **** Quality Management ****
-- Quality management: general
@ObjectModel.foreignKey.association: '_InspectionLotType'
InspectionLotType,
@ObjectModel.foreignKey.association: '_InspResultRecordingView'
InspResultRecordingView,
-- Quality management: inspection points
InspSbstCompletionConfirmation,
InspSbstHasNoTimeOrQuantity,
// **** Quantities / Work Quantities ****
-- Quantity
@Semantics.quantity.unitOfMeasure: 'OperationUnit'
@Aggregation.default: #SUM
OperationReferenceQuantity,
@Semantics.unitOfMeasure: true
OperationUnit,
OperationScrapPercent,
OpQtyToBaseQtyNmrtr,
OpQtyToBaseQtyDnmntr,
-- Standard Values
cast(StandardWorkFormulaParam1 as pph_par01 preserving type) as StandardWorkFormulaParam1,
@Semantics.quantity.unitOfMeasure: 'StandardWorkQuantityUnit1'
@Aggregation.default: #SUM
cast(StandardWorkQuantity1 as vdm_vgw01 preserving type) as StandardWorkQuantity1,
@Semantics.unitOfMeasure: true
cast(StandardWorkQuantityUnit1 as pph_vge01 preserving type) as StandardWorkQuantityUnit1,
cast(CostCtrActivityType1 as vdm_lar01 preserving type) as CostCtrActivityType1,
@ObjectModel.foreignKey.association: '_PerformanceEfficiencyRatio1'
PerfEfficiencyRatioCode1,
cast(StandardWorkFormulaParam2 as pph_par02 preserving type) as StandardWorkFormulaParam2,
@Semantics.quantity.unitOfMeasure: 'StandardWorkQuantityUnit2'
@Aggregation.default: #SUM
cast(StandardWorkQuantity2 as vdm_vgw02 preserving type) as StandardWorkQuantity2,
@Semantics.unitOfMeasure: true
cast(StandardWorkQuantityUnit2 as pph_vge02 preserving type) as StandardWorkQuantityUnit2,
cast(CostCtrActivityType2 as vdm_lar02 preserving type) as CostCtrActivityType2,
@ObjectModel.foreignKey.association: '_PerformanceEfficiencyRatio2'
PerfEfficiencyRatioCode2,
cast(StandardWorkFormulaParam3 as pph_par03 preserving type) as StandardWorkFormulaParam3,
@Semantics.quantity.unitOfMeasure: 'StandardWorkQuantityUnit3'
@Aggregation.default: #SUM
cast(StandardWorkQuantity3 as vdm_vgw03 preserving type) as StandardWorkQuantity3,
@Semantics.unitOfMeasure: true
cast(StandardWorkQuantityUnit3 as pph_vge03 preserving type) as StandardWorkQuantityUnit3,
cast(CostCtrActivityType3 as vdm_lar03 preserving type) as CostCtrActivityType3,
@ObjectModel.foreignKey.association: '_PerformanceEfficiencyRatio3'
PerfEfficiencyRatioCode3,
cast(StandardWorkFormulaParam4 as pph_par04 preserving type) as StandardWorkFormulaParam4,
@Semantics.quantity.unitOfMeasure: 'StandardWorkQuantityUnit4'
@Aggregation.default: #SUM
cast(StandardWorkQuantity4 as vdm_vgw04 preserving type) as StandardWorkQuantity4,
@Semantics.unitOfMeasure: true
cast(StandardWorkQuantityUnit4 as pph_vge04 preserving type) as StandardWorkQuantityUnit4,
cast(CostCtrActivityType4 as vdm_lar04 preserving type) as CostCtrActivityType4,
@ObjectModel.foreignKey.association: '_PerformanceEfficiencyRatio4'
PerfEfficiencyRatioCode4,
cast(StandardWorkFormulaParam5 as pph_par05 preserving type) as StandardWorkFormulaParam5,
@Semantics.quantity.unitOfMeasure: 'StandardWorkQuantityUnit5'
@Aggregation.default: #SUM
cast(StandardWorkQuantity5 as vdm_vgw05 preserving type) as StandardWorkQuantity5,
@Semantics.unitOfMeasure: true
cast(StandardWorkQuantityUnit5 as pph_vge05 preserving type) as StandardWorkQuantityUnit5,
cast(CostCtrActivityType5 as vdm_lar05 preserving type) as CostCtrActivityType5,
@ObjectModel.foreignKey.association: '_PerformanceEfficiencyRatio5'
PerfEfficiencyRatioCode5,
cast(StandardWorkFormulaParam6 as pph_par06 preserving type) as StandardWorkFormulaParam6,
@Semantics.quantity.unitOfMeasure: 'StandardWorkQuantityUnit6'
@Aggregation.default: #SUM
cast(StandardWorkQuantity6 as vdm_vgw06 preserving type) as StandardWorkQuantity6,
@Semantics.unitOfMeasure: true
cast(StandardWorkQuantityUnit6 as pph_vge06 preserving type) as StandardWorkQuantityUnit6,
cast(CostCtrActivityType6 as vdm_lar06 preserving type) as CostCtrActivityType6,
@ObjectModel.foreignKey.association: '_PerformanceEfficiencyRatio6'
PerfEfficiencyRatioCode6,
-- Business Process
-- @ObjectModel.foreignKey.association: '_BusinessProcess' --> too much DB accesses to derive controlling area for BusPr
BusinessProcess,
// **** Interoperation Times ****
@ObjectModel.foreignKey.association: '_LeadTimeReductionStrategy'
LeadTimeReductionStrategy,
TeardownAndWaitIsParallel,
BillOfOperationsBreakDuration,
@Semantics.unitOfMeasure: true
BillOfOperationsBreakDurnUnit as BreakDurationUnit,
MaximumWaitDuration,
@Semantics.unitOfMeasure: true
MaximumWaitDurationUnit,
MinimumWaitDuration,
@Semantics.unitOfMeasure: true
MinimumWaitDurationUnit,
StandardQueueDuration,
@Semantics.unitOfMeasure: true
StandardQueueDurationUnit,
MinimumQueueDuration,
@Semantics.unitOfMeasure: true
MinimumQueueDurationUnit,
StandardMoveDuration,
@Semantics.unitOfMeasure: true
StandardMoveDurationUnit,
MinimumMoveDuration,
@Semantics.unitOfMeasure: true
MinimumMoveDurationUnit,
// **** Control Data ****
--- Splitting
OperationSplitIsRequired,
MaximumNumberOfSplits,
MinProcessingDurationPerSplit,
@Semantics.unitOfMeasure: true
MinProcessingDurnPerSplitUnit,
--- Overlapping
OperationOverlappingIsRequired,
OperationOverlappingIsPossible,
OperationsIsAlwaysOverlapping,
case
when OperationOverlappingIsRequired <> 'X'
then case
when OperationOverlappingIsPossible <> 'X'
then case
when OperationsIsAlwaysOverlapping <> 'X'
then cast( 'X' as uenicht preserving type ) else cast( '' as uenicht preserving type ) end
else cast( '' as uenicht preserving type ) end
else cast( '' as uenicht preserving type ) end as OperationHasNoOverlapping,
OverlapMinimumDuration,
@Semantics.unitOfMeasure: true
OverlapMinimumDurationUnit,
@Semantics.quantity.unitOfMeasure: 'OverlapMinimumTransferQtyUnit'
@Aggregation.default: #SUM
OverlapMinimumTransferQty,
@Semantics.unitOfMeasure: true
OverlapMinimumTransferQtyUnit,
// **** Associations ****
@Consumption.hidden: true
_BOOOperationInternalID,
_BOOSqncOperationAssgmtChgSt,
_BillOfOperations,
_BillOfOperationsBreakDurnUnit,
_BillOfOperationsGroup,
_BillOfOperationsOperation,
_BillOfOperationsSequence,
_BillOfOperationsType,
_CapacityCategory,
_ChangeMaster,
_ControlRecipeDestination,
_EmployeeSuitability,
_EmployeeWageGroup,
_FactoryCalendar,
_InspResultRecordingView,
_InspectionLotType,
_LeadTimeReductionStrategy,
_LongTextLanguage,
_MaterialGroup,
_MaximumWaitDurationUnit,
_MinProcessingDurnPerSplitUnit,
_MinimumMoveDurationUnit,
_MinimumQueueDurationUnit,
_MinimumWaitDurationUnit,
_OpExternalProcessingCurrency,
_OperationControlProfile,
_OperationSetupGroup,
_OperationSetupGroupCategory,
_OperationSetupType,
_OperationStandardText,
_OperationStdWorkQtyGrpgCat,
_OperationUnit,
_OverlapMinimumDurationUnit,
_OverlapMinimumTransferQtyUnit,
_PerformanceEfficiencyRatio1,
_PerformanceEfficiencyRatio2,
_PerformanceEfficiencyRatio3,
_PerformanceEfficiencyRatio4,
_PerformanceEfficiencyRatio5,
_PerformanceEfficiencyRatio6,
_Plant,
_CompanyCode,
_PurchaseContract,
_PurchaseContractItem,
_PurchasingGroup,
_PurchasingInfoRecord,
_PurchasingOrganization,
_StandardMoveDurationUnit,
_StandardQueueDurationUnit,
_StandardWorkFormulaParameter1,
_StandardWorkFormulaParameter2,
_StandardWorkFormulaParameter3,
_StandardWorkFormulaParameter4,
_StandardWorkFormulaParameter5,
_StandardWorkFormulaParameter6,
_StandardWorkQuantityUnit1,
_StandardWorkQuantityUnit2,
_StandardWorkQuantityUnit3,
_StandardWorkQuantityUnit4,
_StandardWorkQuantityUnit5,
_StandardWorkQuantityUnit6,
_Supplier,
@Consumption.hidden: true
_SupplierCompany,
@Consumption.hidden: true
_SupplierCompanyByPlant,
_WorkCenter,
@Consumption.hidden: true
_WorkCenterType
}
where
BillOfOperationsType = '2' // Recipe
or BillOfOperationsType = 'N' // Standard routing
or BillOfOperationsType = 'S'; // Reference operation set
Learn More
- What Is a CDS View in SAP S/4HANA?
- Types of CDS Views: Basic, Composite, Consumption, and Transactional
- SAP Tables vs CDS Views — Key Differences
- Understanding Data Lineage in SAP S/4HANA
- VDM (Virtual Data Model) in SAP S/4HANA Explained
- CDS View Annotations — A Complete Guide
- CDS View Field Mapping and Associations
- Understanding the SAP S/4HANA Data Model
- CDS View Extensions and Custom Fields in SAP S/4HANA
- Released APIs and Stability Contracts in SAP S/4HANA