@AbapCatalog.sqlViewName: 'IPPBOOCHARCVERS'
@AbapCatalog.compiler.compareFilter: true
@ClientHandling.algorithm: #SESSION_VARIABLE
@VDM: {
viewType: #BASIC,
lifecycle.contract.type: #PUBLIC_LOCAL_API
}
@AccessControl.authorizationCheck: #CHECK
@EndUserText.label: 'Bill Of Operations Characteristic Vers.'
@ObjectModel.representativeKey: 'BOOCharacteristicVersion'
@ObjectModel.usageType: { serviceQuality: #C, sizeCategory: #M, dataClass: #MASTER } // as function substring is used but #A and #B must not contain functions
@Metadata.ignorePropagatedAnnotations: true
define view I_BOOCharacteristicVersion
as select from plmk
// --------------------------------------------------------------------------------------------------------
// General Foreign Key Associations
// --------------------------------------------------------------------------------------------------------
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
association [1..1] to I_BOOCharacteristic as _BOOCharacteristic on $projection.BillOfOperationsType = _BOOCharacteristic.BillOfOperationsType
and $projection.BillOfOperationsGroup = _BOOCharacteristic.BillOfOperationsGroup
and $projection.BOOOperationInternalID = _BOOCharacteristic.BOOOperationInternalID
and $projection.BOOCharacteristic = _BOOCharacteristic.BOOCharacteristic
association [1..1] to I_InspectionMethod as _InspectionMethod on $projection.InspectionMethodPlant = _InspectionMethod.InspectionMethodPlant
and $projection.InspectionMethod = _InspectionMethod.InspectionMethod
association [1..1] to I_InspectionMethodVersion as _InspectionMethodVersion on $projection.InspectionMethodPlant = _InspectionMethodVersion.InspectionMethodPlant
and $projection.InspectionMethod = _InspectionMethodVersion.InspectionMethod
and $projection.InspectionMethodVersion = _InspectionMethodVersion.InspectionMethodVersion
association [1..1] to I_InspectionSpecification as _InspectionSpecification on $projection.InspectionSpecificationPlant = _InspectionSpecification.InspectionSpecificationPlant
and $projection.InspectionSpecification = _InspectionSpecification.InspectionSpecification
association [1..1] to I_InspSpecificationVersion as _InspSpecificationVersion on $projection.InspectionSpecificationPlant = _InspSpecificationVersion.InspectionSpecificationPlant
and $projection.InspectionSpecification = _InspSpecificationVersion.InspectionSpecification
and $projection.InspectionSpecificationVersion = _InspSpecificationVersion.InspectionSpecificationVersion
association [0..1] to I_InspSpecImportanceCode as _InspSpecImportanceCode on $projection.InspSpecImportanceCode = _InspSpecImportanceCode.InspSpecImportanceCode
association [0..1] to I_InspectorQualification as _InspectorQualification on $projection.InspectorQualification = _InspectorQualification.InspectorQualification
association [0..1] to I_SamplingProcedure as _SamplingProcedure on $projection.SamplingProcedure = _SamplingProcedure.SamplingProcedure
association [0..1] to I_InspToleranceSpecification as _InspToleranceSpecification on $projection.InspToleranceSpecification = _InspToleranceSpecification.InspToleranceSpecification
//
association [0..1] to I_DefectCodeGroup as _InspDefectCodeGrpRejection on _InspDefectCodeGrpRejection.DefectCodeGroup = $projection.InspSpecDefectCodeGrpRejection
association [0..1] to I_DefectCode as _InspDefectCodeRejection on _InspDefectCodeRejection.DefectCodeGroup = $projection.InspSpecDefectCodeGrpRejection
and _InspDefectCodeRejection.DefectCode = $projection.InspSpecDefectCodeRejection
association [0..1] to I_DefectCodeGroup as _InspDefectCodeGrpRjcnUpper on _InspDefectCodeGrpRjcnUpper.DefectCodeGroup = $projection.InspSpecDefectCodeGrpRjcnUpper
association [0..1] to I_DefectCode as _InspDefectCodeRjcnUpper on _InspDefectCodeRjcnUpper.DefectCodeGroup = $projection.InspSpecDefectCodeGrpRjcnUpper
and _InspDefectCodeRjcnUpper.DefectCode = $projection.InspSpecDefectCodeRjcnUpper
association [0..1] to I_DefectCodeGroup as _InspDefectCodeGrpRjcnLower on _InspDefectCodeGrpRjcnLower.DefectCodeGroup = $projection.InspSpecDefectCodeGrpRjcnLower
association [0..1] to I_DefectCode as _InspDefectCodeRjcnLower on _InspDefectCodeRjcnLower.DefectCodeGroup = $projection.InspSpecDefectCodeGrpRjcnLower
and _InspDefectCodeRjcnLower.DefectCode = $projection.InspSpecDefectCodeRjcnLower
association [0..1] to I_CharcAttribSelectedCodeSet as _CharcAttribSelectedCodeSet on $projection.SelectedCodeSetPlant = _CharcAttribSelectedCodeSet.SelectedCodeSetPlant
and $projection.SelectedCodeSet = _CharcAttribSelectedCodeSet.SelectedCodeSet
association [0..1] to I_Plant as _InspectionMethodPlant on $projection.InspectionMethodPlant = _InspectionMethodPlant.Plant
association [0..1] to I_Plant as _InspectionSpecificationPlant on $projection.InspectionSpecificationPlant = _InspectionSpecificationPlant.Plant
association [0..1] to I_Plant as _SelectedCodeSetPlant on $projection.SelectedCodeSetPlant = _SelectedCodeSetPlant.Plant
association [0..1] to I_UnitOfMeasure as _InspSpecUnitOfMeasure on $projection.InspectionSpecificationUnit = _InspSpecUnitOfMeasure.UnitOfMeasure
association [0..1] to I_UnitOfMeasure as _SampleUnitOfMeasure on $projection.InspCharacteristicSampleUnit = _SampleUnitOfMeasure.UnitOfMeasure
// --------------------------------------------------------------------------------------------------------
// Text Associations for Fixed Domain Values
// --------------------------------------------------------------------------------------------------------
association [1..1] to I_InspSpecCharcType as _InspSpecCharcType on $projection.InspSpecCharacteristicType = _InspSpecCharcType.InspSpecCharacteristicType
association [0..1] to I_InspectionScope as _InspectionScope on $projection.InspectionScope = _InspectionScope.InspectionScope
association [0..1] to I_InspSpecRecordingType as _InspSpecRecordingType on $projection.InspSpecRecordingType = _InspSpecRecordingType.InspSpecRecordingType
association [0..1] to I_InspResultDocuRequired as _InspResultDocuRequired on $projection.InspResultIsDocumentationRqd = _InspResultDocuRequired.InspResultIsDocumentationRqd
association [0..1] to I_Inspspeccharccategory as _InspSpecCharcCategory on $projection.InspSpecCharcCategory = _InspSpecCharcCategory.InspSpecCharcCategory
association [0..1] to I_InspSpecRsltCalculation as _InspSpecRsltCalculation on $projection.InspSpecResultCalculation = _InspSpecRsltCalculation.InspSpecResultCalculation
association [0..1] to I_InspSpecPrintControl as _InspSpecPrintControl on $projection.InspSpecPrintControl = _InspSpecPrintControl.InspSpecPrintControl
association [0..1] to I_BOOCharcInspRelevance as _BOOCharcInspRelevance on $projection.BOOCharacteristicInspRelevance = _BOOCharcInspRelevance.BOOCharacteristicInspRelevance
// --------------------------------------------------------------------------------------------------------
// Extension Association
// --------------------------------------------------------------------------------------------------------
association [1..1] to E_BOOCharacteristic as _Extension on $projection.BillOfOperationsType = _Extension.BillOfOperationsType
and $projection.BillOfOperationsGroup = _Extension.BillOfOperationsGroup
and $projection.BOOOperationInternalID = _Extension.BOOOperationInternalID
and $projection.BOOCharacteristic = _Extension.BOOCharacteristic
and $projection.BOOCharacteristicVersion = _Extension.BOOCharacteristicVersion
// Association to texts in user language
association [0..1] to I_InspSpecificationVersionText as _InspSpecificationVersionText on $projection.InspectionSpecificationPlant = _InspSpecificationVersionText.InspectionSpecificationPlant
and $projection.InspectionSpecification = _InspSpecificationVersionText.InspectionSpecification
and $projection.InspectionSpecificationVersion = _InspSpecificationVersionText.InspectionSpecificationVersion
and _InspSpecificationVersionText.Language = $session.system_language
{
// --------------------------------------------------------------------------------------------------------
// Key
// --------------------------------------------------------------------------------------------------------
@ObjectModel.foreignKey.association: '_BillOfOperationsType'
key plmk.plnty as BillOfOperationsType,
@ObjectModel.foreignKey.association: '_BillOfOperationsGroup'
key plmk.plnnr as BillOfOperationsGroup,
@ObjectModel.foreignKey.association: '_BOOOperationInternalID'
key plmk.plnkn as BOOOperationInternalID,
// Field plmk.kzeinstell is an obsolete key field and no longer in use but as a non-representative key field it would require a foreign
// key association pointing to a separate but empty domain fix value view (there are no domain fix values at all for this domain)
// Thus the field is removed from the key and a projection on the only possible value (WHERE ... = ' ') is added instead
// key plmk.kzeinstell as BOOCharacteristicType, // Indicator for charc. type (setup, inspection)
@ObjectModel.foreignKey.association: '_BOOCharacteristic'
key plmk.merknr as BOOCharacteristic,
key plmk.zaehl as BOOCharacteristicVersion,
// --------------------------------------------------------------------------------------------------------
// Validity
// --------------------------------------------------------------------------------------------------------
@Semantics.businessDate.from: true
plmk.gueltigab as ValidityStartDate,
@Semantics.businessDate.to: true
plmk.valid_to_on_db as ValidityEndDate,
// --------------------------------------------------------------------------------------------------------
// General Data
// --------------------------------------------------------------------------------------------------------
plmk.aendergnr as ChangeNumber,
plmk.loekz as IsDeleted,
// Reference to inspection method (table QMTB)
@ObjectModel.foreignKey.association: '_InspectionMethodPlant'
plmk.qmtb_werks as InspectionMethodPlant,
@ObjectModel.foreignKey.association: '_InspectionMethod'
plmk.pmethode as InspectionMethod,
//--[ GENERATED:012:GlBfhyFV7kY4haHubE4LDG
@Consumption.valueHelpDefinition: [
{ entity: { name: 'I_InspMethVersStdVH',
element: 'InspectionMethodVersion' },
additionalBinding: [{ localElement: 'InspectionMethodPlant',
element: 'InspectionMethodPlant' },
{ localElement: 'InspectionMethod',
element: 'InspectionMethod' }]
}]
// ]--GENERATED
@ObjectModel.foreignKey.association: '_InspectionMethodVersion'
plmk.pmtversion as InspectionMethodVersion,
@ObjectModel.foreignKey.association: '_InspSpecImportanceCode'
plmk.merkgew as InspSpecImportanceCode,
//--[ GENERATED:012:GlBfhyFV7kY4haHubE4LDG
@Consumption.valueHelpDefinition: [
{ entity: { name: 'I_InspectorQualificationStdVH',
element: 'InspectorQualification' }
}]
// ]--GENERATED
@ObjectModel.foreignKey.association: '_InspectorQualification'
plmk.pruefquali as InspectorQualification,
// Assigned Test Equipment (Item counter for production resources/tools)
plmk.pzlfh as BOOOperationPRTInternalID,
// --- Currently not in select list ---
// plmk.probenr, // partial sample id
// plmk.eeantverf as DefectFractionEstimationProced, // Code for fraction calc. procedure for share estimation
// plmk.qergdath, // Planned Results Data Origin
// --------------------------------------------------------------------------------------------------------
// Reference to Inspection Specification Version (Inspection Characteristic Master, table QPMK)
// --------------------------------------------------------------------------------------------------------
@ObjectModel.foreignKey.association: '_InspectionSpecificationPlant'
plmk.qpmk_zaehl as InspectionSpecificationPlant,
@ObjectModel.foreignKey.association: '_InspectionSpecification'
plmk.verwmerkm as InspectionSpecification,
@ObjectModel.foreignKey.association: '_InspSpecificationVersion'
plmk.mkversion as InspectionSpecificationVersion,
@Semantics.booleanIndicator: true
plmk.qpmk_ref as BOOCharcHasInspSpecReference,
// --------------------------------------------------------------------------------------------------------
// Control indicators
// --------------------------------------------------------------------------------------------------------
// STEUERKZ is a string consisting of several flags (characters of length 1) each having an own
// semantic (Control indicator, see DDIC structure QMKST) which have to are mapped to one single field each
@ObjectModel.readOnly: true
plmk.steuerkz as InspSpecControlIndicators, // Publish structure as a whole
cast( substring(plmk.steuerkz,1,1) as vdm_qkzqunmk preserving type ) as InspSpecIsQuantitative, // Quantitative-Qualitative
@ObjectModel.foreignKey.association: '_InspSpecCharcType'
case substring(plmk.steuerkz,1,1)
when 'X' then cast ( '1' as vdm_qchar_type_basic ) // = Quantitative
else cast ( '2' as vdm_qchar_type_basic ) // = Qualitative
end as InspSpecCharacteristicType,
@Semantics.booleanIndicator: true
@EndUserText.label: 'Measured Value Must Be Recorded'
cast( substring(plmk.steuerkz,2,1) as qkzqumk preserving type ) as InspSpecIsMeasuredValueRqd, // Measured Value Must Be Recorded
@Semantics.booleanIndicator: true
@EndUserText.label: 'Characteristic Attribute'
@EndUserText.quickInfo: 'Reference to Characteristic Attribute Required'
cast( substring(plmk.steuerkz,3,1) as qkzpkat preserving type ) as InspSpecIsSelectedSetRequired, // Selected set is required
@Semantics.booleanIndicator: true
@EndUserText.label: 'Upper Specification Limit'
cast( substring(plmk.steuerkz,4,1) as qkztolob preserving type ) as InspSpecIsUpperLimitRequired, // Upper Specification Limit Required
@Semantics.booleanIndicator: true
@EndUserText.label: 'Lower Specification Limit'
cast( substring(plmk.steuerkz,5,1) as qkztolun preserving type ) as InspSpecIsLowerLimitRequired, // Lower Specification Limit Required
@Semantics.booleanIndicator: true
cast( substring(plmk.steuerkz,6,1) as qkzsollpr preserving type ) as InspSpecIsTargetValueInLimit, // Check if target value is between lower and upper limit
@ObjectModel.foreignKey.association: '_InspectionScope'
cast( substring(plmk.steuerkz,7,1) as qpumfkz preserving type ) as InspectionScope, // Inspection Scope
@Semantics.booleanIndicator: true
@EndUserText.label: 'Long-Term Inspection'
cast( substring(plmk.steuerkz,8,1) as qlzeitkz preserving type ) as InspSpecIsLongTermInspection, // Long-Term Inspection
@ObjectModel.foreignKey.association: '_InspSpecRecordingType'
cast( substring(plmk.steuerkz,9,1) as qestukz preserving type ) as InspSpecRecordingType, // RecordingType: Values from domain QESTKUZ
@ObjectModel.foreignKey.association: '_InspResultDocuRequired'
cast( substring(plmk.steuerkz,10,1) as vdm_qdokukz preserving type ) as InspResultIsDocumentationRqd, // Documentation Required for Inspection Result: Values from domain QDOKUKZ
@ObjectModel.foreignKey.association: '_InspSpecCharcCategory'
cast( substring(plmk.steuerkz,11,1) as vdm_qrzwang preserving type ) as InspSpecCharcCategory, // Characteristic Category
@Semantics.booleanIndicator: true
cast( substring(plmk.steuerkz,13,1) as qaddpro preserving type ) as InspSpecIsSampleQtyAdditive, // Sample Quantity Is Additive
@Semantics.booleanIndicator: true
@EndUserText.label: 'Destructive Inspection'
cast( substring(plmk.steuerkz,14,1) as qkzdestroy preserving type ) as InspSpecIsDestructive, // Destructive Inspection
@ObjectModel.foreignKey.association: '_InspSpecRsltCalculation'
cast( substring(plmk.steuerkz,15,1) as vdm_qkzformel preserving type ) as InspSpecResultCalculation, // Result Calculation for Characteristics
@Semantics.booleanIndicator: true
cast( substring(plmk.steuerkz,16,1) as qstichpr preserving type ) as InspSpecIsSamplingProcedRqd, // Sampling Procedure Is Required
@Semantics.booleanIndicator: true
@EndUserText.label: 'Characteristic Is Scrap Relevant'
@EndUserText.quickInfo: 'Characteristic Is Relevant for Quality Score and Scrap Share'
cast( substring(plmk.steuerkz,17,1) as qausslos preserving type ) as InspSpecIsScrapRelevant, // Characteristic Relevant for Quality Score and Scrap Share
@Semantics.booleanIndicator: true
cast( substring(plmk.steuerkz,18,1) as qnaendkz preserving type ) as InspSpecHasFixedCtrlIndicators, // Control Indicator fixed
@Semantics.booleanIndicator: true
cast( substring(plmk.steuerkz,19,1) as qbfhlzhl preserving type ) as InspSpecIsDefectRecordingRqd, // Defects Recording required
@Semantics.booleanIndicator: true
@EndUserText.label: 'Assignment of Test Equipment Required'
cast( substring(plmk.steuerkz,22,1) as qpmzwang preserving type ) as InspSpecIsTestEquipmentRqd, // Assignment of Test Equipment Required
@Semantics.booleanIndicator: true
@EndUserText.label: 'Automatic Defects Recording'
cast( substring(plmk.steuerkz,23,1) as qfehlrec preserving type ) as InspSpecIsDefectsRecgAutomatic, // Defects Recording Automatically Called Up
@Semantics.booleanIndicator: true
@EndUserText.label: 'Change Documents at Results Recording'
@EndUserText.quickInfo: 'Create Change Documents During Results Recording'
cast( substring(plmk.steuerkz,24,1) as qkzaenbel preserving type ) as InspSpecIsChgDocRequired, // Create Change Documents During Results Recording
@Semantics.booleanIndicator: true
@EndUserText.label: 'SPC Characteristic'
cast( substring(plmk.steuerkz,25,1) as qspcmk preserving type ) as InspSpecIsControlChartUsed, // SPC Characteristic; Control Chart is Used
@ObjectModel.foreignKey.association: '_InspSpecPrintControl'
cast( substring(plmk.steuerkz,26,1) as vdm_qdruck1 preserving type ) as InspSpecPrintControl, // Print Control
// --------------------------------------------------------------------------------------------------------
// Quantitative Data/ Tolerances
// --------------------------------------------------------------------------------------------------------
@ObjectModel.foreignKey.association: '_InspToleranceSpecification'
plmk.toleranzsl as InspToleranceSpecification,
plmk.stellen as InspSpecDecimalPlaces,
@ObjectModel.foreignKey.association: '_InspSpecUnitOfMeasure'
@Semantics.unitOfMeasure: true
plmk.masseinhsw as InspectionSpecificationUnit,
@Semantics.quantity.unitOfMeasure: 'InspectionSpecificationUnit'
@DefaultAggregation:#NONE
plmk.sollwert as InspSpecTargetValue,
@Semantics.booleanIndicator: true
plmk.sollwni as InspSpecHasTargetValue,
// Tolerance
@Semantics.quantity.unitOfMeasure: 'InspectionSpecificationUnit'
@DefaultAggregation:#NONE
plmk.toleranzob as InspSpecUpperLimit,
@Semantics.quantity.unitOfMeasure: 'InspectionSpecificationUnit'
@DefaultAggregation:#NONE
plmk.toleranzun as InspSpecLowerLimit,
@Semantics.booleanIndicator: true
plmk.tolobni as InspSpecHasUpperLimit,
@Semantics.booleanIndicator: true
plmk.tolunni as InspSpecHasLowerLimit,
// Plausibility
@Semantics.quantity.unitOfMeasure: 'InspectionSpecificationUnit'
plmk.plausioben as InspSpecUpperPlausibilityLimit,
@Semantics.booleanIndicator: true
plmk.plausiobni as InspSpecHasUprPlausibilityLmt,
@Semantics.quantity.unitOfMeasure: 'InspectionSpecificationUnit'
plmk.plausiunte as InspSpecLowerPlausibilityLimit,
@Semantics.booleanIndicator: true
plmk.plausiunni as InspSpecHasLowrPlausibilityLmt,
// Additional Pairs of Limits
@Semantics.quantity.unitOfMeasure: 'InspectionSpecificationUnit'
plmk.grenzeob1 as InspSpecFirstUpperSpecLimit,
@Semantics.booleanIndicator: true
plmk.grenzob1ni as InspSpecHasFirstUpperSpecLimit,
@Semantics.quantity.unitOfMeasure: 'InspectionSpecificationUnit'
plmk.grenzeun1 as InspSpecFirstLowerSpecLimit,
@Semantics.booleanIndicator: true
plmk.grenzun1ni as InspSpecHasFirstLowerSpecLimit,
@Semantics.quantity.unitOfMeasure: 'InspectionSpecificationUnit'
plmk.grenzeob2 as InspSpecSecondUpperSpecLimit,
@Semantics.booleanIndicator: true
plmk.grenzob2ni as InspSpecHasSecondUprSpecLimit,
@Semantics.quantity.unitOfMeasure: 'InspectionSpecificationUnit'
plmk.grenzeun2 as InspSpecSecondLowerSpecLimit,
@Semantics.booleanIndicator: true
plmk.grenzun2ni as InspSpecHasSecondLowrSpecLimit,
// Tolerance Change
// Validity
cast( plmk.tolerwab as vdm_qtolwab preserving type ) as InspSpecToleranceChgValidFrom,
cast( plmk.tolerwbis as vdm_qtolwbis preserving type ) as InspSpecToleranceChgValidTo,
// Spec. Limits
@Semantics.quantity.unitOfMeasure: 'InspectionSpecificationUnit'
cast( plmk.tolerweiob as vdm_qtolwob preserving type ) as InspSpecUpperSpecLimitChange,
@Semantics.booleanIndicator: true
plmk.tolwobni as InspSpecHasUprSpecLimitChange,
@Semantics.quantity.unitOfMeasure: 'InspectionSpecificationUnit'
cast( plmk.tolerweiun as vdm_qtolwun preserving type ) as InspSpecLowerSpecLimitChange,
@Semantics.booleanIndicator: true
plmk.tolwunni as InspSpecHasLowrSpecLimitChange,
// Classed Recording
plmk.klasanzahl as InspSpecNumberOfClasses,
@Semantics.quantity.unitOfMeasure: 'InspectionSpecificationUnit'
plmk.klasbreite as InspSpecClassWidthQty,
@Semantics.booleanIndicator: true
plmk.klasbrni as InspSpecHasClassWidth,
@Semantics.quantity.unitOfMeasure: 'InspectionSpecificationUnit'
plmk.klasmitte as InspSpecClassMidpointQty,
@Semantics.booleanIndicator: true
plmk.klasmini as InspSpecHasClassMidpoint,
@Semantics.booleanIndicator: true
plmk.formelsl as InspSpecHasFormula,
plmk.formel1 as InspSpecFormula1, // formula (if control indicator calculated characteristic is set)
plmk.formel2 as InspSpecFormula2, // formula (if control indicator calculated characteristic is set)
// --------------------------------------------------------------------------------------------------------
// Cataloges
// --------------------------------------------------------------------------------------------------------
// Defect codes for rejection
//--[ GENERATED:012:GlBfhyFV7kY4haHubE4LDG
@Consumption.valueHelpDefinition: [
{ entity: { name: 'I_DefectCodeGroupStdVH',
element: 'DefectCodeGroup' }
}]
// ]--GENERATED
@ObjectModel.foreignKey.association: '_InspDefectCodeGrpRejection'
plmk.codegrqual as InspSpecDefectCodeGrpRejection,
//--[ GENERATED:012:GlBfhyFV7kY4haHubE4LDG
@Consumption.valueHelpDefinition: [
{ entity: { name: 'I_DefectCodeStdVH',
element: 'DefectCode' },
additionalBinding: [{ localElement: 'InspSpecDefectCodeGrpRejection',
element: 'DefectCodeGroup' }]
}]
// ]--GENERATED
@ObjectModel.foreignKey.association: '_InspDefectCodeRejection'
plmk.codequal as InspSpecDefectCodeRejection,
//--[ GENERATED:012:GlBfhyFV7kY4haHubE4LDG
@Consumption.valueHelpDefinition: [
{ entity: { name: 'I_DefectCodeGroupStdVH',
element: 'DefectCodeGroup' }
}]
// ]--GENERATED
@ObjectModel.foreignKey.association: '_InspDefectCodeGrpRjcnUpper'
plmk.codegr9o as InspSpecDefectCodeGrpRjcnUpper,
//--[ GENERATED:012:GlBfhyFV7kY4haHubE4LDG
@Consumption.valueHelpDefinition: [
{ entity: { name: 'I_DefectCodeStdVH',
element: 'DefectCode' },
additionalBinding: [{ localElement: 'InspSpecDefectCodeGrpRjcnUpper',
element: 'DefectCodeGroup' }]
}]
// ]--GENERATED
@ObjectModel.foreignKey.association: '_InspDefectCodeRjcnUpper'
plmk.code9o as InspSpecDefectCodeRjcnUpper,
//--[ GENERATED:012:GlBfhyFV7kY4haHubE4LDG
@Consumption.valueHelpDefinition: [
{ entity: { name: 'I_DefectCodeGroupStdVH',
element: 'DefectCodeGroup' }
}]
// ]--GENERATED
@ObjectModel.foreignKey.association: '_InspDefectCodeGrpRjcnLower'
plmk.codegr9u as InspSpecDefectCodeGrpRjcnLower,
//--[ GENERATED:012:GlBfhyFV7kY4haHubE4LDG
@Consumption.valueHelpDefinition: [
{ entity: { name: 'I_DefectCodeStdVH',
element: 'DefectCode' },
additionalBinding: [{ localElement: 'InspSpecDefectCodeGrpRjcnLower',
element: 'DefectCodeGroup' }]
}]
// ]--GENERATED
@ObjectModel.foreignKey.association: '_InspDefectCodeRjcnLower'
plmk.code9u as InspSpecDefectCodeRjcnLower,
// --- Currently not in select list ---
// plmk.codevr9o //Code Version Number,
// plmk.codevr9u //Code Version Number,
// Cataloges
// see also table QPMZ (Basic View I_AssgmtInspMethInspSpec)
// For group 1 the following special conditions apply
// - katab1 = 'X' for each DB entry
// - katalgart1 = '1' for each DB entry
// - auswmenge1 is always a SelectedCodeSet
// - auswmgwrk1 is always filled
//1 as InspSpecAdditionalCatalog1,
//--[ GENERATED:012:GlBfhyFV7kY4haHubE4LDG
@Consumption.valueHelpDefinition: [
{ entity: { name: 'I_CharcAttribSeldCodeSetStdVH',
element: 'SelectedCodeSet' },
additionalBinding: [{ localElement: 'SelectedCodeSetPlant',
element: 'SelectedCodeSetPlant' }]
}]
// ]--GENERATED
@ObjectModel.foreignKey.association: '_CharcAttribSelectedCodeSet'
plmk.auswmenge1 as SelectedCodeSet,
@ObjectModel.foreignKey.association: '_SelectedCodeSetPlant'
plmk.auswmgwrk1 as SelectedCodeSetPlant,
plmk.katalgart2 as InspSpecAdditionalCatalog2,
case plmk.katab2
when 'X' then plmk.auswmenge2 else ' '
end as InspSpecAdditionalSelectedSet2,
case plmk.katab2
when ' ' then plmk.auswmenge2 else ' '
end as InspSpecAdditionalCodeGroup2,
plmk.auswmgwrk2 as InspSpecAddlSeldCodeSetPlant2,
plmk.katalgart3 as InspSpecAdditionalCatalog3,
case plmk.katab3
when 'X' then plmk.auswmenge3 else ' '
end as InspSpecAdditionalSelectedSet3,
case plmk.katab3
when ' ' then plmk.auswmenge3 else ' '
end as InspSpecAdditionalCodeGroup3,
plmk.auswmgwrk3 as InspSpecAddlSeldCodeSetPlant3,
plmk.katalgart4 as InspSpecAdditionalCatalog4,
case plmk.katab4
when 'X' then plmk.auswmenge4 else ' '
end as InspSpecAdditionalSelectedSet4,
case plmk.katab4
when ' ' then plmk.auswmenge4 else ' '
end as InspSpecAdditionalCodeGroup4,
plmk.auswmgwrk4 as InspSpecAddlSeldCodeSetPlant4,
plmk.katalgart5 as InspSpecAdditionalCatalog5,
case plmk.katab5
when 'X' then plmk.auswmenge5 else ' '
end as InspSpecAdditionalSelectedSet5,
case plmk.katab5
when ' ' then plmk.auswmenge5 else ' '
end as InspSpecAdditionalCodeGroup5,
plmk.auswmgwrk5 as InspSpecAddlSeldCodeSetPlant5,
// --- Currently not in select list ---
// plmk.katab1,
// plmk.auswvers1,
// plmk.auswdat1,
// plmk.katab2,
// plmk.auswvers2,
// plmk.auswdat2,
// plmk.katab3,
// plmk.auswvers3,
// plmk.auswdat3,
// plmk.katab4,
// plmk.auswvers4,
// plmk.auswdat4,
// plmk.katab5,
// plmk.auswvers5,
// plmk.auswdat5,
// --------------------------------------------------------------------------------------------------------
// Sample Data
// --------------------------------------------------------------------------------------------------------
@ObjectModel.foreignKey.association: '_SamplingProcedure'
plmk.stichprver as SamplingProcedure,
@ObjectModel.foreignKey.association: '_SampleUnitOfMeasure'
@Semantics.unitOfMeasure: true
plmk.probemgeh as InspCharacteristicSampleUnit,
@Semantics.quantity.unitOfMeasure: 'InspCharacteristicSampleUnit'
@DefaultAggregation:#NONE
plmk.pruefeinh as BOOCharcSampleQuantity,
// --------------------------------------------------------------------------------------------------------
// Additional Data
// --------------------------------------------------------------------------------------------------------
plmk.dummy10 as InspSpecInformationField1,
plmk.dummy20 as InspSpecInformationField2,
plmk.dummy40 as InspSpecInformationField3,
// --------------------------------------------------------------------------------------------------------
// Texts
// --------------------------------------------------------------------------------------------------------
case plmk.qpmk_ref
when 'X' then _InspSpecificationVersionText.InspectionSpecificationText else plmk.kurztext
end as InspectionSpecificationText,
// --- Currently not in select list ---
// Only 1 language for characteristics longtexts supported
// plmk.ltextkz,
// plmk.ltextspr,
// plmk.ltextekz,
// plmk.ltxtentspr,
// --------------------------------------------------------------------------------------------------------
// Administrative Data
// --------------------------------------------------------------------------------------------------------
@ObjectModel.readOnly: true
@Semantics.user.createdBy: true
plmk.ersteller as CreatedByUser,
@ObjectModel.readOnly: true
@Semantics.businessDate.createdAt: true
plmk.erstelldat as CreationDate,
@ObjectModel.readOnly: true
@Semantics.user.lastChangedBy: true
plmk.aenderer as LastChangedByUser,
@ObjectModel.readOnly: true
@Semantics.businessDate.lastChangedAt: true
plmk.aenderdat as LastChangeDate,
// --- Currently not in select list ---
// plmk.sernv, // Technical status from, required?
// plmk.parkz, // Indicator: inactive changes, required?
// plmk.mkversdat, // Key Date for Version Selection
// plmk.fakplanme, // Factor for Converting MatUnitOfMeasure to SampUnitOfMeasure
// plmk.fakprobme, // Factor for Converting SampUnitOfMeasure to MatUnitOfMeasure
@Semantics.booleanIndicator: true
cast( substring(plmk.dynkrit,1,1) as qmatkz preserving type ) as MatlIsConsideredForDynModif,
@Semantics.booleanIndicator: true
cast( substring(plmk.dynkrit,2,1) as qlifkz preserving type ) as SuplrIsConsideredForDynModif,
@Semantics.booleanIndicator: true
cast( substring(plmk.dynkrit,3,1) as qherstkz preserving type ) as MfrIsConsideredForDynModif,
@Semantics.booleanIndicator: true
cast( substring(plmk.dynkrit,4,1) as qkundkz preserving type ) as CustIsConsideredForDynModif,
//
// plmk.charact_id1,
plmk.qdynregel as InspLotDynamicRule,
plmk.dynmerkref as InspCharcDynModifRef,
//
plmk.spckrit as QltyCtrlChartAggrgnCriterion,
plmk.inpproc as InspSpecInputProcedure,
// plmk.res_plan,
// plmk.ctrmeth,
// plmk.chaorig,
// plmk.chaorig_guid,
// plmk.no_inspection,
plmk.char_relevance as BOOCharacteristicInspRelevance,
// plmk.qp_chaorig_id,
plmk.chargroup as BOOCharcGroup,
plmk.chargroup_cref as BOOCharcSourceCharc,
plmk.divisionint as BOOCharcGroupDivision,
plmk.versn as BillOfOperationsVersion,
// --------------------------------------------------------------------------------------------------------
// Associations
// --------------------------------------------------------------------------------------------------------
_BillOfOperationsType,
_BillOfOperationsGroup,
_BOOOperationInternalID,
_BOOCharacteristic,
_InspSpecCharcType,
_InspectionScope,
_InspSpecRecordingType,
_InspResultDocuRequired,
_InspSpecCharcCategory,
_InspSpecRsltCalculation,
_InspSpecPrintControl,
_BOOCharcInspRelevance,
_InspectorQualification,
_InspectionMethodPlant,
_InspectionMethod,
_InspectionMethodVersion,
_InspSpecImportanceCode,
_InspectionSpecificationPlant,
_InspectionSpecification,
_InspSpecificationVersion,
_SelectedCodeSetPlant,
_SamplingProcedure,
_SampleUnitOfMeasure,
_InspToleranceSpecification,
_InspSpecUnitOfMeasure,
_InspDefectCodeGrpRejection,
_InspDefectCodeRejection,
_InspDefectCodeGrpRjcnUpper,
_InspDefectCodeRjcnUpper,
_InspDefectCodeGrpRjcnLower,
_InspDefectCodeRjcnLower,
_CharcAttribSelectedCodeSet,
_InspSpecificationVersionText
}
where
plmk.kzeinstell = ' '