@AbapCatalog.sqlViewName: 'IMFGORDERSEQBAS'
@AbapCatalog.compiler.compareFilter: true
@AbapCatalog.preserveKey: true
@AccessControl.authorizationCheck: #MANDATORY
@AccessControl.personalData.blocking: #NOT_REQUIRED
@Analytics.dataCategory: #DIMENSION
@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: 'ManufacturingOrderSequence'
@ObjectModel.semanticKey: ['ManufacturingOrder', 'ManufacturingOrderSequence']
@ObjectModel.usageType: {serviceQuality: #A, sizeCategory: #L, dataClass: #TRANSACTIONAL}
@VDM.lifecycle.contract.type: #PUBLIC_LOCAL_API
@VDM.viewType: #BASIC
@EndUserText.label: 'Manufacturing Order Sequence Basic View'
// Basic view for Mfg Order Sequences w/o exposed branching and returning operation numbers
/*+[hideWarning] { "IDS" : [ "CALCULATED_FIELD_CHECK", "KEY_CHECK" ] } */
define view I_MfgOrderSequenceBasic
as select from I_OrderSequence as affl
association [1..1] to I_ManufacturingOrder as _MfgOrder on $projection.ManufacturingOrder = _MfgOrder.ManufacturingOrder
association [1..1] to I_MfgOrderCategory as _MfgOrderCategory on $projection.ManufacturingOrderCategory = _MfgOrderCategory.ManufacturingOrderCategory
association [1..1] to I_MfgOrderType as _MfgOrderType on $projection.ManufacturingOrderType = _MfgOrderType.ManufacturingOrderType
association [0..1] to I_MfgBillOfOperations as _BillOfOperations on $projection.BillOfOperationsType = _BillOfOperations.BillOfOperationsType
and $projection.BillOfOperations = _BillOfOperations.BillOfOperationsGroup
and $projection.BillOfOperationsVariant = _BillOfOperations.BillOfOperationsVariant
{
// Semantical key
@Consumption.valueHelpDefinition: [ { entity: { name: 'I_MfgOrderStdVH', element: 'ManufacturingOrder' } } ]
@ObjectModel.foreignKey.association: '_MfgOrder'
key cast(affl.OrderID as manufacturingorder preserving type) as ManufacturingOrder,
@ObjectModel.text.element: ['MfgOrderSequenceText']
key cast(affl.Sequence as manufacturingordersequence preserving type) as ManufacturingOrderSequence,
// Technical Key
@ObjectModel.foreignKey.association: '_OrderInternalID'
affl.OrderInternalID as OrderInternalBillOfOperations,
affl.SequenceInternalID as OrderIntBillOfOperationsItem,
// Short Text
@Semantics.text: true
cast(affl.SequenceText as mfgordersequencetext preserving type) as MfgOrderSequenceText,
@ObjectModel.foreignKey.association: '_Language'
affl.Language as Language,
// Assignments
@ObjectModel.foreignKey.association: '_MfgOrderCategory'
cast(affl.OrderCategory as manufacturingordercategory preserving type) as ManufacturingOrderCategory,
@ObjectModel.foreignKey.association: '_MfgOrderType'
cast(affl.OrderType as manufacturingordertype preserving type) as ManufacturingOrderType,
@ObjectModel.foreignKey.association: '_SequenceCategory'
affl.SequenceCategory as MfgOrderSequenceCategory,
@Consumption.valueHelpDefinition: [ { entity: { name: 'I_PlantStdVH', element: 'Plant' } } ]
@ObjectModel.foreignKey.association: '_Plant'
affl.ProductionPlant,
-- @ObjectModel.foreignKey.association: '_ReferenceSequence'
affl.ReferenceSequence,
@ObjectModel.foreignKey.association: '_BillOfOperationsType'
affl.BillOfOperationsType,
@VDM.lifecycle.status: #DEPRECATED // default data element change -> deprecated to avoid RTT2 error in ATC
@VDM.lifecycle.successor: 'BillOfOperationsGroup'
affl.BillOfOperations,
@ObjectModel.foreignKey.association: '_BillOfOperationsGroup'
affl.BillOfOperationsGroup,
@ObjectModel.foreignKey.association: '_BillOfOperationsVariant'
affl.BillOfOperationsVariant,
@ObjectModel.foreignKey.association: '_SequenceSchedulingAlignment'
affl.SequenceSchedulingAlignment,
affl.ObjectInternalID,
affl.BranchOperationInternalID,
affl.ReturnOperationInternalID,
// Quantities and UoM
@Semantics.unitOfMeasure: true
affl.BillOfOperationsUnit,
@Semantics.quantity.unitOfMeasure: 'BillOfOperationsUnit'
@Aggregation.default: #MIN
affl.MinimumLotSizeQuantity,
@Semantics.quantity.unitOfMeasure: 'BillOfOperationsUnit'
@Aggregation.default: #MAX
affl.MaximumLotSizeQuantity,
// Associations
_MfgOrder,
_MfgOrderCategory,
_MfgOrderType,
affl._OrderInternalID,
affl._SequenceCategory,
affl._SequenceSchedulingAlignment,
affl._Plant,
affl._BillOfOperationsType,
affl._BillOfOperationsGroup,
@VDM.lifecycle.status: #DEPRECATED // obsolete, but kept for MDES compatibility
@VDM.lifecycle.successor: '_BillOfOperationsVariant'
_BillOfOperations,
affl._BillOfOperationsVariant,
affl._BillOfOperationsUnit,
affl._Language
}
where ( affl.OrderCategory = '10' or //Manufacturing orders only
affl.OrderCategory = '40' );
/*+[internal] {
"BASEINFO":
{
"FROM":
[
"I_ORDERSEQUENCE"
],
"ASSOCIATED":
[
"I_BILLOFOPERATIONS",
"I_BILLOFOPERATIONSGROUP",
"I_BILLOFOPERATIONSTYPE",
"I_LANGUAGE",
"I_MANUFACTURINGORDER",
"I_MFGBILLOFOPERATIONS",
"I_MFGORDERCATEGORY",
"I_MFGORDERTYPE",
"I_ORDERINTERNALID",
"I_PLANT",
"I_SEQUENCECATEGORY",
"I_SEQUENCESCHEDULINGALIGNMENT",
"I_UNITOFMEASURE"
],
"BASE":
[
"I_ORDERSEQUENCE"
],
"ANNO_REF":
[],
"SCALAR_FUNCTION":
[],
"VERSION":0,
"ANNOREF_EVALUATION_ERROR":""
}
}*/